From 8171e857544d604abdf980f27239884d9f102523 Mon Sep 17 00:00:00 2001 From: WolverinDEV Date: Mon, 2 Mar 2020 17:19:21 +0000 Subject: [PATCH] Using version 1.1.1. --- linux_amd64/bin/c_rehash | 2 +- linux_amd64/bin/openssl | Bin 819424 -> 753104 bytes linux_amd64/include/openssl/aes.h | 130 +- linux_amd64/include/openssl/asn1.h | 157 +-- linux_amd64/include/openssl/asn1_mac.h | 2 +- linux_amd64/include/openssl/asn1err.h | 246 ++-- linux_amd64/include/openssl/asn1t.h | 156 ++- linux_amd64/include/openssl/async.h | 26 +- linux_amd64/include/openssl/asyncerr.h | 32 +- linux_amd64/include/openssl/bio.h | 85 +- linux_amd64/include/openssl/bioerr.h | 133 +-- linux_amd64/include/openssl/blowfish.h | 61 +- linux_amd64/include/openssl/bn.h | 78 +- linux_amd64/include/openssl/bnerr.h | 118 +- linux_amd64/include/openssl/buffer.h | 34 +- linux_amd64/include/openssl/buffererr.h | 24 +- linux_amd64/include/openssl/camellia.h | 107 +- linux_amd64/include/openssl/cast.h | 69 +- linux_amd64/include/openssl/cmac.h | 45 +- linux_amd64/include/openssl/cms.h | 19 +- linux_amd64/include/openssl/cmserr.h | 186 ++- linux_amd64/include/openssl/comp.h | 18 +- linux_amd64/include/openssl/comperr.h | 28 +- linux_amd64/include/openssl/conf.h | 21 +- linux_amd64/include/openssl/conf_api.h | 12 +- linux_amd64/include/openssl/conferr.h | 66 +- linux_amd64/include/openssl/crypto.h | 244 ++-- linux_amd64/include/openssl/cryptoerr.h | 104 +- linux_amd64/include/openssl/ct.h | 14 +- linux_amd64/include/openssl/cterr.h | 72 +- linux_amd64/include/openssl/des.h | 229 ++-- linux_amd64/include/openssl/dh.h | 449 ++++--- linux_amd64/include/openssl/dherr.h | 73 +- linux_amd64/include/openssl/dsa.h | 284 ++--- linux_amd64/include/openssl/dsaerr.h | 64 +- linux_amd64/include/openssl/dtls1.h | 20 +- linux_amd64/include/openssl/e_os2.h | 52 +- linux_amd64/include/openssl/ebcdic.h | 12 +- linux_amd64/include/openssl/ec.h | 612 +++++----- linux_amd64/include/openssl/ecdh.h | 2 +- linux_amd64/include/openssl/ecdsa.h | 2 +- linux_amd64/include/openssl/ecerr.h | 383 +++--- linux_amd64/include/openssl/engine.h | 20 +- linux_amd64/include/openssl/engineerr.h | 98 +- linux_amd64/include/openssl/err.h | 260 ++-- linux_amd64/include/openssl/evp.h | 335 ++---- linux_amd64/include/openssl/evperr.h | 268 ++--- linux_amd64/include/openssl/hmac.h | 57 +- linux_amd64/include/openssl/idea.h | 89 +- linux_amd64/include/openssl/kdf.h | 103 +- linux_amd64/include/openssl/kdferr.h | 123 +- linux_amd64/include/openssl/lhash.h | 19 +- linux_amd64/include/openssl/md2.h | 43 +- linux_amd64/include/openssl/md4.h | 47 +- linux_amd64/include/openssl/md5.h | 12 +- linux_amd64/include/openssl/mdc2.h | 46 +- linux_amd64/include/openssl/modes.h | 17 +- linux_amd64/include/openssl/obj_mac.h | 102 +- linux_amd64/include/openssl/objects.h | 22 +- linux_amd64/include/openssl/objectserr.h | 36 +- linux_amd64/include/openssl/ocsp.h | 93 +- linux_amd64/include/openssl/ocsperr.h | 51 +- linux_amd64/include/openssl/opensslconf.h | 190 ++- linux_amd64/include/openssl/opensslv.h | 173 ++- linux_amd64/include/openssl/ossl_typ.h | 195 ++- linux_amd64/include/openssl/pem.h | 279 ++--- linux_amd64/include/openssl/pem2.h | 12 +- linux_amd64/include/openssl/pemerr.h | 102 +- linux_amd64/include/openssl/pkcs12.h | 18 +- linux_amd64/include/openssl/pkcs12err.h | 76 +- linux_amd64/include/openssl/pkcs7.h | 20 +- linux_amd64/include/openssl/pkcs7err.h | 86 +- linux_amd64/include/openssl/rand.h | 25 +- linux_amd64/include/openssl/rand_drbg.h | 45 +- linux_amd64/include/openssl/randerr.h | 75 +- linux_amd64/include/openssl/rc2.h | 63 +- linux_amd64/include/openssl/rc4.h | 33 +- linux_amd64/include/openssl/rc5.h | 73 +- linux_amd64/include/openssl/ripemd.h | 53 +- linux_amd64/include/openssl/rsa.h | 584 +++++---- linux_amd64/include/openssl/rsaerr.h | 160 ++- linux_amd64/include/openssl/safestack.h | 12 +- linux_amd64/include/openssl/seed.h | 116 +- linux_amd64/include/openssl/sha.h | 23 +- linux_amd64/include/openssl/srp.h | 18 +- linux_amd64/include/openssl/srtp.h | 12 +- linux_amd64/include/openssl/ssl.h | 146 +-- linux_amd64/include/openssl/ssl2.h | 12 +- linux_amd64/include/openssl/ssl3.h | 13 +- linux_amd64/include/openssl/sslerr.h | 872 +++++++------- linux_amd64/include/openssl/stack.h | 16 +- linux_amd64/include/openssl/store.h | 22 +- linux_amd64/include/openssl/storeerr.h | 94 +- linux_amd64/include/openssl/symhacks.h | 12 +- linux_amd64/include/openssl/tls1.h | 55 +- linux_amd64/include/openssl/ts.h | 137 ++- linux_amd64/include/openssl/tserr.h | 126 +- linux_amd64/include/openssl/txt_db.h | 12 +- linux_amd64/include/openssl/ui.h | 18 +- linux_amd64/include/openssl/uierr.h | 60 +- linux_amd64/include/openssl/whrlpool.h | 49 +- linux_amd64/include/openssl/x509.h | 168 ++- linux_amd64/include/openssl/x509_vfy.h | 48 +- linux_amd64/include/openssl/x509err.h | 146 ++- linux_amd64/include/openssl/x509v3.h | 22 +- linux_amd64/include/openssl/x509v3err.h | 154 ++- linux_amd64/lib/engines-1.1/afalg.so | Bin 0 -> 15904 bytes linux_amd64/lib/engines-1.1/capi.so | Bin 0 -> 15928 bytes linux_amd64/lib/engines-1.1/padlock.so | Bin 0 -> 37032 bytes linux_amd64/lib/libcrypto.a | Bin 7912174 -> 5624258 bytes linux_amd64/lib/libcrypto.so | 2 +- linux_amd64/lib/libcrypto.so.1.1 | Bin 0 -> 3350520 bytes linux_amd64/lib/libssl.a | Bin 1058916 -> 1032752 bytes linux_amd64/lib/libssl.so | 2 +- linux_amd64/lib/libssl.so.1.1 | Bin 0 -> 690232 bytes linux_amd64/lib/pkgconfig/libcrypto.pc | 4 +- linux_amd64/lib/pkgconfig/libssl.pc | 2 +- linux_amd64/lib/pkgconfig/openssl.pc | 2 +- .../share/doc/openssl/html/man1/CA.pl.html | 88 +- .../doc/openssl/html/man1/asn1parse.html | 263 +++++ .../share/doc/openssl/html/man1/c_rehash.html | 1 + .../share/doc/openssl/html/man1/ca.html | 860 ++++++++++++++ .../share/doc/openssl/html/man1/ciphers.html | 879 ++++++++++++++ .../share/doc/openssl/html/man1/cms.html | 801 +++++++++++++ .../share/doc/openssl/html/man1/crl.html | 198 ++++ .../doc/openssl/html/man1/crl2pkcs7.html | 149 +++ .../share/doc/openssl/html/man1/dgst.html | 305 +++++ .../share/doc/openssl/html/man1/dhparam.html | 219 ++++ .../share/doc/openssl/html/man1/dsa.html | 229 ++++ .../share/doc/openssl/html/man1/dsaparam.html | 180 +++ .../share/doc/openssl/html/man1/ec.html | 253 ++++ .../share/doc/openssl/html/man1/ecparam.html | 243 ++++ .../share/doc/openssl/html/man1/enc.html | 491 ++++++++ .../share/doc/openssl/html/man1/engine.html | 162 +++ .../share/doc/openssl/html/man1/errstr.html | 80 ++ .../share/doc/openssl/html/man1/gendsa.html | 145 +++ .../share/doc/openssl/html/man1/genpkey.html | 397 +++++++ .../share/doc/openssl/html/man1/genrsa.html | 174 +++ .../share/doc/openssl/html/man1/list.html | 137 +++ .../share/doc/openssl/html/man1/nseq.html | 126 ++ .../share/doc/openssl/html/man1/ocsp.html | 568 +++++++++ .../openssl/html/man1/openssl-c_rehash.html | 1 + .../doc/openssl/html/man1/openssl-tsget.html | 1 + .../share/doc/openssl/html/man1/openssl.html | 1027 ++-------------- .../share/doc/openssl/html/man1/passwd.html | 182 +++ .../share/doc/openssl/html/man1/pkcs12.html | 471 ++++++++ .../share/doc/openssl/html/man1/pkcs7.html | 167 +++ .../share/doc/openssl/html/man1/pkcs8.html | 368 ++++++ .../share/doc/openssl/html/man1/pkey.html | 217 ++++ .../doc/openssl/html/man1/pkeyparam.html | 134 +++ .../share/doc/openssl/html/man1/pkeyutl.html | 401 +++++++ .../share/doc/openssl/html/man1/prime.html | 106 ++ .../share/doc/openssl/html/man1/rand.html | 117 ++ .../share/doc/openssl/html/man1/rehash.html | 183 +++ .../share/doc/openssl/html/man1/req.html | 763 ++++++++++++ .../share/doc/openssl/html/man1/rsa.html | 255 ++++ .../share/doc/openssl/html/man1/rsautl.html | 264 +++++ .../share/doc/openssl/html/man1/s_client.html | 955 +++++++++++++++ .../share/doc/openssl/html/man1/s_server.html | 989 ++++++++++++++++ .../share/doc/openssl/html/man1/s_time.html | 262 ++++ .../share/doc/openssl/html/man1/sess_id.html | 220 ++++ .../share/doc/openssl/html/man1/smime.html | 570 +++++++++ .../share/doc/openssl/html/man1/speed.html | 148 +++ .../share/doc/openssl/html/man1/spkac.html | 202 ++++ .../share/doc/openssl/html/man1/srp.html | 104 ++ .../share/doc/openssl/html/man1/storeutl.html | 183 +++ .../share/doc/openssl/html/man1/ts.html | 744 ++++++++++++ .../share/doc/openssl/html/man1/tsget.html | 132 ++- .../share/doc/openssl/html/man1/verify.html | 925 +++++++++++++++ .../share/doc/openssl/html/man1/version.html | 125 ++ .../share/doc/openssl/html/man1/x509.html | 1051 +++++++++++++++++ .../html/man3/ACCESS_DESCRIPTION_free.html | 1 + .../html/man3/ACCESS_DESCRIPTION_new.html | 1 + .../doc/openssl/html/man3/ADMISSIONS.html | 4 +- .../openssl/html/man3/ADMISSIONS_free.html | 1 + .../ADMISSIONS_get0_admissionAuthority.html | 1 + .../man3/ADMISSIONS_get0_namingAuthority.html | 1 + .../man3/ADMISSIONS_get0_professionInfos.html | 1 + .../doc/openssl/html/man3/ADMISSIONS_new.html | 1 + .../ADMISSIONS_set0_admissionAuthority.html | 1 + .../man3/ADMISSIONS_set0_namingAuthority.html | 1 + .../man3/ADMISSIONS_set0_professionInfos.html | 1 + .../openssl/html/man3/ADMISSION_SYNTAX.html | 1 + .../html/man3/ADMISSION_SYNTAX_free.html | 1 + ...ISSION_SYNTAX_get0_admissionAuthority.html | 1 + ...SION_SYNTAX_get0_contentsOfAdmissions.html | 1 + .../html/man3/ADMISSION_SYNTAX_new.html | 1 + ...ISSION_SYNTAX_set0_admissionAuthority.html | 1 + ...SION_SYNTAX_set0_contentsOfAdmissions.html | 1 + .../openssl/html/man3/ASIdOrRange_free.html | 1 + .../openssl/html/man3/ASIdOrRange_new.html | 1 + .../html/man3/ASIdentifierChoice_free.html | 1 + .../html/man3/ASIdentifierChoice_new.html | 1 + .../openssl/html/man3/ASIdentifiers_free.html | 1 + .../openssl/html/man3/ASIdentifiers_new.html | 1 + .../html/man3/ASN1_ENUMERATED_get.html | 1 + .../html/man3/ASN1_ENUMERATED_get_int64.html | 1 + .../html/man3/ASN1_ENUMERATED_set.html | 1 + .../html/man3/ASN1_ENUMERATED_set_int64.html | 1 + .../html/man3/ASN1_ENUMERATED_to_BN.html | 1 + .../html/man3/ASN1_GENERALIZEDTIME_adj.html | 1 + .../html/man3/ASN1_GENERALIZEDTIME_check.html | 1 + .../html/man3/ASN1_GENERALIZEDTIME_print.html | 1 + .../html/man3/ASN1_GENERALIZEDTIME_set.html | 1 + .../man3/ASN1_GENERALIZEDTIME_set_string.html | 1 + .../openssl/html/man3/ASN1_INTEGER_get.html | 1 + .../html/man3/ASN1_INTEGER_get_int64.html | 30 +- .../html/man3/ASN1_INTEGER_get_uint64.html | 1 + .../openssl/html/man3/ASN1_INTEGER_set.html | 1 + .../html/man3/ASN1_INTEGER_set_int64.html | 1 + .../html/man3/ASN1_INTEGER_set_uint64.html | 1 + .../openssl/html/man3/ASN1_INTEGER_to_BN.html | 1 + .../doc/openssl/html/man3/ASN1_ITEM.html | 1 + .../doc/openssl/html/man3/ASN1_ITEM_get.html | 1 + .../openssl/html/man3/ASN1_ITEM_lookup.html | 10 +- .../openssl/html/man3/ASN1_OBJECT_free.html | 1 + .../openssl/html/man3/ASN1_OBJECT_new.html | 16 +- .../openssl/html/man3/ASN1_STRING_TABLE.html | 1 + .../html/man3/ASN1_STRING_TABLE_add.html | 12 +- .../html/man3/ASN1_STRING_TABLE_cleanup.html | 1 + .../html/man3/ASN1_STRING_TABLE_get.html | 1 + .../openssl/html/man3/ASN1_STRING_cmp.html | 1 + .../openssl/html/man3/ASN1_STRING_data.html | 1 + .../openssl/html/man3/ASN1_STRING_dup.html | 1 + .../openssl/html/man3/ASN1_STRING_free.html | 1 + .../html/man3/ASN1_STRING_get0_data.html | 1 + .../openssl/html/man3/ASN1_STRING_length.html | 36 +- .../openssl/html/man3/ASN1_STRING_new.html | 10 +- .../openssl/html/man3/ASN1_STRING_print.html | 1 + .../html/man3/ASN1_STRING_print_ex.html | 16 +- .../html/man3/ASN1_STRING_print_ex_fp.html | 1 + .../openssl/html/man3/ASN1_STRING_set.html | 1 + .../html/man3/ASN1_STRING_to_UTF8.html | 1 + .../openssl/html/man3/ASN1_STRING_type.html | 1 + .../html/man3/ASN1_STRING_type_new.html | 1 + .../doc/openssl/html/man3/ASN1_TIME_adj.html | 1 + .../openssl/html/man3/ASN1_TIME_check.html | 1 + .../html/man3/ASN1_TIME_cmp_time_t.html | 1 + .../openssl/html/man3/ASN1_TIME_compare.html | 1 + .../doc/openssl/html/man3/ASN1_TIME_diff.html | 1 + .../html/man3/ASN1_TIME_normalize.html | 1 + .../openssl/html/man3/ASN1_TIME_print.html | 1 + .../doc/openssl/html/man3/ASN1_TIME_set.html | 158 ++- .../html/man3/ASN1_TIME_set_string.html | 1 + .../html/man3/ASN1_TIME_set_string_X509.html | 1 + .../man3/ASN1_TIME_to_generalizedtime.html | 1 + .../openssl/html/man3/ASN1_TIME_to_tm.html | 1 + .../doc/openssl/html/man3/ASN1_TYPE_cmp.html | 1 + .../doc/openssl/html/man3/ASN1_TYPE_get.html | 63 +- .../html/man3/ASN1_TYPE_pack_sequence.html | 1 + .../doc/openssl/html/man3/ASN1_TYPE_set.html | 1 + .../doc/openssl/html/man3/ASN1_TYPE_set1.html | 1 + .../html/man3/ASN1_TYPE_unpack_sequence.html | 1 + .../openssl/html/man3/ASN1_UTCTIME_adj.html | 1 + .../openssl/html/man3/ASN1_UTCTIME_check.html | 1 + .../html/man3/ASN1_UTCTIME_cmp_time_t.html | 1 + .../openssl/html/man3/ASN1_UTCTIME_print.html | 1 + .../openssl/html/man3/ASN1_UTCTIME_set.html | 1 + .../html/man3/ASN1_UTCTIME_set_string.html | 1 + .../html/man3/ASN1_add_oid_module.html | 1 + .../html/man3/ASN1_generate_nconf.html | 44 +- .../openssl/html/man3/ASN1_generate_v3.html | 1 + .../doc/openssl/html/man3/ASN1_tag2str.html | 1 + .../doc/openssl/html/man3/ASRange_free.html | 1 + .../doc/openssl/html/man3/ASRange_new.html | 1 + .../html/man3/ASYNC_WAIT_CTX_clear_fd.html | 1 + .../html/man3/ASYNC_WAIT_CTX_free.html | 1 + .../html/man3/ASYNC_WAIT_CTX_get_all_fds.html | 1 + .../man3/ASYNC_WAIT_CTX_get_changed_fds.html | 1 + .../html/man3/ASYNC_WAIT_CTX_get_fd.html | 1 + .../openssl/html/man3/ASYNC_WAIT_CTX_new.html | 166 +-- .../html/man3/ASYNC_WAIT_CTX_set_wait_fd.html | 1 + .../openssl/html/man3/ASYNC_block_pause.html | 1 + .../html/man3/ASYNC_cleanup_thread.html | 1 + .../html/man3/ASYNC_get_current_job.html | 1 + .../openssl/html/man3/ASYNC_get_wait_ctx.html | 1 + .../openssl/html/man3/ASYNC_init_thread.html | 1 + .../openssl/html/man3/ASYNC_is_capable.html | 1 + .../openssl/html/man3/ASYNC_pause_job.html | 1 + .../openssl/html/man3/ASYNC_start_job.html | 121 +- .../html/man3/ASYNC_unblock_pause.html | 1 + .../html/man3/AUTHORITY_INFO_ACCESS_free.html | 1 + .../html/man3/AUTHORITY_INFO_ACCESS_new.html | 1 + .../html/man3/AUTHORITY_KEYID_free.html | 1 + .../html/man3/AUTHORITY_KEYID_new.html | 1 + .../html/man3/BASIC_CONSTRAINTS_free.html | 1 + .../html/man3/BASIC_CONSTRAINTS_new.html | 1 + .../doc/openssl/html/man3/BF_cbc_encrypt.html | 1 + .../openssl/html/man3/BF_cfb64_encrypt.html | 1 + .../doc/openssl/html/man3/BF_decrypt.html | 1 + .../doc/openssl/html/man3/BF_ecb_encrypt.html | 1 + .../doc/openssl/html/man3/BF_encrypt.html | 14 +- .../openssl/html/man3/BF_ofb64_encrypt.html | 1 + .../doc/openssl/html/man3/BF_options.html | 1 + .../doc/openssl/html/man3/BF_set_key.html | 1 + .../share/doc/openssl/html/man3/BIO_ADDR.html | 6 +- .../doc/openssl/html/man3/BIO_ADDRINFO.html | 2 +- .../html/man3/BIO_ADDRINFO_address.html | 1 + .../html/man3/BIO_ADDRINFO_family.html | 1 + .../openssl/html/man3/BIO_ADDRINFO_free.html | 1 + .../openssl/html/man3/BIO_ADDRINFO_next.html | 1 + .../html/man3/BIO_ADDRINFO_protocol.html | 1 + .../html/man3/BIO_ADDRINFO_socktype.html | 1 + .../doc/openssl/html/man3/BIO_ADDR_clear.html | 1 + .../openssl/html/man3/BIO_ADDR_family.html | 1 + .../doc/openssl/html/man3/BIO_ADDR_free.html | 1 + .../html/man3/BIO_ADDR_hostname_string.html | 1 + .../doc/openssl/html/man3/BIO_ADDR_new.html | 1 + .../html/man3/BIO_ADDR_path_string.html | 1 + .../html/man3/BIO_ADDR_rawaddress.html | 1 + .../openssl/html/man3/BIO_ADDR_rawmake.html | 1 + .../openssl/html/man3/BIO_ADDR_rawport.html | 1 + .../html/man3/BIO_ADDR_service_string.html | 1 + .../doc/openssl/html/man3/BIO_accept_ex.html | 1 + .../html/man3/BIO_append_filename.html | 1 + .../share/doc/openssl/html/man3/BIO_bind.html | 1 + .../openssl/html/man3/BIO_callback_ctrl.html | 1 + .../openssl/html/man3/BIO_callback_fn.html | 1 + .../openssl/html/man3/BIO_callback_fn_ex.html | 1 + .../openssl/html/man3/BIO_closesocket.html | 1 + .../doc/openssl/html/man3/BIO_connect.html | 2 +- .../share/doc/openssl/html/man3/BIO_ctrl.html | 23 +- .../html/man3/BIO_ctrl_get_read_request.html | 1 + .../man3/BIO_ctrl_get_write_guarantee.html | 1 + .../openssl/html/man3/BIO_ctrl_pending.html | 1 + .../man3/BIO_ctrl_reset_read_request.html | 1 + .../openssl/html/man3/BIO_ctrl_wpending.html | 1 + .../openssl/html/man3/BIO_debug_callback.html | 1 + .../html/man3/BIO_destroy_bio_pair.html | 1 + .../doc/openssl/html/man3/BIO_do_accept.html | 1 + .../doc/openssl/html/man3/BIO_do_connect.html | 1 + .../openssl/html/man3/BIO_do_handshake.html | 1 + .../share/doc/openssl/html/man3/BIO_eof.html | 1 + .../doc/openssl/html/man3/BIO_f_base64.html | 2 +- .../doc/openssl/html/man3/BIO_f_buffer.html | 2 +- .../doc/openssl/html/man3/BIO_f_cipher.html | 2 +- .../share/doc/openssl/html/man3/BIO_f_md.html | 2 +- .../doc/openssl/html/man3/BIO_f_null.html | 2 +- .../doc/openssl/html/man3/BIO_f_ssl.html | 4 +- .../doc/openssl/html/man3/BIO_find_type.html | 4 +- .../doc/openssl/html/man3/BIO_flush.html | 1 + .../share/doc/openssl/html/man3/BIO_free.html | 1 + .../doc/openssl/html/man3/BIO_free_all.html | 1 + .../html/man3/BIO_get_accept_ip_family.html | 1 + .../html/man3/BIO_get_accept_name.html | 1 + .../html/man3/BIO_get_accept_port.html | 1 + .../openssl/html/man3/BIO_get_bind_mode.html | 1 + .../html/man3/BIO_get_buffer_num_lines.html | 1 + .../openssl/html/man3/BIO_get_callback.html | 1 + .../html/man3/BIO_get_callback_arg.html | 1 + .../html/man3/BIO_get_callback_ex.html | 1 + .../openssl/html/man3/BIO_get_cipher_ctx.html | 1 + .../html/man3/BIO_get_cipher_status.html | 1 + .../doc/openssl/html/man3/BIO_get_close.html | 1 + .../html/man3/BIO_get_conn_address.html | 1 + .../html/man3/BIO_get_conn_hostname.html | 1 + .../html/man3/BIO_get_conn_ip_family.html | 1 + .../openssl/html/man3/BIO_get_conn_port.html | 1 + .../doc/openssl/html/man3/BIO_get_data.html | 6 +- .../openssl/html/man3/BIO_get_ex_data.html | 1 + .../html/man3/BIO_get_ex_new_index.html | 37 +- .../doc/openssl/html/man3/BIO_get_fd.html | 1 + .../doc/openssl/html/man3/BIO_get_fp.html | 1 + .../html/man3/BIO_get_info_callback.html | 1 + .../doc/openssl/html/man3/BIO_get_init.html | 1 + .../doc/openssl/html/man3/BIO_get_md.html | 1 + .../doc/openssl/html/man3/BIO_get_md_ctx.html | 1 + .../openssl/html/man3/BIO_get_mem_data.html | 1 + .../openssl/html/man3/BIO_get_mem_ptr.html | 1 + .../openssl/html/man3/BIO_get_new_index.html | 1 + .../html/man3/BIO_get_num_renegotiates.html | 1 + .../openssl/html/man3/BIO_get_peer_name.html | 1 + .../openssl/html/man3/BIO_get_peer_port.html | 1 + .../html/man3/BIO_get_read_request.html | 1 + .../openssl/html/man3/BIO_get_retry_BIO.html | 1 + .../html/man3/BIO_get_retry_reason.html | 1 + .../openssl/html/man3/BIO_get_shutdown.html | 1 + .../doc/openssl/html/man3/BIO_get_ssl.html | 1 + .../html/man3/BIO_get_write_buf_size.html | 1 + .../html/man3/BIO_get_write_guarantee.html | 1 + .../share/doc/openssl/html/man3/BIO_gets.html | 1 + .../html/man3/BIO_hostserv_priorities.html | 1 + .../doc/openssl/html/man3/BIO_info_cb.html | 1 + .../doc/openssl/html/man3/BIO_int_ctrl.html | 1 + .../doc/openssl/html/man3/BIO_listen.html | 1 + .../doc/openssl/html/man3/BIO_lookup.html | 1 + .../doc/openssl/html/man3/BIO_lookup_ex.html | 1 + .../openssl/html/man3/BIO_lookup_type.html | 1 + .../openssl/html/man3/BIO_make_bio_pair.html | 1 + .../doc/openssl/html/man3/BIO_meth_free.html | 1 + .../html/man3/BIO_meth_get_callback_ctrl.html | 1 + .../html/man3/BIO_meth_get_create.html | 1 + .../openssl/html/man3/BIO_meth_get_ctrl.html | 1 + .../html/man3/BIO_meth_get_destroy.html | 1 + .../openssl/html/man3/BIO_meth_get_gets.html | 1 + .../openssl/html/man3/BIO_meth_get_puts.html | 1 + .../openssl/html/man3/BIO_meth_get_read.html | 1 + .../html/man3/BIO_meth_get_read_ex.html | 1 + .../openssl/html/man3/BIO_meth_get_write.html | 1 + .../html/man3/BIO_meth_get_write_ex.html | 1 + .../doc/openssl/html/man3/BIO_meth_new.html | 10 +- .../html/man3/BIO_meth_set_callback_ctrl.html | 1 + .../html/man3/BIO_meth_set_create.html | 1 + .../openssl/html/man3/BIO_meth_set_ctrl.html | 1 + .../html/man3/BIO_meth_set_destroy.html | 1 + .../openssl/html/man3/BIO_meth_set_gets.html | 1 + .../openssl/html/man3/BIO_meth_set_puts.html | 1 + .../openssl/html/man3/BIO_meth_set_read.html | 1 + .../html/man3/BIO_meth_set_read_ex.html | 1 + .../openssl/html/man3/BIO_meth_set_write.html | 1 + .../html/man3/BIO_meth_set_write_ex.html | 1 + .../openssl/html/man3/BIO_method_type.html | 1 + .../share/doc/openssl/html/man3/BIO_new.html | 4 +- .../doc/openssl/html/man3/BIO_new_CMS.html | 2 +- .../doc/openssl/html/man3/BIO_new_accept.html | 1 + .../openssl/html/man3/BIO_new_bio_pair.html | 1 + .../html/man3/BIO_new_buffer_ssl_connect.html | 1 + .../openssl/html/man3/BIO_new_connect.html | 1 + .../doc/openssl/html/man3/BIO_new_fd.html | 1 + .../doc/openssl/html/man3/BIO_new_file.html | 1 + .../doc/openssl/html/man3/BIO_new_fp.html | 1 + .../openssl/html/man3/BIO_new_mem_buf.html | 1 + .../doc/openssl/html/man3/BIO_new_socket.html | 1 + .../doc/openssl/html/man3/BIO_new_ssl.html | 1 + .../html/man3/BIO_new_ssl_connect.html | 1 + .../share/doc/openssl/html/man3/BIO_next.html | 1 + .../openssl/html/man3/BIO_parse_hostserv.html | 6 +- .../doc/openssl/html/man3/BIO_pending.html | 1 + .../share/doc/openssl/html/man3/BIO_pop.html | 1 + .../doc/openssl/html/man3/BIO_printf.html | 2 +- .../doc/openssl/html/man3/BIO_ptr_ctrl.html | 1 + .../share/doc/openssl/html/man3/BIO_push.html | 6 +- .../share/doc/openssl/html/man3/BIO_puts.html | 1 + .../share/doc/openssl/html/man3/BIO_read.html | 2 +- .../doc/openssl/html/man3/BIO_read_ex.html | 1 + .../openssl/html/man3/BIO_read_filename.html | 1 + .../doc/openssl/html/man3/BIO_reset.html | 1 + .../doc/openssl/html/man3/BIO_retry_type.html | 1 + .../openssl/html/man3/BIO_rw_filename.html | 1 + .../doc/openssl/html/man3/BIO_s_accept.html | 4 +- .../doc/openssl/html/man3/BIO_s_bio.html | 4 +- .../doc/openssl/html/man3/BIO_s_connect.html | 6 +- .../share/doc/openssl/html/man3/BIO_s_fd.html | 4 +- .../doc/openssl/html/man3/BIO_s_file.html | 6 +- .../doc/openssl/html/man3/BIO_s_mem.html | 4 +- .../doc/openssl/html/man3/BIO_s_null.html | 2 +- .../doc/openssl/html/man3/BIO_s_secmem.html | 1 + .../doc/openssl/html/man3/BIO_s_socket.html | 2 +- .../share/doc/openssl/html/man3/BIO_seek.html | 1 + .../html/man3/BIO_set_accept_bios.html | 1 + .../html/man3/BIO_set_accept_ip_family.html | 1 + .../html/man3/BIO_set_accept_name.html | 1 + .../html/man3/BIO_set_accept_port.html | 1 + .../openssl/html/man3/BIO_set_bind_mode.html | 1 + .../html/man3/BIO_set_buffer_read_data.html | 1 + .../html/man3/BIO_set_buffer_size.html | 1 + .../openssl/html/man3/BIO_set_callback.html | 6 +- .../html/man3/BIO_set_callback_arg.html | 1 + .../html/man3/BIO_set_callback_ex.html | 1 + .../doc/openssl/html/man3/BIO_set_cipher.html | 1 + .../doc/openssl/html/man3/BIO_set_close.html | 1 + .../html/man3/BIO_set_conn_address.html | 1 + .../html/man3/BIO_set_conn_hostname.html | 1 + .../html/man3/BIO_set_conn_ip_family.html | 1 + .../openssl/html/man3/BIO_set_conn_port.html | 1 + .../doc/openssl/html/man3/BIO_set_data.html | 1 + .../openssl/html/man3/BIO_set_ex_data.html | 1 + .../doc/openssl/html/man3/BIO_set_fd.html | 1 + .../doc/openssl/html/man3/BIO_set_fp.html | 1 + .../html/man3/BIO_set_info_callback.html | 1 + .../doc/openssl/html/man3/BIO_set_init.html | 1 + .../doc/openssl/html/man3/BIO_set_md.html | 1 + .../openssl/html/man3/BIO_set_mem_buf.html | 1 + .../html/man3/BIO_set_mem_eof_return.html | 1 + .../doc/openssl/html/man3/BIO_set_nbio.html | 1 + .../html/man3/BIO_set_nbio_accept.html | 1 + .../doc/openssl/html/man3/BIO_set_next.html | 1 + .../html/man3/BIO_set_read_buffer_size.html | 1 + .../html/man3/BIO_set_retry_reason.html | 1 + .../openssl/html/man3/BIO_set_shutdown.html | 1 + .../doc/openssl/html/man3/BIO_set_ssl.html | 1 + .../openssl/html/man3/BIO_set_ssl_mode.html | 1 + .../man3/BIO_set_ssl_renegotiate_bytes.html | 1 + .../man3/BIO_set_ssl_renegotiate_timeout.html | 1 + .../html/man3/BIO_set_write_buf_size.html | 1 + .../html/man3/BIO_set_write_buffer_size.html | 1 + .../html/man3/BIO_should_io_special.html | 1 + .../openssl/html/man3/BIO_should_read.html | 1 + .../openssl/html/man3/BIO_should_retry.html | 4 +- .../openssl/html/man3/BIO_should_write.html | 1 + .../openssl/html/man3/BIO_shutdown_wr.html | 1 + .../doc/openssl/html/man3/BIO_snprintf.html | 1 + .../doc/openssl/html/man3/BIO_socket.html | 1 + .../html/man3/BIO_ssl_copy_session_id.html | 1 + .../openssl/html/man3/BIO_ssl_shutdown.html | 1 + .../share/doc/openssl/html/man3/BIO_tell.html | 1 + .../doc/openssl/html/man3/BIO_up_ref.html | 1 + .../doc/openssl/html/man3/BIO_vfree.html | 1 + .../doc/openssl/html/man3/BIO_vprintf.html | 1 + .../doc/openssl/html/man3/BIO_vsnprintf.html | 1 + .../doc/openssl/html/man3/BIO_wpending.html | 1 + .../doc/openssl/html/man3/BIO_write.html | 1 + .../doc/openssl/html/man3/BIO_write_ex.html | 1 + .../openssl/html/man3/BIO_write_filename.html | 1 + .../html/man3/BN_BLINDING_convert.html | 1 + .../html/man3/BN_BLINDING_convert_ex.html | 1 + .../html/man3/BN_BLINDING_create_param.html | 1 + .../openssl/html/man3/BN_BLINDING_free.html | 1 + .../html/man3/BN_BLINDING_get_flags.html | 1 + .../openssl/html/man3/BN_BLINDING_invert.html | 1 + .../html/man3/BN_BLINDING_invert_ex.html | 1 + .../man3/BN_BLINDING_is_current_thread.html | 1 + .../openssl/html/man3/BN_BLINDING_lock.html | 1 + .../openssl/html/man3/BN_BLINDING_new.html | 2 +- .../man3/BN_BLINDING_set_current_thread.html | 1 + .../html/man3/BN_BLINDING_set_flags.html | 1 + .../openssl/html/man3/BN_BLINDING_unlock.html | 1 + .../openssl/html/man3/BN_BLINDING_update.html | 1 + .../doc/openssl/html/man3/BN_CTX_end.html | 1 + .../doc/openssl/html/man3/BN_CTX_free.html | 1 + .../doc/openssl/html/man3/BN_CTX_get.html | 1 + .../doc/openssl/html/man3/BN_CTX_new.html | 19 +- .../openssl/html/man3/BN_CTX_secure_new.html | 1 + .../doc/openssl/html/man3/BN_CTX_start.html | 4 +- .../doc/openssl/html/man3/BN_GENCB_call.html | 1 + .../doc/openssl/html/man3/BN_GENCB_free.html | 1 + .../openssl/html/man3/BN_GENCB_get_arg.html | 1 + .../doc/openssl/html/man3/BN_GENCB_new.html | 1 + .../doc/openssl/html/man3/BN_GENCB_set.html | 1 + .../openssl/html/man3/BN_GENCB_set_old.html | 1 + .../openssl/html/man3/BN_MONT_CTX_copy.html | 1 + .../openssl/html/man3/BN_MONT_CTX_free.html | 1 + .../openssl/html/man3/BN_MONT_CTX_new.html | 1 + .../openssl/html/man3/BN_MONT_CTX_set.html | 1 + .../openssl/html/man3/BN_RECP_CTX_free.html | 1 + .../openssl/html/man3/BN_RECP_CTX_new.html | 1 + .../openssl/html/man3/BN_RECP_CTX_set.html | 1 + .../share/doc/openssl/html/man3/BN_add.html | 2 +- .../doc/openssl/html/man3/BN_add_word.html | 2 +- .../doc/openssl/html/man3/BN_bin2bn.html | 1 + .../doc/openssl/html/man3/BN_bn2bin.html | 17 +- .../doc/openssl/html/man3/BN_bn2binpad.html | 1 + .../doc/openssl/html/man3/BN_bn2dec.html | 1 + .../doc/openssl/html/man3/BN_bn2hex.html | 1 + .../doc/openssl/html/man3/BN_bn2lebinpad.html | 1 + .../doc/openssl/html/man3/BN_bn2mpi.html | 1 + .../share/doc/openssl/html/man3/BN_clear.html | 1 + .../doc/openssl/html/man3/BN_clear_bit.html | 1 + .../doc/openssl/html/man3/BN_clear_free.html | 1 + .../share/doc/openssl/html/man3/BN_cmp.html | 2 +- .../share/doc/openssl/html/man3/BN_copy.html | 2 +- .../doc/openssl/html/man3/BN_dec2bn.html | 1 + .../share/doc/openssl/html/man3/BN_div.html | 1 + .../doc/openssl/html/man3/BN_div_recp.html | 1 + .../doc/openssl/html/man3/BN_div_word.html | 1 + .../share/doc/openssl/html/man3/BN_dup.html | 1 + .../share/doc/openssl/html/man3/BN_exp.html | 1 + .../share/doc/openssl/html/man3/BN_free.html | 1 + .../openssl/html/man3/BN_from_montgomery.html | 1 + .../share/doc/openssl/html/man3/BN_gcd.html | 1 + .../openssl/html/man3/BN_generate_prime.html | 120 +- .../html/man3/BN_generate_prime_ex.html | 1 + .../html/man3/BN_get0_nist_prime_192.html | 1 + .../html/man3/BN_get0_nist_prime_224.html | 1 + .../html/man3/BN_get0_nist_prime_256.html | 1 + .../html/man3/BN_get0_nist_prime_384.html | 1 + .../html/man3/BN_get0_nist_prime_521.html | 1 + .../html/man3/BN_get_rfc2409_prime_1024.html | 1 + .../html/man3/BN_get_rfc2409_prime_768.html | 1 + .../html/man3/BN_get_rfc3526_prime_1536.html | 1 + .../html/man3/BN_get_rfc3526_prime_2048.html | 1 + .../html/man3/BN_get_rfc3526_prime_3072.html | 1 + .../html/man3/BN_get_rfc3526_prime_4096.html | 1 + .../html/man3/BN_get_rfc3526_prime_6144.html | 1 + .../html/man3/BN_get_rfc3526_prime_8192.html | 1 + .../doc/openssl/html/man3/BN_get_word.html | 1 + .../doc/openssl/html/man3/BN_hex2bn.html | 1 + .../doc/openssl/html/man3/BN_is_bit_set.html | 1 + .../doc/openssl/html/man3/BN_is_odd.html | 1 + .../doc/openssl/html/man3/BN_is_one.html | 1 + .../doc/openssl/html/man3/BN_is_prime.html | 1 + .../doc/openssl/html/man3/BN_is_prime_ex.html | 1 + .../html/man3/BN_is_prime_fasttest.html | 1 + .../html/man3/BN_is_prime_fasttest_ex.html | 1 + .../doc/openssl/html/man3/BN_is_word.html | 1 + .../doc/openssl/html/man3/BN_is_zero.html | 1 + .../doc/openssl/html/man3/BN_lebin2bn.html | 1 + .../doc/openssl/html/man3/BN_lshift.html | 1 + .../doc/openssl/html/man3/BN_lshift1.html | 1 + .../doc/openssl/html/man3/BN_mask_bits.html | 1 + .../share/doc/openssl/html/man3/BN_mod.html | 1 + .../doc/openssl/html/man3/BN_mod_add.html | 1 + .../doc/openssl/html/man3/BN_mod_exp.html | 1 + .../doc/openssl/html/man3/BN_mod_inverse.html | 2 +- .../doc/openssl/html/man3/BN_mod_mul.html | 1 + .../html/man3/BN_mod_mul_montgomery.html | 4 +- .../html/man3/BN_mod_mul_reciprocal.html | 2 +- .../doc/openssl/html/man3/BN_mod_sqr.html | 1 + .../doc/openssl/html/man3/BN_mod_sub.html | 1 + .../doc/openssl/html/man3/BN_mod_word.html | 1 + .../doc/openssl/html/man3/BN_mpi2bn.html | 1 + .../share/doc/openssl/html/man3/BN_mul.html | 1 + .../doc/openssl/html/man3/BN_mul_word.html | 1 + .../share/doc/openssl/html/man3/BN_new.html | 4 +- .../share/doc/openssl/html/man3/BN_nnmod.html | 1 + .../doc/openssl/html/man3/BN_num_bits.html | 1 + .../openssl/html/man3/BN_num_bits_word.html | 1 + .../doc/openssl/html/man3/BN_num_bytes.html | 2 +- .../share/doc/openssl/html/man3/BN_one.html | 1 + .../share/doc/openssl/html/man3/BN_print.html | 1 + .../doc/openssl/html/man3/BN_print_fp.html | 1 + .../doc/openssl/html/man3/BN_priv_rand.html | 1 + .../openssl/html/man3/BN_priv_rand_range.html | 1 + .../doc/openssl/html/man3/BN_pseudo_rand.html | 1 + .../html/man3/BN_pseudo_rand_range.html | 1 + .../share/doc/openssl/html/man3/BN_rand.html | 36 +- .../doc/openssl/html/man3/BN_rand_range.html | 1 + .../doc/openssl/html/man3/BN_rshift.html | 1 + .../doc/openssl/html/man3/BN_rshift1.html | 1 + .../doc/openssl/html/man3/BN_secure_new.html | 1 + .../openssl/html/man3/BN_security_bits.html | 2 +- .../doc/openssl/html/man3/BN_set_bit.html | 2 +- .../doc/openssl/html/man3/BN_set_word.html | 1 + .../share/doc/openssl/html/man3/BN_sqr.html | 1 + .../share/doc/openssl/html/man3/BN_sub.html | 1 + .../doc/openssl/html/man3/BN_sub_word.html | 1 + .../share/doc/openssl/html/man3/BN_swap.html | 2 +- .../html/man3/BN_to_ASN1_ENUMERATED.html | 1 + .../openssl/html/man3/BN_to_ASN1_INTEGER.html | 1 + .../openssl/html/man3/BN_to_montgomery.html | 1 + .../share/doc/openssl/html/man3/BN_ucmp.html | 1 + .../doc/openssl/html/man3/BN_value_one.html | 1 + .../doc/openssl/html/man3/BN_with_flags.html | 1 + .../share/doc/openssl/html/man3/BN_zero.html | 2 +- .../doc/openssl/html/man3/BUF_MEM_free.html | 1 + .../doc/openssl/html/man3/BUF_MEM_grow.html | 1 + .../openssl/html/man3/BUF_MEM_grow_clean.html | 1 + .../doc/openssl/html/man3/BUF_MEM_new.html | 2 +- .../doc/openssl/html/man3/BUF_MEM_new_ex.html | 1 + .../doc/openssl/html/man3/BUF_reverse.html | 1 + .../html/man3/CERTIFICATEPOLICIES_free.html | 1 + .../html/man3/CERTIFICATEPOLICIES_new.html | 1 + .../html/man3/CMS_ContentInfo_free.html | 1 + .../html/man3/CMS_ContentInfo_new.html | 1 + .../html/man3/CMS_ContentInfo_print_ctx.html | 1 + .../html/man3/CMS_ReceiptRequest_create0.html | 1 + .../html/man3/CMS_ReceiptRequest_free.html | 1 + .../man3/CMS_ReceiptRequest_get0_values.html | 1 + .../html/man3/CMS_ReceiptRequest_new.html | 1 + .../html/man3/CMS_RecipientInfo_decrypt.html | 1 + .../html/man3/CMS_RecipientInfo_encrypt.html | 1 + .../man3/CMS_RecipientInfo_kekri_get0_id.html | 1 + .../man3/CMS_RecipientInfo_kekri_id_cmp.html | 1 + .../man3/CMS_RecipientInfo_ktri_cert_cmp.html | 1 + ...CMS_RecipientInfo_ktri_get0_signer_id.html | 1 + .../html/man3/CMS_RecipientInfo_set0_key.html | 1 + .../man3/CMS_RecipientInfo_set0_pkey.html | 1 + .../html/man3/CMS_RecipientInfo_type.html | 1 + .../html/man3/CMS_SignerInfo_cert_cmp.html | 1 + .../man3/CMS_SignerInfo_get0_signature.html | 1 + .../man3/CMS_SignerInfo_get0_signer_id.html | 1 + .../man3/CMS_SignerInfo_set1_signer_cert.html | 1 + .../html/man3/CMS_SignerInfo_sign.html | 1 + .../doc/openssl/html/man3/CMS_add0_cert.html | 2 +- .../doc/openssl/html/man3/CMS_add0_crl.html | 1 + .../html/man3/CMS_add0_recipient_key.html | 1 + .../html/man3/CMS_add1_ReceiptRequest.html | 1 + .../doc/openssl/html/man3/CMS_add1_cert.html | 1 + .../doc/openssl/html/man3/CMS_add1_crl.html | 1 + .../html/man3/CMS_add1_recipient_cert.html | 2 +- .../openssl/html/man3/CMS_add1_signer.html | 2 +- .../doc/openssl/html/man3/CMS_compress.html | 12 +- .../doc/openssl/html/man3/CMS_decrypt.html | 2 +- .../doc/openssl/html/man3/CMS_encrypt.html | 12 +- .../doc/openssl/html/man3/CMS_final.html | 4 +- .../html/man3/CMS_get0_RecipientInfos.html | 2 +- .../html/man3/CMS_get0_SignerInfos.html | 2 +- .../openssl/html/man3/CMS_get0_content.html | 1 + .../html/man3/CMS_get0_eContentType.html | 1 + .../openssl/html/man3/CMS_get0_signers.html | 1 + .../doc/openssl/html/man3/CMS_get0_type.html | 7 +- .../html/man3/CMS_get1_ReceiptRequest.html | 2 +- .../doc/openssl/html/man3/CMS_get1_certs.html | 1 + .../doc/openssl/html/man3/CMS_get1_crls.html | 1 + .../html/man3/CMS_set1_eContentType.html | 1 + .../share/doc/openssl/html/man3/CMS_sign.html | 2 +- .../openssl/html/man3/CMS_sign_receipt.html | 2 +- .../doc/openssl/html/man3/CMS_uncompress.html | 2 +- .../doc/openssl/html/man3/CMS_verify.html | 4 +- .../openssl/html/man3/CMS_verify_receipt.html | 2 +- .../html/man3/CONF_modules_finish.html | 1 + .../openssl/html/man3/CONF_modules_free.html | 12 +- .../openssl/html/man3/CONF_modules_load.html | 1 + .../html/man3/CONF_modules_load_file.html | 4 +- .../html/man3/CONF_modules_unload.html | 1 + .../html/man3/CRL_DIST_POINTS_free.html | 1 + .../html/man3/CRL_DIST_POINTS_new.html | 1 + .../doc/openssl/html/man3/CRYPTO_EX_dup.html | 1 + .../doc/openssl/html/man3/CRYPTO_EX_free.html | 1 + .../doc/openssl/html/man3/CRYPTO_EX_new.html | 1 + .../html/man3/CRYPTO_THREAD_lock_free.html | 1 + .../html/man3/CRYPTO_THREAD_lock_new.html | 1 + .../html/man3/CRYPTO_THREAD_read_lock.html | 1 + .../html/man3/CRYPTO_THREAD_run_once.html | 25 +- .../html/man3/CRYPTO_THREAD_unlock.html | 1 + .../html/man3/CRYPTO_THREAD_write_lock.html | 1 + .../openssl/html/man3/CRYPTO_atomic_add.html | 1 + .../openssl/html/man3/CRYPTO_clear_free.html | 1 + .../html/man3/CRYPTO_clear_realloc.html | 1 + .../doc/openssl/html/man3/CRYPTO_free.html | 1 + .../html/man3/CRYPTO_free_ex_data.html | 1 + .../html/man3/CRYPTO_free_ex_index.html | 1 + .../html/man3/CRYPTO_get_alloc_counts.html | 1 + .../openssl/html/man3/CRYPTO_get_ex_data.html | 1 + .../html/man3/CRYPTO_get_ex_new_index.html | 29 +- .../html/man3/CRYPTO_get_mem_functions.html | 1 + .../doc/openssl/html/man3/CRYPTO_malloc.html | 1 + .../openssl/html/man3/CRYPTO_mem_ctrl.html | 1 + .../html/man3/CRYPTO_mem_debug_pop.html | 1 + .../html/man3/CRYPTO_mem_debug_push.html | 1 + .../openssl/html/man3/CRYPTO_mem_leaks.html | 1 + .../html/man3/CRYPTO_mem_leaks_cb.html | 1 + .../html/man3/CRYPTO_mem_leaks_fp.html | 1 + .../doc/openssl/html/man3/CRYPTO_memcmp.html | 4 +- .../openssl/html/man3/CRYPTO_new_ex_data.html | 1 + .../doc/openssl/html/man3/CRYPTO_realloc.html | 1 + .../html/man3/CRYPTO_secure_allocated.html | 1 + .../html/man3/CRYPTO_secure_clear_free.html | 1 + .../openssl/html/man3/CRYPTO_secure_free.html | 1 + .../html/man3/CRYPTO_secure_malloc.html | 1 + .../html/man3/CRYPTO_secure_malloc_done.html | 1 + .../html/man3/CRYPTO_secure_malloc_init.html | 1 + .../CRYPTO_secure_malloc_initialized.html | 1 + .../openssl/html/man3/CRYPTO_secure_used.html | 1 + .../html/man3/CRYPTO_secure_zalloc.html | 1 + .../openssl/html/man3/CRYPTO_set_ex_data.html | 1 + .../html/man3/CRYPTO_set_mem_debug.html | 1 + .../html/man3/CRYPTO_set_mem_functions.html | 1 + .../doc/openssl/html/man3/CRYPTO_strdup.html | 1 + .../doc/openssl/html/man3/CRYPTO_strndup.html | 1 + .../doc/openssl/html/man3/CRYPTO_zalloc.html | 1 + .../openssl/html/man3/CTLOG_STORE_free.html | 1 + .../html/man3/CTLOG_STORE_get0_log_by_id.html | 2 +- .../man3/CTLOG_STORE_load_default_file.html | 1 + .../html/man3/CTLOG_STORE_load_file.html | 1 + .../openssl/html/man3/CTLOG_STORE_new.html | 6 +- .../doc/openssl/html/man3/CTLOG_free.html | 1 + .../openssl/html/man3/CTLOG_get0_log_id.html | 1 + .../openssl/html/man3/CTLOG_get0_name.html | 1 + .../html/man3/CTLOG_get0_public_key.html | 1 + .../doc/openssl/html/man3/CTLOG_new.html | 2 +- .../html/man3/CTLOG_new_from_base64.html | 1 + .../html/man3/CT_POLICY_EVAL_CTX_free.html | 1 + .../man3/CT_POLICY_EVAL_CTX_get0_cert.html | 1 + .../man3/CT_POLICY_EVAL_CTX_get0_issuer.html | 1 + .../CT_POLICY_EVAL_CTX_get0_log_store.html | 1 + .../man3/CT_POLICY_EVAL_CTX_get_time.html | 1 + .../html/man3/CT_POLICY_EVAL_CTX_new.html | 4 +- .../man3/CT_POLICY_EVAL_CTX_set1_cert.html | 1 + .../man3/CT_POLICY_EVAL_CTX_set1_issuer.html | 1 + ...OLICY_EVAL_CTX_set_shared_CTLOG_STORE.html | 1 + .../man3/CT_POLICY_EVAL_CTX_set_time.html | 1 + .../html/man3/DECLARE_ASN1_FUNCTIONS.html | 1 + .../openssl/html/man3/DECLARE_LHASH_OF.html | 1 + .../doc/openssl/html/man3/DECLARE_PEM_rw.html | 1 + .../html/man3/DEFINE_SPECIAL_STACK_OF.html | 1 + .../man3/DEFINE_SPECIAL_STACK_OF_CONST.html | 1 + .../openssl/html/man3/DEFINE_STACK_OF.html | 199 ++-- .../html/man3/DEFINE_STACK_OF_CONST.html | 1 + .../doc/openssl/html/man3/DES_cbc_cksum.html | 1 + .../openssl/html/man3/DES_cfb64_encrypt.html | 1 + .../openssl/html/man3/DES_cfb_encrypt.html | 1 + .../doc/openssl/html/man3/DES_crypt.html | 1 + .../openssl/html/man3/DES_ecb2_encrypt.html | 1 + .../openssl/html/man3/DES_ecb3_encrypt.html | 1 + .../openssl/html/man3/DES_ecb_encrypt.html | 1 + .../html/man3/DES_ede2_cbc_encrypt.html | 1 + .../html/man3/DES_ede2_cfb64_encrypt.html | 1 + .../html/man3/DES_ede2_ofb64_encrypt.html | 1 + .../html/man3/DES_ede3_cbc_encrypt.html | 1 + .../html/man3/DES_ede3_cfb64_encrypt.html | 1 + .../html/man3/DES_ede3_ofb64_encrypt.html | 1 + .../doc/openssl/html/man3/DES_fcrypt.html | 1 + .../openssl/html/man3/DES_is_weak_key.html | 1 + .../doc/openssl/html/man3/DES_key_sched.html | 1 + .../openssl/html/man3/DES_ncbc_encrypt.html | 1 + .../openssl/html/man3/DES_ofb64_encrypt.html | 1 + .../openssl/html/man3/DES_ofb_encrypt.html | 1 + .../openssl/html/man3/DES_pcbc_encrypt.html | 1 + .../doc/openssl/html/man3/DES_quad_cksum.html | 1 + .../doc/openssl/html/man3/DES_random_key.html | 22 +- .../doc/openssl/html/man3/DES_set_key.html | 1 + .../html/man3/DES_set_key_checked.html | 1 + .../html/man3/DES_set_key_unchecked.html | 1 + .../openssl/html/man3/DES_set_odd_parity.html | 1 + .../html/man3/DES_string_to_2keys.html | 1 + .../openssl/html/man3/DES_string_to_key.html | 1 + .../openssl/html/man3/DES_xcbc_encrypt.html | 1 + .../doc/openssl/html/man3/DH_OpenSSL.html | 1 + .../share/doc/openssl/html/man3/DH_bits.html | 1 + .../share/doc/openssl/html/man3/DH_check.html | 1 + .../doc/openssl/html/man3/DH_check_ex.html | 1 + .../openssl/html/man3/DH_check_params.html | 1 + .../openssl/html/man3/DH_check_params_ex.html | 1 + .../html/man3/DH_check_pub_key_ex.html | 1 + .../doc/openssl/html/man3/DH_clear_flags.html | 1 + .../doc/openssl/html/man3/DH_compute_key.html | 1 + .../share/doc/openssl/html/man3/DH_free.html | 1 + .../openssl/html/man3/DH_generate_key.html | 17 +- .../html/man3/DH_generate_parameters.html | 30 +- .../html/man3/DH_generate_parameters_ex.html | 1 + .../doc/openssl/html/man3/DH_get0_engine.html | 1 + .../doc/openssl/html/man3/DH_get0_g.html | 1 + .../doc/openssl/html/man3/DH_get0_key.html | 1 + .../doc/openssl/html/man3/DH_get0_p.html | 1 + .../doc/openssl/html/man3/DH_get0_pqg.html | 17 +- .../openssl/html/man3/DH_get0_priv_key.html | 1 + .../openssl/html/man3/DH_get0_pub_key.html | 1 + .../doc/openssl/html/man3/DH_get0_q.html | 1 + .../openssl/html/man3/DH_get_1024_160.html | 2 +- .../openssl/html/man3/DH_get_2048_224.html | 1 + .../openssl/html/man3/DH_get_2048_256.html | 1 + .../html/man3/DH_get_default_method.html | 1 + .../doc/openssl/html/man3/DH_get_ex_data.html | 1 + .../html/man3/DH_get_ex_new_index.html | 1 + .../doc/openssl/html/man3/DH_get_length.html | 1 + .../doc/openssl/html/man3/DH_get_nid.html | 1 + .../doc/openssl/html/man3/DH_meth_dup.html | 1 + .../doc/openssl/html/man3/DH_meth_free.html | 1 + .../html/man3/DH_meth_get0_app_data.html | 1 + .../openssl/html/man3/DH_meth_get0_name.html | 1 + .../html/man3/DH_meth_get_bn_mod_exp.html | 1 + .../html/man3/DH_meth_get_compute_key.html | 1 + .../openssl/html/man3/DH_meth_get_finish.html | 1 + .../openssl/html/man3/DH_meth_get_flags.html | 1 + .../html/man3/DH_meth_get_generate_key.html | 1 + .../man3/DH_meth_get_generate_params.html | 1 + .../openssl/html/man3/DH_meth_get_init.html | 1 + .../doc/openssl/html/man3/DH_meth_new.html | 8 +- .../html/man3/DH_meth_set0_app_data.html | 1 + .../openssl/html/man3/DH_meth_set1_name.html | 1 + .../html/man3/DH_meth_set_bn_mod_exp.html | 1 + .../html/man3/DH_meth_set_compute_key.html | 1 + .../openssl/html/man3/DH_meth_set_finish.html | 1 + .../openssl/html/man3/DH_meth_set_flags.html | 1 + .../html/man3/DH_meth_set_generate_key.html | 1 + .../man3/DH_meth_set_generate_params.html | 1 + .../openssl/html/man3/DH_meth_set_init.html | 1 + .../share/doc/openssl/html/man3/DH_new.html | 2 +- .../doc/openssl/html/man3/DH_new_by_nid.html | 24 +- .../doc/openssl/html/man3/DH_new_method.html | 1 + .../openssl/html/man3/DH_security_bits.html | 1 + .../doc/openssl/html/man3/DH_set0_key.html | 1 + .../doc/openssl/html/man3/DH_set0_pqg.html | 1 + .../html/man3/DH_set_default_method.html | 1 + .../doc/openssl/html/man3/DH_set_ex_data.html | 1 + .../doc/openssl/html/man3/DH_set_flags.html | 1 + .../doc/openssl/html/man3/DH_set_length.html | 1 + .../doc/openssl/html/man3/DH_set_method.html | 15 +- .../share/doc/openssl/html/man3/DH_size.html | 12 +- .../doc/openssl/html/man3/DH_test_flags.html | 1 + .../doc/openssl/html/man3/DHparams_print.html | 1 + .../openssl/html/man3/DHparams_print_fp.html | 1 + .../html/man3/DIRECTORYSTRING_free.html | 1 + .../html/man3/DIRECTORYSTRING_new.html | 1 + .../openssl/html/man3/DISPLAYTEXT_free.html | 1 + .../openssl/html/man3/DISPLAYTEXT_new.html | 1 + .../html/man3/DIST_POINT_NAME_free.html | 1 + .../html/man3/DIST_POINT_NAME_new.html | 1 + .../openssl/html/man3/DIST_POINT_free.html | 1 + .../doc/openssl/html/man3/DIST_POINT_new.html | 1 + .../doc/openssl/html/man3/DSA_OpenSSL.html | 1 + .../doc/openssl/html/man3/DSA_SIG_free.html | 1 + .../doc/openssl/html/man3/DSA_SIG_get0.html | 1 + .../doc/openssl/html/man3/DSA_SIG_new.html | 2 +- .../doc/openssl/html/man3/DSA_SIG_set0.html | 1 + .../share/doc/openssl/html/man3/DSA_bits.html | 1 + .../openssl/html/man3/DSA_clear_flags.html | 1 + .../doc/openssl/html/man3/DSA_do_sign.html | 2 +- .../doc/openssl/html/man3/DSA_do_verify.html | 1 + .../doc/openssl/html/man3/DSA_dup_DH.html | 14 +- .../share/doc/openssl/html/man3/DSA_free.html | 1 + .../openssl/html/man3/DSA_generate_key.html | 4 +- .../html/man3/DSA_generate_parameters.html | 10 +- .../html/man3/DSA_generate_parameters_ex.html | 1 + .../openssl/html/man3/DSA_get0_engine.html | 1 + .../doc/openssl/html/man3/DSA_get0_g.html | 1 + .../doc/openssl/html/man3/DSA_get0_key.html | 1 + .../doc/openssl/html/man3/DSA_get0_p.html | 1 + .../doc/openssl/html/man3/DSA_get0_pqg.html | 2 +- .../openssl/html/man3/DSA_get0_priv_key.html | 1 + .../openssl/html/man3/DSA_get0_pub_key.html | 1 + .../doc/openssl/html/man3/DSA_get0_q.html | 1 + .../html/man3/DSA_get_default_method.html | 1 + .../openssl/html/man3/DSA_get_ex_data.html | 1 + .../html/man3/DSA_get_ex_new_index.html | 1 + .../doc/openssl/html/man3/DSA_meth_dup.html | 1 + .../doc/openssl/html/man3/DSA_meth_free.html | 1 + .../html/man3/DSA_meth_get0_app_data.html | 1 + .../openssl/html/man3/DSA_meth_get0_name.html | 1 + .../html/man3/DSA_meth_get_bn_mod_exp.html | 1 + .../html/man3/DSA_meth_get_finish.html | 1 + .../openssl/html/man3/DSA_meth_get_flags.html | 1 + .../openssl/html/man3/DSA_meth_get_init.html | 1 + .../html/man3/DSA_meth_get_keygen.html | 1 + .../html/man3/DSA_meth_get_mod_exp.html | 1 + .../html/man3/DSA_meth_get_paramgen.html | 1 + .../openssl/html/man3/DSA_meth_get_sign.html | 1 + .../html/man3/DSA_meth_get_sign_setup.html | 1 + .../html/man3/DSA_meth_get_verify.html | 1 + .../doc/openssl/html/man3/DSA_meth_new.html | 14 +- .../html/man3/DSA_meth_set0_app_data.html | 1 + .../openssl/html/man3/DSA_meth_set1_name.html | 1 + .../html/man3/DSA_meth_set_bn_mod_exp.html | 1 + .../html/man3/DSA_meth_set_finish.html | 1 + .../openssl/html/man3/DSA_meth_set_flags.html | 1 + .../openssl/html/man3/DSA_meth_set_init.html | 1 + .../html/man3/DSA_meth_set_keygen.html | 1 + .../html/man3/DSA_meth_set_mod_exp.html | 1 + .../html/man3/DSA_meth_set_paramgen.html | 1 + .../openssl/html/man3/DSA_meth_set_sign.html | 1 + .../html/man3/DSA_meth_set_sign_setup.html | 1 + .../html/man3/DSA_meth_set_verify.html | 1 + .../share/doc/openssl/html/man3/DSA_new.html | 2 +- .../doc/openssl/html/man3/DSA_new_method.html | 1 + .../doc/openssl/html/man3/DSA_print.html | 1 + .../doc/openssl/html/man3/DSA_print_fp.html | 1 + .../openssl/html/man3/DSA_security_bits.html | 1 + .../doc/openssl/html/man3/DSA_set0_key.html | 1 + .../doc/openssl/html/man3/DSA_set0_pqg.html | 1 + .../html/man3/DSA_set_default_method.html | 1 + .../openssl/html/man3/DSA_set_ex_data.html | 1 + .../doc/openssl/html/man3/DSA_set_flags.html | 1 + .../doc/openssl/html/man3/DSA_set_method.html | 6 +- .../share/doc/openssl/html/man3/DSA_sign.html | 4 +- .../doc/openssl/html/man3/DSA_sign_setup.html | 1 + .../share/doc/openssl/html/man3/DSA_size.html | 19 +- .../doc/openssl/html/man3/DSA_test_flags.html | 1 + .../doc/openssl/html/man3/DSA_verify.html | 1 + .../doc/openssl/html/man3/DSAparams_dup.html | 1 + .../openssl/html/man3/DSAparams_print.html | 1 + .../openssl/html/man3/DSAparams_print_fp.html | 1 + .../openssl/html/man3/DTLS_client_method.html | 1 + .../openssl/html/man3/DTLS_get_data_mtu.html | 2 +- .../doc/openssl/html/man3/DTLS_method.html | 1 + .../openssl/html/man3/DTLS_server_method.html | 1 + .../openssl/html/man3/DTLS_set_timer_cb.html | 2 +- .../doc/openssl/html/man3/DTLS_timer_cb.html | 1 + .../html/man3/DTLSv1_2_client_method.html | 1 + .../openssl/html/man3/DTLSv1_2_method.html | 1 + .../html/man3/DTLSv1_2_server_method.html | 1 + .../html/man3/DTLSv1_client_method.html | 1 + .../doc/openssl/html/man3/DTLSv1_listen.html | 2 +- .../doc/openssl/html/man3/DTLSv1_method.html | 1 + .../html/man3/DTLSv1_server_method.html | 1 + .../openssl/html/man3/ECDH_get_ex_data.html | 1 + .../html/man3/ECDH_get_ex_new_index.html | 1 + .../openssl/html/man3/ECDH_set_ex_data.html | 1 + .../doc/openssl/html/man3/ECDSA_SIG_free.html | 1 + .../doc/openssl/html/man3/ECDSA_SIG_get0.html | 1 + .../openssl/html/man3/ECDSA_SIG_get0_r.html | 1 + .../openssl/html/man3/ECDSA_SIG_get0_s.html | 1 + .../doc/openssl/html/man3/ECDSA_SIG_new.html | 28 +- .../doc/openssl/html/man3/ECDSA_SIG_set0.html | 1 + .../doc/openssl/html/man3/ECDSA_do_sign.html | 1 + .../openssl/html/man3/ECDSA_do_sign_ex.html | 1 + .../openssl/html/man3/ECDSA_do_verify.html | 1 + .../doc/openssl/html/man3/ECDSA_sign.html | 1 + .../doc/openssl/html/man3/ECDSA_sign_ex.html | 1 + .../openssl/html/man3/ECDSA_sign_setup.html | 1 + .../doc/openssl/html/man3/ECDSA_size.html | 1 + .../doc/openssl/html/man3/ECDSA_verify.html | 1 + .../openssl/html/man3/ECPARAMETERS_free.html | 1 + .../openssl/html/man3/ECPARAMETERS_new.html | 1 + .../html/man3/ECPKPARAMETERS_free.html | 1 + .../openssl/html/man3/ECPKPARAMETERS_new.html | 1 + .../html/man3/ECPKParameters_print.html | 2 +- .../html/man3/ECPKParameters_print_fp.html | 1 + .../html/man3/EC_GF2m_simple_method.html | 1 + .../openssl/html/man3/EC_GFp_mont_method.html | 1 + .../openssl/html/man3/EC_GFp_nist_method.html | 1 + .../html/man3/EC_GFp_nistp224_method.html | 1 + .../html/man3/EC_GFp_nistp256_method.html | 1 + .../html/man3/EC_GFp_nistp521_method.html | 1 + .../html/man3/EC_GFp_simple_method.html | 2 +- .../doc/openssl/html/man3/EC_GROUP_check.html | 1 + .../man3/EC_GROUP_check_discriminant.html | 1 + .../html/man3/EC_GROUP_clear_free.html | 1 + .../doc/openssl/html/man3/EC_GROUP_cmp.html | 1 + .../doc/openssl/html/man3/EC_GROUP_copy.html | 36 +- .../doc/openssl/html/man3/EC_GROUP_dup.html | 1 + .../doc/openssl/html/man3/EC_GROUP_free.html | 1 + .../html/man3/EC_GROUP_get0_cofactor.html | 1 + .../html/man3/EC_GROUP_get0_generator.html | 1 + .../html/man3/EC_GROUP_get0_order.html | 1 + .../openssl/html/man3/EC_GROUP_get0_seed.html | 1 + .../html/man3/EC_GROUP_get_asn1_flag.html | 1 + .../html/man3/EC_GROUP_get_basis_type.html | 1 + .../html/man3/EC_GROUP_get_cofactor.html | 1 + .../openssl/html/man3/EC_GROUP_get_curve.html | 1 + .../html/man3/EC_GROUP_get_curve_GF2m.html | 1 + .../html/man3/EC_GROUP_get_curve_GFp.html | 1 + .../html/man3/EC_GROUP_get_curve_name.html | 1 + .../html/man3/EC_GROUP_get_degree.html | 1 + .../html/man3/EC_GROUP_get_ecparameters.html | 1 + .../man3/EC_GROUP_get_ecpkparameters.html | 1 + .../openssl/html/man3/EC_GROUP_get_order.html | 1 + .../man3/EC_GROUP_get_pentanomial_basis.html | 1 + .../EC_GROUP_get_point_conversion_form.html | 1 + .../html/man3/EC_GROUP_get_seed_len.html | 1 + .../man3/EC_GROUP_get_trinomial_basis.html | 1 + .../man3/EC_GROUP_have_precompute_mult.html | 1 + .../openssl/html/man3/EC_GROUP_method_of.html | 1 + .../doc/openssl/html/man3/EC_GROUP_new.html | 79 +- .../html/man3/EC_GROUP_new_by_curve_name.html | 1 + .../html/man3/EC_GROUP_new_curve_GF2m.html | 1 + .../html/man3/EC_GROUP_new_curve_GFp.html | 1 + .../man3/EC_GROUP_new_from_ecparameters.html | 1 + .../EC_GROUP_new_from_ecpkparameters.html | 1 + .../html/man3/EC_GROUP_order_bits.html | 1 + .../html/man3/EC_GROUP_precompute_mult.html | 1 + .../html/man3/EC_GROUP_set_asn1_flag.html | 1 + .../openssl/html/man3/EC_GROUP_set_curve.html | 1 + .../html/man3/EC_GROUP_set_curve_GF2m.html | 1 + .../html/man3/EC_GROUP_set_curve_GFp.html | 1 + .../html/man3/EC_GROUP_set_curve_name.html | 1 + .../html/man3/EC_GROUP_set_generator.html | 1 + .../EC_GROUP_set_point_conversion_form.html | 1 + .../openssl/html/man3/EC_GROUP_set_seed.html | 1 + .../openssl/html/man3/EC_KEY_check_key.html | 1 + .../openssl/html/man3/EC_KEY_clear_flags.html | 1 + .../doc/openssl/html/man3/EC_KEY_copy.html | 1 + .../doc/openssl/html/man3/EC_KEY_dup.html | 1 + .../doc/openssl/html/man3/EC_KEY_free.html | 1 + .../html/man3/EC_KEY_generate_key.html | 1 + .../openssl/html/man3/EC_KEY_get0_engine.html | 1 + .../openssl/html/man3/EC_KEY_get0_group.html | 1 + .../html/man3/EC_KEY_get0_private_key.html | 1 + .../html/man3/EC_KEY_get0_public_key.html | 1 + .../html/man3/EC_KEY_get_conv_form.html | 1 + .../html/man3/EC_KEY_get_enc_flags.html | 2 +- .../openssl/html/man3/EC_KEY_get_ex_data.html | 1 + .../html/man3/EC_KEY_get_ex_new_index.html | 1 + .../openssl/html/man3/EC_KEY_get_flags.html | 1 + .../openssl/html/man3/EC_KEY_get_method.html | 1 + .../doc/openssl/html/man3/EC_KEY_key2buf.html | 1 + .../doc/openssl/html/man3/EC_KEY_new.html | 43 +- .../html/man3/EC_KEY_new_by_curve_name.html | 1 + .../doc/openssl/html/man3/EC_KEY_oct2key.html | 1 + .../openssl/html/man3/EC_KEY_oct2priv.html | 1 + .../html/man3/EC_KEY_precompute_mult.html | 1 + .../openssl/html/man3/EC_KEY_priv2buf.html | 1 + .../openssl/html/man3/EC_KEY_priv2oct.html | 1 + .../html/man3/EC_KEY_set_asn1_flag.html | 1 + .../html/man3/EC_KEY_set_conv_form.html | 1 + .../html/man3/EC_KEY_set_enc_flags.html | 1 + .../openssl/html/man3/EC_KEY_set_ex_data.html | 1 + .../openssl/html/man3/EC_KEY_set_flags.html | 1 + .../openssl/html/man3/EC_KEY_set_group.html | 1 + .../openssl/html/man3/EC_KEY_set_method.html | 1 + .../html/man3/EC_KEY_set_private_key.html | 1 + .../html/man3/EC_KEY_set_public_key.html | 1 + ...KEY_set_public_key_affine_coordinates.html | 1 + .../doc/openssl/html/man3/EC_KEY_up_ref.html | 1 + .../html/man3/EC_METHOD_get_field_type.html | 1 + .../doc/openssl/html/man3/EC_POINT_add.html | 2 +- .../openssl/html/man3/EC_POINT_bn2point.html | 1 + .../html/man3/EC_POINT_clear_free.html | 1 + .../doc/openssl/html/man3/EC_POINT_cmp.html | 1 + .../doc/openssl/html/man3/EC_POINT_copy.html | 1 + .../doc/openssl/html/man3/EC_POINT_dbl.html | 1 + .../doc/openssl/html/man3/EC_POINT_dup.html | 1 + .../doc/openssl/html/man3/EC_POINT_free.html | 1 + ...POINT_get_Jprojective_coordinates_GFp.html | 1 + .../man3/EC_POINT_get_affine_coordinates.html | 1 + .../EC_POINT_get_affine_coordinates_GF2m.html | 1 + .../EC_POINT_get_affine_coordinates_GFp.html | 1 + .../openssl/html/man3/EC_POINT_hex2point.html | 1 + .../openssl/html/man3/EC_POINT_invert.html | 1 + .../html/man3/EC_POINT_is_at_infinity.html | 1 + .../html/man3/EC_POINT_is_on_curve.html | 1 + .../html/man3/EC_POINT_make_affine.html | 1 + .../openssl/html/man3/EC_POINT_method_of.html | 1 + .../doc/openssl/html/man3/EC_POINT_mul.html | 1 + .../doc/openssl/html/man3/EC_POINT_new.html | 2 +- .../openssl/html/man3/EC_POINT_oct2point.html | 1 + .../openssl/html/man3/EC_POINT_point2bn.html | 1 + .../openssl/html/man3/EC_POINT_point2buf.html | 1 + .../openssl/html/man3/EC_POINT_point2hex.html | 1 + .../openssl/html/man3/EC_POINT_point2oct.html | 1 + ...POINT_set_Jprojective_coordinates_GFp.html | 1 + .../man3/EC_POINT_set_affine_coordinates.html | 1 + .../EC_POINT_set_affine_coordinates_GF2m.html | 1 + .../EC_POINT_set_affine_coordinates_GFp.html | 1 + .../EC_POINT_set_compressed_coordinates.html | 1 + ...POINT_set_compressed_coordinates_GF2m.html | 1 + ..._POINT_set_compressed_coordinates_GFp.html | 1 + .../html/man3/EC_POINT_set_to_infinity.html | 1 + .../html/man3/EC_POINTs_make_affine.html | 1 + .../doc/openssl/html/man3/EC_POINTs_mul.html | 1 + .../html/man3/EC_get_builtin_curves.html | 1 + .../openssl/html/man3/EDIPARTYNAME_free.html | 1 + .../openssl/html/man3/EDIPARTYNAME_new.html | 1 + .../doc/openssl/html/man3/ENGINE_add.html | 22 +- .../html/man3/ENGINE_add_conf_module.html | 1 + .../doc/openssl/html/man3/ENGINE_by_id.html | 1 + .../doc/openssl/html/man3/ENGINE_cleanup.html | 1 + .../html/man3/ENGINE_cmd_is_executable.html | 1 + .../doc/openssl/html/man3/ENGINE_ctrl.html | 1 + .../openssl/html/man3/ENGINE_ctrl_cmd.html | 1 + .../html/man3/ENGINE_ctrl_cmd_string.html | 1 + .../doc/openssl/html/man3/ENGINE_finish.html | 1 + .../doc/openssl/html/man3/ENGINE_free.html | 1 + .../doc/openssl/html/man3/ENGINE_get_DH.html | 1 + .../doc/openssl/html/man3/ENGINE_get_DSA.html | 1 + .../openssl/html/man3/ENGINE_get_RAND.html | 1 + .../doc/openssl/html/man3/ENGINE_get_RSA.html | 1 + .../openssl/html/man3/ENGINE_get_cipher.html | 1 + .../html/man3/ENGINE_get_cipher_engine.html | 1 + .../openssl/html/man3/ENGINE_get_ciphers.html | 1 + .../html/man3/ENGINE_get_cmd_defns.html | 1 + .../html/man3/ENGINE_get_ctrl_function.html | 1 + .../html/man3/ENGINE_get_default_DH.html | 1 + .../html/man3/ENGINE_get_default_DSA.html | 1 + .../html/man3/ENGINE_get_default_RAND.html | 1 + .../html/man3/ENGINE_get_default_RSA.html | 1 + .../man3/ENGINE_get_destroy_function.html | 1 + .../openssl/html/man3/ENGINE_get_digest.html | 1 + .../html/man3/ENGINE_get_digest_engine.html | 1 + .../openssl/html/man3/ENGINE_get_digests.html | 1 + .../openssl/html/man3/ENGINE_get_ex_data.html | 1 + .../html/man3/ENGINE_get_ex_new_index.html | 1 + .../html/man3/ENGINE_get_finish_function.html | 1 + .../openssl/html/man3/ENGINE_get_first.html | 1 + .../openssl/html/man3/ENGINE_get_flags.html | 1 + .../doc/openssl/html/man3/ENGINE_get_id.html | 1 + .../html/man3/ENGINE_get_init_function.html | 1 + .../openssl/html/man3/ENGINE_get_last.html | 1 + .../ENGINE_get_load_privkey_function.html | 1 + .../man3/ENGINE_get_load_pubkey_function.html | 1 + .../openssl/html/man3/ENGINE_get_name.html | 1 + .../openssl/html/man3/ENGINE_get_next.html | 1 + .../openssl/html/man3/ENGINE_get_prev.html | 1 + .../html/man3/ENGINE_get_table_flags.html | 1 + .../doc/openssl/html/man3/ENGINE_init.html | 1 + .../man3/ENGINE_load_builtin_engines.html | 1 + .../html/man3/ENGINE_load_private_key.html | 1 + .../html/man3/ENGINE_load_public_key.html | 1 + .../doc/openssl/html/man3/ENGINE_new.html | 1 + .../openssl/html/man3/ENGINE_register_DH.html | 1 + .../html/man3/ENGINE_register_DSA.html | 1 + .../html/man3/ENGINE_register_RAND.html | 1 + .../html/man3/ENGINE_register_RSA.html | 1 + .../html/man3/ENGINE_register_all_DH.html | 1 + .../html/man3/ENGINE_register_all_DSA.html | 1 + .../html/man3/ENGINE_register_all_RAND.html | 1 + .../html/man3/ENGINE_register_all_RSA.html | 1 + .../man3/ENGINE_register_all_ciphers.html | 1 + .../man3/ENGINE_register_all_complete.html | 1 + .../man3/ENGINE_register_all_digests.html | 1 + .../html/man3/ENGINE_register_ciphers.html | 1 + .../html/man3/ENGINE_register_complete.html | 1 + .../html/man3/ENGINE_register_digests.html | 1 + .../doc/openssl/html/man3/ENGINE_remove.html | 1 + .../doc/openssl/html/man3/ENGINE_set_DH.html | 1 + .../doc/openssl/html/man3/ENGINE_set_DSA.html | 1 + .../openssl/html/man3/ENGINE_set_RAND.html | 1 + .../doc/openssl/html/man3/ENGINE_set_RSA.html | 1 + .../openssl/html/man3/ENGINE_set_ciphers.html | 1 + .../html/man3/ENGINE_set_cmd_defns.html | 1 + .../html/man3/ENGINE_set_ctrl_function.html | 1 + .../openssl/html/man3/ENGINE_set_default.html | 1 + .../html/man3/ENGINE_set_default_DH.html | 1 + .../html/man3/ENGINE_set_default_DSA.html | 1 + .../html/man3/ENGINE_set_default_RAND.html | 1 + .../html/man3/ENGINE_set_default_RSA.html | 1 + .../html/man3/ENGINE_set_default_ciphers.html | 1 + .../html/man3/ENGINE_set_default_digests.html | 1 + .../html/man3/ENGINE_set_default_string.html | 1 + .../man3/ENGINE_set_destroy_function.html | 1 + .../openssl/html/man3/ENGINE_set_digests.html | 1 + .../openssl/html/man3/ENGINE_set_ex_data.html | 1 + .../html/man3/ENGINE_set_finish_function.html | 1 + .../openssl/html/man3/ENGINE_set_flags.html | 1 + .../doc/openssl/html/man3/ENGINE_set_id.html | 1 + .../html/man3/ENGINE_set_init_function.html | 1 + .../ENGINE_set_load_privkey_function.html | 1 + .../man3/ENGINE_set_load_pubkey_function.html | 1 + .../openssl/html/man3/ENGINE_set_name.html | 1 + .../html/man3/ENGINE_set_table_flags.html | 1 + .../html/man3/ENGINE_unregister_DH.html | 1 + .../html/man3/ENGINE_unregister_DSA.html | 1 + .../html/man3/ENGINE_unregister_RAND.html | 1 + .../html/man3/ENGINE_unregister_RSA.html | 1 + .../html/man3/ENGINE_unregister_ciphers.html | 1 + .../html/man3/ENGINE_unregister_digests.html | 1 + .../doc/openssl/html/man3/ENGINE_up_ref.html | 1 + .../openssl/html/man3/ERR_FATAL_ERROR.html | 1 + .../doc/openssl/html/man3/ERR_GET_FUNC.html | 1 + .../doc/openssl/html/man3/ERR_GET_LIB.html | 7 +- .../doc/openssl/html/man3/ERR_GET_REASON.html | 1 + .../share/doc/openssl/html/man3/ERR_PACK.html | 1 + .../openssl/html/man3/ERR_add_error_data.html | 1 + .../html/man3/ERR_add_error_vdata.html | 1 + .../openssl/html/man3/ERR_clear_error.html | 2 +- .../openssl/html/man3/ERR_error_string.html | 27 +- .../openssl/html/man3/ERR_error_string_n.html | 1 + .../openssl/html/man3/ERR_free_strings.html | 1 + .../html/man3/ERR_func_error_string.html | 1 + .../doc/openssl/html/man3/ERR_get_error.html | 80 +- .../openssl/html/man3/ERR_get_error_line.html | 1 + .../html/man3/ERR_get_error_line_data.html | 1 + .../html/man3/ERR_get_next_error_library.html | 1 + .../html/man3/ERR_lib_error_string.html | 1 + .../html/man3/ERR_load_crypto_strings.html | 14 +- .../openssl/html/man3/ERR_load_strings.html | 4 +- .../doc/openssl/html/man3/ERR_peek_error.html | 1 + .../html/man3/ERR_peek_error_line.html | 1 + .../html/man3/ERR_peek_error_line_data.html | 1 + .../html/man3/ERR_peek_last_error.html | 1 + .../html/man3/ERR_peek_last_error_line.html | 1 + .../man3/ERR_peek_last_error_line_data.html | 1 + .../openssl/html/man3/ERR_pop_to_mark.html | 1 + .../openssl/html/man3/ERR_print_errors.html | 4 +- .../html/man3/ERR_print_errors_cb.html | 1 + .../html/man3/ERR_print_errors_fp.html | 1 + .../doc/openssl/html/man3/ERR_put_error.html | 66 +- .../html/man3/ERR_reason_error_string.html | 1 + .../openssl/html/man3/ERR_remove_state.html | 17 +- .../html/man3/ERR_remove_thread_state.html | 1 + .../doc/openssl/html/man3/ERR_set_mark.html | 2 +- .../openssl/html/man3/ESS_CERT_ID_dup.html | 1 + .../openssl/html/man3/ESS_CERT_ID_free.html | 1 + .../openssl/html/man3/ESS_CERT_ID_new.html | 1 + .../html/man3/ESS_ISSUER_SERIAL_dup.html | 1 + .../html/man3/ESS_ISSUER_SERIAL_free.html | 1 + .../html/man3/ESS_ISSUER_SERIAL_new.html | 1 + .../html/man3/ESS_SIGNING_CERT_dup.html | 1 + .../html/man3/ESS_SIGNING_CERT_free.html | 1 + .../html/man3/ESS_SIGNING_CERT_new.html | 1 + .../doc/openssl/html/man3/EVP_BytesToKey.html | 2 +- .../html/man3/EVP_CIPHER_CTX_block_size.html | 1 + .../html/man3/EVP_CIPHER_CTX_cipher.html | 1 + .../html/man3/EVP_CIPHER_CTX_ctrl.html | 1 + .../html/man3/EVP_CIPHER_CTX_flags.html | 1 + .../html/man3/EVP_CIPHER_CTX_free.html | 1 + .../man3/EVP_CIPHER_CTX_get_app_data.html | 1 + .../man3/EVP_CIPHER_CTX_get_cipher_data.html | 2 +- .../html/man3/EVP_CIPHER_CTX_iv_length.html | 1 + .../html/man3/EVP_CIPHER_CTX_key_length.html | 1 + .../html/man3/EVP_CIPHER_CTX_mode.html | 1 + .../openssl/html/man3/EVP_CIPHER_CTX_new.html | 1 + .../openssl/html/man3/EVP_CIPHER_CTX_nid.html | 1 + .../html/man3/EVP_CIPHER_CTX_reset.html | 1 + .../man3/EVP_CIPHER_CTX_set_app_data.html | 1 + .../man3/EVP_CIPHER_CTX_set_cipher_data.html | 1 + .../man3/EVP_CIPHER_CTX_set_key_length.html | 1 + .../html/man3/EVP_CIPHER_CTX_set_padding.html | 1 + .../html/man3/EVP_CIPHER_CTX_type.html | 1 + .../html/man3/EVP_CIPHER_asn1_to_param.html | 1 + .../html/man3/EVP_CIPHER_block_size.html | 1 + .../openssl/html/man3/EVP_CIPHER_flags.html | 1 + .../html/man3/EVP_CIPHER_iv_length.html | 1 + .../html/man3/EVP_CIPHER_key_length.html | 1 + .../html/man3/EVP_CIPHER_meth_dup.html | 1 + .../html/man3/EVP_CIPHER_meth_free.html | 1 + .../man3/EVP_CIPHER_meth_get_cleanup.html | 1 + .../html/man3/EVP_CIPHER_meth_get_ctrl.html | 1 + .../man3/EVP_CIPHER_meth_get_do_cipher.html | 1 + .../EVP_CIPHER_meth_get_get_asn1_params.html | 1 + .../html/man3/EVP_CIPHER_meth_get_init.html | 1 + .../EVP_CIPHER_meth_get_set_asn1_params.html | 1 + .../html/man3/EVP_CIPHER_meth_new.html | 15 +- .../man3/EVP_CIPHER_meth_set_cleanup.html | 1 + .../html/man3/EVP_CIPHER_meth_set_ctrl.html | 1 + .../man3/EVP_CIPHER_meth_set_do_cipher.html | 1 + .../html/man3/EVP_CIPHER_meth_set_flags.html | 1 + .../EVP_CIPHER_meth_set_get_asn1_params.html | 1 + .../EVP_CIPHER_meth_set_impl_ctx_size.html | 1 + .../html/man3/EVP_CIPHER_meth_set_init.html | 1 + .../man3/EVP_CIPHER_meth_set_iv_length.html | 1 + .../EVP_CIPHER_meth_set_set_asn1_params.html | 1 + .../openssl/html/man3/EVP_CIPHER_mode.html | 1 + .../doc/openssl/html/man3/EVP_CIPHER_nid.html | 1 + .../html/man3/EVP_CIPHER_param_to_asn1.html | 1 + .../openssl/html/man3/EVP_CIPHER_type.html | 1 + .../openssl/html/man3/EVP_CipherFinal.html | 1 + .../openssl/html/man3/EVP_CipherFinal_ex.html | 1 + .../doc/openssl/html/man3/EVP_CipherInit.html | 1 + .../openssl/html/man3/EVP_CipherInit_ex.html | 1 + .../openssl/html/man3/EVP_CipherUpdate.html | 1 + .../openssl/html/man3/EVP_DecodeBlock.html | 1 + .../openssl/html/man3/EVP_DecodeFinal.html | 1 + .../doc/openssl/html/man3/EVP_DecodeInit.html | 1 + .../openssl/html/man3/EVP_DecodeUpdate.html | 1 + .../openssl/html/man3/EVP_DecryptFinal.html | 1 + .../html/man3/EVP_DecryptFinal_ex.html | 1 + .../openssl/html/man3/EVP_DecryptInit.html | 1 + .../openssl/html/man3/EVP_DecryptInit_ex.html | 1 + .../openssl/html/man3/EVP_DecryptUpdate.html | 1 + .../doc/openssl/html/man3/EVP_Digest.html | 1 + .../openssl/html/man3/EVP_DigestFinal.html | 1 + .../openssl/html/man3/EVP_DigestFinalXOF.html | 1 + .../openssl/html/man3/EVP_DigestFinal_ex.html | 1 + .../doc/openssl/html/man3/EVP_DigestInit.html | 234 +--- .../openssl/html/man3/EVP_DigestInit_ex.html | 1 + .../doc/openssl/html/man3/EVP_DigestSign.html | 1 + .../html/man3/EVP_DigestSignFinal.html | 1 + .../openssl/html/man3/EVP_DigestSignInit.html | 90 +- .../html/man3/EVP_DigestSignUpdate.html | 1 + .../openssl/html/man3/EVP_DigestUpdate.html | 1 + .../openssl/html/man3/EVP_DigestVerify.html | 1 + .../html/man3/EVP_DigestVerifyFinal.html | 1 + .../html/man3/EVP_DigestVerifyInit.html | 114 +- .../html/man3/EVP_DigestVerifyUpdate.html | 1 + .../html/man3/EVP_ENCODE_CTX_copy.html | 1 + .../html/man3/EVP_ENCODE_CTX_free.html | 1 + .../openssl/html/man3/EVP_ENCODE_CTX_new.html | 1 + .../openssl/html/man3/EVP_ENCODE_CTX_num.html | 1 + .../openssl/html/man3/EVP_EncodeBlock.html | 1 + .../openssl/html/man3/EVP_EncodeFinal.html | 1 + .../doc/openssl/html/man3/EVP_EncodeInit.html | 2 +- .../openssl/html/man3/EVP_EncodeUpdate.html | 1 + .../openssl/html/man3/EVP_EncryptFinal.html | 1 + .../html/man3/EVP_EncryptFinal_ex.html | 1 + .../openssl/html/man3/EVP_EncryptInit.html | 208 +--- .../openssl/html/man3/EVP_EncryptInit_ex.html | 1 + .../openssl/html/man3/EVP_EncryptUpdate.html | 1 + .../html/man3/EVP_MD_CTX_block_size.html | 1 + .../html/man3/EVP_MD_CTX_clear_flags.html | 1 + .../openssl/html/man3/EVP_MD_CTX_copy.html | 1 + .../openssl/html/man3/EVP_MD_CTX_copy_ex.html | 1 + .../openssl/html/man3/EVP_MD_CTX_ctrl.html | 1 + .../openssl/html/man3/EVP_MD_CTX_free.html | 1 + .../doc/openssl/html/man3/EVP_MD_CTX_md.html | 1 + .../openssl/html/man3/EVP_MD_CTX_md_data.html | 1 + .../doc/openssl/html/man3/EVP_MD_CTX_new.html | 1 + .../html/man3/EVP_MD_CTX_pkey_ctx.html | 1 + .../openssl/html/man3/EVP_MD_CTX_reset.html | 1 + .../html/man3/EVP_MD_CTX_set_flags.html | 1 + .../html/man3/EVP_MD_CTX_set_pkey_ctx.html | 1 + .../html/man3/EVP_MD_CTX_set_update_fn.html | 1 + .../openssl/html/man3/EVP_MD_CTX_size.html | 1 + .../html/man3/EVP_MD_CTX_test_flags.html | 1 + .../openssl/html/man3/EVP_MD_CTX_type.html | 1 + .../html/man3/EVP_MD_CTX_update_fn.html | 1 + .../openssl/html/man3/EVP_MD_block_size.html | 1 + .../doc/openssl/html/man3/EVP_MD_flags.html | 1 + .../openssl/html/man3/EVP_MD_meth_dup.html | 1 + .../openssl/html/man3/EVP_MD_meth_free.html | 1 + .../man3/EVP_MD_meth_get_app_datasize.html | 1 + .../html/man3/EVP_MD_meth_get_cleanup.html | 1 + .../html/man3/EVP_MD_meth_get_copy.html | 1 + .../html/man3/EVP_MD_meth_get_ctrl.html | 1 + .../html/man3/EVP_MD_meth_get_final.html | 1 + .../html/man3/EVP_MD_meth_get_flags.html | 1 + .../html/man3/EVP_MD_meth_get_init.html | 1 + .../man3/EVP_MD_meth_get_input_blocksize.html | 1 + .../man3/EVP_MD_meth_get_result_size.html | 1 + .../html/man3/EVP_MD_meth_get_update.html | 1 + .../openssl/html/man3/EVP_MD_meth_new.html | 19 +- .../man3/EVP_MD_meth_set_app_datasize.html | 1 + .../html/man3/EVP_MD_meth_set_cleanup.html | 1 + .../html/man3/EVP_MD_meth_set_copy.html | 1 + .../html/man3/EVP_MD_meth_set_ctrl.html | 1 + .../html/man3/EVP_MD_meth_set_final.html | 1 + .../html/man3/EVP_MD_meth_set_flags.html | 1 + .../html/man3/EVP_MD_meth_set_init.html | 1 + .../man3/EVP_MD_meth_set_input_blocksize.html | 1 + .../man3/EVP_MD_meth_set_result_size.html | 1 + .../html/man3/EVP_MD_meth_set_update.html | 1 + .../openssl/html/man3/EVP_MD_pkey_type.html | 1 + .../doc/openssl/html/man3/EVP_MD_size.html | 1 + .../doc/openssl/html/man3/EVP_MD_type.html | 1 + .../doc/openssl/html/man3/EVP_OpenFinal.html | 1 + .../doc/openssl/html/man3/EVP_OpenInit.html | 2 +- .../doc/openssl/html/man3/EVP_OpenUpdate.html | 1 + .../html/man3/EVP_PKEY_ASN1_METHOD.html | 11 +- .../man3/EVP_PKEY_CTX_add1_hkdf_info.html | 1 + .../man3/EVP_PKEY_CTX_add1_tls1_prf_seed.html | 1 + .../openssl/html/man3/EVP_PKEY_CTX_ctrl.html | 390 ++---- .../html/man3/EVP_PKEY_CTX_ctrl_str.html | 1 + .../html/man3/EVP_PKEY_CTX_ctrl_uint64.html | 1 + .../openssl/html/man3/EVP_PKEY_CTX_dup.html | 1 + .../openssl/html/man3/EVP_PKEY_CTX_free.html | 1 + .../man3/EVP_PKEY_CTX_get0_dh_kdf_oid.html | 1 + .../man3/EVP_PKEY_CTX_get0_dh_kdf_ukm.html | 1 + .../man3/EVP_PKEY_CTX_get0_ecdh_kdf_ukm.html | 1 + .../EVP_PKEY_CTX_get0_rsa_oaep_label.html | 1 + .../html/man3/EVP_PKEY_CTX_get1_id.html | 1 + .../html/man3/EVP_PKEY_CTX_get1_id_len.html | 1 + .../html/man3/EVP_PKEY_CTX_get_app_data.html | 1 + .../html/man3/EVP_PKEY_CTX_get_cb.html | 1 + .../html/man3/EVP_PKEY_CTX_get_dh_kdf_md.html | 1 + .../man3/EVP_PKEY_CTX_get_dh_kdf_outlen.html | 1 + .../man3/EVP_PKEY_CTX_get_dh_kdf_type.html | 1 + .../EVP_PKEY_CTX_get_ecdh_cofactor_mode.html | 1 + .../man3/EVP_PKEY_CTX_get_ecdh_kdf_md.html | 1 + .../EVP_PKEY_CTX_get_ecdh_kdf_outlen.html | 1 + .../man3/EVP_PKEY_CTX_get_ecdh_kdf_type.html | 1 + .../man3/EVP_PKEY_CTX_get_keygen_info.html | 1 + .../man3/EVP_PKEY_CTX_get_rsa_mgf1_md.html | 1 + .../man3/EVP_PKEY_CTX_get_rsa_oaep_md.html | 1 + .../man3/EVP_PKEY_CTX_get_rsa_padding.html | 1 + .../EVP_PKEY_CTX_get_rsa_pss_saltlen.html | 1 + .../man3/EVP_PKEY_CTX_get_signature_md.html | 1 + .../html/man3/EVP_PKEY_CTX_hkdf_mode.html | 1 + .../openssl/html/man3/EVP_PKEY_CTX_md.html | 1 + .../openssl/html/man3/EVP_PKEY_CTX_new.html | 55 +- .../html/man3/EVP_PKEY_CTX_new_id.html | 1 + .../man3/EVP_PKEY_CTX_set0_dh_kdf_oid.html | 1 + .../man3/EVP_PKEY_CTX_set0_dh_kdf_ukm.html | 1 + .../man3/EVP_PKEY_CTX_set0_ecdh_kdf_ukm.html | 1 + .../EVP_PKEY_CTX_set0_rsa_oaep_label.html | 1 + .../html/man3/EVP_PKEY_CTX_set1_hkdf_key.html | 1 + .../man3/EVP_PKEY_CTX_set1_hkdf_salt.html | 1 + .../html/man3/EVP_PKEY_CTX_set1_id.html | 1 + .../html/man3/EVP_PKEY_CTX_set1_pbe_pass.html | 2 +- .../man3/EVP_PKEY_CTX_set1_scrypt_salt.html | 1 + .../EVP_PKEY_CTX_set1_tls1_prf_secret.html | 1 + .../html/man3/EVP_PKEY_CTX_set_app_data.html | 1 + .../html/man3/EVP_PKEY_CTX_set_cb.html | 1 + .../html/man3/EVP_PKEY_CTX_set_dh_kdf_md.html | 1 + .../man3/EVP_PKEY_CTX_set_dh_kdf_outlen.html | 1 + .../man3/EVP_PKEY_CTX_set_dh_kdf_type.html | 1 + .../html/man3/EVP_PKEY_CTX_set_dh_nid.html | 1 + .../html/man3/EVP_PKEY_CTX_set_dh_pad.html | 1 + ...VP_PKEY_CTX_set_dh_paramgen_generator.html | 1 + ...VP_PKEY_CTX_set_dh_paramgen_prime_len.html | 1 + ...PKEY_CTX_set_dh_paramgen_subprime_len.html | 1 + .../EVP_PKEY_CTX_set_dh_paramgen_type.html | 1 + .../man3/EVP_PKEY_CTX_set_dh_rfc5114.html | 1 + .../man3/EVP_PKEY_CTX_set_dhx_rfc5114.html | 1 + .../EVP_PKEY_CTX_set_dsa_paramgen_bits.html | 1 + .../EVP_PKEY_CTX_set_dsa_paramgen_md.html | 1 + .../EVP_PKEY_CTX_set_dsa_paramgen_q_bits.html | 1 + .../man3/EVP_PKEY_CTX_set_ec_param_enc.html | 1 + ...VP_PKEY_CTX_set_ec_paramgen_curve_nid.html | 1 + .../EVP_PKEY_CTX_set_ecdh_cofactor_mode.html | 1 + .../man3/EVP_PKEY_CTX_set_ecdh_kdf_md.html | 1 + .../EVP_PKEY_CTX_set_ecdh_kdf_outlen.html | 1 + .../man3/EVP_PKEY_CTX_set_ecdh_kdf_type.html | 1 + .../html/man3/EVP_PKEY_CTX_set_hkdf_md.html | 4 +- .../html/man3/EVP_PKEY_CTX_set_mac_key.html | 1 + .../EVP_PKEY_CTX_set_rsa_keygen_bits.html | 1 + .../EVP_PKEY_CTX_set_rsa_keygen_primes.html | 1 + .../EVP_PKEY_CTX_set_rsa_keygen_pubexp.html | 1 + .../man3/EVP_PKEY_CTX_set_rsa_mgf1_md.html | 1 + .../man3/EVP_PKEY_CTX_set_rsa_oaep_md.html | 1 + .../man3/EVP_PKEY_CTX_set_rsa_padding.html | 1 + .../EVP_PKEY_CTX_set_rsa_pss_keygen_md.html | 10 +- ...P_PKEY_CTX_set_rsa_pss_keygen_mgf1_md.html | 1 + ...P_PKEY_CTX_set_rsa_pss_keygen_saltlen.html | 1 + .../EVP_PKEY_CTX_set_rsa_pss_saltlen.html | 1 + .../html/man3/EVP_PKEY_CTX_set_scrypt_N.html | 8 +- .../EVP_PKEY_CTX_set_scrypt_maxmem_bytes.html | 1 + .../html/man3/EVP_PKEY_CTX_set_scrypt_p.html | 1 + .../html/man3/EVP_PKEY_CTX_set_scrypt_r.html | 1 + .../man3/EVP_PKEY_CTX_set_signature_md.html | 1 + .../man3/EVP_PKEY_CTX_set_tls1_prf_md.html | 4 +- .../openssl/html/man3/EVP_PKEY_METHOD.html | 1 + .../openssl/html/man3/EVP_PKEY_asn1_add0.html | 1 + .../html/man3/EVP_PKEY_asn1_add_alias.html | 1 + .../openssl/html/man3/EVP_PKEY_asn1_copy.html | 1 + .../openssl/html/man3/EVP_PKEY_asn1_find.html | 1 + .../html/man3/EVP_PKEY_asn1_find_str.html | 1 + .../openssl/html/man3/EVP_PKEY_asn1_free.html | 1 + .../openssl/html/man3/EVP_PKEY_asn1_get0.html | 1 + .../html/man3/EVP_PKEY_asn1_get0_info.html | 1 + .../html/man3/EVP_PKEY_asn1_get_count.html | 4 +- .../openssl/html/man3/EVP_PKEY_asn1_new.html | 1 + .../html/man3/EVP_PKEY_asn1_set_check.html | 1 + .../html/man3/EVP_PKEY_asn1_set_ctrl.html | 1 + .../html/man3/EVP_PKEY_asn1_set_free.html | 1 + .../man3/EVP_PKEY_asn1_set_get_priv_key.html | 1 + .../man3/EVP_PKEY_asn1_set_get_pub_key.html | 1 + .../html/man3/EVP_PKEY_asn1_set_item.html | 1 + .../html/man3/EVP_PKEY_asn1_set_param.html | 1 + .../man3/EVP_PKEY_asn1_set_param_check.html | 1 + .../html/man3/EVP_PKEY_asn1_set_private.html | 1 + .../html/man3/EVP_PKEY_asn1_set_public.html | 1 + .../man3/EVP_PKEY_asn1_set_public_check.html | 1 + .../man3/EVP_PKEY_asn1_set_security_bits.html | 1 + .../man3/EVP_PKEY_asn1_set_set_priv_key.html | 1 + .../man3/EVP_PKEY_asn1_set_set_pub_key.html | 1 + .../html/man3/EVP_PKEY_asn1_set_siginf.html | 1 + .../openssl/html/man3/EVP_PKEY_assign_DH.html | 1 + .../html/man3/EVP_PKEY_assign_DSA.html | 1 + .../html/man3/EVP_PKEY_assign_EC_KEY.html | 1 + .../html/man3/EVP_PKEY_assign_POLY1305.html | 1 + .../html/man3/EVP_PKEY_assign_RSA.html | 1 + .../html/man3/EVP_PKEY_assign_SIPHASH.html | 1 + .../openssl/html/man3/EVP_PKEY_base_id.html | 1 + .../doc/openssl/html/man3/EVP_PKEY_cmp.html | 2 +- .../html/man3/EVP_PKEY_cmp_parameters.html | 1 + .../html/man3/EVP_PKEY_copy_parameters.html | 1 + .../openssl/html/man3/EVP_PKEY_decrypt.html | 4 +- .../html/man3/EVP_PKEY_decrypt_init.html | 1 + .../openssl/html/man3/EVP_PKEY_derive.html | 44 +- .../html/man3/EVP_PKEY_derive_init.html | 1 + .../html/man3/EVP_PKEY_derive_set_peer.html | 1 + .../openssl/html/man3/EVP_PKEY_encrypt.html | 4 +- .../html/man3/EVP_PKEY_encrypt_init.html | 1 + .../doc/openssl/html/man3/EVP_PKEY_free.html | 1 + .../openssl/html/man3/EVP_PKEY_gen_cb.html | 1 + .../openssl/html/man3/EVP_PKEY_get0_DH.html | 1 + .../openssl/html/man3/EVP_PKEY_get0_DSA.html | 1 + .../html/man3/EVP_PKEY_get0_EC_KEY.html | 1 + .../openssl/html/man3/EVP_PKEY_get0_RSA.html | 1 + .../openssl/html/man3/EVP_PKEY_get0_asn1.html | 1 + .../html/man3/EVP_PKEY_get0_engine.html | 1 + .../openssl/html/man3/EVP_PKEY_get0_hmac.html | 1 + .../html/man3/EVP_PKEY_get0_poly1305.html | 1 + .../html/man3/EVP_PKEY_get0_siphash.html | 1 + .../openssl/html/man3/EVP_PKEY_get1_DH.html | 1 + .../openssl/html/man3/EVP_PKEY_get1_DSA.html | 1 + .../html/man3/EVP_PKEY_get1_EC_KEY.html | 1 + .../openssl/html/man3/EVP_PKEY_get1_RSA.html | 1 + .../man3/EVP_PKEY_get_default_digest_nid.html | 40 +- .../man3/EVP_PKEY_get_raw_private_key.html | 1 + .../man3/EVP_PKEY_get_raw_public_key.html | 1 + .../doc/openssl/html/man3/EVP_PKEY_id.html | 1 + .../openssl/html/man3/EVP_PKEY_keygen.html | 23 +- .../html/man3/EVP_PKEY_keygen_init.html | 1 + .../openssl/html/man3/EVP_PKEY_meth_add0.html | 1 + .../openssl/html/man3/EVP_PKEY_meth_copy.html | 1 + .../openssl/html/man3/EVP_PKEY_meth_find.html | 1 + .../openssl/html/man3/EVP_PKEY_meth_free.html | 1 + .../openssl/html/man3/EVP_PKEY_meth_get0.html | 1 + .../html/man3/EVP_PKEY_meth_get0_info.html | 1 + .../html/man3/EVP_PKEY_meth_get_check.html | 1 + .../html/man3/EVP_PKEY_meth_get_cleanup.html | 1 + .../html/man3/EVP_PKEY_meth_get_copy.html | 1 + .../html/man3/EVP_PKEY_meth_get_count.html | 2 +- .../html/man3/EVP_PKEY_meth_get_ctrl.html | 1 + .../html/man3/EVP_PKEY_meth_get_decrypt.html | 1 + .../html/man3/EVP_PKEY_meth_get_derive.html | 1 + .../man3/EVP_PKEY_meth_get_digest_custom.html | 1 + .../man3/EVP_PKEY_meth_get_digestsign.html | 1 + .../man3/EVP_PKEY_meth_get_digestverify.html | 1 + .../html/man3/EVP_PKEY_meth_get_encrypt.html | 1 + .../html/man3/EVP_PKEY_meth_get_init.html | 1 + .../html/man3/EVP_PKEY_meth_get_keygen.html | 1 + .../man3/EVP_PKEY_meth_get_param_check.html | 1 + .../html/man3/EVP_PKEY_meth_get_paramgen.html | 1 + .../man3/EVP_PKEY_meth_get_public_check.html | 1 + .../html/man3/EVP_PKEY_meth_get_sign.html | 1 + .../html/man3/EVP_PKEY_meth_get_signctx.html | 1 + .../html/man3/EVP_PKEY_meth_get_verify.html | 1 + .../EVP_PKEY_meth_get_verify_recover.html | 1 + .../man3/EVP_PKEY_meth_get_verifyctx.html | 1 + .../openssl/html/man3/EVP_PKEY_meth_new.html | 4 +- .../html/man3/EVP_PKEY_meth_remove.html | 1 + .../html/man3/EVP_PKEY_meth_set_check.html | 1 + .../html/man3/EVP_PKEY_meth_set_cleanup.html | 1 + .../html/man3/EVP_PKEY_meth_set_copy.html | 1 + .../html/man3/EVP_PKEY_meth_set_ctrl.html | 1 + .../html/man3/EVP_PKEY_meth_set_decrypt.html | 1 + .../html/man3/EVP_PKEY_meth_set_derive.html | 1 + .../man3/EVP_PKEY_meth_set_digest_custom.html | 1 + .../man3/EVP_PKEY_meth_set_digestsign.html | 1 + .../man3/EVP_PKEY_meth_set_digestverify.html | 1 + .../html/man3/EVP_PKEY_meth_set_encrypt.html | 1 + .../html/man3/EVP_PKEY_meth_set_init.html | 1 + .../html/man3/EVP_PKEY_meth_set_keygen.html | 1 + .../man3/EVP_PKEY_meth_set_param_check.html | 1 + .../html/man3/EVP_PKEY_meth_set_paramgen.html | 1 + .../man3/EVP_PKEY_meth_set_public_check.html | 1 + .../html/man3/EVP_PKEY_meth_set_sign.html | 1 + .../html/man3/EVP_PKEY_meth_set_signctx.html | 1 + .../html/man3/EVP_PKEY_meth_set_verify.html | 1 + .../EVP_PKEY_meth_set_verify_recover.html | 1 + .../man3/EVP_PKEY_meth_set_verifyctx.html | 1 + .../man3/EVP_PKEY_missing_parameters.html | 1 + .../doc/openssl/html/man3/EVP_PKEY_new.html | 10 +- .../html/man3/EVP_PKEY_new_CMAC_key.html | 1 + .../html/man3/EVP_PKEY_new_mac_key.html | 1 + .../man3/EVP_PKEY_new_raw_private_key.html | 1 + .../man3/EVP_PKEY_new_raw_public_key.html | 1 + .../html/man3/EVP_PKEY_param_check.html | 1 + .../openssl/html/man3/EVP_PKEY_paramgen.html | 1 + .../html/man3/EVP_PKEY_paramgen_init.html | 1 + .../html/man3/EVP_PKEY_print_params.html | 1 + .../html/man3/EVP_PKEY_print_private.html | 2 +- .../html/man3/EVP_PKEY_print_public.html | 1 + .../html/man3/EVP_PKEY_public_check.html | 1 + .../html/man3/EVP_PKEY_security_bits.html | 1 + .../openssl/html/man3/EVP_PKEY_set1_DH.html | 1 + .../openssl/html/man3/EVP_PKEY_set1_DSA.html | 1 + .../html/man3/EVP_PKEY_set1_EC_KEY.html | 1 + .../openssl/html/man3/EVP_PKEY_set1_RSA.html | 25 +- .../html/man3/EVP_PKEY_set1_engine.html | 1 + .../html/man3/EVP_PKEY_set_alias_type.html | 1 + .../doc/openssl/html/man3/EVP_PKEY_sign.html | 26 +- .../openssl/html/man3/EVP_PKEY_sign_init.html | 1 + .../doc/openssl/html/man3/EVP_PKEY_type.html | 1 + .../openssl/html/man3/EVP_PKEY_up_ref.html | 1 + .../openssl/html/man3/EVP_PKEY_verify.html | 20 +- .../html/man3/EVP_PKEY_verify_init.html | 1 + .../html/man3/EVP_PKEY_verify_recover.html | 26 +- .../man3/EVP_PKEY_verify_recover_init.html | 1 + .../doc/openssl/html/man3/EVP_SealFinal.html | 1 + .../doc/openssl/html/man3/EVP_SealInit.html | 4 +- .../doc/openssl/html/man3/EVP_SealUpdate.html | 1 + .../doc/openssl/html/man3/EVP_SignFinal.html | 1 + .../doc/openssl/html/man3/EVP_SignInit.html | 46 +- .../openssl/html/man3/EVP_SignInit_ex.html | 1 + .../doc/openssl/html/man3/EVP_SignUpdate.html | 1 + .../openssl/html/man3/EVP_VerifyFinal.html | 1 + .../doc/openssl/html/man3/EVP_VerifyInit.html | 6 +- .../openssl/html/man3/EVP_VerifyInit_ex.html | 1 + .../openssl/html/man3/EVP_VerifyUpdate.html | 1 + .../share/doc/openssl/html/man3/EVP_aes.html | 221 ++++ .../openssl/html/man3/EVP_aes_128_cbc.html | 1 + .../html/man3/EVP_aes_128_cbc_hmac_sha1.html | 1 + .../man3/EVP_aes_128_cbc_hmac_sha256.html | 1 + .../openssl/html/man3/EVP_aes_128_ccm.html | 1 + .../openssl/html/man3/EVP_aes_128_cfb.html | 1 + .../openssl/html/man3/EVP_aes_128_cfb1.html | 1 + .../openssl/html/man3/EVP_aes_128_cfb128.html | 1 + .../openssl/html/man3/EVP_aes_128_cfb8.html | 1 + .../openssl/html/man3/EVP_aes_128_ctr.html | 1 + .../openssl/html/man3/EVP_aes_128_ecb.html | 1 + .../openssl/html/man3/EVP_aes_128_ocb.html | 1 + .../openssl/html/man3/EVP_aes_128_ofb.html | 1 + .../openssl/html/man3/EVP_aes_128_wrap.html | 1 + .../html/man3/EVP_aes_128_wrap_pad.html | 1 + .../openssl/html/man3/EVP_aes_128_xts.html | 1 + .../openssl/html/man3/EVP_aes_192_cbc.html | 1 + .../openssl/html/man3/EVP_aes_192_ccm.html | 1 + .../openssl/html/man3/EVP_aes_192_cfb.html | 1 + .../openssl/html/man3/EVP_aes_192_cfb1.html | 1 + .../openssl/html/man3/EVP_aes_192_cfb128.html | 1 + .../openssl/html/man3/EVP_aes_192_cfb8.html | 1 + .../openssl/html/man3/EVP_aes_192_ctr.html | 1 + .../openssl/html/man3/EVP_aes_192_ecb.html | 1 + .../openssl/html/man3/EVP_aes_192_gcm.html | 1 + .../openssl/html/man3/EVP_aes_192_ocb.html | 1 + .../openssl/html/man3/EVP_aes_192_ofb.html | 1 + .../openssl/html/man3/EVP_aes_192_wrap.html | 1 + .../html/man3/EVP_aes_192_wrap_pad.html | 1 + .../openssl/html/man3/EVP_aes_256_cbc.html | 1 + .../html/man3/EVP_aes_256_cbc_hmac_sha1.html | 1 + .../man3/EVP_aes_256_cbc_hmac_sha256.html | 1 + .../openssl/html/man3/EVP_aes_256_ccm.html | 1 + .../openssl/html/man3/EVP_aes_256_cfb.html | 1 + .../openssl/html/man3/EVP_aes_256_cfb1.html | 1 + .../openssl/html/man3/EVP_aes_256_cfb128.html | 1 + .../openssl/html/man3/EVP_aes_256_cfb8.html | 1 + .../openssl/html/man3/EVP_aes_256_ctr.html | 1 + .../openssl/html/man3/EVP_aes_256_ecb.html | 1 + .../openssl/html/man3/EVP_aes_256_gcm.html | 1 + .../openssl/html/man3/EVP_aes_256_ocb.html | 1 + .../openssl/html/man3/EVP_aes_256_ofb.html | 1 + .../openssl/html/man3/EVP_aes_256_wrap.html | 1 + .../html/man3/EVP_aes_256_wrap_pad.html | 1 + .../openssl/html/man3/EVP_aes_256_xts.html | 1 + .../share/doc/openssl/html/man3/EVP_aria.html | 150 +++ .../openssl/html/man3/EVP_aria_128_cbc.html | 1 + .../openssl/html/man3/EVP_aria_128_ccm.html | 1 + .../openssl/html/man3/EVP_aria_128_cfb.html | 1 + .../openssl/html/man3/EVP_aria_128_cfb1.html | 1 + .../html/man3/EVP_aria_128_cfb128.html | 1 + .../openssl/html/man3/EVP_aria_128_cfb8.html | 1 + .../openssl/html/man3/EVP_aria_128_ctr.html | 1 + .../openssl/html/man3/EVP_aria_128_ecb.html | 1 + .../openssl/html/man3/EVP_aria_128_ofb.html | 1 + .../openssl/html/man3/EVP_aria_192_cbc.html | 1 + .../openssl/html/man3/EVP_aria_192_ccm.html | 1 + .../openssl/html/man3/EVP_aria_192_cfb.html | 1 + .../openssl/html/man3/EVP_aria_192_cfb1.html | 1 + .../html/man3/EVP_aria_192_cfb128.html | 1 + .../openssl/html/man3/EVP_aria_192_cfb8.html | 1 + .../openssl/html/man3/EVP_aria_192_ctr.html | 1 + .../openssl/html/man3/EVP_aria_192_ecb.html | 1 + .../openssl/html/man3/EVP_aria_192_gcm.html | 1 + .../openssl/html/man3/EVP_aria_192_ofb.html | 1 + .../openssl/html/man3/EVP_aria_256_cbc.html | 1 + .../openssl/html/man3/EVP_aria_256_ccm.html | 1 + .../openssl/html/man3/EVP_aria_256_cfb.html | 1 + .../openssl/html/man3/EVP_aria_256_cfb1.html | 1 + .../html/man3/EVP_aria_256_cfb128.html | 1 + .../openssl/html/man3/EVP_aria_256_cfb8.html | 1 + .../openssl/html/man3/EVP_aria_256_ctr.html | 1 + .../openssl/html/man3/EVP_aria_256_ecb.html | 1 + .../openssl/html/man3/EVP_aria_256_gcm.html | 1 + .../openssl/html/man3/EVP_aria_256_ofb.html | 1 + .../doc/openssl/html/man3/EVP_bf_cbc.html | 2 +- .../doc/openssl/html/man3/EVP_bf_cfb.html | 1 + .../doc/openssl/html/man3/EVP_bf_cfb64.html | 1 + .../doc/openssl/html/man3/EVP_bf_ecb.html | 1 + .../doc/openssl/html/man3/EVP_bf_ofb.html | 1 + .../doc/openssl/html/man3/EVP_blake2b512.html | 2 +- .../doc/openssl/html/man3/EVP_blake2s256.html | 1 + .../doc/openssl/html/man3/EVP_camellia.html | 132 +++ .../html/man3/EVP_camellia_128_cbc.html | 1 + .../html/man3/EVP_camellia_128_cfb.html | 1 + .../html/man3/EVP_camellia_128_cfb1.html | 1 + .../html/man3/EVP_camellia_128_cfb128.html | 1 + .../html/man3/EVP_camellia_128_cfb8.html | 1 + .../html/man3/EVP_camellia_128_ctr.html | 1 + .../html/man3/EVP_camellia_128_ofb.html | 1 + .../html/man3/EVP_camellia_192_cbc.html | 1 + .../html/man3/EVP_camellia_192_cfb.html | 1 + .../html/man3/EVP_camellia_192_cfb1.html | 1 + .../html/man3/EVP_camellia_192_cfb128.html | 1 + .../html/man3/EVP_camellia_192_cfb8.html | 1 + .../html/man3/EVP_camellia_192_ctr.html | 1 + .../html/man3/EVP_camellia_192_ecb.html | 1 + .../html/man3/EVP_camellia_192_ofb.html | 1 + .../html/man3/EVP_camellia_256_cbc.html | 1 + .../html/man3/EVP_camellia_256_cfb.html | 1 + .../html/man3/EVP_camellia_256_cfb1.html | 1 + .../html/man3/EVP_camellia_256_cfb128.html | 1 + .../html/man3/EVP_camellia_256_cfb8.html | 1 + .../html/man3/EVP_camellia_256_ctr.html | 1 + .../html/man3/EVP_camellia_256_ecb.html | 1 + .../html/man3/EVP_camellia_256_ofb.html | 1 + .../doc/openssl/html/man3/EVP_cast5_cbc.html | 2 +- .../doc/openssl/html/man3/EVP_cast5_cfb.html | 1 + .../openssl/html/man3/EVP_cast5_cfb64.html | 1 + .../doc/openssl/html/man3/EVP_cast5_ecb.html | 1 + .../doc/openssl/html/man3/EVP_cast5_ofb.html | 1 + .../doc/openssl/html/man3/EVP_chacha20.html | 4 +- .../html/man3/EVP_chacha20_poly1305.html | 1 + .../doc/openssl/html/man3/EVP_cleanup.html | 1 + .../share/doc/openssl/html/man3/EVP_des.html | 141 +++ .../doc/openssl/html/man3/EVP_des_cfb.html | 1 + .../doc/openssl/html/man3/EVP_des_cfb1.html | 1 + .../doc/openssl/html/man3/EVP_des_cfb64.html | 1 + .../doc/openssl/html/man3/EVP_des_cfb8.html | 1 + .../doc/openssl/html/man3/EVP_des_ecb.html | 1 + .../doc/openssl/html/man3/EVP_des_ede.html | 1 + .../doc/openssl/html/man3/EVP_des_ede3.html | 1 + .../openssl/html/man3/EVP_des_ede3_cbc.html | 1 + .../openssl/html/man3/EVP_des_ede3_cfb.html | 1 + .../openssl/html/man3/EVP_des_ede3_cfb1.html | 1 + .../openssl/html/man3/EVP_des_ede3_cfb64.html | 1 + .../openssl/html/man3/EVP_des_ede3_cfb8.html | 1 + .../openssl/html/man3/EVP_des_ede3_ecb.html | 1 + .../openssl/html/man3/EVP_des_ede3_ofb.html | 1 + .../openssl/html/man3/EVP_des_ede3_wrap.html | 1 + .../openssl/html/man3/EVP_des_ede_cbc.html | 1 + .../openssl/html/man3/EVP_des_ede_cfb.html | 1 + .../openssl/html/man3/EVP_des_ede_cfb64.html | 1 + .../openssl/html/man3/EVP_des_ede_ecb.html | 1 + .../openssl/html/man3/EVP_des_ede_ofb.html | 1 + .../doc/openssl/html/man3/EVP_des_ofb.html | 1 + .../doc/openssl/html/man3/EVP_desx_cbc.html | 2 +- .../doc/openssl/html/man3/EVP_enc_null.html | 1 + .../html/man3/EVP_get_cipherbyname.html | 1 + .../html/man3/EVP_get_cipherbynid.html | 1 + .../html/man3/EVP_get_cipherbyobj.html | 1 + .../html/man3/EVP_get_digestbyname.html | 1 + .../html/man3/EVP_get_digestbynid.html | 1 + .../html/man3/EVP_get_digestbyobj.html | 1 + .../doc/openssl/html/man3/EVP_idea_cbc.html | 2 +- .../doc/openssl/html/man3/EVP_idea_cfb.html | 1 + .../doc/openssl/html/man3/EVP_idea_cfb64.html | 1 + .../doc/openssl/html/man3/EVP_idea_ecb.html | 1 + .../doc/openssl/html/man3/EVP_idea_ofb.html | 1 + .../share/doc/openssl/html/man3/EVP_md2.html | 2 +- .../share/doc/openssl/html/man3/EVP_md4.html | 2 +- .../share/doc/openssl/html/man3/EVP_md5.html | 4 +- .../doc/openssl/html/man3/EVP_md5_sha1.html | 1 + .../doc/openssl/html/man3/EVP_md_null.html | 1 + .../share/doc/openssl/html/man3/EVP_mdc2.html | 2 +- .../doc/openssl/html/man3/EVP_rc2_40_cbc.html | 1 + .../doc/openssl/html/man3/EVP_rc2_64_cbc.html | 1 + .../doc/openssl/html/man3/EVP_rc2_cbc.html | 2 +- .../doc/openssl/html/man3/EVP_rc2_cfb.html | 1 + .../doc/openssl/html/man3/EVP_rc2_cfb64.html | 1 + .../doc/openssl/html/man3/EVP_rc2_ecb.html | 1 + .../doc/openssl/html/man3/EVP_rc2_ofb.html | 1 + .../share/doc/openssl/html/man3/EVP_rc4.html | 2 +- .../doc/openssl/html/man3/EVP_rc4_40.html | 1 + .../openssl/html/man3/EVP_rc4_hmac_md5.html | 1 + .../html/man3/EVP_rc5_32_12_16_cbc.html | 4 +- .../html/man3/EVP_rc5_32_12_16_cfb.html | 1 + .../html/man3/EVP_rc5_32_12_16_cfb64.html | 1 + .../html/man3/EVP_rc5_32_12_16_ecb.html | 1 + .../html/man3/EVP_rc5_32_12_16_ofb.html | 1 + .../doc/openssl/html/man3/EVP_ripemd160.html | 2 +- .../doc/openssl/html/man3/EVP_seed_cbc.html | 2 +- .../doc/openssl/html/man3/EVP_seed_cfb.html | 1 + .../openssl/html/man3/EVP_seed_cfb128.html | 1 + .../doc/openssl/html/man3/EVP_seed_ecb.html | 1 + .../doc/openssl/html/man3/EVP_seed_ofb.html | 1 + .../share/doc/openssl/html/man3/EVP_sha1.html | 2 +- .../doc/openssl/html/man3/EVP_sha224.html | 2 +- .../doc/openssl/html/man3/EVP_sha256.html | 1 + .../doc/openssl/html/man3/EVP_sha384.html | 1 + .../doc/openssl/html/man3/EVP_sha3_224.html | 2 +- .../doc/openssl/html/man3/EVP_sha3_256.html | 1 + .../doc/openssl/html/man3/EVP_sha3_384.html | 1 + .../doc/openssl/html/man3/EVP_sha3_512.html | 1 + .../doc/openssl/html/man3/EVP_sha512.html | 1 + .../doc/openssl/html/man3/EVP_sha512_224.html | 1 + .../doc/openssl/html/man3/EVP_sha512_256.html | 1 + .../doc/openssl/html/man3/EVP_shake128.html | 1 + .../doc/openssl/html/man3/EVP_shake256.html | 1 + .../share/doc/openssl/html/man3/EVP_sm3.html | 2 +- .../doc/openssl/html/man3/EVP_sm4_cbc.html | 2 +- .../doc/openssl/html/man3/EVP_sm4_cfb.html | 1 + .../doc/openssl/html/man3/EVP_sm4_cfb128.html | 1 + .../doc/openssl/html/man3/EVP_sm4_ctr.html | 1 + .../doc/openssl/html/man3/EVP_sm4_ecb.html | 1 + .../doc/openssl/html/man3/EVP_sm4_ofb.html | 1 + .../doc/openssl/html/man3/EVP_whirlpool.html | 2 +- .../html/man3/EXTENDED_KEY_USAGE_free.html | 1 + .../html/man3/EXTENDED_KEY_USAGE_new.html | 1 + .../openssl/html/man3/GENERAL_NAMES_free.html | 1 + .../openssl/html/man3/GENERAL_NAMES_new.html | 1 + .../openssl/html/man3/GENERAL_NAME_dup.html | 1 + .../openssl/html/man3/GENERAL_NAME_free.html | 1 + .../openssl/html/man3/GENERAL_NAME_new.html | 1 + .../html/man3/GENERAL_SUBTREE_free.html | 1 + .../html/man3/GENERAL_SUBTREE_new.html | 1 + .../doc/openssl/html/man3/GEN_SESSION_CB.html | 1 + .../share/doc/openssl/html/man3/HMAC.html | 21 +- .../doc/openssl/html/man3/HMAC_CTX_copy.html | 1 + .../doc/openssl/html/man3/HMAC_CTX_free.html | 1 + .../openssl/html/man3/HMAC_CTX_get_md.html | 1 + .../doc/openssl/html/man3/HMAC_CTX_new.html | 1 + .../doc/openssl/html/man3/HMAC_CTX_reset.html | 1 + .../openssl/html/man3/HMAC_CTX_set_flags.html | 1 + .../doc/openssl/html/man3/HMAC_Final.html | 1 + .../doc/openssl/html/man3/HMAC_Init.html | 1 + .../doc/openssl/html/man3/HMAC_Init_ex.html | 1 + .../doc/openssl/html/man3/HMAC_Update.html | 1 + .../doc/openssl/html/man3/HMAC_size.html | 1 + .../html/man3/IMPLEMENT_ASN1_FUNCTIONS.html | 1 + .../html/man3/IMPLEMENT_LHASH_COMP_FN.html | 1 + .../html/man3/IMPLEMENT_LHASH_HASH_FN.html | 1 + .../html/man3/IPAddressChoice_free.html | 1 + .../html/man3/IPAddressChoice_new.html | 1 + .../html/man3/IPAddressFamily_free.html | 1 + .../html/man3/IPAddressFamily_new.html | 1 + .../html/man3/IPAddressOrRange_free.html | 1 + .../html/man3/IPAddressOrRange_new.html | 1 + .../html/man3/IPAddressRange_free.html | 1 + .../openssl/html/man3/IPAddressRange_new.html | 1 + .../html/man3/ISSUING_DIST_POINT_free.html | 1 + .../html/man3/ISSUING_DIST_POINT_new.html | 1 + .../share/doc/openssl/html/man3/LHASH.html | 1 + .../html/man3/LHASH_DOALL_ARG_FN_TYPE.html | 1 + .../share/doc/openssl/html/man3/MD2.html | 1 + .../doc/openssl/html/man3/MD2_Final.html | 1 + .../share/doc/openssl/html/man3/MD2_Init.html | 1 + .../doc/openssl/html/man3/MD2_Update.html | 1 + .../share/doc/openssl/html/man3/MD4.html | 1 + .../doc/openssl/html/man3/MD4_Final.html | 1 + .../share/doc/openssl/html/man3/MD4_Init.html | 1 + .../doc/openssl/html/man3/MD4_Update.html | 1 + .../share/doc/openssl/html/man3/MD5.html | 20 +- .../doc/openssl/html/man3/MD5_Final.html | 1 + .../share/doc/openssl/html/man3/MD5_Init.html | 1 + .../doc/openssl/html/man3/MD5_Update.html | 1 + .../share/doc/openssl/html/man3/MDC2.html | 1 + .../doc/openssl/html/man3/MDC2_Final.html | 1 + .../doc/openssl/html/man3/MDC2_Init.html | 14 +- .../doc/openssl/html/man3/MDC2_Update.html | 1 + .../html/man3/NAME_CONSTRAINTS_free.html | 1 + .../html/man3/NAME_CONSTRAINTS_new.html | 1 + .../openssl/html/man3/NAMING_AUTHORITY.html | 1 + .../html/man3/NAMING_AUTHORITY_free.html | 1 + .../NAMING_AUTHORITY_get0_authorityId.html | 1 + .../NAMING_AUTHORITY_get0_authorityText.html | 1 + .../NAMING_AUTHORITY_get0_authorityURL.html | 1 + .../html/man3/NAMING_AUTHORITY_new.html | 1 + .../NAMING_AUTHORITY_set0_authorityId.html | 1 + .../NAMING_AUTHORITY_set0_authorityText.html | 1 + .../NAMING_AUTHORITY_set0_authorityURL.html | 1 + .../man3/NETSCAPE_CERT_SEQUENCE_free.html | 1 + .../html/man3/NETSCAPE_CERT_SEQUENCE_new.html | 1 + .../html/man3/NETSCAPE_SPKAC_free.html | 1 + .../openssl/html/man3/NETSCAPE_SPKAC_new.html | 1 + .../openssl/html/man3/NETSCAPE_SPKI_free.html | 1 + .../openssl/html/man3/NETSCAPE_SPKI_new.html | 1 + .../doc/openssl/html/man3/NOTICEREF_free.html | 1 + .../doc/openssl/html/man3/NOTICEREF_new.html | 1 + .../doc/openssl/html/man3/OBJ_cleanup.html | 1 + .../share/doc/openssl/html/man3/OBJ_cmp.html | 1 + .../doc/openssl/html/man3/OBJ_create.html | 1 + .../share/doc/openssl/html/man3/OBJ_dup.html | 1 + .../doc/openssl/html/man3/OBJ_get0_data.html | 1 + .../doc/openssl/html/man3/OBJ_length.html | 1 + .../doc/openssl/html/man3/OBJ_ln2nid.html | 1 + .../doc/openssl/html/man3/OBJ_nid2ln.html | 1 + .../doc/openssl/html/man3/OBJ_nid2obj.html | 12 +- .../doc/openssl/html/man3/OBJ_nid2sn.html | 1 + .../doc/openssl/html/man3/OBJ_obj2nid.html | 1 + .../doc/openssl/html/man3/OBJ_obj2txt.html | 1 + .../doc/openssl/html/man3/OBJ_sn2nid.html | 1 + .../doc/openssl/html/man3/OBJ_txt2nid.html | 1 + .../doc/openssl/html/man3/OBJ_txt2obj.html | 1 + .../html/man3/OCSP_BASICRESP_free.html | 1 + .../openssl/html/man3/OCSP_BASICRESP_new.html | 1 + .../openssl/html/man3/OCSP_CERTID_dup.html | 1 + .../openssl/html/man3/OCSP_CERTID_free.html | 1 + .../openssl/html/man3/OCSP_CERTID_new.html | 1 + .../html/man3/OCSP_CERTSTATUS_free.html | 1 + .../html/man3/OCSP_CERTSTATUS_new.html | 1 + .../openssl/html/man3/OCSP_CRLID_free.html | 1 + .../doc/openssl/html/man3/OCSP_CRLID_new.html | 1 + .../openssl/html/man3/OCSP_ONEREQ_free.html | 1 + .../openssl/html/man3/OCSP_ONEREQ_new.html | 1 + .../openssl/html/man3/OCSP_REQINFO_free.html | 1 + .../openssl/html/man3/OCSP_REQINFO_new.html | 1 + .../openssl/html/man3/OCSP_REQUEST_free.html | 1 + .../openssl/html/man3/OCSP_REQUEST_new.html | 4 +- .../html/man3/OCSP_REQ_CTX_add1_header.html | 1 + .../openssl/html/man3/OCSP_REQ_CTX_free.html | 1 + .../html/man3/OCSP_REQ_CTX_set1_req.html | 1 + .../html/man3/OCSP_RESPBYTES_free.html | 1 + .../openssl/html/man3/OCSP_RESPBYTES_new.html | 1 + .../openssl/html/man3/OCSP_RESPDATA_free.html | 1 + .../openssl/html/man3/OCSP_RESPDATA_new.html | 1 + .../openssl/html/man3/OCSP_RESPID_free.html | 1 + .../openssl/html/man3/OCSP_RESPID_match.html | 1 + .../openssl/html/man3/OCSP_RESPID_new.html | 1 + .../html/man3/OCSP_RESPID_set_by_key.html | 1 + .../html/man3/OCSP_RESPID_set_by_name.html | 1 + .../openssl/html/man3/OCSP_RESPONSE_free.html | 1 + .../openssl/html/man3/OCSP_RESPONSE_new.html | 1 + .../html/man3/OCSP_REVOKEDINFO_free.html | 1 + .../html/man3/OCSP_REVOKEDINFO_new.html | 1 + .../html/man3/OCSP_SERVICELOC_free.html | 1 + .../html/man3/OCSP_SERVICELOC_new.html | 1 + .../html/man3/OCSP_SIGNATURE_free.html | 1 + .../openssl/html/man3/OCSP_SIGNATURE_new.html | 1 + .../html/man3/OCSP_SINGLERESP_free.html | 1 + .../html/man3/OCSP_SINGLERESP_new.html | 1 + .../html/man3/OCSP_basic_add1_nonce.html | 1 + .../openssl/html/man3/OCSP_basic_sign.html | 1 + .../html/man3/OCSP_basic_sign_ctx.html | 1 + .../openssl/html/man3/OCSP_basic_verify.html | 1 + .../openssl/html/man3/OCSP_cert_id_new.html | 1 + .../openssl/html/man3/OCSP_cert_to_id.html | 6 +- .../openssl/html/man3/OCSP_check_nonce.html | 1 + .../html/man3/OCSP_check_validity.html | 1 + .../openssl/html/man3/OCSP_copy_nonce.html | 1 + .../doc/openssl/html/man3/OCSP_id_cmp.html | 1 + .../openssl/html/man3/OCSP_id_get0_info.html | 1 + .../openssl/html/man3/OCSP_id_issuer_cmp.html | 1 + .../html/man3/OCSP_request_add0_id.html | 1 + .../html/man3/OCSP_request_add1_cert.html | 1 + .../html/man3/OCSP_request_add1_nonce.html | 4 +- .../html/man3/OCSP_request_onereq_count.html | 1 + .../html/man3/OCSP_request_onereq_get0.html | 1 + .../openssl/html/man3/OCSP_request_sign.html | 1 + .../openssl/html/man3/OCSP_resp_count.html | 1 + .../doc/openssl/html/man3/OCSP_resp_find.html | 1 + .../html/man3/OCSP_resp_find_status.html | 6 +- .../doc/openssl/html/man3/OCSP_resp_get0.html | 1 + .../html/man3/OCSP_resp_get0_certs.html | 1 + .../openssl/html/man3/OCSP_resp_get0_id.html | 1 + .../html/man3/OCSP_resp_get0_produced_at.html | 1 + .../html/man3/OCSP_resp_get0_respdata.html | 1 + .../html/man3/OCSP_resp_get0_signature.html | 1 + .../html/man3/OCSP_resp_get0_signer.html | 1 + .../html/man3/OCSP_resp_get0_tbs_sigalg.html | 1 + .../openssl/html/man3/OCSP_resp_get1_id.html | 1 + .../html/man3/OCSP_response_create.html | 1 + .../html/man3/OCSP_response_get1_basic.html | 1 + .../html/man3/OCSP_response_status.html | 2 +- .../openssl/html/man3/OCSP_sendreq_bio.html | 1 + .../openssl/html/man3/OCSP_sendreq_nbio.html | 1 + .../openssl/html/man3/OCSP_sendreq_new.html | 46 +- .../man3/OCSP_set_max_response_length.html | 1 + .../html/man3/OCSP_single_get0_status.html | 1 + .../openssl/html/man3/OPENSSL_Applink.html | 2 +- .../openssl/html/man3/OPENSSL_INIT_free.html | 1 + .../openssl/html/man3/OPENSSL_INIT_new.html | 1 + .../man3/OPENSSL_INIT_set_config_appname.html | 1 + .../OPENSSL_INIT_set_config_file_flags.html | 1 + .../OPENSSL_INIT_set_config_filename.html | 1 + .../html/man3/OPENSSL_LH_COMPFUNC.html | 80 +- .../html/man3/OPENSSL_LH_DOALL_FUNC.html | 1 + .../html/man3/OPENSSL_LH_HASHFUNC.html | 1 + .../html/man3/OPENSSL_LH_node_stats.html | 1 + .../html/man3/OPENSSL_LH_node_stats_bio.html | 1 + .../man3/OPENSSL_LH_node_usage_stats.html | 1 + .../man3/OPENSSL_LH_node_usage_stats_bio.html | 1 + .../openssl/html/man3/OPENSSL_LH_stats.html | 2 +- .../html/man3/OPENSSL_LH_stats_bio.html | 1 + .../html/man3/OPENSSL_MALLOC_FAILURES.html | 1 + .../openssl/html/man3/OPENSSL_MALLOC_FD.html | 1 + .../html/man3/OPENSSL_VERSION_NUMBER.html | 144 +++ .../html/man3/OPENSSL_VERSION_TEXT.html | 1 + .../doc/openssl/html/man3/OPENSSL_atexit.html | 1 + .../openssl/html/man3/OPENSSL_buf2hexstr.html | 1 + .../html/man3/OPENSSL_cipher_name.html | 1 + .../openssl/html/man3/OPENSSL_cleanse.html | 1 + .../openssl/html/man3/OPENSSL_cleanup.html | 1 + .../openssl/html/man3/OPENSSL_clear_free.html | 1 + .../html/man3/OPENSSL_clear_realloc.html | 1 + .../doc/openssl/html/man3/OPENSSL_config.html | 9 +- .../openssl/html/man3/OPENSSL_fork_child.html | 1 + .../html/man3/OPENSSL_fork_parent.html | 1 + .../html/man3/OPENSSL_fork_prepare.html | 4 +- .../doc/openssl/html/man3/OPENSSL_free.html | 1 + .../openssl/html/man3/OPENSSL_hexstr2buf.html | 1 + .../openssl/html/man3/OPENSSL_ia32cap.html | 16 +- .../html/man3/OPENSSL_init_crypto.html | 42 +- .../openssl/html/man3/OPENSSL_init_ssl.html | 2 +- .../html/man3/OPENSSL_instrument_bus.html | 2 +- .../html/man3/OPENSSL_instrument_bus2.html | 1 + .../man3/OPENSSL_load_builtin_modules.html | 2 +- .../doc/openssl/html/man3/OPENSSL_malloc.html | 164 ++- .../html/man3/OPENSSL_malloc_init.html | 1 + .../html/man3/OPENSSL_mem_debug_pop.html | 1 + .../html/man3/OPENSSL_mem_debug_push.html | 1 + .../doc/openssl/html/man3/OPENSSL_memdup.html | 1 + .../openssl/html/man3/OPENSSL_no_config.html | 1 + .../openssl/html/man3/OPENSSL_realloc.html | 1 + .../html/man3/OPENSSL_secure_actual_size.html | 1 + .../html/man3/OPENSSL_secure_clear_free.html | 1 + .../html/man3/OPENSSL_secure_free.html | 1 + .../html/man3/OPENSSL_secure_malloc.html | 12 +- .../html/man3/OPENSSL_secure_zalloc.html | 1 + .../doc/openssl/html/man3/OPENSSL_strdup.html | 1 + .../openssl/html/man3/OPENSSL_strlcat.html | 1 + .../openssl/html/man3/OPENSSL_strlcpy.html | 1 + .../openssl/html/man3/OPENSSL_strndup.html | 1 + .../html/man3/OPENSSL_thread_stop.html | 1 + .../doc/openssl/html/man3/OPENSSL_zalloc.html | 1 + .../doc/openssl/html/man3/OSSL_STORE_CTX.html | 1 + .../openssl/html/man3/OSSL_STORE_INFO.html | 2 +- .../html/man3/OSSL_STORE_INFO_free.html | 1 + .../html/man3/OSSL_STORE_INFO_get0_CERT.html | 1 + .../html/man3/OSSL_STORE_INFO_get0_CRL.html | 1 + .../html/man3/OSSL_STORE_INFO_get0_NAME.html | 1 + ...OSSL_STORE_INFO_get0_NAME_description.html | 1 + .../man3/OSSL_STORE_INFO_get0_PARAMS.html | 1 + .../html/man3/OSSL_STORE_INFO_get0_PKEY.html | 1 + .../html/man3/OSSL_STORE_INFO_get1_CERT.html | 1 + .../html/man3/OSSL_STORE_INFO_get1_CRL.html | 1 + .../html/man3/OSSL_STORE_INFO_get1_NAME.html | 1 + ...OSSL_STORE_INFO_get1_NAME_description.html | 1 + .../man3/OSSL_STORE_INFO_get1_PARAMS.html | 1 + .../html/man3/OSSL_STORE_INFO_get1_PKEY.html | 1 + .../html/man3/OSSL_STORE_INFO_get_type.html | 1 + .../html/man3/OSSL_STORE_INFO_new_CERT.html | 1 + .../html/man3/OSSL_STORE_INFO_new_CRL.html | 1 + .../html/man3/OSSL_STORE_INFO_new_NAME.html | 1 + .../html/man3/OSSL_STORE_INFO_new_PARAMS.html | 1 + .../html/man3/OSSL_STORE_INFO_new_PKEY.html | 1 + ...OSSL_STORE_INFO_set0_NAME_description.html | 1 + .../man3/OSSL_STORE_INFO_type_string.html | 1 + .../openssl/html/man3/OSSL_STORE_LOADER.html | 4 +- .../html/man3/OSSL_STORE_LOADER_CTX.html | 1 + .../html/man3/OSSL_STORE_LOADER_free.html | 1 + .../man3/OSSL_STORE_LOADER_get0_engine.html | 1 + .../man3/OSSL_STORE_LOADER_get0_scheme.html | 1 + .../html/man3/OSSL_STORE_LOADER_new.html | 1 + .../man3/OSSL_STORE_LOADER_set_close.html | 1 + .../html/man3/OSSL_STORE_LOADER_set_ctrl.html | 1 + .../html/man3/OSSL_STORE_LOADER_set_eof.html | 1 + .../man3/OSSL_STORE_LOADER_set_error.html | 1 + .../man3/OSSL_STORE_LOADER_set_expect.html | 1 + .../html/man3/OSSL_STORE_LOADER_set_find.html | 1 + .../html/man3/OSSL_STORE_LOADER_set_load.html | 1 + .../html/man3/OSSL_STORE_LOADER_set_open.html | 1 + .../openssl/html/man3/OSSL_STORE_SEARCH.html | 2 +- .../html/man3/OSSL_STORE_SEARCH_by_alias.html | 1 + .../OSSL_STORE_SEARCH_by_issuer_serial.html | 1 + .../OSSL_STORE_SEARCH_by_key_fingerprint.html | 1 + .../html/man3/OSSL_STORE_SEARCH_by_name.html | 1 + .../html/man3/OSSL_STORE_SEARCH_free.html | 1 + .../man3/OSSL_STORE_SEARCH_get0_bytes.html | 1 + .../man3/OSSL_STORE_SEARCH_get0_digest.html | 1 + .../man3/OSSL_STORE_SEARCH_get0_name.html | 1 + .../man3/OSSL_STORE_SEARCH_get0_serial.html | 1 + .../man3/OSSL_STORE_SEARCH_get0_string.html | 1 + .../html/man3/OSSL_STORE_SEARCH_get_type.html | 1 + .../openssl/html/man3/OSSL_STORE_close.html | 1 + .../html/man3/OSSL_STORE_close_fn.html | 1 + .../openssl/html/man3/OSSL_STORE_ctrl.html | 1 + .../openssl/html/man3/OSSL_STORE_ctrl_fn.html | 1 + .../doc/openssl/html/man3/OSSL_STORE_eof.html | 1 + .../openssl/html/man3/OSSL_STORE_eof_fn.html | 1 + .../openssl/html/man3/OSSL_STORE_error.html | 1 + .../html/man3/OSSL_STORE_error_fn.html | 1 + .../openssl/html/man3/OSSL_STORE_expect.html | 6 +- .../html/man3/OSSL_STORE_expect_fn.html | 1 + .../openssl/html/man3/OSSL_STORE_find.html | 1 + .../openssl/html/man3/OSSL_STORE_find_fn.html | 1 + .../openssl/html/man3/OSSL_STORE_load.html | 1 + .../openssl/html/man3/OSSL_STORE_load_fn.html | 1 + .../openssl/html/man3/OSSL_STORE_open.html | 2 +- .../openssl/html/man3/OSSL_STORE_open_fn.html | 1 + .../man3/OSSL_STORE_post_process_info_fn.html | 1 + .../html/man3/OSSL_STORE_register_loader.html | 1 + .../html/man3/OSSL_STORE_supports_search.html | 1 + .../man3/OSSL_STORE_unregister_loader.html | 1 + .../doc/openssl/html/man3/OTHERNAME_free.html | 1 + .../doc/openssl/html/man3/OTHERNAME_new.html | 1 + .../html/man3/OpenSSL_add_all_algorithms.html | 10 +- .../html/man3/OpenSSL_add_all_ciphers.html | 1 + .../html/man3/OpenSSL_add_all_digests.html | 1 + .../html/man3/OpenSSL_add_ssl_algorithms.html | 1 + .../html/man3/OpenSSL_version_num.html | 1 + .../doc/openssl/html/man3/PBE2PARAM_free.html | 1 + .../doc/openssl/html/man3/PBE2PARAM_new.html | 1 + .../doc/openssl/html/man3/PBEPARAM_free.html | 1 + .../doc/openssl/html/man3/PBEPARAM_new.html | 1 + .../openssl/html/man3/PBKDF2PARAM_free.html | 1 + .../openssl/html/man3/PBKDF2PARAM_new.html | 1 + .../html/man3/PEM_FLAG_EAY_COMPATIBLE.html | 1 + .../openssl/html/man3/PEM_FLAG_ONLY_B64.html | 1 + .../openssl/html/man3/PEM_FLAG_SECURE.html | 1 + .../openssl/html/man3/PEM_bytes_read_bio.html | 2 +- .../html/man3/PEM_bytes_read_bio_secmem.html | 1 + .../doc/openssl/html/man3/PEM_do_header.html | 1 + .../html/man3/PEM_get_EVP_CIPHER_INFO.html | 1 + .../share/doc/openssl/html/man3/PEM_read.html | 2 +- .../doc/openssl/html/man3/PEM_read_CMS.html | 33 +- .../openssl/html/man3/PEM_read_DHparams.html | 1 + .../html/man3/PEM_read_DSAPrivateKey.html | 1 + .../html/man3/PEM_read_DSA_PUBKEY.html | 1 + .../openssl/html/man3/PEM_read_DSAparams.html | 1 + .../html/man3/PEM_read_ECPKParameters.html | 1 + .../html/man3/PEM_read_ECPrivateKey.html | 1 + .../openssl/html/man3/PEM_read_EC_PUBKEY.html | 1 + .../man3/PEM_read_NETSCAPE_CERT_SEQUENCE.html | 1 + .../doc/openssl/html/man3/PEM_read_PKCS7.html | 1 + .../doc/openssl/html/man3/PEM_read_PKCS8.html | 1 + .../man3/PEM_read_PKCS8_PRIV_KEY_INFO.html | 1 + .../openssl/html/man3/PEM_read_PUBKEY.html | 1 + .../html/man3/PEM_read_PrivateKey.html | 1 + .../html/man3/PEM_read_RSAPrivateKey.html | 1 + .../html/man3/PEM_read_RSAPublicKey.html | 1 + .../html/man3/PEM_read_RSA_PUBKEY.html | 1 + .../html/man3/PEM_read_SSL_SESSION.html | 1 + .../doc/openssl/html/man3/PEM_read_X509.html | 1 + .../openssl/html/man3/PEM_read_X509_AUX.html | 1 + .../openssl/html/man3/PEM_read_X509_CRL.html | 1 + .../openssl/html/man3/PEM_read_X509_REQ.html | 1 + .../doc/openssl/html/man3/PEM_read_bio.html | 1 + .../openssl/html/man3/PEM_read_bio_CMS.html | 1 + .../html/man3/PEM_read_bio_DHparams.html | 1 + .../html/man3/PEM_read_bio_DSAPrivateKey.html | 1 + .../html/man3/PEM_read_bio_DSA_PUBKEY.html | 1 + .../html/man3/PEM_read_bio_DSAparams.html | 1 + .../man3/PEM_read_bio_ECPKParameters.html | 1 + .../html/man3/PEM_read_bio_EC_PUBKEY.html | 1 + .../PEM_read_bio_NETSCAPE_CERT_SEQUENCE.html | 1 + .../openssl/html/man3/PEM_read_bio_PKCS7.html | 1 + .../openssl/html/man3/PEM_read_bio_PKCS8.html | 1 + .../PEM_read_bio_PKCS8_PRIV_KEY_INFO.html | 1 + .../html/man3/PEM_read_bio_PUBKEY.html | 1 + .../html/man3/PEM_read_bio_Parameters.html | 1 + .../html/man3/PEM_read_bio_PrivateKey.html | 77 +- .../html/man3/PEM_read_bio_RSAPrivateKey.html | 1 + .../html/man3/PEM_read_bio_RSAPublicKey.html | 1 + .../html/man3/PEM_read_bio_RSA_PUBKEY.html | 1 + .../html/man3/PEM_read_bio_SSL_SESSION.html | 1 + .../openssl/html/man3/PEM_read_bio_X509.html | 1 + .../html/man3/PEM_read_bio_X509_AUX.html | 1 + .../html/man3/PEM_read_bio_X509_CRL.html | 1 + .../html/man3/PEM_read_bio_X509_REQ.html | 1 + .../openssl/html/man3/PEM_read_bio_ex.html | 2 +- .../doc/openssl/html/man3/PEM_write.html | 1 + .../doc/openssl/html/man3/PEM_write_CMS.html | 1 + .../openssl/html/man3/PEM_write_DHparams.html | 1 + .../html/man3/PEM_write_DHxparams.html | 1 + .../html/man3/PEM_write_DSAPrivateKey.html | 1 + .../html/man3/PEM_write_DSA_PUBKEY.html | 1 + .../html/man3/PEM_write_DSAparams.html | 1 + .../html/man3/PEM_write_ECPKParameters.html | 1 + .../html/man3/PEM_write_ECPrivateKey.html | 1 + .../html/man3/PEM_write_EC_PUBKEY.html | 1 + .../PEM_write_NETSCAPE_CERT_SEQUENCE.html | 1 + .../openssl/html/man3/PEM_write_PKCS7.html | 1 + .../openssl/html/man3/PEM_write_PKCS8.html | 1 + .../html/man3/PEM_write_PKCS8PrivateKey.html | 1 + .../man3/PEM_write_PKCS8PrivateKey_nid.html | 1 + .../man3/PEM_write_PKCS8_PRIV_KEY_INFO.html | 1 + .../openssl/html/man3/PEM_write_PUBKEY.html | 1 + .../html/man3/PEM_write_PrivateKey.html | 1 + .../html/man3/PEM_write_RSAPrivateKey.html | 1 + .../html/man3/PEM_write_RSAPublicKey.html | 1 + .../html/man3/PEM_write_RSA_PUBKEY.html | 1 + .../html/man3/PEM_write_SSL_SESSION.html | 1 + .../doc/openssl/html/man3/PEM_write_X509.html | 1 + .../openssl/html/man3/PEM_write_X509_AUX.html | 1 + .../openssl/html/man3/PEM_write_X509_CRL.html | 1 + .../openssl/html/man3/PEM_write_X509_REQ.html | 1 + .../html/man3/PEM_write_X509_REQ_NEW.html | 1 + .../doc/openssl/html/man3/PEM_write_bio.html | 1 + .../openssl/html/man3/PEM_write_bio_CMS.html | 1 + .../html/man3/PEM_write_bio_CMS_stream.html | 2 +- .../html/man3/PEM_write_bio_DHparams.html | 1 + .../html/man3/PEM_write_bio_DHxparams.html | 1 + .../man3/PEM_write_bio_DSAPrivateKey.html | 1 + .../html/man3/PEM_write_bio_DSA_PUBKEY.html | 1 + .../html/man3/PEM_write_bio_DSAparams.html | 1 + .../man3/PEM_write_bio_ECPKParameters.html | 1 + .../html/man3/PEM_write_bio_ECPrivateKey.html | 1 + .../html/man3/PEM_write_bio_EC_PUBKEY.html | 1 + .../PEM_write_bio_NETSCAPE_CERT_SEQUENCE.html | 1 + .../html/man3/PEM_write_bio_PKCS7.html | 1 + .../html/man3/PEM_write_bio_PKCS7_stream.html | 2 +- .../html/man3/PEM_write_bio_PKCS8.html | 1 + .../man3/PEM_write_bio_PKCS8PrivateKey.html | 1 + .../PEM_write_bio_PKCS8PrivateKey_nid.html | 1 + .../PEM_write_bio_PKCS8_PRIV_KEY_INFO.html | 1 + .../html/man3/PEM_write_bio_PUBKEY.html | 1 + .../html/man3/PEM_write_bio_Parameters.html | 1 + .../html/man3/PEM_write_bio_PrivateKey.html | 1 + .../PEM_write_bio_PrivateKey_traditional.html | 1 + .../man3/PEM_write_bio_RSAPrivateKey.html | 1 + .../html/man3/PEM_write_bio_RSAPublicKey.html | 1 + .../html/man3/PEM_write_bio_RSA_PUBKEY.html | 1 + .../html/man3/PEM_write_bio_SSL_SESSION.html | 1 + .../openssl/html/man3/PEM_write_bio_X509.html | 1 + .../html/man3/PEM_write_bio_X509_AUX.html | 1 + .../html/man3/PEM_write_bio_X509_CRL.html | 1 + .../html/man3/PEM_write_bio_X509_REQ.html | 1 + .../html/man3/PEM_write_bio_X509_REQ_NEW.html | 1 + .../openssl/html/man3/PKCS12_BAGS_free.html | 1 + .../openssl/html/man3/PKCS12_BAGS_new.html | 1 + .../html/man3/PKCS12_MAC_DATA_free.html | 1 + .../html/man3/PKCS12_MAC_DATA_new.html | 1 + .../html/man3/PKCS12_SAFEBAG_free.html | 1 + .../openssl/html/man3/PKCS12_SAFEBAG_new.html | 1 + .../doc/openssl/html/man3/PKCS12_create.html | 2 +- .../doc/openssl/html/man3/PKCS12_free.html | 1 + .../doc/openssl/html/man3/PKCS12_new.html | 1 + .../doc/openssl/html/man3/PKCS12_newpass.html | 28 +- .../doc/openssl/html/man3/PKCS12_parse.html | 2 +- .../openssl/html/man3/PKCS5_PBKDF2_HMAC.html | 2 +- .../html/man3/PKCS5_PBKDF2_HMAC_SHA1.html | 1 + .../openssl/html/man3/PKCS7_DIGEST_free.html | 1 + .../openssl/html/man3/PKCS7_DIGEST_new.html | 1 + .../openssl/html/man3/PKCS7_ENCRYPT_free.html | 1 + .../openssl/html/man3/PKCS7_ENCRYPT_new.html | 1 + .../html/man3/PKCS7_ENC_CONTENT_free.html | 1 + .../html/man3/PKCS7_ENC_CONTENT_new.html | 1 + .../html/man3/PKCS7_ENVELOPE_free.html | 1 + .../openssl/html/man3/PKCS7_ENVELOPE_new.html | 1 + .../man3/PKCS7_ISSUER_AND_SERIAL_digest.html | 1 + .../man3/PKCS7_ISSUER_AND_SERIAL_free.html | 1 + .../man3/PKCS7_ISSUER_AND_SERIAL_new.html | 1 + .../html/man3/PKCS7_RECIP_INFO_free.html | 1 + .../html/man3/PKCS7_RECIP_INFO_new.html | 1 + .../openssl/html/man3/PKCS7_SIGNED_free.html | 1 + .../openssl/html/man3/PKCS7_SIGNED_new.html | 1 + .../html/man3/PKCS7_SIGNER_INFO_free.html | 1 + .../html/man3/PKCS7_SIGNER_INFO_new.html | 1 + .../html/man3/PKCS7_SIGN_ENVELOPE_free.html | 1 + .../html/man3/PKCS7_SIGN_ENVELOPE_new.html | 1 + .../doc/openssl/html/man3/PKCS7_decrypt.html | 2 +- .../doc/openssl/html/man3/PKCS7_dup.html | 1 + .../doc/openssl/html/man3/PKCS7_encrypt.html | 12 +- .../doc/openssl/html/man3/PKCS7_free.html | 1 + .../openssl/html/man3/PKCS7_get0_signers.html | 1 + .../doc/openssl/html/man3/PKCS7_new.html | 1 + .../openssl/html/man3/PKCS7_print_ctx.html | 1 + .../doc/openssl/html/man3/PKCS7_sign.html | 12 +- .../html/man3/PKCS7_sign_add_signer.html | 2 +- .../doc/openssl/html/man3/PKCS7_verify.html | 4 +- .../html/man3/PKCS8_PRIV_KEY_INFO_free.html | 1 + .../html/man3/PKCS8_PRIV_KEY_INFO_new.html | 1 + .../html/man3/PKEY_USAGE_PERIOD_free.html | 1 + .../html/man3/PKEY_USAGE_PERIOD_new.html | 1 + .../openssl/html/man3/POLICYINFO_free.html | 1 + .../doc/openssl/html/man3/POLICYINFO_new.html | 1 + .../html/man3/POLICYQUALINFO_free.html | 1 + .../openssl/html/man3/POLICYQUALINFO_new.html | 1 + .../html/man3/POLICY_CONSTRAINTS_free.html | 1 + .../html/man3/POLICY_CONSTRAINTS_new.html | 1 + .../html/man3/POLICY_MAPPING_free.html | 1 + .../openssl/html/man3/POLICY_MAPPING_new.html | 1 + .../openssl/html/man3/PROFESSION_INFO.html | 1 + .../openssl/html/man3/PROFESSION_INFOS.html | 1 + .../html/man3/PROFESSION_INFOS_free.html | 1 + .../html/man3/PROFESSION_INFOS_new.html | 1 + .../html/man3/PROFESSION_INFO_free.html | 1 + ...ROFESSION_INFO_get0_addProfessionInfo.html | 1 + .../PROFESSION_INFO_get0_namingAuthority.html | 1 + .../PROFESSION_INFO_get0_professionItems.html | 1 + .../PROFESSION_INFO_get0_professionOIDs.html | 1 + ...OFESSION_INFO_get0_registrationNumber.html | 1 + .../html/man3/PROFESSION_INFO_new.html | 1 + ...ROFESSION_INFO_set0_addProfessionInfo.html | 1 + .../PROFESSION_INFO_set0_namingAuthority.html | 1 + .../PROFESSION_INFO_set0_professionItems.html | 1 + .../PROFESSION_INFO_set0_professionOIDs.html | 1 + ...OFESSION_INFO_set0_registrationNumber.html | 1 + .../man3/PROXY_CERT_INFO_EXTENSION_free.html | 1 + .../man3/PROXY_CERT_INFO_EXTENSION_new.html | 1 + .../openssl/html/man3/PROXY_POLICY_free.html | 1 + .../openssl/html/man3/PROXY_POLICY_new.html | 1 + .../openssl/html/man3/RAND_DRBG_bytes.html | 1 + .../man3/RAND_DRBG_cleanup_entropy_fn.html | 1 + .../html/man3/RAND_DRBG_cleanup_nonce_fn.html | 1 + .../doc/openssl/html/man3/RAND_DRBG_free.html | 1 + .../openssl/html/man3/RAND_DRBG_generate.html | 15 +- .../html/man3/RAND_DRBG_get0_master.html | 37 +- .../html/man3/RAND_DRBG_get0_private.html | 1 + .../html/man3/RAND_DRBG_get0_public.html | 1 + .../html/man3/RAND_DRBG_get_entropy_fn.html | 1 + .../html/man3/RAND_DRBG_get_ex_data.html | 1 + .../html/man3/RAND_DRBG_get_ex_new_index.html | 1 + .../html/man3/RAND_DRBG_get_nonce_fn.html | 1 + .../html/man3/RAND_DRBG_instantiate.html | 1 + .../doc/openssl/html/man3/RAND_DRBG_new.html | 70 +- .../openssl/html/man3/RAND_DRBG_reseed.html | 11 +- .../html/man3/RAND_DRBG_secure_new.html | 1 + .../doc/openssl/html/man3/RAND_DRBG_set.html | 1 + .../html/man3/RAND_DRBG_set_callbacks.html | 39 +- .../html/man3/RAND_DRBG_set_defaults.html | 1 + .../html/man3/RAND_DRBG_set_ex_data.html | 101 ++ .../man3/RAND_DRBG_set_reseed_defaults.html | 1 + .../man3/RAND_DRBG_set_reseed_interval.html | 1 + .../RAND_DRBG_set_reseed_time_interval.html | 1 + .../html/man3/RAND_DRBG_uninstantiate.html | 1 + .../doc/openssl/html/man3/RAND_OpenSSL.html | 1 + .../share/doc/openssl/html/man3/RAND_add.html | 19 +- .../doc/openssl/html/man3/RAND_bytes.html | 27 +- .../doc/openssl/html/man3/RAND_cleanup.html | 9 +- .../share/doc/openssl/html/man3/RAND_egd.html | 2 +- .../doc/openssl/html/man3/RAND_egd_bytes.html | 1 + .../doc/openssl/html/man3/RAND_event.html | 1 + .../doc/openssl/html/man3/RAND_file_name.html | 1 + .../html/man3/RAND_get_rand_method.html | 1 + .../man3/RAND_keep_random_devices_open.html | 1 + .../doc/openssl/html/man3/RAND_load_file.html | 6 +- .../doc/openssl/html/man3/RAND_poll.html | 1 + .../openssl/html/man3/RAND_priv_bytes.html | 1 + .../openssl/html/man3/RAND_pseudo_bytes.html | 1 + .../html/man3/RAND_query_egd_bytes.html | 1 + .../doc/openssl/html/man3/RAND_screen.html | 1 + .../doc/openssl/html/man3/RAND_seed.html | 1 + .../html/man3/RAND_set_rand_method.html | 4 +- .../doc/openssl/html/man3/RAND_status.html | 1 + .../openssl/html/man3/RAND_write_file.html | 1 + .../share/doc/openssl/html/man3/RC4.html | 1 + .../doc/openssl/html/man3/RC4_set_key.html | 14 +- .../doc/openssl/html/man3/RIPEMD160.html | 1 + .../openssl/html/man3/RIPEMD160_Final.html | 1 + .../doc/openssl/html/man3/RIPEMD160_Init.html | 16 +- .../openssl/html/man3/RIPEMD160_Update.html | 1 + .../openssl/html/man3/RSAPrivateKey_dup.html | 1 + .../openssl/html/man3/RSAPublicKey_dup.html | 1 + .../html/man3/RSA_OAEP_PARAMS_free.html | 1 + .../html/man3/RSA_OAEP_PARAMS_new.html | 1 + .../openssl/html/man3/RSA_PKCS1_OpenSSL.html | 1 + .../html/man3/RSA_PSS_PARAMS_free.html | 1 + .../openssl/html/man3/RSA_PSS_PARAMS_new.html | 1 + .../share/doc/openssl/html/man3/RSA_bits.html | 1 + .../openssl/html/man3/RSA_blinding_off.html | 1 + .../openssl/html/man3/RSA_blinding_on.html | 4 +- .../doc/openssl/html/man3/RSA_check_key.html | 9 +- .../openssl/html/man3/RSA_check_key_ex.html | 1 + .../openssl/html/man3/RSA_clear_flags.html | 1 + .../doc/openssl/html/man3/RSA_flags.html | 1 + .../share/doc/openssl/html/man3/RSA_free.html | 1 + .../openssl/html/man3/RSA_generate_key.html | 19 +- .../html/man3/RSA_generate_key_ex.html | 1 + .../man3/RSA_generate_multi_prime_key.html | 1 + .../html/man3/RSA_get0_crt_params.html | 1 + .../doc/openssl/html/man3/RSA_get0_d.html | 1 + .../doc/openssl/html/man3/RSA_get0_dmp1.html | 1 + .../doc/openssl/html/man3/RSA_get0_dmq1.html | 1 + .../doc/openssl/html/man3/RSA_get0_e.html | 1 + .../openssl/html/man3/RSA_get0_engine.html | 1 + .../openssl/html/man3/RSA_get0_factors.html | 1 + .../doc/openssl/html/man3/RSA_get0_iqmp.html | 1 + .../doc/openssl/html/man3/RSA_get0_key.html | 4 +- .../man3/RSA_get0_multi_prime_crt_params.html | 1 + .../man3/RSA_get0_multi_prime_factors.html | 1 + .../doc/openssl/html/man3/RSA_get0_n.html | 1 + .../doc/openssl/html/man3/RSA_get0_p.html | 1 + .../html/man3/RSA_get0_pss_params.html | 1 + .../doc/openssl/html/man3/RSA_get0_q.html | 1 + .../html/man3/RSA_get_default_method.html | 1 + .../openssl/html/man3/RSA_get_ex_data.html | 1 + .../html/man3/RSA_get_ex_new_index.html | 1 + .../doc/openssl/html/man3/RSA_get_method.html | 1 + .../man3/RSA_get_multi_prime_extra_count.html | 1 + .../openssl/html/man3/RSA_get_version.html | 1 + .../doc/openssl/html/man3/RSA_meth_dup.html | 1 + .../doc/openssl/html/man3/RSA_meth_free.html | 1 + .../html/man3/RSA_meth_get0_app_data.html | 1 + .../openssl/html/man3/RSA_meth_get0_name.html | 1 + .../html/man3/RSA_meth_get_bn_mod_exp.html | 1 + .../html/man3/RSA_meth_get_finish.html | 1 + .../openssl/html/man3/RSA_meth_get_flags.html | 1 + .../openssl/html/man3/RSA_meth_get_init.html | 1 + .../html/man3/RSA_meth_get_keygen.html | 1 + .../html/man3/RSA_meth_get_mod_exp.html | 1 + .../man3/RSA_meth_get_multi_prime_keygen.html | 1 + .../html/man3/RSA_meth_get_priv_dec.html | 1 + .../html/man3/RSA_meth_get_priv_enc.html | 1 + .../html/man3/RSA_meth_get_pub_dec.html | 1 + .../html/man3/RSA_meth_get_pub_enc.html | 1 + .../openssl/html/man3/RSA_meth_get_sign.html | 1 + .../html/man3/RSA_meth_get_verify.html | 1 + .../doc/openssl/html/man3/RSA_meth_new.html | 11 +- .../html/man3/RSA_meth_set0_app_data.html | 1 + .../openssl/html/man3/RSA_meth_set1_name.html | 1 + .../html/man3/RSA_meth_set_bn_mod_exp.html | 1 + .../html/man3/RSA_meth_set_finish.html | 1 + .../openssl/html/man3/RSA_meth_set_flags.html | 1 + .../openssl/html/man3/RSA_meth_set_init.html | 1 + .../html/man3/RSA_meth_set_keygen.html | 1 + .../html/man3/RSA_meth_set_mod_exp.html | 1 + .../man3/RSA_meth_set_multi_prime_keygen.html | 1 + .../html/man3/RSA_meth_set_priv_dec.html | 1 + .../html/man3/RSA_meth_set_priv_enc.html | 1 + .../html/man3/RSA_meth_set_pub_dec.html | 1 + .../html/man3/RSA_meth_set_pub_enc.html | 1 + .../openssl/html/man3/RSA_meth_set_sign.html | 1 + .../html/man3/RSA_meth_set_verify.html | 1 + .../share/doc/openssl/html/man3/RSA_new.html | 2 +- .../doc/openssl/html/man3/RSA_new_method.html | 1 + .../html/man3/RSA_padding_add_PKCS1_OAEP.html | 1 + .../man3/RSA_padding_add_PKCS1_OAEP_mgf1.html | 1 + .../man3/RSA_padding_add_PKCS1_type_1.html | 13 +- .../man3/RSA_padding_add_PKCS1_type_2.html | 1 + .../html/man3/RSA_padding_add_SSLv23.html | 1 + .../html/man3/RSA_padding_add_none.html | 1 + .../man3/RSA_padding_check_PKCS1_OAEP.html | 1 + .../RSA_padding_check_PKCS1_OAEP_mgf1.html | 1 + .../man3/RSA_padding_check_PKCS1_type_1.html | 1 + .../man3/RSA_padding_check_PKCS1_type_2.html | 1 + .../html/man3/RSA_padding_check_SSLv23.html | 1 + .../html/man3/RSA_padding_check_none.html | 1 + .../doc/openssl/html/man3/RSA_print.html | 25 +- .../doc/openssl/html/man3/RSA_print_fp.html | 1 + .../html/man3/RSA_private_decrypt.html | 1 + .../html/man3/RSA_private_encrypt.html | 14 +- .../openssl/html/man3/RSA_public_decrypt.html | 1 + .../openssl/html/man3/RSA_public_encrypt.html | 14 +- .../openssl/html/man3/RSA_security_bits.html | 1 + .../html/man3/RSA_set0_crt_params.html | 1 + .../openssl/html/man3/RSA_set0_factors.html | 1 + .../doc/openssl/html/man3/RSA_set0_key.html | 1 + .../man3/RSA_set0_multi_prime_params.html | 1 + .../html/man3/RSA_set_default_method.html | 1 + .../openssl/html/man3/RSA_set_ex_data.html | 1 + .../doc/openssl/html/man3/RSA_set_flags.html | 1 + .../doc/openssl/html/man3/RSA_set_method.html | 10 +- .../share/doc/openssl/html/man3/RSA_sign.html | 14 +- .../html/man3/RSA_sign_ASN1_OCTET_STRING.html | 15 +- .../share/doc/openssl/html/man3/RSA_size.html | 9 +- .../doc/openssl/html/man3/RSA_test_flags.html | 1 + .../doc/openssl/html/man3/RSA_verify.html | 1 + .../man3/RSA_verify_ASN1_OCTET_STRING.html | 1 + .../openssl/html/man3/SCRYPT_PARAMS_free.html | 1 + .../openssl/html/man3/SCRYPT_PARAMS_new.html | 1 + .../doc/openssl/html/man3/SCT_LIST_free.html | 1 + .../doc/openssl/html/man3/SCT_LIST_print.html | 1 + .../openssl/html/man3/SCT_LIST_validate.html | 1 + .../share/doc/openssl/html/man3/SCT_free.html | 1 + .../html/man3/SCT_get0_extensions.html | 1 + .../openssl/html/man3/SCT_get0_log_id.html | 1 + .../openssl/html/man3/SCT_get0_signature.html | 1 + .../html/man3/SCT_get_log_entry_type.html | 1 + .../html/man3/SCT_get_signature_nid.html | 1 + .../doc/openssl/html/man3/SCT_get_source.html | 1 + .../openssl/html/man3/SCT_get_timestamp.html | 1 + .../html/man3/SCT_get_validation_status.html | 1 + .../openssl/html/man3/SCT_get_version.html | 1 + .../share/doc/openssl/html/man3/SCT_new.html | 7 +- .../html/man3/SCT_new_from_base64.html | 1 + .../doc/openssl/html/man3/SCT_print.html | 4 +- .../html/man3/SCT_set0_extensions.html | 1 + .../openssl/html/man3/SCT_set0_log_id.html | 1 + .../openssl/html/man3/SCT_set0_signature.html | 1 + .../html/man3/SCT_set1_extensions.html | 1 + .../openssl/html/man3/SCT_set1_log_id.html | 1 + .../openssl/html/man3/SCT_set1_signature.html | 1 + .../html/man3/SCT_set_log_entry_type.html | 1 + .../html/man3/SCT_set_signature_nid.html | 1 + .../doc/openssl/html/man3/SCT_set_source.html | 1 + .../openssl/html/man3/SCT_set_timestamp.html | 1 + .../openssl/html/man3/SCT_set_version.html | 1 + .../doc/openssl/html/man3/SCT_validate.html | 2 +- .../man3/SCT_validation_status_string.html | 1 + .../share/doc/openssl/html/man3/SHA1.html | 1 + .../doc/openssl/html/man3/SHA1_Final.html | 1 + .../doc/openssl/html/man3/SHA1_Init.html | 1 + .../doc/openssl/html/man3/SHA1_Update.html | 1 + .../share/doc/openssl/html/man3/SHA224.html | 1 + .../doc/openssl/html/man3/SHA224_Final.html | 1 + .../doc/openssl/html/man3/SHA224_Init.html | 1 + .../doc/openssl/html/man3/SHA224_Update.html | 1 + .../share/doc/openssl/html/man3/SHA256.html | 1 + .../doc/openssl/html/man3/SHA256_Final.html | 1 + .../doc/openssl/html/man3/SHA256_Init.html | 17 +- .../doc/openssl/html/man3/SHA256_Update.html | 1 + .../share/doc/openssl/html/man3/SHA384.html | 1 + .../doc/openssl/html/man3/SHA384_Final.html | 1 + .../doc/openssl/html/man3/SHA384_Init.html | 1 + .../doc/openssl/html/man3/SHA384_Update.html | 1 + .../share/doc/openssl/html/man3/SHA512.html | 1 + .../doc/openssl/html/man3/SHA512_Final.html | 1 + .../doc/openssl/html/man3/SHA512_Init.html | 1 + .../doc/openssl/html/man3/SHA512_Update.html | 1 + .../doc/openssl/html/man3/SMIME_read_CMS.html | 4 +- .../openssl/html/man3/SMIME_read_PKCS7.html | 2 +- .../openssl/html/man3/SMIME_write_CMS.html | 2 +- .../openssl/html/man3/SMIME_write_PKCS7.html | 2 +- .../html/man3/SSL_CIPHER_description.html | 1 + .../openssl/html/man3/SSL_CIPHER_find.html | 1 + .../html/man3/SSL_CIPHER_get_auth_nid.html | 1 + .../html/man3/SSL_CIPHER_get_bits.html | 1 + .../html/man3/SSL_CIPHER_get_cipher_nid.html | 1 + .../html/man3/SSL_CIPHER_get_digest_nid.html | 1 + .../man3/SSL_CIPHER_get_handshake_digest.html | 1 + .../openssl/html/man3/SSL_CIPHER_get_id.html | 1 + .../html/man3/SSL_CIPHER_get_kx_nid.html | 1 + .../html/man3/SSL_CIPHER_get_name.html | 4 +- .../html/man3/SSL_CIPHER_get_protocol_id.html | 1 + .../html/man3/SSL_CIPHER_get_version.html | 1 + .../openssl/html/man3/SSL_CIPHER_is_aead.html | 1 + .../html/man3/SSL_CIPHER_standard_name.html | 1 + .../man3/SSL_COMP_add_compression_method.html | 10 +- .../SSL_COMP_free_compression_methods.html | 1 + .../openssl/html/man3/SSL_COMP_get0_name.html | 1 + .../SSL_COMP_get_compression_methods.html | 1 + .../openssl/html/man3/SSL_COMP_get_id.html | 1 + .../html/man3/SSL_CONF_CTX_clear_flags.html | 1 + .../openssl/html/man3/SSL_CONF_CTX_free.html | 1 + .../openssl/html/man3/SSL_CONF_CTX_new.html | 5 +- .../html/man3/SSL_CONF_CTX_set1_prefix.html | 5 +- .../html/man3/SSL_CONF_CTX_set_flags.html | 5 +- .../html/man3/SSL_CONF_CTX_set_ssl.html | 1 + .../html/man3/SSL_CONF_CTX_set_ssl_ctx.html | 5 +- .../doc/openssl/html/man3/SSL_CONF_cmd.html | 413 +++---- .../openssl/html/man3/SSL_CONF_cmd_argv.html | 5 +- .../html/man3/SSL_CONF_cmd_value_type.html | 1 + .../html/man3/SSL_CTX_add0_chain_cert.html | 1 + .../html/man3/SSL_CTX_add1_chain_cert.html | 5 +- .../html/man3/SSL_CTX_add1_to_CA_list.html | 1 + .../html/man3/SSL_CTX_add_client_CA.html | 1 + .../man3/SSL_CTX_add_client_custom_ext.html | 1 + .../html/man3/SSL_CTX_add_custom_ext.html | 1 + .../man3/SSL_CTX_add_extra_chain_cert.html | 20 +- .../man3/SSL_CTX_add_server_custom_ext.html | 1 + .../html/man3/SSL_CTX_add_session.html | 2 +- .../html/man3/SSL_CTX_build_cert_chain.html | 1 + .../html/man3/SSL_CTX_callback_ctrl.html | 1 + .../html/man3/SSL_CTX_check_private_key.html | 1 + .../html/man3/SSL_CTX_clear_chain_certs.html | 1 + .../man3/SSL_CTX_clear_extra_chain_certs.html | 1 + .../openssl/html/man3/SSL_CTX_clear_mode.html | 1 + .../html/man3/SSL_CTX_clear_options.html | 1 + .../doc/openssl/html/man3/SSL_CTX_config.html | 7 +- .../html/man3/SSL_CTX_ct_is_enabled.html | 1 + .../doc/openssl/html/man3/SSL_CTX_ctrl.html | 2 +- .../html/man3/SSL_CTX_dane_clear_flags.html | 1 + .../html/man3/SSL_CTX_dane_enable.html | 9 +- .../html/man3/SSL_CTX_dane_mtype_set.html | 1 + .../html/man3/SSL_CTX_dane_set_flags.html | 1 + .../SSL_CTX_decrypt_session_ticket_fn.html | 1 + .../openssl/html/man3/SSL_CTX_disable_ct.html | 1 + .../openssl/html/man3/SSL_CTX_enable_ct.html | 1 + .../html/man3/SSL_CTX_flush_sessions.html | 2 +- .../doc/openssl/html/man3/SSL_CTX_free.html | 2 +- .../SSL_CTX_generate_session_ticket_fn.html | 1 + .../html/man3/SSL_CTX_get0_CA_list.html | 1 + .../html/man3/SSL_CTX_get0_chain_certs.html | 1 + .../openssl/html/man3/SSL_CTX_get0_param.html | 7 +- .../man3/SSL_CTX_get0_security_ex_data.html | 1 + .../html/man3/SSL_CTX_get_cert_store.html | 1 + .../html/man3/SSL_CTX_get_ciphers.html | 1 + .../html/man3/SSL_CTX_get_client_CA_list.html | 1 + .../html/man3/SSL_CTX_get_client_cert_cb.html | 1 + .../man3/SSL_CTX_get_default_passwd_cb.html | 1 + ...SL_CTX_get_default_passwd_cb_userdata.html | 1 + .../man3/SSL_CTX_get_default_read_ahead.html | 1 + .../html/man3/SSL_CTX_get_ex_data.html | 1 + .../html/man3/SSL_CTX_get_info_callback.html | 1 + .../man3/SSL_CTX_get_keylog_callback.html | 1 + .../html/man3/SSL_CTX_get_max_cert_list.html | 1 + .../html/man3/SSL_CTX_get_max_early_data.html | 1 + .../man3/SSL_CTX_get_max_proto_version.html | 1 + .../man3/SSL_CTX_get_min_proto_version.html | 1 + .../openssl/html/man3/SSL_CTX_get_mode.html | 1 + .../html/man3/SSL_CTX_get_num_tickets.html | 1 + .../html/man3/SSL_CTX_get_options.html | 1 + .../html/man3/SSL_CTX_get_quiet_shutdown.html | 1 + .../html/man3/SSL_CTX_get_read_ahead.html | 1 + ...L_CTX_get_record_padding_callback_arg.html | 1 + .../man3/SSL_CTX_get_recv_max_early_data.html | 1 + .../man3/SSL_CTX_get_security_callback.html | 1 + .../html/man3/SSL_CTX_get_security_level.html | 1 + .../man3/SSL_CTX_get_session_cache_mode.html | 1 + .../html/man3/SSL_CTX_get_timeout.html | 1 + .../man3/SSL_CTX_get_tlsext_status_arg.html | 1 + .../man3/SSL_CTX_get_tlsext_status_cb.html | 1 + .../man3/SSL_CTX_get_tlsext_status_type.html | 1 + .../man3/SSL_CTX_get_verify_callback.html | 1 + .../html/man3/SSL_CTX_get_verify_depth.html | 1 + .../html/man3/SSL_CTX_get_verify_mode.html | 2 +- .../man3/SSL_CTX_has_client_custom_ext.html | 2 +- .../html/man3/SSL_CTX_keylog_cb_func.html | 1 + .../man3/SSL_CTX_load_verify_locations.html | 58 +- .../doc/openssl/html/man3/SSL_CTX_new.html | 45 +- .../html/man3/SSL_CTX_remove_session.html | 1 + .../man3/SSL_CTX_select_current_cert.html | 1 + .../html/man3/SSL_CTX_sess_accept.html | 1 + .../html/man3/SSL_CTX_sess_accept_good.html | 1 + .../man3/SSL_CTX_sess_accept_renegotiate.html | 1 + .../html/man3/SSL_CTX_sess_cache_full.html | 1 + .../html/man3/SSL_CTX_sess_cb_hits.html | 1 + .../html/man3/SSL_CTX_sess_connect.html | 1 + .../html/man3/SSL_CTX_sess_connect_good.html | 1 + .../SSL_CTX_sess_connect_renegotiate.html | 1 + .../man3/SSL_CTX_sess_get_cache_size.html | 1 + .../html/man3/SSL_CTX_sess_get_get_cb.html | 1 + .../html/man3/SSL_CTX_sess_get_new_cb.html | 1 + .../html/man3/SSL_CTX_sess_get_remove_cb.html | 1 + .../openssl/html/man3/SSL_CTX_sess_hits.html | 1 + .../html/man3/SSL_CTX_sess_misses.html | 1 + .../html/man3/SSL_CTX_sess_number.html | 2 +- .../man3/SSL_CTX_sess_set_cache_size.html | 2 +- .../html/man3/SSL_CTX_sess_set_get_cb.html | 2 +- .../html/man3/SSL_CTX_sess_set_new_cb.html | 1 + .../html/man3/SSL_CTX_sess_set_remove_cb.html | 1 + .../html/man3/SSL_CTX_sess_timeouts.html | 1 + .../openssl/html/man3/SSL_CTX_sessions.html | 2 +- .../html/man3/SSL_CTX_set0_CA_list.html | 4 +- .../openssl/html/man3/SSL_CTX_set0_chain.html | 1 + .../man3/SSL_CTX_set0_chain_cert_store.html | 1 + .../man3/SSL_CTX_set0_security_ex_data.html | 1 + .../man3/SSL_CTX_set0_verify_cert_store.html | 1 + .../html/man3/SSL_CTX_set1_cert_store.html | 1 + .../openssl/html/man3/SSL_CTX_set1_chain.html | 1 + .../man3/SSL_CTX_set1_chain_cert_store.html | 1 + .../man3/SSL_CTX_set1_client_sigalgs.html | 1 + .../SSL_CTX_set1_client_sigalgs_list.html | 1 + .../html/man3/SSL_CTX_set1_curves.html | 29 +- .../html/man3/SSL_CTX_set1_curves_list.html | 1 + .../html/man3/SSL_CTX_set1_groups.html | 1 + .../html/man3/SSL_CTX_set1_groups_list.html | 1 + .../openssl/html/man3/SSL_CTX_set1_param.html | 1 + .../html/man3/SSL_CTX_set1_sigalgs.html | 4 +- .../html/man3/SSL_CTX_set1_sigalgs_list.html | 1 + .../man3/SSL_CTX_set1_verify_cert_store.html | 5 +- .../man3/SSL_CTX_set_allow_early_data_cb.html | 1 + .../html/man3/SSL_CTX_set_alpn_protos.html | 1 + .../html/man3/SSL_CTX_set_alpn_select_cb.html | 2 +- .../html/man3/SSL_CTX_set_block_padding.html | 1 + .../html/man3/SSL_CTX_set_cert_cb.html | 2 +- .../html/man3/SSL_CTX_set_cert_store.html | 2 +- .../SSL_CTX_set_cert_verify_callback.html | 2 +- .../html/man3/SSL_CTX_set_cipher_list.html | 27 +- .../html/man3/SSL_CTX_set_ciphersuites.html | 1 + .../html/man3/SSL_CTX_set_client_CA_list.html | 1 + .../html/man3/SSL_CTX_set_client_cert_cb.html | 2 +- .../man3/SSL_CTX_set_client_hello_cb.html | 8 +- .../man3/SSL_CTX_set_cookie_generate_cb.html | 1 + .../man3/SSL_CTX_set_cookie_verify_cb.html | 1 + .../SSL_CTX_set_ct_validation_callback.html | 4 +- .../man3/SSL_CTX_set_ctlog_list_file.html | 6 +- .../html/man3/SSL_CTX_set_current_cert.html | 1 + .../SSL_CTX_set_default_ctlog_list_file.html | 1 + .../man3/SSL_CTX_set_default_passwd_cb.html | 2 +- ...SL_CTX_set_default_passwd_cb_userdata.html | 1 + .../SSL_CTX_set_default_read_buffer_len.html | 1 + .../man3/SSL_CTX_set_default_verify_dir.html | 1 + .../man3/SSL_CTX_set_default_verify_file.html | 1 + .../SSL_CTX_set_default_verify_paths.html | 1 + .../html/man3/SSL_CTX_set_ex_data.html | 88 ++ .../man3/SSL_CTX_set_generate_session_id.html | 4 +- .../html/man3/SSL_CTX_set_info_callback.html | 6 +- .../man3/SSL_CTX_set_keylog_callback.html | 2 +- .../html/man3/SSL_CTX_set_max_cert_list.html | 2 +- .../html/man3/SSL_CTX_set_max_early_data.html | 1 + .../html/man3/SSL_CTX_set_max_pipelines.html | 1 + .../man3/SSL_CTX_set_max_proto_version.html | 1 + .../man3/SSL_CTX_set_max_send_fragment.html | 1 + .../man3/SSL_CTX_set_min_proto_version.html | 5 +- .../openssl/html/man3/SSL_CTX_set_mode.html | 35 +- .../html/man3/SSL_CTX_set_msg_callback.html | 2 +- .../man3/SSL_CTX_set_msg_callback_arg.html | 1 + .../SSL_CTX_set_next_proto_select_cb.html | 1 + ...SSL_CTX_set_next_protos_advertised_cb.html | 1 + .../html/man3/SSL_CTX_set_num_tickets.html | 8 +- .../html/man3/SSL_CTX_set_options.html | 35 +- .../man3/SSL_CTX_set_post_handshake_auth.html | 1 + .../man3/SSL_CTX_set_psk_client_callback.html | 5 +- ...SSL_CTX_set_psk_find_session_callback.html | 1 + .../man3/SSL_CTX_set_psk_server_callback.html | 1 + .../SSL_CTX_set_psk_use_session_callback.html | 1 + .../html/man3/SSL_CTX_set_quiet_shutdown.html | 2 +- .../html/man3/SSL_CTX_set_read_ahead.html | 4 +- .../SSL_CTX_set_record_padding_callback.html | 4 +- ...L_CTX_set_record_padding_callback_arg.html | 1 + .../man3/SSL_CTX_set_recv_max_early_data.html | 1 + .../man3/SSL_CTX_set_security_callback.html | 1 + .../html/man3/SSL_CTX_set_security_level.html | 8 +- .../man3/SSL_CTX_set_session_cache_mode.html | 2 +- .../man3/SSL_CTX_set_session_id_context.html | 4 +- .../man3/SSL_CTX_set_session_ticket_cb.html | 6 +- .../man3/SSL_CTX_set_split_send_fragment.html | 5 +- .../html/man3/SSL_CTX_set_ssl_version.html | 4 +- ..._CTX_set_stateless_cookie_generate_cb.html | 5 +- ...SL_CTX_set_stateless_cookie_verify_cb.html | 1 + .../html/man3/SSL_CTX_set_timeout.html | 2 +- ...SL_CTX_set_tlsext_max_fragment_length.html | 1 + .../SSL_CTX_set_tlsext_servername_arg.html | 1 + ...SL_CTX_set_tlsext_servername_callback.html | 2 +- .../man3/SSL_CTX_set_tlsext_status_arg.html | 1 + .../man3/SSL_CTX_set_tlsext_status_cb.html | 8 +- .../man3/SSL_CTX_set_tlsext_status_type.html | 1 + .../SSL_CTX_set_tlsext_ticket_key_cb.html | 72 +- .../man3/SSL_CTX_set_tlsext_use_srtp.html | 5 +- .../openssl/html/man3/SSL_CTX_set_tmp_dh.html | 1 + .../man3/SSL_CTX_set_tmp_dh_callback.html | 10 +- .../openssl/html/man3/SSL_CTX_set_verify.html | 4 +- .../html/man3/SSL_CTX_set_verify_depth.html | 1 + .../doc/openssl/html/man3/SSL_CTX_up_ref.html | 1 + .../html/man3/SSL_CTX_use_PrivateKey.html | 1 + .../man3/SSL_CTX_use_PrivateKey_ASN1.html | 1 + .../man3/SSL_CTX_use_PrivateKey_file.html | 1 + .../html/man3/SSL_CTX_use_RSAPrivateKey.html | 1 + .../man3/SSL_CTX_use_RSAPrivateKey_ASN1.html | 1 + .../man3/SSL_CTX_use_RSAPrivateKey_file.html | 1 + .../html/man3/SSL_CTX_use_cert_and_key.html | 1 + .../html/man3/SSL_CTX_use_certificate.html | 2 +- .../man3/SSL_CTX_use_certificate_ASN1.html | 1 + .../SSL_CTX_use_certificate_chain_file.html | 1 + .../man3/SSL_CTX_use_certificate_file.html | 1 + .../man3/SSL_CTX_use_psk_identity_hint.html | 10 +- .../html/man3/SSL_CTX_use_serverinfo.html | 8 +- .../html/man3/SSL_CTX_use_serverinfo_ex.html | 1 + .../man3/SSL_CTX_use_serverinfo_file.html | 1 + .../openssl/html/man3/SSL_SESSION_dup.html | 1 + .../openssl/html/man3/SSL_SESSION_free.html | 4 +- .../man3/SSL_SESSION_get0_alpn_selected.html | 1 + .../html/man3/SSL_SESSION_get0_cipher.html | 2 +- .../html/man3/SSL_SESSION_get0_hostname.html | 4 +- .../man3/SSL_SESSION_get0_id_context.html | 2 +- .../html/man3/SSL_SESSION_get0_peer.html | 2 +- .../html/man3/SSL_SESSION_get0_ticket.html | 1 + .../man3/SSL_SESSION_get0_ticket_appdata.html | 1 + .../man3/SSL_SESSION_get_compress_id.html | 2 +- .../html/man3/SSL_SESSION_get_ex_data.html | 82 ++ .../openssl/html/man3/SSL_SESSION_get_id.html | 1 + .../html/man3/SSL_SESSION_get_master_key.html | 1 + .../man3/SSL_SESSION_get_max_early_data.html | 1 + .../SSL_SESSION_get_max_fragment_length.html | 1 + .../SSL_SESSION_get_protocol_version.html | 2 +- .../SSL_SESSION_get_ticket_lifetime_hint.html | 1 + .../html/man3/SSL_SESSION_get_time.html | 2 +- .../html/man3/SSL_SESSION_get_timeout.html | 1 + .../html/man3/SSL_SESSION_has_ticket.html | 2 +- .../html/man3/SSL_SESSION_is_resumable.html | 2 +- .../openssl/html/man3/SSL_SESSION_new.html | 1 + .../openssl/html/man3/SSL_SESSION_print.html | 2 +- .../html/man3/SSL_SESSION_print_fp.html | 1 + .../html/man3/SSL_SESSION_print_keylog.html | 1 + .../man3/SSL_SESSION_set1_alpn_selected.html | 1 + .../html/man3/SSL_SESSION_set1_hostname.html | 1 + .../html/man3/SSL_SESSION_set1_id.html | 2 +- .../man3/SSL_SESSION_set1_id_context.html | 1 + .../man3/SSL_SESSION_set1_master_key.html | 1 + .../man3/SSL_SESSION_set1_ticket_appdata.html | 1 + .../html/man3/SSL_SESSION_set_cipher.html | 1 + .../html/man3/SSL_SESSION_set_ex_data.html | 1 + .../man3/SSL_SESSION_set_max_early_data.html | 1 + .../SSL_SESSION_set_protocol_version.html | 1 + .../html/man3/SSL_SESSION_set_time.html | 1 + .../html/man3/SSL_SESSION_set_timeout.html | 1 + .../openssl/html/man3/SSL_SESSION_up_ref.html | 1 + .../doc/openssl/html/man3/SSL_accept.html | 2 +- .../html/man3/SSL_add0_chain_cert.html | 1 + .../html/man3/SSL_add1_chain_cert.html | 1 + .../doc/openssl/html/man3/SSL_add1_host.html | 1 + .../html/man3/SSL_add1_to_CA_list.html | 1 + .../openssl/html/man3/SSL_add_client_CA.html | 1 + .../SSL_add_dir_cert_subjects_to_stack.html | 1 + .../SSL_add_file_cert_subjects_to_stack.html | 1 + .../html/man3/SSL_alert_desc_string.html | 1 + .../html/man3/SSL_alert_desc_string_long.html | 1 + .../html/man3/SSL_alert_type_string.html | 2 +- .../html/man3/SSL_alert_type_string_long.html | 1 + .../openssl/html/man3/SSL_alloc_buffers.html | 7 +- .../html/man3/SSL_allow_early_data_cb_fn.html | 1 + .../html/man3/SSL_build_cert_chain.html | 1 + .../html/man3/SSL_bytes_to_cipher_list.html | 1 + .../openssl/html/man3/SSL_callback_ctrl.html | 1 + .../openssl/html/man3/SSL_check_chain.html | 2 +- .../html/man3/SSL_check_private_key.html | 1 + .../doc/openssl/html/man3/SSL_clear.html | 2 +- .../html/man3/SSL_clear_chain_certs.html | 1 + .../doc/openssl/html/man3/SSL_clear_mode.html | 1 + .../openssl/html/man3/SSL_clear_options.html | 1 + .../html/man3/SSL_client_hello_cb_fn.html | 1 + .../man3/SSL_client_hello_get0_ciphers.html | 1 + ...client_hello_get0_compression_methods.html | 1 + .../html/man3/SSL_client_hello_get0_ext.html | 1 + .../SSL_client_hello_get0_legacy_version.html | 1 + .../man3/SSL_client_hello_get0_random.html | 1 + .../SSL_client_hello_get0_session_id.html | 1 + ..._client_hello_get1_extensions_present.html | 1 + .../html/man3/SSL_client_hello_isv2.html | 1 + .../openssl/html/man3/SSL_client_version.html | 1 + .../doc/openssl/html/man3/SSL_config.html | 1 + .../doc/openssl/html/man3/SSL_connect.html | 2 +- .../openssl/html/man3/SSL_ct_is_enabled.html | 1 + .../share/doc/openssl/html/man3/SSL_ctrl.html | 1 + .../html/man3/SSL_dane_clear_flags.html | 1 + .../openssl/html/man3/SSL_dane_enable.html | 1 + .../openssl/html/man3/SSL_dane_set_flags.html | 1 + .../openssl/html/man3/SSL_dane_tlsa_add.html | 1 + .../doc/openssl/html/man3/SSL_disable_ct.html | 1 + .../openssl/html/man3/SSL_do_handshake.html | 2 +- .../share/doc/openssl/html/man3/SSL_dup.html | 1 + .../doc/openssl/html/man3/SSL_enable_ct.html | 1 + .../html/man3/SSL_export_keying_material.html | 8 +- .../SSL_export_keying_material_early.html | 1 + .../html/man3/SSL_extension_supported.html | 43 +- .../share/doc/openssl/html/man3/SSL_free.html | 2 +- .../openssl/html/man3/SSL_free_buffers.html | 1 + .../openssl/html/man3/SSL_get0_CA_list.html | 1 + .../html/man3/SSL_get0_alpn_selected.html | 1 + .../html/man3/SSL_get0_chain_certs.html | 1 + .../html/man3/SSL_get0_dane_authority.html | 1 + .../openssl/html/man3/SSL_get0_dane_tlsa.html | 1 + .../man3/SSL_get0_next_proto_negotiated.html | 1 + .../doc/openssl/html/man3/SSL_get0_param.html | 1 + .../html/man3/SSL_get0_peer_CA_list.html | 1 + .../openssl/html/man3/SSL_get0_peer_scts.html | 2 +- .../openssl/html/man3/SSL_get0_peername.html | 1 + .../html/man3/SSL_get0_security_ex_data.html | 1 + .../openssl/html/man3/SSL_get0_session.html | 1 + .../html/man3/SSL_get0_verified_chain.html | 1 + .../openssl/html/man3/SSL_get1_curves.html | 1 + .../openssl/html/man3/SSL_get1_groups.html | 1 + .../openssl/html/man3/SSL_get1_session.html | 1 + .../html/man3/SSL_get1_supported_ciphers.html | 1 + .../openssl/html/man3/SSL_get_SSL_CTX.html | 2 +- .../html/man3/SSL_get_all_async_fds.html | 35 +- .../html/man3/SSL_get_changed_async_fds.html | 1 + .../doc/openssl/html/man3/SSL_get_cipher.html | 1 + .../html/man3/SSL_get_cipher_bits.html | 1 + .../html/man3/SSL_get_cipher_list.html | 1 + .../html/man3/SSL_get_cipher_name.html | 1 + .../html/man3/SSL_get_cipher_version.html | 1 + .../openssl/html/man3/SSL_get_ciphers.html | 2 +- .../html/man3/SSL_get_client_CA_list.html | 1 + .../html/man3/SSL_get_client_ciphers.html | 1 + .../html/man3/SSL_get_client_random.html | 2 +- .../html/man3/SSL_get_current_cipher.html | 2 +- .../html/man3/SSL_get_default_passwd_cb.html | 1 + .../SSL_get_default_passwd_cb_userdata.html | 1 + .../html/man3/SSL_get_default_timeout.html | 2 +- .../html/man3/SSL_get_early_data_status.html | 1 + .../doc/openssl/html/man3/SSL_get_error.html | 4 +- .../openssl/html/man3/SSL_get_ex_data.html | 1 + .../SSL_get_ex_data_X509_STORE_CTX_idx.html | 1 + .../html/man3/SSL_get_extms_support.html | 2 +- .../doc/openssl/html/man3/SSL_get_fd.html | 2 +- .../html/man3/SSL_get_info_callback.html | 1 + .../html/man3/SSL_get_key_update_type.html | 1 + .../html/man3/SSL_get_max_cert_list.html | 1 + .../html/man3/SSL_get_max_early_data.html | 1 + .../html/man3/SSL_get_max_proto_version.html | 1 + .../html/man3/SSL_get_min_proto_version.html | 1 + .../doc/openssl/html/man3/SSL_get_mode.html | 1 + .../html/man3/SSL_get_num_tickets.html | 1 + .../openssl/html/man3/SSL_get_options.html | 1 + .../html/man3/SSL_get_peer_cert_chain.html | 2 +- .../html/man3/SSL_get_peer_certificate.html | 2 +- .../html/man3/SSL_get_peer_signature_nid.html | 2 +- .../man3/SSL_get_peer_signature_type_nid.html | 1 + .../html/man3/SSL_get_peer_tmp_key.html | 2 +- .../html/man3/SSL_get_pending_cipher.html | 1 + .../html/man3/SSL_get_psk_identity.html | 8 +- .../html/man3/SSL_get_psk_identity_hint.html | 1 + .../html/man3/SSL_get_quiet_shutdown.html | 1 + .../doc/openssl/html/man3/SSL_get_rbio.html | 2 +- .../openssl/html/man3/SSL_get_read_ahead.html | 1 + .../SSL_get_record_padding_callback_arg.html | 1 + .../man3/SSL_get_recv_max_early_data.html | 1 + .../doc/openssl/html/man3/SSL_get_rfd.html | 1 + .../SSL_get_secure_renegotiation_support.html | 1 + .../html/man3/SSL_get_security_callback.html | 1 + .../html/man3/SSL_get_security_level.html | 1 + .../man3/SSL_get_selected_srtp_profile.html | 1 + .../html/man3/SSL_get_server_random.html | 1 + .../html/man3/SSL_get_server_tmp_key.html | 1 + .../openssl/html/man3/SSL_get_servername.html | 1 + .../html/man3/SSL_get_servername_type.html | 1 + .../openssl/html/man3/SSL_get_session.html | 2 +- .../html/man3/SSL_get_shared_ciphers.html | 1 + .../html/man3/SSL_get_shared_curve.html | 1 + .../html/man3/SSL_get_shared_group.html | 1 + .../html/man3/SSL_get_shared_sigalgs.html | 2 +- .../openssl/html/man3/SSL_get_shutdown.html | 1 + .../openssl/html/man3/SSL_get_sigalgs.html | 1 + .../html/man3/SSL_get_signature_nid.html | 1 + .../html/man3/SSL_get_signature_type_nid.html | 1 + .../html/man3/SSL_get_srtp_profiles.html | 1 + .../openssl/html/man3/SSL_get_ssl_method.html | 1 + .../doc/openssl/html/man3/SSL_get_state.html | 1 + .../doc/openssl/html/man3/SSL_get_time.html | 1 + .../openssl/html/man3/SSL_get_timeout.html | 1 + .../man3/SSL_get_tlsext_status_ocsp_resp.html | 1 + .../html/man3/SSL_get_tlsext_status_type.html | 1 + .../openssl/html/man3/SSL_get_tmp_key.html | 1 + .../html/man3/SSL_get_verify_callback.html | 1 + .../html/man3/SSL_get_verify_depth.html | 1 + .../html/man3/SSL_get_verify_mode.html | 1 + .../html/man3/SSL_get_verify_result.html | 6 +- .../openssl/html/man3/SSL_get_version.html | 2 +- .../doc/openssl/html/man3/SSL_get_wbio.html | 1 + .../doc/openssl/html/man3/SSL_get_wfd.html | 1 + .../man3/SSL_has_matching_session_id.html | 1 + .../openssl/html/man3/SSL_has_pending.html | 1 + .../openssl/html/man3/SSL_in_accept_init.html | 1 + .../doc/openssl/html/man3/SSL_in_before.html | 1 + .../html/man3/SSL_in_connect_init.html | 1 + .../doc/openssl/html/man3/SSL_in_init.html | 2 +- .../doc/openssl/html/man3/SSL_is_dtls.html | 1 + .../html/man3/SSL_is_init_finished.html | 1 + .../doc/openssl/html/man3/SSL_is_server.html | 1 + .../doc/openssl/html/man3/SSL_key_update.html | 4 +- .../openssl/html/man3/SSL_library_init.html | 4 +- .../html/man3/SSL_load_client_CA_file.html | 19 +- .../html/man3/SSL_load_error_strings.html | 1 + .../share/doc/openssl/html/man3/SSL_new.html | 16 +- .../share/doc/openssl/html/man3/SSL_peek.html | 1 + .../doc/openssl/html/man3/SSL_peek_ex.html | 1 + .../doc/openssl/html/man3/SSL_pending.html | 2 +- .../html/man3/SSL_psk_client_cb_func.html | 1 + .../man3/SSL_psk_find_session_cb_func.html | 1 + .../html/man3/SSL_psk_server_cb_func.html | 1 + .../man3/SSL_psk_use_session_cb_func.html | 1 + .../share/doc/openssl/html/man3/SSL_read.html | 2 +- .../html/man3/SSL_read_early_data.html | 8 +- .../doc/openssl/html/man3/SSL_read_ex.html | 1 + .../openssl/html/man3/SSL_renegotiate.html | 1 + .../man3/SSL_renegotiate_abbreviated.html | 1 + .../html/man3/SSL_renegotiate_pending.html | 1 + .../openssl/html/man3/SSL_rstate_string.html | 2 +- .../html/man3/SSL_rstate_string_long.html | 1 + .../html/man3/SSL_select_current_cert.html | 1 + .../html/man3/SSL_select_next_proto.html | 1 + .../openssl/html/man3/SSL_session_reused.html | 4 +- .../openssl/html/man3/SSL_set0_CA_list.html | 1 + .../doc/openssl/html/man3/SSL_set0_chain.html | 1 + .../html/man3/SSL_set0_chain_cert_store.html | 1 + .../doc/openssl/html/man3/SSL_set0_rbio.html | 1 + .../html/man3/SSL_set0_security_ex_data.html | 1 + .../html/man3/SSL_set0_verify_cert_store.html | 1 + .../doc/openssl/html/man3/SSL_set0_wbio.html | 1 + .../doc/openssl/html/man3/SSL_set1_chain.html | 1 + .../html/man3/SSL_set1_chain_cert_store.html | 1 + .../html/man3/SSL_set1_client_sigalgs.html | 1 + .../man3/SSL_set1_client_sigalgs_list.html | 1 + .../openssl/html/man3/SSL_set1_curves.html | 1 + .../html/man3/SSL_set1_curves_list.html | 1 + .../openssl/html/man3/SSL_set1_groups.html | 1 + .../html/man3/SSL_set1_groups_list.html | 1 + .../doc/openssl/html/man3/SSL_set1_host.html | 11 +- .../doc/openssl/html/man3/SSL_set1_param.html | 1 + .../openssl/html/man3/SSL_set1_sigalgs.html | 1 + .../html/man3/SSL_set1_sigalgs_list.html | 1 + .../html/man3/SSL_set1_verify_cert_store.html | 1 + .../html/man3/SSL_set_accept_state.html | 1 + .../man3/SSL_set_allow_early_data_cb.html | 1 + .../html/man3/SSL_set_alpn_protos.html | 1 + .../doc/openssl/html/man3/SSL_set_bio.html | 2 +- .../html/man3/SSL_set_block_padding.html | 1 + .../openssl/html/man3/SSL_set_cert_cb.html | 1 + .../html/man3/SSL_set_cipher_list.html | 1 + .../html/man3/SSL_set_ciphersuites.html | 1 + .../html/man3/SSL_set_client_CA_list.html | 1 + .../html/man3/SSL_set_connect_state.html | 2 +- .../man3/SSL_set_ct_validation_callback.html | 1 + .../html/man3/SSL_set_current_cert.html | 1 + .../html/man3/SSL_set_default_passwd_cb.html | 1 + .../SSL_set_default_passwd_cb_userdata.html | 1 + .../man3/SSL_set_default_read_buffer_len.html | 1 + .../openssl/html/man3/SSL_set_ex_data.html | 1 + .../doc/openssl/html/man3/SSL_set_fd.html | 2 +- .../man3/SSL_set_generate_session_id.html | 1 + .../openssl/html/man3/SSL_set_hostflags.html | 1 + .../html/man3/SSL_set_info_callback.html | 1 + .../html/man3/SSL_set_max_cert_list.html | 1 + .../html/man3/SSL_set_max_early_data.html | 1 + .../html/man3/SSL_set_max_pipelines.html | 1 + .../html/man3/SSL_set_max_proto_version.html | 1 + .../html/man3/SSL_set_max_send_fragment.html | 1 + .../html/man3/SSL_set_min_proto_version.html | 1 + .../doc/openssl/html/man3/SSL_set_mode.html | 1 + .../html/man3/SSL_set_msg_callback.html | 1 + .../html/man3/SSL_set_msg_callback_arg.html | 1 + .../html/man3/SSL_set_num_tickets.html | 1 + .../openssl/html/man3/SSL_set_options.html | 1 + .../man3/SSL_set_post_handshake_auth.html | 1 + .../man3/SSL_set_psk_client_callback.html | 1 + .../SSL_set_psk_find_session_callback.html | 1 + .../man3/SSL_set_psk_server_callback.html | 1 + .../SSL_set_psk_use_session_callback.html | 1 + .../html/man3/SSL_set_quiet_shutdown.html | 1 + .../openssl/html/man3/SSL_set_read_ahead.html | 1 + .../man3/SSL_set_record_padding_callback.html | 1 + .../SSL_set_record_padding_callback_arg.html | 1 + .../man3/SSL_set_recv_max_early_data.html | 1 + .../doc/openssl/html/man3/SSL_set_rfd.html | 1 + .../html/man3/SSL_set_security_callback.html | 1 + .../html/man3/SSL_set_security_level.html | 1 + .../openssl/html/man3/SSL_set_session.html | 2 +- .../html/man3/SSL_set_session_id_context.html | 1 + .../openssl/html/man3/SSL_set_shutdown.html | 4 +- .../man3/SSL_set_split_send_fragment.html | 1 + .../openssl/html/man3/SSL_set_ssl_method.html | 1 + .../doc/openssl/html/man3/SSL_set_time.html | 1 + .../openssl/html/man3/SSL_set_timeout.html | 1 + .../html/man3/SSL_set_tlsext_host_name.html | 1 + .../SSL_set_tlsext_max_fragment_length.html | 1 + .../man3/SSL_set_tlsext_status_ocsp_resp.html | 1 + .../html/man3/SSL_set_tlsext_status_type.html | 1 + .../html/man3/SSL_set_tlsext_use_srtp.html | 1 + .../doc/openssl/html/man3/SSL_set_tmp_dh.html | 1 + .../html/man3/SSL_set_tmp_dh_callback.html | 1 + .../doc/openssl/html/man3/SSL_set_verify.html | 1 + .../html/man3/SSL_set_verify_depth.html | 1 + .../html/man3/SSL_set_verify_result.html | 6 +- .../doc/openssl/html/man3/SSL_set_wfd.html | 1 + .../doc/openssl/html/man3/SSL_shutdown.html | 58 +- .../openssl/html/man3/SSL_state_string.html | 2 +- .../html/man3/SSL_state_string_long.html | 1 + .../doc/openssl/html/man3/SSL_stateless.html | 1 + .../doc/openssl/html/man3/SSL_up_ref.html | 1 + .../openssl/html/man3/SSL_use_PrivateKey.html | 1 + .../html/man3/SSL_use_PrivateKey_ASN1.html | 1 + .../html/man3/SSL_use_PrivateKey_file.html | 1 + .../html/man3/SSL_use_RSAPrivateKey.html | 1 + .../html/man3/SSL_use_RSAPrivateKey_ASN1.html | 1 + .../html/man3/SSL_use_RSAPrivateKey_file.html | 1 + .../html/man3/SSL_use_cert_and_key.html | 1 + .../html/man3/SSL_use_certificate.html | 1 + .../html/man3/SSL_use_certificate_ASN1.html | 1 + .../man3/SSL_use_certificate_chain_file.html | 1 + .../html/man3/SSL_use_certificate_file.html | 1 + .../html/man3/SSL_use_psk_identity_hint.html | 1 + .../doc/openssl/html/man3/SSL_verify_cb.html | 1 + .../SSL_verify_client_post_handshake.html | 1 + .../doc/openssl/html/man3/SSL_version.html | 1 + .../html/man3/SSL_waiting_for_async.html | 1 + .../share/doc/openssl/html/man3/SSL_want.html | 2 +- .../doc/openssl/html/man3/SSL_want_async.html | 1 + .../openssl/html/man3/SSL_want_async_job.html | 1 + .../html/man3/SSL_want_client_hello_cb.html | 1 + .../openssl/html/man3/SSL_want_nothing.html | 1 + .../doc/openssl/html/man3/SSL_want_read.html | 1 + .../doc/openssl/html/man3/SSL_want_write.html | 1 + .../html/man3/SSL_want_x509_lookup.html | 1 + .../doc/openssl/html/man3/SSL_write.html | 33 +- .../html/man3/SSL_write_early_data.html | 1 + .../doc/openssl/html/man3/SSL_write_ex.html | 1 + .../html/man3/SSLv23_client_method.html | 1 + .../doc/openssl/html/man3/SSLv23_method.html | 1 + .../html/man3/SSLv23_server_method.html | 1 + .../html/man3/SSLv3_client_method.html | 1 + .../doc/openssl/html/man3/SSLv3_method.html | 1 + .../html/man3/SSLv3_server_method.html | 1 + .../doc/openssl/html/man3/SXNETID_free.html | 1 + .../doc/openssl/html/man3/SXNETID_new.html | 1 + .../doc/openssl/html/man3/SXNET_free.html | 1 + .../doc/openssl/html/man3/SXNET_new.html | 1 + .../openssl/html/man3/TLS_FEATURE_free.html | 1 + .../openssl/html/man3/TLS_FEATURE_new.html | 1 + .../openssl/html/man3/TLS_client_method.html | 1 + .../doc/openssl/html/man3/TLS_method.html | 1 + .../openssl/html/man3/TLS_server_method.html | 1 + .../html/man3/TLSv1_1_client_method.html | 1 + .../doc/openssl/html/man3/TLSv1_1_method.html | 1 + .../html/man3/TLSv1_1_server_method.html | 1 + .../html/man3/TLSv1_2_client_method.html | 1 + .../doc/openssl/html/man3/TLSv1_2_method.html | 1 + .../html/man3/TLSv1_2_server_method.html | 1 + .../html/man3/TLSv1_client_method.html | 1 + .../doc/openssl/html/man3/TLSv1_method.html | 1 + .../html/man3/TLSv1_server_method.html | 1 + .../openssl/html/man3/TS_ACCURACY_dup.html | 1 + .../openssl/html/man3/TS_ACCURACY_free.html | 1 + .../openssl/html/man3/TS_ACCURACY_new.html | 1 + .../openssl/html/man3/TS_MSG_IMPRINT_dup.html | 1 + .../html/man3/TS_MSG_IMPRINT_free.html | 1 + .../openssl/html/man3/TS_MSG_IMPRINT_new.html | 1 + .../doc/openssl/html/man3/TS_REQ_dup.html | 1 + .../doc/openssl/html/man3/TS_REQ_free.html | 1 + .../doc/openssl/html/man3/TS_REQ_new.html | 1 + .../doc/openssl/html/man3/TS_RESP_dup.html | 1 + .../doc/openssl/html/man3/TS_RESP_free.html | 1 + .../doc/openssl/html/man3/TS_RESP_new.html | 1 + .../openssl/html/man3/TS_STATUS_INFO_dup.html | 1 + .../html/man3/TS_STATUS_INFO_free.html | 1 + .../openssl/html/man3/TS_STATUS_INFO_new.html | 1 + .../openssl/html/man3/TS_TST_INFO_dup.html | 1 + .../openssl/html/man3/TS_TST_INFO_free.html | 1 + .../openssl/html/man3/TS_TST_INFO_new.html | 1 + .../share/doc/openssl/html/man3/UI.html | 1 + .../doc/openssl/html/man3/UI_METHOD.html | 1 + .../doc/openssl/html/man3/UI_OpenSSL.html | 1 + .../doc/openssl/html/man3/UI_STRING.html | 2 +- .../openssl/html/man3/UI_UTIL_read_pw.html | 4 +- .../html/man3/UI_UTIL_read_pw_string.html | 1 + .../man3/UI_UTIL_wrap_read_pem_callback.html | 1 + .../html/man3/UI_add_error_string.html | 1 + .../openssl/html/man3/UI_add_info_string.html | 1 + .../html/man3/UI_add_input_boolean.html | 1 + .../html/man3/UI_add_input_string.html | 1 + .../openssl/html/man3/UI_add_user_data.html | 1 + .../html/man3/UI_add_verify_string.html | 1 + .../html/man3/UI_construct_prompt.html | 1 + .../openssl/html/man3/UI_create_method.html | 2 +- .../share/doc/openssl/html/man3/UI_ctrl.html | 1 + .../openssl/html/man3/UI_destroy_method.html | 1 + .../html/man3/UI_dup_error_string.html | 1 + .../openssl/html/man3/UI_dup_info_string.html | 1 + .../html/man3/UI_dup_input_boolean.html | 1 + .../html/man3/UI_dup_input_string.html | 1 + .../openssl/html/man3/UI_dup_user_data.html | 1 + .../html/man3/UI_dup_verify_string.html | 1 + .../share/doc/openssl/html/man3/UI_free.html | 1 + .../html/man3/UI_get0_action_string.html | 1 + .../html/man3/UI_get0_output_string.html | 1 + .../doc/openssl/html/man3/UI_get0_result.html | 1 + .../html/man3/UI_get0_result_string.html | 1 + .../html/man3/UI_get0_test_string.html | 1 + .../openssl/html/man3/UI_get0_user_data.html | 1 + .../html/man3/UI_get_default_method.html | 1 + .../doc/openssl/html/man3/UI_get_ex_data.html | 1 + .../html/man3/UI_get_ex_new_index.html | 1 + .../openssl/html/man3/UI_get_input_flags.html | 1 + .../doc/openssl/html/man3/UI_get_method.html | 1 + .../html/man3/UI_get_result_length.html | 1 + .../html/man3/UI_get_result_maxsize.html | 1 + .../html/man3/UI_get_result_minsize.html | 1 + .../man3/UI_get_result_string_length.html | 1 + .../openssl/html/man3/UI_get_string_type.html | 1 + .../html/man3/UI_method_get_closer.html | 1 + .../man3/UI_method_get_data_destructor.html | 1 + .../man3/UI_method_get_data_duplicator.html | 1 + .../html/man3/UI_method_get_ex_data.html | 1 + .../html/man3/UI_method_get_flusher.html | 1 + .../html/man3/UI_method_get_opener.html | 1 + .../UI_method_get_prompt_constructor.html | 1 + .../html/man3/UI_method_get_reader.html | 1 + .../html/man3/UI_method_get_writer.html | 1 + .../html/man3/UI_method_set_closer.html | 1 + .../man3/UI_method_set_data_duplicator.html | 1 + .../html/man3/UI_method_set_ex_data.html | 1 + .../html/man3/UI_method_set_flusher.html | 1 + .../html/man3/UI_method_set_opener.html | 1 + .../UI_method_set_prompt_constructor.html | 1 + .../html/man3/UI_method_set_reader.html | 1 + .../html/man3/UI_method_set_writer.html | 1 + .../share/doc/openssl/html/man3/UI_new.html | 10 +- .../doc/openssl/html/man3/UI_new_method.html | 1 + .../share/doc/openssl/html/man3/UI_null.html | 1 + .../doc/openssl/html/man3/UI_process.html | 1 + .../html/man3/UI_set_default_method.html | 1 + .../doc/openssl/html/man3/UI_set_ex_data.html | 1 + .../doc/openssl/html/man3/UI_set_method.html | 1 + .../doc/openssl/html/man3/UI_set_result.html | 1 + .../openssl/html/man3/UI_set_result_ex.html | 1 + .../openssl/html/man3/UI_string_types.html | 1 + .../openssl/html/man3/USERNOTICE_free.html | 1 + .../doc/openssl/html/man3/USERNOTICE_new.html | 1 + .../doc/openssl/html/man3/X509V3_EXT_d2i.html | 1 + .../doc/openssl/html/man3/X509V3_EXT_i2d.html | 1 + .../openssl/html/man3/X509V3_add1_i2d.html | 1 + .../doc/openssl/html/man3/X509V3_get_d2i.html | 2 +- .../doc/openssl/html/man3/X509_ALGOR_cmp.html | 1 + .../doc/openssl/html/man3/X509_ALGOR_dup.html | 6 +- .../openssl/html/man3/X509_ALGOR_free.html | 1 + .../openssl/html/man3/X509_ALGOR_get0.html | 1 + .../doc/openssl/html/man3/X509_ALGOR_new.html | 1 + .../openssl/html/man3/X509_ALGOR_set0.html | 1 + .../openssl/html/man3/X509_ALGOR_set_md.html | 1 + .../openssl/html/man3/X509_ATTRIBUTE_dup.html | 1 + .../html/man3/X509_ATTRIBUTE_free.html | 1 + .../openssl/html/man3/X509_ATTRIBUTE_new.html | 1 + .../openssl/html/man3/X509_CERT_AUX_free.html | 1 + .../openssl/html/man3/X509_CERT_AUX_new.html | 1 + .../doc/openssl/html/man3/X509_CINF_free.html | 1 + .../doc/openssl/html/man3/X509_CINF_new.html | 1 + .../openssl/html/man3/X509_CRL_INFO_free.html | 1 + .../openssl/html/man3/X509_CRL_INFO_new.html | 1 + .../html/man3/X509_CRL_add0_revoked.html | 1 + .../html/man3/X509_CRL_add1_ext_i2d.html | 1 + .../openssl/html/man3/X509_CRL_add_ext.html | 1 + .../doc/openssl/html/man3/X509_CRL_cmp.html | 1 + .../html/man3/X509_CRL_delete_ext.html | 1 + .../openssl/html/man3/X509_CRL_digest.html | 1 + .../doc/openssl/html/man3/X509_CRL_dup.html | 1 + .../doc/openssl/html/man3/X509_CRL_free.html | 1 + .../html/man3/X509_CRL_get0_by_cert.html | 1 + .../html/man3/X509_CRL_get0_by_serial.html | 2 +- .../html/man3/X509_CRL_get0_extensions.html | 1 + .../html/man3/X509_CRL_get0_lastUpdate.html | 1 + .../html/man3/X509_CRL_get0_nextUpdate.html | 1 + .../html/man3/X509_CRL_get0_signature.html | 1 + .../html/man3/X509_CRL_get_REVOKED.html | 1 + .../openssl/html/man3/X509_CRL_get_ext.html | 1 + .../html/man3/X509_CRL_get_ext_by_NID.html | 1 + .../html/man3/X509_CRL_get_ext_by_OBJ.html | 1 + .../man3/X509_CRL_get_ext_by_critical.html | 1 + .../html/man3/X509_CRL_get_ext_count.html | 1 + .../html/man3/X509_CRL_get_ext_d2i.html | 1 + .../html/man3/X509_CRL_get_issuer.html | 1 + .../html/man3/X509_CRL_get_signature_nid.html | 1 + .../html/man3/X509_CRL_get_version.html | 1 + .../doc/openssl/html/man3/X509_CRL_match.html | 1 + .../doc/openssl/html/man3/X509_CRL_new.html | 1 + .../html/man3/X509_CRL_set1_lastUpdate.html | 1 + .../html/man3/X509_CRL_set1_nextUpdate.html | 1 + .../html/man3/X509_CRL_set_issuer_name.html | 1 + .../html/man3/X509_CRL_set_version.html | 1 + .../doc/openssl/html/man3/X509_CRL_sign.html | 1 + .../openssl/html/man3/X509_CRL_sign_ctx.html | 1 + .../doc/openssl/html/man3/X509_CRL_sort.html | 1 + .../openssl/html/man3/X509_CRL_verify.html | 1 + .../man3/X509_EXTENSION_create_by_NID.html | 1 + .../man3/X509_EXTENSION_create_by_OBJ.html | 1 + .../openssl/html/man3/X509_EXTENSION_dup.html | 1 + .../html/man3/X509_EXTENSION_free.html | 1 + .../man3/X509_EXTENSION_get_critical.html | 1 + .../html/man3/X509_EXTENSION_get_data.html | 1 + .../html/man3/X509_EXTENSION_get_object.html | 1 + .../openssl/html/man3/X509_EXTENSION_new.html | 1 + .../man3/X509_EXTENSION_set_critical.html | 1 + .../html/man3/X509_EXTENSION_set_data.html | 1 + .../html/man3/X509_EXTENSION_set_object.html | 2 +- .../html/man3/X509_LOOKUP_ctrl_fn.html | 1 + .../openssl/html/man3/X509_LOOKUP_file.html | 1 + .../man3/X509_LOOKUP_get_by_alias_fn.html | 1 + .../X509_LOOKUP_get_by_fingerprint_fn.html | 1 + .../X509_LOOKUP_get_by_issuer_serial_fn.html | 1 + .../man3/X509_LOOKUP_get_by_subject_fn.html | 1 + .../man3/X509_LOOKUP_get_method_data.html | 1 + .../html/man3/X509_LOOKUP_get_store.html | 1 + .../html/man3/X509_LOOKUP_hash_dir.html | 46 +- .../html/man3/X509_LOOKUP_meth_free.html | 1 + .../html/man3/X509_LOOKUP_meth_get_ctrl.html | 1 + .../html/man3/X509_LOOKUP_meth_get_free.html | 1 + .../X509_LOOKUP_meth_get_get_by_alias.html | 1 + ...09_LOOKUP_meth_get_get_by_fingerprint.html | 1 + ..._LOOKUP_meth_get_get_by_issuer_serial.html | 1 + .../X509_LOOKUP_meth_get_get_by_subject.html | 1 + .../html/man3/X509_LOOKUP_meth_get_init.html | 1 + .../man3/X509_LOOKUP_meth_get_new_item.html | 1 + .../man3/X509_LOOKUP_meth_get_shutdown.html | 1 + .../html/man3/X509_LOOKUP_meth_new.html | 27 +- .../html/man3/X509_LOOKUP_meth_set_ctrl.html | 1 + .../html/man3/X509_LOOKUP_meth_set_free.html | 1 + .../X509_LOOKUP_meth_set_get_by_alias.html | 1 + ...09_LOOKUP_meth_set_get_by_fingerprint.html | 1 + ..._LOOKUP_meth_set_get_by_issuer_serial.html | 1 + .../X509_LOOKUP_meth_set_get_by_subject.html | 1 + .../html/man3/X509_LOOKUP_meth_set_init.html | 1 + .../man3/X509_LOOKUP_meth_set_new_item.html | 1 + .../man3/X509_LOOKUP_meth_set_shutdown.html | 1 + .../man3/X509_LOOKUP_set_method_data.html | 1 + .../man3/X509_NAME_ENTRY_create_by_NID.html | 1 + .../man3/X509_NAME_ENTRY_create_by_OBJ.html | 1 + .../man3/X509_NAME_ENTRY_create_by_txt.html | 1 + .../html/man3/X509_NAME_ENTRY_dup.html | 1 + .../html/man3/X509_NAME_ENTRY_free.html | 1 + .../html/man3/X509_NAME_ENTRY_get_data.html | 1 + .../html/man3/X509_NAME_ENTRY_get_object.html | 2 +- .../html/man3/X509_NAME_ENTRY_new.html | 1 + .../html/man3/X509_NAME_ENTRY_set_data.html | 1 + .../html/man3/X509_NAME_ENTRY_set_object.html | 1 + .../html/man3/X509_NAME_add_entry.html | 1 + .../html/man3/X509_NAME_add_entry_by_NID.html | 1 + .../html/man3/X509_NAME_add_entry_by_OBJ.html | 1 + .../html/man3/X509_NAME_add_entry_by_txt.html | 4 +- .../doc/openssl/html/man3/X509_NAME_cmp.html | 1 + .../html/man3/X509_NAME_delete_entry.html | 1 + .../openssl/html/man3/X509_NAME_digest.html | 1 + .../doc/openssl/html/man3/X509_NAME_dup.html | 1 + .../html/man3/X509_NAME_entry_count.html | 1 + .../doc/openssl/html/man3/X509_NAME_free.html | 1 + .../openssl/html/man3/X509_NAME_get0_der.html | 2 +- .../html/man3/X509_NAME_get_entry.html | 1 + .../html/man3/X509_NAME_get_index_by_NID.html | 4 +- .../html/man3/X509_NAME_get_index_by_OBJ.html | 1 + .../html/man3/X509_NAME_get_text_by_NID.html | 1 + .../html/man3/X509_NAME_get_text_by_OBJ.html | 1 + .../doc/openssl/html/man3/X509_NAME_new.html | 1 + .../openssl/html/man3/X509_NAME_oneline.html | 1 + .../openssl/html/man3/X509_NAME_print.html | 1 + .../openssl/html/man3/X509_NAME_print_ex.html | 8 +- .../html/man3/X509_NAME_print_ex_fp.html | 1 + .../html/man3/X509_OBJECT_set1_X509.html | 1 + .../html/man3/X509_OBJECT_set1_X509_CRL.html | 1 + .../openssl/html/man3/X509_PUBKEY_free.html | 1 + .../openssl/html/man3/X509_PUBKEY_get.html | 1 + .../openssl/html/man3/X509_PUBKEY_get0.html | 1 + .../html/man3/X509_PUBKEY_get0_param.html | 1 + .../openssl/html/man3/X509_PUBKEY_new.html | 16 +- .../openssl/html/man3/X509_PUBKEY_set.html | 1 + .../html/man3/X509_PUBKEY_set0_param.html | 1 + .../openssl/html/man3/X509_REQ_INFO_free.html | 1 + .../openssl/html/man3/X509_REQ_INFO_new.html | 1 + .../html/man3/X509_REQ_check_private_key.html | 1 + .../openssl/html/man3/X509_REQ_digest.html | 1 + .../doc/openssl/html/man3/X509_REQ_dup.html | 1 + .../doc/openssl/html/man3/X509_REQ_free.html | 1 + .../html/man3/X509_REQ_get0_pubkey.html | 1 + .../html/man3/X509_REQ_get0_signature.html | 1 + .../html/man3/X509_REQ_get_X509_PUBKEY.html | 1 + .../html/man3/X509_REQ_get_pubkey.html | 1 + .../html/man3/X509_REQ_get_signature_nid.html | 1 + .../html/man3/X509_REQ_get_subject_name.html | 1 + .../html/man3/X509_REQ_get_version.html | 1 + .../doc/openssl/html/man3/X509_REQ_new.html | 1 + .../html/man3/X509_REQ_set_pubkey.html | 1 + .../html/man3/X509_REQ_set_subject_name.html | 1 + .../html/man3/X509_REQ_set_version.html | 1 + .../doc/openssl/html/man3/X509_REQ_sign.html | 1 + .../openssl/html/man3/X509_REQ_sign_ctx.html | 1 + .../openssl/html/man3/X509_REQ_verify.html | 1 + .../html/man3/X509_REVOKED_add1_ext_i2d.html | 1 + .../html/man3/X509_REVOKED_add_ext.html | 1 + .../html/man3/X509_REVOKED_delete_ext.html | 1 + .../openssl/html/man3/X509_REVOKED_dup.html | 1 + .../openssl/html/man3/X509_REVOKED_free.html | 1 + .../man3/X509_REVOKED_get0_extensions.html | 1 + .../X509_REVOKED_get0_revocationDate.html | 1 + .../man3/X509_REVOKED_get0_serialNumber.html | 1 + .../html/man3/X509_REVOKED_get_ext.html | 1 + .../man3/X509_REVOKED_get_ext_by_NID.html | 1 + .../man3/X509_REVOKED_get_ext_by_OBJ.html | 1 + .../X509_REVOKED_get_ext_by_critical.html | 1 + .../html/man3/X509_REVOKED_get_ext_count.html | 1 + .../html/man3/X509_REVOKED_get_ext_d2i.html | 1 + .../openssl/html/man3/X509_REVOKED_new.html | 1 + .../man3/X509_REVOKED_set_revocationDate.html | 1 + .../man3/X509_REVOKED_set_serialNumber.html | 1 + .../openssl/html/man3/X509_SIG_INFO_get.html | 1 + .../openssl/html/man3/X509_SIG_INFO_set.html | 1 + .../doc/openssl/html/man3/X509_SIG_free.html | 1 + .../doc/openssl/html/man3/X509_SIG_get0.html | 2 +- .../doc/openssl/html/man3/X509_SIG_getm.html | 1 + .../doc/openssl/html/man3/X509_SIG_new.html | 1 + .../html/man3/X509_STORE_CTX_cert_crl_fn.html | 1 + .../man3/X509_STORE_CTX_check_crl_fn.html | 1 + .../man3/X509_STORE_CTX_check_issued_fn.html | 1 + .../man3/X509_STORE_CTX_check_policy_fn.html | 1 + .../X509_STORE_CTX_check_revocation_fn.html | 1 + .../html/man3/X509_STORE_CTX_cleanup.html | 1 + .../html/man3/X509_STORE_CTX_cleanup_fn.html | 1 + .../html/man3/X509_STORE_CTX_free.html | 1 + .../html/man3/X509_STORE_CTX_get0_cert.html | 1 + .../html/man3/X509_STORE_CTX_get0_chain.html | 1 + .../html/man3/X509_STORE_CTX_get0_param.html | 1 + .../man3/X509_STORE_CTX_get0_untrusted.html | 1 + .../html/man3/X509_STORE_CTX_get1_chain.html | 1 + .../man3/X509_STORE_CTX_get_cert_crl.html | 1 + .../man3/X509_STORE_CTX_get_check_crl.html | 1 + .../man3/X509_STORE_CTX_get_check_issued.html | 1 + .../man3/X509_STORE_CTX_get_check_policy.html | 1 + .../X509_STORE_CTX_get_check_revocation.html | 1 + .../html/man3/X509_STORE_CTX_get_cleanup.html | 1 + .../html/man3/X509_STORE_CTX_get_crl_fn.html | 1 + .../man3/X509_STORE_CTX_get_current_cert.html | 1 + .../html/man3/X509_STORE_CTX_get_error.html | 236 +--- .../man3/X509_STORE_CTX_get_error_depth.html | 1 + .../html/man3/X509_STORE_CTX_get_ex_data.html | 1 + .../man3/X509_STORE_CTX_get_ex_new_index.html | 1 + .../html/man3/X509_STORE_CTX_get_get_crl.html | 1 + .../man3/X509_STORE_CTX_get_get_issuer.html | 1 + .../man3/X509_STORE_CTX_get_issuer_fn.html | 1 + .../man3/X509_STORE_CTX_get_lookup_certs.html | 1 + .../man3/X509_STORE_CTX_get_lookup_crls.html | 1 + .../X509_STORE_CTX_get_num_untrusted.html | 1 + .../html/man3/X509_STORE_CTX_get_verify.html | 1 + .../man3/X509_STORE_CTX_get_verify_cb.html | 1 + .../html/man3/X509_STORE_CTX_init.html | 1 + .../man3/X509_STORE_CTX_lookup_certs_fn.html | 1 + .../man3/X509_STORE_CTX_lookup_crls_fn.html | 1 + .../openssl/html/man3/X509_STORE_CTX_new.html | 2 +- .../html/man3/X509_STORE_CTX_set0_crls.html | 1 + .../html/man3/X509_STORE_CTX_set0_param.html | 1 + .../X509_STORE_CTX_set0_trusted_stack.html | 1 + .../man3/X509_STORE_CTX_set0_untrusted.html | 1 + .../X509_STORE_CTX_set0_verified_chain.html | 1 + .../html/man3/X509_STORE_CTX_set_cert.html | 1 + .../man3/X509_STORE_CTX_set_current_cert.html | 1 + .../html/man3/X509_STORE_CTX_set_default.html | 1 + .../html/man3/X509_STORE_CTX_set_error.html | 1 + .../man3/X509_STORE_CTX_set_error_depth.html | 1 + .../html/man3/X509_STORE_CTX_set_ex_data.html | 1 + .../html/man3/X509_STORE_CTX_set_verify.html | 1 + .../man3/X509_STORE_CTX_set_verify_cb.html | 18 +- .../html/man3/X509_STORE_CTX_verify_cb.html | 1 + .../html/man3/X509_STORE_CTX_verify_fn.html | 1 + .../html/man3/X509_STORE_add_cert.html | 54 +- .../openssl/html/man3/X509_STORE_add_crl.html | 1 + .../openssl/html/man3/X509_STORE_free.html | 1 + .../html/man3/X509_STORE_get0_objects.html | 1 + .../html/man3/X509_STORE_get0_param.html | 17 +- .../html/man3/X509_STORE_get_cert_crl.html | 1 + .../html/man3/X509_STORE_get_check_crl.html | 1 + .../man3/X509_STORE_get_check_issued.html | 1 + .../man3/X509_STORE_get_check_policy.html | 1 + .../man3/X509_STORE_get_check_revocation.html | 1 + .../html/man3/X509_STORE_get_cleanup.html | 1 + .../html/man3/X509_STORE_get_ex_data.html | 1 + .../man3/X509_STORE_get_ex_new_index.html | 1 + .../html/man3/X509_STORE_get_get_crl.html | 1 + .../html/man3/X509_STORE_get_get_issuer.html | 1 + .../man3/X509_STORE_get_lookup_certs.html | 1 + .../html/man3/X509_STORE_get_lookup_crls.html | 1 + .../html/man3/X509_STORE_get_verify_cb.html | 1 + .../html/man3/X509_STORE_load_locations.html | 1 + .../openssl/html/man3/X509_STORE_lock.html | 1 + .../doc/openssl/html/man3/X509_STORE_new.html | 4 +- .../html/man3/X509_STORE_set1_param.html | 1 + .../html/man3/X509_STORE_set_cert_crl.html | 1 + .../html/man3/X509_STORE_set_check_crl.html | 1 + .../man3/X509_STORE_set_check_issued.html | 1 + .../man3/X509_STORE_set_check_policy.html | 1 + .../man3/X509_STORE_set_check_revocation.html | 1 + .../html/man3/X509_STORE_set_cleanup.html | 1 + .../man3/X509_STORE_set_default_paths.html | 1 + .../html/man3/X509_STORE_set_depth.html | 1 + .../html/man3/X509_STORE_set_ex_data.html | 1 + .../html/man3/X509_STORE_set_flags.html | 1 + .../html/man3/X509_STORE_set_get_crl.html | 1 + .../html/man3/X509_STORE_set_get_issuer.html | 1 + .../man3/X509_STORE_set_lookup_certs.html | 1 + .../html/man3/X509_STORE_set_lookup_crls.html | 1 + .../man3/X509_STORE_set_lookup_crls_cb.html | 1 + .../html/man3/X509_STORE_set_purpose.html | 1 + .../html/man3/X509_STORE_set_trust.html | 1 + .../html/man3/X509_STORE_set_verify.html | 1 + .../html/man3/X509_STORE_set_verify_cb.html | 1 + .../man3/X509_STORE_set_verify_cb_func.html | 2 +- .../html/man3/X509_STORE_set_verify_func.html | 1 + .../openssl/html/man3/X509_STORE_unlock.html | 1 + .../openssl/html/man3/X509_STORE_up_ref.html | 1 + .../doc/openssl/html/man3/X509_VAL_free.html | 1 + .../doc/openssl/html/man3/X509_VAL_new.html | 1 + .../man3/X509_VERIFY_PARAM_add0_policy.html | 1 + .../man3/X509_VERIFY_PARAM_add1_host.html | 1 + .../man3/X509_VERIFY_PARAM_clear_flags.html | 1 + .../man3/X509_VERIFY_PARAM_get0_peername.html | 1 + .../X509_VERIFY_PARAM_get_auth_level.html | 1 + .../man3/X509_VERIFY_PARAM_get_depth.html | 1 + .../man3/X509_VERIFY_PARAM_get_flags.html | 1 + .../man3/X509_VERIFY_PARAM_get_hostflags.html | 1 + .../man3/X509_VERIFY_PARAM_get_inh_flags.html | 1 + .../html/man3/X509_VERIFY_PARAM_get_time.html | 1 + .../man3/X509_VERIFY_PARAM_set1_email.html | 1 + .../man3/X509_VERIFY_PARAM_set1_host.html | 1 + .../html/man3/X509_VERIFY_PARAM_set1_ip.html | 1 + .../man3/X509_VERIFY_PARAM_set1_ip_asc.html | 1 + .../man3/X509_VERIFY_PARAM_set1_policies.html | 1 + .../X509_VERIFY_PARAM_set_auth_level.html | 1 + .../man3/X509_VERIFY_PARAM_set_depth.html | 1 + .../man3/X509_VERIFY_PARAM_set_flags.html | 12 +- .../man3/X509_VERIFY_PARAM_set_hostflags.html | 1 + .../man3/X509_VERIFY_PARAM_set_inh_flags.html | 1 + .../man3/X509_VERIFY_PARAM_set_purpose.html | 1 + .../html/man3/X509_VERIFY_PARAM_set_time.html | 1 + .../man3/X509_VERIFY_PARAM_set_trust.html | 1 + .../openssl/html/man3/X509_add1_ext_i2d.html | 1 + .../doc/openssl/html/man3/X509_add_ext.html | 1 + .../openssl/html/man3/X509_chain_up_ref.html | 1 + .../doc/openssl/html/man3/X509_check_ca.html | 4 +- .../openssl/html/man3/X509_check_email.html | 1 + .../openssl/html/man3/X509_check_host.html | 6 +- .../doc/openssl/html/man3/X509_check_ip.html | 1 + .../openssl/html/man3/X509_check_ip_asc.html | 1 + .../openssl/html/man3/X509_check_issued.html | 4 +- .../html/man3/X509_check_private_key.html | 2 +- .../html/man3/X509_cmp_current_time.html | 1 + .../doc/openssl/html/man3/X509_cmp_time.html | 34 +- .../openssl/html/man3/X509_delete_ext.html | 1 + .../doc/openssl/html/man3/X509_digest.html | 2 +- .../share/doc/openssl/html/man3/X509_dup.html | 72 +- .../doc/openssl/html/man3/X509_free.html | 1 + .../html/man3/X509_get0_authority_issuer.html | 1 + .../html/man3/X509_get0_authority_key_id.html | 1 + .../html/man3/X509_get0_authority_serial.html | 1 + .../html/man3/X509_get0_extensions.html | 1 + .../openssl/html/man3/X509_get0_notAfter.html | 1 + .../html/man3/X509_get0_notBefore.html | 2 +- .../openssl/html/man3/X509_get0_pubkey.html | 1 + .../html/man3/X509_get0_serialNumber.html | 1 + .../html/man3/X509_get0_signature.html | 2 +- .../html/man3/X509_get0_subject_key_id.html | 1 + .../html/man3/X509_get0_tbs_sigalg.html | 1 + .../doc/openssl/html/man3/X509_get0_uids.html | 2 +- .../html/man3/X509_get_X509_PUBKEY.html | 1 + .../openssl/html/man3/X509_get_ex_data.html | 1 + .../html/man3/X509_get_ex_new_index.html | 1 + .../doc/openssl/html/man3/X509_get_ext.html | 1 + .../html/man3/X509_get_ext_by_NID.html | 1 + .../html/man3/X509_get_ext_by_OBJ.html | 1 + .../html/man3/X509_get_ext_by_critical.html | 1 + .../openssl/html/man3/X509_get_ext_count.html | 1 + .../openssl/html/man3/X509_get_ext_d2i.html | 1 + .../man3/X509_get_extended_key_usage.html | 1 + .../html/man3/X509_get_extension_flags.html | 4 +- .../html/man3/X509_get_issuer_name.html | 1 + .../openssl/html/man3/X509_get_key_usage.html | 1 + .../openssl/html/man3/X509_get_pathlen.html | 1 + .../html/man3/X509_get_proxy_pathlen.html | 1 + .../openssl/html/man3/X509_get_pubkey.html | 2 +- .../html/man3/X509_get_serialNumber.html | 2 +- .../html/man3/X509_get_signature_info.html | 1 + .../html/man3/X509_get_signature_nid.html | 1 + .../html/man3/X509_get_subject_name.html | 2 +- .../openssl/html/man3/X509_get_version.html | 2 +- .../openssl/html/man3/X509_getm_notAfter.html | 1 + .../html/man3/X509_getm_notBefore.html | 1 + .../html/man3/X509_issuer_and_serial_cmp.html | 1 + .../html/man3/X509_issuer_name_cmp.html | 1 + .../html/man3/X509_load_cert_crl_file.html | 1 + .../html/man3/X509_load_cert_file.html | 1 + .../openssl/html/man3/X509_load_crl_file.html | 1 + .../share/doc/openssl/html/man3/X509_new.html | 2 +- .../openssl/html/man3/X509_pubkey_digest.html | 1 + .../openssl/html/man3/X509_set1_notAfter.html | 1 + .../html/man3/X509_set1_notBefore.html | 1 + .../openssl/html/man3/X509_set_ex_data.html | 1 + .../html/man3/X509_set_issuer_name.html | 1 + .../html/man3/X509_set_proxy_flag.html | 1 + .../html/man3/X509_set_proxy_pathlen.html | 1 + .../openssl/html/man3/X509_set_pubkey.html | 1 + .../html/man3/X509_set_serialNumber.html | 1 + .../html/man3/X509_set_subject_name.html | 1 + .../openssl/html/man3/X509_set_version.html | 1 + .../doc/openssl/html/man3/X509_sign.html | 2 +- .../doc/openssl/html/man3/X509_sign_ctx.html | 1 + .../html/man3/X509_subject_name_cmp.html | 1 + .../doc/openssl/html/man3/X509_time_adj.html | 1 + .../openssl/html/man3/X509_time_adj_ex.html | 1 + .../doc/openssl/html/man3/X509_up_ref.html | 1 + .../doc/openssl/html/man3/X509_verify.html | 1 + .../openssl/html/man3/X509_verify_cert.html | 32 +- .../man3/X509_verify_cert_error_string.html | 1 + .../doc/openssl/html/man3/X509v3_add_ext.html | 1 + .../openssl/html/man3/X509v3_delete_ext.html | 1 + .../doc/openssl/html/man3/X509v3_get_ext.html | 1 + .../html/man3/X509v3_get_ext_by_NID.html | 4 +- .../html/man3/X509v3_get_ext_by_OBJ.html | 1 + .../html/man3/X509v3_get_ext_by_critical.html | 1 + .../html/man3/X509v3_get_ext_count.html | 1 + .../openssl/html/man3/custom_ext_add_cb.html | 1 + .../openssl/html/man3/custom_ext_free_cb.html | 1 + .../html/man3/custom_ext_parse_cb.html | 1 + .../html/man3/d2i_ACCESS_DESCRIPTION.html | 1 + .../doc/openssl/html/man3/d2i_ADMISSIONS.html | 1 + .../html/man3/d2i_ADMISSION_SYNTAX.html | 1 + .../openssl/html/man3/d2i_ASIdOrRange.html | 1 + .../html/man3/d2i_ASIdentifierChoice.html | 1 + .../openssl/html/man3/d2i_ASIdentifiers.html | 1 + .../html/man3/d2i_ASN1_BIT_STRING.html | 1 + .../openssl/html/man3/d2i_ASN1_BMPSTRING.html | 1 + .../html/man3/d2i_ASN1_ENUMERATED.html | 1 + .../html/man3/d2i_ASN1_GENERALIZEDTIME.html | 1 + .../html/man3/d2i_ASN1_GENERALSTRING.html | 1 + .../openssl/html/man3/d2i_ASN1_IA5STRING.html | 1 + .../openssl/html/man3/d2i_ASN1_INTEGER.html | 1 + .../doc/openssl/html/man3/d2i_ASN1_NULL.html | 1 + .../openssl/html/man3/d2i_ASN1_OBJECT.html | 1 + .../html/man3/d2i_ASN1_OCTET_STRING.html | 1 + .../openssl/html/man3/d2i_ASN1_PRINTABLE.html | 1 + .../html/man3/d2i_ASN1_PRINTABLESTRING.html | 1 + .../html/man3/d2i_ASN1_SEQUENCE_ANY.html | 1 + .../openssl/html/man3/d2i_ASN1_SET_ANY.html | 1 + .../openssl/html/man3/d2i_ASN1_T61STRING.html | 1 + .../doc/openssl/html/man3/d2i_ASN1_TIME.html | 1 + .../doc/openssl/html/man3/d2i_ASN1_TYPE.html | 1 + .../openssl/html/man3/d2i_ASN1_UINTEGER.html | 1 + .../html/man3/d2i_ASN1_UNIVERSALSTRING.html | 1 + .../openssl/html/man3/d2i_ASN1_UTCTIME.html | 1 + .../html/man3/d2i_ASN1_UTF8STRING.html | 1 + .../html/man3/d2i_ASN1_VISIBLESTRING.html | 1 + .../doc/openssl/html/man3/d2i_ASRange.html | 1 + .../html/man3/d2i_AUTHORITY_INFO_ACCESS.html | 1 + .../html/man3/d2i_AUTHORITY_KEYID.html | 1 + .../openssl/html/man3/d2i_AutoPrivateKey.html | 1 + .../html/man3/d2i_BASIC_CONSTRAINTS.html | 1 + .../html/man3/d2i_CERTIFICATEPOLICIES.html | 1 + .../html/man3/d2i_CMS_ContentInfo.html | 1 + .../html/man3/d2i_CMS_ReceiptRequest.html | 1 + .../doc/openssl/html/man3/d2i_CMS_bio.html | 1 + .../html/man3/d2i_CRL_DIST_POINTS.html | 1 + .../doc/openssl/html/man3/d2i_DHparams.html | 2 +- .../doc/openssl/html/man3/d2i_DHxparams.html | 1 + .../html/man3/d2i_DIRECTORYSTRING.html | 1 + .../openssl/html/man3/d2i_DISPLAYTEXT.html | 1 + .../doc/openssl/html/man3/d2i_DIST_POINT.html | 1 + .../html/man3/d2i_DIST_POINT_NAME.html | 1 + .../openssl/html/man3/d2i_DSAPrivateKey.html | 1 + .../html/man3/d2i_DSAPrivateKey_bio.html | 1 + .../html/man3/d2i_DSAPrivateKey_fp.html | 1 + .../openssl/html/man3/d2i_DSAPublicKey.html | 1 + .../doc/openssl/html/man3/d2i_DSA_PUBKEY.html | 1 + .../openssl/html/man3/d2i_DSA_PUBKEY_bio.html | 1 + .../openssl/html/man3/d2i_DSA_PUBKEY_fp.html | 1 + .../doc/openssl/html/man3/d2i_DSA_SIG.html | 1 + .../doc/openssl/html/man3/d2i_DSAparams.html | 1 + .../doc/openssl/html/man3/d2i_ECDSA_SIG.html | 1 + .../openssl/html/man3/d2i_ECPKParameters.html | 1 + .../openssl/html/man3/d2i_ECParameters.html | 1 + .../openssl/html/man3/d2i_ECPrivateKey.html | 1 + .../html/man3/d2i_ECPrivateKey_bio.html | 1 + .../html/man3/d2i_ECPrivateKey_fp.html | 1 + .../doc/openssl/html/man3/d2i_EC_PUBKEY.html | 1 + .../openssl/html/man3/d2i_EC_PUBKEY_bio.html | 1 + .../openssl/html/man3/d2i_EC_PUBKEY_fp.html | 1 + .../openssl/html/man3/d2i_EDIPARTYNAME.html | 1 + .../openssl/html/man3/d2i_ESS_CERT_ID.html | 1 + .../html/man3/d2i_ESS_ISSUER_SERIAL.html | 1 + .../html/man3/d2i_ESS_SIGNING_CERT.html | 1 + .../html/man3/d2i_EXTENDED_KEY_USAGE.html | 1 + .../openssl/html/man3/d2i_GENERAL_NAME.html | 1 + .../openssl/html/man3/d2i_GENERAL_NAMES.html | 1 + .../html/man3/d2i_IPAddressChoice.html | 1 + .../html/man3/d2i_IPAddressFamily.html | 1 + .../html/man3/d2i_IPAddressOrRange.html | 1 + .../openssl/html/man3/d2i_IPAddressRange.html | 1 + .../html/man3/d2i_ISSUING_DIST_POINT.html | 1 + .../html/man3/d2i_NAMING_AUTHORITY.html | 1 + .../html/man3/d2i_NETSCAPE_CERT_SEQUENCE.html | 1 + .../openssl/html/man3/d2i_NETSCAPE_SPKAC.html | 1 + .../openssl/html/man3/d2i_NETSCAPE_SPKI.html | 1 + .../doc/openssl/html/man3/d2i_NOTICEREF.html | 1 + .../openssl/html/man3/d2i_OCSP_BASICRESP.html | 1 + .../openssl/html/man3/d2i_OCSP_CERTID.html | 1 + .../html/man3/d2i_OCSP_CERTSTATUS.html | 1 + .../doc/openssl/html/man3/d2i_OCSP_CRLID.html | 1 + .../openssl/html/man3/d2i_OCSP_ONEREQ.html | 1 + .../openssl/html/man3/d2i_OCSP_REQINFO.html | 1 + .../openssl/html/man3/d2i_OCSP_REQUEST.html | 1 + .../openssl/html/man3/d2i_OCSP_RESPBYTES.html | 1 + .../openssl/html/man3/d2i_OCSP_RESPDATA.html | 1 + .../openssl/html/man3/d2i_OCSP_RESPID.html | 1 + .../openssl/html/man3/d2i_OCSP_RESPONSE.html | 1 + .../html/man3/d2i_OCSP_REVOKEDINFO.html | 1 + .../html/man3/d2i_OCSP_SERVICELOC.html | 1 + .../openssl/html/man3/d2i_OCSP_SIGNATURE.html | 1 + .../html/man3/d2i_OCSP_SINGLERESP.html | 1 + .../doc/openssl/html/man3/d2i_OTHERNAME.html | 1 + .../doc/openssl/html/man3/d2i_PBE2PARAM.html | 1 + .../doc/openssl/html/man3/d2i_PBEPARAM.html | 1 + .../openssl/html/man3/d2i_PBKDF2PARAM.html | 1 + .../doc/openssl/html/man3/d2i_PKCS12.html | 1 + .../openssl/html/man3/d2i_PKCS12_BAGS.html | 1 + .../html/man3/d2i_PKCS12_MAC_DATA.html | 1 + .../openssl/html/man3/d2i_PKCS12_SAFEBAG.html | 1 + .../doc/openssl/html/man3/d2i_PKCS12_bio.html | 1 + .../doc/openssl/html/man3/d2i_PKCS12_fp.html | 1 + .../doc/openssl/html/man3/d2i_PKCS7.html | 1 + .../openssl/html/man3/d2i_PKCS7_DIGEST.html | 1 + .../openssl/html/man3/d2i_PKCS7_ENCRYPT.html | 1 + .../html/man3/d2i_PKCS7_ENC_CONTENT.html | 1 + .../openssl/html/man3/d2i_PKCS7_ENVELOPE.html | 1 + .../man3/d2i_PKCS7_ISSUER_AND_SERIAL.html | 1 + .../html/man3/d2i_PKCS7_RECIP_INFO.html | 1 + .../openssl/html/man3/d2i_PKCS7_SIGNED.html | 1 + .../html/man3/d2i_PKCS7_SIGNER_INFO.html | 1 + .../html/man3/d2i_PKCS7_SIGN_ENVELOPE.html | 1 + .../doc/openssl/html/man3/d2i_PKCS7_bio.html | 1 + .../doc/openssl/html/man3/d2i_PKCS7_fp.html | 1 + .../html/man3/d2i_PKCS8PrivateKey_bio.html | 10 +- .../html/man3/d2i_PKCS8PrivateKey_fp.html | 1 + .../html/man3/d2i_PKCS8_PRIV_KEY_INFO.html | 1 + .../man3/d2i_PKCS8_PRIV_KEY_INFO_bio.html | 1 + .../html/man3/d2i_PKCS8_PRIV_KEY_INFO_fp.html | 1 + .../doc/openssl/html/man3/d2i_PKCS8_bio.html | 1 + .../doc/openssl/html/man3/d2i_PKCS8_fp.html | 1 + .../html/man3/d2i_PKEY_USAGE_PERIOD.html | 1 + .../doc/openssl/html/man3/d2i_POLICYINFO.html | 1 + .../openssl/html/man3/d2i_POLICYQUALINFO.html | 1 + .../html/man3/d2i_PROFESSION_INFO.html | 1 + .../man3/d2i_PROXY_CERT_INFO_EXTENSION.html | 1 + .../openssl/html/man3/d2i_PROXY_POLICY.html | 1 + .../doc/openssl/html/man3/d2i_PUBKEY.html | 1 + .../doc/openssl/html/man3/d2i_PUBKEY_bio.html | 1 + .../doc/openssl/html/man3/d2i_PUBKEY_fp.html | 1 + .../doc/openssl/html/man3/d2i_PrivateKey.html | 41 +- .../openssl/html/man3/d2i_PrivateKey_bio.html | 1 + .../openssl/html/man3/d2i_PrivateKey_fp.html | 1 + .../doc/openssl/html/man3/d2i_PublicKey.html | 1 + .../openssl/html/man3/d2i_RSAPrivateKey.html | 1 + .../html/man3/d2i_RSAPrivateKey_bio.html | 1 + .../html/man3/d2i_RSAPrivateKey_fp.html | 1 + .../openssl/html/man3/d2i_RSAPublicKey.html | 1 + .../html/man3/d2i_RSAPublicKey_bio.html | 1 + .../html/man3/d2i_RSAPublicKey_fp.html | 1 + .../html/man3/d2i_RSA_OAEP_PARAMS.html | 1 + .../openssl/html/man3/d2i_RSA_PSS_PARAMS.html | 1 + .../doc/openssl/html/man3/d2i_RSA_PUBKEY.html | 1 + .../openssl/html/man3/d2i_RSA_PUBKEY_bio.html | 1 + .../openssl/html/man3/d2i_RSA_PUBKEY_fp.html | 1 + .../openssl/html/man3/d2i_SCRYPT_PARAMS.html | 1 + .../doc/openssl/html/man3/d2i_SCT_LIST.html | 1 + .../openssl/html/man3/d2i_SSL_SESSION.html | 2 +- .../doc/openssl/html/man3/d2i_SXNET.html | 1 + .../doc/openssl/html/man3/d2i_SXNETID.html | 1 + .../openssl/html/man3/d2i_TS_ACCURACY.html | 1 + .../openssl/html/man3/d2i_TS_MSG_IMPRINT.html | 1 + .../html/man3/d2i_TS_MSG_IMPRINT_bio.html | 1 + .../html/man3/d2i_TS_MSG_IMPRINT_fp.html | 1 + .../doc/openssl/html/man3/d2i_TS_REQ.html | 1 + .../doc/openssl/html/man3/d2i_TS_REQ_bio.html | 1 + .../doc/openssl/html/man3/d2i_TS_REQ_fp.html | 1 + .../doc/openssl/html/man3/d2i_TS_RESP.html | 1 + .../openssl/html/man3/d2i_TS_RESP_bio.html | 1 + .../doc/openssl/html/man3/d2i_TS_RESP_fp.html | 1 + .../openssl/html/man3/d2i_TS_STATUS_INFO.html | 1 + .../openssl/html/man3/d2i_TS_TST_INFO.html | 1 + .../html/man3/d2i_TS_TST_INFO_bio.html | 1 + .../openssl/html/man3/d2i_TS_TST_INFO_fp.html | 1 + .../doc/openssl/html/man3/d2i_USERNOTICE.html | 1 + .../share/doc/openssl/html/man3/d2i_X509.html | 133 +-- .../doc/openssl/html/man3/d2i_X509_ALGOR.html | 1 + .../openssl/html/man3/d2i_X509_ALGORS.html | 1 + .../openssl/html/man3/d2i_X509_ATTRIBUTE.html | 1 + .../doc/openssl/html/man3/d2i_X509_AUX.html | 1 + .../openssl/html/man3/d2i_X509_CERT_AUX.html | 1 + .../doc/openssl/html/man3/d2i_X509_CINF.html | 1 + .../doc/openssl/html/man3/d2i_X509_CRL.html | 1 + .../openssl/html/man3/d2i_X509_CRL_INFO.html | 1 + .../openssl/html/man3/d2i_X509_CRL_bio.html | 1 + .../openssl/html/man3/d2i_X509_CRL_fp.html | 1 + .../openssl/html/man3/d2i_X509_EXTENSION.html | 1 + .../html/man3/d2i_X509_EXTENSIONS.html | 1 + .../doc/openssl/html/man3/d2i_X509_NAME.html | 1 + .../html/man3/d2i_X509_NAME_ENTRY.html | 1 + .../openssl/html/man3/d2i_X509_PUBKEY.html | 1 + .../doc/openssl/html/man3/d2i_X509_REQ.html | 1 + .../openssl/html/man3/d2i_X509_REQ_INFO.html | 1 + .../openssl/html/man3/d2i_X509_REQ_bio.html | 1 + .../openssl/html/man3/d2i_X509_REQ_fp.html | 1 + .../openssl/html/man3/d2i_X509_REVOKED.html | 1 + .../doc/openssl/html/man3/d2i_X509_SIG.html | 1 + .../doc/openssl/html/man3/d2i_X509_VAL.html | 1 + .../html/man3/i2d_ACCESS_DESCRIPTION.html | 1 + .../doc/openssl/html/man3/i2d_ADMISSIONS.html | 1 + .../html/man3/i2d_ADMISSION_SYNTAX.html | 1 + .../openssl/html/man3/i2d_ASIdOrRange.html | 1 + .../html/man3/i2d_ASIdentifierChoice.html | 1 + .../openssl/html/man3/i2d_ASIdentifiers.html | 1 + .../html/man3/i2d_ASN1_BIT_STRING.html | 1 + .../openssl/html/man3/i2d_ASN1_BMPSTRING.html | 1 + .../html/man3/i2d_ASN1_ENUMERATED.html | 1 + .../html/man3/i2d_ASN1_GENERALIZEDTIME.html | 1 + .../html/man3/i2d_ASN1_GENERALSTRING.html | 1 + .../openssl/html/man3/i2d_ASN1_IA5STRING.html | 1 + .../openssl/html/man3/i2d_ASN1_INTEGER.html | 1 + .../doc/openssl/html/man3/i2d_ASN1_NULL.html | 1 + .../openssl/html/man3/i2d_ASN1_OBJECT.html | 1 + .../html/man3/i2d_ASN1_OCTET_STRING.html | 1 + .../openssl/html/man3/i2d_ASN1_PRINTABLE.html | 1 + .../html/man3/i2d_ASN1_PRINTABLESTRING.html | 1 + .../html/man3/i2d_ASN1_SEQUENCE_ANY.html | 1 + .../openssl/html/man3/i2d_ASN1_SET_ANY.html | 1 + .../openssl/html/man3/i2d_ASN1_T61STRING.html | 1 + .../doc/openssl/html/man3/i2d_ASN1_TIME.html | 1 + .../doc/openssl/html/man3/i2d_ASN1_TYPE.html | 1 + .../html/man3/i2d_ASN1_UNIVERSALSTRING.html | 1 + .../openssl/html/man3/i2d_ASN1_UTCTIME.html | 1 + .../html/man3/i2d_ASN1_UTF8STRING.html | 1 + .../html/man3/i2d_ASN1_VISIBLESTRING.html | 1 + .../html/man3/i2d_ASN1_bio_stream.html | 1 + .../doc/openssl/html/man3/i2d_ASRange.html | 1 + .../html/man3/i2d_AUTHORITY_INFO_ACCESS.html | 1 + .../html/man3/i2d_AUTHORITY_KEYID.html | 1 + .../html/man3/i2d_BASIC_CONSTRAINTS.html | 1 + .../html/man3/i2d_CERTIFICATEPOLICIES.html | 1 + .../html/man3/i2d_CMS_ContentInfo.html | 1 + .../html/man3/i2d_CMS_ReceiptRequest.html | 1 + .../doc/openssl/html/man3/i2d_CMS_bio.html | 1 + .../openssl/html/man3/i2d_CMS_bio_stream.html | 2 +- .../html/man3/i2d_CRL_DIST_POINTS.html | 1 + .../doc/openssl/html/man3/i2d_DHparams.html | 1 + .../doc/openssl/html/man3/i2d_DHxparams.html | 1 + .../html/man3/i2d_DIRECTORYSTRING.html | 1 + .../openssl/html/man3/i2d_DISPLAYTEXT.html | 1 + .../doc/openssl/html/man3/i2d_DIST_POINT.html | 1 + .../html/man3/i2d_DIST_POINT_NAME.html | 1 + .../openssl/html/man3/i2d_DSAPrivateKey.html | 1 + .../html/man3/i2d_DSAPrivateKey_bio.html | 1 + .../html/man3/i2d_DSAPrivateKey_fp.html | 1 + .../openssl/html/man3/i2d_DSAPublicKey.html | 1 + .../doc/openssl/html/man3/i2d_DSA_PUBKEY.html | 1 + .../openssl/html/man3/i2d_DSA_PUBKEY_bio.html | 1 + .../openssl/html/man3/i2d_DSA_PUBKEY_fp.html | 1 + .../doc/openssl/html/man3/i2d_DSA_SIG.html | 1 + .../doc/openssl/html/man3/i2d_DSAparams.html | 1 + .../doc/openssl/html/man3/i2d_ECDSA_SIG.html | 1 + .../openssl/html/man3/i2d_ECPKParameters.html | 1 + .../openssl/html/man3/i2d_ECParameters.html | 1 + .../openssl/html/man3/i2d_ECPrivateKey.html | 1 + .../html/man3/i2d_ECPrivateKey_bio.html | 1 + .../html/man3/i2d_ECPrivateKey_fp.html | 1 + .../doc/openssl/html/man3/i2d_EC_PUBKEY.html | 1 + .../openssl/html/man3/i2d_EC_PUBKEY_bio.html | 1 + .../openssl/html/man3/i2d_EC_PUBKEY_fp.html | 1 + .../openssl/html/man3/i2d_EDIPARTYNAME.html | 1 + .../openssl/html/man3/i2d_ESS_CERT_ID.html | 1 + .../html/man3/i2d_ESS_ISSUER_SERIAL.html | 1 + .../html/man3/i2d_ESS_SIGNING_CERT.html | 1 + .../html/man3/i2d_EXTENDED_KEY_USAGE.html | 1 + .../openssl/html/man3/i2d_GENERAL_NAME.html | 1 + .../openssl/html/man3/i2d_GENERAL_NAMES.html | 1 + .../html/man3/i2d_IPAddressChoice.html | 1 + .../html/man3/i2d_IPAddressFamily.html | 1 + .../html/man3/i2d_IPAddressOrRange.html | 1 + .../openssl/html/man3/i2d_IPAddressRange.html | 1 + .../html/man3/i2d_ISSUING_DIST_POINT.html | 1 + .../html/man3/i2d_NAMING_AUTHORITY.html | 1 + .../html/man3/i2d_NETSCAPE_CERT_SEQUENCE.html | 1 + .../openssl/html/man3/i2d_NETSCAPE_SPKAC.html | 1 + .../openssl/html/man3/i2d_NETSCAPE_SPKI.html | 1 + .../doc/openssl/html/man3/i2d_NOTICEREF.html | 1 + .../openssl/html/man3/i2d_OCSP_BASICRESP.html | 1 + .../openssl/html/man3/i2d_OCSP_CERTID.html | 1 + .../html/man3/i2d_OCSP_CERTSTATUS.html | 1 + .../doc/openssl/html/man3/i2d_OCSP_CRLID.html | 1 + .../openssl/html/man3/i2d_OCSP_ONEREQ.html | 1 + .../openssl/html/man3/i2d_OCSP_REQINFO.html | 1 + .../openssl/html/man3/i2d_OCSP_REQUEST.html | 1 + .../openssl/html/man3/i2d_OCSP_RESPBYTES.html | 1 + .../openssl/html/man3/i2d_OCSP_RESPDATA.html | 1 + .../openssl/html/man3/i2d_OCSP_RESPID.html | 1 + .../openssl/html/man3/i2d_OCSP_RESPONSE.html | 1 + .../html/man3/i2d_OCSP_REVOKEDINFO.html | 1 + .../html/man3/i2d_OCSP_SERVICELOC.html | 1 + .../openssl/html/man3/i2d_OCSP_SIGNATURE.html | 1 + .../html/man3/i2d_OCSP_SINGLERESP.html | 1 + .../doc/openssl/html/man3/i2d_OTHERNAME.html | 1 + .../doc/openssl/html/man3/i2d_PBE2PARAM.html | 1 + .../doc/openssl/html/man3/i2d_PBEPARAM.html | 1 + .../openssl/html/man3/i2d_PBKDF2PARAM.html | 1 + .../doc/openssl/html/man3/i2d_PKCS12.html | 1 + .../openssl/html/man3/i2d_PKCS12_BAGS.html | 1 + .../html/man3/i2d_PKCS12_MAC_DATA.html | 1 + .../openssl/html/man3/i2d_PKCS12_SAFEBAG.html | 1 + .../doc/openssl/html/man3/i2d_PKCS12_bio.html | 1 + .../doc/openssl/html/man3/i2d_PKCS12_fp.html | 1 + .../doc/openssl/html/man3/i2d_PKCS7.html | 1 + .../openssl/html/man3/i2d_PKCS7_DIGEST.html | 1 + .../openssl/html/man3/i2d_PKCS7_ENCRYPT.html | 1 + .../html/man3/i2d_PKCS7_ENC_CONTENT.html | 1 + .../openssl/html/man3/i2d_PKCS7_ENVELOPE.html | 1 + .../man3/i2d_PKCS7_ISSUER_AND_SERIAL.html | 1 + .../doc/openssl/html/man3/i2d_PKCS7_NDEF.html | 1 + .../html/man3/i2d_PKCS7_RECIP_INFO.html | 1 + .../openssl/html/man3/i2d_PKCS7_SIGNED.html | 1 + .../html/man3/i2d_PKCS7_SIGNER_INFO.html | 1 + .../html/man3/i2d_PKCS7_SIGN_ENVELOPE.html | 1 + .../doc/openssl/html/man3/i2d_PKCS7_bio.html | 1 + .../html/man3/i2d_PKCS7_bio_stream.html | 2 +- .../doc/openssl/html/man3/i2d_PKCS7_fp.html | 1 + .../man3/i2d_PKCS8PrivateKeyInfo_bio.html | 1 + .../html/man3/i2d_PKCS8PrivateKeyInfo_fp.html | 1 + .../html/man3/i2d_PKCS8PrivateKey_bio.html | 1 + .../html/man3/i2d_PKCS8PrivateKey_fp.html | 1 + .../man3/i2d_PKCS8PrivateKey_nid_bio.html | 1 + .../html/man3/i2d_PKCS8PrivateKey_nid_fp.html | 1 + .../html/man3/i2d_PKCS8_PRIV_KEY_INFO.html | 1 + .../man3/i2d_PKCS8_PRIV_KEY_INFO_bio.html | 1 + .../html/man3/i2d_PKCS8_PRIV_KEY_INFO_fp.html | 1 + .../doc/openssl/html/man3/i2d_PKCS8_bio.html | 1 + .../doc/openssl/html/man3/i2d_PKCS8_fp.html | 1 + .../html/man3/i2d_PKEY_USAGE_PERIOD.html | 1 + .../doc/openssl/html/man3/i2d_POLICYINFO.html | 1 + .../openssl/html/man3/i2d_POLICYQUALINFO.html | 1 + .../html/man3/i2d_PROFESSION_INFO.html | 1 + .../man3/i2d_PROXY_CERT_INFO_EXTENSION.html | 1 + .../openssl/html/man3/i2d_PROXY_POLICY.html | 1 + .../doc/openssl/html/man3/i2d_PUBKEY.html | 1 + .../doc/openssl/html/man3/i2d_PUBKEY_bio.html | 1 + .../doc/openssl/html/man3/i2d_PUBKEY_fp.html | 1 + .../doc/openssl/html/man3/i2d_PrivateKey.html | 1 + .../doc/openssl/html/man3/i2d_PublicKey.html | 1 + .../openssl/html/man3/i2d_RSAPrivateKey.html | 1 + .../html/man3/i2d_RSAPrivateKey_bio.html | 1 + .../html/man3/i2d_RSAPrivateKey_fp.html | 1 + .../openssl/html/man3/i2d_RSAPublicKey.html | 1 + .../html/man3/i2d_RSAPublicKey_bio.html | 1 + .../html/man3/i2d_RSAPublicKey_fp.html | 1 + .../html/man3/i2d_RSA_OAEP_PARAMS.html | 1 + .../openssl/html/man3/i2d_RSA_PSS_PARAMS.html | 1 + .../doc/openssl/html/man3/i2d_RSA_PUBKEY.html | 1 + .../openssl/html/man3/i2d_RSA_PUBKEY_bio.html | 1 + .../openssl/html/man3/i2d_RSA_PUBKEY_fp.html | 1 + .../openssl/html/man3/i2d_SCRYPT_PARAMS.html | 1 + .../doc/openssl/html/man3/i2d_SCT_LIST.html | 1 + .../openssl/html/man3/i2d_SSL_SESSION.html | 1 + .../doc/openssl/html/man3/i2d_SXNET.html | 1 + .../doc/openssl/html/man3/i2d_SXNETID.html | 1 + .../openssl/html/man3/i2d_TS_ACCURACY.html | 1 + .../openssl/html/man3/i2d_TS_MSG_IMPRINT.html | 1 + .../html/man3/i2d_TS_MSG_IMPRINT_bio.html | 1 + .../html/man3/i2d_TS_MSG_IMPRINT_fp.html | 1 + .../doc/openssl/html/man3/i2d_TS_REQ.html | 1 + .../doc/openssl/html/man3/i2d_TS_REQ_bio.html | 1 + .../doc/openssl/html/man3/i2d_TS_REQ_fp.html | 1 + .../doc/openssl/html/man3/i2d_TS_RESP.html | 1 + .../openssl/html/man3/i2d_TS_RESP_bio.html | 1 + .../doc/openssl/html/man3/i2d_TS_RESP_fp.html | 1 + .../openssl/html/man3/i2d_TS_STATUS_INFO.html | 1 + .../openssl/html/man3/i2d_TS_TST_INFO.html | 1 + .../html/man3/i2d_TS_TST_INFO_bio.html | 1 + .../openssl/html/man3/i2d_TS_TST_INFO_fp.html | 1 + .../doc/openssl/html/man3/i2d_USERNOTICE.html | 1 + .../share/doc/openssl/html/man3/i2d_X509.html | 1 + .../doc/openssl/html/man3/i2d_X509_ALGOR.html | 1 + .../openssl/html/man3/i2d_X509_ALGORS.html | 1 + .../openssl/html/man3/i2d_X509_ATTRIBUTE.html | 1 + .../doc/openssl/html/man3/i2d_X509_AUX.html | 1 + .../openssl/html/man3/i2d_X509_CERT_AUX.html | 1 + .../doc/openssl/html/man3/i2d_X509_CINF.html | 1 + .../doc/openssl/html/man3/i2d_X509_CRL.html | 1 + .../openssl/html/man3/i2d_X509_CRL_INFO.html | 1 + .../openssl/html/man3/i2d_X509_CRL_bio.html | 1 + .../openssl/html/man3/i2d_X509_CRL_fp.html | 1 + .../openssl/html/man3/i2d_X509_EXTENSION.html | 1 + .../html/man3/i2d_X509_EXTENSIONS.html | 1 + .../doc/openssl/html/man3/i2d_X509_NAME.html | 1 + .../html/man3/i2d_X509_NAME_ENTRY.html | 1 + .../openssl/html/man3/i2d_X509_PUBKEY.html | 1 + .../doc/openssl/html/man3/i2d_X509_REQ.html | 1 + .../openssl/html/man3/i2d_X509_REQ_INFO.html | 1 + .../openssl/html/man3/i2d_X509_REQ_bio.html | 1 + .../openssl/html/man3/i2d_X509_REQ_fp.html | 1 + .../openssl/html/man3/i2d_X509_REVOKED.html | 1 + .../doc/openssl/html/man3/i2d_X509_SIG.html | 1 + .../doc/openssl/html/man3/i2d_X509_VAL.html | 1 + .../html/man3/i2d_re_X509_CRL_tbs.html | 1 + .../html/man3/i2d_re_X509_REQ_tbs.html | 1 + .../openssl/html/man3/i2d_re_X509_tbs.html | 2 +- .../share/doc/openssl/html/man3/i2o_SCT.html | 1 + .../doc/openssl/html/man3/i2o_SCT_LIST.html | 1 + .../openssl/html/man3/i2t_ASN1_OBJECT.html | 1 + .../doc/openssl/html/man3/lh_TYPE_delete.html | 1 + .../doc/openssl/html/man3/lh_TYPE_doall.html | 1 + .../openssl/html/man3/lh_TYPE_doall_arg.html | 1 + .../doc/openssl/html/man3/lh_TYPE_error.html | 1 + .../doc/openssl/html/man3/lh_TYPE_free.html | 1 + .../doc/openssl/html/man3/lh_TYPE_insert.html | 1 + .../doc/openssl/html/man3/lh_TYPE_new.html | 1 + .../openssl/html/man3/lh_TYPE_retrieve.html | 1 + .../share/doc/openssl/html/man3/o2i_SCT.html | 1 + .../doc/openssl/html/man3/o2i_SCT_LIST.html | 6 +- .../openssl/html/man3/pem_password_cb.html | 1 + .../openssl/html/man3/sk_TYPE_deep_copy.html | 1 + .../doc/openssl/html/man3/sk_TYPE_delete.html | 1 + .../openssl/html/man3/sk_TYPE_delete_ptr.html | 1 + .../doc/openssl/html/man3/sk_TYPE_dup.html | 1 + .../doc/openssl/html/man3/sk_TYPE_find.html | 1 + .../openssl/html/man3/sk_TYPE_find_ex.html | 1 + .../doc/openssl/html/man3/sk_TYPE_free.html | 1 + .../doc/openssl/html/man3/sk_TYPE_insert.html | 1 + .../openssl/html/man3/sk_TYPE_is_sorted.html | 1 + .../doc/openssl/html/man3/sk_TYPE_new.html | 1 + .../openssl/html/man3/sk_TYPE_new_null.html | 1 + .../html/man3/sk_TYPE_new_reserve.html | 1 + .../doc/openssl/html/man3/sk_TYPE_num.html | 1 + .../doc/openssl/html/man3/sk_TYPE_pop.html | 1 + .../openssl/html/man3/sk_TYPE_pop_free.html | 1 + .../doc/openssl/html/man3/sk_TYPE_push.html | 1 + .../openssl/html/man3/sk_TYPE_reserve.html | 1 + .../doc/openssl/html/man3/sk_TYPE_set.html | 1 + .../html/man3/sk_TYPE_set_cmp_func.html | 1 + .../doc/openssl/html/man3/sk_TYPE_shift.html | 1 + .../doc/openssl/html/man3/sk_TYPE_sort.html | 1 + .../openssl/html/man3/sk_TYPE_unshift.html | 1 + .../doc/openssl/html/man3/sk_TYPE_value.html | 1 + .../doc/openssl/html/man3/sk_TYPE_zero.html | 1 + .../html/man3/ssl_ct_validation_cb.html | 1 + .../share/doc/openssl/html/man5/config.html | 153 +-- .../doc/openssl/html/man5/x509v3_config.html | 48 +- .../share/doc/openssl/html/man7/Ed25519.html | 9 +- .../share/doc/openssl/html/man7/Ed448.html | 1 + .../share/doc/openssl/html/man7/RAND.html | 4 +- .../doc/openssl/html/man7/RAND_DRBG.html | 21 +- .../share/doc/openssl/html/man7/RSA-PSS.html | 2 +- .../share/doc/openssl/html/man7/SM2.html | 26 +- .../share/doc/openssl/html/man7/X25519.html | 4 +- .../share/doc/openssl/html/man7/X448.html | 1 + .../share/doc/openssl/html/man7/bio.html | 10 +- .../share/doc/openssl/html/man7/crypto.html | 14 +- .../share/doc/openssl/html/man7/ct.html | 2 +- .../doc/openssl/html/man7/des_modes.html | 2 +- .../share/doc/openssl/html/man7/evp.html | 2 +- .../openssl/html/man7/ossl_store-file.html | 4 +- .../doc/openssl/html/man7/ossl_store.html | 4 +- .../html/man7/passphrase-encoding.html | 4 +- .../share/doc/openssl/html/man7/scrypt.html | 150 +++ .../share/doc/openssl/html/man7/ssl.html | 797 ++++++++++++- .../share/doc/openssl/html/man7/x509.html | 3 +- linux_amd64/share/man/man1/CA.pl.1 | 92 +- linux_amd64/share/man/man1/asn1parse.1 | 330 ++++++ linux_amd64/share/man/man1/c_rehash.1 | 1 + linux_amd64/share/man/man1/ca.1 | 814 +++++++++++++ linux_amd64/share/man/man1/ciphers.1 | 859 ++++++++++++++ linux_amd64/share/man/man1/cms.1 | 811 +++++++++++++ linux_amd64/share/man/man1/crl.1 | 248 ++++ linux_amd64/share/man/man1/crl2pkcs7.1 | 218 ++++ linux_amd64/share/man/man1/dgst.1 | 338 ++++++ linux_amd64/share/man/man1/dhparam.1 | 267 +++++ linux_amd64/share/man/man1/dsa.1 | 297 +++++ linux_amd64/share/man/man1/dsaparam.1 | 236 ++++ linux_amd64/share/man/man1/ec.1 | 317 +++++ linux_amd64/share/man/man1/ecparam.1 | 303 +++++ linux_amd64/share/man/man1/enc.1 | 534 +++++++++ linux_amd64/share/man/man1/engine.1 | 231 ++++ linux_amd64/share/man/man1/errstr.1 | 172 +++ linux_amd64/share/man/man1/gendsa.1 | 210 ++++ linux_amd64/share/man/man1/genpkey.1 | 425 +++++++ linux_amd64/share/man/man1/genrsa.1 | 234 ++++ linux_amd64/share/man/man1/list.1 | 202 ++++ linux_amd64/share/man/man1/nseq.1 | 202 ++++ linux_amd64/share/man/man1/ocsp.1 | 575 +++++++++ linux_amd64/share/man/man1/openssl-c_rehash.1 | 1 + linux_amd64/share/man/man1/openssl-tsget.1 | 1 + linux_amd64/share/man/man1/openssl.1 | 827 ++----------- linux_amd64/share/man/man1/passwd.1 | 239 ++++ linux_amd64/share/man/man1/pkcs12.1 | 470 ++++++++ linux_amd64/share/man/man1/pkcs7.1 | 233 ++++ linux_amd64/share/man/man1/pkcs8.1 | 425 +++++++ linux_amd64/share/man/man1/pkey.1 | 279 +++++ linux_amd64/share/man/man1/pkeyparam.1 | 198 ++++ linux_amd64/share/man/man1/pkeyutl.1 | 419 +++++++ linux_amd64/share/man/man1/prime.1 | 180 +++ linux_amd64/share/man/man1/rand.1 | 187 +++ linux_amd64/share/man/man1/rehash.1 | 250 ++++ linux_amd64/share/man/man1/req.1 | 788 ++++++++++++ linux_amd64/share/man/man1/rsa.1 | 321 +++++ linux_amd64/share/man/man1/rsautl.1 | 336 ++++++ linux_amd64/share/man/man1/s_client.1 | 854 ++++++++++++++ linux_amd64/share/man/man1/s_server.1 | 859 ++++++++++++++ linux_amd64/share/man/man1/s_time.1 | 311 +++++ linux_amd64/share/man/man1/sess_id.1 | 263 +++++ linux_amd64/share/man/man1/smime.1 | 608 ++++++++++ linux_amd64/share/man/man1/speed.1 | 211 ++++ linux_amd64/share/man/man1/spkac.1 | 265 +++++ linux_amd64/share/man/man1/srp.1 | 189 +++ linux_amd64/share/man/man1/storeutl.1 | 240 ++++ linux_amd64/share/man/man1/ts.1 | 718 +++++++++++ linux_amd64/share/man/man1/tsget.1 | 137 +-- linux_amd64/share/man/man1/verify.1 | 771 ++++++++++++ linux_amd64/share/man/man1/version.1 | 189 +++ linux_amd64/share/man/man1/x509.1 | 945 +++++++++++++++ .../share/man/man3/ACCESS_DESCRIPTION_free.3 | 1 + .../share/man/man3/ACCESS_DESCRIPTION_new.3 | 1 + linux_amd64/share/man/man3/ADMISSIONS.3 | 39 +- linux_amd64/share/man/man3/ADMISSIONS_free.3 | 1 + .../man3/ADMISSIONS_get0_admissionAuthority.3 | 1 + .../man3/ADMISSIONS_get0_namingAuthority.3 | 1 + .../man3/ADMISSIONS_get0_professionInfos.3 | 1 + linux_amd64/share/man/man3/ADMISSIONS_new.3 | 1 + .../man3/ADMISSIONS_set0_admissionAuthority.3 | 1 + .../man3/ADMISSIONS_set0_namingAuthority.3 | 1 + .../man3/ADMISSIONS_set0_professionInfos.3 | 1 + linux_amd64/share/man/man3/ADMISSION_SYNTAX.3 | 1 + .../share/man/man3/ADMISSION_SYNTAX_free.3 | 1 + ...ADMISSION_SYNTAX_get0_admissionAuthority.3 | 1 + ...MISSION_SYNTAX_get0_contentsOfAdmissions.3 | 1 + .../share/man/man3/ADMISSION_SYNTAX_new.3 | 1 + ...ADMISSION_SYNTAX_set0_admissionAuthority.3 | 1 + ...MISSION_SYNTAX_set0_contentsOfAdmissions.3 | 1 + linux_amd64/share/man/man3/ASIdOrRange_free.3 | 1 + linux_amd64/share/man/man3/ASIdOrRange_new.3 | 1 + .../share/man/man3/ASIdentifierChoice_free.3 | 1 + .../share/man/man3/ASIdentifierChoice_new.3 | 1 + .../share/man/man3/ASIdentifiers_free.3 | 1 + .../share/man/man3/ASIdentifiers_new.3 | 1 + .../share/man/man3/ASN1_ENUMERATED_get.3 | 1 + .../man/man3/ASN1_ENUMERATED_get_int64.3 | 1 + .../share/man/man3/ASN1_ENUMERATED_set.3 | 1 + .../man/man3/ASN1_ENUMERATED_set_int64.3 | 1 + .../share/man/man3/ASN1_ENUMERATED_to_BN.3 | 1 + .../share/man/man3/ASN1_GENERALIZEDTIME_adj.3 | 1 + .../man/man3/ASN1_GENERALIZEDTIME_check.3 | 1 + .../man/man3/ASN1_GENERALIZEDTIME_print.3 | 1 + .../share/man/man3/ASN1_GENERALIZEDTIME_set.3 | 1 + .../man3/ASN1_GENERALIZEDTIME_set_string.3 | 1 + linux_amd64/share/man/man3/ASN1_INTEGER_get.3 | 1 + .../share/man/man3/ASN1_INTEGER_get_int64.3 | 36 +- .../share/man/man3/ASN1_INTEGER_get_uint64.3 | 1 + linux_amd64/share/man/man3/ASN1_INTEGER_set.3 | 1 + .../share/man/man3/ASN1_INTEGER_set_int64.3 | 1 + .../share/man/man3/ASN1_INTEGER_set_uint64.3 | 1 + .../share/man/man3/ASN1_INTEGER_to_BN.3 | 1 + linux_amd64/share/man/man3/ASN1_ITEM.3 | 1 + linux_amd64/share/man/man3/ASN1_ITEM_get.3 | 1 + linux_amd64/share/man/man3/ASN1_ITEM_lookup.3 | 12 +- linux_amd64/share/man/man3/ASN1_OBJECT_free.3 | 1 + linux_amd64/share/man/man3/ASN1_OBJECT_new.3 | 18 +- .../share/man/man3/ASN1_STRING_TABLE.3 | 1 + .../share/man/man3/ASN1_STRING_TABLE_add.3 | 17 +- .../man/man3/ASN1_STRING_TABLE_cleanup.3 | 1 + .../share/man/man3/ASN1_STRING_TABLE_get.3 | 1 + linux_amd64/share/man/man3/ASN1_STRING_cmp.3 | 1 + linux_amd64/share/man/man3/ASN1_STRING_data.3 | 1 + linux_amd64/share/man/man3/ASN1_STRING_dup.3 | 1 + linux_amd64/share/man/man3/ASN1_STRING_free.3 | 1 + .../share/man/man3/ASN1_STRING_get0_data.3 | 1 + .../share/man/man3/ASN1_STRING_length.3 | 42 +- linux_amd64/share/man/man3/ASN1_STRING_new.3 | 15 +- .../share/man/man3/ASN1_STRING_print.3 | 1 + .../share/man/man3/ASN1_STRING_print_ex.3 | 21 +- .../share/man/man3/ASN1_STRING_print_ex_fp.3 | 1 + linux_amd64/share/man/man3/ASN1_STRING_set.3 | 1 + .../share/man/man3/ASN1_STRING_to_UTF8.3 | 1 + linux_amd64/share/man/man3/ASN1_STRING_type.3 | 1 + .../share/man/man3/ASN1_STRING_type_new.3 | 1 + linux_amd64/share/man/man3/ASN1_TIME_adj.3 | 1 + linux_amd64/share/man/man3/ASN1_TIME_check.3 | 1 + .../share/man/man3/ASN1_TIME_cmp_time_t.3 | 1 + .../share/man/man3/ASN1_TIME_compare.3 | 1 + linux_amd64/share/man/man3/ASN1_TIME_diff.3 | 1 + .../share/man/man3/ASN1_TIME_normalize.3 | 1 + linux_amd64/share/man/man3/ASN1_TIME_print.3 | 1 + linux_amd64/share/man/man3/ASN1_TIME_set.3 | 173 ++- .../share/man/man3/ASN1_TIME_set_string.3 | 1 + .../man/man3/ASN1_TIME_set_string_X509.3 | 1 + .../man/man3/ASN1_TIME_to_generalizedtime.3 | 1 + linux_amd64/share/man/man3/ASN1_TIME_to_tm.3 | 1 + linux_amd64/share/man/man3/ASN1_TYPE_cmp.3 | 1 + linux_amd64/share/man/man3/ASN1_TYPE_get.3 | 68 +- .../share/man/man3/ASN1_TYPE_pack_sequence.3 | 1 + linux_amd64/share/man/man3/ASN1_TYPE_set.3 | 1 + linux_amd64/share/man/man3/ASN1_TYPE_set1.3 | 1 + .../man/man3/ASN1_TYPE_unpack_sequence.3 | 1 + linux_amd64/share/man/man3/ASN1_UTCTIME_adj.3 | 1 + .../share/man/man3/ASN1_UTCTIME_check.3 | 1 + .../share/man/man3/ASN1_UTCTIME_cmp_time_t.3 | 1 + .../share/man/man3/ASN1_UTCTIME_print.3 | 1 + linux_amd64/share/man/man3/ASN1_UTCTIME_set.3 | 1 + .../share/man/man3/ASN1_UTCTIME_set_string.3 | 1 + .../share/man/man3/ASN1_add_oid_module.3 | 1 + .../share/man/man3/ASN1_generate_nconf.3 | 46 +- linux_amd64/share/man/man3/ASN1_generate_v3.3 | 1 + linux_amd64/share/man/man3/ASN1_tag2str.3 | 1 + linux_amd64/share/man/man3/ASRange_free.3 | 1 + linux_amd64/share/man/man3/ASRange_new.3 | 1 + .../share/man/man3/ASYNC_WAIT_CTX_clear_fd.3 | 1 + .../share/man/man3/ASYNC_WAIT_CTX_free.3 | 1 + .../man/man3/ASYNC_WAIT_CTX_get_all_fds.3 | 1 + .../man/man3/ASYNC_WAIT_CTX_get_changed_fds.3 | 1 + .../share/man/man3/ASYNC_WAIT_CTX_get_fd.3 | 1 + .../share/man/man3/ASYNC_WAIT_CTX_new.3 | 164 +-- .../man/man3/ASYNC_WAIT_CTX_set_wait_fd.3 | 1 + .../share/man/man3/ASYNC_block_pause.3 | 1 + .../share/man/man3/ASYNC_cleanup_thread.3 | 1 + .../share/man/man3/ASYNC_get_current_job.3 | 1 + .../share/man/man3/ASYNC_get_wait_ctx.3 | 1 + .../share/man/man3/ASYNC_init_thread.3 | 1 + linux_amd64/share/man/man3/ASYNC_is_capable.3 | 1 + linux_amd64/share/man/man3/ASYNC_pause_job.3 | 1 + linux_amd64/share/man/man3/ASYNC_start_job.3 | 129 +- .../share/man/man3/ASYNC_unblock_pause.3 | 1 + .../man/man3/AUTHORITY_INFO_ACCESS_free.3 | 1 + .../man/man3/AUTHORITY_INFO_ACCESS_new.3 | 1 + .../share/man/man3/AUTHORITY_KEYID_free.3 | 1 + .../share/man/man3/AUTHORITY_KEYID_new.3 | 1 + .../share/man/man3/BASIC_CONSTRAINTS_free.3 | 1 + .../share/man/man3/BASIC_CONSTRAINTS_new.3 | 1 + linux_amd64/share/man/man3/BF_cbc_encrypt.3 | 1 + linux_amd64/share/man/man3/BF_cfb64_encrypt.3 | 1 + linux_amd64/share/man/man3/BF_decrypt.3 | 1 + linux_amd64/share/man/man3/BF_ecb_encrypt.3 | 1 + linux_amd64/share/man/man3/BF_encrypt.3 | 22 +- linux_amd64/share/man/man3/BF_ofb64_encrypt.3 | 1 + linux_amd64/share/man/man3/BF_options.3 | 1 + linux_amd64/share/man/man3/BF_set_key.3 | 1 + linux_amd64/share/man/man3/BIO_ADDR.3 | 13 +- linux_amd64/share/man/man3/BIO_ADDRINFO.3 | 12 +- .../share/man/man3/BIO_ADDRINFO_address.3 | 1 + .../share/man/man3/BIO_ADDRINFO_family.3 | 1 + .../share/man/man3/BIO_ADDRINFO_free.3 | 1 + .../share/man/man3/BIO_ADDRINFO_next.3 | 1 + .../share/man/man3/BIO_ADDRINFO_protocol.3 | 1 + .../share/man/man3/BIO_ADDRINFO_socktype.3 | 1 + linux_amd64/share/man/man3/BIO_ADDR_clear.3 | 1 + linux_amd64/share/man/man3/BIO_ADDR_family.3 | 1 + linux_amd64/share/man/man3/BIO_ADDR_free.3 | 1 + .../share/man/man3/BIO_ADDR_hostname_string.3 | 1 + linux_amd64/share/man/man3/BIO_ADDR_new.3 | 1 + .../share/man/man3/BIO_ADDR_path_string.3 | 1 + .../share/man/man3/BIO_ADDR_rawaddress.3 | 1 + linux_amd64/share/man/man3/BIO_ADDR_rawmake.3 | 1 + linux_amd64/share/man/man3/BIO_ADDR_rawport.3 | 1 + .../share/man/man3/BIO_ADDR_service_string.3 | 1 + linux_amd64/share/man/man3/BIO_accept_ex.3 | 1 + .../share/man/man3/BIO_append_filename.3 | 1 + linux_amd64/share/man/man3/BIO_bind.3 | 1 + .../share/man/man3/BIO_callback_ctrl.3 | 1 + linux_amd64/share/man/man3/BIO_callback_fn.3 | 1 + .../share/man/man3/BIO_callback_fn_ex.3 | 1 + linux_amd64/share/man/man3/BIO_closesocket.3 | 1 + linux_amd64/share/man/man3/BIO_connect.3 | 7 +- linux_amd64/share/man/man3/BIO_ctrl.3 | 28 +- .../man/man3/BIO_ctrl_get_read_request.3 | 1 + .../man/man3/BIO_ctrl_get_write_guarantee.3 | 1 + linux_amd64/share/man/man3/BIO_ctrl_pending.3 | 1 + .../man/man3/BIO_ctrl_reset_read_request.3 | 1 + .../share/man/man3/BIO_ctrl_wpending.3 | 1 + .../share/man/man3/BIO_debug_callback.3 | 1 + .../share/man/man3/BIO_destroy_bio_pair.3 | 1 + linux_amd64/share/man/man3/BIO_do_accept.3 | 1 + linux_amd64/share/man/man3/BIO_do_connect.3 | 1 + linux_amd64/share/man/man3/BIO_do_handshake.3 | 1 + linux_amd64/share/man/man3/BIO_eof.3 | 1 + linux_amd64/share/man/man3/BIO_f_base64.3 | 4 +- linux_amd64/share/man/man3/BIO_f_buffer.3 | 12 +- linux_amd64/share/man/man3/BIO_f_cipher.3 | 4 +- linux_amd64/share/man/man3/BIO_f_md.3 | 4 +- linux_amd64/share/man/man3/BIO_f_null.3 | 4 +- linux_amd64/share/man/man3/BIO_f_ssl.3 | 13 +- linux_amd64/share/man/man3/BIO_find_type.3 | 6 +- linux_amd64/share/man/man3/BIO_flush.3 | 1 + linux_amd64/share/man/man3/BIO_free.3 | 1 + linux_amd64/share/man/man3/BIO_free_all.3 | 1 + .../share/man/man3/BIO_get_accept_ip_family.3 | 1 + .../share/man/man3/BIO_get_accept_name.3 | 1 + .../share/man/man3/BIO_get_accept_port.3 | 1 + .../share/man/man3/BIO_get_bind_mode.3 | 1 + .../share/man/man3/BIO_get_buffer_num_lines.3 | 1 + linux_amd64/share/man/man3/BIO_get_callback.3 | 1 + .../share/man/man3/BIO_get_callback_arg.3 | 1 + .../share/man/man3/BIO_get_callback_ex.3 | 1 + .../share/man/man3/BIO_get_cipher_ctx.3 | 1 + .../share/man/man3/BIO_get_cipher_status.3 | 1 + linux_amd64/share/man/man3/BIO_get_close.3 | 1 + .../share/man/man3/BIO_get_conn_address.3 | 1 + .../share/man/man3/BIO_get_conn_hostname.3 | 1 + .../share/man/man3/BIO_get_conn_ip_family.3 | 1 + .../share/man/man3/BIO_get_conn_port.3 | 1 + linux_amd64/share/man/man3/BIO_get_data.3 | 11 +- linux_amd64/share/man/man3/BIO_get_ex_data.3 | 1 + .../share/man/man3/BIO_get_ex_new_index.3 | 41 +- linux_amd64/share/man/man3/BIO_get_fd.3 | 1 + linux_amd64/share/man/man3/BIO_get_fp.3 | 1 + .../share/man/man3/BIO_get_info_callback.3 | 1 + linux_amd64/share/man/man3/BIO_get_init.3 | 1 + linux_amd64/share/man/man3/BIO_get_md.3 | 1 + linux_amd64/share/man/man3/BIO_get_md_ctx.3 | 1 + linux_amd64/share/man/man3/BIO_get_mem_data.3 | 1 + linux_amd64/share/man/man3/BIO_get_mem_ptr.3 | 1 + .../share/man/man3/BIO_get_new_index.3 | 1 + .../share/man/man3/BIO_get_num_renegotiates.3 | 1 + .../share/man/man3/BIO_get_peer_name.3 | 1 + .../share/man/man3/BIO_get_peer_port.3 | 1 + .../share/man/man3/BIO_get_read_request.3 | 1 + .../share/man/man3/BIO_get_retry_BIO.3 | 1 + .../share/man/man3/BIO_get_retry_reason.3 | 1 + linux_amd64/share/man/man3/BIO_get_shutdown.3 | 1 + linux_amd64/share/man/man3/BIO_get_ssl.3 | 1 + .../share/man/man3/BIO_get_write_buf_size.3 | 1 + .../share/man/man3/BIO_get_write_guarantee.3 | 1 + linux_amd64/share/man/man3/BIO_gets.3 | 1 + .../share/man/man3/BIO_hostserv_priorities.3 | 1 + linux_amd64/share/man/man3/BIO_info_cb.3 | 1 + linux_amd64/share/man/man3/BIO_int_ctrl.3 | 1 + linux_amd64/share/man/man3/BIO_listen.3 | 1 + linux_amd64/share/man/man3/BIO_lookup.3 | 1 + linux_amd64/share/man/man3/BIO_lookup_ex.3 | 1 + linux_amd64/share/man/man3/BIO_lookup_type.3 | 1 + .../share/man/man3/BIO_make_bio_pair.3 | 1 + linux_amd64/share/man/man3/BIO_meth_free.3 | 1 + .../man/man3/BIO_meth_get_callback_ctrl.3 | 1 + .../share/man/man3/BIO_meth_get_create.3 | 1 + .../share/man/man3/BIO_meth_get_ctrl.3 | 1 + .../share/man/man3/BIO_meth_get_destroy.3 | 1 + .../share/man/man3/BIO_meth_get_gets.3 | 1 + .../share/man/man3/BIO_meth_get_puts.3 | 1 + .../share/man/man3/BIO_meth_get_read.3 | 1 + .../share/man/man3/BIO_meth_get_read_ex.3 | 1 + .../share/man/man3/BIO_meth_get_write.3 | 1 + .../share/man/man3/BIO_meth_get_write_ex.3 | 1 + linux_amd64/share/man/man3/BIO_meth_new.3 | 21 +- .../man/man3/BIO_meth_set_callback_ctrl.3 | 1 + .../share/man/man3/BIO_meth_set_create.3 | 1 + .../share/man/man3/BIO_meth_set_ctrl.3 | 1 + .../share/man/man3/BIO_meth_set_destroy.3 | 1 + .../share/man/man3/BIO_meth_set_gets.3 | 1 + .../share/man/man3/BIO_meth_set_puts.3 | 1 + .../share/man/man3/BIO_meth_set_read.3 | 1 + .../share/man/man3/BIO_meth_set_read_ex.3 | 1 + .../share/man/man3/BIO_meth_set_write.3 | 1 + .../share/man/man3/BIO_meth_set_write_ex.3 | 1 + linux_amd64/share/man/man3/BIO_method_type.3 | 1 + linux_amd64/share/man/man3/BIO_new.3 | 9 +- linux_amd64/share/man/man3/BIO_new_CMS.3 | 4 +- linux_amd64/share/man/man3/BIO_new_accept.3 | 1 + linux_amd64/share/man/man3/BIO_new_bio_pair.3 | 1 + .../man/man3/BIO_new_buffer_ssl_connect.3 | 1 + linux_amd64/share/man/man3/BIO_new_connect.3 | 1 + linux_amd64/share/man/man3/BIO_new_fd.3 | 1 + linux_amd64/share/man/man3/BIO_new_file.3 | 1 + linux_amd64/share/man/man3/BIO_new_fp.3 | 1 + linux_amd64/share/man/man3/BIO_new_mem_buf.3 | 1 + linux_amd64/share/man/man3/BIO_new_socket.3 | 1 + linux_amd64/share/man/man3/BIO_new_ssl.3 | 1 + .../share/man/man3/BIO_new_ssl_connect.3 | 1 + linux_amd64/share/man/man3/BIO_next.3 | 1 + .../share/man/man3/BIO_parse_hostserv.3 | 12 +- linux_amd64/share/man/man3/BIO_pending.3 | 1 + linux_amd64/share/man/man3/BIO_pop.3 | 1 + linux_amd64/share/man/man3/BIO_printf.3 | 7 +- linux_amd64/share/man/man3/BIO_ptr_ctrl.3 | 1 + linux_amd64/share/man/man3/BIO_push.3 | 8 +- linux_amd64/share/man/man3/BIO_puts.3 | 1 + linux_amd64/share/man/man3/BIO_read.3 | 7 +- linux_amd64/share/man/man3/BIO_read_ex.3 | 1 + .../share/man/man3/BIO_read_filename.3 | 1 + linux_amd64/share/man/man3/BIO_reset.3 | 1 + linux_amd64/share/man/man3/BIO_retry_type.3 | 1 + linux_amd64/share/man/man3/BIO_rw_filename.3 | 1 + linux_amd64/share/man/man3/BIO_s_accept.3 | 12 +- linux_amd64/share/man/man3/BIO_s_bio.3 | 11 +- linux_amd64/share/man/man3/BIO_s_connect.3 | 14 +- linux_amd64/share/man/man3/BIO_s_fd.3 | 6 +- linux_amd64/share/man/man3/BIO_s_file.3 | 12 +- linux_amd64/share/man/man3/BIO_s_mem.3 | 10 +- linux_amd64/share/man/man3/BIO_s_null.3 | 4 +- linux_amd64/share/man/man3/BIO_s_secmem.3 | 1 + linux_amd64/share/man/man3/BIO_s_socket.3 | 4 +- linux_amd64/share/man/man3/BIO_seek.3 | 1 + .../share/man/man3/BIO_set_accept_bios.3 | 1 + .../share/man/man3/BIO_set_accept_ip_family.3 | 1 + .../share/man/man3/BIO_set_accept_name.3 | 1 + .../share/man/man3/BIO_set_accept_port.3 | 1 + .../share/man/man3/BIO_set_bind_mode.3 | 1 + .../share/man/man3/BIO_set_buffer_read_data.3 | 1 + .../share/man/man3/BIO_set_buffer_size.3 | 1 + linux_amd64/share/man/man3/BIO_set_callback.3 | 13 +- .../share/man/man3/BIO_set_callback_arg.3 | 1 + .../share/man/man3/BIO_set_callback_ex.3 | 1 + linux_amd64/share/man/man3/BIO_set_cipher.3 | 1 + linux_amd64/share/man/man3/BIO_set_close.3 | 1 + .../share/man/man3/BIO_set_conn_address.3 | 1 + .../share/man/man3/BIO_set_conn_hostname.3 | 1 + .../share/man/man3/BIO_set_conn_ip_family.3 | 1 + .../share/man/man3/BIO_set_conn_port.3 | 1 + linux_amd64/share/man/man3/BIO_set_data.3 | 1 + linux_amd64/share/man/man3/BIO_set_ex_data.3 | 1 + linux_amd64/share/man/man3/BIO_set_fd.3 | 1 + linux_amd64/share/man/man3/BIO_set_fp.3 | 1 + .../share/man/man3/BIO_set_info_callback.3 | 1 + linux_amd64/share/man/man3/BIO_set_init.3 | 1 + linux_amd64/share/man/man3/BIO_set_md.3 | 1 + linux_amd64/share/man/man3/BIO_set_mem_buf.3 | 1 + .../share/man/man3/BIO_set_mem_eof_return.3 | 1 + linux_amd64/share/man/man3/BIO_set_nbio.3 | 1 + .../share/man/man3/BIO_set_nbio_accept.3 | 1 + linux_amd64/share/man/man3/BIO_set_next.3 | 1 + .../share/man/man3/BIO_set_read_buffer_size.3 | 1 + .../share/man/man3/BIO_set_retry_reason.3 | 1 + linux_amd64/share/man/man3/BIO_set_shutdown.3 | 1 + linux_amd64/share/man/man3/BIO_set_ssl.3 | 1 + linux_amd64/share/man/man3/BIO_set_ssl_mode.3 | 1 + .../man/man3/BIO_set_ssl_renegotiate_bytes.3 | 1 + .../man3/BIO_set_ssl_renegotiate_timeout.3 | 1 + .../share/man/man3/BIO_set_write_buf_size.3 | 1 + .../man/man3/BIO_set_write_buffer_size.3 | 1 + .../share/man/man3/BIO_should_io_special.3 | 1 + linux_amd64/share/man/man3/BIO_should_read.3 | 1 + linux_amd64/share/man/man3/BIO_should_retry.3 | 11 +- linux_amd64/share/man/man3/BIO_should_write.3 | 1 + linux_amd64/share/man/man3/BIO_shutdown_wr.3 | 1 + linux_amd64/share/man/man3/BIO_snprintf.3 | 1 + linux_amd64/share/man/man3/BIO_socket.3 | 1 + .../share/man/man3/BIO_ssl_copy_session_id.3 | 1 + linux_amd64/share/man/man3/BIO_ssl_shutdown.3 | 1 + linux_amd64/share/man/man3/BIO_tell.3 | 1 + linux_amd64/share/man/man3/BIO_up_ref.3 | 1 + linux_amd64/share/man/man3/BIO_vfree.3 | 1 + linux_amd64/share/man/man3/BIO_vprintf.3 | 1 + linux_amd64/share/man/man3/BIO_vsnprintf.3 | 1 + linux_amd64/share/man/man3/BIO_wpending.3 | 1 + linux_amd64/share/man/man3/BIO_write.3 | 1 + linux_amd64/share/man/man3/BIO_write_ex.3 | 1 + .../share/man/man3/BIO_write_filename.3 | 1 + .../share/man/man3/BN_BLINDING_convert.3 | 1 + .../share/man/man3/BN_BLINDING_convert_ex.3 | 1 + .../share/man/man3/BN_BLINDING_create_param.3 | 1 + linux_amd64/share/man/man3/BN_BLINDING_free.3 | 1 + .../share/man/man3/BN_BLINDING_get_flags.3 | 1 + .../share/man/man3/BN_BLINDING_invert.3 | 1 + .../share/man/man3/BN_BLINDING_invert_ex.3 | 1 + .../man/man3/BN_BLINDING_is_current_thread.3 | 1 + linux_amd64/share/man/man3/BN_BLINDING_lock.3 | 1 + linux_amd64/share/man/man3/BN_BLINDING_new.3 | 10 +- .../man/man3/BN_BLINDING_set_current_thread.3 | 1 + .../share/man/man3/BN_BLINDING_set_flags.3 | 1 + .../share/man/man3/BN_BLINDING_unlock.3 | 1 + .../share/man/man3/BN_BLINDING_update.3 | 1 + linux_amd64/share/man/man3/BN_CTX_end.3 | 1 + linux_amd64/share/man/man3/BN_CTX_free.3 | 1 + linux_amd64/share/man/man3/BN_CTX_get.3 | 1 + linux_amd64/share/man/man3/BN_CTX_new.3 | 22 +- .../share/man/man3/BN_CTX_secure_new.3 | 1 + linux_amd64/share/man/man3/BN_CTX_start.3 | 6 +- linux_amd64/share/man/man3/BN_GENCB_call.3 | 1 + linux_amd64/share/man/man3/BN_GENCB_free.3 | 1 + linux_amd64/share/man/man3/BN_GENCB_get_arg.3 | 1 + linux_amd64/share/man/man3/BN_GENCB_new.3 | 1 + linux_amd64/share/man/man3/BN_GENCB_set.3 | 1 + linux_amd64/share/man/man3/BN_GENCB_set_old.3 | 1 + linux_amd64/share/man/man3/BN_MONT_CTX_copy.3 | 1 + linux_amd64/share/man/man3/BN_MONT_CTX_free.3 | 1 + linux_amd64/share/man/man3/BN_MONT_CTX_new.3 | 1 + linux_amd64/share/man/man3/BN_MONT_CTX_set.3 | 1 + linux_amd64/share/man/man3/BN_RECP_CTX_free.3 | 1 + linux_amd64/share/man/man3/BN_RECP_CTX_new.3 | 1 + linux_amd64/share/man/man3/BN_RECP_CTX_set.3 | 1 + linux_amd64/share/man/man3/BN_add.3 | 8 +- linux_amd64/share/man/man3/BN_add_word.3 | 7 +- linux_amd64/share/man/man3/BN_bin2bn.3 | 1 + linux_amd64/share/man/man3/BN_bn2bin.3 | 19 +- linux_amd64/share/man/man3/BN_bn2binpad.3 | 1 + linux_amd64/share/man/man3/BN_bn2dec.3 | 1 + linux_amd64/share/man/man3/BN_bn2hex.3 | 1 + linux_amd64/share/man/man3/BN_bn2lebinpad.3 | 1 + linux_amd64/share/man/man3/BN_bn2mpi.3 | 1 + linux_amd64/share/man/man3/BN_clear.3 | 1 + linux_amd64/share/man/man3/BN_clear_bit.3 | 1 + linux_amd64/share/man/man3/BN_clear_free.3 | 1 + linux_amd64/share/man/man3/BN_cmp.3 | 4 +- linux_amd64/share/man/man3/BN_copy.3 | 4 +- linux_amd64/share/man/man3/BN_dec2bn.3 | 1 + linux_amd64/share/man/man3/BN_div.3 | 1 + linux_amd64/share/man/man3/BN_div_recp.3 | 1 + linux_amd64/share/man/man3/BN_div_word.3 | 1 + linux_amd64/share/man/man3/BN_dup.3 | 1 + linux_amd64/share/man/man3/BN_exp.3 | 1 + linux_amd64/share/man/man3/BN_free.3 | 1 + .../share/man/man3/BN_from_montgomery.3 | 1 + linux_amd64/share/man/man3/BN_gcd.3 | 1 + .../share/man/man3/BN_generate_prime.3 | 129 +- .../share/man/man3/BN_generate_prime_ex.3 | 1 + .../share/man/man3/BN_get0_nist_prime_192.3 | 1 + .../share/man/man3/BN_get0_nist_prime_224.3 | 1 + .../share/man/man3/BN_get0_nist_prime_256.3 | 1 + .../share/man/man3/BN_get0_nist_prime_384.3 | 1 + .../share/man/man3/BN_get0_nist_prime_521.3 | 1 + .../man/man3/BN_get_rfc2409_prime_1024.3 | 1 + .../share/man/man3/BN_get_rfc2409_prime_768.3 | 1 + .../man/man3/BN_get_rfc3526_prime_1536.3 | 1 + .../man/man3/BN_get_rfc3526_prime_2048.3 | 1 + .../man/man3/BN_get_rfc3526_prime_3072.3 | 1 + .../man/man3/BN_get_rfc3526_prime_4096.3 | 1 + .../man/man3/BN_get_rfc3526_prime_6144.3 | 1 + .../man/man3/BN_get_rfc3526_prime_8192.3 | 1 + linux_amd64/share/man/man3/BN_get_word.3 | 1 + linux_amd64/share/man/man3/BN_hex2bn.3 | 1 + linux_amd64/share/man/man3/BN_is_bit_set.3 | 1 + linux_amd64/share/man/man3/BN_is_odd.3 | 1 + linux_amd64/share/man/man3/BN_is_one.3 | 1 + linux_amd64/share/man/man3/BN_is_prime.3 | 1 + linux_amd64/share/man/man3/BN_is_prime_ex.3 | 1 + .../share/man/man3/BN_is_prime_fasttest.3 | 1 + .../share/man/man3/BN_is_prime_fasttest_ex.3 | 1 + linux_amd64/share/man/man3/BN_is_word.3 | 1 + linux_amd64/share/man/man3/BN_is_zero.3 | 1 + linux_amd64/share/man/man3/BN_lebin2bn.3 | 1 + linux_amd64/share/man/man3/BN_lshift.3 | 1 + linux_amd64/share/man/man3/BN_lshift1.3 | 1 + linux_amd64/share/man/man3/BN_mask_bits.3 | 1 + linux_amd64/share/man/man3/BN_mod.3 | 1 + linux_amd64/share/man/man3/BN_mod_add.3 | 1 + linux_amd64/share/man/man3/BN_mod_exp.3 | 1 + linux_amd64/share/man/man3/BN_mod_inverse.3 | 4 +- linux_amd64/share/man/man3/BN_mod_mul.3 | 1 + .../share/man/man3/BN_mod_mul_montgomery.3 | 10 +- .../share/man/man3/BN_mod_mul_reciprocal.3 | 8 +- linux_amd64/share/man/man3/BN_mod_sqr.3 | 1 + linux_amd64/share/man/man3/BN_mod_sub.3 | 1 + linux_amd64/share/man/man3/BN_mod_word.3 | 1 + linux_amd64/share/man/man3/BN_mpi2bn.3 | 1 + linux_amd64/share/man/man3/BN_mul.3 | 1 + linux_amd64/share/man/man3/BN_mul_word.3 | 1 + linux_amd64/share/man/man3/BN_new.3 | 6 +- linux_amd64/share/man/man3/BN_nnmod.3 | 1 + linux_amd64/share/man/man3/BN_num_bits.3 | 1 + linux_amd64/share/man/man3/BN_num_bits_word.3 | 1 + linux_amd64/share/man/man3/BN_num_bytes.3 | 4 +- linux_amd64/share/man/man3/BN_one.3 | 1 + linux_amd64/share/man/man3/BN_print.3 | 1 + linux_amd64/share/man/man3/BN_print_fp.3 | 1 + linux_amd64/share/man/man3/BN_priv_rand.3 | 1 + .../share/man/man3/BN_priv_rand_range.3 | 1 + linux_amd64/share/man/man3/BN_pseudo_rand.3 | 1 + .../share/man/man3/BN_pseudo_rand_range.3 | 1 + linux_amd64/share/man/man3/BN_rand.3 | 39 +- linux_amd64/share/man/man3/BN_rand_range.3 | 1 + linux_amd64/share/man/man3/BN_rshift.3 | 1 + linux_amd64/share/man/man3/BN_rshift1.3 | 1 + linux_amd64/share/man/man3/BN_secure_new.3 | 1 + linux_amd64/share/man/man3/BN_security_bits.3 | 4 +- linux_amd64/share/man/man3/BN_set_bit.3 | 7 +- linux_amd64/share/man/man3/BN_set_word.3 | 1 + linux_amd64/share/man/man3/BN_sqr.3 | 1 + linux_amd64/share/man/man3/BN_sub.3 | 1 + linux_amd64/share/man/man3/BN_sub_word.3 | 1 + linux_amd64/share/man/man3/BN_swap.3 | 4 +- .../share/man/man3/BN_to_ASN1_ENUMERATED.3 | 1 + .../share/man/man3/BN_to_ASN1_INTEGER.3 | 1 + linux_amd64/share/man/man3/BN_to_montgomery.3 | 1 + linux_amd64/share/man/man3/BN_ucmp.3 | 1 + linux_amd64/share/man/man3/BN_value_one.3 | 1 + linux_amd64/share/man/man3/BN_with_flags.3 | 1 + linux_amd64/share/man/man3/BN_zero.3 | 7 +- linux_amd64/share/man/man3/BUF_MEM_free.3 | 1 + linux_amd64/share/man/man3/BUF_MEM_grow.3 | 1 + .../share/man/man3/BUF_MEM_grow_clean.3 | 1 + linux_amd64/share/man/man3/BUF_MEM_new.3 | 8 +- linux_amd64/share/man/man3/BUF_MEM_new_ex.3 | 1 + linux_amd64/share/man/man3/BUF_reverse.3 | 1 + .../share/man/man3/CERTIFICATEPOLICIES_free.3 | 1 + .../share/man/man3/CERTIFICATEPOLICIES_new.3 | 1 + .../share/man/man3/CMS_ContentInfo_free.3 | 1 + .../share/man/man3/CMS_ContentInfo_new.3 | 1 + .../man/man3/CMS_ContentInfo_print_ctx.3 | 1 + .../man/man3/CMS_ReceiptRequest_create0.3 | 1 + .../share/man/man3/CMS_ReceiptRequest_free.3 | 1 + .../man/man3/CMS_ReceiptRequest_get0_values.3 | 1 + .../share/man/man3/CMS_ReceiptRequest_new.3 | 1 + .../man/man3/CMS_RecipientInfo_decrypt.3 | 1 + .../man/man3/CMS_RecipientInfo_encrypt.3 | 1 + .../man3/CMS_RecipientInfo_kekri_get0_id.3 | 1 + .../man/man3/CMS_RecipientInfo_kekri_id_cmp.3 | 1 + .../man3/CMS_RecipientInfo_ktri_cert_cmp.3 | 1 + .../CMS_RecipientInfo_ktri_get0_signer_id.3 | 1 + .../man/man3/CMS_RecipientInfo_set0_key.3 | 1 + .../man/man3/CMS_RecipientInfo_set0_pkey.3 | 1 + .../share/man/man3/CMS_RecipientInfo_type.3 | 1 + .../share/man/man3/CMS_SignerInfo_cert_cmp.3 | 1 + .../man/man3/CMS_SignerInfo_get0_signature.3 | 1 + .../man/man3/CMS_SignerInfo_get0_signer_id.3 | 1 + .../man3/CMS_SignerInfo_set1_signer_cert.3 | 1 + .../share/man/man3/CMS_SignerInfo_sign.3 | 1 + linux_amd64/share/man/man3/CMS_add0_cert.3 | 7 +- linux_amd64/share/man/man3/CMS_add0_crl.3 | 1 + .../share/man/man3/CMS_add0_recipient_key.3 | 1 + .../share/man/man3/CMS_add1_ReceiptRequest.3 | 1 + linux_amd64/share/man/man3/CMS_add1_cert.3 | 1 + linux_amd64/share/man/man3/CMS_add1_crl.3 | 1 + .../share/man/man3/CMS_add1_recipient_cert.3 | 4 +- linux_amd64/share/man/man3/CMS_add1_signer.3 | 4 +- linux_amd64/share/man/man3/CMS_compress.3 | 10 +- linux_amd64/share/man/man3/CMS_decrypt.3 | 4 +- linux_amd64/share/man/man3/CMS_encrypt.3 | 10 +- linux_amd64/share/man/man3/CMS_final.3 | 6 +- .../share/man/man3/CMS_get0_RecipientInfos.3 | 11 +- .../share/man/man3/CMS_get0_SignerInfos.3 | 9 +- linux_amd64/share/man/man3/CMS_get0_content.3 | 1 + .../share/man/man3/CMS_get0_eContentType.3 | 1 + linux_amd64/share/man/man3/CMS_get0_signers.3 | 1 + linux_amd64/share/man/man3/CMS_get0_type.3 | 9 +- .../share/man/man3/CMS_get1_ReceiptRequest.3 | 4 +- linux_amd64/share/man/man3/CMS_get1_certs.3 | 1 + linux_amd64/share/man/man3/CMS_get1_crls.3 | 1 + .../share/man/man3/CMS_set1_eContentType.3 | 1 + linux_amd64/share/man/man3/CMS_sign.3 | 4 +- linux_amd64/share/man/man3/CMS_sign_receipt.3 | 4 +- linux_amd64/share/man/man3/CMS_uncompress.3 | 4 +- linux_amd64/share/man/man3/CMS_verify.3 | 6 +- .../share/man/man3/CMS_verify_receipt.3 | 4 +- .../share/man/man3/CONF_modules_finish.3 | 1 + .../share/man/man3/CONF_modules_free.3 | 17 +- .../share/man/man3/CONF_modules_load.3 | 1 + .../share/man/man3/CONF_modules_load_file.3 | 6 +- .../share/man/man3/CONF_modules_unload.3 | 1 + .../share/man/man3/CRL_DIST_POINTS_free.3 | 1 + .../share/man/man3/CRL_DIST_POINTS_new.3 | 1 + linux_amd64/share/man/man3/CRYPTO_EX_dup.3 | 1 + linux_amd64/share/man/man3/CRYPTO_EX_free.3 | 1 + linux_amd64/share/man/man3/CRYPTO_EX_new.3 | 1 + .../share/man/man3/CRYPTO_THREAD_lock_free.3 | 1 + .../share/man/man3/CRYPTO_THREAD_lock_new.3 | 1 + .../share/man/man3/CRYPTO_THREAD_read_lock.3 | 1 + .../share/man/man3/CRYPTO_THREAD_run_once.3 | 34 +- .../share/man/man3/CRYPTO_THREAD_unlock.3 | 1 + .../share/man/man3/CRYPTO_THREAD_write_lock.3 | 1 + .../share/man/man3/CRYPTO_atomic_add.3 | 1 + .../share/man/man3/CRYPTO_clear_free.3 | 1 + .../share/man/man3/CRYPTO_clear_realloc.3 | 1 + linux_amd64/share/man/man3/CRYPTO_free.3 | 1 + .../share/man/man3/CRYPTO_free_ex_data.3 | 1 + .../share/man/man3/CRYPTO_free_ex_index.3 | 1 + .../share/man/man3/CRYPTO_get_alloc_counts.3 | 1 + .../share/man/man3/CRYPTO_get_ex_data.3 | 1 + .../share/man/man3/CRYPTO_get_ex_new_index.3 | 30 +- .../share/man/man3/CRYPTO_get_mem_functions.3 | 1 + linux_amd64/share/man/man3/CRYPTO_malloc.3 | 1 + linux_amd64/share/man/man3/CRYPTO_mem_ctrl.3 | 1 + .../share/man/man3/CRYPTO_mem_debug_pop.3 | 1 + .../share/man/man3/CRYPTO_mem_debug_push.3 | 1 + linux_amd64/share/man/man3/CRYPTO_mem_leaks.3 | 1 + .../share/man/man3/CRYPTO_mem_leaks_cb.3 | 1 + .../share/man/man3/CRYPTO_mem_leaks_fp.3 | 1 + linux_amd64/share/man/man3/CRYPTO_memcmp.3 | 6 +- .../share/man/man3/CRYPTO_new_ex_data.3 | 1 + linux_amd64/share/man/man3/CRYPTO_realloc.3 | 1 + .../share/man/man3/CRYPTO_secure_allocated.3 | 1 + .../share/man/man3/CRYPTO_secure_clear_free.3 | 1 + .../share/man/man3/CRYPTO_secure_free.3 | 1 + .../share/man/man3/CRYPTO_secure_malloc.3 | 1 + .../man/man3/CRYPTO_secure_malloc_done.3 | 1 + .../man/man3/CRYPTO_secure_malloc_init.3 | 1 + .../man3/CRYPTO_secure_malloc_initialized.3 | 1 + .../share/man/man3/CRYPTO_secure_used.3 | 1 + .../share/man/man3/CRYPTO_secure_zalloc.3 | 1 + .../share/man/man3/CRYPTO_set_ex_data.3 | 1 + .../share/man/man3/CRYPTO_set_mem_debug.3 | 1 + .../share/man/man3/CRYPTO_set_mem_functions.3 | 1 + linux_amd64/share/man/man3/CRYPTO_strdup.3 | 1 + linux_amd64/share/man/man3/CRYPTO_strndup.3 | 1 + linux_amd64/share/man/man3/CRYPTO_zalloc.3 | 1 + linux_amd64/share/man/man3/CTLOG_STORE_free.3 | 1 + .../man/man3/CTLOG_STORE_get0_log_by_id.3 | 7 +- .../man/man3/CTLOG_STORE_load_default_file.3 | 1 + .../share/man/man3/CTLOG_STORE_load_file.3 | 1 + linux_amd64/share/man/man3/CTLOG_STORE_new.3 | 12 +- linux_amd64/share/man/man3/CTLOG_free.3 | 1 + .../share/man/man3/CTLOG_get0_log_id.3 | 1 + linux_amd64/share/man/man3/CTLOG_get0_name.3 | 1 + .../share/man/man3/CTLOG_get0_public_key.3 | 1 + linux_amd64/share/man/man3/CTLOG_new.3 | 8 +- .../share/man/man3/CTLOG_new_from_base64.3 | 1 + .../share/man/man3/CT_POLICY_EVAL_CTX_free.3 | 1 + .../man/man3/CT_POLICY_EVAL_CTX_get0_cert.3 | 1 + .../man/man3/CT_POLICY_EVAL_CTX_get0_issuer.3 | 1 + .../man3/CT_POLICY_EVAL_CTX_get0_log_store.3 | 1 + .../man/man3/CT_POLICY_EVAL_CTX_get_time.3 | 1 + .../share/man/man3/CT_POLICY_EVAL_CTX_new.3 | 13 +- .../man/man3/CT_POLICY_EVAL_CTX_set1_cert.3 | 1 + .../man/man3/CT_POLICY_EVAL_CTX_set1_issuer.3 | 1 + ...T_POLICY_EVAL_CTX_set_shared_CTLOG_STORE.3 | 1 + .../man/man3/CT_POLICY_EVAL_CTX_set_time.3 | 1 + .../share/man/man3/DECLARE_ASN1_FUNCTIONS.3 | 1 + linux_amd64/share/man/man3/DECLARE_LHASH_OF.3 | 1 + linux_amd64/share/man/man3/DECLARE_PEM_rw.3 | 1 + .../share/man/man3/DEFINE_SPECIAL_STACK_OF.3 | 1 + .../man/man3/DEFINE_SPECIAL_STACK_OF_CONST.3 | 1 + linux_amd64/share/man/man3/DEFINE_STACK_OF.3 | 211 ++-- .../share/man/man3/DEFINE_STACK_OF_CONST.3 | 1 + linux_amd64/share/man/man3/DES_cbc_cksum.3 | 1 + .../share/man/man3/DES_cfb64_encrypt.3 | 1 + linux_amd64/share/man/man3/DES_cfb_encrypt.3 | 1 + linux_amd64/share/man/man3/DES_crypt.3 | 1 + linux_amd64/share/man/man3/DES_ecb2_encrypt.3 | 1 + linux_amd64/share/man/man3/DES_ecb3_encrypt.3 | 1 + linux_amd64/share/man/man3/DES_ecb_encrypt.3 | 1 + .../share/man/man3/DES_ede2_cbc_encrypt.3 | 1 + .../share/man/man3/DES_ede2_cfb64_encrypt.3 | 1 + .../share/man/man3/DES_ede2_ofb64_encrypt.3 | 1 + .../share/man/man3/DES_ede3_cbc_encrypt.3 | 1 + .../share/man/man3/DES_ede3_cfb64_encrypt.3 | 1 + .../share/man/man3/DES_ede3_ofb64_encrypt.3 | 1 + linux_amd64/share/man/man3/DES_fcrypt.3 | 1 + linux_amd64/share/man/man3/DES_is_weak_key.3 | 1 + linux_amd64/share/man/man3/DES_key_sched.3 | 1 + linux_amd64/share/man/man3/DES_ncbc_encrypt.3 | 1 + .../share/man/man3/DES_ofb64_encrypt.3 | 1 + linux_amd64/share/man/man3/DES_ofb_encrypt.3 | 1 + linux_amd64/share/man/man3/DES_pcbc_encrypt.3 | 1 + linux_amd64/share/man/man3/DES_quad_cksum.3 | 1 + linux_amd64/share/man/man3/DES_random_key.3 | 41 +- linux_amd64/share/man/man3/DES_set_key.3 | 1 + .../share/man/man3/DES_set_key_checked.3 | 1 + .../share/man/man3/DES_set_key_unchecked.3 | 1 + .../share/man/man3/DES_set_odd_parity.3 | 1 + .../share/man/man3/DES_string_to_2keys.3 | 1 + .../share/man/man3/DES_string_to_key.3 | 1 + linux_amd64/share/man/man3/DES_xcbc_encrypt.3 | 1 + linux_amd64/share/man/man3/DH_OpenSSL.3 | 1 + linux_amd64/share/man/man3/DH_bits.3 | 1 + linux_amd64/share/man/man3/DH_check.3 | 1 + linux_amd64/share/man/man3/DH_check_ex.3 | 1 + linux_amd64/share/man/man3/DH_check_params.3 | 1 + .../share/man/man3/DH_check_params_ex.3 | 1 + .../share/man/man3/DH_check_pub_key_ex.3 | 1 + linux_amd64/share/man/man3/DH_clear_flags.3 | 1 + linux_amd64/share/man/man3/DH_compute_key.3 | 1 + linux_amd64/share/man/man3/DH_free.3 | 1 + linux_amd64/share/man/man3/DH_generate_key.3 | 20 +- .../share/man/man3/DH_generate_parameters.3 | 41 +- .../man/man3/DH_generate_parameters_ex.3 | 1 + linux_amd64/share/man/man3/DH_get0_engine.3 | 1 + linux_amd64/share/man/man3/DH_get0_g.3 | 1 + linux_amd64/share/man/man3/DH_get0_key.3 | 1 + linux_amd64/share/man/man3/DH_get0_p.3 | 1 + linux_amd64/share/man/man3/DH_get0_pqg.3 | 27 +- linux_amd64/share/man/man3/DH_get0_priv_key.3 | 1 + linux_amd64/share/man/man3/DH_get0_pub_key.3 | 1 + linux_amd64/share/man/man3/DH_get0_q.3 | 1 + linux_amd64/share/man/man3/DH_get_1024_160.3 | 22 +- linux_amd64/share/man/man3/DH_get_2048_224.3 | 1 + linux_amd64/share/man/man3/DH_get_2048_256.3 | 1 + .../share/man/man3/DH_get_default_method.3 | 1 + linux_amd64/share/man/man3/DH_get_ex_data.3 | 1 + .../share/man/man3/DH_get_ex_new_index.3 | 1 + linux_amd64/share/man/man3/DH_get_length.3 | 1 + linux_amd64/share/man/man3/DH_get_nid.3 | 1 + linux_amd64/share/man/man3/DH_meth_dup.3 | 1 + linux_amd64/share/man/man3/DH_meth_free.3 | 1 + .../share/man/man3/DH_meth_get0_app_data.3 | 1 + .../share/man/man3/DH_meth_get0_name.3 | 1 + .../share/man/man3/DH_meth_get_bn_mod_exp.3 | 1 + .../share/man/man3/DH_meth_get_compute_key.3 | 1 + .../share/man/man3/DH_meth_get_finish.3 | 1 + .../share/man/man3/DH_meth_get_flags.3 | 1 + .../share/man/man3/DH_meth_get_generate_key.3 | 1 + .../man/man3/DH_meth_get_generate_params.3 | 1 + linux_amd64/share/man/man3/DH_meth_get_init.3 | 1 + linux_amd64/share/man/man3/DH_meth_new.3 | 25 +- .../share/man/man3/DH_meth_set0_app_data.3 | 1 + .../share/man/man3/DH_meth_set1_name.3 | 1 + .../share/man/man3/DH_meth_set_bn_mod_exp.3 | 1 + .../share/man/man3/DH_meth_set_compute_key.3 | 1 + .../share/man/man3/DH_meth_set_finish.3 | 1 + .../share/man/man3/DH_meth_set_flags.3 | 1 + .../share/man/man3/DH_meth_set_generate_key.3 | 1 + .../man/man3/DH_meth_set_generate_params.3 | 1 + linux_amd64/share/man/man3/DH_meth_set_init.3 | 1 + linux_amd64/share/man/man3/DH_new.3 | 4 +- linux_amd64/share/man/man3/DH_new_by_nid.3 | 26 +- linux_amd64/share/man/man3/DH_new_method.3 | 1 + linux_amd64/share/man/man3/DH_security_bits.3 | 1 + linux_amd64/share/man/man3/DH_set0_key.3 | 1 + linux_amd64/share/man/man3/DH_set0_pqg.3 | 1 + .../share/man/man3/DH_set_default_method.3 | 1 + linux_amd64/share/man/man3/DH_set_ex_data.3 | 1 + linux_amd64/share/man/man3/DH_set_flags.3 | 1 + linux_amd64/share/man/man3/DH_set_length.3 | 1 + linux_amd64/share/man/man3/DH_set_method.3 | 23 +- linux_amd64/share/man/man3/DH_size.3 | 22 +- linux_amd64/share/man/man3/DH_test_flags.3 | 1 + linux_amd64/share/man/man3/DHparams_print.3 | 1 + .../share/man/man3/DHparams_print_fp.3 | 1 + .../share/man/man3/DIRECTORYSTRING_free.3 | 1 + .../share/man/man3/DIRECTORYSTRING_new.3 | 1 + linux_amd64/share/man/man3/DISPLAYTEXT_free.3 | 1 + linux_amd64/share/man/man3/DISPLAYTEXT_new.3 | 1 + .../share/man/man3/DIST_POINT_NAME_free.3 | 1 + .../share/man/man3/DIST_POINT_NAME_new.3 | 1 + linux_amd64/share/man/man3/DIST_POINT_free.3 | 1 + linux_amd64/share/man/man3/DIST_POINT_new.3 | 1 + linux_amd64/share/man/man3/DSA_OpenSSL.3 | 1 + linux_amd64/share/man/man3/DSA_SIG_free.3 | 1 + linux_amd64/share/man/man3/DSA_SIG_get0.3 | 1 + linux_amd64/share/man/man3/DSA_SIG_new.3 | 7 +- linux_amd64/share/man/man3/DSA_SIG_set0.3 | 1 + linux_amd64/share/man/man3/DSA_bits.3 | 1 + linux_amd64/share/man/man3/DSA_clear_flags.3 | 1 + linux_amd64/share/man/man3/DSA_do_sign.3 | 4 +- linux_amd64/share/man/man3/DSA_do_verify.3 | 1 + linux_amd64/share/man/man3/DSA_dup_DH.3 | 19 +- linux_amd64/share/man/man3/DSA_free.3 | 1 + linux_amd64/share/man/man3/DSA_generate_key.3 | 6 +- .../share/man/man3/DSA_generate_parameters.3 | 12 +- .../man/man3/DSA_generate_parameters_ex.3 | 1 + linux_amd64/share/man/man3/DSA_get0_engine.3 | 1 + linux_amd64/share/man/man3/DSA_get0_g.3 | 1 + linux_amd64/share/man/man3/DSA_get0_key.3 | 1 + linux_amd64/share/man/man3/DSA_get0_p.3 | 1 + linux_amd64/share/man/man3/DSA_get0_pqg.3 | 11 +- .../share/man/man3/DSA_get0_priv_key.3 | 1 + linux_amd64/share/man/man3/DSA_get0_pub_key.3 | 1 + linux_amd64/share/man/man3/DSA_get0_q.3 | 1 + .../share/man/man3/DSA_get_default_method.3 | 1 + linux_amd64/share/man/man3/DSA_get_ex_data.3 | 1 + .../share/man/man3/DSA_get_ex_new_index.3 | 1 + linux_amd64/share/man/man3/DSA_meth_dup.3 | 1 + linux_amd64/share/man/man3/DSA_meth_free.3 | 1 + .../share/man/man3/DSA_meth_get0_app_data.3 | 1 + .../share/man/man3/DSA_meth_get0_name.3 | 1 + .../share/man/man3/DSA_meth_get_bn_mod_exp.3 | 1 + .../share/man/man3/DSA_meth_get_finish.3 | 1 + .../share/man/man3/DSA_meth_get_flags.3 | 1 + .../share/man/man3/DSA_meth_get_init.3 | 1 + .../share/man/man3/DSA_meth_get_keygen.3 | 1 + .../share/man/man3/DSA_meth_get_mod_exp.3 | 1 + .../share/man/man3/DSA_meth_get_paramgen.3 | 1 + .../share/man/man3/DSA_meth_get_sign.3 | 1 + .../share/man/man3/DSA_meth_get_sign_setup.3 | 1 + .../share/man/man3/DSA_meth_get_verify.3 | 1 + linux_amd64/share/man/man3/DSA_meth_new.3 | 33 +- .../share/man/man3/DSA_meth_set0_app_data.3 | 1 + .../share/man/man3/DSA_meth_set1_name.3 | 1 + .../share/man/man3/DSA_meth_set_bn_mod_exp.3 | 1 + .../share/man/man3/DSA_meth_set_finish.3 | 1 + .../share/man/man3/DSA_meth_set_flags.3 | 1 + .../share/man/man3/DSA_meth_set_init.3 | 1 + .../share/man/man3/DSA_meth_set_keygen.3 | 1 + .../share/man/man3/DSA_meth_set_mod_exp.3 | 1 + .../share/man/man3/DSA_meth_set_paramgen.3 | 1 + .../share/man/man3/DSA_meth_set_sign.3 | 1 + .../share/man/man3/DSA_meth_set_sign_setup.3 | 1 + .../share/man/man3/DSA_meth_set_verify.3 | 1 + linux_amd64/share/man/man3/DSA_new.3 | 4 +- linux_amd64/share/man/man3/DSA_new_method.3 | 1 + linux_amd64/share/man/man3/DSA_print.3 | 1 + linux_amd64/share/man/man3/DSA_print_fp.3 | 1 + .../share/man/man3/DSA_security_bits.3 | 1 + linux_amd64/share/man/man3/DSA_set0_key.3 | 1 + linux_amd64/share/man/man3/DSA_set0_pqg.3 | 1 + .../share/man/man3/DSA_set_default_method.3 | 1 + linux_amd64/share/man/man3/DSA_set_ex_data.3 | 1 + linux_amd64/share/man/man3/DSA_set_flags.3 | 1 + linux_amd64/share/man/man3/DSA_set_method.3 | 11 +- linux_amd64/share/man/man3/DSA_sign.3 | 6 +- linux_amd64/share/man/man3/DSA_sign_setup.3 | 1 + linux_amd64/share/man/man3/DSA_size.3 | 22 +- linux_amd64/share/man/man3/DSA_test_flags.3 | 1 + linux_amd64/share/man/man3/DSA_verify.3 | 1 + linux_amd64/share/man/man3/DSAparams_dup.3 | 1 + linux_amd64/share/man/man3/DSAparams_print.3 | 1 + .../share/man/man3/DSAparams_print_fp.3 | 1 + .../share/man/man3/DTLS_client_method.3 | 1 + .../share/man/man3/DTLS_get_data_mtu.3 | 4 +- linux_amd64/share/man/man3/DTLS_method.3 | 1 + .../share/man/man3/DTLS_server_method.3 | 1 + .../share/man/man3/DTLS_set_timer_cb.3 | 8 +- linux_amd64/share/man/man3/DTLS_timer_cb.3 | 1 + .../share/man/man3/DTLSv1_2_client_method.3 | 1 + linux_amd64/share/man/man3/DTLSv1_2_method.3 | 1 + .../share/man/man3/DTLSv1_2_server_method.3 | 1 + .../share/man/man3/DTLSv1_client_method.3 | 1 + linux_amd64/share/man/man3/DTLSv1_listen.3 | 8 +- linux_amd64/share/man/man3/DTLSv1_method.3 | 1 + .../share/man/man3/DTLSv1_server_method.3 | 1 + linux_amd64/share/man/man3/ECDH_get_ex_data.3 | 1 + .../share/man/man3/ECDH_get_ex_new_index.3 | 1 + linux_amd64/share/man/man3/ECDH_set_ex_data.3 | 1 + linux_amd64/share/man/man3/ECDSA_SIG_free.3 | 1 + linux_amd64/share/man/man3/ECDSA_SIG_get0.3 | 1 + linux_amd64/share/man/man3/ECDSA_SIG_get0_r.3 | 1 + linux_amd64/share/man/man3/ECDSA_SIG_get0_s.3 | 1 + linux_amd64/share/man/man3/ECDSA_SIG_new.3 | 36 +- linux_amd64/share/man/man3/ECDSA_SIG_set0.3 | 1 + linux_amd64/share/man/man3/ECDSA_do_sign.3 | 1 + linux_amd64/share/man/man3/ECDSA_do_sign_ex.3 | 1 + linux_amd64/share/man/man3/ECDSA_do_verify.3 | 1 + linux_amd64/share/man/man3/ECDSA_sign.3 | 1 + linux_amd64/share/man/man3/ECDSA_sign_ex.3 | 1 + linux_amd64/share/man/man3/ECDSA_sign_setup.3 | 1 + linux_amd64/share/man/man3/ECDSA_size.3 | 1 + linux_amd64/share/man/man3/ECDSA_verify.3 | 1 + .../share/man/man3/ECPARAMETERS_free.3 | 1 + linux_amd64/share/man/man3/ECPARAMETERS_new.3 | 1 + .../share/man/man3/ECPKPARAMETERS_free.3 | 1 + .../share/man/man3/ECPKPARAMETERS_new.3 | 1 + .../share/man/man3/ECPKParameters_print.3 | 7 +- .../share/man/man3/ECPKParameters_print_fp.3 | 1 + .../share/man/man3/EC_GF2m_simple_method.3 | 1 + .../share/man/man3/EC_GFp_mont_method.3 | 1 + .../share/man/man3/EC_GFp_nist_method.3 | 1 + .../share/man/man3/EC_GFp_nistp224_method.3 | 1 + .../share/man/man3/EC_GFp_nistp256_method.3 | 1 + .../share/man/man3/EC_GFp_nistp521_method.3 | 1 + .../share/man/man3/EC_GFp_simple_method.3 | 4 +- linux_amd64/share/man/man3/EC_GROUP_check.3 | 1 + .../man/man3/EC_GROUP_check_discriminant.3 | 1 + .../share/man/man3/EC_GROUP_clear_free.3 | 1 + linux_amd64/share/man/man3/EC_GROUP_cmp.3 | 1 + linux_amd64/share/man/man3/EC_GROUP_copy.3 | 39 +- linux_amd64/share/man/man3/EC_GROUP_dup.3 | 1 + linux_amd64/share/man/man3/EC_GROUP_free.3 | 1 + .../share/man/man3/EC_GROUP_get0_cofactor.3 | 1 + .../share/man/man3/EC_GROUP_get0_generator.3 | 1 + .../share/man/man3/EC_GROUP_get0_order.3 | 1 + .../share/man/man3/EC_GROUP_get0_seed.3 | 1 + .../share/man/man3/EC_GROUP_get_asn1_flag.3 | 1 + .../share/man/man3/EC_GROUP_get_basis_type.3 | 1 + .../share/man/man3/EC_GROUP_get_cofactor.3 | 1 + .../share/man/man3/EC_GROUP_get_curve.3 | 1 + .../share/man/man3/EC_GROUP_get_curve_GF2m.3 | 1 + .../share/man/man3/EC_GROUP_get_curve_GFp.3 | 1 + .../share/man/man3/EC_GROUP_get_curve_name.3 | 1 + .../share/man/man3/EC_GROUP_get_degree.3 | 1 + .../man/man3/EC_GROUP_get_ecparameters.3 | 1 + .../man/man3/EC_GROUP_get_ecpkparameters.3 | 1 + .../share/man/man3/EC_GROUP_get_order.3 | 1 + .../man/man3/EC_GROUP_get_pentanomial_basis.3 | 1 + .../man3/EC_GROUP_get_point_conversion_form.3 | 1 + .../share/man/man3/EC_GROUP_get_seed_len.3 | 1 + .../man/man3/EC_GROUP_get_trinomial_basis.3 | 1 + .../man/man3/EC_GROUP_have_precompute_mult.3 | 1 + .../share/man/man3/EC_GROUP_method_of.3 | 1 + linux_amd64/share/man/man3/EC_GROUP_new.3 | 96 +- .../man/man3/EC_GROUP_new_by_curve_name.3 | 1 + .../share/man/man3/EC_GROUP_new_curve_GF2m.3 | 1 + .../share/man/man3/EC_GROUP_new_curve_GFp.3 | 1 + .../man/man3/EC_GROUP_new_from_ecparameters.3 | 1 + .../man3/EC_GROUP_new_from_ecpkparameters.3 | 1 + .../share/man/man3/EC_GROUP_order_bits.3 | 1 + .../share/man/man3/EC_GROUP_precompute_mult.3 | 1 + .../share/man/man3/EC_GROUP_set_asn1_flag.3 | 1 + .../share/man/man3/EC_GROUP_set_curve.3 | 1 + .../share/man/man3/EC_GROUP_set_curve_GF2m.3 | 1 + .../share/man/man3/EC_GROUP_set_curve_GFp.3 | 1 + .../share/man/man3/EC_GROUP_set_curve_name.3 | 1 + .../share/man/man3/EC_GROUP_set_generator.3 | 1 + .../man3/EC_GROUP_set_point_conversion_form.3 | 1 + .../share/man/man3/EC_GROUP_set_seed.3 | 1 + linux_amd64/share/man/man3/EC_KEY_check_key.3 | 1 + .../share/man/man3/EC_KEY_clear_flags.3 | 1 + linux_amd64/share/man/man3/EC_KEY_copy.3 | 1 + linux_amd64/share/man/man3/EC_KEY_dup.3 | 1 + linux_amd64/share/man/man3/EC_KEY_free.3 | 1 + .../share/man/man3/EC_KEY_generate_key.3 | 1 + .../share/man/man3/EC_KEY_get0_engine.3 | 1 + .../share/man/man3/EC_KEY_get0_group.3 | 1 + .../share/man/man3/EC_KEY_get0_private_key.3 | 1 + .../share/man/man3/EC_KEY_get0_public_key.3 | 1 + .../share/man/man3/EC_KEY_get_conv_form.3 | 1 + .../share/man/man3/EC_KEY_get_enc_flags.3 | 7 +- .../share/man/man3/EC_KEY_get_ex_data.3 | 1 + .../share/man/man3/EC_KEY_get_ex_new_index.3 | 1 + linux_amd64/share/man/man3/EC_KEY_get_flags.3 | 1 + .../share/man/man3/EC_KEY_get_method.3 | 1 + linux_amd64/share/man/man3/EC_KEY_key2buf.3 | 1 + linux_amd64/share/man/man3/EC_KEY_new.3 | 54 +- .../share/man/man3/EC_KEY_new_by_curve_name.3 | 1 + linux_amd64/share/man/man3/EC_KEY_oct2key.3 | 1 + linux_amd64/share/man/man3/EC_KEY_oct2priv.3 | 1 + .../share/man/man3/EC_KEY_precompute_mult.3 | 1 + linux_amd64/share/man/man3/EC_KEY_priv2buf.3 | 1 + linux_amd64/share/man/man3/EC_KEY_priv2oct.3 | 1 + .../share/man/man3/EC_KEY_set_asn1_flag.3 | 1 + .../share/man/man3/EC_KEY_set_conv_form.3 | 1 + .../share/man/man3/EC_KEY_set_enc_flags.3 | 1 + .../share/man/man3/EC_KEY_set_ex_data.3 | 1 + linux_amd64/share/man/man3/EC_KEY_set_flags.3 | 1 + linux_amd64/share/man/man3/EC_KEY_set_group.3 | 1 + .../share/man/man3/EC_KEY_set_method.3 | 1 + .../share/man/man3/EC_KEY_set_private_key.3 | 1 + .../share/man/man3/EC_KEY_set_public_key.3 | 1 + ...EC_KEY_set_public_key_affine_coordinates.3 | 1 + linux_amd64/share/man/man3/EC_KEY_up_ref.3 | 1 + .../share/man/man3/EC_METHOD_get_field_type.3 | 1 + linux_amd64/share/man/man3/EC_POINT_add.3 | 4 +- .../share/man/man3/EC_POINT_bn2point.3 | 1 + .../share/man/man3/EC_POINT_clear_free.3 | 1 + linux_amd64/share/man/man3/EC_POINT_cmp.3 | 1 + linux_amd64/share/man/man3/EC_POINT_copy.3 | 1 + linux_amd64/share/man/man3/EC_POINT_dbl.3 | 1 + linux_amd64/share/man/man3/EC_POINT_dup.3 | 1 + linux_amd64/share/man/man3/EC_POINT_free.3 | 1 + ...EC_POINT_get_Jprojective_coordinates_GFp.3 | 1 + .../man3/EC_POINT_get_affine_coordinates.3 | 1 + .../EC_POINT_get_affine_coordinates_GF2m.3 | 1 + .../EC_POINT_get_affine_coordinates_GFp.3 | 1 + .../share/man/man3/EC_POINT_hex2point.3 | 1 + linux_amd64/share/man/man3/EC_POINT_invert.3 | 1 + .../share/man/man3/EC_POINT_is_at_infinity.3 | 1 + .../share/man/man3/EC_POINT_is_on_curve.3 | 1 + .../share/man/man3/EC_POINT_make_affine.3 | 1 + .../share/man/man3/EC_POINT_method_of.3 | 1 + linux_amd64/share/man/man3/EC_POINT_mul.3 | 1 + linux_amd64/share/man/man3/EC_POINT_new.3 | 31 +- .../share/man/man3/EC_POINT_oct2point.3 | 1 + .../share/man/man3/EC_POINT_point2bn.3 | 1 + .../share/man/man3/EC_POINT_point2buf.3 | 1 + .../share/man/man3/EC_POINT_point2hex.3 | 1 + .../share/man/man3/EC_POINT_point2oct.3 | 1 + ...EC_POINT_set_Jprojective_coordinates_GFp.3 | 1 + .../man3/EC_POINT_set_affine_coordinates.3 | 1 + .../EC_POINT_set_affine_coordinates_GF2m.3 | 1 + .../EC_POINT_set_affine_coordinates_GFp.3 | 1 + .../EC_POINT_set_compressed_coordinates.3 | 1 + ...EC_POINT_set_compressed_coordinates_GF2m.3 | 1 + .../EC_POINT_set_compressed_coordinates_GFp.3 | 1 + .../share/man/man3/EC_POINT_set_to_infinity.3 | 1 + .../share/man/man3/EC_POINTs_make_affine.3 | 1 + linux_amd64/share/man/man3/EC_POINTs_mul.3 | 1 + .../share/man/man3/EC_get_builtin_curves.3 | 1 + .../share/man/man3/EDIPARTYNAME_free.3 | 1 + linux_amd64/share/man/man3/EDIPARTYNAME_new.3 | 1 + linux_amd64/share/man/man3/ENGINE_add.3 | 64 +- .../share/man/man3/ENGINE_add_conf_module.3 | 1 + linux_amd64/share/man/man3/ENGINE_by_id.3 | 1 + linux_amd64/share/man/man3/ENGINE_cleanup.3 | 1 + .../share/man/man3/ENGINE_cmd_is_executable.3 | 1 + linux_amd64/share/man/man3/ENGINE_ctrl.3 | 1 + linux_amd64/share/man/man3/ENGINE_ctrl_cmd.3 | 1 + .../share/man/man3/ENGINE_ctrl_cmd_string.3 | 1 + linux_amd64/share/man/man3/ENGINE_finish.3 | 1 + linux_amd64/share/man/man3/ENGINE_free.3 | 1 + linux_amd64/share/man/man3/ENGINE_get_DH.3 | 1 + linux_amd64/share/man/man3/ENGINE_get_DSA.3 | 1 + linux_amd64/share/man/man3/ENGINE_get_RAND.3 | 1 + linux_amd64/share/man/man3/ENGINE_get_RSA.3 | 1 + .../share/man/man3/ENGINE_get_cipher.3 | 1 + .../share/man/man3/ENGINE_get_cipher_engine.3 | 1 + .../share/man/man3/ENGINE_get_ciphers.3 | 1 + .../share/man/man3/ENGINE_get_cmd_defns.3 | 1 + .../share/man/man3/ENGINE_get_ctrl_function.3 | 1 + .../share/man/man3/ENGINE_get_default_DH.3 | 1 + .../share/man/man3/ENGINE_get_default_DSA.3 | 1 + .../share/man/man3/ENGINE_get_default_RAND.3 | 1 + .../share/man/man3/ENGINE_get_default_RSA.3 | 1 + .../man/man3/ENGINE_get_destroy_function.3 | 1 + .../share/man/man3/ENGINE_get_digest.3 | 1 + .../share/man/man3/ENGINE_get_digest_engine.3 | 1 + .../share/man/man3/ENGINE_get_digests.3 | 1 + .../share/man/man3/ENGINE_get_ex_data.3 | 1 + .../share/man/man3/ENGINE_get_ex_new_index.3 | 1 + .../man/man3/ENGINE_get_finish_function.3 | 1 + linux_amd64/share/man/man3/ENGINE_get_first.3 | 1 + linux_amd64/share/man/man3/ENGINE_get_flags.3 | 1 + linux_amd64/share/man/man3/ENGINE_get_id.3 | 1 + .../share/man/man3/ENGINE_get_init_function.3 | 1 + linux_amd64/share/man/man3/ENGINE_get_last.3 | 1 + .../man3/ENGINE_get_load_privkey_function.3 | 1 + .../man3/ENGINE_get_load_pubkey_function.3 | 1 + linux_amd64/share/man/man3/ENGINE_get_name.3 | 1 + linux_amd64/share/man/man3/ENGINE_get_next.3 | 1 + linux_amd64/share/man/man3/ENGINE_get_prev.3 | 1 + .../share/man/man3/ENGINE_get_table_flags.3 | 1 + linux_amd64/share/man/man3/ENGINE_init.3 | 1 + .../man/man3/ENGINE_load_builtin_engines.3 | 1 + .../share/man/man3/ENGINE_load_private_key.3 | 1 + .../share/man/man3/ENGINE_load_public_key.3 | 1 + linux_amd64/share/man/man3/ENGINE_new.3 | 1 + .../share/man/man3/ENGINE_register_DH.3 | 1 + .../share/man/man3/ENGINE_register_DSA.3 | 1 + .../share/man/man3/ENGINE_register_RAND.3 | 1 + .../share/man/man3/ENGINE_register_RSA.3 | 1 + .../share/man/man3/ENGINE_register_all_DH.3 | 1 + .../share/man/man3/ENGINE_register_all_DSA.3 | 1 + .../share/man/man3/ENGINE_register_all_RAND.3 | 1 + .../share/man/man3/ENGINE_register_all_RSA.3 | 1 + .../man/man3/ENGINE_register_all_ciphers.3 | 1 + .../man/man3/ENGINE_register_all_complete.3 | 1 + .../man/man3/ENGINE_register_all_digests.3 | 1 + .../share/man/man3/ENGINE_register_ciphers.3 | 1 + .../share/man/man3/ENGINE_register_complete.3 | 1 + .../share/man/man3/ENGINE_register_digests.3 | 1 + linux_amd64/share/man/man3/ENGINE_remove.3 | 1 + linux_amd64/share/man/man3/ENGINE_set_DH.3 | 1 + linux_amd64/share/man/man3/ENGINE_set_DSA.3 | 1 + linux_amd64/share/man/man3/ENGINE_set_RAND.3 | 1 + linux_amd64/share/man/man3/ENGINE_set_RSA.3 | 1 + .../share/man/man3/ENGINE_set_ciphers.3 | 1 + .../share/man/man3/ENGINE_set_cmd_defns.3 | 1 + .../share/man/man3/ENGINE_set_ctrl_function.3 | 1 + .../share/man/man3/ENGINE_set_default.3 | 1 + .../share/man/man3/ENGINE_set_default_DH.3 | 1 + .../share/man/man3/ENGINE_set_default_DSA.3 | 1 + .../share/man/man3/ENGINE_set_default_RAND.3 | 1 + .../share/man/man3/ENGINE_set_default_RSA.3 | 1 + .../man/man3/ENGINE_set_default_ciphers.3 | 1 + .../man/man3/ENGINE_set_default_digests.3 | 1 + .../man/man3/ENGINE_set_default_string.3 | 1 + .../man/man3/ENGINE_set_destroy_function.3 | 1 + .../share/man/man3/ENGINE_set_digests.3 | 1 + .../share/man/man3/ENGINE_set_ex_data.3 | 1 + .../man/man3/ENGINE_set_finish_function.3 | 1 + linux_amd64/share/man/man3/ENGINE_set_flags.3 | 1 + linux_amd64/share/man/man3/ENGINE_set_id.3 | 1 + .../share/man/man3/ENGINE_set_init_function.3 | 1 + .../man3/ENGINE_set_load_privkey_function.3 | 1 + .../man3/ENGINE_set_load_pubkey_function.3 | 1 + linux_amd64/share/man/man3/ENGINE_set_name.3 | 1 + .../share/man/man3/ENGINE_set_table_flags.3 | 1 + .../share/man/man3/ENGINE_unregister_DH.3 | 1 + .../share/man/man3/ENGINE_unregister_DSA.3 | 1 + .../share/man/man3/ENGINE_unregister_RAND.3 | 1 + .../share/man/man3/ENGINE_unregister_RSA.3 | 1 + .../man/man3/ENGINE_unregister_ciphers.3 | 1 + .../man/man3/ENGINE_unregister_digests.3 | 1 + linux_amd64/share/man/man3/ENGINE_up_ref.3 | 1 + linux_amd64/share/man/man3/ERR_FATAL_ERROR.3 | 1 + linux_amd64/share/man/man3/ERR_GET_FUNC.3 | 1 + linux_amd64/share/man/man3/ERR_GET_LIB.3 | 10 +- linux_amd64/share/man/man3/ERR_GET_REASON.3 | 1 + linux_amd64/share/man/man3/ERR_PACK.3 | 1 + .../share/man/man3/ERR_add_error_data.3 | 1 + .../share/man/man3/ERR_add_error_vdata.3 | 1 + linux_amd64/share/man/man3/ERR_clear_error.3 | 4 +- linux_amd64/share/man/man3/ERR_error_string.3 | 34 +- .../share/man/man3/ERR_error_string_n.3 | 1 + linux_amd64/share/man/man3/ERR_free_strings.3 | 1 + .../share/man/man3/ERR_func_error_string.3 | 1 + linux_amd64/share/man/man3/ERR_get_error.3 | 88 +- .../share/man/man3/ERR_get_error_line.3 | 1 + .../share/man/man3/ERR_get_error_line_data.3 | 1 + .../man/man3/ERR_get_next_error_library.3 | 1 + .../share/man/man3/ERR_lib_error_string.3 | 1 + .../share/man/man3/ERR_load_crypto_strings.3 | 15 +- linux_amd64/share/man/man3/ERR_load_strings.3 | 9 +- linux_amd64/share/man/man3/ERR_peek_error.3 | 1 + .../share/man/man3/ERR_peek_error_line.3 | 1 + .../share/man/man3/ERR_peek_error_line_data.3 | 1 + .../share/man/man3/ERR_peek_last_error.3 | 1 + .../share/man/man3/ERR_peek_last_error_line.3 | 1 + .../man/man3/ERR_peek_last_error_line_data.3 | 1 + linux_amd64/share/man/man3/ERR_pop_to_mark.3 | 1 + linux_amd64/share/man/man3/ERR_print_errors.3 | 9 +- .../share/man/man3/ERR_print_errors_cb.3 | 1 + .../share/man/man3/ERR_print_errors_fp.3 | 1 + linux_amd64/share/man/man3/ERR_put_error.3 | 65 +- .../share/man/man3/ERR_reason_error_string.3 | 1 + linux_amd64/share/man/man3/ERR_remove_state.3 | 22 +- .../share/man/man3/ERR_remove_thread_state.3 | 1 + linux_amd64/share/man/man3/ERR_set_mark.3 | 4 +- linux_amd64/share/man/man3/ESS_CERT_ID_dup.3 | 1 + linux_amd64/share/man/man3/ESS_CERT_ID_free.3 | 1 + linux_amd64/share/man/man3/ESS_CERT_ID_new.3 | 1 + .../share/man/man3/ESS_ISSUER_SERIAL_dup.3 | 1 + .../share/man/man3/ESS_ISSUER_SERIAL_free.3 | 1 + .../share/man/man3/ESS_ISSUER_SERIAL_new.3 | 1 + .../share/man/man3/ESS_SIGNING_CERT_dup.3 | 1 + .../share/man/man3/ESS_SIGNING_CERT_free.3 | 1 + .../share/man/man3/ESS_SIGNING_CERT_new.3 | 1 + linux_amd64/share/man/man3/EVP_BytesToKey.3 | 4 +- .../man/man3/EVP_CIPHER_CTX_block_size.3 | 1 + .../share/man/man3/EVP_CIPHER_CTX_cipher.3 | 1 + .../share/man/man3/EVP_CIPHER_CTX_ctrl.3 | 1 + .../share/man/man3/EVP_CIPHER_CTX_flags.3 | 1 + .../share/man/man3/EVP_CIPHER_CTX_free.3 | 1 + .../man/man3/EVP_CIPHER_CTX_get_app_data.3 | 1 + .../man/man3/EVP_CIPHER_CTX_get_cipher_data.3 | 7 +- .../share/man/man3/EVP_CIPHER_CTX_iv_length.3 | 1 + .../man/man3/EVP_CIPHER_CTX_key_length.3 | 1 + .../share/man/man3/EVP_CIPHER_CTX_mode.3 | 1 + .../share/man/man3/EVP_CIPHER_CTX_new.3 | 1 + .../share/man/man3/EVP_CIPHER_CTX_nid.3 | 1 + .../share/man/man3/EVP_CIPHER_CTX_reset.3 | 1 + .../man/man3/EVP_CIPHER_CTX_set_app_data.3 | 1 + .../man/man3/EVP_CIPHER_CTX_set_cipher_data.3 | 1 + .../man/man3/EVP_CIPHER_CTX_set_key_length.3 | 1 + .../man/man3/EVP_CIPHER_CTX_set_padding.3 | 1 + .../share/man/man3/EVP_CIPHER_CTX_type.3 | 1 + .../share/man/man3/EVP_CIPHER_asn1_to_param.3 | 1 + .../share/man/man3/EVP_CIPHER_block_size.3 | 1 + linux_amd64/share/man/man3/EVP_CIPHER_flags.3 | 1 + .../share/man/man3/EVP_CIPHER_iv_length.3 | 1 + .../share/man/man3/EVP_CIPHER_key_length.3 | 1 + .../share/man/man3/EVP_CIPHER_meth_dup.3 | 1 + .../share/man/man3/EVP_CIPHER_meth_free.3 | 1 + .../man/man3/EVP_CIPHER_meth_get_cleanup.3 | 1 + .../share/man/man3/EVP_CIPHER_meth_get_ctrl.3 | 1 + .../man/man3/EVP_CIPHER_meth_get_do_cipher.3 | 1 + .../EVP_CIPHER_meth_get_get_asn1_params.3 | 1 + .../share/man/man3/EVP_CIPHER_meth_get_init.3 | 1 + .../EVP_CIPHER_meth_get_set_asn1_params.3 | 1 + .../share/man/man3/EVP_CIPHER_meth_new.3 | 23 +- .../man/man3/EVP_CIPHER_meth_set_cleanup.3 | 1 + .../share/man/man3/EVP_CIPHER_meth_set_ctrl.3 | 1 + .../man/man3/EVP_CIPHER_meth_set_do_cipher.3 | 1 + .../man/man3/EVP_CIPHER_meth_set_flags.3 | 1 + .../EVP_CIPHER_meth_set_get_asn1_params.3 | 1 + .../man3/EVP_CIPHER_meth_set_impl_ctx_size.3 | 1 + .../share/man/man3/EVP_CIPHER_meth_set_init.3 | 1 + .../man/man3/EVP_CIPHER_meth_set_iv_length.3 | 1 + .../EVP_CIPHER_meth_set_set_asn1_params.3 | 1 + linux_amd64/share/man/man3/EVP_CIPHER_mode.3 | 1 + linux_amd64/share/man/man3/EVP_CIPHER_nid.3 | 1 + .../share/man/man3/EVP_CIPHER_param_to_asn1.3 | 1 + linux_amd64/share/man/man3/EVP_CIPHER_type.3 | 1 + linux_amd64/share/man/man3/EVP_CipherFinal.3 | 1 + .../share/man/man3/EVP_CipherFinal_ex.3 | 1 + linux_amd64/share/man/man3/EVP_CipherInit.3 | 1 + .../share/man/man3/EVP_CipherInit_ex.3 | 1 + linux_amd64/share/man/man3/EVP_CipherUpdate.3 | 1 + linux_amd64/share/man/man3/EVP_DecodeBlock.3 | 1 + linux_amd64/share/man/man3/EVP_DecodeFinal.3 | 1 + linux_amd64/share/man/man3/EVP_DecodeInit.3 | 1 + linux_amd64/share/man/man3/EVP_DecodeUpdate.3 | 1 + linux_amd64/share/man/man3/EVP_DecryptFinal.3 | 1 + .../share/man/man3/EVP_DecryptFinal_ex.3 | 1 + linux_amd64/share/man/man3/EVP_DecryptInit.3 | 1 + .../share/man/man3/EVP_DecryptInit_ex.3 | 1 + .../share/man/man3/EVP_DecryptUpdate.3 | 1 + linux_amd64/share/man/man3/EVP_Digest.3 | 1 + linux_amd64/share/man/man3/EVP_DigestFinal.3 | 1 + .../share/man/man3/EVP_DigestFinalXOF.3 | 1 + .../share/man/man3/EVP_DigestFinal_ex.3 | 1 + linux_amd64/share/man/man3/EVP_DigestInit.3 | 195 +-- .../share/man/man3/EVP_DigestInit_ex.3 | 1 + linux_amd64/share/man/man3/EVP_DigestSign.3 | 1 + .../share/man/man3/EVP_DigestSignFinal.3 | 1 + .../share/man/man3/EVP_DigestSignInit.3 | 95 +- .../share/man/man3/EVP_DigestSignUpdate.3 | 1 + linux_amd64/share/man/man3/EVP_DigestUpdate.3 | 1 + linux_amd64/share/man/man3/EVP_DigestVerify.3 | 1 + .../share/man/man3/EVP_DigestVerifyFinal.3 | 1 + .../share/man/man3/EVP_DigestVerifyInit.3 | 101 +- .../share/man/man3/EVP_DigestVerifyUpdate.3 | 1 + .../share/man/man3/EVP_ENCODE_CTX_copy.3 | 1 + .../share/man/man3/EVP_ENCODE_CTX_free.3 | 1 + .../share/man/man3/EVP_ENCODE_CTX_new.3 | 1 + .../share/man/man3/EVP_ENCODE_CTX_num.3 | 1 + linux_amd64/share/man/man3/EVP_EncodeBlock.3 | 1 + linux_amd64/share/man/man3/EVP_EncodeFinal.3 | 1 + linux_amd64/share/man/man3/EVP_EncodeInit.3 | 9 +- linux_amd64/share/man/man3/EVP_EncodeUpdate.3 | 1 + linux_amd64/share/man/man3/EVP_EncryptFinal.3 | 1 + .../share/man/man3/EVP_EncryptFinal_ex.3 | 1 + linux_amd64/share/man/man3/EVP_EncryptInit.3 | 270 +---- .../share/man/man3/EVP_EncryptInit_ex.3 | 1 + .../share/man/man3/EVP_EncryptUpdate.3 | 1 + .../share/man/man3/EVP_MD_CTX_block_size.3 | 1 + .../share/man/man3/EVP_MD_CTX_clear_flags.3 | 1 + linux_amd64/share/man/man3/EVP_MD_CTX_copy.3 | 1 + .../share/man/man3/EVP_MD_CTX_copy_ex.3 | 1 + linux_amd64/share/man/man3/EVP_MD_CTX_ctrl.3 | 1 + linux_amd64/share/man/man3/EVP_MD_CTX_free.3 | 1 + linux_amd64/share/man/man3/EVP_MD_CTX_md.3 | 1 + .../share/man/man3/EVP_MD_CTX_md_data.3 | 1 + linux_amd64/share/man/man3/EVP_MD_CTX_new.3 | 1 + .../share/man/man3/EVP_MD_CTX_pkey_ctx.3 | 1 + linux_amd64/share/man/man3/EVP_MD_CTX_reset.3 | 1 + .../share/man/man3/EVP_MD_CTX_set_flags.3 | 1 + .../share/man/man3/EVP_MD_CTX_set_pkey_ctx.3 | 1 + .../share/man/man3/EVP_MD_CTX_set_update_fn.3 | 1 + linux_amd64/share/man/man3/EVP_MD_CTX_size.3 | 1 + .../share/man/man3/EVP_MD_CTX_test_flags.3 | 1 + linux_amd64/share/man/man3/EVP_MD_CTX_type.3 | 1 + .../share/man/man3/EVP_MD_CTX_update_fn.3 | 1 + .../share/man/man3/EVP_MD_block_size.3 | 1 + linux_amd64/share/man/man3/EVP_MD_flags.3 | 1 + linux_amd64/share/man/man3/EVP_MD_meth_dup.3 | 1 + linux_amd64/share/man/man3/EVP_MD_meth_free.3 | 1 + .../man/man3/EVP_MD_meth_get_app_datasize.3 | 1 + .../share/man/man3/EVP_MD_meth_get_cleanup.3 | 1 + .../share/man/man3/EVP_MD_meth_get_copy.3 | 1 + .../share/man/man3/EVP_MD_meth_get_ctrl.3 | 1 + .../share/man/man3/EVP_MD_meth_get_final.3 | 1 + .../share/man/man3/EVP_MD_meth_get_flags.3 | 1 + .../share/man/man3/EVP_MD_meth_get_init.3 | 1 + .../man3/EVP_MD_meth_get_input_blocksize.3 | 1 + .../man/man3/EVP_MD_meth_get_result_size.3 | 1 + .../share/man/man3/EVP_MD_meth_get_update.3 | 1 + linux_amd64/share/man/man3/EVP_MD_meth_new.3 | 25 +- .../man/man3/EVP_MD_meth_set_app_datasize.3 | 1 + .../share/man/man3/EVP_MD_meth_set_cleanup.3 | 1 + .../share/man/man3/EVP_MD_meth_set_copy.3 | 1 + .../share/man/man3/EVP_MD_meth_set_ctrl.3 | 1 + .../share/man/man3/EVP_MD_meth_set_final.3 | 1 + .../share/man/man3/EVP_MD_meth_set_flags.3 | 1 + .../share/man/man3/EVP_MD_meth_set_init.3 | 1 + .../man3/EVP_MD_meth_set_input_blocksize.3 | 1 + .../man/man3/EVP_MD_meth_set_result_size.3 | 1 + .../share/man/man3/EVP_MD_meth_set_update.3 | 1 + linux_amd64/share/man/man3/EVP_MD_pkey_type.3 | 1 + linux_amd64/share/man/man3/EVP_MD_size.3 | 1 + linux_amd64/share/man/man3/EVP_MD_type.3 | 1 + linux_amd64/share/man/man3/EVP_OpenFinal.3 | 1 + linux_amd64/share/man/man3/EVP_OpenInit.3 | 4 +- linux_amd64/share/man/man3/EVP_OpenUpdate.3 | 1 + .../share/man/man3/EVP_PKEY_ASN1_METHOD.3 | 41 +- .../man/man3/EVP_PKEY_CTX_add1_hkdf_info.3 | 1 + .../man3/EVP_PKEY_CTX_add1_tls1_prf_seed.3 | 1 + .../share/man/man3/EVP_PKEY_CTX_ctrl.3 | 441 ++----- .../share/man/man3/EVP_PKEY_CTX_ctrl_str.3 | 1 + .../share/man/man3/EVP_PKEY_CTX_ctrl_uint64.3 | 1 + linux_amd64/share/man/man3/EVP_PKEY_CTX_dup.3 | 1 + .../share/man/man3/EVP_PKEY_CTX_free.3 | 1 + .../man/man3/EVP_PKEY_CTX_get0_dh_kdf_oid.3 | 1 + .../man/man3/EVP_PKEY_CTX_get0_dh_kdf_ukm.3 | 1 + .../man/man3/EVP_PKEY_CTX_get0_ecdh_kdf_ukm.3 | 1 + .../man3/EVP_PKEY_CTX_get0_rsa_oaep_label.3 | 1 + .../share/man/man3/EVP_PKEY_CTX_get1_id.3 | 1 + .../share/man/man3/EVP_PKEY_CTX_get1_id_len.3 | 1 + .../man/man3/EVP_PKEY_CTX_get_app_data.3 | 1 + .../share/man/man3/EVP_PKEY_CTX_get_cb.3 | 1 + .../man/man3/EVP_PKEY_CTX_get_dh_kdf_md.3 | 1 + .../man/man3/EVP_PKEY_CTX_get_dh_kdf_outlen.3 | 1 + .../man/man3/EVP_PKEY_CTX_get_dh_kdf_type.3 | 1 + .../EVP_PKEY_CTX_get_ecdh_cofactor_mode.3 | 1 + .../man/man3/EVP_PKEY_CTX_get_ecdh_kdf_md.3 | 1 + .../man3/EVP_PKEY_CTX_get_ecdh_kdf_outlen.3 | 1 + .../man/man3/EVP_PKEY_CTX_get_ecdh_kdf_type.3 | 1 + .../man/man3/EVP_PKEY_CTX_get_keygen_info.3 | 1 + .../man/man3/EVP_PKEY_CTX_get_rsa_mgf1_md.3 | 1 + .../man/man3/EVP_PKEY_CTX_get_rsa_oaep_md.3 | 1 + .../man/man3/EVP_PKEY_CTX_get_rsa_padding.3 | 1 + .../man3/EVP_PKEY_CTX_get_rsa_pss_saltlen.3 | 1 + .../man/man3/EVP_PKEY_CTX_get_signature_md.3 | 1 + .../share/man/man3/EVP_PKEY_CTX_hkdf_mode.3 | 1 + linux_amd64/share/man/man3/EVP_PKEY_CTX_md.3 | 1 + linux_amd64/share/man/man3/EVP_PKEY_CTX_new.3 | 57 +- .../share/man/man3/EVP_PKEY_CTX_new_id.3 | 1 + .../man/man3/EVP_PKEY_CTX_set0_dh_kdf_oid.3 | 1 + .../man/man3/EVP_PKEY_CTX_set0_dh_kdf_ukm.3 | 1 + .../man/man3/EVP_PKEY_CTX_set0_ecdh_kdf_ukm.3 | 1 + .../man3/EVP_PKEY_CTX_set0_rsa_oaep_label.3 | 1 + .../man/man3/EVP_PKEY_CTX_set1_hkdf_key.3 | 1 + .../man/man3/EVP_PKEY_CTX_set1_hkdf_salt.3 | 1 + .../share/man/man3/EVP_PKEY_CTX_set1_id.3 | 1 + .../man/man3/EVP_PKEY_CTX_set1_pbe_pass.3 | 7 +- .../man/man3/EVP_PKEY_CTX_set1_scrypt_salt.3 | 1 + .../man3/EVP_PKEY_CTX_set1_tls1_prf_secret.3 | 1 + .../man/man3/EVP_PKEY_CTX_set_app_data.3 | 1 + .../share/man/man3/EVP_PKEY_CTX_set_cb.3 | 1 + .../man/man3/EVP_PKEY_CTX_set_dh_kdf_md.3 | 1 + .../man/man3/EVP_PKEY_CTX_set_dh_kdf_outlen.3 | 1 + .../man/man3/EVP_PKEY_CTX_set_dh_kdf_type.3 | 1 + .../share/man/man3/EVP_PKEY_CTX_set_dh_nid.3 | 1 + .../share/man/man3/EVP_PKEY_CTX_set_dh_pad.3 | 1 + .../EVP_PKEY_CTX_set_dh_paramgen_generator.3 | 1 + .../EVP_PKEY_CTX_set_dh_paramgen_prime_len.3 | 1 + ...VP_PKEY_CTX_set_dh_paramgen_subprime_len.3 | 1 + .../man3/EVP_PKEY_CTX_set_dh_paramgen_type.3 | 1 + .../man/man3/EVP_PKEY_CTX_set_dh_rfc5114.3 | 1 + .../man/man3/EVP_PKEY_CTX_set_dhx_rfc5114.3 | 1 + .../man3/EVP_PKEY_CTX_set_dsa_paramgen_bits.3 | 1 + .../man3/EVP_PKEY_CTX_set_dsa_paramgen_md.3 | 1 + .../EVP_PKEY_CTX_set_dsa_paramgen_q_bits.3 | 1 + .../man/man3/EVP_PKEY_CTX_set_ec_param_enc.3 | 1 + .../EVP_PKEY_CTX_set_ec_paramgen_curve_nid.3 | 1 + .../EVP_PKEY_CTX_set_ecdh_cofactor_mode.3 | 1 + .../man/man3/EVP_PKEY_CTX_set_ecdh_kdf_md.3 | 1 + .../man3/EVP_PKEY_CTX_set_ecdh_kdf_outlen.3 | 1 + .../man/man3/EVP_PKEY_CTX_set_ecdh_kdf_type.3 | 1 + .../share/man/man3/EVP_PKEY_CTX_set_hkdf_md.3 | 11 +- .../share/man/man3/EVP_PKEY_CTX_set_mac_key.3 | 1 + .../man3/EVP_PKEY_CTX_set_rsa_keygen_bits.3 | 1 + .../man3/EVP_PKEY_CTX_set_rsa_keygen_primes.3 | 1 + .../man3/EVP_PKEY_CTX_set_rsa_keygen_pubexp.3 | 1 + .../man/man3/EVP_PKEY_CTX_set_rsa_mgf1_md.3 | 1 + .../man/man3/EVP_PKEY_CTX_set_rsa_oaep_md.3 | 1 + .../man/man3/EVP_PKEY_CTX_set_rsa_padding.3 | 1 + .../man3/EVP_PKEY_CTX_set_rsa_pss_keygen_md.3 | 17 +- .../EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md.3 | 1 + .../EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen.3 | 1 + .../man3/EVP_PKEY_CTX_set_rsa_pss_saltlen.3 | 1 + .../man/man3/EVP_PKEY_CTX_set_scrypt_N.3 | 18 +- .../EVP_PKEY_CTX_set_scrypt_maxmem_bytes.3 | 1 + .../man/man3/EVP_PKEY_CTX_set_scrypt_p.3 | 1 + .../man/man3/EVP_PKEY_CTX_set_scrypt_r.3 | 1 + .../man/man3/EVP_PKEY_CTX_set_signature_md.3 | 1 + .../man/man3/EVP_PKEY_CTX_set_tls1_prf_md.3 | 10 +- linux_amd64/share/man/man3/EVP_PKEY_METHOD.3 | 1 + .../share/man/man3/EVP_PKEY_asn1_add0.3 | 1 + .../share/man/man3/EVP_PKEY_asn1_add_alias.3 | 1 + .../share/man/man3/EVP_PKEY_asn1_copy.3 | 1 + .../share/man/man3/EVP_PKEY_asn1_find.3 | 1 + .../share/man/man3/EVP_PKEY_asn1_find_str.3 | 1 + .../share/man/man3/EVP_PKEY_asn1_free.3 | 1 + .../share/man/man3/EVP_PKEY_asn1_get0.3 | 1 + .../share/man/man3/EVP_PKEY_asn1_get0_info.3 | 1 + .../share/man/man3/EVP_PKEY_asn1_get_count.3 | 13 +- .../share/man/man3/EVP_PKEY_asn1_new.3 | 1 + .../share/man/man3/EVP_PKEY_asn1_set_check.3 | 1 + .../share/man/man3/EVP_PKEY_asn1_set_ctrl.3 | 1 + .../share/man/man3/EVP_PKEY_asn1_set_free.3 | 1 + .../man/man3/EVP_PKEY_asn1_set_get_priv_key.3 | 1 + .../man/man3/EVP_PKEY_asn1_set_get_pub_key.3 | 1 + .../share/man/man3/EVP_PKEY_asn1_set_item.3 | 1 + .../share/man/man3/EVP_PKEY_asn1_set_param.3 | 1 + .../man/man3/EVP_PKEY_asn1_set_param_check.3 | 1 + .../man/man3/EVP_PKEY_asn1_set_private.3 | 1 + .../share/man/man3/EVP_PKEY_asn1_set_public.3 | 1 + .../man/man3/EVP_PKEY_asn1_set_public_check.3 | 1 + .../man3/EVP_PKEY_asn1_set_security_bits.3 | 1 + .../man/man3/EVP_PKEY_asn1_set_set_priv_key.3 | 1 + .../man/man3/EVP_PKEY_asn1_set_set_pub_key.3 | 1 + .../share/man/man3/EVP_PKEY_asn1_set_siginf.3 | 1 + .../share/man/man3/EVP_PKEY_assign_DH.3 | 1 + .../share/man/man3/EVP_PKEY_assign_DSA.3 | 1 + .../share/man/man3/EVP_PKEY_assign_EC_KEY.3 | 1 + .../share/man/man3/EVP_PKEY_assign_POLY1305.3 | 1 + .../share/man/man3/EVP_PKEY_assign_RSA.3 | 1 + .../share/man/man3/EVP_PKEY_assign_SIPHASH.3 | 1 + linux_amd64/share/man/man3/EVP_PKEY_base_id.3 | 1 + linux_amd64/share/man/man3/EVP_PKEY_cmp.3 | 7 +- .../share/man/man3/EVP_PKEY_cmp_parameters.3 | 1 + .../share/man/man3/EVP_PKEY_copy_parameters.3 | 1 + linux_amd64/share/man/man3/EVP_PKEY_decrypt.3 | 6 +- .../share/man/man3/EVP_PKEY_decrypt_init.3 | 1 + linux_amd64/share/man/man3/EVP_PKEY_derive.3 | 44 +- .../share/man/man3/EVP_PKEY_derive_init.3 | 1 + .../share/man/man3/EVP_PKEY_derive_set_peer.3 | 1 + linux_amd64/share/man/man3/EVP_PKEY_encrypt.3 | 6 +- .../share/man/man3/EVP_PKEY_encrypt_init.3 | 1 + linux_amd64/share/man/man3/EVP_PKEY_free.3 | 1 + linux_amd64/share/man/man3/EVP_PKEY_gen_cb.3 | 1 + linux_amd64/share/man/man3/EVP_PKEY_get0_DH.3 | 1 + .../share/man/man3/EVP_PKEY_get0_DSA.3 | 1 + .../share/man/man3/EVP_PKEY_get0_EC_KEY.3 | 1 + .../share/man/man3/EVP_PKEY_get0_RSA.3 | 1 + .../share/man/man3/EVP_PKEY_get0_asn1.3 | 1 + .../share/man/man3/EVP_PKEY_get0_engine.3 | 1 + .../share/man/man3/EVP_PKEY_get0_hmac.3 | 1 + .../share/man/man3/EVP_PKEY_get0_poly1305.3 | 1 + .../share/man/man3/EVP_PKEY_get0_siphash.3 | 1 + linux_amd64/share/man/man3/EVP_PKEY_get1_DH.3 | 1 + .../share/man/man3/EVP_PKEY_get1_DSA.3 | 1 + .../share/man/man3/EVP_PKEY_get1_EC_KEY.3 | 1 + .../share/man/man3/EVP_PKEY_get1_RSA.3 | 1 + .../man3/EVP_PKEY_get_default_digest_nid.3 | 43 +- .../man/man3/EVP_PKEY_get_raw_private_key.3 | 1 + .../man/man3/EVP_PKEY_get_raw_public_key.3 | 1 + linux_amd64/share/man/man3/EVP_PKEY_id.3 | 1 + linux_amd64/share/man/man3/EVP_PKEY_keygen.3 | 34 +- .../share/man/man3/EVP_PKEY_keygen_init.3 | 1 + .../share/man/man3/EVP_PKEY_meth_add0.3 | 1 + .../share/man/man3/EVP_PKEY_meth_copy.3 | 1 + .../share/man/man3/EVP_PKEY_meth_find.3 | 1 + .../share/man/man3/EVP_PKEY_meth_free.3 | 1 + .../share/man/man3/EVP_PKEY_meth_get0.3 | 1 + .../share/man/man3/EVP_PKEY_meth_get0_info.3 | 1 + .../share/man/man3/EVP_PKEY_meth_get_check.3 | 1 + .../man/man3/EVP_PKEY_meth_get_cleanup.3 | 1 + .../share/man/man3/EVP_PKEY_meth_get_copy.3 | 1 + .../share/man/man3/EVP_PKEY_meth_get_count.3 | 4 +- .../share/man/man3/EVP_PKEY_meth_get_ctrl.3 | 1 + .../man/man3/EVP_PKEY_meth_get_decrypt.3 | 1 + .../share/man/man3/EVP_PKEY_meth_get_derive.3 | 1 + .../man3/EVP_PKEY_meth_get_digest_custom.3 | 1 + .../man/man3/EVP_PKEY_meth_get_digestsign.3 | 1 + .../man/man3/EVP_PKEY_meth_get_digestverify.3 | 1 + .../man/man3/EVP_PKEY_meth_get_encrypt.3 | 1 + .../share/man/man3/EVP_PKEY_meth_get_init.3 | 1 + .../share/man/man3/EVP_PKEY_meth_get_keygen.3 | 1 + .../man/man3/EVP_PKEY_meth_get_param_check.3 | 1 + .../man/man3/EVP_PKEY_meth_get_paramgen.3 | 1 + .../man/man3/EVP_PKEY_meth_get_public_check.3 | 1 + .../share/man/man3/EVP_PKEY_meth_get_sign.3 | 1 + .../man/man3/EVP_PKEY_meth_get_signctx.3 | 1 + .../share/man/man3/EVP_PKEY_meth_get_verify.3 | 1 + .../man3/EVP_PKEY_meth_get_verify_recover.3 | 1 + .../man/man3/EVP_PKEY_meth_get_verifyctx.3 | 1 + .../share/man/man3/EVP_PKEY_meth_new.3 | 29 +- .../share/man/man3/EVP_PKEY_meth_remove.3 | 1 + .../share/man/man3/EVP_PKEY_meth_set_check.3 | 1 + .../man/man3/EVP_PKEY_meth_set_cleanup.3 | 1 + .../share/man/man3/EVP_PKEY_meth_set_copy.3 | 1 + .../share/man/man3/EVP_PKEY_meth_set_ctrl.3 | 1 + .../man/man3/EVP_PKEY_meth_set_decrypt.3 | 1 + .../share/man/man3/EVP_PKEY_meth_set_derive.3 | 1 + .../man3/EVP_PKEY_meth_set_digest_custom.3 | 1 + .../man/man3/EVP_PKEY_meth_set_digestsign.3 | 1 + .../man/man3/EVP_PKEY_meth_set_digestverify.3 | 1 + .../man/man3/EVP_PKEY_meth_set_encrypt.3 | 1 + .../share/man/man3/EVP_PKEY_meth_set_init.3 | 1 + .../share/man/man3/EVP_PKEY_meth_set_keygen.3 | 1 + .../man/man3/EVP_PKEY_meth_set_param_check.3 | 1 + .../man/man3/EVP_PKEY_meth_set_paramgen.3 | 1 + .../man/man3/EVP_PKEY_meth_set_public_check.3 | 1 + .../share/man/man3/EVP_PKEY_meth_set_sign.3 | 1 + .../man/man3/EVP_PKEY_meth_set_signctx.3 | 1 + .../share/man/man3/EVP_PKEY_meth_set_verify.3 | 1 + .../man3/EVP_PKEY_meth_set_verify_recover.3 | 1 + .../man/man3/EVP_PKEY_meth_set_verifyctx.3 | 1 + .../man/man3/EVP_PKEY_missing_parameters.3 | 1 + linux_amd64/share/man/man3/EVP_PKEY_new.3 | 23 +- .../share/man/man3/EVP_PKEY_new_CMAC_key.3 | 1 + .../share/man/man3/EVP_PKEY_new_mac_key.3 | 1 + .../man/man3/EVP_PKEY_new_raw_private_key.3 | 1 + .../man/man3/EVP_PKEY_new_raw_public_key.3 | 1 + .../share/man/man3/EVP_PKEY_param_check.3 | 1 + .../share/man/man3/EVP_PKEY_paramgen.3 | 1 + .../share/man/man3/EVP_PKEY_paramgen_init.3 | 1 + .../share/man/man3/EVP_PKEY_print_params.3 | 1 + .../share/man/man3/EVP_PKEY_print_private.3 | 4 +- .../share/man/man3/EVP_PKEY_print_public.3 | 1 + .../share/man/man3/EVP_PKEY_public_check.3 | 1 + .../share/man/man3/EVP_PKEY_security_bits.3 | 1 + linux_amd64/share/man/man3/EVP_PKEY_set1_DH.3 | 1 + .../share/man/man3/EVP_PKEY_set1_DSA.3 | 1 + .../share/man/man3/EVP_PKEY_set1_EC_KEY.3 | 1 + .../share/man/man3/EVP_PKEY_set1_RSA.3 | 38 +- .../share/man/man3/EVP_PKEY_set1_engine.3 | 1 + .../share/man/man3/EVP_PKEY_set_alias_type.3 | 1 + linux_amd64/share/man/man3/EVP_PKEY_sign.3 | 28 +- .../share/man/man3/EVP_PKEY_sign_init.3 | 1 + linux_amd64/share/man/man3/EVP_PKEY_type.3 | 1 + linux_amd64/share/man/man3/EVP_PKEY_up_ref.3 | 1 + linux_amd64/share/man/man3/EVP_PKEY_verify.3 | 22 +- .../share/man/man3/EVP_PKEY_verify_init.3 | 1 + .../share/man/man3/EVP_PKEY_verify_recover.3 | 28 +- .../man/man3/EVP_PKEY_verify_recover_init.3 | 1 + linux_amd64/share/man/man3/EVP_SealFinal.3 | 1 + linux_amd64/share/man/man3/EVP_SealInit.3 | 6 +- linux_amd64/share/man/man3/EVP_SealUpdate.3 | 1 + linux_amd64/share/man/man3/EVP_SignFinal.3 | 1 + linux_amd64/share/man/man3/EVP_SignInit.3 | 47 +- linux_amd64/share/man/man3/EVP_SignInit_ex.3 | 1 + linux_amd64/share/man/man3/EVP_SignUpdate.3 | 1 + linux_amd64/share/man/man3/EVP_VerifyFinal.3 | 1 + linux_amd64/share/man/man3/EVP_VerifyInit.3 | 12 +- .../share/man/man3/EVP_VerifyInit_ex.3 | 1 + linux_amd64/share/man/man3/EVP_VerifyUpdate.3 | 1 + linux_amd64/share/man/man3/EVP_aes.3 | 207 ++++ linux_amd64/share/man/man3/EVP_aes_128_cbc.3 | 1 + .../man/man3/EVP_aes_128_cbc_hmac_sha1.3 | 1 + .../man/man3/EVP_aes_128_cbc_hmac_sha256.3 | 1 + linux_amd64/share/man/man3/EVP_aes_128_ccm.3 | 1 + linux_amd64/share/man/man3/EVP_aes_128_cfb.3 | 1 + linux_amd64/share/man/man3/EVP_aes_128_cfb1.3 | 1 + .../share/man/man3/EVP_aes_128_cfb128.3 | 1 + linux_amd64/share/man/man3/EVP_aes_128_cfb8.3 | 1 + linux_amd64/share/man/man3/EVP_aes_128_ctr.3 | 1 + linux_amd64/share/man/man3/EVP_aes_128_ecb.3 | 1 + linux_amd64/share/man/man3/EVP_aes_128_ocb.3 | 1 + linux_amd64/share/man/man3/EVP_aes_128_ofb.3 | 1 + linux_amd64/share/man/man3/EVP_aes_128_wrap.3 | 1 + .../share/man/man3/EVP_aes_128_wrap_pad.3 | 1 + linux_amd64/share/man/man3/EVP_aes_128_xts.3 | 1 + linux_amd64/share/man/man3/EVP_aes_192_cbc.3 | 1 + linux_amd64/share/man/man3/EVP_aes_192_ccm.3 | 1 + linux_amd64/share/man/man3/EVP_aes_192_cfb.3 | 1 + linux_amd64/share/man/man3/EVP_aes_192_cfb1.3 | 1 + .../share/man/man3/EVP_aes_192_cfb128.3 | 1 + linux_amd64/share/man/man3/EVP_aes_192_cfb8.3 | 1 + linux_amd64/share/man/man3/EVP_aes_192_ctr.3 | 1 + linux_amd64/share/man/man3/EVP_aes_192_ecb.3 | 1 + linux_amd64/share/man/man3/EVP_aes_192_gcm.3 | 1 + linux_amd64/share/man/man3/EVP_aes_192_ocb.3 | 1 + linux_amd64/share/man/man3/EVP_aes_192_ofb.3 | 1 + linux_amd64/share/man/man3/EVP_aes_192_wrap.3 | 1 + .../share/man/man3/EVP_aes_192_wrap_pad.3 | 1 + linux_amd64/share/man/man3/EVP_aes_256_cbc.3 | 1 + .../man/man3/EVP_aes_256_cbc_hmac_sha1.3 | 1 + .../man/man3/EVP_aes_256_cbc_hmac_sha256.3 | 1 + linux_amd64/share/man/man3/EVP_aes_256_ccm.3 | 1 + linux_amd64/share/man/man3/EVP_aes_256_cfb.3 | 1 + linux_amd64/share/man/man3/EVP_aes_256_cfb1.3 | 1 + .../share/man/man3/EVP_aes_256_cfb128.3 | 1 + linux_amd64/share/man/man3/EVP_aes_256_cfb8.3 | 1 + linux_amd64/share/man/man3/EVP_aes_256_ctr.3 | 1 + linux_amd64/share/man/man3/EVP_aes_256_ecb.3 | 1 + linux_amd64/share/man/man3/EVP_aes_256_gcm.3 | 1 + linux_amd64/share/man/man3/EVP_aes_256_ocb.3 | 1 + linux_amd64/share/man/man3/EVP_aes_256_ofb.3 | 1 + linux_amd64/share/man/man3/EVP_aes_256_wrap.3 | 1 + .../share/man/man3/EVP_aes_256_wrap_pad.3 | 1 + linux_amd64/share/man/man3/EVP_aes_256_xts.3 | 1 + linux_amd64/share/man/man3/EVP_aria.3 | 173 +++ linux_amd64/share/man/man3/EVP_aria_128_cbc.3 | 1 + linux_amd64/share/man/man3/EVP_aria_128_ccm.3 | 1 + linux_amd64/share/man/man3/EVP_aria_128_cfb.3 | 1 + .../share/man/man3/EVP_aria_128_cfb1.3 | 1 + .../share/man/man3/EVP_aria_128_cfb128.3 | 1 + .../share/man/man3/EVP_aria_128_cfb8.3 | 1 + linux_amd64/share/man/man3/EVP_aria_128_ctr.3 | 1 + linux_amd64/share/man/man3/EVP_aria_128_ecb.3 | 1 + linux_amd64/share/man/man3/EVP_aria_128_ofb.3 | 1 + linux_amd64/share/man/man3/EVP_aria_192_cbc.3 | 1 + linux_amd64/share/man/man3/EVP_aria_192_ccm.3 | 1 + linux_amd64/share/man/man3/EVP_aria_192_cfb.3 | 1 + .../share/man/man3/EVP_aria_192_cfb1.3 | 1 + .../share/man/man3/EVP_aria_192_cfb128.3 | 1 + .../share/man/man3/EVP_aria_192_cfb8.3 | 1 + linux_amd64/share/man/man3/EVP_aria_192_ctr.3 | 1 + linux_amd64/share/man/man3/EVP_aria_192_ecb.3 | 1 + linux_amd64/share/man/man3/EVP_aria_192_gcm.3 | 1 + linux_amd64/share/man/man3/EVP_aria_192_ofb.3 | 1 + linux_amd64/share/man/man3/EVP_aria_256_cbc.3 | 1 + linux_amd64/share/man/man3/EVP_aria_256_ccm.3 | 1 + linux_amd64/share/man/man3/EVP_aria_256_cfb.3 | 1 + .../share/man/man3/EVP_aria_256_cfb1.3 | 1 + .../share/man/man3/EVP_aria_256_cfb128.3 | 1 + .../share/man/man3/EVP_aria_256_cfb8.3 | 1 + linux_amd64/share/man/man3/EVP_aria_256_ctr.3 | 1 + linux_amd64/share/man/man3/EVP_aria_256_ecb.3 | 1 + linux_amd64/share/man/man3/EVP_aria_256_gcm.3 | 1 + linux_amd64/share/man/man3/EVP_aria_256_ofb.3 | 1 + linux_amd64/share/man/man3/EVP_bf_cbc.3 | 11 +- linux_amd64/share/man/man3/EVP_bf_cfb.3 | 1 + linux_amd64/share/man/man3/EVP_bf_cfb64.3 | 1 + linux_amd64/share/man/man3/EVP_bf_ecb.3 | 1 + linux_amd64/share/man/man3/EVP_bf_ofb.3 | 1 + linux_amd64/share/man/man3/EVP_blake2b512.3 | 8 +- linux_amd64/share/man/man3/EVP_blake2s256.3 | 1 + linux_amd64/share/man/man3/EVP_camellia.3 | 168 +++ .../share/man/man3/EVP_camellia_128_cbc.3 | 1 + .../share/man/man3/EVP_camellia_128_cfb.3 | 1 + .../share/man/man3/EVP_camellia_128_cfb1.3 | 1 + .../share/man/man3/EVP_camellia_128_cfb128.3 | 1 + .../share/man/man3/EVP_camellia_128_cfb8.3 | 1 + .../share/man/man3/EVP_camellia_128_ctr.3 | 1 + .../share/man/man3/EVP_camellia_128_ofb.3 | 1 + .../share/man/man3/EVP_camellia_192_cbc.3 | 1 + .../share/man/man3/EVP_camellia_192_cfb.3 | 1 + .../share/man/man3/EVP_camellia_192_cfb1.3 | 1 + .../share/man/man3/EVP_camellia_192_cfb128.3 | 1 + .../share/man/man3/EVP_camellia_192_cfb8.3 | 1 + .../share/man/man3/EVP_camellia_192_ctr.3 | 1 + .../share/man/man3/EVP_camellia_192_ecb.3 | 1 + .../share/man/man3/EVP_camellia_192_ofb.3 | 1 + .../share/man/man3/EVP_camellia_256_cbc.3 | 1 + .../share/man/man3/EVP_camellia_256_cfb.3 | 1 + .../share/man/man3/EVP_camellia_256_cfb1.3 | 1 + .../share/man/man3/EVP_camellia_256_cfb128.3 | 1 + .../share/man/man3/EVP_camellia_256_cfb8.3 | 1 + .../share/man/man3/EVP_camellia_256_ctr.3 | 1 + .../share/man/man3/EVP_camellia_256_ecb.3 | 1 + .../share/man/man3/EVP_camellia_256_ofb.3 | 1 + linux_amd64/share/man/man3/EVP_cast5_cbc.3 | 11 +- linux_amd64/share/man/man3/EVP_cast5_cfb.3 | 1 + linux_amd64/share/man/man3/EVP_cast5_cfb64.3 | 1 + linux_amd64/share/man/man3/EVP_cast5_ecb.3 | 1 + linux_amd64/share/man/man3/EVP_cast5_ofb.3 | 1 + linux_amd64/share/man/man3/EVP_chacha20.3 | 10 +- .../share/man/man3/EVP_chacha20_poly1305.3 | 1 + linux_amd64/share/man/man3/EVP_cleanup.3 | 1 + linux_amd64/share/man/man3/EVP_des.3 | 178 +++ linux_amd64/share/man/man3/EVP_des_cfb.3 | 1 + linux_amd64/share/man/man3/EVP_des_cfb1.3 | 1 + linux_amd64/share/man/man3/EVP_des_cfb64.3 | 1 + linux_amd64/share/man/man3/EVP_des_cfb8.3 | 1 + linux_amd64/share/man/man3/EVP_des_ecb.3 | 1 + linux_amd64/share/man/man3/EVP_des_ede.3 | 1 + linux_amd64/share/man/man3/EVP_des_ede3.3 | 1 + linux_amd64/share/man/man3/EVP_des_ede3_cbc.3 | 1 + linux_amd64/share/man/man3/EVP_des_ede3_cfb.3 | 1 + .../share/man/man3/EVP_des_ede3_cfb1.3 | 1 + .../share/man/man3/EVP_des_ede3_cfb64.3 | 1 + .../share/man/man3/EVP_des_ede3_cfb8.3 | 1 + linux_amd64/share/man/man3/EVP_des_ede3_ecb.3 | 1 + linux_amd64/share/man/man3/EVP_des_ede3_ofb.3 | 1 + .../share/man/man3/EVP_des_ede3_wrap.3 | 1 + linux_amd64/share/man/man3/EVP_des_ede_cbc.3 | 1 + linux_amd64/share/man/man3/EVP_des_ede_cfb.3 | 1 + .../share/man/man3/EVP_des_ede_cfb64.3 | 1 + linux_amd64/share/man/man3/EVP_des_ede_ecb.3 | 1 + linux_amd64/share/man/man3/EVP_des_ede_ofb.3 | 1 + linux_amd64/share/man/man3/EVP_des_ofb.3 | 1 + linux_amd64/share/man/man3/EVP_desx_cbc.3 | 7 +- linux_amd64/share/man/man3/EVP_enc_null.3 | 1 + .../share/man/man3/EVP_get_cipherbyname.3 | 1 + .../share/man/man3/EVP_get_cipherbynid.3 | 1 + .../share/man/man3/EVP_get_cipherbyobj.3 | 1 + .../share/man/man3/EVP_get_digestbyname.3 | 1 + .../share/man/man3/EVP_get_digestbynid.3 | 1 + .../share/man/man3/EVP_get_digestbyobj.3 | 1 + linux_amd64/share/man/man3/EVP_idea_cbc.3 | 11 +- linux_amd64/share/man/man3/EVP_idea_cfb.3 | 1 + linux_amd64/share/man/man3/EVP_idea_cfb64.3 | 1 + linux_amd64/share/man/man3/EVP_idea_ecb.3 | 1 + linux_amd64/share/man/man3/EVP_idea_ofb.3 | 1 + linux_amd64/share/man/man3/EVP_md2.3 | 7 +- linux_amd64/share/man/man3/EVP_md4.3 | 7 +- linux_amd64/share/man/man3/EVP_md5.3 | 10 +- linux_amd64/share/man/man3/EVP_md5_sha1.3 | 1 + linux_amd64/share/man/man3/EVP_md_null.3 | 1 + linux_amd64/share/man/man3/EVP_mdc2.3 | 7 +- linux_amd64/share/man/man3/EVP_rc2_40_cbc.3 | 1 + linux_amd64/share/man/man3/EVP_rc2_64_cbc.3 | 1 + linux_amd64/share/man/man3/EVP_rc2_cbc.3 | 13 +- linux_amd64/share/man/man3/EVP_rc2_cfb.3 | 1 + linux_amd64/share/man/man3/EVP_rc2_cfb64.3 | 1 + linux_amd64/share/man/man3/EVP_rc2_ecb.3 | 1 + linux_amd64/share/man/man3/EVP_rc2_ofb.3 | 1 + linux_amd64/share/man/man3/EVP_rc4.3 | 9 +- linux_amd64/share/man/man3/EVP_rc4_40.3 | 1 + linux_amd64/share/man/man3/EVP_rc4_hmac_md5.3 | 1 + .../share/man/man3/EVP_rc5_32_12_16_cbc.3 | 13 +- .../share/man/man3/EVP_rc5_32_12_16_cfb.3 | 1 + .../share/man/man3/EVP_rc5_32_12_16_cfb64.3 | 1 + .../share/man/man3/EVP_rc5_32_12_16_ecb.3 | 1 + .../share/man/man3/EVP_rc5_32_12_16_ofb.3 | 1 + linux_amd64/share/man/man3/EVP_ripemd160.3 | 7 +- linux_amd64/share/man/man3/EVP_seed_cbc.3 | 11 +- linux_amd64/share/man/man3/EVP_seed_cfb.3 | 1 + linux_amd64/share/man/man3/EVP_seed_cfb128.3 | 1 + linux_amd64/share/man/man3/EVP_seed_ecb.3 | 1 + linux_amd64/share/man/man3/EVP_seed_ofb.3 | 1 + linux_amd64/share/man/man3/EVP_sha1.3 | 7 +- linux_amd64/share/man/man3/EVP_sha224.3 | 12 +- linux_amd64/share/man/man3/EVP_sha256.3 | 1 + linux_amd64/share/man/man3/EVP_sha384.3 | 1 + linux_amd64/share/man/man3/EVP_sha3_224.3 | 12 +- linux_amd64/share/man/man3/EVP_sha3_256.3 | 1 + linux_amd64/share/man/man3/EVP_sha3_384.3 | 1 + linux_amd64/share/man/man3/EVP_sha3_512.3 | 1 + linux_amd64/share/man/man3/EVP_sha512.3 | 1 + linux_amd64/share/man/man3/EVP_sha512_224.3 | 1 + linux_amd64/share/man/man3/EVP_sha512_256.3 | 1 + linux_amd64/share/man/man3/EVP_shake128.3 | 1 + linux_amd64/share/man/man3/EVP_shake256.3 | 1 + linux_amd64/share/man/man3/EVP_sm3.3 | 7 +- linux_amd64/share/man/man3/EVP_sm4_cbc.3 | 12 +- linux_amd64/share/man/man3/EVP_sm4_cfb.3 | 1 + linux_amd64/share/man/man3/EVP_sm4_cfb128.3 | 1 + linux_amd64/share/man/man3/EVP_sm4_ctr.3 | 1 + linux_amd64/share/man/man3/EVP_sm4_ecb.3 | 1 + linux_amd64/share/man/man3/EVP_sm4_ofb.3 | 1 + linux_amd64/share/man/man3/EVP_whirlpool.3 | 7 +- .../share/man/man3/EXTENDED_KEY_USAGE_free.3 | 1 + .../share/man/man3/EXTENDED_KEY_USAGE_new.3 | 1 + .../share/man/man3/GENERAL_NAMES_free.3 | 1 + .../share/man/man3/GENERAL_NAMES_new.3 | 1 + linux_amd64/share/man/man3/GENERAL_NAME_dup.3 | 1 + .../share/man/man3/GENERAL_NAME_free.3 | 1 + linux_amd64/share/man/man3/GENERAL_NAME_new.3 | 1 + .../share/man/man3/GENERAL_SUBTREE_free.3 | 1 + .../share/man/man3/GENERAL_SUBTREE_new.3 | 1 + linux_amd64/share/man/man3/GEN_SESSION_CB.3 | 1 + linux_amd64/share/man/man3/HMAC.3 | 44 +- linux_amd64/share/man/man3/HMAC_CTX_copy.3 | 1 + linux_amd64/share/man/man3/HMAC_CTX_free.3 | 1 + linux_amd64/share/man/man3/HMAC_CTX_get_md.3 | 1 + linux_amd64/share/man/man3/HMAC_CTX_new.3 | 1 + linux_amd64/share/man/man3/HMAC_CTX_reset.3 | 1 + .../share/man/man3/HMAC_CTX_set_flags.3 | 1 + linux_amd64/share/man/man3/HMAC_Final.3 | 1 + linux_amd64/share/man/man3/HMAC_Init.3 | 1 + linux_amd64/share/man/man3/HMAC_Init_ex.3 | 1 + linux_amd64/share/man/man3/HMAC_Update.3 | 1 + linux_amd64/share/man/man3/HMAC_size.3 | 1 + .../share/man/man3/IMPLEMENT_ASN1_FUNCTIONS.3 | 1 + .../share/man/man3/IMPLEMENT_LHASH_COMP_FN.3 | 1 + .../share/man/man3/IMPLEMENT_LHASH_HASH_FN.3 | 1 + .../share/man/man3/IPAddressChoice_free.3 | 1 + .../share/man/man3/IPAddressChoice_new.3 | 1 + .../share/man/man3/IPAddressFamily_free.3 | 1 + .../share/man/man3/IPAddressFamily_new.3 | 1 + .../share/man/man3/IPAddressOrRange_free.3 | 1 + .../share/man/man3/IPAddressOrRange_new.3 | 1 + .../share/man/man3/IPAddressRange_free.3 | 1 + .../share/man/man3/IPAddressRange_new.3 | 1 + .../share/man/man3/ISSUING_DIST_POINT_free.3 | 1 + .../share/man/man3/ISSUING_DIST_POINT_new.3 | 1 + linux_amd64/share/man/man3/LHASH.3 | 1 + .../share/man/man3/LHASH_DOALL_ARG_FN_TYPE.3 | 1 + linux_amd64/share/man/man3/MD2.3 | 1 + linux_amd64/share/man/man3/MD2_Final.3 | 1 + linux_amd64/share/man/man3/MD2_Init.3 | 1 + linux_amd64/share/man/man3/MD2_Update.3 | 1 + linux_amd64/share/man/man3/MD4.3 | 1 + linux_amd64/share/man/man3/MD4_Final.3 | 1 + linux_amd64/share/man/man3/MD4_Init.3 | 1 + linux_amd64/share/man/man3/MD4_Update.3 | 1 + linux_amd64/share/man/man3/MD5.3 | 38 +- linux_amd64/share/man/man3/MD5_Final.3 | 1 + linux_amd64/share/man/man3/MD5_Init.3 | 1 + linux_amd64/share/man/man3/MD5_Update.3 | 1 + linux_amd64/share/man/man3/MDC2.3 | 1 + linux_amd64/share/man/man3/MDC2_Final.3 | 1 + linux_amd64/share/man/man3/MDC2_Init.3 | 19 +- linux_amd64/share/man/man3/MDC2_Update.3 | 1 + .../share/man/man3/NAME_CONSTRAINTS_free.3 | 1 + .../share/man/man3/NAME_CONSTRAINTS_new.3 | 1 + linux_amd64/share/man/man3/NAMING_AUTHORITY.3 | 1 + .../share/man/man3/NAMING_AUTHORITY_free.3 | 1 + .../man3/NAMING_AUTHORITY_get0_authorityId.3 | 1 + .../NAMING_AUTHORITY_get0_authorityText.3 | 1 + .../man3/NAMING_AUTHORITY_get0_authorityURL.3 | 1 + .../share/man/man3/NAMING_AUTHORITY_new.3 | 1 + .../man3/NAMING_AUTHORITY_set0_authorityId.3 | 1 + .../NAMING_AUTHORITY_set0_authorityText.3 | 1 + .../man3/NAMING_AUTHORITY_set0_authorityURL.3 | 1 + .../man/man3/NETSCAPE_CERT_SEQUENCE_free.3 | 1 + .../man/man3/NETSCAPE_CERT_SEQUENCE_new.3 | 1 + .../share/man/man3/NETSCAPE_SPKAC_free.3 | 1 + .../share/man/man3/NETSCAPE_SPKAC_new.3 | 1 + .../share/man/man3/NETSCAPE_SPKI_free.3 | 1 + .../share/man/man3/NETSCAPE_SPKI_new.3 | 1 + linux_amd64/share/man/man3/NOTICEREF_free.3 | 1 + linux_amd64/share/man/man3/NOTICEREF_new.3 | 1 + linux_amd64/share/man/man3/OBJ_cleanup.3 | 1 + linux_amd64/share/man/man3/OBJ_cmp.3 | 1 + linux_amd64/share/man/man3/OBJ_create.3 | 1 + linux_amd64/share/man/man3/OBJ_dup.3 | 1 + linux_amd64/share/man/man3/OBJ_get0_data.3 | 1 + linux_amd64/share/man/man3/OBJ_length.3 | 1 + linux_amd64/share/man/man3/OBJ_ln2nid.3 | 1 + linux_amd64/share/man/man3/OBJ_nid2ln.3 | 1 + linux_amd64/share/man/man3/OBJ_nid2obj.3 | 20 +- linux_amd64/share/man/man3/OBJ_nid2sn.3 | 1 + linux_amd64/share/man/man3/OBJ_obj2nid.3 | 1 + linux_amd64/share/man/man3/OBJ_obj2txt.3 | 1 + linux_amd64/share/man/man3/OBJ_sn2nid.3 | 1 + linux_amd64/share/man/man3/OBJ_txt2nid.3 | 1 + linux_amd64/share/man/man3/OBJ_txt2obj.3 | 1 + .../share/man/man3/OCSP_BASICRESP_free.3 | 1 + .../share/man/man3/OCSP_BASICRESP_new.3 | 1 + linux_amd64/share/man/man3/OCSP_CERTID_dup.3 | 1 + linux_amd64/share/man/man3/OCSP_CERTID_free.3 | 1 + linux_amd64/share/man/man3/OCSP_CERTID_new.3 | 1 + .../share/man/man3/OCSP_CERTSTATUS_free.3 | 1 + .../share/man/man3/OCSP_CERTSTATUS_new.3 | 1 + linux_amd64/share/man/man3/OCSP_CRLID_free.3 | 1 + linux_amd64/share/man/man3/OCSP_CRLID_new.3 | 1 + linux_amd64/share/man/man3/OCSP_ONEREQ_free.3 | 1 + linux_amd64/share/man/man3/OCSP_ONEREQ_new.3 | 1 + .../share/man/man3/OCSP_REQINFO_free.3 | 1 + linux_amd64/share/man/man3/OCSP_REQINFO_new.3 | 1 + .../share/man/man3/OCSP_REQUEST_free.3 | 1 + linux_amd64/share/man/man3/OCSP_REQUEST_new.3 | 10 +- .../share/man/man3/OCSP_REQ_CTX_add1_header.3 | 1 + .../share/man/man3/OCSP_REQ_CTX_free.3 | 1 + .../share/man/man3/OCSP_REQ_CTX_set1_req.3 | 1 + .../share/man/man3/OCSP_RESPBYTES_free.3 | 1 + .../share/man/man3/OCSP_RESPBYTES_new.3 | 1 + .../share/man/man3/OCSP_RESPDATA_free.3 | 1 + .../share/man/man3/OCSP_RESPDATA_new.3 | 1 + linux_amd64/share/man/man3/OCSP_RESPID_free.3 | 1 + .../share/man/man3/OCSP_RESPID_match.3 | 1 + linux_amd64/share/man/man3/OCSP_RESPID_new.3 | 1 + .../share/man/man3/OCSP_RESPID_set_by_key.3 | 1 + .../share/man/man3/OCSP_RESPID_set_by_name.3 | 1 + .../share/man/man3/OCSP_RESPONSE_free.3 | 1 + .../share/man/man3/OCSP_RESPONSE_new.3 | 1 + .../share/man/man3/OCSP_REVOKEDINFO_free.3 | 1 + .../share/man/man3/OCSP_REVOKEDINFO_new.3 | 1 + .../share/man/man3/OCSP_SERVICELOC_free.3 | 1 + .../share/man/man3/OCSP_SERVICELOC_new.3 | 1 + .../share/man/man3/OCSP_SIGNATURE_free.3 | 1 + .../share/man/man3/OCSP_SIGNATURE_new.3 | 1 + .../share/man/man3/OCSP_SINGLERESP_free.3 | 1 + .../share/man/man3/OCSP_SINGLERESP_new.3 | 1 + .../share/man/man3/OCSP_basic_add1_nonce.3 | 1 + linux_amd64/share/man/man3/OCSP_basic_sign.3 | 1 + .../share/man/man3/OCSP_basic_sign_ctx.3 | 1 + .../share/man/man3/OCSP_basic_verify.3 | 1 + linux_amd64/share/man/man3/OCSP_cert_id_new.3 | 1 + linux_amd64/share/man/man3/OCSP_cert_to_id.3 | 11 +- linux_amd64/share/man/man3/OCSP_check_nonce.3 | 1 + .../share/man/man3/OCSP_check_validity.3 | 1 + linux_amd64/share/man/man3/OCSP_copy_nonce.3 | 1 + linux_amd64/share/man/man3/OCSP_id_cmp.3 | 1 + .../share/man/man3/OCSP_id_get0_info.3 | 1 + .../share/man/man3/OCSP_id_issuer_cmp.3 | 1 + .../share/man/man3/OCSP_request_add0_id.3 | 1 + .../share/man/man3/OCSP_request_add1_cert.3 | 1 + .../share/man/man3/OCSP_request_add1_nonce.3 | 6 +- .../man/man3/OCSP_request_onereq_count.3 | 1 + .../share/man/man3/OCSP_request_onereq_get0.3 | 1 + .../share/man/man3/OCSP_request_sign.3 | 1 + linux_amd64/share/man/man3/OCSP_resp_count.3 | 1 + linux_amd64/share/man/man3/OCSP_resp_find.3 | 1 + .../share/man/man3/OCSP_resp_find_status.3 | 21 +- linux_amd64/share/man/man3/OCSP_resp_get0.3 | 1 + .../share/man/man3/OCSP_resp_get0_certs.3 | 1 + .../share/man/man3/OCSP_resp_get0_id.3 | 1 + .../man/man3/OCSP_resp_get0_produced_at.3 | 1 + .../share/man/man3/OCSP_resp_get0_respdata.3 | 1 + .../share/man/man3/OCSP_resp_get0_signature.3 | 1 + .../share/man/man3/OCSP_resp_get0_signer.3 | 1 + .../man/man3/OCSP_resp_get0_tbs_sigalg.3 | 1 + .../share/man/man3/OCSP_resp_get1_id.3 | 1 + .../share/man/man3/OCSP_response_create.3 | 1 + .../share/man/man3/OCSP_response_get1_basic.3 | 1 + .../share/man/man3/OCSP_response_status.3 | 9 +- linux_amd64/share/man/man3/OCSP_sendreq_bio.3 | 1 + .../share/man/man3/OCSP_sendreq_nbio.3 | 1 + linux_amd64/share/man/man3/OCSP_sendreq_new.3 | 54 +- .../man/man3/OCSP_set_max_response_length.3 | 1 + .../share/man/man3/OCSP_single_get0_status.3 | 1 + linux_amd64/share/man/man3/OPENSSL_Applink.3 | 4 +- .../share/man/man3/OPENSSL_INIT_free.3 | 1 + linux_amd64/share/man/man3/OPENSSL_INIT_new.3 | 1 + .../man3/OPENSSL_INIT_set_config_appname.3 | 1 + .../man3/OPENSSL_INIT_set_config_file_flags.3 | 1 + .../man3/OPENSSL_INIT_set_config_filename.3 | 1 + .../share/man/man3/OPENSSL_LH_COMPFUNC.3 | 87 +- .../share/man/man3/OPENSSL_LH_DOALL_FUNC.3 | 1 + .../share/man/man3/OPENSSL_LH_HASHFUNC.3 | 1 + .../share/man/man3/OPENSSL_LH_node_stats.3 | 1 + .../man/man3/OPENSSL_LH_node_stats_bio.3 | 1 + .../man/man3/OPENSSL_LH_node_usage_stats.3 | 1 + .../man3/OPENSSL_LH_node_usage_stats_bio.3 | 1 + linux_amd64/share/man/man3/OPENSSL_LH_stats.3 | 8 +- .../share/man/man3/OPENSSL_LH_stats_bio.3 | 1 + .../share/man/man3/OPENSSL_MALLOC_FAILURES.3 | 1 + .../share/man/man3/OPENSSL_MALLOC_FD.3 | 1 + .../share/man/man3/OPENSSL_VERSION_NUMBER.3 | 233 ++++ .../share/man/man3/OPENSSL_VERSION_TEXT.3 | 1 + linux_amd64/share/man/man3/OPENSSL_atexit.3 | 1 + .../share/man/man3/OPENSSL_buf2hexstr.3 | 1 + .../share/man/man3/OPENSSL_cipher_name.3 | 1 + linux_amd64/share/man/man3/OPENSSL_cleanse.3 | 1 + linux_amd64/share/man/man3/OPENSSL_cleanup.3 | 1 + .../share/man/man3/OPENSSL_clear_free.3 | 1 + .../share/man/man3/OPENSSL_clear_realloc.3 | 1 + linux_amd64/share/man/man3/OPENSSL_config.3 | 14 +- .../share/man/man3/OPENSSL_fork_child.3 | 1 + .../share/man/man3/OPENSSL_fork_parent.3 | 1 + .../share/man/man3/OPENSSL_fork_prepare.3 | 11 +- linux_amd64/share/man/man3/OPENSSL_free.3 | 1 + .../share/man/man3/OPENSSL_hexstr2buf.3 | 1 + linux_amd64/share/man/man3/OPENSSL_ia32cap.3 | 18 +- .../share/man/man3/OPENSSL_init_crypto.3 | 51 +- linux_amd64/share/man/man3/OPENSSL_init_ssl.3 | 4 +- .../share/man/man3/OPENSSL_instrument_bus.3 | 4 +- .../share/man/man3/OPENSSL_instrument_bus2.3 | 1 + .../man/man3/OPENSSL_load_builtin_modules.3 | 4 +- linux_amd64/share/man/man3/OPENSSL_malloc.3 | 197 +-- .../share/man/man3/OPENSSL_malloc_init.3 | 1 + .../share/man/man3/OPENSSL_mem_debug_pop.3 | 1 + .../share/man/man3/OPENSSL_mem_debug_push.3 | 1 + linux_amd64/share/man/man3/OPENSSL_memdup.3 | 1 + .../share/man/man3/OPENSSL_no_config.3 | 1 + linux_amd64/share/man/man3/OPENSSL_realloc.3 | 1 + .../man/man3/OPENSSL_secure_actual_size.3 | 1 + .../man/man3/OPENSSL_secure_clear_free.3 | 1 + .../share/man/man3/OPENSSL_secure_free.3 | 1 + .../share/man/man3/OPENSSL_secure_malloc.3 | 23 +- .../share/man/man3/OPENSSL_secure_zalloc.3 | 1 + linux_amd64/share/man/man3/OPENSSL_strdup.3 | 1 + linux_amd64/share/man/man3/OPENSSL_strlcat.3 | 1 + linux_amd64/share/man/man3/OPENSSL_strlcpy.3 | 1 + linux_amd64/share/man/man3/OPENSSL_strndup.3 | 1 + .../share/man/man3/OPENSSL_thread_stop.3 | 1 + linux_amd64/share/man/man3/OPENSSL_zalloc.3 | 1 + linux_amd64/share/man/man3/OSSL_STORE_CTX.3 | 1 + linux_amd64/share/man/man3/OSSL_STORE_INFO.3 | 15 +- .../share/man/man3/OSSL_STORE_INFO_free.3 | 1 + .../man/man3/OSSL_STORE_INFO_get0_CERT.3 | 1 + .../share/man/man3/OSSL_STORE_INFO_get0_CRL.3 | 1 + .../man/man3/OSSL_STORE_INFO_get0_NAME.3 | 1 + .../OSSL_STORE_INFO_get0_NAME_description.3 | 1 + .../man/man3/OSSL_STORE_INFO_get0_PARAMS.3 | 1 + .../man/man3/OSSL_STORE_INFO_get0_PKEY.3 | 1 + .../man/man3/OSSL_STORE_INFO_get1_CERT.3 | 1 + .../share/man/man3/OSSL_STORE_INFO_get1_CRL.3 | 1 + .../man/man3/OSSL_STORE_INFO_get1_NAME.3 | 1 + .../OSSL_STORE_INFO_get1_NAME_description.3 | 1 + .../man/man3/OSSL_STORE_INFO_get1_PARAMS.3 | 1 + .../man/man3/OSSL_STORE_INFO_get1_PKEY.3 | 1 + .../share/man/man3/OSSL_STORE_INFO_get_type.3 | 1 + .../share/man/man3/OSSL_STORE_INFO_new_CERT.3 | 1 + .../share/man/man3/OSSL_STORE_INFO_new_CRL.3 | 1 + .../share/man/man3/OSSL_STORE_INFO_new_NAME.3 | 1 + .../man/man3/OSSL_STORE_INFO_new_PARAMS.3 | 1 + .../share/man/man3/OSSL_STORE_INFO_new_PKEY.3 | 1 + .../OSSL_STORE_INFO_set0_NAME_description.3 | 1 + .../man/man3/OSSL_STORE_INFO_type_string.3 | 1 + .../share/man/man3/OSSL_STORE_LOADER.3 | 19 +- .../share/man/man3/OSSL_STORE_LOADER_CTX.3 | 1 + .../share/man/man3/OSSL_STORE_LOADER_free.3 | 1 + .../man/man3/OSSL_STORE_LOADER_get0_engine.3 | 1 + .../man/man3/OSSL_STORE_LOADER_get0_scheme.3 | 1 + .../share/man/man3/OSSL_STORE_LOADER_new.3 | 1 + .../man/man3/OSSL_STORE_LOADER_set_close.3 | 1 + .../man/man3/OSSL_STORE_LOADER_set_ctrl.3 | 1 + .../man/man3/OSSL_STORE_LOADER_set_eof.3 | 1 + .../man/man3/OSSL_STORE_LOADER_set_error.3 | 1 + .../man/man3/OSSL_STORE_LOADER_set_expect.3 | 1 + .../man/man3/OSSL_STORE_LOADER_set_find.3 | 1 + .../man/man3/OSSL_STORE_LOADER_set_load.3 | 1 + .../man/man3/OSSL_STORE_LOADER_set_open.3 | 1 + .../share/man/man3/OSSL_STORE_SEARCH.3 | 18 +- .../man/man3/OSSL_STORE_SEARCH_by_alias.3 | 1 + .../man3/OSSL_STORE_SEARCH_by_issuer_serial.3 | 1 + .../OSSL_STORE_SEARCH_by_key_fingerprint.3 | 1 + .../man/man3/OSSL_STORE_SEARCH_by_name.3 | 1 + .../share/man/man3/OSSL_STORE_SEARCH_free.3 | 1 + .../man/man3/OSSL_STORE_SEARCH_get0_bytes.3 | 1 + .../man/man3/OSSL_STORE_SEARCH_get0_digest.3 | 1 + .../man/man3/OSSL_STORE_SEARCH_get0_name.3 | 1 + .../man/man3/OSSL_STORE_SEARCH_get0_serial.3 | 1 + .../man/man3/OSSL_STORE_SEARCH_get0_string.3 | 1 + .../man/man3/OSSL_STORE_SEARCH_get_type.3 | 1 + linux_amd64/share/man/man3/OSSL_STORE_close.3 | 1 + .../share/man/man3/OSSL_STORE_close_fn.3 | 1 + linux_amd64/share/man/man3/OSSL_STORE_ctrl.3 | 1 + .../share/man/man3/OSSL_STORE_ctrl_fn.3 | 1 + linux_amd64/share/man/man3/OSSL_STORE_eof.3 | 1 + .../share/man/man3/OSSL_STORE_eof_fn.3 | 1 + linux_amd64/share/man/man3/OSSL_STORE_error.3 | 1 + .../share/man/man3/OSSL_STORE_error_fn.3 | 1 + .../share/man/man3/OSSL_STORE_expect.3 | 13 +- .../share/man/man3/OSSL_STORE_expect_fn.3 | 1 + linux_amd64/share/man/man3/OSSL_STORE_find.3 | 1 + .../share/man/man3/OSSL_STORE_find_fn.3 | 1 + linux_amd64/share/man/man3/OSSL_STORE_load.3 | 1 + .../share/man/man3/OSSL_STORE_load_fn.3 | 1 + linux_amd64/share/man/man3/OSSL_STORE_open.3 | 8 +- .../share/man/man3/OSSL_STORE_open_fn.3 | 1 + .../man3/OSSL_STORE_post_process_info_fn.3 | 1 + .../man/man3/OSSL_STORE_register_loader.3 | 1 + .../man/man3/OSSL_STORE_supports_search.3 | 1 + .../man/man3/OSSL_STORE_unregister_loader.3 | 1 + linux_amd64/share/man/man3/OTHERNAME_free.3 | 1 + linux_amd64/share/man/man3/OTHERNAME_new.3 | 1 + .../man/man3/OpenSSL_add_all_algorithms.3 | 15 +- .../share/man/man3/OpenSSL_add_all_ciphers.3 | 1 + .../share/man/man3/OpenSSL_add_all_digests.3 | 1 + .../man/man3/OpenSSL_add_ssl_algorithms.3 | 1 + .../share/man/man3/OpenSSL_version_num.3 | 1 + linux_amd64/share/man/man3/PBE2PARAM_free.3 | 1 + linux_amd64/share/man/man3/PBE2PARAM_new.3 | 1 + linux_amd64/share/man/man3/PBEPARAM_free.3 | 1 + linux_amd64/share/man/man3/PBEPARAM_new.3 | 1 + linux_amd64/share/man/man3/PBKDF2PARAM_free.3 | 1 + linux_amd64/share/man/man3/PBKDF2PARAM_new.3 | 1 + .../share/man/man3/PEM_FLAG_EAY_COMPATIBLE.3 | 1 + .../share/man/man3/PEM_FLAG_ONLY_B64.3 | 1 + linux_amd64/share/man/man3/PEM_FLAG_SECURE.3 | 1 + .../share/man/man3/PEM_bytes_read_bio.3 | 4 +- .../man/man3/PEM_bytes_read_bio_secmem.3 | 1 + linux_amd64/share/man/man3/PEM_do_header.3 | 1 + .../share/man/man3/PEM_get_EVP_CIPHER_INFO.3 | 1 + linux_amd64/share/man/man3/PEM_read.3 | 8 +- linux_amd64/share/man/man3/PEM_read_CMS.3 | 69 +- .../share/man/man3/PEM_read_DHparams.3 | 1 + .../share/man/man3/PEM_read_DSAPrivateKey.3 | 1 + .../share/man/man3/PEM_read_DSA_PUBKEY.3 | 1 + .../share/man/man3/PEM_read_DSAparams.3 | 1 + .../share/man/man3/PEM_read_ECPKParameters.3 | 1 + .../share/man/man3/PEM_read_ECPrivateKey.3 | 1 + .../share/man/man3/PEM_read_EC_PUBKEY.3 | 1 + .../man3/PEM_read_NETSCAPE_CERT_SEQUENCE.3 | 1 + linux_amd64/share/man/man3/PEM_read_PKCS7.3 | 1 + linux_amd64/share/man/man3/PEM_read_PKCS8.3 | 1 + .../man/man3/PEM_read_PKCS8_PRIV_KEY_INFO.3 | 1 + linux_amd64/share/man/man3/PEM_read_PUBKEY.3 | 1 + .../share/man/man3/PEM_read_PrivateKey.3 | 1 + .../share/man/man3/PEM_read_RSAPrivateKey.3 | 1 + .../share/man/man3/PEM_read_RSAPublicKey.3 | 1 + .../share/man/man3/PEM_read_RSA_PUBKEY.3 | 1 + .../share/man/man3/PEM_read_SSL_SESSION.3 | 1 + linux_amd64/share/man/man3/PEM_read_X509.3 | 1 + .../share/man/man3/PEM_read_X509_AUX.3 | 1 + .../share/man/man3/PEM_read_X509_CRL.3 | 1 + .../share/man/man3/PEM_read_X509_REQ.3 | 1 + linux_amd64/share/man/man3/PEM_read_bio.3 | 1 + linux_amd64/share/man/man3/PEM_read_bio_CMS.3 | 1 + .../share/man/man3/PEM_read_bio_DHparams.3 | 1 + .../man/man3/PEM_read_bio_DSAPrivateKey.3 | 1 + .../share/man/man3/PEM_read_bio_DSA_PUBKEY.3 | 1 + .../share/man/man3/PEM_read_bio_DSAparams.3 | 1 + .../man/man3/PEM_read_bio_ECPKParameters.3 | 1 + .../share/man/man3/PEM_read_bio_EC_PUBKEY.3 | 1 + .../PEM_read_bio_NETSCAPE_CERT_SEQUENCE.3 | 1 + .../share/man/man3/PEM_read_bio_PKCS7.3 | 1 + .../share/man/man3/PEM_read_bio_PKCS8.3 | 1 + .../man3/PEM_read_bio_PKCS8_PRIV_KEY_INFO.3 | 1 + .../share/man/man3/PEM_read_bio_PUBKEY.3 | 1 + .../share/man/man3/PEM_read_bio_Parameters.3 | 1 + .../share/man/man3/PEM_read_bio_PrivateKey.3 | 102 +- .../man/man3/PEM_read_bio_RSAPrivateKey.3 | 1 + .../man/man3/PEM_read_bio_RSAPublicKey.3 | 1 + .../share/man/man3/PEM_read_bio_RSA_PUBKEY.3 | 1 + .../share/man/man3/PEM_read_bio_SSL_SESSION.3 | 1 + .../share/man/man3/PEM_read_bio_X509.3 | 1 + .../share/man/man3/PEM_read_bio_X509_AUX.3 | 1 + .../share/man/man3/PEM_read_bio_X509_CRL.3 | 1 + .../share/man/man3/PEM_read_bio_X509_REQ.3 | 1 + linux_amd64/share/man/man3/PEM_read_bio_ex.3 | 7 +- linux_amd64/share/man/man3/PEM_write.3 | 1 + linux_amd64/share/man/man3/PEM_write_CMS.3 | 1 + .../share/man/man3/PEM_write_DHparams.3 | 1 + .../share/man/man3/PEM_write_DHxparams.3 | 1 + .../share/man/man3/PEM_write_DSAPrivateKey.3 | 1 + .../share/man/man3/PEM_write_DSA_PUBKEY.3 | 1 + .../share/man/man3/PEM_write_DSAparams.3 | 1 + .../share/man/man3/PEM_write_ECPKParameters.3 | 1 + .../share/man/man3/PEM_write_ECPrivateKey.3 | 1 + .../share/man/man3/PEM_write_EC_PUBKEY.3 | 1 + .../man3/PEM_write_NETSCAPE_CERT_SEQUENCE.3 | 1 + linux_amd64/share/man/man3/PEM_write_PKCS7.3 | 1 + linux_amd64/share/man/man3/PEM_write_PKCS8.3 | 1 + .../man/man3/PEM_write_PKCS8PrivateKey.3 | 1 + .../man/man3/PEM_write_PKCS8PrivateKey_nid.3 | 1 + .../man/man3/PEM_write_PKCS8_PRIV_KEY_INFO.3 | 1 + linux_amd64/share/man/man3/PEM_write_PUBKEY.3 | 1 + .../share/man/man3/PEM_write_PrivateKey.3 | 1 + .../share/man/man3/PEM_write_RSAPrivateKey.3 | 1 + .../share/man/man3/PEM_write_RSAPublicKey.3 | 1 + .../share/man/man3/PEM_write_RSA_PUBKEY.3 | 1 + .../share/man/man3/PEM_write_SSL_SESSION.3 | 1 + linux_amd64/share/man/man3/PEM_write_X509.3 | 1 + .../share/man/man3/PEM_write_X509_AUX.3 | 1 + .../share/man/man3/PEM_write_X509_CRL.3 | 1 + .../share/man/man3/PEM_write_X509_REQ.3 | 1 + .../share/man/man3/PEM_write_X509_REQ_NEW.3 | 1 + linux_amd64/share/man/man3/PEM_write_bio.3 | 1 + .../share/man/man3/PEM_write_bio_CMS.3 | 1 + .../share/man/man3/PEM_write_bio_CMS_stream.3 | 4 +- .../share/man/man3/PEM_write_bio_DHparams.3 | 1 + .../share/man/man3/PEM_write_bio_DHxparams.3 | 1 + .../man/man3/PEM_write_bio_DSAPrivateKey.3 | 1 + .../share/man/man3/PEM_write_bio_DSA_PUBKEY.3 | 1 + .../share/man/man3/PEM_write_bio_DSAparams.3 | 1 + .../man/man3/PEM_write_bio_ECPKParameters.3 | 1 + .../man/man3/PEM_write_bio_ECPrivateKey.3 | 1 + .../share/man/man3/PEM_write_bio_EC_PUBKEY.3 | 1 + .../PEM_write_bio_NETSCAPE_CERT_SEQUENCE.3 | 1 + .../share/man/man3/PEM_write_bio_PKCS7.3 | 1 + .../man/man3/PEM_write_bio_PKCS7_stream.3 | 4 +- .../share/man/man3/PEM_write_bio_PKCS8.3 | 1 + .../man/man3/PEM_write_bio_PKCS8PrivateKey.3 | 1 + .../man3/PEM_write_bio_PKCS8PrivateKey_nid.3 | 1 + .../man3/PEM_write_bio_PKCS8_PRIV_KEY_INFO.3 | 1 + .../share/man/man3/PEM_write_bio_PUBKEY.3 | 1 + .../share/man/man3/PEM_write_bio_Parameters.3 | 1 + .../share/man/man3/PEM_write_bio_PrivateKey.3 | 1 + .../PEM_write_bio_PrivateKey_traditional.3 | 1 + .../man/man3/PEM_write_bio_RSAPrivateKey.3 | 1 + .../man/man3/PEM_write_bio_RSAPublicKey.3 | 1 + .../share/man/man3/PEM_write_bio_RSA_PUBKEY.3 | 1 + .../man/man3/PEM_write_bio_SSL_SESSION.3 | 1 + .../share/man/man3/PEM_write_bio_X509.3 | 1 + .../share/man/man3/PEM_write_bio_X509_AUX.3 | 1 + .../share/man/man3/PEM_write_bio_X509_CRL.3 | 1 + .../share/man/man3/PEM_write_bio_X509_REQ.3 | 1 + .../man/man3/PEM_write_bio_X509_REQ_NEW.3 | 1 + linux_amd64/share/man/man3/PKCS12_BAGS_free.3 | 1 + linux_amd64/share/man/man3/PKCS12_BAGS_new.3 | 1 + .../share/man/man3/PKCS12_MAC_DATA_free.3 | 1 + .../share/man/man3/PKCS12_MAC_DATA_new.3 | 1 + .../share/man/man3/PKCS12_SAFEBAG_free.3 | 1 + .../share/man/man3/PKCS12_SAFEBAG_new.3 | 1 + linux_amd64/share/man/man3/PKCS12_create.3 | 4 +- linux_amd64/share/man/man3/PKCS12_free.3 | 1 + linux_amd64/share/man/man3/PKCS12_new.3 | 1 + linux_amd64/share/man/man3/PKCS12_newpass.3 | 28 +- linux_amd64/share/man/man3/PKCS12_parse.3 | 4 +- .../share/man/man3/PKCS5_PBKDF2_HMAC.3 | 4 +- .../share/man/man3/PKCS5_PBKDF2_HMAC_SHA1.3 | 1 + .../share/man/man3/PKCS7_DIGEST_free.3 | 1 + linux_amd64/share/man/man3/PKCS7_DIGEST_new.3 | 1 + .../share/man/man3/PKCS7_ENCRYPT_free.3 | 1 + .../share/man/man3/PKCS7_ENCRYPT_new.3 | 1 + .../share/man/man3/PKCS7_ENC_CONTENT_free.3 | 1 + .../share/man/man3/PKCS7_ENC_CONTENT_new.3 | 1 + .../share/man/man3/PKCS7_ENVELOPE_free.3 | 1 + .../share/man/man3/PKCS7_ENVELOPE_new.3 | 1 + .../man/man3/PKCS7_ISSUER_AND_SERIAL_digest.3 | 1 + .../man/man3/PKCS7_ISSUER_AND_SERIAL_free.3 | 1 + .../man/man3/PKCS7_ISSUER_AND_SERIAL_new.3 | 1 + .../share/man/man3/PKCS7_RECIP_INFO_free.3 | 1 + .../share/man/man3/PKCS7_RECIP_INFO_new.3 | 1 + .../share/man/man3/PKCS7_SIGNED_free.3 | 1 + linux_amd64/share/man/man3/PKCS7_SIGNED_new.3 | 1 + .../share/man/man3/PKCS7_SIGNER_INFO_free.3 | 1 + .../share/man/man3/PKCS7_SIGNER_INFO_new.3 | 1 + .../share/man/man3/PKCS7_SIGN_ENVELOPE_free.3 | 1 + .../share/man/man3/PKCS7_SIGN_ENVELOPE_new.3 | 1 + linux_amd64/share/man/man3/PKCS7_decrypt.3 | 4 +- linux_amd64/share/man/man3/PKCS7_dup.3 | 1 + linux_amd64/share/man/man3/PKCS7_encrypt.3 | 10 +- linux_amd64/share/man/man3/PKCS7_free.3 | 1 + .../share/man/man3/PKCS7_get0_signers.3 | 1 + linux_amd64/share/man/man3/PKCS7_new.3 | 1 + linux_amd64/share/man/man3/PKCS7_print_ctx.3 | 1 + linux_amd64/share/man/man3/PKCS7_sign.3 | 10 +- .../share/man/man3/PKCS7_sign_add_signer.3 | 4 +- linux_amd64/share/man/man3/PKCS7_verify.3 | 6 +- .../share/man/man3/PKCS8_PRIV_KEY_INFO_free.3 | 1 + .../share/man/man3/PKCS8_PRIV_KEY_INFO_new.3 | 1 + .../share/man/man3/PKEY_USAGE_PERIOD_free.3 | 1 + .../share/man/man3/PKEY_USAGE_PERIOD_new.3 | 1 + linux_amd64/share/man/man3/POLICYINFO_free.3 | 1 + linux_amd64/share/man/man3/POLICYINFO_new.3 | 1 + .../share/man/man3/POLICYQUALINFO_free.3 | 1 + .../share/man/man3/POLICYQUALINFO_new.3 | 1 + .../share/man/man3/POLICY_CONSTRAINTS_free.3 | 1 + .../share/man/man3/POLICY_CONSTRAINTS_new.3 | 1 + .../share/man/man3/POLICY_MAPPING_free.3 | 1 + .../share/man/man3/POLICY_MAPPING_new.3 | 1 + linux_amd64/share/man/man3/PROFESSION_INFO.3 | 1 + linux_amd64/share/man/man3/PROFESSION_INFOS.3 | 1 + .../share/man/man3/PROFESSION_INFOS_free.3 | 1 + .../share/man/man3/PROFESSION_INFOS_new.3 | 1 + .../share/man/man3/PROFESSION_INFO_free.3 | 1 + .../PROFESSION_INFO_get0_addProfessionInfo.3 | 1 + .../PROFESSION_INFO_get0_namingAuthority.3 | 1 + .../PROFESSION_INFO_get0_professionItems.3 | 1 + .../PROFESSION_INFO_get0_professionOIDs.3 | 1 + .../PROFESSION_INFO_get0_registrationNumber.3 | 1 + .../share/man/man3/PROFESSION_INFO_new.3 | 1 + .../PROFESSION_INFO_set0_addProfessionInfo.3 | 1 + .../PROFESSION_INFO_set0_namingAuthority.3 | 1 + .../PROFESSION_INFO_set0_professionItems.3 | 1 + .../PROFESSION_INFO_set0_professionOIDs.3 | 1 + .../PROFESSION_INFO_set0_registrationNumber.3 | 1 + .../man/man3/PROXY_CERT_INFO_EXTENSION_free.3 | 1 + .../man/man3/PROXY_CERT_INFO_EXTENSION_new.3 | 1 + .../share/man/man3/PROXY_POLICY_free.3 | 1 + linux_amd64/share/man/man3/PROXY_POLICY_new.3 | 1 + linux_amd64/share/man/man3/RAND_DRBG_bytes.3 | 1 + .../man/man3/RAND_DRBG_cleanup_entropy_fn.3 | 1 + .../man/man3/RAND_DRBG_cleanup_nonce_fn.3 | 1 + linux_amd64/share/man/man3/RAND_DRBG_free.3 | 1 + .../share/man/man3/RAND_DRBG_generate.3 | 22 +- .../share/man/man3/RAND_DRBG_get0_master.3 | 44 +- .../share/man/man3/RAND_DRBG_get0_private.3 | 1 + .../share/man/man3/RAND_DRBG_get0_public.3 | 1 + .../share/man/man3/RAND_DRBG_get_entropy_fn.3 | 1 + .../share/man/man3/RAND_DRBG_get_ex_data.3 | 1 + .../man/man3/RAND_DRBG_get_ex_new_index.3 | 1 + .../share/man/man3/RAND_DRBG_get_nonce_fn.3 | 1 + .../share/man/man3/RAND_DRBG_instantiate.3 | 1 + linux_amd64/share/man/man3/RAND_DRBG_new.3 | 73 +- linux_amd64/share/man/man3/RAND_DRBG_reseed.3 | 20 +- .../share/man/man3/RAND_DRBG_secure_new.3 | 1 + linux_amd64/share/man/man3/RAND_DRBG_set.3 | 1 + .../share/man/man3/RAND_DRBG_set_callbacks.3 | 52 +- .../share/man/man3/RAND_DRBG_set_defaults.3 | 1 + .../share/man/man3/RAND_DRBG_set_ex_data.3 | 184 +++ .../man/man3/RAND_DRBG_set_reseed_defaults.3 | 1 + .../man/man3/RAND_DRBG_set_reseed_interval.3 | 1 + .../man3/RAND_DRBG_set_reseed_time_interval.3 | 1 + .../share/man/man3/RAND_DRBG_uninstantiate.3 | 1 + linux_amd64/share/man/man3/RAND_OpenSSL.3 | 1 + linux_amd64/share/man/man3/RAND_add.3 | 24 +- linux_amd64/share/man/man3/RAND_bytes.3 | 29 +- linux_amd64/share/man/man3/RAND_cleanup.3 | 14 +- linux_amd64/share/man/man3/RAND_egd.3 | 4 +- linux_amd64/share/man/man3/RAND_egd_bytes.3 | 1 + linux_amd64/share/man/man3/RAND_event.3 | 1 + linux_amd64/share/man/man3/RAND_file_name.3 | 1 + .../share/man/man3/RAND_get_rand_method.3 | 1 + .../man/man3/RAND_keep_random_devices_open.3 | 1 + linux_amd64/share/man/man3/RAND_load_file.3 | 8 +- linux_amd64/share/man/man3/RAND_poll.3 | 1 + linux_amd64/share/man/man3/RAND_priv_bytes.3 | 1 + .../share/man/man3/RAND_pseudo_bytes.3 | 1 + .../share/man/man3/RAND_query_egd_bytes.3 | 1 + linux_amd64/share/man/man3/RAND_screen.3 | 1 + linux_amd64/share/man/man3/RAND_seed.3 | 1 + .../share/man/man3/RAND_set_rand_method.3 | 6 +- linux_amd64/share/man/man3/RAND_status.3 | 1 + linux_amd64/share/man/man3/RAND_write_file.3 | 1 + linux_amd64/share/man/man3/RC4.3 | 1 + linux_amd64/share/man/man3/RC4_set_key.3 | 19 +- linux_amd64/share/man/man3/RIPEMD160.3 | 1 + linux_amd64/share/man/man3/RIPEMD160_Final.3 | 1 + linux_amd64/share/man/man3/RIPEMD160_Init.3 | 24 +- linux_amd64/share/man/man3/RIPEMD160_Update.3 | 1 + .../share/man/man3/RSAPrivateKey_dup.3 | 1 + linux_amd64/share/man/man3/RSAPublicKey_dup.3 | 1 + .../share/man/man3/RSA_OAEP_PARAMS_free.3 | 1 + .../share/man/man3/RSA_OAEP_PARAMS_new.3 | 1 + .../share/man/man3/RSA_PKCS1_OpenSSL.3 | 1 + .../share/man/man3/RSA_PSS_PARAMS_free.3 | 1 + .../share/man/man3/RSA_PSS_PARAMS_new.3 | 1 + linux_amd64/share/man/man3/RSA_bits.3 | 1 + linux_amd64/share/man/man3/RSA_blinding_off.3 | 1 + linux_amd64/share/man/man3/RSA_blinding_on.3 | 6 +- linux_amd64/share/man/man3/RSA_check_key.3 | 18 +- linux_amd64/share/man/man3/RSA_check_key_ex.3 | 1 + linux_amd64/share/man/man3/RSA_clear_flags.3 | 1 + linux_amd64/share/man/man3/RSA_flags.3 | 1 + linux_amd64/share/man/man3/RSA_free.3 | 1 + linux_amd64/share/man/man3/RSA_generate_key.3 | 31 +- .../share/man/man3/RSA_generate_key_ex.3 | 1 + .../man/man3/RSA_generate_multi_prime_key.3 | 1 + .../share/man/man3/RSA_get0_crt_params.3 | 1 + linux_amd64/share/man/man3/RSA_get0_d.3 | 1 + linux_amd64/share/man/man3/RSA_get0_dmp1.3 | 1 + linux_amd64/share/man/man3/RSA_get0_dmq1.3 | 1 + linux_amd64/share/man/man3/RSA_get0_e.3 | 1 + linux_amd64/share/man/man3/RSA_get0_engine.3 | 1 + linux_amd64/share/man/man3/RSA_get0_factors.3 | 1 + linux_amd64/share/man/man3/RSA_get0_iqmp.3 | 1 + linux_amd64/share/man/man3/RSA_get0_key.3 | 17 +- .../man3/RSA_get0_multi_prime_crt_params.3 | 1 + .../man/man3/RSA_get0_multi_prime_factors.3 | 1 + linux_amd64/share/man/man3/RSA_get0_n.3 | 1 + linux_amd64/share/man/man3/RSA_get0_p.3 | 1 + .../share/man/man3/RSA_get0_pss_params.3 | 1 + linux_amd64/share/man/man3/RSA_get0_q.3 | 1 + .../share/man/man3/RSA_get_default_method.3 | 1 + linux_amd64/share/man/man3/RSA_get_ex_data.3 | 1 + .../share/man/man3/RSA_get_ex_new_index.3 | 1 + linux_amd64/share/man/man3/RSA_get_method.3 | 1 + .../man3/RSA_get_multi_prime_extra_count.3 | 1 + linux_amd64/share/man/man3/RSA_get_version.3 | 1 + linux_amd64/share/man/man3/RSA_meth_dup.3 | 1 + linux_amd64/share/man/man3/RSA_meth_free.3 | 1 + .../share/man/man3/RSA_meth_get0_app_data.3 | 1 + .../share/man/man3/RSA_meth_get0_name.3 | 1 + .../share/man/man3/RSA_meth_get_bn_mod_exp.3 | 1 + .../share/man/man3/RSA_meth_get_finish.3 | 1 + .../share/man/man3/RSA_meth_get_flags.3 | 1 + .../share/man/man3/RSA_meth_get_init.3 | 1 + .../share/man/man3/RSA_meth_get_keygen.3 | 1 + .../share/man/man3/RSA_meth_get_mod_exp.3 | 1 + .../man3/RSA_meth_get_multi_prime_keygen.3 | 1 + .../share/man/man3/RSA_meth_get_priv_dec.3 | 1 + .../share/man/man3/RSA_meth_get_priv_enc.3 | 1 + .../share/man/man3/RSA_meth_get_pub_dec.3 | 1 + .../share/man/man3/RSA_meth_get_pub_enc.3 | 1 + .../share/man/man3/RSA_meth_get_sign.3 | 1 + .../share/man/man3/RSA_meth_get_verify.3 | 1 + linux_amd64/share/man/man3/RSA_meth_new.3 | 34 +- .../share/man/man3/RSA_meth_set0_app_data.3 | 1 + .../share/man/man3/RSA_meth_set1_name.3 | 1 + .../share/man/man3/RSA_meth_set_bn_mod_exp.3 | 1 + .../share/man/man3/RSA_meth_set_finish.3 | 1 + .../share/man/man3/RSA_meth_set_flags.3 | 1 + .../share/man/man3/RSA_meth_set_init.3 | 1 + .../share/man/man3/RSA_meth_set_keygen.3 | 1 + .../share/man/man3/RSA_meth_set_mod_exp.3 | 1 + .../man3/RSA_meth_set_multi_prime_keygen.3 | 1 + .../share/man/man3/RSA_meth_set_priv_dec.3 | 1 + .../share/man/man3/RSA_meth_set_priv_enc.3 | 1 + .../share/man/man3/RSA_meth_set_pub_dec.3 | 1 + .../share/man/man3/RSA_meth_set_pub_enc.3 | 1 + .../share/man/man3/RSA_meth_set_sign.3 | 1 + .../share/man/man3/RSA_meth_set_verify.3 | 1 + linux_amd64/share/man/man3/RSA_new.3 | 4 +- linux_amd64/share/man/man3/RSA_new_method.3 | 1 + .../man/man3/RSA_padding_add_PKCS1_OAEP.3 | 1 + .../man3/RSA_padding_add_PKCS1_OAEP_mgf1.3 | 1 + .../man/man3/RSA_padding_add_PKCS1_type_1.3 | 26 +- .../man/man3/RSA_padding_add_PKCS1_type_2.3 | 1 + .../share/man/man3/RSA_padding_add_SSLv23.3 | 1 + .../share/man/man3/RSA_padding_add_none.3 | 1 + .../man/man3/RSA_padding_check_PKCS1_OAEP.3 | 1 + .../man3/RSA_padding_check_PKCS1_OAEP_mgf1.3 | 1 + .../man/man3/RSA_padding_check_PKCS1_type_1.3 | 1 + .../man/man3/RSA_padding_check_PKCS1_type_2.3 | 1 + .../share/man/man3/RSA_padding_check_SSLv23.3 | 1 + .../share/man/man3/RSA_padding_check_none.3 | 1 + linux_amd64/share/man/man3/RSA_print.3 | 45 +- linux_amd64/share/man/man3/RSA_print_fp.3 | 1 + .../share/man/man3/RSA_private_decrypt.3 | 1 + .../share/man/man3/RSA_private_encrypt.3 | 19 +- .../share/man/man3/RSA_public_decrypt.3 | 1 + .../share/man/man3/RSA_public_encrypt.3 | 19 +- .../share/man/man3/RSA_security_bits.3 | 1 + .../share/man/man3/RSA_set0_crt_params.3 | 1 + linux_amd64/share/man/man3/RSA_set0_factors.3 | 1 + linux_amd64/share/man/man3/RSA_set0_key.3 | 1 + .../man/man3/RSA_set0_multi_prime_params.3 | 1 + .../share/man/man3/RSA_set_default_method.3 | 1 + linux_amd64/share/man/man3/RSA_set_ex_data.3 | 1 + linux_amd64/share/man/man3/RSA_set_flags.3 | 1 + linux_amd64/share/man/man3/RSA_set_method.3 | 23 +- linux_amd64/share/man/man3/RSA_sign.3 | 19 +- .../man/man3/RSA_sign_ASN1_OCTET_STRING.3 | 20 +- linux_amd64/share/man/man3/RSA_size.3 | 18 +- linux_amd64/share/man/man3/RSA_test_flags.3 | 1 + linux_amd64/share/man/man3/RSA_verify.3 | 1 + .../man/man3/RSA_verify_ASN1_OCTET_STRING.3 | 1 + .../share/man/man3/SCRYPT_PARAMS_free.3 | 1 + .../share/man/man3/SCRYPT_PARAMS_new.3 | 1 + linux_amd64/share/man/man3/SCT_LIST_free.3 | 1 + linux_amd64/share/man/man3/SCT_LIST_print.3 | 1 + .../share/man/man3/SCT_LIST_validate.3 | 1 + linux_amd64/share/man/man3/SCT_free.3 | 1 + .../share/man/man3/SCT_get0_extensions.3 | 1 + linux_amd64/share/man/man3/SCT_get0_log_id.3 | 1 + .../share/man/man3/SCT_get0_signature.3 | 1 + .../share/man/man3/SCT_get_log_entry_type.3 | 1 + .../share/man/man3/SCT_get_signature_nid.3 | 1 + linux_amd64/share/man/man3/SCT_get_source.3 | 1 + .../share/man/man3/SCT_get_timestamp.3 | 1 + .../man/man3/SCT_get_validation_status.3 | 1 + linux_amd64/share/man/man3/SCT_get_version.3 | 1 + linux_amd64/share/man/man3/SCT_new.3 | 20 +- .../share/man/man3/SCT_new_from_base64.3 | 1 + linux_amd64/share/man/man3/SCT_print.3 | 9 +- .../share/man/man3/SCT_set0_extensions.3 | 1 + linux_amd64/share/man/man3/SCT_set0_log_id.3 | 1 + .../share/man/man3/SCT_set0_signature.3 | 1 + .../share/man/man3/SCT_set1_extensions.3 | 1 + linux_amd64/share/man/man3/SCT_set1_log_id.3 | 1 + .../share/man/man3/SCT_set1_signature.3 | 1 + .../share/man/man3/SCT_set_log_entry_type.3 | 1 + .../share/man/man3/SCT_set_signature_nid.3 | 1 + linux_amd64/share/man/man3/SCT_set_source.3 | 1 + .../share/man/man3/SCT_set_timestamp.3 | 1 + linux_amd64/share/man/man3/SCT_set_version.3 | 1 + linux_amd64/share/man/man3/SCT_validate.3 | 7 +- .../man/man3/SCT_validation_status_string.3 | 1 + linux_amd64/share/man/man3/SHA1.3 | 1 + linux_amd64/share/man/man3/SHA1_Final.3 | 1 + linux_amd64/share/man/man3/SHA1_Init.3 | 1 + linux_amd64/share/man/man3/SHA1_Update.3 | 1 + linux_amd64/share/man/man3/SHA224.3 | 1 + linux_amd64/share/man/man3/SHA224_Final.3 | 1 + linux_amd64/share/man/man3/SHA224_Init.3 | 1 + linux_amd64/share/man/man3/SHA224_Update.3 | 1 + linux_amd64/share/man/man3/SHA256.3 | 1 + linux_amd64/share/man/man3/SHA256_Final.3 | 1 + linux_amd64/share/man/man3/SHA256_Init.3 | 26 +- linux_amd64/share/man/man3/SHA256_Update.3 | 1 + linux_amd64/share/man/man3/SHA384.3 | 1 + linux_amd64/share/man/man3/SHA384_Final.3 | 1 + linux_amd64/share/man/man3/SHA384_Init.3 | 1 + linux_amd64/share/man/man3/SHA384_Update.3 | 1 + linux_amd64/share/man/man3/SHA512.3 | 1 + linux_amd64/share/man/man3/SHA512_Final.3 | 1 + linux_amd64/share/man/man3/SHA512_Init.3 | 1 + linux_amd64/share/man/man3/SHA512_Update.3 | 1 + linux_amd64/share/man/man3/SMIME_read_CMS.3 | 6 +- linux_amd64/share/man/man3/SMIME_read_PKCS7.3 | 4 +- linux_amd64/share/man/man3/SMIME_write_CMS.3 | 4 +- .../share/man/man3/SMIME_write_PKCS7.3 | 4 +- .../share/man/man3/SSL_CIPHER_description.3 | 1 + linux_amd64/share/man/man3/SSL_CIPHER_find.3 | 1 + .../share/man/man3/SSL_CIPHER_get_auth_nid.3 | 1 + .../share/man/man3/SSL_CIPHER_get_bits.3 | 1 + .../man/man3/SSL_CIPHER_get_cipher_nid.3 | 1 + .../man/man3/SSL_CIPHER_get_digest_nid.3 | 1 + .../man3/SSL_CIPHER_get_handshake_digest.3 | 1 + .../share/man/man3/SSL_CIPHER_get_id.3 | 1 + .../share/man/man3/SSL_CIPHER_get_kx_nid.3 | 1 + .../share/man/man3/SSL_CIPHER_get_name.3 | 23 +- .../man/man3/SSL_CIPHER_get_protocol_id.3 | 1 + .../share/man/man3/SSL_CIPHER_get_version.3 | 1 + .../share/man/man3/SSL_CIPHER_is_aead.3 | 1 + .../share/man/man3/SSL_CIPHER_standard_name.3 | 1 + .../man3/SSL_COMP_add_compression_method.3 | 16 +- .../man3/SSL_COMP_free_compression_methods.3 | 1 + .../share/man/man3/SSL_COMP_get0_name.3 | 1 + .../man3/SSL_COMP_get_compression_methods.3 | 1 + linux_amd64/share/man/man3/SSL_COMP_get_id.3 | 1 + .../share/man/man3/SSL_CONF_CTX_clear_flags.3 | 1 + .../share/man/man3/SSL_CONF_CTX_free.3 | 1 + linux_amd64/share/man/man3/SSL_CONF_CTX_new.3 | 5 +- .../share/man/man3/SSL_CONF_CTX_set1_prefix.3 | 5 +- .../share/man/man3/SSL_CONF_CTX_set_flags.3 | 5 +- .../share/man/man3/SSL_CONF_CTX_set_ssl.3 | 1 + .../share/man/man3/SSL_CONF_CTX_set_ssl_ctx.3 | 5 +- linux_amd64/share/man/man3/SSL_CONF_cmd.3 | 347 +++--- .../share/man/man3/SSL_CONF_cmd_argv.3 | 5 +- .../share/man/man3/SSL_CONF_cmd_value_type.3 | 1 + .../share/man/man3/SSL_CTX_add0_chain_cert.3 | 1 + .../share/man/man3/SSL_CTX_add1_chain_cert.3 | 13 +- .../share/man/man3/SSL_CTX_add1_to_CA_list.3 | 1 + .../share/man/man3/SSL_CTX_add_client_CA.3 | 1 + .../man/man3/SSL_CTX_add_client_custom_ext.3 | 1 + .../share/man/man3/SSL_CTX_add_custom_ext.3 | 1 + .../man/man3/SSL_CTX_add_extra_chain_cert.3 | 23 +- .../man/man3/SSL_CTX_add_server_custom_ext.3 | 1 + .../share/man/man3/SSL_CTX_add_session.3 | 4 +- .../share/man/man3/SSL_CTX_build_cert_chain.3 | 1 + .../share/man/man3/SSL_CTX_callback_ctrl.3 | 1 + .../man/man3/SSL_CTX_check_private_key.3 | 1 + .../man/man3/SSL_CTX_clear_chain_certs.3 | 1 + .../man3/SSL_CTX_clear_extra_chain_certs.3 | 1 + .../share/man/man3/SSL_CTX_clear_mode.3 | 1 + .../share/man/man3/SSL_CTX_clear_options.3 | 1 + linux_amd64/share/man/man3/SSL_CTX_config.3 | 7 +- .../share/man/man3/SSL_CTX_ct_is_enabled.3 | 1 + linux_amd64/share/man/man3/SSL_CTX_ctrl.3 | 4 +- .../share/man/man3/SSL_CTX_dane_clear_flags.3 | 1 + .../share/man/man3/SSL_CTX_dane_enable.3 | 16 +- .../share/man/man3/SSL_CTX_dane_mtype_set.3 | 1 + .../share/man/man3/SSL_CTX_dane_set_flags.3 | 1 + .../man3/SSL_CTX_decrypt_session_ticket_fn.3 | 1 + .../share/man/man3/SSL_CTX_disable_ct.3 | 1 + .../share/man/man3/SSL_CTX_enable_ct.3 | 1 + .../share/man/man3/SSL_CTX_flush_sessions.3 | 4 +- linux_amd64/share/man/man3/SSL_CTX_free.3 | 4 +- .../man3/SSL_CTX_generate_session_ticket_fn.3 | 1 + .../share/man/man3/SSL_CTX_get0_CA_list.3 | 1 + .../share/man/man3/SSL_CTX_get0_chain_certs.3 | 1 + .../share/man/man3/SSL_CTX_get0_param.3 | 10 +- .../man/man3/SSL_CTX_get0_security_ex_data.3 | 1 + .../share/man/man3/SSL_CTX_get_cert_store.3 | 1 + .../share/man/man3/SSL_CTX_get_ciphers.3 | 1 + .../man/man3/SSL_CTX_get_client_CA_list.3 | 1 + .../man/man3/SSL_CTX_get_client_cert_cb.3 | 1 + .../man/man3/SSL_CTX_get_default_passwd_cb.3 | 1 + .../SSL_CTX_get_default_passwd_cb_userdata.3 | 1 + .../man/man3/SSL_CTX_get_default_read_ahead.3 | 1 + .../share/man/man3/SSL_CTX_get_ex_data.3 | 1 + .../man/man3/SSL_CTX_get_info_callback.3 | 1 + .../man/man3/SSL_CTX_get_keylog_callback.3 | 1 + .../man/man3/SSL_CTX_get_max_cert_list.3 | 1 + .../man/man3/SSL_CTX_get_max_early_data.3 | 1 + .../man/man3/SSL_CTX_get_max_proto_version.3 | 1 + .../man/man3/SSL_CTX_get_min_proto_version.3 | 1 + linux_amd64/share/man/man3/SSL_CTX_get_mode.3 | 1 + .../share/man/man3/SSL_CTX_get_num_tickets.3 | 1 + .../share/man/man3/SSL_CTX_get_options.3 | 1 + .../man/man3/SSL_CTX_get_quiet_shutdown.3 | 1 + .../share/man/man3/SSL_CTX_get_read_ahead.3 | 1 + .../SSL_CTX_get_record_padding_callback_arg.3 | 1 + .../man3/SSL_CTX_get_recv_max_early_data.3 | 1 + .../man/man3/SSL_CTX_get_security_callback.3 | 1 + .../man/man3/SSL_CTX_get_security_level.3 | 1 + .../man/man3/SSL_CTX_get_session_cache_mode.3 | 1 + .../share/man/man3/SSL_CTX_get_timeout.3 | 1 + .../man/man3/SSL_CTX_get_tlsext_status_arg.3 | 1 + .../man/man3/SSL_CTX_get_tlsext_status_cb.3 | 1 + .../man/man3/SSL_CTX_get_tlsext_status_type.3 | 1 + .../man/man3/SSL_CTX_get_verify_callback.3 | 1 + .../share/man/man3/SSL_CTX_get_verify_depth.3 | 1 + .../share/man/man3/SSL_CTX_get_verify_mode.3 | 4 +- .../man/man3/SSL_CTX_has_client_custom_ext.3 | 7 +- .../share/man/man3/SSL_CTX_keylog_cb_func.3 | 1 + .../man/man3/SSL_CTX_load_verify_locations.3 | 61 +- linux_amd64/share/man/man3/SSL_CTX_new.3 | 47 +- .../share/man/man3/SSL_CTX_remove_session.3 | 1 + .../man/man3/SSL_CTX_select_current_cert.3 | 1 + .../share/man/man3/SSL_CTX_sess_accept.3 | 1 + .../share/man/man3/SSL_CTX_sess_accept_good.3 | 1 + .../man3/SSL_CTX_sess_accept_renegotiate.3 | 1 + .../share/man/man3/SSL_CTX_sess_cache_full.3 | 1 + .../share/man/man3/SSL_CTX_sess_cb_hits.3 | 1 + .../share/man/man3/SSL_CTX_sess_connect.3 | 1 + .../man/man3/SSL_CTX_sess_connect_good.3 | 1 + .../man3/SSL_CTX_sess_connect_renegotiate.3 | 1 + .../man/man3/SSL_CTX_sess_get_cache_size.3 | 1 + .../share/man/man3/SSL_CTX_sess_get_get_cb.3 | 1 + .../share/man/man3/SSL_CTX_sess_get_new_cb.3 | 1 + .../man/man3/SSL_CTX_sess_get_remove_cb.3 | 1 + .../share/man/man3/SSL_CTX_sess_hits.3 | 1 + .../share/man/man3/SSL_CTX_sess_misses.3 | 1 + .../share/man/man3/SSL_CTX_sess_number.3 | 4 +- .../man/man3/SSL_CTX_sess_set_cache_size.3 | 4 +- .../share/man/man3/SSL_CTX_sess_set_get_cb.3 | 4 +- .../share/man/man3/SSL_CTX_sess_set_new_cb.3 | 1 + .../man/man3/SSL_CTX_sess_set_remove_cb.3 | 1 + .../share/man/man3/SSL_CTX_sess_timeouts.3 | 1 + linux_amd64/share/man/man3/SSL_CTX_sessions.3 | 4 +- .../share/man/man3/SSL_CTX_set0_CA_list.3 | 21 +- .../share/man/man3/SSL_CTX_set0_chain.3 | 1 + .../man/man3/SSL_CTX_set0_chain_cert_store.3 | 1 + .../man/man3/SSL_CTX_set0_security_ex_data.3 | 1 + .../man/man3/SSL_CTX_set0_verify_cert_store.3 | 1 + .../share/man/man3/SSL_CTX_set1_cert_store.3 | 1 + .../share/man/man3/SSL_CTX_set1_chain.3 | 1 + .../man/man3/SSL_CTX_set1_chain_cert_store.3 | 1 + .../man/man3/SSL_CTX_set1_client_sigalgs.3 | 1 + .../man3/SSL_CTX_set1_client_sigalgs_list.3 | 1 + .../share/man/man3/SSL_CTX_set1_curves.3 | 31 +- .../share/man/man3/SSL_CTX_set1_curves_list.3 | 1 + .../share/man/man3/SSL_CTX_set1_groups.3 | 1 + .../share/man/man3/SSL_CTX_set1_groups_list.3 | 1 + .../share/man/man3/SSL_CTX_set1_param.3 | 1 + .../share/man/man3/SSL_CTX_set1_sigalgs.3 | 11 +- .../man/man3/SSL_CTX_set1_sigalgs_list.3 | 1 + .../man/man3/SSL_CTX_set1_verify_cert_store.3 | 11 +- .../man3/SSL_CTX_set_allow_early_data_cb.3 | 1 + .../share/man/man3/SSL_CTX_set_alpn_protos.3 | 1 + .../man/man3/SSL_CTX_set_alpn_select_cb.3 | 9 +- .../man/man3/SSL_CTX_set_block_padding.3 | 1 + .../share/man/man3/SSL_CTX_set_cert_cb.3 | 4 +- .../share/man/man3/SSL_CTX_set_cert_store.3 | 4 +- .../man3/SSL_CTX_set_cert_verify_callback.3 | 4 +- .../share/man/man3/SSL_CTX_set_cipher_list.3 | 32 +- .../share/man/man3/SSL_CTX_set_ciphersuites.3 | 1 + .../man/man3/SSL_CTX_set_client_CA_list.3 | 1 + .../man/man3/SSL_CTX_set_client_cert_cb.3 | 4 +- .../man/man3/SSL_CTX_set_client_hello_cb.3 | 10 +- .../man/man3/SSL_CTX_set_cookie_generate_cb.3 | 1 + .../man/man3/SSL_CTX_set_cookie_verify_cb.3 | 1 + .../man3/SSL_CTX_set_ct_validation_callback.3 | 12 +- .../man/man3/SSL_CTX_set_ctlog_list_file.3 | 11 +- .../share/man/man3/SSL_CTX_set_current_cert.3 | 1 + .../SSL_CTX_set_default_ctlog_list_file.3 | 1 + .../man/man3/SSL_CTX_set_default_passwd_cb.3 | 10 +- .../SSL_CTX_set_default_passwd_cb_userdata.3 | 1 + .../SSL_CTX_set_default_read_buffer_len.3 | 1 + .../man/man3/SSL_CTX_set_default_verify_dir.3 | 1 + .../man3/SSL_CTX_set_default_verify_file.3 | 1 + .../man3/SSL_CTX_set_default_verify_paths.3 | 1 + .../share/man/man3/SSL_CTX_set_ex_data.3 | 173 +++ .../man3/SSL_CTX_set_generate_session_id.3 | 10 +- .../man/man3/SSL_CTX_set_info_callback.3 | 14 +- .../man/man3/SSL_CTX_set_keylog_callback.3 | 7 +- .../man/man3/SSL_CTX_set_max_cert_list.3 | 4 +- .../man/man3/SSL_CTX_set_max_early_data.3 | 1 + .../man/man3/SSL_CTX_set_max_pipelines.3 | 1 + .../man/man3/SSL_CTX_set_max_proto_version.3 | 1 + .../man/man3/SSL_CTX_set_max_send_fragment.3 | 1 + .../man/man3/SSL_CTX_set_min_proto_version.3 | 11 +- linux_amd64/share/man/man3/SSL_CTX_set_mode.3 | 34 +- .../share/man/man3/SSL_CTX_set_msg_callback.3 | 10 +- .../man/man3/SSL_CTX_set_msg_callback_arg.3 | 1 + .../man3/SSL_CTX_set_next_proto_select_cb.3 | 1 + .../SSL_CTX_set_next_protos_advertised_cb.3 | 1 + .../share/man/man3/SSL_CTX_set_num_tickets.3 | 13 +- .../share/man/man3/SSL_CTX_set_options.3 | 41 +- .../man3/SSL_CTX_set_post_handshake_auth.3 | 1 + .../man3/SSL_CTX_set_psk_client_callback.3 | 13 +- .../SSL_CTX_set_psk_find_session_callback.3 | 1 + .../man3/SSL_CTX_set_psk_server_callback.3 | 1 + .../SSL_CTX_set_psk_use_session_callback.3 | 1 + .../man/man3/SSL_CTX_set_quiet_shutdown.3 | 4 +- .../share/man/man3/SSL_CTX_set_read_ahead.3 | 11 +- .../SSL_CTX_set_record_padding_callback.3 | 15 +- .../SSL_CTX_set_record_padding_callback_arg.3 | 1 + .../man3/SSL_CTX_set_recv_max_early_data.3 | 1 + .../man/man3/SSL_CTX_set_security_callback.3 | 1 + .../man/man3/SSL_CTX_set_security_level.3 | 7 +- .../man/man3/SSL_CTX_set_session_cache_mode.3 | 4 +- .../man/man3/SSL_CTX_set_session_id_context.3 | 6 +- .../man/man3/SSL_CTX_set_session_ticket_cb.3 | 14 +- .../man3/SSL_CTX_set_split_send_fragment.3 | 13 +- .../share/man/man3/SSL_CTX_set_ssl_version.3 | 9 +- ...SSL_CTX_set_stateless_cookie_generate_cb.3 | 11 +- .../SSL_CTX_set_stateless_cookie_verify_cb.3 | 1 + .../share/man/man3/SSL_CTX_set_timeout.3 | 4 +- .../SSL_CTX_set_tlsext_max_fragment_length.3 | 1 + .../man3/SSL_CTX_set_tlsext_servername_arg.3 | 1 + .../SSL_CTX_set_tlsext_servername_callback.3 | 8 +- .../man/man3/SSL_CTX_set_tlsext_status_arg.3 | 1 + .../man/man3/SSL_CTX_set_tlsext_status_cb.3 | 19 +- .../man/man3/SSL_CTX_set_tlsext_status_type.3 | 1 + .../man3/SSL_CTX_set_tlsext_ticket_key_cb.3 | 74 +- .../man/man3/SSL_CTX_set_tlsext_use_srtp.3 | 11 +- .../share/man/man3/SSL_CTX_set_tmp_dh.3 | 1 + .../man/man3/SSL_CTX_set_tmp_dh_callback.3 | 12 +- .../share/man/man3/SSL_CTX_set_verify.3 | 15 +- .../share/man/man3/SSL_CTX_set_verify_depth.3 | 1 + linux_amd64/share/man/man3/SSL_CTX_up_ref.3 | 1 + .../share/man/man3/SSL_CTX_use_PrivateKey.3 | 1 + .../man/man3/SSL_CTX_use_PrivateKey_ASN1.3 | 1 + .../man/man3/SSL_CTX_use_PrivateKey_file.3 | 1 + .../man/man3/SSL_CTX_use_RSAPrivateKey.3 | 1 + .../man/man3/SSL_CTX_use_RSAPrivateKey_ASN1.3 | 1 + .../man/man3/SSL_CTX_use_RSAPrivateKey_file.3 | 1 + .../share/man/man3/SSL_CTX_use_cert_and_key.3 | 1 + .../share/man/man3/SSL_CTX_use_certificate.3 | 17 +- .../man/man3/SSL_CTX_use_certificate_ASN1.3 | 1 + .../man3/SSL_CTX_use_certificate_chain_file.3 | 1 + .../man/man3/SSL_CTX_use_certificate_file.3 | 1 + .../man/man3/SSL_CTX_use_psk_identity_hint.3 | 18 +- .../share/man/man3/SSL_CTX_use_serverinfo.3 | 12 +- .../man/man3/SSL_CTX_use_serverinfo_ex.3 | 1 + .../man/man3/SSL_CTX_use_serverinfo_file.3 | 1 + linux_amd64/share/man/man3/SSL_SESSION_dup.3 | 1 + linux_amd64/share/man/man3/SSL_SESSION_free.3 | 11 +- .../man/man3/SSL_SESSION_get0_alpn_selected.3 | 1 + .../share/man/man3/SSL_SESSION_get0_cipher.3 | 8 +- .../man/man3/SSL_SESSION_get0_hostname.3 | 12 +- .../man/man3/SSL_SESSION_get0_id_context.3 | 8 +- .../share/man/man3/SSL_SESSION_get0_peer.3 | 7 +- .../share/man/man3/SSL_SESSION_get0_ticket.3 | 1 + .../man3/SSL_SESSION_get0_ticket_appdata.3 | 1 + .../man/man3/SSL_SESSION_get_compress_id.3 | 7 +- .../share/man/man3/SSL_SESSION_get_ex_data.3 | 168 +++ .../share/man/man3/SSL_SESSION_get_id.3 | 1 + .../man/man3/SSL_SESSION_get_master_key.3 | 1 + .../man/man3/SSL_SESSION_get_max_early_data.3 | 1 + .../SSL_SESSION_get_max_fragment_length.3 | 1 + .../man3/SSL_SESSION_get_protocol_version.3 | 8 +- .../SSL_SESSION_get_ticket_lifetime_hint.3 | 1 + .../share/man/man3/SSL_SESSION_get_time.3 | 9 +- .../share/man/man3/SSL_SESSION_get_timeout.3 | 1 + .../share/man/man3/SSL_SESSION_has_ticket.3 | 8 +- .../share/man/man3/SSL_SESSION_is_resumable.3 | 7 +- linux_amd64/share/man/man3/SSL_SESSION_new.3 | 1 + .../share/man/man3/SSL_SESSION_print.3 | 9 +- .../share/man/man3/SSL_SESSION_print_fp.3 | 1 + .../share/man/man3/SSL_SESSION_print_keylog.3 | 1 + .../man/man3/SSL_SESSION_set1_alpn_selected.3 | 1 + .../man/man3/SSL_SESSION_set1_hostname.3 | 1 + .../share/man/man3/SSL_SESSION_set1_id.3 | 8 +- .../man/man3/SSL_SESSION_set1_id_context.3 | 1 + .../man/man3/SSL_SESSION_set1_master_key.3 | 1 + .../man3/SSL_SESSION_set1_ticket_appdata.3 | 1 + .../share/man/man3/SSL_SESSION_set_cipher.3 | 1 + .../share/man/man3/SSL_SESSION_set_ex_data.3 | 1 + .../man/man3/SSL_SESSION_set_max_early_data.3 | 1 + .../man3/SSL_SESSION_set_protocol_version.3 | 1 + .../share/man/man3/SSL_SESSION_set_time.3 | 1 + .../share/man/man3/SSL_SESSION_set_timeout.3 | 1 + .../share/man/man3/SSL_SESSION_up_ref.3 | 1 + linux_amd64/share/man/man3/SSL_accept.3 | 4 +- .../share/man/man3/SSL_add0_chain_cert.3 | 1 + .../share/man/man3/SSL_add1_chain_cert.3 | 1 + linux_amd64/share/man/man3/SSL_add1_host.3 | 1 + .../share/man/man3/SSL_add1_to_CA_list.3 | 1 + .../share/man/man3/SSL_add_client_CA.3 | 1 + .../man3/SSL_add_dir_cert_subjects_to_stack.3 | 1 + .../SSL_add_file_cert_subjects_to_stack.3 | 1 + .../share/man/man3/SSL_alert_desc_string.3 | 1 + .../man/man3/SSL_alert_desc_string_long.3 | 1 + .../share/man/man3/SSL_alert_type_string.3 | 4 +- .../man/man3/SSL_alert_type_string_long.3 | 1 + .../share/man/man3/SSL_alloc_buffers.3 | 7 +- .../man/man3/SSL_allow_early_data_cb_fn.3 | 1 + .../share/man/man3/SSL_build_cert_chain.3 | 1 + .../share/man/man3/SSL_bytes_to_cipher_list.3 | 1 + .../share/man/man3/SSL_callback_ctrl.3 | 1 + linux_amd64/share/man/man3/SSL_check_chain.3 | 4 +- .../share/man/man3/SSL_check_private_key.3 | 1 + linux_amd64/share/man/man3/SSL_clear.3 | 4 +- .../share/man/man3/SSL_clear_chain_certs.3 | 1 + linux_amd64/share/man/man3/SSL_clear_mode.3 | 1 + .../share/man/man3/SSL_clear_options.3 | 1 + .../share/man/man3/SSL_client_hello_cb_fn.3 | 1 + .../man/man3/SSL_client_hello_get0_ciphers.3 | 1 + ...SL_client_hello_get0_compression_methods.3 | 1 + .../man/man3/SSL_client_hello_get0_ext.3 | 1 + .../SSL_client_hello_get0_legacy_version.3 | 1 + .../man/man3/SSL_client_hello_get0_random.3 | 1 + .../man3/SSL_client_hello_get0_session_id.3 | 1 + ...SSL_client_hello_get1_extensions_present.3 | 1 + .../share/man/man3/SSL_client_hello_isv2.3 | 1 + .../share/man/man3/SSL_client_version.3 | 1 + linux_amd64/share/man/man3/SSL_config.3 | 1 + linux_amd64/share/man/man3/SSL_connect.3 | 4 +- .../share/man/man3/SSL_ct_is_enabled.3 | 1 + linux_amd64/share/man/man3/SSL_ctrl.3 | 1 + .../share/man/man3/SSL_dane_clear_flags.3 | 1 + linux_amd64/share/man/man3/SSL_dane_enable.3 | 1 + .../share/man/man3/SSL_dane_set_flags.3 | 1 + .../share/man/man3/SSL_dane_tlsa_add.3 | 1 + linux_amd64/share/man/man3/SSL_disable_ct.3 | 1 + linux_amd64/share/man/man3/SSL_do_handshake.3 | 4 +- linux_amd64/share/man/man3/SSL_dup.3 | 1 + linux_amd64/share/man/man3/SSL_enable_ct.3 | 1 + .../man/man3/SSL_export_keying_material.3 | 11 +- .../man3/SSL_export_keying_material_early.3 | 1 + .../share/man/man3/SSL_extension_supported.3 | 48 +- linux_amd64/share/man/man3/SSL_free.3 | 4 +- linux_amd64/share/man/man3/SSL_free_buffers.3 | 1 + linux_amd64/share/man/man3/SSL_get0_CA_list.3 | 1 + .../share/man/man3/SSL_get0_alpn_selected.3 | 1 + .../share/man/man3/SSL_get0_chain_certs.3 | 1 + .../share/man/man3/SSL_get0_dane_authority.3 | 1 + .../share/man/man3/SSL_get0_dane_tlsa.3 | 1 + .../man/man3/SSL_get0_next_proto_negotiated.3 | 1 + linux_amd64/share/man/man3/SSL_get0_param.3 | 1 + .../share/man/man3/SSL_get0_peer_CA_list.3 | 1 + .../share/man/man3/SSL_get0_peer_scts.3 | 4 +- .../share/man/man3/SSL_get0_peername.3 | 1 + .../man/man3/SSL_get0_security_ex_data.3 | 1 + linux_amd64/share/man/man3/SSL_get0_session.3 | 1 + .../share/man/man3/SSL_get0_verified_chain.3 | 1 + linux_amd64/share/man/man3/SSL_get1_curves.3 | 1 + linux_amd64/share/man/man3/SSL_get1_groups.3 | 1 + linux_amd64/share/man/man3/SSL_get1_session.3 | 1 + .../man/man3/SSL_get1_supported_ciphers.3 | 1 + linux_amd64/share/man/man3/SSL_get_SSL_CTX.3 | 4 +- .../share/man/man3/SSL_get_all_async_fds.3 | 40 +- .../man/man3/SSL_get_changed_async_fds.3 | 1 + linux_amd64/share/man/man3/SSL_get_cipher.3 | 1 + .../share/man/man3/SSL_get_cipher_bits.3 | 1 + .../share/man/man3/SSL_get_cipher_list.3 | 1 + .../share/man/man3/SSL_get_cipher_name.3 | 1 + .../share/man/man3/SSL_get_cipher_version.3 | 1 + linux_amd64/share/man/man3/SSL_get_ciphers.3 | 13 +- .../share/man/man3/SSL_get_client_CA_list.3 | 1 + .../share/man/man3/SSL_get_client_ciphers.3 | 1 + .../share/man/man3/SSL_get_client_random.3 | 10 +- .../share/man/man3/SSL_get_current_cipher.3 | 8 +- .../man/man3/SSL_get_default_passwd_cb.3 | 1 + .../man3/SSL_get_default_passwd_cb_userdata.3 | 1 + .../share/man/man3/SSL_get_default_timeout.3 | 4 +- .../man/man3/SSL_get_early_data_status.3 | 1 + linux_amd64/share/man/man3/SSL_get_error.3 | 6 +- linux_amd64/share/man/man3/SSL_get_ex_data.3 | 1 + .../man3/SSL_get_ex_data_X509_STORE_CTX_idx.3 | 1 + .../share/man/man3/SSL_get_extms_support.3 | 4 +- linux_amd64/share/man/man3/SSL_get_fd.3 | 4 +- .../share/man/man3/SSL_get_info_callback.3 | 1 + .../share/man/man3/SSL_get_key_update_type.3 | 1 + .../share/man/man3/SSL_get_max_cert_list.3 | 1 + .../share/man/man3/SSL_get_max_early_data.3 | 1 + .../man/man3/SSL_get_max_proto_version.3 | 1 + .../man/man3/SSL_get_min_proto_version.3 | 1 + linux_amd64/share/man/man3/SSL_get_mode.3 | 1 + .../share/man/man3/SSL_get_num_tickets.3 | 1 + linux_amd64/share/man/man3/SSL_get_options.3 | 1 + .../share/man/man3/SSL_get_peer_cert_chain.3 | 7 +- .../share/man/man3/SSL_get_peer_certificate.3 | 4 +- .../man/man3/SSL_get_peer_signature_nid.3 | 8 +- .../man3/SSL_get_peer_signature_type_nid.3 | 1 + .../share/man/man3/SSL_get_peer_tmp_key.3 | 7 +- .../share/man/man3/SSL_get_pending_cipher.3 | 1 + .../share/man/man3/SSL_get_psk_identity.3 | 7 +- .../man/man3/SSL_get_psk_identity_hint.3 | 1 + .../share/man/man3/SSL_get_quiet_shutdown.3 | 1 + linux_amd64/share/man/man3/SSL_get_rbio.3 | 4 +- .../share/man/man3/SSL_get_read_ahead.3 | 1 + .../SSL_get_record_padding_callback_arg.3 | 1 + .../man/man3/SSL_get_recv_max_early_data.3 | 1 + linux_amd64/share/man/man3/SSL_get_rfd.3 | 1 + .../SSL_get_secure_renegotiation_support.3 | 1 + .../man/man3/SSL_get_security_callback.3 | 1 + .../share/man/man3/SSL_get_security_level.3 | 1 + .../man/man3/SSL_get_selected_srtp_profile.3 | 1 + .../share/man/man3/SSL_get_server_random.3 | 1 + .../share/man/man3/SSL_get_server_tmp_key.3 | 1 + .../share/man/man3/SSL_get_servername.3 | 1 + .../share/man/man3/SSL_get_servername_type.3 | 1 + linux_amd64/share/man/man3/SSL_get_session.3 | 4 +- .../share/man/man3/SSL_get_shared_ciphers.3 | 1 + .../share/man/man3/SSL_get_shared_curve.3 | 1 + .../share/man/man3/SSL_get_shared_group.3 | 1 + .../share/man/man3/SSL_get_shared_sigalgs.3 | 4 +- linux_amd64/share/man/man3/SSL_get_shutdown.3 | 1 + linux_amd64/share/man/man3/SSL_get_sigalgs.3 | 1 + .../share/man/man3/SSL_get_signature_nid.3 | 1 + .../man/man3/SSL_get_signature_type_nid.3 | 1 + .../share/man/man3/SSL_get_srtp_profiles.3 | 1 + .../share/man/man3/SSL_get_ssl_method.3 | 1 + linux_amd64/share/man/man3/SSL_get_state.3 | 1 + linux_amd64/share/man/man3/SSL_get_time.3 | 1 + linux_amd64/share/man/man3/SSL_get_timeout.3 | 1 + .../man3/SSL_get_tlsext_status_ocsp_resp.3 | 1 + .../man/man3/SSL_get_tlsext_status_type.3 | 1 + linux_amd64/share/man/man3/SSL_get_tmp_key.3 | 1 + .../share/man/man3/SSL_get_verify_callback.3 | 1 + .../share/man/man3/SSL_get_verify_depth.3 | 1 + .../share/man/man3/SSL_get_verify_mode.3 | 1 + .../share/man/man3/SSL_get_verify_result.3 | 8 +- linux_amd64/share/man/man3/SSL_get_version.3 | 7 +- linux_amd64/share/man/man3/SSL_get_wbio.3 | 1 + linux_amd64/share/man/man3/SSL_get_wfd.3 | 1 + .../man/man3/SSL_has_matching_session_id.3 | 1 + linux_amd64/share/man/man3/SSL_has_pending.3 | 1 + .../share/man/man3/SSL_in_accept_init.3 | 1 + linux_amd64/share/man/man3/SSL_in_before.3 | 1 + .../share/man/man3/SSL_in_connect_init.3 | 1 + linux_amd64/share/man/man3/SSL_in_init.3 | 12 +- linux_amd64/share/man/man3/SSL_is_dtls.3 | 1 + .../share/man/man3/SSL_is_init_finished.3 | 1 + linux_amd64/share/man/man3/SSL_is_server.3 | 1 + linux_amd64/share/man/man3/SSL_key_update.3 | 13 +- linux_amd64/share/man/man3/SSL_library_init.3 | 9 +- .../share/man/man3/SSL_load_client_CA_file.3 | 20 +- .../share/man/man3/SSL_load_error_strings.3 | 1 + linux_amd64/share/man/man3/SSL_new.3 | 20 +- linux_amd64/share/man/man3/SSL_peek.3 | 1 + linux_amd64/share/man/man3/SSL_peek_ex.3 | 1 + linux_amd64/share/man/man3/SSL_pending.3 | 7 +- .../share/man/man3/SSL_psk_client_cb_func.3 | 1 + .../man/man3/SSL_psk_find_session_cb_func.3 | 1 + .../share/man/man3/SSL_psk_server_cb_func.3 | 1 + .../man/man3/SSL_psk_use_session_cb_func.3 | 1 + linux_amd64/share/man/man3/SSL_read.3 | 7 +- .../share/man/man3/SSL_read_early_data.3 | 28 +- linux_amd64/share/man/man3/SSL_read_ex.3 | 1 + linux_amd64/share/man/man3/SSL_renegotiate.3 | 1 + .../man/man3/SSL_renegotiate_abbreviated.3 | 1 + .../share/man/man3/SSL_renegotiate_pending.3 | 1 + .../share/man/man3/SSL_rstate_string.3 | 4 +- .../share/man/man3/SSL_rstate_string_long.3 | 1 + .../share/man/man3/SSL_select_current_cert.3 | 1 + .../share/man/man3/SSL_select_next_proto.3 | 1 + .../share/man/man3/SSL_session_reused.3 | 6 +- linux_amd64/share/man/man3/SSL_set0_CA_list.3 | 1 + linux_amd64/share/man/man3/SSL_set0_chain.3 | 1 + .../man/man3/SSL_set0_chain_cert_store.3 | 1 + linux_amd64/share/man/man3/SSL_set0_rbio.3 | 1 + .../man/man3/SSL_set0_security_ex_data.3 | 1 + .../man/man3/SSL_set0_verify_cert_store.3 | 1 + linux_amd64/share/man/man3/SSL_set0_wbio.3 | 1 + linux_amd64/share/man/man3/SSL_set1_chain.3 | 1 + .../man/man3/SSL_set1_chain_cert_store.3 | 1 + .../share/man/man3/SSL_set1_client_sigalgs.3 | 1 + .../man/man3/SSL_set1_client_sigalgs_list.3 | 1 + linux_amd64/share/man/man3/SSL_set1_curves.3 | 1 + .../share/man/man3/SSL_set1_curves_list.3 | 1 + linux_amd64/share/man/man3/SSL_set1_groups.3 | 1 + .../share/man/man3/SSL_set1_groups_list.3 | 1 + linux_amd64/share/man/man3/SSL_set1_host.3 | 14 +- linux_amd64/share/man/man3/SSL_set1_param.3 | 1 + linux_amd64/share/man/man3/SSL_set1_sigalgs.3 | 1 + .../share/man/man3/SSL_set1_sigalgs_list.3 | 1 + .../man/man3/SSL_set1_verify_cert_store.3 | 1 + .../share/man/man3/SSL_set_accept_state.3 | 1 + .../man/man3/SSL_set_allow_early_data_cb.3 | 1 + .../share/man/man3/SSL_set_alpn_protos.3 | 1 + linux_amd64/share/man/man3/SSL_set_bio.3 | 4 +- .../share/man/man3/SSL_set_block_padding.3 | 1 + linux_amd64/share/man/man3/SSL_set_cert_cb.3 | 1 + .../share/man/man3/SSL_set_cipher_list.3 | 1 + .../share/man/man3/SSL_set_ciphersuites.3 | 1 + .../share/man/man3/SSL_set_client_CA_list.3 | 1 + .../share/man/man3/SSL_set_connect_state.3 | 7 +- .../man/man3/SSL_set_ct_validation_callback.3 | 1 + .../share/man/man3/SSL_set_current_cert.3 | 1 + .../man/man3/SSL_set_default_passwd_cb.3 | 1 + .../man3/SSL_set_default_passwd_cb_userdata.3 | 1 + .../man3/SSL_set_default_read_buffer_len.3 | 1 + linux_amd64/share/man/man3/SSL_set_ex_data.3 | 1 + linux_amd64/share/man/man3/SSL_set_fd.3 | 4 +- .../man/man3/SSL_set_generate_session_id.3 | 1 + .../share/man/man3/SSL_set_hostflags.3 | 1 + .../share/man/man3/SSL_set_info_callback.3 | 1 + .../share/man/man3/SSL_set_max_cert_list.3 | 1 + .../share/man/man3/SSL_set_max_early_data.3 | 1 + .../share/man/man3/SSL_set_max_pipelines.3 | 1 + .../man/man3/SSL_set_max_proto_version.3 | 1 + .../man/man3/SSL_set_max_send_fragment.3 | 1 + .../man/man3/SSL_set_min_proto_version.3 | 1 + linux_amd64/share/man/man3/SSL_set_mode.3 | 1 + .../share/man/man3/SSL_set_msg_callback.3 | 1 + .../share/man/man3/SSL_set_msg_callback_arg.3 | 1 + .../share/man/man3/SSL_set_num_tickets.3 | 1 + linux_amd64/share/man/man3/SSL_set_options.3 | 1 + .../man/man3/SSL_set_post_handshake_auth.3 | 1 + .../man/man3/SSL_set_psk_client_callback.3 | 1 + .../man3/SSL_set_psk_find_session_callback.3 | 1 + .../man/man3/SSL_set_psk_server_callback.3 | 1 + .../man3/SSL_set_psk_use_session_callback.3 | 1 + .../share/man/man3/SSL_set_quiet_shutdown.3 | 1 + .../share/man/man3/SSL_set_read_ahead.3 | 1 + .../man3/SSL_set_record_padding_callback.3 | 1 + .../SSL_set_record_padding_callback_arg.3 | 1 + .../man/man3/SSL_set_recv_max_early_data.3 | 1 + linux_amd64/share/man/man3/SSL_set_rfd.3 | 1 + .../man/man3/SSL_set_security_callback.3 | 1 + .../share/man/man3/SSL_set_security_level.3 | 1 + linux_amd64/share/man/man3/SSL_set_session.3 | 4 +- .../man/man3/SSL_set_session_id_context.3 | 1 + linux_amd64/share/man/man3/SSL_set_shutdown.3 | 6 +- .../man/man3/SSL_set_split_send_fragment.3 | 1 + .../share/man/man3/SSL_set_ssl_method.3 | 1 + linux_amd64/share/man/man3/SSL_set_time.3 | 1 + linux_amd64/share/man/man3/SSL_set_timeout.3 | 1 + .../share/man/man3/SSL_set_tlsext_host_name.3 | 1 + .../man3/SSL_set_tlsext_max_fragment_length.3 | 1 + .../man3/SSL_set_tlsext_status_ocsp_resp.3 | 1 + .../man/man3/SSL_set_tlsext_status_type.3 | 1 + .../share/man/man3/SSL_set_tlsext_use_srtp.3 | 1 + linux_amd64/share/man/man3/SSL_set_tmp_dh.3 | 1 + .../share/man/man3/SSL_set_tmp_dh_callback.3 | 1 + linux_amd64/share/man/man3/SSL_set_verify.3 | 1 + .../share/man/man3/SSL_set_verify_depth.3 | 1 + .../share/man/man3/SSL_set_verify_result.3 | 8 +- linux_amd64/share/man/man3/SSL_set_wfd.3 | 1 + linux_amd64/share/man/man3/SSL_shutdown.3 | 62 +- linux_amd64/share/man/man3/SSL_state_string.3 | 4 +- .../share/man/man3/SSL_state_string_long.3 | 1 + linux_amd64/share/man/man3/SSL_stateless.3 | 1 + linux_amd64/share/man/man3/SSL_up_ref.3 | 1 + .../share/man/man3/SSL_use_PrivateKey.3 | 1 + .../share/man/man3/SSL_use_PrivateKey_ASN1.3 | 1 + .../share/man/man3/SSL_use_PrivateKey_file.3 | 1 + .../share/man/man3/SSL_use_RSAPrivateKey.3 | 1 + .../man/man3/SSL_use_RSAPrivateKey_ASN1.3 | 1 + .../man/man3/SSL_use_RSAPrivateKey_file.3 | 1 + .../share/man/man3/SSL_use_cert_and_key.3 | 1 + .../share/man/man3/SSL_use_certificate.3 | 1 + .../share/man/man3/SSL_use_certificate_ASN1.3 | 1 + .../man/man3/SSL_use_certificate_chain_file.3 | 1 + .../share/man/man3/SSL_use_certificate_file.3 | 1 + .../man/man3/SSL_use_psk_identity_hint.3 | 1 + linux_amd64/share/man/man3/SSL_verify_cb.3 | 1 + .../man3/SSL_verify_client_post_handshake.3 | 1 + linux_amd64/share/man/man3/SSL_version.3 | 1 + .../share/man/man3/SSL_waiting_for_async.3 | 1 + linux_amd64/share/man/man3/SSL_want.3 | 8 +- linux_amd64/share/man/man3/SSL_want_async.3 | 1 + .../share/man/man3/SSL_want_async_job.3 | 1 + .../share/man/man3/SSL_want_client_hello_cb.3 | 1 + linux_amd64/share/man/man3/SSL_want_nothing.3 | 1 + linux_amd64/share/man/man3/SSL_want_read.3 | 1 + linux_amd64/share/man/man3/SSL_want_write.3 | 1 + .../share/man/man3/SSL_want_x509_lookup.3 | 1 + linux_amd64/share/man/man3/SSL_write.3 | 29 +- .../share/man/man3/SSL_write_early_data.3 | 1 + linux_amd64/share/man/man3/SSL_write_ex.3 | 1 + .../share/man/man3/SSLv23_client_method.3 | 1 + linux_amd64/share/man/man3/SSLv23_method.3 | 1 + .../share/man/man3/SSLv23_server_method.3 | 1 + .../share/man/man3/SSLv3_client_method.3 | 1 + linux_amd64/share/man/man3/SSLv3_method.3 | 1 + .../share/man/man3/SSLv3_server_method.3 | 1 + linux_amd64/share/man/man3/SXNETID_free.3 | 1 + linux_amd64/share/man/man3/SXNETID_new.3 | 1 + linux_amd64/share/man/man3/SXNET_free.3 | 1 + linux_amd64/share/man/man3/SXNET_new.3 | 1 + linux_amd64/share/man/man3/TLS_FEATURE_free.3 | 1 + linux_amd64/share/man/man3/TLS_FEATURE_new.3 | 1 + .../share/man/man3/TLS_client_method.3 | 1 + linux_amd64/share/man/man3/TLS_method.3 | 1 + .../share/man/man3/TLS_server_method.3 | 1 + .../share/man/man3/TLSv1_1_client_method.3 | 1 + linux_amd64/share/man/man3/TLSv1_1_method.3 | 1 + .../share/man/man3/TLSv1_1_server_method.3 | 1 + .../share/man/man3/TLSv1_2_client_method.3 | 1 + linux_amd64/share/man/man3/TLSv1_2_method.3 | 1 + .../share/man/man3/TLSv1_2_server_method.3 | 1 + .../share/man/man3/TLSv1_client_method.3 | 1 + linux_amd64/share/man/man3/TLSv1_method.3 | 1 + .../share/man/man3/TLSv1_server_method.3 | 1 + linux_amd64/share/man/man3/TS_ACCURACY_dup.3 | 1 + linux_amd64/share/man/man3/TS_ACCURACY_free.3 | 1 + linux_amd64/share/man/man3/TS_ACCURACY_new.3 | 1 + .../share/man/man3/TS_MSG_IMPRINT_dup.3 | 1 + .../share/man/man3/TS_MSG_IMPRINT_free.3 | 1 + .../share/man/man3/TS_MSG_IMPRINT_new.3 | 1 + linux_amd64/share/man/man3/TS_REQ_dup.3 | 1 + linux_amd64/share/man/man3/TS_REQ_free.3 | 1 + linux_amd64/share/man/man3/TS_REQ_new.3 | 1 + linux_amd64/share/man/man3/TS_RESP_dup.3 | 1 + linux_amd64/share/man/man3/TS_RESP_free.3 | 1 + linux_amd64/share/man/man3/TS_RESP_new.3 | 1 + .../share/man/man3/TS_STATUS_INFO_dup.3 | 1 + .../share/man/man3/TS_STATUS_INFO_free.3 | 1 + .../share/man/man3/TS_STATUS_INFO_new.3 | 1 + linux_amd64/share/man/man3/TS_TST_INFO_dup.3 | 1 + linux_amd64/share/man/man3/TS_TST_INFO_free.3 | 1 + linux_amd64/share/man/man3/TS_TST_INFO_new.3 | 1 + linux_amd64/share/man/man3/UI.3 | 1 + linux_amd64/share/man/man3/UI_METHOD.3 | 1 + linux_amd64/share/man/man3/UI_OpenSSL.3 | 1 + linux_amd64/share/man/man3/UI_STRING.3 | 11 +- linux_amd64/share/man/man3/UI_UTIL_read_pw.3 | 9 +- .../share/man/man3/UI_UTIL_read_pw_string.3 | 1 + .../man/man3/UI_UTIL_wrap_read_pem_callback.3 | 1 + .../share/man/man3/UI_add_error_string.3 | 1 + .../share/man/man3/UI_add_info_string.3 | 1 + .../share/man/man3/UI_add_input_boolean.3 | 1 + .../share/man/man3/UI_add_input_string.3 | 1 + linux_amd64/share/man/man3/UI_add_user_data.3 | 1 + .../share/man/man3/UI_add_verify_string.3 | 1 + .../share/man/man3/UI_construct_prompt.3 | 1 + linux_amd64/share/man/man3/UI_create_method.3 | 15 +- linux_amd64/share/man/man3/UI_ctrl.3 | 1 + .../share/man/man3/UI_destroy_method.3 | 1 + .../share/man/man3/UI_dup_error_string.3 | 1 + .../share/man/man3/UI_dup_info_string.3 | 1 + .../share/man/man3/UI_dup_input_boolean.3 | 1 + .../share/man/man3/UI_dup_input_string.3 | 1 + linux_amd64/share/man/man3/UI_dup_user_data.3 | 1 + .../share/man/man3/UI_dup_verify_string.3 | 1 + linux_amd64/share/man/man3/UI_free.3 | 1 + .../share/man/man3/UI_get0_action_string.3 | 1 + .../share/man/man3/UI_get0_output_string.3 | 1 + linux_amd64/share/man/man3/UI_get0_result.3 | 1 + .../share/man/man3/UI_get0_result_string.3 | 1 + .../share/man/man3/UI_get0_test_string.3 | 1 + .../share/man/man3/UI_get0_user_data.3 | 1 + .../share/man/man3/UI_get_default_method.3 | 1 + linux_amd64/share/man/man3/UI_get_ex_data.3 | 1 + .../share/man/man3/UI_get_ex_new_index.3 | 1 + .../share/man/man3/UI_get_input_flags.3 | 1 + linux_amd64/share/man/man3/UI_get_method.3 | 1 + .../share/man/man3/UI_get_result_length.3 | 1 + .../share/man/man3/UI_get_result_maxsize.3 | 1 + .../share/man/man3/UI_get_result_minsize.3 | 1 + .../man/man3/UI_get_result_string_length.3 | 1 + .../share/man/man3/UI_get_string_type.3 | 1 + .../share/man/man3/UI_method_get_closer.3 | 1 + .../man/man3/UI_method_get_data_destructor.3 | 1 + .../man/man3/UI_method_get_data_duplicator.3 | 1 + .../share/man/man3/UI_method_get_ex_data.3 | 1 + .../share/man/man3/UI_method_get_flusher.3 | 1 + .../share/man/man3/UI_method_get_opener.3 | 1 + .../man3/UI_method_get_prompt_constructor.3 | 1 + .../share/man/man3/UI_method_get_reader.3 | 1 + .../share/man/man3/UI_method_get_writer.3 | 1 + .../share/man/man3/UI_method_set_closer.3 | 1 + .../man/man3/UI_method_set_data_duplicator.3 | 1 + .../share/man/man3/UI_method_set_ex_data.3 | 1 + .../share/man/man3/UI_method_set_flusher.3 | 1 + .../share/man/man3/UI_method_set_opener.3 | 1 + .../man3/UI_method_set_prompt_constructor.3 | 1 + .../share/man/man3/UI_method_set_reader.3 | 1 + .../share/man/man3/UI_method_set_writer.3 | 1 + linux_amd64/share/man/man3/UI_new.3 | 22 +- linux_amd64/share/man/man3/UI_new_method.3 | 1 + linux_amd64/share/man/man3/UI_null.3 | 1 + linux_amd64/share/man/man3/UI_process.3 | 1 + .../share/man/man3/UI_set_default_method.3 | 1 + linux_amd64/share/man/man3/UI_set_ex_data.3 | 1 + linux_amd64/share/man/man3/UI_set_method.3 | 1 + linux_amd64/share/man/man3/UI_set_result.3 | 1 + linux_amd64/share/man/man3/UI_set_result_ex.3 | 1 + linux_amd64/share/man/man3/UI_string_types.3 | 1 + linux_amd64/share/man/man3/USERNOTICE_free.3 | 1 + linux_amd64/share/man/man3/USERNOTICE_new.3 | 1 + linux_amd64/share/man/man3/X509V3_EXT_d2i.3 | 1 + linux_amd64/share/man/man3/X509V3_EXT_i2d.3 | 1 + linux_amd64/share/man/man3/X509V3_add1_i2d.3 | 1 + linux_amd64/share/man/man3/X509V3_get_d2i.3 | 10 +- linux_amd64/share/man/man3/X509_ALGOR_cmp.3 | 1 + linux_amd64/share/man/man3/X509_ALGOR_dup.3 | 8 +- linux_amd64/share/man/man3/X509_ALGOR_free.3 | 1 + linux_amd64/share/man/man3/X509_ALGOR_get0.3 | 1 + linux_amd64/share/man/man3/X509_ALGOR_new.3 | 1 + linux_amd64/share/man/man3/X509_ALGOR_set0.3 | 1 + .../share/man/man3/X509_ALGOR_set_md.3 | 1 + .../share/man/man3/X509_ATTRIBUTE_dup.3 | 1 + .../share/man/man3/X509_ATTRIBUTE_free.3 | 1 + .../share/man/man3/X509_ATTRIBUTE_new.3 | 1 + .../share/man/man3/X509_CERT_AUX_free.3 | 1 + .../share/man/man3/X509_CERT_AUX_new.3 | 1 + linux_amd64/share/man/man3/X509_CINF_free.3 | 1 + linux_amd64/share/man/man3/X509_CINF_new.3 | 1 + .../share/man/man3/X509_CRL_INFO_free.3 | 1 + .../share/man/man3/X509_CRL_INFO_new.3 | 1 + .../share/man/man3/X509_CRL_add0_revoked.3 | 1 + .../share/man/man3/X509_CRL_add1_ext_i2d.3 | 1 + linux_amd64/share/man/man3/X509_CRL_add_ext.3 | 1 + linux_amd64/share/man/man3/X509_CRL_cmp.3 | 1 + .../share/man/man3/X509_CRL_delete_ext.3 | 1 + linux_amd64/share/man/man3/X509_CRL_digest.3 | 1 + linux_amd64/share/man/man3/X509_CRL_dup.3 | 1 + linux_amd64/share/man/man3/X509_CRL_free.3 | 1 + .../share/man/man3/X509_CRL_get0_by_cert.3 | 1 + .../share/man/man3/X509_CRL_get0_by_serial.3 | 10 +- .../share/man/man3/X509_CRL_get0_extensions.3 | 1 + .../share/man/man3/X509_CRL_get0_lastUpdate.3 | 1 + .../share/man/man3/X509_CRL_get0_nextUpdate.3 | 1 + .../share/man/man3/X509_CRL_get0_signature.3 | 1 + .../share/man/man3/X509_CRL_get_REVOKED.3 | 1 + linux_amd64/share/man/man3/X509_CRL_get_ext.3 | 1 + .../share/man/man3/X509_CRL_get_ext_by_NID.3 | 1 + .../share/man/man3/X509_CRL_get_ext_by_OBJ.3 | 1 + .../man/man3/X509_CRL_get_ext_by_critical.3 | 1 + .../share/man/man3/X509_CRL_get_ext_count.3 | 1 + .../share/man/man3/X509_CRL_get_ext_d2i.3 | 1 + .../share/man/man3/X509_CRL_get_issuer.3 | 1 + .../man/man3/X509_CRL_get_signature_nid.3 | 1 + .../share/man/man3/X509_CRL_get_version.3 | 1 + linux_amd64/share/man/man3/X509_CRL_match.3 | 1 + linux_amd64/share/man/man3/X509_CRL_new.3 | 1 + .../share/man/man3/X509_CRL_set1_lastUpdate.3 | 1 + .../share/man/man3/X509_CRL_set1_nextUpdate.3 | 1 + .../share/man/man3/X509_CRL_set_issuer_name.3 | 1 + .../share/man/man3/X509_CRL_set_version.3 | 1 + linux_amd64/share/man/man3/X509_CRL_sign.3 | 1 + .../share/man/man3/X509_CRL_sign_ctx.3 | 1 + linux_amd64/share/man/man3/X509_CRL_sort.3 | 1 + linux_amd64/share/man/man3/X509_CRL_verify.3 | 1 + .../man/man3/X509_EXTENSION_create_by_NID.3 | 1 + .../man/man3/X509_EXTENSION_create_by_OBJ.3 | 1 + .../share/man/man3/X509_EXTENSION_dup.3 | 1 + .../share/man/man3/X509_EXTENSION_free.3 | 1 + .../man/man3/X509_EXTENSION_get_critical.3 | 1 + .../share/man/man3/X509_EXTENSION_get_data.3 | 1 + .../man/man3/X509_EXTENSION_get_object.3 | 1 + .../share/man/man3/X509_EXTENSION_new.3 | 1 + .../man/man3/X509_EXTENSION_set_critical.3 | 1 + .../share/man/man3/X509_EXTENSION_set_data.3 | 1 + .../man/man3/X509_EXTENSION_set_object.3 | 10 +- .../share/man/man3/X509_LOOKUP_ctrl_fn.3 | 1 + linux_amd64/share/man/man3/X509_LOOKUP_file.3 | 1 + .../man/man3/X509_LOOKUP_get_by_alias_fn.3 | 1 + .../man3/X509_LOOKUP_get_by_fingerprint_fn.3 | 1 + .../X509_LOOKUP_get_by_issuer_serial_fn.3 | 1 + .../man/man3/X509_LOOKUP_get_by_subject_fn.3 | 1 + .../man/man3/X509_LOOKUP_get_method_data.3 | 1 + .../share/man/man3/X509_LOOKUP_get_store.3 | 1 + .../share/man/man3/X509_LOOKUP_hash_dir.3 | 44 +- .../share/man/man3/X509_LOOKUP_meth_free.3 | 1 + .../man/man3/X509_LOOKUP_meth_get_ctrl.3 | 1 + .../man/man3/X509_LOOKUP_meth_get_free.3 | 1 + .../man3/X509_LOOKUP_meth_get_get_by_alias.3 | 1 + .../X509_LOOKUP_meth_get_get_by_fingerprint.3 | 1 + ...509_LOOKUP_meth_get_get_by_issuer_serial.3 | 1 + .../X509_LOOKUP_meth_get_get_by_subject.3 | 1 + .../man/man3/X509_LOOKUP_meth_get_init.3 | 1 + .../man/man3/X509_LOOKUP_meth_get_new_item.3 | 1 + .../man/man3/X509_LOOKUP_meth_get_shutdown.3 | 1 + .../share/man/man3/X509_LOOKUP_meth_new.3 | 41 +- .../man/man3/X509_LOOKUP_meth_set_ctrl.3 | 1 + .../man/man3/X509_LOOKUP_meth_set_free.3 | 1 + .../man3/X509_LOOKUP_meth_set_get_by_alias.3 | 1 + .../X509_LOOKUP_meth_set_get_by_fingerprint.3 | 1 + ...509_LOOKUP_meth_set_get_by_issuer_serial.3 | 1 + .../X509_LOOKUP_meth_set_get_by_subject.3 | 1 + .../man/man3/X509_LOOKUP_meth_set_init.3 | 1 + .../man/man3/X509_LOOKUP_meth_set_new_item.3 | 1 + .../man/man3/X509_LOOKUP_meth_set_shutdown.3 | 1 + .../man/man3/X509_LOOKUP_set_method_data.3 | 1 + .../man/man3/X509_NAME_ENTRY_create_by_NID.3 | 1 + .../man/man3/X509_NAME_ENTRY_create_by_OBJ.3 | 1 + .../man/man3/X509_NAME_ENTRY_create_by_txt.3 | 1 + .../share/man/man3/X509_NAME_ENTRY_dup.3 | 1 + .../share/man/man3/X509_NAME_ENTRY_free.3 | 1 + .../share/man/man3/X509_NAME_ENTRY_get_data.3 | 1 + .../man/man3/X509_NAME_ENTRY_get_object.3 | 9 +- .../share/man/man3/X509_NAME_ENTRY_new.3 | 1 + .../share/man/man3/X509_NAME_ENTRY_set_data.3 | 1 + .../man/man3/X509_NAME_ENTRY_set_object.3 | 1 + .../share/man/man3/X509_NAME_add_entry.3 | 1 + .../man/man3/X509_NAME_add_entry_by_NID.3 | 1 + .../man/man3/X509_NAME_add_entry_by_OBJ.3 | 1 + .../man/man3/X509_NAME_add_entry_by_txt.3 | 9 +- linux_amd64/share/man/man3/X509_NAME_cmp.3 | 1 + .../share/man/man3/X509_NAME_delete_entry.3 | 1 + linux_amd64/share/man/man3/X509_NAME_digest.3 | 1 + linux_amd64/share/man/man3/X509_NAME_dup.3 | 1 + .../share/man/man3/X509_NAME_entry_count.3 | 1 + linux_amd64/share/man/man3/X509_NAME_free.3 | 1 + .../share/man/man3/X509_NAME_get0_der.3 | 4 +- .../share/man/man3/X509_NAME_get_entry.3 | 1 + .../man/man3/X509_NAME_get_index_by_NID.3 | 10 +- .../man/man3/X509_NAME_get_index_by_OBJ.3 | 1 + .../man/man3/X509_NAME_get_text_by_NID.3 | 1 + .../man/man3/X509_NAME_get_text_by_OBJ.3 | 1 + linux_amd64/share/man/man3/X509_NAME_new.3 | 1 + .../share/man/man3/X509_NAME_oneline.3 | 1 + linux_amd64/share/man/man3/X509_NAME_print.3 | 1 + .../share/man/man3/X509_NAME_print_ex.3 | 13 +- .../share/man/man3/X509_NAME_print_ex_fp.3 | 1 + .../share/man/man3/X509_OBJECT_set1_X509.3 | 1 + .../man/man3/X509_OBJECT_set1_X509_CRL.3 | 1 + linux_amd64/share/man/man3/X509_PUBKEY_free.3 | 1 + linux_amd64/share/man/man3/X509_PUBKEY_get.3 | 1 + linux_amd64/share/man/man3/X509_PUBKEY_get0.3 | 1 + .../share/man/man3/X509_PUBKEY_get0_param.3 | 1 + linux_amd64/share/man/man3/X509_PUBKEY_new.3 | 17 +- linux_amd64/share/man/man3/X509_PUBKEY_set.3 | 1 + .../share/man/man3/X509_PUBKEY_set0_param.3 | 1 + .../share/man/man3/X509_REQ_INFO_free.3 | 1 + .../share/man/man3/X509_REQ_INFO_new.3 | 1 + .../man/man3/X509_REQ_check_private_key.3 | 1 + linux_amd64/share/man/man3/X509_REQ_digest.3 | 1 + linux_amd64/share/man/man3/X509_REQ_dup.3 | 1 + linux_amd64/share/man/man3/X509_REQ_free.3 | 1 + .../share/man/man3/X509_REQ_get0_pubkey.3 | 1 + .../share/man/man3/X509_REQ_get0_signature.3 | 1 + .../share/man/man3/X509_REQ_get_X509_PUBKEY.3 | 1 + .../share/man/man3/X509_REQ_get_pubkey.3 | 1 + .../man/man3/X509_REQ_get_signature_nid.3 | 1 + .../man/man3/X509_REQ_get_subject_name.3 | 1 + .../share/man/man3/X509_REQ_get_version.3 | 1 + linux_amd64/share/man/man3/X509_REQ_new.3 | 1 + .../share/man/man3/X509_REQ_set_pubkey.3 | 1 + .../man/man3/X509_REQ_set_subject_name.3 | 1 + .../share/man/man3/X509_REQ_set_version.3 | 1 + linux_amd64/share/man/man3/X509_REQ_sign.3 | 1 + .../share/man/man3/X509_REQ_sign_ctx.3 | 1 + linux_amd64/share/man/man3/X509_REQ_verify.3 | 1 + .../man/man3/X509_REVOKED_add1_ext_i2d.3 | 1 + .../share/man/man3/X509_REVOKED_add_ext.3 | 1 + .../share/man/man3/X509_REVOKED_delete_ext.3 | 1 + linux_amd64/share/man/man3/X509_REVOKED_dup.3 | 1 + .../share/man/man3/X509_REVOKED_free.3 | 1 + .../man/man3/X509_REVOKED_get0_extensions.3 | 1 + .../man3/X509_REVOKED_get0_revocationDate.3 | 1 + .../man/man3/X509_REVOKED_get0_serialNumber.3 | 1 + .../share/man/man3/X509_REVOKED_get_ext.3 | 1 + .../man/man3/X509_REVOKED_get_ext_by_NID.3 | 1 + .../man/man3/X509_REVOKED_get_ext_by_OBJ.3 | 1 + .../man3/X509_REVOKED_get_ext_by_critical.3 | 1 + .../man/man3/X509_REVOKED_get_ext_count.3 | 1 + .../share/man/man3/X509_REVOKED_get_ext_d2i.3 | 1 + linux_amd64/share/man/man3/X509_REVOKED_new.3 | 1 + .../man3/X509_REVOKED_set_revocationDate.3 | 1 + .../man/man3/X509_REVOKED_set_serialNumber.3 | 1 + .../share/man/man3/X509_SIG_INFO_get.3 | 1 + .../share/man/man3/X509_SIG_INFO_set.3 | 1 + linux_amd64/share/man/man3/X509_SIG_free.3 | 1 + linux_amd64/share/man/man3/X509_SIG_get0.3 | 4 +- linux_amd64/share/man/man3/X509_SIG_getm.3 | 1 + linux_amd64/share/man/man3/X509_SIG_new.3 | 1 + .../man/man3/X509_STORE_CTX_cert_crl_fn.3 | 1 + .../man/man3/X509_STORE_CTX_check_crl_fn.3 | 1 + .../man/man3/X509_STORE_CTX_check_issued_fn.3 | 1 + .../man/man3/X509_STORE_CTX_check_policy_fn.3 | 1 + .../man3/X509_STORE_CTX_check_revocation_fn.3 | 1 + .../share/man/man3/X509_STORE_CTX_cleanup.3 | 1 + .../man/man3/X509_STORE_CTX_cleanup_fn.3 | 1 + .../share/man/man3/X509_STORE_CTX_free.3 | 1 + .../share/man/man3/X509_STORE_CTX_get0_cert.3 | 1 + .../man/man3/X509_STORE_CTX_get0_chain.3 | 1 + .../man/man3/X509_STORE_CTX_get0_param.3 | 1 + .../man/man3/X509_STORE_CTX_get0_untrusted.3 | 1 + .../man/man3/X509_STORE_CTX_get1_chain.3 | 1 + .../man/man3/X509_STORE_CTX_get_cert_crl.3 | 1 + .../man/man3/X509_STORE_CTX_get_check_crl.3 | 1 + .../man3/X509_STORE_CTX_get_check_issued.3 | 1 + .../man3/X509_STORE_CTX_get_check_policy.3 | 1 + .../X509_STORE_CTX_get_check_revocation.3 | 1 + .../man/man3/X509_STORE_CTX_get_cleanup.3 | 1 + .../man/man3/X509_STORE_CTX_get_crl_fn.3 | 1 + .../man3/X509_STORE_CTX_get_current_cert.3 | 1 + .../share/man/man3/X509_STORE_CTX_get_error.3 | 190 +-- .../man/man3/X509_STORE_CTX_get_error_depth.3 | 1 + .../man/man3/X509_STORE_CTX_get_ex_data.3 | 1 + .../man3/X509_STORE_CTX_get_ex_new_index.3 | 1 + .../man/man3/X509_STORE_CTX_get_get_crl.3 | 1 + .../man/man3/X509_STORE_CTX_get_get_issuer.3 | 1 + .../man/man3/X509_STORE_CTX_get_issuer_fn.3 | 1 + .../man3/X509_STORE_CTX_get_lookup_certs.3 | 1 + .../man/man3/X509_STORE_CTX_get_lookup_crls.3 | 1 + .../man3/X509_STORE_CTX_get_num_untrusted.3 | 1 + .../man/man3/X509_STORE_CTX_get_verify.3 | 1 + .../man/man3/X509_STORE_CTX_get_verify_cb.3 | 1 + .../share/man/man3/X509_STORE_CTX_init.3 | 1 + .../man/man3/X509_STORE_CTX_lookup_certs_fn.3 | 1 + .../man/man3/X509_STORE_CTX_lookup_crls_fn.3 | 1 + .../share/man/man3/X509_STORE_CTX_new.3 | 16 +- .../share/man/man3/X509_STORE_CTX_set0_crls.3 | 1 + .../man/man3/X509_STORE_CTX_set0_param.3 | 1 + .../man3/X509_STORE_CTX_set0_trusted_stack.3 | 1 + .../man/man3/X509_STORE_CTX_set0_untrusted.3 | 1 + .../man3/X509_STORE_CTX_set0_verified_chain.3 | 1 + .../share/man/man3/X509_STORE_CTX_set_cert.3 | 1 + .../man3/X509_STORE_CTX_set_current_cert.3 | 1 + .../man/man3/X509_STORE_CTX_set_default.3 | 1 + .../share/man/man3/X509_STORE_CTX_set_error.3 | 1 + .../man/man3/X509_STORE_CTX_set_error_depth.3 | 1 + .../man/man3/X509_STORE_CTX_set_ex_data.3 | 1 + .../man/man3/X509_STORE_CTX_set_verify.3 | 1 + .../man/man3/X509_STORE_CTX_set_verify_cb.3 | 31 +- .../share/man/man3/X509_STORE_CTX_verify_cb.3 | 1 + .../share/man/man3/X509_STORE_CTX_verify_fn.3 | 1 + .../share/man/man3/X509_STORE_add_cert.3 | 62 +- .../share/man/man3/X509_STORE_add_crl.3 | 1 + linux_amd64/share/man/man3/X509_STORE_free.3 | 1 + .../share/man/man3/X509_STORE_get0_objects.3 | 1 + .../share/man/man3/X509_STORE_get0_param.3 | 18 +- .../share/man/man3/X509_STORE_get_cert_crl.3 | 1 + .../share/man/man3/X509_STORE_get_check_crl.3 | 1 + .../man/man3/X509_STORE_get_check_issued.3 | 1 + .../man/man3/X509_STORE_get_check_policy.3 | 1 + .../man3/X509_STORE_get_check_revocation.3 | 1 + .../share/man/man3/X509_STORE_get_cleanup.3 | 1 + .../share/man/man3/X509_STORE_get_ex_data.3 | 1 + .../man/man3/X509_STORE_get_ex_new_index.3 | 1 + .../share/man/man3/X509_STORE_get_get_crl.3 | 1 + .../man/man3/X509_STORE_get_get_issuer.3 | 1 + .../man/man3/X509_STORE_get_lookup_certs.3 | 1 + .../man/man3/X509_STORE_get_lookup_crls.3 | 1 + .../share/man/man3/X509_STORE_get_verify_cb.3 | 1 + .../man/man3/X509_STORE_load_locations.3 | 1 + linux_amd64/share/man/man3/X509_STORE_lock.3 | 1 + linux_amd64/share/man/man3/X509_STORE_new.3 | 9 +- .../share/man/man3/X509_STORE_set1_param.3 | 1 + .../share/man/man3/X509_STORE_set_cert_crl.3 | 1 + .../share/man/man3/X509_STORE_set_check_crl.3 | 1 + .../man/man3/X509_STORE_set_check_issued.3 | 1 + .../man/man3/X509_STORE_set_check_policy.3 | 1 + .../man3/X509_STORE_set_check_revocation.3 | 1 + .../share/man/man3/X509_STORE_set_cleanup.3 | 1 + .../man/man3/X509_STORE_set_default_paths.3 | 1 + .../share/man/man3/X509_STORE_set_depth.3 | 1 + .../share/man/man3/X509_STORE_set_ex_data.3 | 1 + .../share/man/man3/X509_STORE_set_flags.3 | 1 + .../share/man/man3/X509_STORE_set_get_crl.3 | 1 + .../man/man3/X509_STORE_set_get_issuer.3 | 1 + .../man/man3/X509_STORE_set_lookup_certs.3 | 1 + .../man/man3/X509_STORE_set_lookup_crls.3 | 1 + .../man/man3/X509_STORE_set_lookup_crls_cb.3 | 1 + .../share/man/man3/X509_STORE_set_purpose.3 | 1 + .../share/man/man3/X509_STORE_set_trust.3 | 1 + .../share/man/man3/X509_STORE_set_verify.3 | 1 + .../share/man/man3/X509_STORE_set_verify_cb.3 | 1 + .../man/man3/X509_STORE_set_verify_cb_func.3 | 37 +- .../man/man3/X509_STORE_set_verify_func.3 | 1 + .../share/man/man3/X509_STORE_unlock.3 | 1 + .../share/man/man3/X509_STORE_up_ref.3 | 1 + linux_amd64/share/man/man3/X509_VAL_free.3 | 1 + linux_amd64/share/man/man3/X509_VAL_new.3 | 1 + .../man/man3/X509_VERIFY_PARAM_add0_policy.3 | 1 + .../man/man3/X509_VERIFY_PARAM_add1_host.3 | 1 + .../man/man3/X509_VERIFY_PARAM_clear_flags.3 | 1 + .../man3/X509_VERIFY_PARAM_get0_peername.3 | 1 + .../man3/X509_VERIFY_PARAM_get_auth_level.3 | 1 + .../man/man3/X509_VERIFY_PARAM_get_depth.3 | 1 + .../man/man3/X509_VERIFY_PARAM_get_flags.3 | 1 + .../man3/X509_VERIFY_PARAM_get_hostflags.3 | 1 + .../man3/X509_VERIFY_PARAM_get_inh_flags.3 | 1 + .../man/man3/X509_VERIFY_PARAM_get_time.3 | 1 + .../man/man3/X509_VERIFY_PARAM_set1_email.3 | 1 + .../man/man3/X509_VERIFY_PARAM_set1_host.3 | 1 + .../man/man3/X509_VERIFY_PARAM_set1_ip.3 | 1 + .../man/man3/X509_VERIFY_PARAM_set1_ip_asc.3 | 1 + .../man3/X509_VERIFY_PARAM_set1_policies.3 | 1 + .../man3/X509_VERIFY_PARAM_set_auth_level.3 | 1 + .../man/man3/X509_VERIFY_PARAM_set_depth.3 | 1 + .../man/man3/X509_VERIFY_PARAM_set_flags.3 | 30 +- .../man3/X509_VERIFY_PARAM_set_hostflags.3 | 1 + .../man3/X509_VERIFY_PARAM_set_inh_flags.3 | 1 + .../man/man3/X509_VERIFY_PARAM_set_purpose.3 | 1 + .../man/man3/X509_VERIFY_PARAM_set_time.3 | 1 + .../man/man3/X509_VERIFY_PARAM_set_trust.3 | 1 + .../share/man/man3/X509_add1_ext_i2d.3 | 1 + linux_amd64/share/man/man3/X509_add_ext.3 | 1 + .../share/man/man3/X509_chain_up_ref.3 | 1 + linux_amd64/share/man/man3/X509_check_ca.3 | 6 +- linux_amd64/share/man/man3/X509_check_email.3 | 1 + linux_amd64/share/man/man3/X509_check_host.3 | 8 +- linux_amd64/share/man/man3/X509_check_ip.3 | 1 + .../share/man/man3/X509_check_ip_asc.3 | 1 + .../share/man/man3/X509_check_issued.3 | 9 +- .../share/man/man3/X509_check_private_key.3 | 8 +- linux_amd64/share/man/man3/X509_cmp.3 | 7 +- .../share/man/man3/X509_cmp_current_time.3 | 1 + linux_amd64/share/man/man3/X509_cmp_time.3 | 40 +- linux_amd64/share/man/man3/X509_delete_ext.3 | 1 + linux_amd64/share/man/man3/X509_digest.3 | 11 +- linux_amd64/share/man/man3/X509_dup.3 | 314 +---- linux_amd64/share/man/man3/X509_free.3 | 1 + .../man/man3/X509_get0_authority_issuer.3 | 1 + .../man/man3/X509_get0_authority_key_id.3 | 1 + .../man/man3/X509_get0_authority_serial.3 | 1 + .../share/man/man3/X509_get0_extensions.3 | 1 + .../share/man/man3/X509_get0_notAfter.3 | 1 + .../share/man/man3/X509_get0_notBefore.3 | 9 +- linux_amd64/share/man/man3/X509_get0_pubkey.3 | 1 + .../share/man/man3/X509_get0_serialNumber.3 | 1 + .../share/man/man3/X509_get0_signature.3 | 9 +- .../share/man/man3/X509_get0_subject_key_id.3 | 1 + .../share/man/man3/X509_get0_tbs_sigalg.3 | 1 + linux_amd64/share/man/man3/X509_get0_uids.3 | 4 +- .../share/man/man3/X509_get_X509_PUBKEY.3 | 1 + linux_amd64/share/man/man3/X509_get_ex_data.3 | 1 + .../share/man/man3/X509_get_ex_new_index.3 | 1 + linux_amd64/share/man/man3/X509_get_ext.3 | 1 + .../share/man/man3/X509_get_ext_by_NID.3 | 1 + .../share/man/man3/X509_get_ext_by_OBJ.3 | 1 + .../share/man/man3/X509_get_ext_by_critical.3 | 1 + .../share/man/man3/X509_get_ext_count.3 | 1 + linux_amd64/share/man/man3/X509_get_ext_d2i.3 | 1 + .../man/man3/X509_get_extended_key_usage.3 | 1 + .../share/man/man3/X509_get_extension_flags.3 | 18 +- .../share/man/man3/X509_get_issuer_name.3 | 1 + .../share/man/man3/X509_get_key_usage.3 | 1 + linux_amd64/share/man/man3/X509_get_pathlen.3 | 1 + .../share/man/man3/X509_get_proxy_pathlen.3 | 1 + linux_amd64/share/man/man3/X509_get_pubkey.3 | 9 +- .../share/man/man3/X509_get_serialNumber.3 | 9 +- .../share/man/man3/X509_get_signature_info.3 | 1 + .../share/man/man3/X509_get_signature_nid.3 | 1 + .../share/man/man3/X509_get_subject_name.3 | 9 +- linux_amd64/share/man/man3/X509_get_version.3 | 8 +- .../share/man/man3/X509_getm_notAfter.3 | 1 + .../share/man/man3/X509_getm_notBefore.3 | 1 + .../man/man3/X509_issuer_and_serial_cmp.3 | 1 + .../share/man/man3/X509_issuer_name_cmp.3 | 1 + .../share/man/man3/X509_load_cert_crl_file.3 | 1 + .../share/man/man3/X509_load_cert_file.3 | 1 + .../share/man/man3/X509_load_crl_file.3 | 1 + linux_amd64/share/man/man3/X509_new.3 | 7 +- .../share/man/man3/X509_pubkey_digest.3 | 1 + .../share/man/man3/X509_set1_notAfter.3 | 1 + .../share/man/man3/X509_set1_notBefore.3 | 1 + linux_amd64/share/man/man3/X509_set_ex_data.3 | 1 + .../share/man/man3/X509_set_issuer_name.3 | 1 + .../share/man/man3/X509_set_proxy_flag.3 | 1 + .../share/man/man3/X509_set_proxy_pathlen.3 | 1 + linux_amd64/share/man/man3/X509_set_pubkey.3 | 1 + .../share/man/man3/X509_set_serialNumber.3 | 1 + .../share/man/man3/X509_set_subject_name.3 | 1 + linux_amd64/share/man/man3/X509_set_version.3 | 1 + linux_amd64/share/man/man3/X509_sign.3 | 8 +- linux_amd64/share/man/man3/X509_sign_ctx.3 | 1 + .../share/man/man3/X509_subject_name_cmp.3 | 1 + linux_amd64/share/man/man3/X509_time_adj.3 | 1 + linux_amd64/share/man/man3/X509_time_adj_ex.3 | 1 + linux_amd64/share/man/man3/X509_up_ref.3 | 1 + linux_amd64/share/man/man3/X509_verify.3 | 1 + linux_amd64/share/man/man3/X509_verify_cert.3 | 28 +- .../man/man3/X509_verify_cert_error_string.3 | 1 + linux_amd64/share/man/man3/X509v3_add_ext.3 | 1 + .../share/man/man3/X509v3_delete_ext.3 | 1 + linux_amd64/share/man/man3/X509v3_get_ext.3 | 1 + .../share/man/man3/X509v3_get_ext_by_NID.3 | 17 +- .../share/man/man3/X509v3_get_ext_by_OBJ.3 | 1 + .../man/man3/X509v3_get_ext_by_critical.3 | 1 + .../share/man/man3/X509v3_get_ext_count.3 | 1 + .../share/man/man3/custom_ext_add_cb.3 | 1 + .../share/man/man3/custom_ext_free_cb.3 | 1 + .../share/man/man3/custom_ext_parse_cb.3 | 1 + .../share/man/man3/d2i_ACCESS_DESCRIPTION.3 | 1 + linux_amd64/share/man/man3/d2i_ADMISSIONS.3 | 1 + .../share/man/man3/d2i_ADMISSION_SYNTAX.3 | 1 + linux_amd64/share/man/man3/d2i_ASIdOrRange.3 | 1 + .../share/man/man3/d2i_ASIdentifierChoice.3 | 1 + .../share/man/man3/d2i_ASIdentifiers.3 | 1 + .../share/man/man3/d2i_ASN1_BIT_STRING.3 | 1 + .../share/man/man3/d2i_ASN1_BMPSTRING.3 | 1 + .../share/man/man3/d2i_ASN1_ENUMERATED.3 | 1 + .../share/man/man3/d2i_ASN1_GENERALIZEDTIME.3 | 1 + .../share/man/man3/d2i_ASN1_GENERALSTRING.3 | 1 + .../share/man/man3/d2i_ASN1_IA5STRING.3 | 1 + linux_amd64/share/man/man3/d2i_ASN1_INTEGER.3 | 1 + linux_amd64/share/man/man3/d2i_ASN1_NULL.3 | 1 + linux_amd64/share/man/man3/d2i_ASN1_OBJECT.3 | 1 + .../share/man/man3/d2i_ASN1_OCTET_STRING.3 | 1 + .../share/man/man3/d2i_ASN1_PRINTABLE.3 | 1 + .../share/man/man3/d2i_ASN1_PRINTABLESTRING.3 | 1 + .../share/man/man3/d2i_ASN1_SEQUENCE_ANY.3 | 1 + linux_amd64/share/man/man3/d2i_ASN1_SET_ANY.3 | 1 + .../share/man/man3/d2i_ASN1_T61STRING.3 | 1 + linux_amd64/share/man/man3/d2i_ASN1_TIME.3 | 1 + linux_amd64/share/man/man3/d2i_ASN1_TYPE.3 | 1 + .../share/man/man3/d2i_ASN1_UINTEGER.3 | 1 + .../share/man/man3/d2i_ASN1_UNIVERSALSTRING.3 | 1 + linux_amd64/share/man/man3/d2i_ASN1_UTCTIME.3 | 1 + .../share/man/man3/d2i_ASN1_UTF8STRING.3 | 1 + .../share/man/man3/d2i_ASN1_VISIBLESTRING.3 | 1 + linux_amd64/share/man/man3/d2i_ASRange.3 | 1 + .../man/man3/d2i_AUTHORITY_INFO_ACCESS.3 | 1 + .../share/man/man3/d2i_AUTHORITY_KEYID.3 | 1 + .../share/man/man3/d2i_AutoPrivateKey.3 | 1 + .../share/man/man3/d2i_BASIC_CONSTRAINTS.3 | 1 + .../share/man/man3/d2i_CERTIFICATEPOLICIES.3 | 1 + .../share/man/man3/d2i_CMS_ContentInfo.3 | 1 + .../share/man/man3/d2i_CMS_ReceiptRequest.3 | 1 + linux_amd64/share/man/man3/d2i_CMS_bio.3 | 1 + .../share/man/man3/d2i_CRL_DIST_POINTS.3 | 1 + linux_amd64/share/man/man3/d2i_DHparams.3 | 4 +- linux_amd64/share/man/man3/d2i_DHxparams.3 | 1 + .../share/man/man3/d2i_DIRECTORYSTRING.3 | 1 + linux_amd64/share/man/man3/d2i_DISPLAYTEXT.3 | 1 + linux_amd64/share/man/man3/d2i_DIST_POINT.3 | 1 + .../share/man/man3/d2i_DIST_POINT_NAME.3 | 1 + .../share/man/man3/d2i_DSAPrivateKey.3 | 1 + .../share/man/man3/d2i_DSAPrivateKey_bio.3 | 1 + .../share/man/man3/d2i_DSAPrivateKey_fp.3 | 1 + linux_amd64/share/man/man3/d2i_DSAPublicKey.3 | 1 + linux_amd64/share/man/man3/d2i_DSA_PUBKEY.3 | 1 + .../share/man/man3/d2i_DSA_PUBKEY_bio.3 | 1 + .../share/man/man3/d2i_DSA_PUBKEY_fp.3 | 1 + linux_amd64/share/man/man3/d2i_DSA_SIG.3 | 1 + linux_amd64/share/man/man3/d2i_DSAparams.3 | 1 + linux_amd64/share/man/man3/d2i_ECDSA_SIG.3 | 1 + .../share/man/man3/d2i_ECPKParameters.3 | 1 + linux_amd64/share/man/man3/d2i_ECParameters.3 | 1 + linux_amd64/share/man/man3/d2i_ECPrivateKey.3 | 1 + .../share/man/man3/d2i_ECPrivateKey_bio.3 | 1 + .../share/man/man3/d2i_ECPrivateKey_fp.3 | 1 + linux_amd64/share/man/man3/d2i_EC_PUBKEY.3 | 1 + .../share/man/man3/d2i_EC_PUBKEY_bio.3 | 1 + linux_amd64/share/man/man3/d2i_EC_PUBKEY_fp.3 | 1 + linux_amd64/share/man/man3/d2i_EDIPARTYNAME.3 | 1 + linux_amd64/share/man/man3/d2i_ESS_CERT_ID.3 | 1 + .../share/man/man3/d2i_ESS_ISSUER_SERIAL.3 | 1 + .../share/man/man3/d2i_ESS_SIGNING_CERT.3 | 1 + .../share/man/man3/d2i_EXTENDED_KEY_USAGE.3 | 1 + linux_amd64/share/man/man3/d2i_GENERAL_NAME.3 | 1 + .../share/man/man3/d2i_GENERAL_NAMES.3 | 1 + .../share/man/man3/d2i_IPAddressChoice.3 | 1 + .../share/man/man3/d2i_IPAddressFamily.3 | 1 + .../share/man/man3/d2i_IPAddressOrRange.3 | 1 + .../share/man/man3/d2i_IPAddressRange.3 | 1 + .../share/man/man3/d2i_ISSUING_DIST_POINT.3 | 1 + .../share/man/man3/d2i_NAMING_AUTHORITY.3 | 1 + .../man/man3/d2i_NETSCAPE_CERT_SEQUENCE.3 | 1 + .../share/man/man3/d2i_NETSCAPE_SPKAC.3 | 1 + .../share/man/man3/d2i_NETSCAPE_SPKI.3 | 1 + linux_amd64/share/man/man3/d2i_NOTICEREF.3 | 1 + .../share/man/man3/d2i_OCSP_BASICRESP.3 | 1 + linux_amd64/share/man/man3/d2i_OCSP_CERTID.3 | 1 + .../share/man/man3/d2i_OCSP_CERTSTATUS.3 | 1 + linux_amd64/share/man/man3/d2i_OCSP_CRLID.3 | 1 + linux_amd64/share/man/man3/d2i_OCSP_ONEREQ.3 | 1 + linux_amd64/share/man/man3/d2i_OCSP_REQINFO.3 | 1 + linux_amd64/share/man/man3/d2i_OCSP_REQUEST.3 | 1 + .../share/man/man3/d2i_OCSP_RESPBYTES.3 | 1 + .../share/man/man3/d2i_OCSP_RESPDATA.3 | 1 + linux_amd64/share/man/man3/d2i_OCSP_RESPID.3 | 1 + .../share/man/man3/d2i_OCSP_RESPONSE.3 | 1 + .../share/man/man3/d2i_OCSP_REVOKEDINFO.3 | 1 + .../share/man/man3/d2i_OCSP_SERVICELOC.3 | 1 + .../share/man/man3/d2i_OCSP_SIGNATURE.3 | 1 + .../share/man/man3/d2i_OCSP_SINGLERESP.3 | 1 + linux_amd64/share/man/man3/d2i_OTHERNAME.3 | 1 + linux_amd64/share/man/man3/d2i_PBE2PARAM.3 | 1 + linux_amd64/share/man/man3/d2i_PBEPARAM.3 | 1 + linux_amd64/share/man/man3/d2i_PBKDF2PARAM.3 | 1 + linux_amd64/share/man/man3/d2i_PKCS12.3 | 1 + linux_amd64/share/man/man3/d2i_PKCS12_BAGS.3 | 1 + .../share/man/man3/d2i_PKCS12_MAC_DATA.3 | 1 + .../share/man/man3/d2i_PKCS12_SAFEBAG.3 | 1 + linux_amd64/share/man/man3/d2i_PKCS12_bio.3 | 1 + linux_amd64/share/man/man3/d2i_PKCS12_fp.3 | 1 + linux_amd64/share/man/man3/d2i_PKCS7.3 | 1 + linux_amd64/share/man/man3/d2i_PKCS7_DIGEST.3 | 1 + .../share/man/man3/d2i_PKCS7_ENCRYPT.3 | 1 + .../share/man/man3/d2i_PKCS7_ENC_CONTENT.3 | 1 + .../share/man/man3/d2i_PKCS7_ENVELOPE.3 | 1 + .../man/man3/d2i_PKCS7_ISSUER_AND_SERIAL.3 | 1 + .../share/man/man3/d2i_PKCS7_RECIP_INFO.3 | 1 + linux_amd64/share/man/man3/d2i_PKCS7_SIGNED.3 | 1 + .../share/man/man3/d2i_PKCS7_SIGNER_INFO.3 | 1 + .../share/man/man3/d2i_PKCS7_SIGN_ENVELOPE.3 | 1 + linux_amd64/share/man/man3/d2i_PKCS7_bio.3 | 1 + linux_amd64/share/man/man3/d2i_PKCS7_fp.3 | 1 + .../share/man/man3/d2i_PKCS8PrivateKey_bio.3 | 16 +- .../share/man/man3/d2i_PKCS8PrivateKey_fp.3 | 1 + .../share/man/man3/d2i_PKCS8_PRIV_KEY_INFO.3 | 1 + .../man/man3/d2i_PKCS8_PRIV_KEY_INFO_bio.3 | 1 + .../man/man3/d2i_PKCS8_PRIV_KEY_INFO_fp.3 | 1 + linux_amd64/share/man/man3/d2i_PKCS8_bio.3 | 1 + linux_amd64/share/man/man3/d2i_PKCS8_fp.3 | 1 + .../share/man/man3/d2i_PKEY_USAGE_PERIOD.3 | 1 + linux_amd64/share/man/man3/d2i_POLICYINFO.3 | 1 + .../share/man/man3/d2i_POLICYQUALINFO.3 | 1 + .../share/man/man3/d2i_PROFESSION_INFO.3 | 1 + .../man/man3/d2i_PROXY_CERT_INFO_EXTENSION.3 | 1 + linux_amd64/share/man/man3/d2i_PROXY_POLICY.3 | 1 + linux_amd64/share/man/man3/d2i_PUBKEY.3 | 1 + linux_amd64/share/man/man3/d2i_PUBKEY_bio.3 | 1 + linux_amd64/share/man/man3/d2i_PUBKEY_fp.3 | 1 + linux_amd64/share/man/man3/d2i_PrivateKey.3 | 33 +- .../share/man/man3/d2i_PrivateKey_bio.3 | 1 + .../share/man/man3/d2i_PrivateKey_fp.3 | 1 + linux_amd64/share/man/man3/d2i_PublicKey.3 | 1 + .../share/man/man3/d2i_RSAPrivateKey.3 | 1 + .../share/man/man3/d2i_RSAPrivateKey_bio.3 | 1 + .../share/man/man3/d2i_RSAPrivateKey_fp.3 | 1 + linux_amd64/share/man/man3/d2i_RSAPublicKey.3 | 1 + .../share/man/man3/d2i_RSAPublicKey_bio.3 | 1 + .../share/man/man3/d2i_RSAPublicKey_fp.3 | 1 + .../share/man/man3/d2i_RSA_OAEP_PARAMS.3 | 1 + .../share/man/man3/d2i_RSA_PSS_PARAMS.3 | 1 + linux_amd64/share/man/man3/d2i_RSA_PUBKEY.3 | 1 + .../share/man/man3/d2i_RSA_PUBKEY_bio.3 | 1 + .../share/man/man3/d2i_RSA_PUBKEY_fp.3 | 1 + .../share/man/man3/d2i_SCRYPT_PARAMS.3 | 1 + linux_amd64/share/man/man3/d2i_SCT_LIST.3 | 1 + linux_amd64/share/man/man3/d2i_SSL_SESSION.3 | 4 +- linux_amd64/share/man/man3/d2i_SXNET.3 | 1 + linux_amd64/share/man/man3/d2i_SXNETID.3 | 1 + linux_amd64/share/man/man3/d2i_TS_ACCURACY.3 | 1 + .../share/man/man3/d2i_TS_MSG_IMPRINT.3 | 1 + .../share/man/man3/d2i_TS_MSG_IMPRINT_bio.3 | 1 + .../share/man/man3/d2i_TS_MSG_IMPRINT_fp.3 | 1 + linux_amd64/share/man/man3/d2i_TS_REQ.3 | 1 + linux_amd64/share/man/man3/d2i_TS_REQ_bio.3 | 1 + linux_amd64/share/man/man3/d2i_TS_REQ_fp.3 | 1 + linux_amd64/share/man/man3/d2i_TS_RESP.3 | 1 + linux_amd64/share/man/man3/d2i_TS_RESP_bio.3 | 1 + linux_amd64/share/man/man3/d2i_TS_RESP_fp.3 | 1 + .../share/man/man3/d2i_TS_STATUS_INFO.3 | 1 + linux_amd64/share/man/man3/d2i_TS_TST_INFO.3 | 1 + .../share/man/man3/d2i_TS_TST_INFO_bio.3 | 1 + .../share/man/man3/d2i_TS_TST_INFO_fp.3 | 1 + linux_amd64/share/man/man3/d2i_USERNOTICE.3 | 1 + linux_amd64/share/man/man3/d2i_X509.3 | 494 +------- linux_amd64/share/man/man3/d2i_X509_ALGOR.3 | 1 + linux_amd64/share/man/man3/d2i_X509_ALGORS.3 | 1 + .../share/man/man3/d2i_X509_ATTRIBUTE.3 | 1 + linux_amd64/share/man/man3/d2i_X509_AUX.3 | 1 + .../share/man/man3/d2i_X509_CERT_AUX.3 | 1 + linux_amd64/share/man/man3/d2i_X509_CINF.3 | 1 + linux_amd64/share/man/man3/d2i_X509_CRL.3 | 1 + .../share/man/man3/d2i_X509_CRL_INFO.3 | 1 + linux_amd64/share/man/man3/d2i_X509_CRL_bio.3 | 1 + linux_amd64/share/man/man3/d2i_X509_CRL_fp.3 | 1 + .../share/man/man3/d2i_X509_EXTENSION.3 | 1 + .../share/man/man3/d2i_X509_EXTENSIONS.3 | 1 + linux_amd64/share/man/man3/d2i_X509_NAME.3 | 1 + .../share/man/man3/d2i_X509_NAME_ENTRY.3 | 1 + linux_amd64/share/man/man3/d2i_X509_PUBKEY.3 | 1 + linux_amd64/share/man/man3/d2i_X509_REQ.3 | 1 + .../share/man/man3/d2i_X509_REQ_INFO.3 | 1 + linux_amd64/share/man/man3/d2i_X509_REQ_bio.3 | 1 + linux_amd64/share/man/man3/d2i_X509_REQ_fp.3 | 1 + linux_amd64/share/man/man3/d2i_X509_REVOKED.3 | 1 + linux_amd64/share/man/man3/d2i_X509_SIG.3 | 1 + linux_amd64/share/man/man3/d2i_X509_VAL.3 | 1 + .../share/man/man3/i2d_ACCESS_DESCRIPTION.3 | 1 + linux_amd64/share/man/man3/i2d_ADMISSIONS.3 | 1 + .../share/man/man3/i2d_ADMISSION_SYNTAX.3 | 1 + linux_amd64/share/man/man3/i2d_ASIdOrRange.3 | 1 + .../share/man/man3/i2d_ASIdentifierChoice.3 | 1 + .../share/man/man3/i2d_ASIdentifiers.3 | 1 + .../share/man/man3/i2d_ASN1_BIT_STRING.3 | 1 + .../share/man/man3/i2d_ASN1_BMPSTRING.3 | 1 + .../share/man/man3/i2d_ASN1_ENUMERATED.3 | 1 + .../share/man/man3/i2d_ASN1_GENERALIZEDTIME.3 | 1 + .../share/man/man3/i2d_ASN1_GENERALSTRING.3 | 1 + .../share/man/man3/i2d_ASN1_IA5STRING.3 | 1 + linux_amd64/share/man/man3/i2d_ASN1_INTEGER.3 | 1 + linux_amd64/share/man/man3/i2d_ASN1_NULL.3 | 1 + linux_amd64/share/man/man3/i2d_ASN1_OBJECT.3 | 1 + .../share/man/man3/i2d_ASN1_OCTET_STRING.3 | 1 + .../share/man/man3/i2d_ASN1_PRINTABLE.3 | 1 + .../share/man/man3/i2d_ASN1_PRINTABLESTRING.3 | 1 + .../share/man/man3/i2d_ASN1_SEQUENCE_ANY.3 | 1 + linux_amd64/share/man/man3/i2d_ASN1_SET_ANY.3 | 1 + .../share/man/man3/i2d_ASN1_T61STRING.3 | 1 + linux_amd64/share/man/man3/i2d_ASN1_TIME.3 | 1 + linux_amd64/share/man/man3/i2d_ASN1_TYPE.3 | 1 + .../share/man/man3/i2d_ASN1_UNIVERSALSTRING.3 | 1 + linux_amd64/share/man/man3/i2d_ASN1_UTCTIME.3 | 1 + .../share/man/man3/i2d_ASN1_UTF8STRING.3 | 1 + .../share/man/man3/i2d_ASN1_VISIBLESTRING.3 | 1 + .../share/man/man3/i2d_ASN1_bio_stream.3 | 1 + linux_amd64/share/man/man3/i2d_ASRange.3 | 1 + .../man/man3/i2d_AUTHORITY_INFO_ACCESS.3 | 1 + .../share/man/man3/i2d_AUTHORITY_KEYID.3 | 1 + .../share/man/man3/i2d_BASIC_CONSTRAINTS.3 | 1 + .../share/man/man3/i2d_CERTIFICATEPOLICIES.3 | 1 + .../share/man/man3/i2d_CMS_ContentInfo.3 | 1 + .../share/man/man3/i2d_CMS_ReceiptRequest.3 | 1 + linux_amd64/share/man/man3/i2d_CMS_bio.3 | 1 + .../share/man/man3/i2d_CMS_bio_stream.3 | 4 +- .../share/man/man3/i2d_CRL_DIST_POINTS.3 | 1 + linux_amd64/share/man/man3/i2d_DHparams.3 | 1 + linux_amd64/share/man/man3/i2d_DHxparams.3 | 1 + .../share/man/man3/i2d_DIRECTORYSTRING.3 | 1 + linux_amd64/share/man/man3/i2d_DISPLAYTEXT.3 | 1 + linux_amd64/share/man/man3/i2d_DIST_POINT.3 | 1 + .../share/man/man3/i2d_DIST_POINT_NAME.3 | 1 + .../share/man/man3/i2d_DSAPrivateKey.3 | 1 + .../share/man/man3/i2d_DSAPrivateKey_bio.3 | 1 + .../share/man/man3/i2d_DSAPrivateKey_fp.3 | 1 + linux_amd64/share/man/man3/i2d_DSAPublicKey.3 | 1 + linux_amd64/share/man/man3/i2d_DSA_PUBKEY.3 | 1 + .../share/man/man3/i2d_DSA_PUBKEY_bio.3 | 1 + .../share/man/man3/i2d_DSA_PUBKEY_fp.3 | 1 + linux_amd64/share/man/man3/i2d_DSA_SIG.3 | 1 + linux_amd64/share/man/man3/i2d_DSAparams.3 | 1 + linux_amd64/share/man/man3/i2d_ECDSA_SIG.3 | 1 + .../share/man/man3/i2d_ECPKParameters.3 | 1 + linux_amd64/share/man/man3/i2d_ECParameters.3 | 1 + linux_amd64/share/man/man3/i2d_ECPrivateKey.3 | 1 + .../share/man/man3/i2d_ECPrivateKey_bio.3 | 1 + .../share/man/man3/i2d_ECPrivateKey_fp.3 | 1 + linux_amd64/share/man/man3/i2d_EC_PUBKEY.3 | 1 + .../share/man/man3/i2d_EC_PUBKEY_bio.3 | 1 + linux_amd64/share/man/man3/i2d_EC_PUBKEY_fp.3 | 1 + linux_amd64/share/man/man3/i2d_EDIPARTYNAME.3 | 1 + linux_amd64/share/man/man3/i2d_ESS_CERT_ID.3 | 1 + .../share/man/man3/i2d_ESS_ISSUER_SERIAL.3 | 1 + .../share/man/man3/i2d_ESS_SIGNING_CERT.3 | 1 + .../share/man/man3/i2d_EXTENDED_KEY_USAGE.3 | 1 + linux_amd64/share/man/man3/i2d_GENERAL_NAME.3 | 1 + .../share/man/man3/i2d_GENERAL_NAMES.3 | 1 + .../share/man/man3/i2d_IPAddressChoice.3 | 1 + .../share/man/man3/i2d_IPAddressFamily.3 | 1 + .../share/man/man3/i2d_IPAddressOrRange.3 | 1 + .../share/man/man3/i2d_IPAddressRange.3 | 1 + .../share/man/man3/i2d_ISSUING_DIST_POINT.3 | 1 + .../share/man/man3/i2d_NAMING_AUTHORITY.3 | 1 + .../man/man3/i2d_NETSCAPE_CERT_SEQUENCE.3 | 1 + .../share/man/man3/i2d_NETSCAPE_SPKAC.3 | 1 + .../share/man/man3/i2d_NETSCAPE_SPKI.3 | 1 + linux_amd64/share/man/man3/i2d_NOTICEREF.3 | 1 + .../share/man/man3/i2d_OCSP_BASICRESP.3 | 1 + linux_amd64/share/man/man3/i2d_OCSP_CERTID.3 | 1 + .../share/man/man3/i2d_OCSP_CERTSTATUS.3 | 1 + linux_amd64/share/man/man3/i2d_OCSP_CRLID.3 | 1 + linux_amd64/share/man/man3/i2d_OCSP_ONEREQ.3 | 1 + linux_amd64/share/man/man3/i2d_OCSP_REQINFO.3 | 1 + linux_amd64/share/man/man3/i2d_OCSP_REQUEST.3 | 1 + .../share/man/man3/i2d_OCSP_RESPBYTES.3 | 1 + .../share/man/man3/i2d_OCSP_RESPDATA.3 | 1 + linux_amd64/share/man/man3/i2d_OCSP_RESPID.3 | 1 + .../share/man/man3/i2d_OCSP_RESPONSE.3 | 1 + .../share/man/man3/i2d_OCSP_REVOKEDINFO.3 | 1 + .../share/man/man3/i2d_OCSP_SERVICELOC.3 | 1 + .../share/man/man3/i2d_OCSP_SIGNATURE.3 | 1 + .../share/man/man3/i2d_OCSP_SINGLERESP.3 | 1 + linux_amd64/share/man/man3/i2d_OTHERNAME.3 | 1 + linux_amd64/share/man/man3/i2d_PBE2PARAM.3 | 1 + linux_amd64/share/man/man3/i2d_PBEPARAM.3 | 1 + linux_amd64/share/man/man3/i2d_PBKDF2PARAM.3 | 1 + linux_amd64/share/man/man3/i2d_PKCS12.3 | 1 + linux_amd64/share/man/man3/i2d_PKCS12_BAGS.3 | 1 + .../share/man/man3/i2d_PKCS12_MAC_DATA.3 | 1 + .../share/man/man3/i2d_PKCS12_SAFEBAG.3 | 1 + linux_amd64/share/man/man3/i2d_PKCS12_bio.3 | 1 + linux_amd64/share/man/man3/i2d_PKCS12_fp.3 | 1 + linux_amd64/share/man/man3/i2d_PKCS7.3 | 1 + linux_amd64/share/man/man3/i2d_PKCS7_DIGEST.3 | 1 + .../share/man/man3/i2d_PKCS7_ENCRYPT.3 | 1 + .../share/man/man3/i2d_PKCS7_ENC_CONTENT.3 | 1 + .../share/man/man3/i2d_PKCS7_ENVELOPE.3 | 1 + .../man/man3/i2d_PKCS7_ISSUER_AND_SERIAL.3 | 1 + linux_amd64/share/man/man3/i2d_PKCS7_NDEF.3 | 1 + .../share/man/man3/i2d_PKCS7_RECIP_INFO.3 | 1 + linux_amd64/share/man/man3/i2d_PKCS7_SIGNED.3 | 1 + .../share/man/man3/i2d_PKCS7_SIGNER_INFO.3 | 1 + .../share/man/man3/i2d_PKCS7_SIGN_ENVELOPE.3 | 1 + linux_amd64/share/man/man3/i2d_PKCS7_bio.3 | 1 + .../share/man/man3/i2d_PKCS7_bio_stream.3 | 4 +- linux_amd64/share/man/man3/i2d_PKCS7_fp.3 | 1 + .../man/man3/i2d_PKCS8PrivateKeyInfo_bio.3 | 1 + .../man/man3/i2d_PKCS8PrivateKeyInfo_fp.3 | 1 + .../share/man/man3/i2d_PKCS8PrivateKey_bio.3 | 1 + .../share/man/man3/i2d_PKCS8PrivateKey_fp.3 | 1 + .../man/man3/i2d_PKCS8PrivateKey_nid_bio.3 | 1 + .../man/man3/i2d_PKCS8PrivateKey_nid_fp.3 | 1 + .../share/man/man3/i2d_PKCS8_PRIV_KEY_INFO.3 | 1 + .../man/man3/i2d_PKCS8_PRIV_KEY_INFO_bio.3 | 1 + .../man/man3/i2d_PKCS8_PRIV_KEY_INFO_fp.3 | 1 + linux_amd64/share/man/man3/i2d_PKCS8_bio.3 | 1 + linux_amd64/share/man/man3/i2d_PKCS8_fp.3 | 1 + .../share/man/man3/i2d_PKEY_USAGE_PERIOD.3 | 1 + linux_amd64/share/man/man3/i2d_POLICYINFO.3 | 1 + .../share/man/man3/i2d_POLICYQUALINFO.3 | 1 + .../share/man/man3/i2d_PROFESSION_INFO.3 | 1 + .../man/man3/i2d_PROXY_CERT_INFO_EXTENSION.3 | 1 + linux_amd64/share/man/man3/i2d_PROXY_POLICY.3 | 1 + linux_amd64/share/man/man3/i2d_PUBKEY.3 | 1 + linux_amd64/share/man/man3/i2d_PUBKEY_bio.3 | 1 + linux_amd64/share/man/man3/i2d_PUBKEY_fp.3 | 1 + linux_amd64/share/man/man3/i2d_PrivateKey.3 | 1 + linux_amd64/share/man/man3/i2d_PublicKey.3 | 1 + .../share/man/man3/i2d_RSAPrivateKey.3 | 1 + .../share/man/man3/i2d_RSAPrivateKey_bio.3 | 1 + .../share/man/man3/i2d_RSAPrivateKey_fp.3 | 1 + linux_amd64/share/man/man3/i2d_RSAPublicKey.3 | 1 + .../share/man/man3/i2d_RSAPublicKey_bio.3 | 1 + .../share/man/man3/i2d_RSAPublicKey_fp.3 | 1 + .../share/man/man3/i2d_RSA_OAEP_PARAMS.3 | 1 + .../share/man/man3/i2d_RSA_PSS_PARAMS.3 | 1 + linux_amd64/share/man/man3/i2d_RSA_PUBKEY.3 | 1 + .../share/man/man3/i2d_RSA_PUBKEY_bio.3 | 1 + .../share/man/man3/i2d_RSA_PUBKEY_fp.3 | 1 + .../share/man/man3/i2d_SCRYPT_PARAMS.3 | 1 + linux_amd64/share/man/man3/i2d_SCT_LIST.3 | 1 + linux_amd64/share/man/man3/i2d_SSL_SESSION.3 | 1 + linux_amd64/share/man/man3/i2d_SXNET.3 | 1 + linux_amd64/share/man/man3/i2d_SXNETID.3 | 1 + linux_amd64/share/man/man3/i2d_TS_ACCURACY.3 | 1 + .../share/man/man3/i2d_TS_MSG_IMPRINT.3 | 1 + .../share/man/man3/i2d_TS_MSG_IMPRINT_bio.3 | 1 + .../share/man/man3/i2d_TS_MSG_IMPRINT_fp.3 | 1 + linux_amd64/share/man/man3/i2d_TS_REQ.3 | 1 + linux_amd64/share/man/man3/i2d_TS_REQ_bio.3 | 1 + linux_amd64/share/man/man3/i2d_TS_REQ_fp.3 | 1 + linux_amd64/share/man/man3/i2d_TS_RESP.3 | 1 + linux_amd64/share/man/man3/i2d_TS_RESP_bio.3 | 1 + linux_amd64/share/man/man3/i2d_TS_RESP_fp.3 | 1 + .../share/man/man3/i2d_TS_STATUS_INFO.3 | 1 + linux_amd64/share/man/man3/i2d_TS_TST_INFO.3 | 1 + .../share/man/man3/i2d_TS_TST_INFO_bio.3 | 1 + .../share/man/man3/i2d_TS_TST_INFO_fp.3 | 1 + linux_amd64/share/man/man3/i2d_USERNOTICE.3 | 1 + linux_amd64/share/man/man3/i2d_X509.3 | 1 + linux_amd64/share/man/man3/i2d_X509_ALGOR.3 | 1 + linux_amd64/share/man/man3/i2d_X509_ALGORS.3 | 1 + .../share/man/man3/i2d_X509_ATTRIBUTE.3 | 1 + linux_amd64/share/man/man3/i2d_X509_AUX.3 | 1 + .../share/man/man3/i2d_X509_CERT_AUX.3 | 1 + linux_amd64/share/man/man3/i2d_X509_CINF.3 | 1 + linux_amd64/share/man/man3/i2d_X509_CRL.3 | 1 + .../share/man/man3/i2d_X509_CRL_INFO.3 | 1 + linux_amd64/share/man/man3/i2d_X509_CRL_bio.3 | 1 + linux_amd64/share/man/man3/i2d_X509_CRL_fp.3 | 1 + .../share/man/man3/i2d_X509_EXTENSION.3 | 1 + .../share/man/man3/i2d_X509_EXTENSIONS.3 | 1 + linux_amd64/share/man/man3/i2d_X509_NAME.3 | 1 + .../share/man/man3/i2d_X509_NAME_ENTRY.3 | 1 + linux_amd64/share/man/man3/i2d_X509_PUBKEY.3 | 1 + linux_amd64/share/man/man3/i2d_X509_REQ.3 | 1 + .../share/man/man3/i2d_X509_REQ_INFO.3 | 1 + linux_amd64/share/man/man3/i2d_X509_REQ_bio.3 | 1 + linux_amd64/share/man/man3/i2d_X509_REQ_fp.3 | 1 + linux_amd64/share/man/man3/i2d_X509_REVOKED.3 | 1 + linux_amd64/share/man/man3/i2d_X509_SIG.3 | 1 + linux_amd64/share/man/man3/i2d_X509_VAL.3 | 1 + .../share/man/man3/i2d_re_X509_CRL_tbs.3 | 1 + .../share/man/man3/i2d_re_X509_REQ_tbs.3 | 1 + linux_amd64/share/man/man3/i2d_re_X509_tbs.3 | 8 +- linux_amd64/share/man/man3/i2o_SCT.3 | 1 + linux_amd64/share/man/man3/i2o_SCT_LIST.3 | 1 + linux_amd64/share/man/man3/i2t_ASN1_OBJECT.3 | 1 + linux_amd64/share/man/man3/lh_TYPE_delete.3 | 1 + linux_amd64/share/man/man3/lh_TYPE_doall.3 | 1 + .../share/man/man3/lh_TYPE_doall_arg.3 | 1 + linux_amd64/share/man/man3/lh_TYPE_error.3 | 1 + linux_amd64/share/man/man3/lh_TYPE_free.3 | 1 + linux_amd64/share/man/man3/lh_TYPE_insert.3 | 1 + linux_amd64/share/man/man3/lh_TYPE_new.3 | 1 + linux_amd64/share/man/man3/lh_TYPE_retrieve.3 | 1 + linux_amd64/share/man/man3/o2i_SCT.3 | 1 + linux_amd64/share/man/man3/o2i_SCT_LIST.3 | 11 +- linux_amd64/share/man/man3/pem_password_cb.3 | 1 + .../share/man/man3/sk_TYPE_deep_copy.3 | 1 + linux_amd64/share/man/man3/sk_TYPE_delete.3 | 1 + .../share/man/man3/sk_TYPE_delete_ptr.3 | 1 + linux_amd64/share/man/man3/sk_TYPE_dup.3 | 1 + linux_amd64/share/man/man3/sk_TYPE_find.3 | 1 + linux_amd64/share/man/man3/sk_TYPE_find_ex.3 | 1 + linux_amd64/share/man/man3/sk_TYPE_free.3 | 1 + linux_amd64/share/man/man3/sk_TYPE_insert.3 | 1 + .../share/man/man3/sk_TYPE_is_sorted.3 | 1 + linux_amd64/share/man/man3/sk_TYPE_new.3 | 1 + linux_amd64/share/man/man3/sk_TYPE_new_null.3 | 1 + .../share/man/man3/sk_TYPE_new_reserve.3 | 1 + linux_amd64/share/man/man3/sk_TYPE_num.3 | 1 + linux_amd64/share/man/man3/sk_TYPE_pop.3 | 1 + linux_amd64/share/man/man3/sk_TYPE_pop_free.3 | 1 + linux_amd64/share/man/man3/sk_TYPE_push.3 | 1 + linux_amd64/share/man/man3/sk_TYPE_reserve.3 | 1 + linux_amd64/share/man/man3/sk_TYPE_set.3 | 1 + .../share/man/man3/sk_TYPE_set_cmp_func.3 | 1 + linux_amd64/share/man/man3/sk_TYPE_shift.3 | 1 + linux_amd64/share/man/man3/sk_TYPE_sort.3 | 1 + linux_amd64/share/man/man3/sk_TYPE_unshift.3 | 1 + linux_amd64/share/man/man3/sk_TYPE_value.3 | 1 + linux_amd64/share/man/man3/sk_TYPE_zero.3 | 1 + .../share/man/man3/ssl_ct_validation_cb.3 | 1 + linux_amd64/share/man/man5/config.5 | 148 +-- linux_amd64/share/man/man5/x509v3_config.5 | 52 +- linux_amd64/share/man/man7/Ed25519.7 | 15 +- linux_amd64/share/man/man7/Ed448.7 | 1 + linux_amd64/share/man/man7/RAND.7 | 9 +- linux_amd64/share/man/man7/RAND_DRBG.7 | 24 +- linux_amd64/share/man/man7/RSA-PSS.7 | 4 +- linux_amd64/share/man/man7/SM2.7 | 33 +- linux_amd64/share/man/man7/X25519.7 | 10 +- linux_amd64/share/man/man7/X448.7 | 1 + linux_amd64/share/man/man7/bio.7 | 12 +- linux_amd64/share/man/man7/crypto.7 | 16 +- linux_amd64/share/man/man7/ct.7 | 4 +- linux_amd64/share/man/man7/des_modes.7 | 4 +- linux_amd64/share/man/man7/evp.7 | 4 +- linux_amd64/share/man/man7/ossl_store-file.7 | 6 +- linux_amd64/share/man/man7/ossl_store.7 | 6 +- .../share/man/man7/passphrase-encoding.7 | 9 +- .../share/man/man7/proxy-certificates.7 | 2 +- linux_amd64/share/man/man7/scrypt.7 | 239 ++++ linux_amd64/share/man/man7/ssl.7 | 719 ++++++++++- linux_amd64/share/man/man7/x509.7 | 5 +- linux_amd64/ssl/misc/CA.pl | 2 +- linux_amd64/ssl/misc/tsget | 1 + linux_amd64/ssl/misc/tsget.pl | 4 +- 7901 files changed, 57645 insertions(+), 20190 deletions(-) create mode 100755 linux_amd64/lib/engines-1.1/afalg.so create mode 100755 linux_amd64/lib/engines-1.1/capi.so create mode 100755 linux_amd64/lib/engines-1.1/padlock.so create mode 100755 linux_amd64/lib/libcrypto.so.1.1 create mode 100755 linux_amd64/lib/libssl.so.1.1 create mode 100644 linux_amd64/share/doc/openssl/html/man1/asn1parse.html create mode 120000 linux_amd64/share/doc/openssl/html/man1/c_rehash.html create mode 100644 linux_amd64/share/doc/openssl/html/man1/ca.html create mode 100644 linux_amd64/share/doc/openssl/html/man1/ciphers.html create mode 100644 linux_amd64/share/doc/openssl/html/man1/cms.html create mode 100644 linux_amd64/share/doc/openssl/html/man1/crl.html create mode 100644 linux_amd64/share/doc/openssl/html/man1/crl2pkcs7.html create mode 100644 linux_amd64/share/doc/openssl/html/man1/dgst.html create mode 100644 linux_amd64/share/doc/openssl/html/man1/dhparam.html create mode 100644 linux_amd64/share/doc/openssl/html/man1/dsa.html create mode 100644 linux_amd64/share/doc/openssl/html/man1/dsaparam.html create mode 100644 linux_amd64/share/doc/openssl/html/man1/ec.html create mode 100644 linux_amd64/share/doc/openssl/html/man1/ecparam.html create mode 100644 linux_amd64/share/doc/openssl/html/man1/enc.html create mode 100644 linux_amd64/share/doc/openssl/html/man1/engine.html create mode 100644 linux_amd64/share/doc/openssl/html/man1/errstr.html create mode 100644 linux_amd64/share/doc/openssl/html/man1/gendsa.html create mode 100644 linux_amd64/share/doc/openssl/html/man1/genpkey.html create mode 100644 linux_amd64/share/doc/openssl/html/man1/genrsa.html create mode 100644 linux_amd64/share/doc/openssl/html/man1/list.html create mode 100644 linux_amd64/share/doc/openssl/html/man1/nseq.html create mode 100644 linux_amd64/share/doc/openssl/html/man1/ocsp.html create mode 120000 linux_amd64/share/doc/openssl/html/man1/openssl-c_rehash.html create mode 120000 linux_amd64/share/doc/openssl/html/man1/openssl-tsget.html create mode 100644 linux_amd64/share/doc/openssl/html/man1/passwd.html create mode 100644 linux_amd64/share/doc/openssl/html/man1/pkcs12.html create mode 100644 linux_amd64/share/doc/openssl/html/man1/pkcs7.html create mode 100644 linux_amd64/share/doc/openssl/html/man1/pkcs8.html create mode 100644 linux_amd64/share/doc/openssl/html/man1/pkey.html create mode 100644 linux_amd64/share/doc/openssl/html/man1/pkeyparam.html create mode 100644 linux_amd64/share/doc/openssl/html/man1/pkeyutl.html create mode 100644 linux_amd64/share/doc/openssl/html/man1/prime.html create mode 100644 linux_amd64/share/doc/openssl/html/man1/rand.html create mode 100644 linux_amd64/share/doc/openssl/html/man1/rehash.html create mode 100644 linux_amd64/share/doc/openssl/html/man1/req.html create mode 100644 linux_amd64/share/doc/openssl/html/man1/rsa.html create mode 100644 linux_amd64/share/doc/openssl/html/man1/rsautl.html create mode 100644 linux_amd64/share/doc/openssl/html/man1/s_client.html create mode 100644 linux_amd64/share/doc/openssl/html/man1/s_server.html create mode 100644 linux_amd64/share/doc/openssl/html/man1/s_time.html create mode 100644 linux_amd64/share/doc/openssl/html/man1/sess_id.html create mode 100644 linux_amd64/share/doc/openssl/html/man1/smime.html create mode 100644 linux_amd64/share/doc/openssl/html/man1/speed.html create mode 100644 linux_amd64/share/doc/openssl/html/man1/spkac.html create mode 100644 linux_amd64/share/doc/openssl/html/man1/srp.html create mode 100644 linux_amd64/share/doc/openssl/html/man1/storeutl.html create mode 100644 linux_amd64/share/doc/openssl/html/man1/ts.html create mode 100644 linux_amd64/share/doc/openssl/html/man1/verify.html create mode 100644 linux_amd64/share/doc/openssl/html/man1/version.html create mode 100644 linux_amd64/share/doc/openssl/html/man1/x509.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ACCESS_DESCRIPTION_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ACCESS_DESCRIPTION_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ADMISSIONS_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ADMISSIONS_get0_admissionAuthority.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ADMISSIONS_get0_namingAuthority.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ADMISSIONS_get0_professionInfos.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ADMISSIONS_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ADMISSIONS_set0_admissionAuthority.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ADMISSIONS_set0_namingAuthority.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ADMISSIONS_set0_professionInfos.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ADMISSION_SYNTAX.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ADMISSION_SYNTAX_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ADMISSION_SYNTAX_get0_admissionAuthority.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ADMISSION_SYNTAX_get0_contentsOfAdmissions.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ADMISSION_SYNTAX_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ADMISSION_SYNTAX_set0_admissionAuthority.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ADMISSION_SYNTAX_set0_contentsOfAdmissions.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASIdOrRange_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASIdOrRange_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASIdentifierChoice_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASIdentifierChoice_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASIdentifiers_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASIdentifiers_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_ENUMERATED_get.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_ENUMERATED_get_int64.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_ENUMERATED_set.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_ENUMERATED_set_int64.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_ENUMERATED_to_BN.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_GENERALIZEDTIME_adj.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_GENERALIZEDTIME_check.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_GENERALIZEDTIME_print.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_GENERALIZEDTIME_set.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_GENERALIZEDTIME_set_string.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_INTEGER_get.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_INTEGER_get_uint64.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_INTEGER_set.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_INTEGER_set_int64.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_INTEGER_set_uint64.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_INTEGER_to_BN.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_ITEM.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_ITEM_get.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_OBJECT_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_TABLE.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_TABLE_cleanup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_TABLE_get.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_cmp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_dup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_get0_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_print.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_print_ex_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_set.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_to_UTF8.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_type.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_type_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_TIME_adj.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_TIME_check.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_TIME_cmp_time_t.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_TIME_compare.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_TIME_diff.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_TIME_normalize.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_TIME_print.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_TIME_set_string.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_TIME_set_string_X509.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_TIME_to_generalizedtime.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_TIME_to_tm.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_TYPE_cmp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_TYPE_pack_sequence.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_TYPE_set.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_TYPE_set1.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_TYPE_unpack_sequence.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_UTCTIME_adj.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_UTCTIME_check.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_UTCTIME_cmp_time_t.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_UTCTIME_print.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_UTCTIME_set.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_UTCTIME_set_string.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_add_oid_module.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_generate_v3.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASN1_tag2str.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASRange_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASRange_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASYNC_WAIT_CTX_clear_fd.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASYNC_WAIT_CTX_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASYNC_WAIT_CTX_get_all_fds.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASYNC_WAIT_CTX_get_changed_fds.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASYNC_WAIT_CTX_get_fd.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASYNC_WAIT_CTX_set_wait_fd.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASYNC_block_pause.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASYNC_cleanup_thread.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASYNC_get_current_job.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASYNC_get_wait_ctx.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASYNC_init_thread.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASYNC_is_capable.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASYNC_pause_job.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ASYNC_unblock_pause.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/AUTHORITY_INFO_ACCESS_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/AUTHORITY_INFO_ACCESS_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/AUTHORITY_KEYID_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/AUTHORITY_KEYID_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BASIC_CONSTRAINTS_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BASIC_CONSTRAINTS_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BF_cbc_encrypt.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BF_cfb64_encrypt.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BF_decrypt.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BF_ecb_encrypt.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BF_ofb64_encrypt.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BF_options.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BF_set_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_ADDRINFO_address.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_ADDRINFO_family.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_ADDRINFO_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_ADDRINFO_next.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_ADDRINFO_protocol.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_ADDRINFO_socktype.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_ADDR_clear.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_ADDR_family.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_ADDR_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_ADDR_hostname_string.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_ADDR_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_ADDR_path_string.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_ADDR_rawaddress.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_ADDR_rawmake.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_ADDR_rawport.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_ADDR_service_string.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_accept_ex.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_append_filename.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_bind.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_callback_ctrl.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_callback_fn.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_callback_fn_ex.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_closesocket.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_ctrl_get_read_request.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_ctrl_get_write_guarantee.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_ctrl_pending.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_ctrl_reset_read_request.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_ctrl_wpending.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_debug_callback.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_destroy_bio_pair.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_do_accept.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_do_connect.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_do_handshake.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_eof.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_flush.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_free_all.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_get_accept_ip_family.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_get_accept_name.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_get_accept_port.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_get_bind_mode.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_get_buffer_num_lines.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_get_callback.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_get_callback_arg.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_get_callback_ex.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_get_cipher_ctx.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_get_cipher_status.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_get_close.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_get_conn_address.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_get_conn_hostname.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_get_conn_ip_family.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_get_conn_port.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_get_ex_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_get_fd.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_get_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_get_info_callback.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_get_init.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_get_md.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_get_md_ctx.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_get_mem_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_get_mem_ptr.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_get_new_index.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_get_num_renegotiates.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_get_peer_name.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_get_peer_port.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_get_read_request.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_get_retry_BIO.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_get_retry_reason.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_get_shutdown.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_get_ssl.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_get_write_buf_size.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_get_write_guarantee.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_gets.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_hostserv_priorities.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_info_cb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_int_ctrl.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_listen.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_lookup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_lookup_ex.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_lookup_type.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_make_bio_pair.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_meth_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_meth_get_callback_ctrl.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_meth_get_create.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_meth_get_ctrl.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_meth_get_destroy.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_meth_get_gets.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_meth_get_puts.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_meth_get_read.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_meth_get_read_ex.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_meth_get_write.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_meth_get_write_ex.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_meth_set_callback_ctrl.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_meth_set_create.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_meth_set_ctrl.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_meth_set_destroy.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_meth_set_gets.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_meth_set_puts.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_meth_set_read.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_meth_set_read_ex.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_meth_set_write.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_meth_set_write_ex.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_method_type.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_new_accept.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_new_bio_pair.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_new_buffer_ssl_connect.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_new_connect.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_new_fd.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_new_file.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_new_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_new_mem_buf.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_new_socket.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_new_ssl.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_new_ssl_connect.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_next.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_pending.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_pop.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_ptr_ctrl.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_puts.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_read_ex.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_read_filename.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_reset.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_retry_type.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_rw_filename.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_s_secmem.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_seek.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_set_accept_bios.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_set_accept_ip_family.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_set_accept_name.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_set_accept_port.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_set_bind_mode.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_set_buffer_read_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_set_buffer_size.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_set_callback_arg.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_set_callback_ex.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_set_cipher.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_set_close.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_set_conn_address.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_set_conn_hostname.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_set_conn_ip_family.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_set_conn_port.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_set_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_set_ex_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_set_fd.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_set_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_set_info_callback.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_set_init.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_set_md.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_set_mem_buf.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_set_mem_eof_return.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_set_nbio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_set_nbio_accept.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_set_next.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_set_read_buffer_size.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_set_retry_reason.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_set_shutdown.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_set_ssl.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_set_ssl_mode.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_set_ssl_renegotiate_bytes.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_set_ssl_renegotiate_timeout.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_set_write_buf_size.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_set_write_buffer_size.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_should_io_special.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_should_read.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_should_write.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_shutdown_wr.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_snprintf.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_socket.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_ssl_copy_session_id.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_ssl_shutdown.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_tell.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_up_ref.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_vfree.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_vprintf.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_vsnprintf.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_wpending.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_write.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_write_ex.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BIO_write_filename.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_convert.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_convert_ex.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_create_param.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_get_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_invert.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_invert_ex.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_is_current_thread.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_lock.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_set_current_thread.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_set_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_unlock.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_update.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_CTX_end.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_CTX_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_CTX_get.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_CTX_secure_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_GENCB_call.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_GENCB_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_GENCB_get_arg.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_GENCB_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_GENCB_set.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_GENCB_set_old.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_MONT_CTX_copy.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_MONT_CTX_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_MONT_CTX_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_MONT_CTX_set.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_RECP_CTX_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_RECP_CTX_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_RECP_CTX_set.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_bin2bn.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_bn2binpad.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_bn2dec.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_bn2hex.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_bn2lebinpad.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_bn2mpi.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_clear.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_clear_bit.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_clear_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_dec2bn.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_div.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_div_recp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_div_word.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_dup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_exp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_from_montgomery.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_gcd.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_generate_prime_ex.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_get0_nist_prime_192.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_get0_nist_prime_224.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_get0_nist_prime_256.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_get0_nist_prime_384.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_get0_nist_prime_521.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_get_rfc2409_prime_1024.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_get_rfc2409_prime_768.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_get_rfc3526_prime_1536.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_get_rfc3526_prime_2048.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_get_rfc3526_prime_3072.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_get_rfc3526_prime_4096.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_get_rfc3526_prime_6144.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_get_rfc3526_prime_8192.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_get_word.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_hex2bn.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_is_bit_set.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_is_odd.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_is_one.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_is_prime.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_is_prime_ex.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_is_prime_fasttest.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_is_prime_fasttest_ex.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_is_word.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_is_zero.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_lebin2bn.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_lshift.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_lshift1.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_mask_bits.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_mod.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_mod_add.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_mod_exp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_mod_mul.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_mod_sqr.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_mod_sub.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_mod_word.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_mpi2bn.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_mul.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_mul_word.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_nnmod.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_num_bits.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_num_bits_word.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_one.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_print.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_print_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_priv_rand.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_priv_rand_range.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_pseudo_rand.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_pseudo_rand_range.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_rand_range.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_rshift.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_rshift1.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_secure_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_set_word.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_sqr.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_sub.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_sub_word.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_to_ASN1_ENUMERATED.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_to_ASN1_INTEGER.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_to_montgomery.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_ucmp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_value_one.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BN_with_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BUF_MEM_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BUF_MEM_grow.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BUF_MEM_grow_clean.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BUF_MEM_new_ex.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/BUF_reverse.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CERTIFICATEPOLICIES_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CERTIFICATEPOLICIES_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CMS_ContentInfo_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CMS_ContentInfo_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CMS_ContentInfo_print_ctx.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CMS_ReceiptRequest_create0.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CMS_ReceiptRequest_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CMS_ReceiptRequest_get0_values.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CMS_ReceiptRequest_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CMS_RecipientInfo_decrypt.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CMS_RecipientInfo_encrypt.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CMS_RecipientInfo_kekri_get0_id.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CMS_RecipientInfo_kekri_id_cmp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CMS_RecipientInfo_ktri_cert_cmp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CMS_RecipientInfo_ktri_get0_signer_id.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CMS_RecipientInfo_set0_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CMS_RecipientInfo_set0_pkey.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CMS_RecipientInfo_type.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CMS_SignerInfo_cert_cmp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CMS_SignerInfo_get0_signature.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CMS_SignerInfo_get0_signer_id.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CMS_SignerInfo_set1_signer_cert.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CMS_SignerInfo_sign.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CMS_add0_crl.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CMS_add0_recipient_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CMS_add1_ReceiptRequest.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CMS_add1_cert.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CMS_add1_crl.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CMS_get0_content.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CMS_get0_eContentType.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CMS_get0_signers.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CMS_get1_certs.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CMS_get1_crls.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CMS_set1_eContentType.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CONF_modules_finish.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CONF_modules_load.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CONF_modules_unload.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CRL_DIST_POINTS_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CRL_DIST_POINTS_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CRYPTO_EX_dup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CRYPTO_EX_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CRYPTO_EX_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CRYPTO_THREAD_lock_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CRYPTO_THREAD_lock_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CRYPTO_THREAD_read_lock.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CRYPTO_THREAD_unlock.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CRYPTO_THREAD_write_lock.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CRYPTO_atomic_add.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CRYPTO_clear_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CRYPTO_clear_realloc.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CRYPTO_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CRYPTO_free_ex_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CRYPTO_free_ex_index.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CRYPTO_get_alloc_counts.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CRYPTO_get_ex_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CRYPTO_get_mem_functions.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CRYPTO_malloc.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CRYPTO_mem_ctrl.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CRYPTO_mem_debug_pop.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CRYPTO_mem_debug_push.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CRYPTO_mem_leaks.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CRYPTO_mem_leaks_cb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CRYPTO_mem_leaks_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CRYPTO_new_ex_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CRYPTO_realloc.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CRYPTO_secure_allocated.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CRYPTO_secure_clear_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CRYPTO_secure_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CRYPTO_secure_malloc.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CRYPTO_secure_malloc_done.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CRYPTO_secure_malloc_init.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CRYPTO_secure_malloc_initialized.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CRYPTO_secure_used.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CRYPTO_secure_zalloc.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CRYPTO_set_ex_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CRYPTO_set_mem_debug.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CRYPTO_set_mem_functions.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CRYPTO_strdup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CRYPTO_strndup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CRYPTO_zalloc.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CTLOG_STORE_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CTLOG_STORE_load_default_file.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CTLOG_STORE_load_file.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CTLOG_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CTLOG_get0_log_id.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CTLOG_get0_name.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CTLOG_get0_public_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CTLOG_new_from_base64.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CT_POLICY_EVAL_CTX_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CT_POLICY_EVAL_CTX_get0_cert.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CT_POLICY_EVAL_CTX_get0_issuer.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CT_POLICY_EVAL_CTX_get0_log_store.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CT_POLICY_EVAL_CTX_get_time.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CT_POLICY_EVAL_CTX_set1_cert.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CT_POLICY_EVAL_CTX_set1_issuer.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CT_POLICY_EVAL_CTX_set_shared_CTLOG_STORE.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/CT_POLICY_EVAL_CTX_set_time.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DECLARE_ASN1_FUNCTIONS.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DECLARE_LHASH_OF.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DECLARE_PEM_rw.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DEFINE_SPECIAL_STACK_OF.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DEFINE_SPECIAL_STACK_OF_CONST.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DEFINE_STACK_OF_CONST.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DES_cbc_cksum.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DES_cfb64_encrypt.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DES_cfb_encrypt.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DES_crypt.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DES_ecb2_encrypt.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DES_ecb3_encrypt.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DES_ecb_encrypt.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DES_ede2_cbc_encrypt.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DES_ede2_cfb64_encrypt.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DES_ede2_ofb64_encrypt.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DES_ede3_cbc_encrypt.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DES_ede3_cfb64_encrypt.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DES_ede3_ofb64_encrypt.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DES_fcrypt.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DES_is_weak_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DES_key_sched.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DES_ncbc_encrypt.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DES_ofb64_encrypt.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DES_ofb_encrypt.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DES_pcbc_encrypt.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DES_quad_cksum.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DES_set_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DES_set_key_checked.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DES_set_key_unchecked.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DES_set_odd_parity.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DES_string_to_2keys.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DES_string_to_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DES_xcbc_encrypt.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_OpenSSL.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_bits.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_check.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_check_ex.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_check_params.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_check_params_ex.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_check_pub_key_ex.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_clear_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_compute_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_generate_parameters_ex.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_get0_engine.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_get0_g.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_get0_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_get0_p.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_get0_priv_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_get0_pub_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_get0_q.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_get_2048_224.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_get_2048_256.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_get_default_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_get_ex_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_get_ex_new_index.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_get_length.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_get_nid.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_meth_dup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_meth_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_meth_get0_app_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_meth_get0_name.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_meth_get_bn_mod_exp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_meth_get_compute_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_meth_get_finish.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_meth_get_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_meth_get_generate_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_meth_get_generate_params.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_meth_get_init.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_meth_set0_app_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_meth_set1_name.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_meth_set_bn_mod_exp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_meth_set_compute_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_meth_set_finish.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_meth_set_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_meth_set_generate_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_meth_set_generate_params.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_meth_set_init.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_new_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_security_bits.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_set0_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_set0_pqg.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_set_default_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_set_ex_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_set_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_set_length.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DH_test_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DHparams_print.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DHparams_print_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DIRECTORYSTRING_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DIRECTORYSTRING_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DISPLAYTEXT_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DISPLAYTEXT_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DIST_POINT_NAME_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DIST_POINT_NAME_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DIST_POINT_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DIST_POINT_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_OpenSSL.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_SIG_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_SIG_get0.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_SIG_set0.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_bits.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_clear_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_do_verify.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_generate_parameters_ex.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_get0_engine.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_get0_g.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_get0_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_get0_p.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_get0_priv_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_get0_pub_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_get0_q.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_get_default_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_get_ex_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_get_ex_new_index.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_meth_dup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_meth_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_meth_get0_app_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_meth_get0_name.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_meth_get_bn_mod_exp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_meth_get_finish.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_meth_get_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_meth_get_init.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_meth_get_keygen.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_meth_get_mod_exp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_meth_get_paramgen.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_meth_get_sign.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_meth_get_sign_setup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_meth_get_verify.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_meth_set0_app_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_meth_set1_name.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_meth_set_bn_mod_exp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_meth_set_finish.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_meth_set_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_meth_set_init.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_meth_set_keygen.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_meth_set_mod_exp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_meth_set_paramgen.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_meth_set_sign.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_meth_set_sign_setup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_meth_set_verify.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_new_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_print.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_print_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_security_bits.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_set0_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_set0_pqg.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_set_default_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_set_ex_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_set_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_sign_setup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_test_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSA_verify.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSAparams_dup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSAparams_print.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DSAparams_print_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DTLS_client_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DTLS_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DTLS_server_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DTLS_timer_cb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DTLSv1_2_client_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DTLSv1_2_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DTLSv1_2_server_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DTLSv1_client_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DTLSv1_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/DTLSv1_server_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ECDH_get_ex_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ECDH_get_ex_new_index.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ECDH_set_ex_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ECDSA_SIG_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ECDSA_SIG_get0.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ECDSA_SIG_get0_r.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ECDSA_SIG_get0_s.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ECDSA_SIG_set0.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ECDSA_do_sign.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ECDSA_do_sign_ex.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ECDSA_do_verify.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ECDSA_sign.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ECDSA_sign_ex.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ECDSA_sign_setup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ECDSA_size.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ECDSA_verify.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ECPARAMETERS_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ECPARAMETERS_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ECPKPARAMETERS_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ECPKPARAMETERS_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ECPKParameters_print_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_GF2m_simple_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_GFp_mont_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_GFp_nist_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_GFp_nistp224_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_GFp_nistp256_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_GFp_nistp521_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_GROUP_check.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_GROUP_check_discriminant.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_GROUP_clear_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_GROUP_cmp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_GROUP_dup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_GROUP_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get0_cofactor.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get0_generator.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get0_order.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get0_seed.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_asn1_flag.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_basis_type.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_cofactor.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_curve.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_curve_GF2m.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_curve_GFp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_curve_name.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_degree.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_ecparameters.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_ecpkparameters.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_order.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_pentanomial_basis.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_point_conversion_form.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_seed_len.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_trinomial_basis.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_GROUP_have_precompute_mult.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_GROUP_method_of.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_GROUP_new_by_curve_name.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_GROUP_new_curve_GF2m.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_GROUP_new_curve_GFp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_GROUP_new_from_ecparameters.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_GROUP_new_from_ecpkparameters.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_GROUP_order_bits.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_GROUP_precompute_mult.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_GROUP_set_asn1_flag.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_GROUP_set_curve.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_GROUP_set_curve_GF2m.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_GROUP_set_curve_GFp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_GROUP_set_curve_name.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_GROUP_set_generator.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_GROUP_set_point_conversion_form.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_GROUP_set_seed.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_KEY_check_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_KEY_clear_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_KEY_copy.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_KEY_dup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_KEY_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_KEY_generate_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_KEY_get0_engine.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_KEY_get0_group.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_KEY_get0_private_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_KEY_get0_public_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_KEY_get_conv_form.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_KEY_get_ex_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_KEY_get_ex_new_index.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_KEY_get_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_KEY_get_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_KEY_key2buf.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_KEY_new_by_curve_name.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_KEY_oct2key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_KEY_oct2priv.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_KEY_precompute_mult.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_KEY_priv2buf.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_KEY_priv2oct.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_KEY_set_asn1_flag.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_KEY_set_conv_form.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_KEY_set_enc_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_KEY_set_ex_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_KEY_set_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_KEY_set_group.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_KEY_set_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_KEY_set_private_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_KEY_set_public_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_KEY_set_public_key_affine_coordinates.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_KEY_up_ref.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_METHOD_get_field_type.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_POINT_bn2point.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_POINT_clear_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_POINT_cmp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_POINT_copy.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_POINT_dbl.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_POINT_dup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_POINT_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_POINT_get_Jprojective_coordinates_GFp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_POINT_get_affine_coordinates.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_POINT_get_affine_coordinates_GF2m.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_POINT_get_affine_coordinates_GFp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_POINT_hex2point.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_POINT_invert.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_POINT_is_at_infinity.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_POINT_is_on_curve.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_POINT_make_affine.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_POINT_method_of.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_POINT_mul.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_POINT_oct2point.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_POINT_point2bn.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_POINT_point2buf.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_POINT_point2hex.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_POINT_point2oct.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_POINT_set_Jprojective_coordinates_GFp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_POINT_set_affine_coordinates.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_POINT_set_affine_coordinates_GF2m.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_POINT_set_affine_coordinates_GFp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_POINT_set_compressed_coordinates.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_POINT_set_compressed_coordinates_GF2m.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_POINT_set_compressed_coordinates_GFp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_POINT_set_to_infinity.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_POINTs_make_affine.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_POINTs_mul.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EC_get_builtin_curves.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EDIPARTYNAME_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EDIPARTYNAME_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_add_conf_module.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_by_id.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_cleanup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_cmd_is_executable.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_ctrl.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_ctrl_cmd.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_ctrl_cmd_string.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_finish.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_get_DH.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_get_DSA.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_get_RAND.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_get_RSA.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_get_cipher.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_get_cipher_engine.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_get_ciphers.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_get_cmd_defns.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_get_ctrl_function.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_get_default_DH.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_get_default_DSA.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_get_default_RAND.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_get_default_RSA.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_get_destroy_function.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_get_digest.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_get_digest_engine.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_get_digests.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_get_ex_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_get_ex_new_index.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_get_finish_function.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_get_first.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_get_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_get_id.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_get_init_function.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_get_last.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_get_load_privkey_function.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_get_load_pubkey_function.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_get_name.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_get_next.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_get_prev.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_get_table_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_init.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_load_builtin_engines.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_load_private_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_load_public_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_register_DH.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_register_DSA.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_register_RAND.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_register_RSA.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_register_all_DH.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_register_all_DSA.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_register_all_RAND.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_register_all_RSA.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_register_all_ciphers.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_register_all_complete.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_register_all_digests.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_register_ciphers.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_register_complete.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_register_digests.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_remove.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_set_DH.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_set_DSA.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_set_RAND.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_set_RSA.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_set_ciphers.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_set_cmd_defns.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_set_ctrl_function.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_set_default.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_set_default_DH.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_set_default_DSA.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_set_default_RAND.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_set_default_RSA.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_set_default_ciphers.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_set_default_digests.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_set_default_string.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_set_destroy_function.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_set_digests.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_set_ex_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_set_finish_function.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_set_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_set_id.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_set_init_function.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_set_load_privkey_function.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_set_load_pubkey_function.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_set_name.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_set_table_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_unregister_DH.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_unregister_DSA.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_unregister_RAND.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_unregister_RSA.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_unregister_ciphers.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_unregister_digests.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ENGINE_up_ref.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ERR_FATAL_ERROR.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ERR_GET_FUNC.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ERR_GET_REASON.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ERR_PACK.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ERR_add_error_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ERR_add_error_vdata.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ERR_error_string_n.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ERR_free_strings.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ERR_func_error_string.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ERR_get_error_line.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ERR_get_error_line_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ERR_get_next_error_library.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ERR_lib_error_string.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ERR_peek_error.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ERR_peek_error_line.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ERR_peek_error_line_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ERR_peek_last_error.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ERR_peek_last_error_line.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ERR_peek_last_error_line_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ERR_pop_to_mark.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ERR_print_errors_cb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ERR_print_errors_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ERR_reason_error_string.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ERR_remove_thread_state.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ESS_CERT_ID_dup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ESS_CERT_ID_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ESS_CERT_ID_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ESS_ISSUER_SERIAL_dup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ESS_ISSUER_SERIAL_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ESS_ISSUER_SERIAL_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ESS_SIGNING_CERT_dup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ESS_SIGNING_CERT_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ESS_SIGNING_CERT_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_block_size.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_cipher.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_ctrl.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_get_app_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_iv_length.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_key_length.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_mode.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_nid.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_reset.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_set_app_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_set_cipher_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_set_key_length.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_set_padding.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_type.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_asn1_to_param.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_block_size.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_iv_length.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_key_length.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_dup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_get_cleanup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_get_ctrl.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_get_do_cipher.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_get_get_asn1_params.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_get_init.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_get_set_asn1_params.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_set_cleanup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_set_ctrl.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_set_do_cipher.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_set_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_set_get_asn1_params.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_set_impl_ctx_size.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_set_init.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_set_iv_length.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_set_set_asn1_params.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_mode.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_nid.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_param_to_asn1.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_type.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_CipherFinal.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_CipherFinal_ex.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_CipherInit.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_CipherInit_ex.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_CipherUpdate.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_DecodeBlock.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_DecodeFinal.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_DecodeInit.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_DecodeUpdate.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_DecryptFinal.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_DecryptFinal_ex.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_DecryptInit.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_DecryptInit_ex.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_DecryptUpdate.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_Digest.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_DigestFinal.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_DigestFinalXOF.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_DigestFinal_ex.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_DigestInit_ex.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_DigestSign.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_DigestSignFinal.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_DigestSignUpdate.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_DigestUpdate.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_DigestVerify.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_DigestVerifyFinal.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_DigestVerifyUpdate.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_ENCODE_CTX_copy.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_ENCODE_CTX_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_ENCODE_CTX_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_ENCODE_CTX_num.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_EncodeBlock.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_EncodeFinal.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_EncodeUpdate.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_EncryptFinal.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_EncryptFinal_ex.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_EncryptInit_ex.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_EncryptUpdate.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_block_size.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_clear_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_copy.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_copy_ex.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_ctrl.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_md.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_md_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_pkey_ctx.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_reset.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_set_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_set_pkey_ctx.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_set_update_fn.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_size.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_test_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_type.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_update_fn.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_MD_block_size.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_MD_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_dup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_get_app_datasize.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_get_cleanup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_get_copy.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_get_ctrl.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_get_final.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_get_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_get_init.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_get_input_blocksize.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_get_result_size.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_get_update.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_set_app_datasize.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_set_cleanup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_set_copy.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_set_ctrl.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_set_final.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_set_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_set_init.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_set_input_blocksize.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_set_result_size.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_set_update.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_MD_pkey_type.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_MD_size.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_MD_type.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_OpenFinal.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_OpenUpdate.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_add1_hkdf_info.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_add1_tls1_prf_seed.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_ctrl_str.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_ctrl_uint64.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_dup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get0_dh_kdf_oid.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get0_dh_kdf_ukm.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get0_ecdh_kdf_ukm.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get0_rsa_oaep_label.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get1_id.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get1_id_len.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_app_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_cb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_dh_kdf_md.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_dh_kdf_outlen.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_dh_kdf_type.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_ecdh_cofactor_mode.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_ecdh_kdf_md.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_ecdh_kdf_outlen.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_ecdh_kdf_type.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_keygen_info.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_rsa_mgf1_md.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_rsa_oaep_md.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_rsa_padding.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_rsa_pss_saltlen.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_signature_md.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_hkdf_mode.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_md.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_new_id.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set0_dh_kdf_oid.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set0_dh_kdf_ukm.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set0_ecdh_kdf_ukm.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set0_rsa_oaep_label.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set1_hkdf_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set1_hkdf_salt.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set1_id.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set1_scrypt_salt.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set1_tls1_prf_secret.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_app_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_cb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dh_kdf_md.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dh_kdf_outlen.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dh_kdf_type.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dh_nid.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dh_pad.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dh_paramgen_generator.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dh_paramgen_prime_len.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dh_paramgen_subprime_len.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dh_paramgen_type.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dh_rfc5114.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dhx_rfc5114.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dsa_paramgen_bits.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dsa_paramgen_md.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dsa_paramgen_q_bits.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_ec_param_enc.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_ec_paramgen_curve_nid.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_ecdh_cofactor_mode.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_ecdh_kdf_md.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_ecdh_kdf_outlen.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_ecdh_kdf_type.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_mac_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_rsa_keygen_bits.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_rsa_keygen_primes.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_rsa_keygen_pubexp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_rsa_mgf1_md.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_rsa_oaep_md.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_rsa_padding.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_rsa_pss_saltlen.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_scrypt_maxmem_bytes.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_scrypt_p.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_scrypt_r.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_signature_md.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_METHOD.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_add0.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_add_alias.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_copy.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_find.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_find_str.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_get0.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_get0_info.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_check.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_ctrl.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_get_priv_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_get_pub_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_item.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_param.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_param_check.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_private.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_public.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_public_check.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_security_bits.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_set_priv_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_set_pub_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_siginf.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_assign_DH.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_assign_DSA.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_assign_EC_KEY.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_assign_POLY1305.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_assign_RSA.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_assign_SIPHASH.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_base_id.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_cmp_parameters.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_copy_parameters.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_decrypt_init.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_derive_init.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_derive_set_peer.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_encrypt_init.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_gen_cb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get0_DH.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get0_DSA.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get0_EC_KEY.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get0_RSA.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get0_asn1.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get0_engine.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get0_hmac.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get0_poly1305.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get0_siphash.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get1_DH.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get1_DSA.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get1_EC_KEY.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get1_RSA.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get_raw_private_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get_raw_public_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_id.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_keygen_init.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_add0.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_copy.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_find.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get0.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get0_info.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_check.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_cleanup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_copy.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_ctrl.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_decrypt.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_derive.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_digest_custom.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_digestsign.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_digestverify.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_encrypt.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_init.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_keygen.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_param_check.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_paramgen.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_public_check.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_sign.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_signctx.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_verify.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_verify_recover.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_verifyctx.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_remove.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_check.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_cleanup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_copy.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_ctrl.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_decrypt.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_derive.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_digest_custom.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_digestsign.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_digestverify.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_encrypt.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_init.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_keygen.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_param_check.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_paramgen.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_public_check.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_sign.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_signctx.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_verify.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_verify_recover.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_verifyctx.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_missing_parameters.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_new_CMAC_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_new_mac_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_new_raw_private_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_new_raw_public_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_param_check.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_paramgen.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_paramgen_init.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_print_params.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_print_public.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_public_check.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_security_bits.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_set1_DH.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_set1_DSA.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_set1_EC_KEY.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_set1_engine.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_set_alias_type.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_sign_init.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_type.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_up_ref.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_verify_init.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_verify_recover_init.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_SealFinal.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_SealUpdate.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_SignFinal.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_SignInit_ex.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_SignUpdate.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_VerifyFinal.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_VerifyInit_ex.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_VerifyUpdate.html create mode 100644 linux_amd64/share/doc/openssl/html/man3/EVP_aes.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_cbc.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_cbc_hmac_sha1.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_cbc_hmac_sha256.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_ccm.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_cfb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_cfb1.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_cfb128.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_cfb8.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_ctr.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_ecb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_ocb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_ofb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_wrap.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_wrap_pad.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_xts.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_cbc.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_ccm.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_cfb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_cfb1.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_cfb128.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_cfb8.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_ctr.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_ecb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_gcm.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_ocb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_ofb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_wrap.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_wrap_pad.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_cbc.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_cbc_hmac_sha1.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_cbc_hmac_sha256.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_ccm.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_cfb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_cfb1.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_cfb128.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_cfb8.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_ctr.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_ecb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_gcm.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_ocb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_ofb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_wrap.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_wrap_pad.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_xts.html create mode 100644 linux_amd64/share/doc/openssl/html/man3/EVP_aria.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aria_128_cbc.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aria_128_ccm.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aria_128_cfb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aria_128_cfb1.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aria_128_cfb128.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aria_128_cfb8.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aria_128_ctr.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aria_128_ecb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aria_128_ofb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aria_192_cbc.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aria_192_ccm.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aria_192_cfb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aria_192_cfb1.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aria_192_cfb128.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aria_192_cfb8.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aria_192_ctr.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aria_192_ecb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aria_192_gcm.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aria_192_ofb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aria_256_cbc.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aria_256_ccm.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aria_256_cfb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aria_256_cfb1.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aria_256_cfb128.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aria_256_cfb8.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aria_256_ctr.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aria_256_ecb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aria_256_gcm.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_aria_256_ofb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_bf_cfb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_bf_cfb64.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_bf_ecb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_bf_ofb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_blake2s256.html create mode 100644 linux_amd64/share/doc/openssl/html/man3/EVP_camellia.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_camellia_128_cbc.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_camellia_128_cfb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_camellia_128_cfb1.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_camellia_128_cfb128.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_camellia_128_cfb8.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_camellia_128_ctr.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_camellia_128_ofb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_camellia_192_cbc.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_camellia_192_cfb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_camellia_192_cfb1.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_camellia_192_cfb128.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_camellia_192_cfb8.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_camellia_192_ctr.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_camellia_192_ecb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_camellia_192_ofb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_camellia_256_cbc.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_camellia_256_cfb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_camellia_256_cfb1.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_camellia_256_cfb128.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_camellia_256_cfb8.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_camellia_256_ctr.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_camellia_256_ecb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_camellia_256_ofb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_cast5_cfb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_cast5_cfb64.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_cast5_ecb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_cast5_ofb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_chacha20_poly1305.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_cleanup.html create mode 100644 linux_amd64/share/doc/openssl/html/man3/EVP_des.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_des_cfb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_des_cfb1.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_des_cfb64.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_des_cfb8.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_des_ecb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_des_ede.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_des_ede3.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_des_ede3_cbc.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_des_ede3_cfb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_des_ede3_cfb1.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_des_ede3_cfb64.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_des_ede3_cfb8.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_des_ede3_ecb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_des_ede3_ofb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_des_ede3_wrap.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_des_ede_cbc.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_des_ede_cfb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_des_ede_cfb64.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_des_ede_ecb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_des_ede_ofb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_des_ofb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_enc_null.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_get_cipherbyname.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_get_cipherbynid.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_get_cipherbyobj.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_get_digestbyname.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_get_digestbynid.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_get_digestbyobj.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_idea_cfb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_idea_cfb64.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_idea_ecb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_idea_ofb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_md5_sha1.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_md_null.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_rc2_40_cbc.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_rc2_64_cbc.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_rc2_cfb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_rc2_cfb64.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_rc2_ecb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_rc2_ofb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_rc4_40.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_rc4_hmac_md5.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_rc5_32_12_16_cfb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_rc5_32_12_16_cfb64.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_rc5_32_12_16_ecb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_rc5_32_12_16_ofb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_seed_cfb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_seed_cfb128.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_seed_ecb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_seed_ofb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_sha256.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_sha384.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_sha3_256.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_sha3_384.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_sha3_512.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_sha512.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_sha512_224.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_sha512_256.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_shake128.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_shake256.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_sm4_cfb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_sm4_cfb128.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_sm4_ctr.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_sm4_ecb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EVP_sm4_ofb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EXTENDED_KEY_USAGE_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/EXTENDED_KEY_USAGE_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/GENERAL_NAMES_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/GENERAL_NAMES_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/GENERAL_NAME_dup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/GENERAL_NAME_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/GENERAL_NAME_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/GENERAL_SUBTREE_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/GENERAL_SUBTREE_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/GEN_SESSION_CB.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/HMAC_CTX_copy.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/HMAC_CTX_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/HMAC_CTX_get_md.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/HMAC_CTX_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/HMAC_CTX_reset.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/HMAC_CTX_set_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/HMAC_Final.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/HMAC_Init.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/HMAC_Init_ex.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/HMAC_Update.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/HMAC_size.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/IMPLEMENT_ASN1_FUNCTIONS.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/IMPLEMENT_LHASH_COMP_FN.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/IMPLEMENT_LHASH_HASH_FN.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/IPAddressChoice_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/IPAddressChoice_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/IPAddressFamily_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/IPAddressFamily_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/IPAddressOrRange_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/IPAddressOrRange_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/IPAddressRange_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/IPAddressRange_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ISSUING_DIST_POINT_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ISSUING_DIST_POINT_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/LHASH.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/LHASH_DOALL_ARG_FN_TYPE.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/MD2.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/MD2_Final.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/MD2_Init.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/MD2_Update.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/MD4.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/MD4_Final.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/MD4_Init.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/MD4_Update.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/MD5_Final.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/MD5_Init.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/MD5_Update.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/MDC2.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/MDC2_Final.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/MDC2_Update.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/NAME_CONSTRAINTS_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/NAME_CONSTRAINTS_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/NAMING_AUTHORITY.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/NAMING_AUTHORITY_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/NAMING_AUTHORITY_get0_authorityId.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/NAMING_AUTHORITY_get0_authorityText.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/NAMING_AUTHORITY_get0_authorityURL.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/NAMING_AUTHORITY_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/NAMING_AUTHORITY_set0_authorityId.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/NAMING_AUTHORITY_set0_authorityText.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/NAMING_AUTHORITY_set0_authorityURL.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/NETSCAPE_CERT_SEQUENCE_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/NETSCAPE_CERT_SEQUENCE_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/NETSCAPE_SPKAC_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/NETSCAPE_SPKAC_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/NETSCAPE_SPKI_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/NETSCAPE_SPKI_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/NOTICEREF_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/NOTICEREF_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OBJ_cleanup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OBJ_cmp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OBJ_create.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OBJ_dup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OBJ_get0_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OBJ_length.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OBJ_ln2nid.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OBJ_nid2ln.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OBJ_nid2sn.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OBJ_obj2nid.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OBJ_obj2txt.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OBJ_sn2nid.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OBJ_txt2nid.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OBJ_txt2obj.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_BASICRESP_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_BASICRESP_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_CERTID_dup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_CERTID_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_CERTID_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_CERTSTATUS_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_CERTSTATUS_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_CRLID_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_CRLID_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_ONEREQ_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_ONEREQ_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_REQINFO_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_REQINFO_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_REQUEST_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_REQ_CTX_add1_header.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_REQ_CTX_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_REQ_CTX_set1_req.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_RESPBYTES_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_RESPBYTES_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_RESPDATA_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_RESPDATA_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_RESPID_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_RESPID_match.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_RESPID_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_RESPID_set_by_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_RESPID_set_by_name.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_RESPONSE_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_RESPONSE_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_REVOKEDINFO_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_REVOKEDINFO_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_SERVICELOC_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_SERVICELOC_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_SIGNATURE_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_SIGNATURE_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_SINGLERESP_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_SINGLERESP_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_basic_add1_nonce.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_basic_sign.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_basic_sign_ctx.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_basic_verify.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_cert_id_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_check_nonce.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_check_validity.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_copy_nonce.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_id_cmp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_id_get0_info.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_id_issuer_cmp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_request_add0_id.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_request_add1_cert.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_request_onereq_count.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_request_onereq_get0.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_request_sign.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_resp_count.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_resp_find.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_resp_get0.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_resp_get0_certs.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_resp_get0_id.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_resp_get0_produced_at.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_resp_get0_respdata.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_resp_get0_signature.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_resp_get0_signer.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_resp_get0_tbs_sigalg.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_resp_get1_id.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_response_create.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_response_get1_basic.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_sendreq_bio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_sendreq_nbio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_set_max_response_length.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OCSP_single_get0_status.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OPENSSL_INIT_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OPENSSL_INIT_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OPENSSL_INIT_set_config_appname.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OPENSSL_INIT_set_config_file_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OPENSSL_INIT_set_config_filename.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OPENSSL_LH_DOALL_FUNC.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OPENSSL_LH_HASHFUNC.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OPENSSL_LH_node_stats.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OPENSSL_LH_node_stats_bio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OPENSSL_LH_node_usage_stats.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OPENSSL_LH_node_usage_stats_bio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OPENSSL_LH_stats_bio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OPENSSL_MALLOC_FAILURES.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OPENSSL_MALLOC_FD.html create mode 100644 linux_amd64/share/doc/openssl/html/man3/OPENSSL_VERSION_NUMBER.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OPENSSL_VERSION_TEXT.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OPENSSL_atexit.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OPENSSL_buf2hexstr.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OPENSSL_cipher_name.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OPENSSL_cleanse.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OPENSSL_cleanup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OPENSSL_clear_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OPENSSL_clear_realloc.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OPENSSL_fork_child.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OPENSSL_fork_parent.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OPENSSL_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OPENSSL_hexstr2buf.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OPENSSL_instrument_bus2.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OPENSSL_malloc_init.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OPENSSL_mem_debug_pop.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OPENSSL_mem_debug_push.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OPENSSL_memdup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OPENSSL_no_config.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OPENSSL_realloc.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OPENSSL_secure_actual_size.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OPENSSL_secure_clear_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OPENSSL_secure_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OPENSSL_secure_zalloc.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OPENSSL_strdup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OPENSSL_strlcat.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OPENSSL_strlcpy.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OPENSSL_strndup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OPENSSL_thread_stop.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OPENSSL_zalloc.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_CTX.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get0_CERT.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get0_CRL.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get0_NAME.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get0_NAME_description.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get0_PARAMS.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get0_PKEY.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get1_CERT.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get1_CRL.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get1_NAME.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get1_NAME_description.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get1_PARAMS.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get1_PKEY.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get_type.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_new_CERT.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_new_CRL.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_new_NAME.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_new_PARAMS.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_new_PKEY.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_set0_NAME_description.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_type_string.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_CTX.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_get0_engine.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_get0_scheme.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_set_close.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_set_ctrl.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_set_eof.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_set_error.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_set_expect.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_set_find.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_set_load.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_set_open.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_SEARCH_by_alias.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_SEARCH_by_issuer_serial.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_SEARCH_by_key_fingerprint.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_SEARCH_by_name.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_SEARCH_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_SEARCH_get0_bytes.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_SEARCH_get0_digest.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_SEARCH_get0_name.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_SEARCH_get0_serial.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_SEARCH_get0_string.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_SEARCH_get_type.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_close.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_close_fn.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_ctrl.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_ctrl_fn.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_eof.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_eof_fn.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_error.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_error_fn.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_expect_fn.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_find.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_find_fn.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_load.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_load_fn.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_open_fn.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_post_process_info_fn.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_register_loader.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_supports_search.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_unregister_loader.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OTHERNAME_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OTHERNAME_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OpenSSL_add_all_ciphers.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OpenSSL_add_all_digests.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OpenSSL_add_ssl_algorithms.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/OpenSSL_version_num.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PBE2PARAM_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PBE2PARAM_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PBEPARAM_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PBEPARAM_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PBKDF2PARAM_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PBKDF2PARAM_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_FLAG_EAY_COMPATIBLE.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_FLAG_ONLY_B64.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_FLAG_SECURE.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_bytes_read_bio_secmem.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_do_header.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_get_EVP_CIPHER_INFO.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_read_DHparams.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_read_DSAPrivateKey.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_read_DSA_PUBKEY.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_read_DSAparams.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_read_ECPKParameters.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_read_ECPrivateKey.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_read_EC_PUBKEY.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_read_NETSCAPE_CERT_SEQUENCE.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_read_PKCS7.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_read_PKCS8.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_read_PKCS8_PRIV_KEY_INFO.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_read_PUBKEY.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_read_PrivateKey.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_read_RSAPrivateKey.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_read_RSAPublicKey.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_read_RSA_PUBKEY.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_read_SSL_SESSION.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_read_X509.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_read_X509_AUX.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_read_X509_CRL.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_read_X509_REQ.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_read_bio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_CMS.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_DHparams.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_DSAPrivateKey.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_DSA_PUBKEY.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_DSAparams.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_ECPKParameters.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_EC_PUBKEY.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_NETSCAPE_CERT_SEQUENCE.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_PKCS7.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_PKCS8.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_PKCS8_PRIV_KEY_INFO.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_PUBKEY.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_Parameters.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_RSAPrivateKey.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_RSAPublicKey.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_RSA_PUBKEY.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_SSL_SESSION.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_X509.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_X509_AUX.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_X509_CRL.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_X509_REQ.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_CMS.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_DHparams.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_DHxparams.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_DSAPrivateKey.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_DSA_PUBKEY.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_DSAparams.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_ECPKParameters.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_ECPrivateKey.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_EC_PUBKEY.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_NETSCAPE_CERT_SEQUENCE.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_PKCS7.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_PKCS8.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_PKCS8PrivateKey.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_PKCS8PrivateKey_nid.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_PKCS8_PRIV_KEY_INFO.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_PUBKEY.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_PrivateKey.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_RSAPrivateKey.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_RSAPublicKey.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_RSA_PUBKEY.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_SSL_SESSION.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_X509.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_X509_AUX.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_X509_CRL.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_X509_REQ.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_X509_REQ_NEW.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_bio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_CMS.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_DHparams.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_DHxparams.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_DSAPrivateKey.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_DSA_PUBKEY.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_DSAparams.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_ECPKParameters.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_ECPrivateKey.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_EC_PUBKEY.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_NETSCAPE_CERT_SEQUENCE.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_PKCS7.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_PKCS8.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_PKCS8PrivateKey.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_PKCS8PrivateKey_nid.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_PKCS8_PRIV_KEY_INFO.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_PUBKEY.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_Parameters.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_PrivateKey.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_PrivateKey_traditional.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_RSAPrivateKey.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_RSAPublicKey.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_RSA_PUBKEY.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_SSL_SESSION.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_X509.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_X509_AUX.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_X509_CRL.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_X509_REQ.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_X509_REQ_NEW.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PKCS12_BAGS_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PKCS12_BAGS_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PKCS12_MAC_DATA_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PKCS12_MAC_DATA_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PKCS12_SAFEBAG_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PKCS12_SAFEBAG_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PKCS12_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PKCS12_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PKCS5_PBKDF2_HMAC_SHA1.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PKCS7_DIGEST_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PKCS7_DIGEST_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PKCS7_ENCRYPT_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PKCS7_ENCRYPT_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PKCS7_ENC_CONTENT_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PKCS7_ENC_CONTENT_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PKCS7_ENVELOPE_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PKCS7_ENVELOPE_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PKCS7_ISSUER_AND_SERIAL_digest.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PKCS7_ISSUER_AND_SERIAL_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PKCS7_ISSUER_AND_SERIAL_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PKCS7_RECIP_INFO_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PKCS7_RECIP_INFO_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PKCS7_SIGNED_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PKCS7_SIGNED_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PKCS7_SIGNER_INFO_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PKCS7_SIGNER_INFO_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PKCS7_SIGN_ENVELOPE_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PKCS7_SIGN_ENVELOPE_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PKCS7_dup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PKCS7_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PKCS7_get0_signers.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PKCS7_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PKCS7_print_ctx.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PKCS8_PRIV_KEY_INFO_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PKCS8_PRIV_KEY_INFO_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PKEY_USAGE_PERIOD_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PKEY_USAGE_PERIOD_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/POLICYINFO_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/POLICYINFO_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/POLICYQUALINFO_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/POLICYQUALINFO_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/POLICY_CONSTRAINTS_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/POLICY_CONSTRAINTS_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/POLICY_MAPPING_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/POLICY_MAPPING_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFOS.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFOS_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFOS_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO_get0_addProfessionInfo.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO_get0_namingAuthority.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO_get0_professionItems.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO_get0_professionOIDs.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO_get0_registrationNumber.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO_set0_addProfessionInfo.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO_set0_namingAuthority.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO_set0_professionItems.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO_set0_professionOIDs.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO_set0_registrationNumber.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PROXY_CERT_INFO_EXTENSION_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PROXY_CERT_INFO_EXTENSION_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PROXY_POLICY_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/PROXY_POLICY_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_bytes.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_cleanup_entropy_fn.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_cleanup_nonce_fn.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_get0_private.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_get0_public.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_get_entropy_fn.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_get_ex_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_get_ex_new_index.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_get_nonce_fn.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_instantiate.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_secure_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_set.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_set_defaults.html create mode 100644 linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_set_ex_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_set_reseed_defaults.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_set_reseed_interval.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_set_reseed_time_interval.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_uninstantiate.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RAND_OpenSSL.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RAND_egd_bytes.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RAND_event.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RAND_file_name.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RAND_get_rand_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RAND_keep_random_devices_open.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RAND_poll.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RAND_priv_bytes.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RAND_pseudo_bytes.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RAND_query_egd_bytes.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RAND_screen.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RAND_seed.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RAND_status.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RAND_write_file.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RC4.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RIPEMD160.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RIPEMD160_Final.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RIPEMD160_Update.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSAPrivateKey_dup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSAPublicKey_dup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_OAEP_PARAMS_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_OAEP_PARAMS_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_PKCS1_OpenSSL.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_PSS_PARAMS_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_PSS_PARAMS_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_bits.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_blinding_off.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_check_key_ex.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_clear_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_generate_key_ex.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_generate_multi_prime_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_get0_crt_params.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_get0_d.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_get0_dmp1.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_get0_dmq1.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_get0_e.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_get0_engine.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_get0_factors.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_get0_iqmp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_get0_multi_prime_crt_params.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_get0_multi_prime_factors.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_get0_n.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_get0_p.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_get0_pss_params.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_get0_q.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_get_default_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_get_ex_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_get_ex_new_index.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_get_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_get_multi_prime_extra_count.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_get_version.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_meth_dup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_meth_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_meth_get0_app_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_meth_get0_name.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_bn_mod_exp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_finish.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_init.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_keygen.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_mod_exp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_multi_prime_keygen.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_priv_dec.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_priv_enc.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_pub_dec.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_pub_enc.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_sign.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_verify.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_meth_set0_app_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_meth_set1_name.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_bn_mod_exp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_finish.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_init.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_keygen.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_mod_exp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_multi_prime_keygen.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_priv_dec.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_priv_enc.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_pub_dec.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_pub_enc.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_sign.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_verify.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_new_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_padding_add_PKCS1_OAEP.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_padding_add_PKCS1_OAEP_mgf1.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_padding_add_PKCS1_type_2.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_padding_add_SSLv23.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_padding_add_none.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_padding_check_PKCS1_OAEP.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_padding_check_PKCS1_OAEP_mgf1.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_padding_check_PKCS1_type_1.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_padding_check_PKCS1_type_2.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_padding_check_SSLv23.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_padding_check_none.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_print_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_private_decrypt.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_public_decrypt.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_security_bits.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_set0_crt_params.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_set0_factors.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_set0_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_set0_multi_prime_params.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_set_default_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_set_ex_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_set_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_test_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_verify.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/RSA_verify_ASN1_OCTET_STRING.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SCRYPT_PARAMS_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SCRYPT_PARAMS_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SCT_LIST_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SCT_LIST_print.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SCT_LIST_validate.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SCT_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SCT_get0_extensions.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SCT_get0_log_id.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SCT_get0_signature.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SCT_get_log_entry_type.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SCT_get_signature_nid.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SCT_get_source.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SCT_get_timestamp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SCT_get_validation_status.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SCT_get_version.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SCT_new_from_base64.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SCT_set0_extensions.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SCT_set0_log_id.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SCT_set0_signature.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SCT_set1_extensions.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SCT_set1_log_id.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SCT_set1_signature.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SCT_set_log_entry_type.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SCT_set_signature_nid.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SCT_set_source.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SCT_set_timestamp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SCT_set_version.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SCT_validation_status_string.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SHA1.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SHA1_Final.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SHA1_Init.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SHA1_Update.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SHA224.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SHA224_Final.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SHA224_Init.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SHA224_Update.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SHA256.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SHA256_Final.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SHA256_Update.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SHA384.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SHA384_Final.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SHA384_Init.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SHA384_Update.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SHA512.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SHA512_Final.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SHA512_Init.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SHA512_Update.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_description.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_find.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_get_auth_nid.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_get_bits.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_get_cipher_nid.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_get_digest_nid.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_get_handshake_digest.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_get_id.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_get_kx_nid.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_get_protocol_id.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_get_version.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_is_aead.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_standard_name.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_COMP_free_compression_methods.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_COMP_get0_name.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_COMP_get_compression_methods.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_COMP_get_id.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CONF_CTX_clear_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CONF_CTX_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CONF_CTX_set_ssl.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CONF_cmd_value_type.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_add0_chain_cert.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_add1_to_CA_list.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_add_client_CA.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_add_client_custom_ext.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_add_custom_ext.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_add_server_custom_ext.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_build_cert_chain.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_callback_ctrl.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_check_private_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_clear_chain_certs.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_clear_extra_chain_certs.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_clear_mode.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_clear_options.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_ct_is_enabled.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_dane_clear_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_dane_mtype_set.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_dane_set_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_decrypt_session_ticket_fn.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_disable_ct.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_enable_ct.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_generate_session_ticket_fn.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get0_CA_list.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get0_chain_certs.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get0_security_ex_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_cert_store.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_ciphers.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_client_CA_list.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_client_cert_cb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_default_passwd_cb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_default_passwd_cb_userdata.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_default_read_ahead.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_ex_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_info_callback.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_keylog_callback.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_max_cert_list.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_max_early_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_max_proto_version.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_min_proto_version.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_mode.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_num_tickets.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_options.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_quiet_shutdown.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_read_ahead.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_record_padding_callback_arg.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_recv_max_early_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_security_callback.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_security_level.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_session_cache_mode.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_timeout.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_tlsext_status_arg.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_tlsext_status_cb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_tlsext_status_type.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_verify_callback.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_verify_depth.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_keylog_cb_func.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_remove_session.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_select_current_cert.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_accept.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_accept_good.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_accept_renegotiate.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_cache_full.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_cb_hits.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_connect.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_connect_good.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_connect_renegotiate.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_get_cache_size.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_get_get_cb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_get_new_cb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_get_remove_cb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_hits.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_misses.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_set_new_cb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_set_remove_cb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_timeouts.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set0_chain.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set0_chain_cert_store.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set0_security_ex_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set0_verify_cert_store.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_cert_store.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_chain.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_chain_cert_store.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_client_sigalgs.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_client_sigalgs_list.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_curves_list.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_groups.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_groups_list.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_param.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_sigalgs_list.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_allow_early_data_cb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_alpn_protos.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_block_padding.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_ciphersuites.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_client_CA_list.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_cookie_generate_cb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_cookie_verify_cb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_current_cert.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_default_ctlog_list_file.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_default_passwd_cb_userdata.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_default_read_buffer_len.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_default_verify_dir.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_default_verify_file.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_default_verify_paths.html create mode 100644 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_ex_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_max_early_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_max_pipelines.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_max_proto_version.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_max_send_fragment.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_msg_callback_arg.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_next_proto_select_cb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_next_protos_advertised_cb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_post_handshake_auth.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_psk_find_session_callback.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_psk_server_callback.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_psk_use_session_callback.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_record_padding_callback_arg.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_recv_max_early_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_security_callback.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_stateless_cookie_verify_cb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_tlsext_max_fragment_length.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_tlsext_servername_arg.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_tlsext_status_arg.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_tlsext_status_type.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_tmp_dh.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_verify_depth.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_up_ref.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_PrivateKey.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_PrivateKey_ASN1.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_PrivateKey_file.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_RSAPrivateKey.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_RSAPrivateKey_ASN1.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_RSAPrivateKey_file.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_cert_and_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_certificate_ASN1.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_certificate_chain_file.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_certificate_file.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_serverinfo_ex.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_serverinfo_file.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_dup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get0_alpn_selected.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get0_ticket.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get0_ticket_appdata.html create mode 100644 linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get_ex_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get_id.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get_master_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get_max_early_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get_max_fragment_length.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get_ticket_lifetime_hint.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get_timeout.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_print_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_print_keylog.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_set1_alpn_selected.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_set1_hostname.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_set1_id_context.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_set1_master_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_set1_ticket_appdata.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_set_cipher.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_set_ex_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_set_max_early_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_set_protocol_version.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_set_time.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_set_timeout.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_up_ref.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_add0_chain_cert.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_add1_chain_cert.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_add1_host.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_add1_to_CA_list.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_add_client_CA.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_add_dir_cert_subjects_to_stack.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_add_file_cert_subjects_to_stack.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_alert_desc_string.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_alert_desc_string_long.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_alert_type_string_long.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_allow_early_data_cb_fn.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_build_cert_chain.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_bytes_to_cipher_list.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_callback_ctrl.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_check_private_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_clear_chain_certs.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_clear_mode.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_clear_options.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_client_hello_cb_fn.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_client_hello_get0_ciphers.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_client_hello_get0_compression_methods.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_client_hello_get0_ext.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_client_hello_get0_legacy_version.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_client_hello_get0_random.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_client_hello_get0_session_id.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_client_hello_get1_extensions_present.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_client_hello_isv2.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_client_version.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_config.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_ct_is_enabled.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_ctrl.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_dane_clear_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_dane_enable.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_dane_set_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_dane_tlsa_add.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_disable_ct.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_dup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_enable_ct.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_export_keying_material_early.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_free_buffers.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get0_CA_list.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get0_alpn_selected.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get0_chain_certs.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get0_dane_authority.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get0_dane_tlsa.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get0_next_proto_negotiated.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get0_param.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get0_peer_CA_list.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get0_peername.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get0_security_ex_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get0_session.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get0_verified_chain.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get1_curves.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get1_groups.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get1_session.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get1_supported_ciphers.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_changed_async_fds.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_cipher.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_cipher_bits.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_cipher_list.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_cipher_name.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_cipher_version.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_client_CA_list.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_client_ciphers.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_default_passwd_cb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_default_passwd_cb_userdata.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_early_data_status.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_ex_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_ex_data_X509_STORE_CTX_idx.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_info_callback.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_key_update_type.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_max_cert_list.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_max_early_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_max_proto_version.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_min_proto_version.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_mode.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_num_tickets.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_options.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_peer_signature_type_nid.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_pending_cipher.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_psk_identity_hint.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_quiet_shutdown.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_read_ahead.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_record_padding_callback_arg.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_recv_max_early_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_rfd.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_secure_renegotiation_support.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_security_callback.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_security_level.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_selected_srtp_profile.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_server_random.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_server_tmp_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_servername.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_servername_type.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_shared_ciphers.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_shared_curve.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_shared_group.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_shutdown.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_sigalgs.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_signature_nid.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_signature_type_nid.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_srtp_profiles.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_ssl_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_state.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_time.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_timeout.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_tlsext_status_ocsp_resp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_tlsext_status_type.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_tmp_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_verify_callback.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_verify_depth.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_verify_mode.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_wbio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_get_wfd.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_has_matching_session_id.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_has_pending.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_in_accept_init.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_in_before.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_in_connect_init.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_is_dtls.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_is_init_finished.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_is_server.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_load_error_strings.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_peek.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_peek_ex.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_psk_client_cb_func.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_psk_find_session_cb_func.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_psk_server_cb_func.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_psk_use_session_cb_func.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_read_ex.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_renegotiate.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_renegotiate_abbreviated.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_renegotiate_pending.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_rstate_string_long.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_select_current_cert.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_select_next_proto.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set0_CA_list.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set0_chain.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set0_chain_cert_store.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set0_rbio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set0_security_ex_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set0_verify_cert_store.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set0_wbio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set1_chain.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set1_chain_cert_store.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set1_client_sigalgs.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set1_client_sigalgs_list.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set1_curves.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set1_curves_list.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set1_groups.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set1_groups_list.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set1_param.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set1_sigalgs.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set1_sigalgs_list.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set1_verify_cert_store.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_accept_state.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_allow_early_data_cb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_alpn_protos.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_block_padding.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_cert_cb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_cipher_list.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_ciphersuites.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_client_CA_list.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_ct_validation_callback.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_current_cert.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_default_passwd_cb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_default_passwd_cb_userdata.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_default_read_buffer_len.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_ex_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_generate_session_id.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_hostflags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_info_callback.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_max_cert_list.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_max_early_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_max_pipelines.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_max_proto_version.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_max_send_fragment.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_min_proto_version.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_mode.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_msg_callback.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_msg_callback_arg.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_num_tickets.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_options.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_post_handshake_auth.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_psk_client_callback.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_psk_find_session_callback.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_psk_server_callback.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_psk_use_session_callback.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_quiet_shutdown.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_read_ahead.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_record_padding_callback.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_record_padding_callback_arg.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_recv_max_early_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_rfd.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_security_callback.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_security_level.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_session_id_context.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_split_send_fragment.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_ssl_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_time.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_timeout.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_tlsext_host_name.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_tlsext_max_fragment_length.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_tlsext_status_ocsp_resp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_tlsext_status_type.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_tlsext_use_srtp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_tmp_dh.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_tmp_dh_callback.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_verify.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_verify_depth.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_set_wfd.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_state_string_long.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_stateless.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_up_ref.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_use_PrivateKey.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_use_PrivateKey_ASN1.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_use_PrivateKey_file.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_use_RSAPrivateKey.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_use_RSAPrivateKey_ASN1.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_use_RSAPrivateKey_file.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_use_cert_and_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_use_certificate.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_use_certificate_ASN1.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_use_certificate_chain_file.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_use_certificate_file.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_use_psk_identity_hint.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_verify_cb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_verify_client_post_handshake.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_version.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_waiting_for_async.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_want_async.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_want_async_job.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_want_client_hello_cb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_want_nothing.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_want_read.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_want_write.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_want_x509_lookup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_write_early_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSL_write_ex.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSLv23_client_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSLv23_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSLv23_server_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSLv3_client_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSLv3_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SSLv3_server_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SXNETID_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SXNETID_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SXNET_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/SXNET_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/TLS_FEATURE_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/TLS_FEATURE_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/TLS_client_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/TLS_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/TLS_server_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/TLSv1_1_client_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/TLSv1_1_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/TLSv1_1_server_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/TLSv1_2_client_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/TLSv1_2_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/TLSv1_2_server_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/TLSv1_client_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/TLSv1_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/TLSv1_server_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/TS_ACCURACY_dup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/TS_ACCURACY_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/TS_ACCURACY_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/TS_MSG_IMPRINT_dup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/TS_MSG_IMPRINT_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/TS_MSG_IMPRINT_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/TS_REQ_dup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/TS_REQ_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/TS_REQ_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/TS_RESP_dup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/TS_RESP_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/TS_RESP_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/TS_STATUS_INFO_dup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/TS_STATUS_INFO_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/TS_STATUS_INFO_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/TS_TST_INFO_dup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/TS_TST_INFO_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/TS_TST_INFO_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_METHOD.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_OpenSSL.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_UTIL_read_pw_string.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_UTIL_wrap_read_pem_callback.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_add_error_string.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_add_info_string.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_add_input_boolean.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_add_input_string.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_add_user_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_add_verify_string.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_construct_prompt.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_ctrl.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_destroy_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_dup_error_string.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_dup_info_string.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_dup_input_boolean.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_dup_input_string.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_dup_user_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_dup_verify_string.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_get0_action_string.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_get0_output_string.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_get0_result.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_get0_result_string.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_get0_test_string.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_get0_user_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_get_default_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_get_ex_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_get_ex_new_index.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_get_input_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_get_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_get_result_length.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_get_result_maxsize.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_get_result_minsize.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_get_result_string_length.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_get_string_type.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_method_get_closer.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_method_get_data_destructor.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_method_get_data_duplicator.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_method_get_ex_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_method_get_flusher.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_method_get_opener.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_method_get_prompt_constructor.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_method_get_reader.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_method_get_writer.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_method_set_closer.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_method_set_data_duplicator.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_method_set_ex_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_method_set_flusher.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_method_set_opener.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_method_set_prompt_constructor.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_method_set_reader.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_method_set_writer.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_new_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_null.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_process.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_set_default_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_set_ex_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_set_method.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_set_result.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_set_result_ex.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/UI_string_types.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/USERNOTICE_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/USERNOTICE_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509V3_EXT_d2i.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509V3_EXT_i2d.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509V3_add1_i2d.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_ALGOR_cmp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_ALGOR_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_ALGOR_get0.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_ALGOR_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_ALGOR_set0.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_ALGOR_set_md.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_ATTRIBUTE_dup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_ATTRIBUTE_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_ATTRIBUTE_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_CERT_AUX_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_CERT_AUX_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_CINF_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_CINF_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_CRL_INFO_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_CRL_INFO_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_CRL_add0_revoked.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_CRL_add1_ext_i2d.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_CRL_add_ext.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_CRL_cmp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_CRL_delete_ext.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_CRL_digest.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_CRL_dup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_CRL_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_CRL_get0_by_cert.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_CRL_get0_extensions.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_CRL_get0_lastUpdate.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_CRL_get0_nextUpdate.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_CRL_get0_signature.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_CRL_get_REVOKED.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_CRL_get_ext.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_CRL_get_ext_by_NID.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_CRL_get_ext_by_OBJ.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_CRL_get_ext_by_critical.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_CRL_get_ext_count.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_CRL_get_ext_d2i.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_CRL_get_issuer.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_CRL_get_signature_nid.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_CRL_get_version.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_CRL_match.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_CRL_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_CRL_set1_lastUpdate.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_CRL_set1_nextUpdate.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_CRL_set_issuer_name.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_CRL_set_version.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_CRL_sign.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_CRL_sign_ctx.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_CRL_sort.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_CRL_verify.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_EXTENSION_create_by_NID.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_EXTENSION_create_by_OBJ.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_EXTENSION_dup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_EXTENSION_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_EXTENSION_get_critical.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_EXTENSION_get_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_EXTENSION_get_object.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_EXTENSION_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_EXTENSION_set_critical.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_EXTENSION_set_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_ctrl_fn.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_file.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_get_by_alias_fn.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_get_by_fingerprint_fn.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_get_by_issuer_serial_fn.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_get_by_subject_fn.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_get_method_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_get_store.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_get_ctrl.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_get_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_get_get_by_alias.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_get_get_by_fingerprint.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_get_get_by_issuer_serial.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_get_get_by_subject.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_get_init.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_get_new_item.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_get_shutdown.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_set_ctrl.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_set_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_set_get_by_alias.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_set_get_by_fingerprint.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_set_get_by_issuer_serial.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_set_get_by_subject.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_set_init.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_set_new_item.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_set_shutdown.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_set_method_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_NAME_ENTRY_create_by_NID.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_NAME_ENTRY_create_by_OBJ.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_NAME_ENTRY_create_by_txt.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_NAME_ENTRY_dup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_NAME_ENTRY_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_NAME_ENTRY_get_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_NAME_ENTRY_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_NAME_ENTRY_set_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_NAME_ENTRY_set_object.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_NAME_add_entry.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_NAME_add_entry_by_NID.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_NAME_add_entry_by_OBJ.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_NAME_cmp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_NAME_delete_entry.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_NAME_digest.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_NAME_dup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_NAME_entry_count.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_NAME_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_NAME_get_entry.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_NAME_get_index_by_OBJ.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_NAME_get_text_by_NID.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_NAME_get_text_by_OBJ.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_NAME_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_NAME_oneline.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_NAME_print.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_NAME_print_ex_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_OBJECT_set1_X509.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_OBJECT_set1_X509_CRL.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_PUBKEY_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_PUBKEY_get.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_PUBKEY_get0.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_PUBKEY_get0_param.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_PUBKEY_set.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_PUBKEY_set0_param.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_REQ_INFO_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_REQ_INFO_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_REQ_check_private_key.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_REQ_digest.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_REQ_dup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_REQ_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_REQ_get0_pubkey.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_REQ_get0_signature.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_REQ_get_X509_PUBKEY.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_REQ_get_pubkey.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_REQ_get_signature_nid.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_REQ_get_subject_name.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_REQ_get_version.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_REQ_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_REQ_set_pubkey.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_REQ_set_subject_name.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_REQ_set_version.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_REQ_sign.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_REQ_sign_ctx.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_REQ_verify.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_add1_ext_i2d.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_add_ext.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_delete_ext.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_dup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_get0_extensions.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_get0_revocationDate.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_get0_serialNumber.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_get_ext.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_get_ext_by_NID.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_get_ext_by_OBJ.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_get_ext_by_critical.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_get_ext_count.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_get_ext_d2i.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_set_revocationDate.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_set_serialNumber.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_SIG_INFO_get.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_SIG_INFO_set.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_SIG_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_SIG_getm.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_SIG_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_cert_crl_fn.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_check_crl_fn.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_check_issued_fn.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_check_policy_fn.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_check_revocation_fn.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_cleanup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_cleanup_fn.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get0_cert.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get0_chain.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get0_param.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get0_untrusted.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get1_chain.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_cert_crl.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_check_crl.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_check_issued.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_check_policy.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_check_revocation.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_cleanup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_crl_fn.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_current_cert.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_error_depth.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_ex_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_ex_new_index.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_get_crl.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_get_issuer.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_issuer_fn.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_lookup_certs.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_lookup_crls.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_num_untrusted.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_verify.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_verify_cb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_init.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_lookup_certs_fn.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_lookup_crls_fn.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set0_crls.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set0_param.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set0_trusted_stack.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set0_untrusted.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set0_verified_chain.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set_cert.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set_current_cert.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set_default.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set_error.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set_error_depth.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set_ex_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set_verify.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_verify_cb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_verify_fn.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_add_crl.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_get0_objects.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_cert_crl.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_check_crl.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_check_issued.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_check_policy.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_check_revocation.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_cleanup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_ex_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_ex_new_index.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_get_crl.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_get_issuer.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_lookup_certs.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_lookup_crls.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_verify_cb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_load_locations.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_lock.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_set1_param.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_cert_crl.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_check_crl.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_check_issued.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_check_policy.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_check_revocation.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_cleanup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_default_paths.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_depth.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_ex_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_get_crl.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_get_issuer.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_lookup_certs.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_lookup_crls.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_lookup_crls_cb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_purpose.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_trust.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_verify.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_verify_cb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_verify_func.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_unlock.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_STORE_up_ref.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_VAL_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_VAL_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_add0_policy.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_add1_host.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_clear_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_get0_peername.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_get_auth_level.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_get_depth.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_get_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_get_hostflags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_get_inh_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_get_time.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set1_email.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set1_host.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set1_ip.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set1_ip_asc.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set1_policies.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set_auth_level.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set_depth.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set_hostflags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set_inh_flags.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set_purpose.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set_time.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set_trust.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_add1_ext_i2d.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_add_ext.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_chain_up_ref.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_check_email.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_check_ip.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_check_ip_asc.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_cmp_current_time.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_delete_ext.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_get0_authority_issuer.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_get0_authority_key_id.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_get0_authority_serial.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_get0_extensions.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_get0_notAfter.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_get0_pubkey.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_get0_serialNumber.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_get0_subject_key_id.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_get0_tbs_sigalg.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_get_X509_PUBKEY.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_get_ex_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_get_ex_new_index.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_get_ext.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_get_ext_by_NID.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_get_ext_by_OBJ.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_get_ext_by_critical.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_get_ext_count.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_get_ext_d2i.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_get_extended_key_usage.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_get_issuer_name.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_get_key_usage.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_get_pathlen.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_get_proxy_pathlen.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_get_signature_info.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_get_signature_nid.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_getm_notAfter.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_getm_notBefore.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_issuer_and_serial_cmp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_issuer_name_cmp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_load_cert_crl_file.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_load_cert_file.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_load_crl_file.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_pubkey_digest.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_set1_notAfter.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_set1_notBefore.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_set_ex_data.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_set_issuer_name.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_set_proxy_flag.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_set_proxy_pathlen.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_set_pubkey.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_set_serialNumber.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_set_subject_name.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_set_version.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_sign_ctx.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_subject_name_cmp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_time_adj.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_time_adj_ex.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_up_ref.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_verify.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509_verify_cert_error_string.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509v3_add_ext.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509v3_delete_ext.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509v3_get_ext.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509v3_get_ext_by_OBJ.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509v3_get_ext_by_critical.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/X509v3_get_ext_count.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/custom_ext_add_cb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/custom_ext_free_cb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/custom_ext_parse_cb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_ACCESS_DESCRIPTION.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_ADMISSIONS.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_ADMISSION_SYNTAX.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_ASIdOrRange.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_ASIdentifierChoice.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_ASIdentifiers.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_BIT_STRING.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_BMPSTRING.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_ENUMERATED.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_GENERALIZEDTIME.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_GENERALSTRING.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_IA5STRING.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_INTEGER.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_NULL.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_OBJECT.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_OCTET_STRING.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_PRINTABLE.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_PRINTABLESTRING.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_SEQUENCE_ANY.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_SET_ANY.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_T61STRING.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_TIME.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_TYPE.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_UINTEGER.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_UNIVERSALSTRING.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_UTCTIME.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_UTF8STRING.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_VISIBLESTRING.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_ASRange.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_AUTHORITY_INFO_ACCESS.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_AUTHORITY_KEYID.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_AutoPrivateKey.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_BASIC_CONSTRAINTS.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_CERTIFICATEPOLICIES.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_CMS_ContentInfo.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_CMS_ReceiptRequest.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_CMS_bio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_CRL_DIST_POINTS.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_DHxparams.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_DIRECTORYSTRING.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_DISPLAYTEXT.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_DIST_POINT.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_DIST_POINT_NAME.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_DSAPrivateKey.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_DSAPrivateKey_bio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_DSAPrivateKey_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_DSAPublicKey.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_DSA_PUBKEY.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_DSA_PUBKEY_bio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_DSA_PUBKEY_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_DSA_SIG.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_DSAparams.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_ECDSA_SIG.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_ECPKParameters.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_ECParameters.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_ECPrivateKey.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_ECPrivateKey_bio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_ECPrivateKey_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_EC_PUBKEY.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_EC_PUBKEY_bio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_EC_PUBKEY_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_EDIPARTYNAME.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_ESS_CERT_ID.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_ESS_ISSUER_SERIAL.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_ESS_SIGNING_CERT.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_EXTENDED_KEY_USAGE.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_GENERAL_NAME.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_GENERAL_NAMES.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_IPAddressChoice.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_IPAddressFamily.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_IPAddressOrRange.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_IPAddressRange.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_ISSUING_DIST_POINT.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_NAMING_AUTHORITY.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_NETSCAPE_CERT_SEQUENCE.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_NETSCAPE_SPKAC.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_NETSCAPE_SPKI.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_NOTICEREF.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_BASICRESP.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_CERTID.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_CERTSTATUS.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_CRLID.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_ONEREQ.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_REQINFO.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_REQUEST.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_RESPBYTES.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_RESPDATA.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_RESPID.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_RESPONSE.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_REVOKEDINFO.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_SERVICELOC.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_SIGNATURE.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_SINGLERESP.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_OTHERNAME.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_PBE2PARAM.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_PBEPARAM.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_PBKDF2PARAM.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_PKCS12.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_PKCS12_BAGS.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_PKCS12_MAC_DATA.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_PKCS12_SAFEBAG.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_PKCS12_bio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_PKCS12_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_PKCS7.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_PKCS7_DIGEST.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_PKCS7_ENCRYPT.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_PKCS7_ENC_CONTENT.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_PKCS7_ENVELOPE.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_PKCS7_ISSUER_AND_SERIAL.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_PKCS7_RECIP_INFO.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_PKCS7_SIGNED.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_PKCS7_SIGNER_INFO.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_PKCS7_SIGN_ENVELOPE.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_PKCS7_bio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_PKCS7_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_PKCS8PrivateKey_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_PKCS8_PRIV_KEY_INFO.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_PKCS8_PRIV_KEY_INFO_bio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_PKCS8_PRIV_KEY_INFO_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_PKCS8_bio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_PKCS8_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_PKEY_USAGE_PERIOD.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_POLICYINFO.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_POLICYQUALINFO.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_PROFESSION_INFO.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_PROXY_CERT_INFO_EXTENSION.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_PROXY_POLICY.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_PUBKEY.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_PUBKEY_bio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_PUBKEY_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_PrivateKey_bio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_PrivateKey_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_PublicKey.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_RSAPrivateKey.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_RSAPrivateKey_bio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_RSAPrivateKey_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_RSAPublicKey.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_RSAPublicKey_bio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_RSAPublicKey_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_RSA_OAEP_PARAMS.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_RSA_PSS_PARAMS.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_RSA_PUBKEY.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_RSA_PUBKEY_bio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_RSA_PUBKEY_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_SCRYPT_PARAMS.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_SCT_LIST.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_SXNET.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_SXNETID.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_TS_ACCURACY.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_TS_MSG_IMPRINT.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_TS_MSG_IMPRINT_bio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_TS_MSG_IMPRINT_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_TS_REQ.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_TS_REQ_bio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_TS_REQ_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_TS_RESP.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_TS_RESP_bio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_TS_RESP_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_TS_STATUS_INFO.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_TS_TST_INFO.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_TS_TST_INFO_bio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_TS_TST_INFO_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_USERNOTICE.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_X509_ALGOR.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_X509_ALGORS.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_X509_ATTRIBUTE.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_X509_AUX.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_X509_CERT_AUX.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_X509_CINF.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_X509_CRL.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_X509_CRL_INFO.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_X509_CRL_bio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_X509_CRL_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_X509_EXTENSION.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_X509_EXTENSIONS.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_X509_NAME.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_X509_NAME_ENTRY.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_X509_PUBKEY.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_X509_REQ.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_X509_REQ_INFO.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_X509_REQ_bio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_X509_REQ_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_X509_REVOKED.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_X509_SIG.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/d2i_X509_VAL.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_ACCESS_DESCRIPTION.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_ADMISSIONS.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_ADMISSION_SYNTAX.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_ASIdOrRange.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_ASIdentifierChoice.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_ASIdentifiers.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_BIT_STRING.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_BMPSTRING.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_ENUMERATED.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_GENERALIZEDTIME.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_GENERALSTRING.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_IA5STRING.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_INTEGER.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_NULL.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_OBJECT.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_OCTET_STRING.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_PRINTABLE.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_PRINTABLESTRING.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_SEQUENCE_ANY.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_SET_ANY.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_T61STRING.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_TIME.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_TYPE.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_UNIVERSALSTRING.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_UTCTIME.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_UTF8STRING.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_VISIBLESTRING.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_bio_stream.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_ASRange.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_AUTHORITY_INFO_ACCESS.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_AUTHORITY_KEYID.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_BASIC_CONSTRAINTS.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_CERTIFICATEPOLICIES.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_CMS_ContentInfo.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_CMS_ReceiptRequest.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_CMS_bio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_CRL_DIST_POINTS.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_DHparams.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_DHxparams.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_DIRECTORYSTRING.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_DISPLAYTEXT.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_DIST_POINT.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_DIST_POINT_NAME.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_DSAPrivateKey.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_DSAPrivateKey_bio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_DSAPrivateKey_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_DSAPublicKey.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_DSA_PUBKEY.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_DSA_PUBKEY_bio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_DSA_PUBKEY_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_DSA_SIG.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_DSAparams.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_ECDSA_SIG.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_ECPKParameters.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_ECParameters.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_ECPrivateKey.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_ECPrivateKey_bio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_ECPrivateKey_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_EC_PUBKEY.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_EC_PUBKEY_bio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_EC_PUBKEY_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_EDIPARTYNAME.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_ESS_CERT_ID.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_ESS_ISSUER_SERIAL.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_ESS_SIGNING_CERT.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_EXTENDED_KEY_USAGE.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_GENERAL_NAME.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_GENERAL_NAMES.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_IPAddressChoice.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_IPAddressFamily.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_IPAddressOrRange.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_IPAddressRange.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_ISSUING_DIST_POINT.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_NAMING_AUTHORITY.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_NETSCAPE_CERT_SEQUENCE.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_NETSCAPE_SPKAC.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_NETSCAPE_SPKI.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_NOTICEREF.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_BASICRESP.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_CERTID.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_CERTSTATUS.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_CRLID.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_ONEREQ.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_REQINFO.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_REQUEST.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_RESPBYTES.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_RESPDATA.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_RESPID.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_RESPONSE.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_REVOKEDINFO.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_SERVICELOC.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_SIGNATURE.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_SINGLERESP.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_OTHERNAME.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_PBE2PARAM.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_PBEPARAM.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_PBKDF2PARAM.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_PKCS12.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_PKCS12_BAGS.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_PKCS12_MAC_DATA.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_PKCS12_SAFEBAG.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_PKCS12_bio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_PKCS12_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_DIGEST.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_ENCRYPT.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_ENC_CONTENT.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_ENVELOPE.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_ISSUER_AND_SERIAL.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_NDEF.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_RECIP_INFO.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_SIGNED.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_SIGNER_INFO.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_SIGN_ENVELOPE.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_bio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_PKCS8PrivateKeyInfo_bio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_PKCS8PrivateKeyInfo_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_PKCS8PrivateKey_bio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_PKCS8PrivateKey_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_PKCS8PrivateKey_nid_bio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_PKCS8PrivateKey_nid_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_PKCS8_PRIV_KEY_INFO.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_PKCS8_PRIV_KEY_INFO_bio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_PKCS8_PRIV_KEY_INFO_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_PKCS8_bio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_PKCS8_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_PKEY_USAGE_PERIOD.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_POLICYINFO.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_POLICYQUALINFO.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_PROFESSION_INFO.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_PROXY_CERT_INFO_EXTENSION.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_PROXY_POLICY.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_PUBKEY.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_PUBKEY_bio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_PUBKEY_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_PrivateKey.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_PublicKey.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_RSAPrivateKey.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_RSAPrivateKey_bio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_RSAPrivateKey_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_RSAPublicKey.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_RSAPublicKey_bio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_RSAPublicKey_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_RSA_OAEP_PARAMS.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_RSA_PSS_PARAMS.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_RSA_PUBKEY.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_RSA_PUBKEY_bio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_RSA_PUBKEY_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_SCRYPT_PARAMS.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_SCT_LIST.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_SSL_SESSION.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_SXNET.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_SXNETID.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_TS_ACCURACY.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_TS_MSG_IMPRINT.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_TS_MSG_IMPRINT_bio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_TS_MSG_IMPRINT_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_TS_REQ.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_TS_REQ_bio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_TS_REQ_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_TS_RESP.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_TS_RESP_bio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_TS_RESP_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_TS_STATUS_INFO.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_TS_TST_INFO.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_TS_TST_INFO_bio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_TS_TST_INFO_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_USERNOTICE.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_X509.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_X509_ALGOR.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_X509_ALGORS.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_X509_ATTRIBUTE.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_X509_AUX.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_X509_CERT_AUX.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_X509_CINF.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_X509_CRL.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_X509_CRL_INFO.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_X509_CRL_bio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_X509_CRL_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_X509_EXTENSION.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_X509_EXTENSIONS.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_X509_NAME.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_X509_NAME_ENTRY.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_X509_PUBKEY.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_X509_REQ.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_X509_REQ_INFO.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_X509_REQ_bio.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_X509_REQ_fp.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_X509_REVOKED.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_X509_SIG.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_X509_VAL.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_re_X509_CRL_tbs.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2d_re_X509_REQ_tbs.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2o_SCT.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2o_SCT_LIST.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/i2t_ASN1_OBJECT.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/lh_TYPE_delete.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/lh_TYPE_doall.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/lh_TYPE_doall_arg.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/lh_TYPE_error.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/lh_TYPE_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/lh_TYPE_insert.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/lh_TYPE_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/lh_TYPE_retrieve.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/o2i_SCT.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/pem_password_cb.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/sk_TYPE_deep_copy.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/sk_TYPE_delete.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/sk_TYPE_delete_ptr.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/sk_TYPE_dup.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/sk_TYPE_find.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/sk_TYPE_find_ex.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/sk_TYPE_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/sk_TYPE_insert.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/sk_TYPE_is_sorted.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/sk_TYPE_new.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/sk_TYPE_new_null.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/sk_TYPE_new_reserve.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/sk_TYPE_num.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/sk_TYPE_pop.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/sk_TYPE_pop_free.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/sk_TYPE_push.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/sk_TYPE_reserve.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/sk_TYPE_set.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/sk_TYPE_set_cmp_func.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/sk_TYPE_shift.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/sk_TYPE_sort.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/sk_TYPE_unshift.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/sk_TYPE_value.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/sk_TYPE_zero.html create mode 120000 linux_amd64/share/doc/openssl/html/man3/ssl_ct_validation_cb.html create mode 120000 linux_amd64/share/doc/openssl/html/man7/Ed448.html create mode 120000 linux_amd64/share/doc/openssl/html/man7/X448.html create mode 100644 linux_amd64/share/doc/openssl/html/man7/scrypt.html create mode 100644 linux_amd64/share/man/man1/asn1parse.1 create mode 120000 linux_amd64/share/man/man1/c_rehash.1 create mode 100644 linux_amd64/share/man/man1/ca.1 create mode 100644 linux_amd64/share/man/man1/ciphers.1 create mode 100644 linux_amd64/share/man/man1/cms.1 create mode 100644 linux_amd64/share/man/man1/crl.1 create mode 100644 linux_amd64/share/man/man1/crl2pkcs7.1 create mode 100644 linux_amd64/share/man/man1/dgst.1 create mode 100644 linux_amd64/share/man/man1/dhparam.1 create mode 100644 linux_amd64/share/man/man1/dsa.1 create mode 100644 linux_amd64/share/man/man1/dsaparam.1 create mode 100644 linux_amd64/share/man/man1/ec.1 create mode 100644 linux_amd64/share/man/man1/ecparam.1 create mode 100644 linux_amd64/share/man/man1/enc.1 create mode 100644 linux_amd64/share/man/man1/engine.1 create mode 100644 linux_amd64/share/man/man1/errstr.1 create mode 100644 linux_amd64/share/man/man1/gendsa.1 create mode 100644 linux_amd64/share/man/man1/genpkey.1 create mode 100644 linux_amd64/share/man/man1/genrsa.1 create mode 100644 linux_amd64/share/man/man1/list.1 create mode 100644 linux_amd64/share/man/man1/nseq.1 create mode 100644 linux_amd64/share/man/man1/ocsp.1 create mode 120000 linux_amd64/share/man/man1/openssl-c_rehash.1 create mode 120000 linux_amd64/share/man/man1/openssl-tsget.1 create mode 100644 linux_amd64/share/man/man1/passwd.1 create mode 100644 linux_amd64/share/man/man1/pkcs12.1 create mode 100644 linux_amd64/share/man/man1/pkcs7.1 create mode 100644 linux_amd64/share/man/man1/pkcs8.1 create mode 100644 linux_amd64/share/man/man1/pkey.1 create mode 100644 linux_amd64/share/man/man1/pkeyparam.1 create mode 100644 linux_amd64/share/man/man1/pkeyutl.1 create mode 100644 linux_amd64/share/man/man1/prime.1 create mode 100644 linux_amd64/share/man/man1/rand.1 create mode 100644 linux_amd64/share/man/man1/rehash.1 create mode 100644 linux_amd64/share/man/man1/req.1 create mode 100644 linux_amd64/share/man/man1/rsa.1 create mode 100644 linux_amd64/share/man/man1/rsautl.1 create mode 100644 linux_amd64/share/man/man1/s_client.1 create mode 100644 linux_amd64/share/man/man1/s_server.1 create mode 100644 linux_amd64/share/man/man1/s_time.1 create mode 100644 linux_amd64/share/man/man1/sess_id.1 create mode 100644 linux_amd64/share/man/man1/smime.1 create mode 100644 linux_amd64/share/man/man1/speed.1 create mode 100644 linux_amd64/share/man/man1/spkac.1 create mode 100644 linux_amd64/share/man/man1/srp.1 create mode 100644 linux_amd64/share/man/man1/storeutl.1 create mode 100644 linux_amd64/share/man/man1/ts.1 create mode 100644 linux_amd64/share/man/man1/verify.1 create mode 100644 linux_amd64/share/man/man1/version.1 create mode 100644 linux_amd64/share/man/man1/x509.1 create mode 120000 linux_amd64/share/man/man3/ACCESS_DESCRIPTION_free.3 create mode 120000 linux_amd64/share/man/man3/ACCESS_DESCRIPTION_new.3 create mode 120000 linux_amd64/share/man/man3/ADMISSIONS_free.3 create mode 120000 linux_amd64/share/man/man3/ADMISSIONS_get0_admissionAuthority.3 create mode 120000 linux_amd64/share/man/man3/ADMISSIONS_get0_namingAuthority.3 create mode 120000 linux_amd64/share/man/man3/ADMISSIONS_get0_professionInfos.3 create mode 120000 linux_amd64/share/man/man3/ADMISSIONS_new.3 create mode 120000 linux_amd64/share/man/man3/ADMISSIONS_set0_admissionAuthority.3 create mode 120000 linux_amd64/share/man/man3/ADMISSIONS_set0_namingAuthority.3 create mode 120000 linux_amd64/share/man/man3/ADMISSIONS_set0_professionInfos.3 create mode 120000 linux_amd64/share/man/man3/ADMISSION_SYNTAX.3 create mode 120000 linux_amd64/share/man/man3/ADMISSION_SYNTAX_free.3 create mode 120000 linux_amd64/share/man/man3/ADMISSION_SYNTAX_get0_admissionAuthority.3 create mode 120000 linux_amd64/share/man/man3/ADMISSION_SYNTAX_get0_contentsOfAdmissions.3 create mode 120000 linux_amd64/share/man/man3/ADMISSION_SYNTAX_new.3 create mode 120000 linux_amd64/share/man/man3/ADMISSION_SYNTAX_set0_admissionAuthority.3 create mode 120000 linux_amd64/share/man/man3/ADMISSION_SYNTAX_set0_contentsOfAdmissions.3 create mode 120000 linux_amd64/share/man/man3/ASIdOrRange_free.3 create mode 120000 linux_amd64/share/man/man3/ASIdOrRange_new.3 create mode 120000 linux_amd64/share/man/man3/ASIdentifierChoice_free.3 create mode 120000 linux_amd64/share/man/man3/ASIdentifierChoice_new.3 create mode 120000 linux_amd64/share/man/man3/ASIdentifiers_free.3 create mode 120000 linux_amd64/share/man/man3/ASIdentifiers_new.3 create mode 120000 linux_amd64/share/man/man3/ASN1_ENUMERATED_get.3 create mode 120000 linux_amd64/share/man/man3/ASN1_ENUMERATED_get_int64.3 create mode 120000 linux_amd64/share/man/man3/ASN1_ENUMERATED_set.3 create mode 120000 linux_amd64/share/man/man3/ASN1_ENUMERATED_set_int64.3 create mode 120000 linux_amd64/share/man/man3/ASN1_ENUMERATED_to_BN.3 create mode 120000 linux_amd64/share/man/man3/ASN1_GENERALIZEDTIME_adj.3 create mode 120000 linux_amd64/share/man/man3/ASN1_GENERALIZEDTIME_check.3 create mode 120000 linux_amd64/share/man/man3/ASN1_GENERALIZEDTIME_print.3 create mode 120000 linux_amd64/share/man/man3/ASN1_GENERALIZEDTIME_set.3 create mode 120000 linux_amd64/share/man/man3/ASN1_GENERALIZEDTIME_set_string.3 create mode 120000 linux_amd64/share/man/man3/ASN1_INTEGER_get.3 create mode 120000 linux_amd64/share/man/man3/ASN1_INTEGER_get_uint64.3 create mode 120000 linux_amd64/share/man/man3/ASN1_INTEGER_set.3 create mode 120000 linux_amd64/share/man/man3/ASN1_INTEGER_set_int64.3 create mode 120000 linux_amd64/share/man/man3/ASN1_INTEGER_set_uint64.3 create mode 120000 linux_amd64/share/man/man3/ASN1_INTEGER_to_BN.3 create mode 120000 linux_amd64/share/man/man3/ASN1_ITEM.3 create mode 120000 linux_amd64/share/man/man3/ASN1_ITEM_get.3 create mode 120000 linux_amd64/share/man/man3/ASN1_OBJECT_free.3 create mode 120000 linux_amd64/share/man/man3/ASN1_STRING_TABLE.3 create mode 120000 linux_amd64/share/man/man3/ASN1_STRING_TABLE_cleanup.3 create mode 120000 linux_amd64/share/man/man3/ASN1_STRING_TABLE_get.3 create mode 120000 linux_amd64/share/man/man3/ASN1_STRING_cmp.3 create mode 120000 linux_amd64/share/man/man3/ASN1_STRING_data.3 create mode 120000 linux_amd64/share/man/man3/ASN1_STRING_dup.3 create mode 120000 linux_amd64/share/man/man3/ASN1_STRING_free.3 create mode 120000 linux_amd64/share/man/man3/ASN1_STRING_get0_data.3 create mode 120000 linux_amd64/share/man/man3/ASN1_STRING_print.3 create mode 120000 linux_amd64/share/man/man3/ASN1_STRING_print_ex_fp.3 create mode 120000 linux_amd64/share/man/man3/ASN1_STRING_set.3 create mode 120000 linux_amd64/share/man/man3/ASN1_STRING_to_UTF8.3 create mode 120000 linux_amd64/share/man/man3/ASN1_STRING_type.3 create mode 120000 linux_amd64/share/man/man3/ASN1_STRING_type_new.3 create mode 120000 linux_amd64/share/man/man3/ASN1_TIME_adj.3 create mode 120000 linux_amd64/share/man/man3/ASN1_TIME_check.3 create mode 120000 linux_amd64/share/man/man3/ASN1_TIME_cmp_time_t.3 create mode 120000 linux_amd64/share/man/man3/ASN1_TIME_compare.3 create mode 120000 linux_amd64/share/man/man3/ASN1_TIME_diff.3 create mode 120000 linux_amd64/share/man/man3/ASN1_TIME_normalize.3 create mode 120000 linux_amd64/share/man/man3/ASN1_TIME_print.3 create mode 120000 linux_amd64/share/man/man3/ASN1_TIME_set_string.3 create mode 120000 linux_amd64/share/man/man3/ASN1_TIME_set_string_X509.3 create mode 120000 linux_amd64/share/man/man3/ASN1_TIME_to_generalizedtime.3 create mode 120000 linux_amd64/share/man/man3/ASN1_TIME_to_tm.3 create mode 120000 linux_amd64/share/man/man3/ASN1_TYPE_cmp.3 create mode 120000 linux_amd64/share/man/man3/ASN1_TYPE_pack_sequence.3 create mode 120000 linux_amd64/share/man/man3/ASN1_TYPE_set.3 create mode 120000 linux_amd64/share/man/man3/ASN1_TYPE_set1.3 create mode 120000 linux_amd64/share/man/man3/ASN1_TYPE_unpack_sequence.3 create mode 120000 linux_amd64/share/man/man3/ASN1_UTCTIME_adj.3 create mode 120000 linux_amd64/share/man/man3/ASN1_UTCTIME_check.3 create mode 120000 linux_amd64/share/man/man3/ASN1_UTCTIME_cmp_time_t.3 create mode 120000 linux_amd64/share/man/man3/ASN1_UTCTIME_print.3 create mode 120000 linux_amd64/share/man/man3/ASN1_UTCTIME_set.3 create mode 120000 linux_amd64/share/man/man3/ASN1_UTCTIME_set_string.3 create mode 120000 linux_amd64/share/man/man3/ASN1_add_oid_module.3 create mode 120000 linux_amd64/share/man/man3/ASN1_generate_v3.3 create mode 120000 linux_amd64/share/man/man3/ASN1_tag2str.3 create mode 120000 linux_amd64/share/man/man3/ASRange_free.3 create mode 120000 linux_amd64/share/man/man3/ASRange_new.3 create mode 120000 linux_amd64/share/man/man3/ASYNC_WAIT_CTX_clear_fd.3 create mode 120000 linux_amd64/share/man/man3/ASYNC_WAIT_CTX_free.3 create mode 120000 linux_amd64/share/man/man3/ASYNC_WAIT_CTX_get_all_fds.3 create mode 120000 linux_amd64/share/man/man3/ASYNC_WAIT_CTX_get_changed_fds.3 create mode 120000 linux_amd64/share/man/man3/ASYNC_WAIT_CTX_get_fd.3 create mode 120000 linux_amd64/share/man/man3/ASYNC_WAIT_CTX_set_wait_fd.3 create mode 120000 linux_amd64/share/man/man3/ASYNC_block_pause.3 create mode 120000 linux_amd64/share/man/man3/ASYNC_cleanup_thread.3 create mode 120000 linux_amd64/share/man/man3/ASYNC_get_current_job.3 create mode 120000 linux_amd64/share/man/man3/ASYNC_get_wait_ctx.3 create mode 120000 linux_amd64/share/man/man3/ASYNC_init_thread.3 create mode 120000 linux_amd64/share/man/man3/ASYNC_is_capable.3 create mode 120000 linux_amd64/share/man/man3/ASYNC_pause_job.3 create mode 120000 linux_amd64/share/man/man3/ASYNC_unblock_pause.3 create mode 120000 linux_amd64/share/man/man3/AUTHORITY_INFO_ACCESS_free.3 create mode 120000 linux_amd64/share/man/man3/AUTHORITY_INFO_ACCESS_new.3 create mode 120000 linux_amd64/share/man/man3/AUTHORITY_KEYID_free.3 create mode 120000 linux_amd64/share/man/man3/AUTHORITY_KEYID_new.3 create mode 120000 linux_amd64/share/man/man3/BASIC_CONSTRAINTS_free.3 create mode 120000 linux_amd64/share/man/man3/BASIC_CONSTRAINTS_new.3 create mode 120000 linux_amd64/share/man/man3/BF_cbc_encrypt.3 create mode 120000 linux_amd64/share/man/man3/BF_cfb64_encrypt.3 create mode 120000 linux_amd64/share/man/man3/BF_decrypt.3 create mode 120000 linux_amd64/share/man/man3/BF_ecb_encrypt.3 create mode 120000 linux_amd64/share/man/man3/BF_ofb64_encrypt.3 create mode 120000 linux_amd64/share/man/man3/BF_options.3 create mode 120000 linux_amd64/share/man/man3/BF_set_key.3 create mode 120000 linux_amd64/share/man/man3/BIO_ADDRINFO_address.3 create mode 120000 linux_amd64/share/man/man3/BIO_ADDRINFO_family.3 create mode 120000 linux_amd64/share/man/man3/BIO_ADDRINFO_free.3 create mode 120000 linux_amd64/share/man/man3/BIO_ADDRINFO_next.3 create mode 120000 linux_amd64/share/man/man3/BIO_ADDRINFO_protocol.3 create mode 120000 linux_amd64/share/man/man3/BIO_ADDRINFO_socktype.3 create mode 120000 linux_amd64/share/man/man3/BIO_ADDR_clear.3 create mode 120000 linux_amd64/share/man/man3/BIO_ADDR_family.3 create mode 120000 linux_amd64/share/man/man3/BIO_ADDR_free.3 create mode 120000 linux_amd64/share/man/man3/BIO_ADDR_hostname_string.3 create mode 120000 linux_amd64/share/man/man3/BIO_ADDR_new.3 create mode 120000 linux_amd64/share/man/man3/BIO_ADDR_path_string.3 create mode 120000 linux_amd64/share/man/man3/BIO_ADDR_rawaddress.3 create mode 120000 linux_amd64/share/man/man3/BIO_ADDR_rawmake.3 create mode 120000 linux_amd64/share/man/man3/BIO_ADDR_rawport.3 create mode 120000 linux_amd64/share/man/man3/BIO_ADDR_service_string.3 create mode 120000 linux_amd64/share/man/man3/BIO_accept_ex.3 create mode 120000 linux_amd64/share/man/man3/BIO_append_filename.3 create mode 120000 linux_amd64/share/man/man3/BIO_bind.3 create mode 120000 linux_amd64/share/man/man3/BIO_callback_ctrl.3 create mode 120000 linux_amd64/share/man/man3/BIO_callback_fn.3 create mode 120000 linux_amd64/share/man/man3/BIO_callback_fn_ex.3 create mode 120000 linux_amd64/share/man/man3/BIO_closesocket.3 create mode 120000 linux_amd64/share/man/man3/BIO_ctrl_get_read_request.3 create mode 120000 linux_amd64/share/man/man3/BIO_ctrl_get_write_guarantee.3 create mode 120000 linux_amd64/share/man/man3/BIO_ctrl_pending.3 create mode 120000 linux_amd64/share/man/man3/BIO_ctrl_reset_read_request.3 create mode 120000 linux_amd64/share/man/man3/BIO_ctrl_wpending.3 create mode 120000 linux_amd64/share/man/man3/BIO_debug_callback.3 create mode 120000 linux_amd64/share/man/man3/BIO_destroy_bio_pair.3 create mode 120000 linux_amd64/share/man/man3/BIO_do_accept.3 create mode 120000 linux_amd64/share/man/man3/BIO_do_connect.3 create mode 120000 linux_amd64/share/man/man3/BIO_do_handshake.3 create mode 120000 linux_amd64/share/man/man3/BIO_eof.3 create mode 120000 linux_amd64/share/man/man3/BIO_flush.3 create mode 120000 linux_amd64/share/man/man3/BIO_free.3 create mode 120000 linux_amd64/share/man/man3/BIO_free_all.3 create mode 120000 linux_amd64/share/man/man3/BIO_get_accept_ip_family.3 create mode 120000 linux_amd64/share/man/man3/BIO_get_accept_name.3 create mode 120000 linux_amd64/share/man/man3/BIO_get_accept_port.3 create mode 120000 linux_amd64/share/man/man3/BIO_get_bind_mode.3 create mode 120000 linux_amd64/share/man/man3/BIO_get_buffer_num_lines.3 create mode 120000 linux_amd64/share/man/man3/BIO_get_callback.3 create mode 120000 linux_amd64/share/man/man3/BIO_get_callback_arg.3 create mode 120000 linux_amd64/share/man/man3/BIO_get_callback_ex.3 create mode 120000 linux_amd64/share/man/man3/BIO_get_cipher_ctx.3 create mode 120000 linux_amd64/share/man/man3/BIO_get_cipher_status.3 create mode 120000 linux_amd64/share/man/man3/BIO_get_close.3 create mode 120000 linux_amd64/share/man/man3/BIO_get_conn_address.3 create mode 120000 linux_amd64/share/man/man3/BIO_get_conn_hostname.3 create mode 120000 linux_amd64/share/man/man3/BIO_get_conn_ip_family.3 create mode 120000 linux_amd64/share/man/man3/BIO_get_conn_port.3 create mode 120000 linux_amd64/share/man/man3/BIO_get_ex_data.3 create mode 120000 linux_amd64/share/man/man3/BIO_get_fd.3 create mode 120000 linux_amd64/share/man/man3/BIO_get_fp.3 create mode 120000 linux_amd64/share/man/man3/BIO_get_info_callback.3 create mode 120000 linux_amd64/share/man/man3/BIO_get_init.3 create mode 120000 linux_amd64/share/man/man3/BIO_get_md.3 create mode 120000 linux_amd64/share/man/man3/BIO_get_md_ctx.3 create mode 120000 linux_amd64/share/man/man3/BIO_get_mem_data.3 create mode 120000 linux_amd64/share/man/man3/BIO_get_mem_ptr.3 create mode 120000 linux_amd64/share/man/man3/BIO_get_new_index.3 create mode 120000 linux_amd64/share/man/man3/BIO_get_num_renegotiates.3 create mode 120000 linux_amd64/share/man/man3/BIO_get_peer_name.3 create mode 120000 linux_amd64/share/man/man3/BIO_get_peer_port.3 create mode 120000 linux_amd64/share/man/man3/BIO_get_read_request.3 create mode 120000 linux_amd64/share/man/man3/BIO_get_retry_BIO.3 create mode 120000 linux_amd64/share/man/man3/BIO_get_retry_reason.3 create mode 120000 linux_amd64/share/man/man3/BIO_get_shutdown.3 create mode 120000 linux_amd64/share/man/man3/BIO_get_ssl.3 create mode 120000 linux_amd64/share/man/man3/BIO_get_write_buf_size.3 create mode 120000 linux_amd64/share/man/man3/BIO_get_write_guarantee.3 create mode 120000 linux_amd64/share/man/man3/BIO_gets.3 create mode 120000 linux_amd64/share/man/man3/BIO_hostserv_priorities.3 create mode 120000 linux_amd64/share/man/man3/BIO_info_cb.3 create mode 120000 linux_amd64/share/man/man3/BIO_int_ctrl.3 create mode 120000 linux_amd64/share/man/man3/BIO_listen.3 create mode 120000 linux_amd64/share/man/man3/BIO_lookup.3 create mode 120000 linux_amd64/share/man/man3/BIO_lookup_ex.3 create mode 120000 linux_amd64/share/man/man3/BIO_lookup_type.3 create mode 120000 linux_amd64/share/man/man3/BIO_make_bio_pair.3 create mode 120000 linux_amd64/share/man/man3/BIO_meth_free.3 create mode 120000 linux_amd64/share/man/man3/BIO_meth_get_callback_ctrl.3 create mode 120000 linux_amd64/share/man/man3/BIO_meth_get_create.3 create mode 120000 linux_amd64/share/man/man3/BIO_meth_get_ctrl.3 create mode 120000 linux_amd64/share/man/man3/BIO_meth_get_destroy.3 create mode 120000 linux_amd64/share/man/man3/BIO_meth_get_gets.3 create mode 120000 linux_amd64/share/man/man3/BIO_meth_get_puts.3 create mode 120000 linux_amd64/share/man/man3/BIO_meth_get_read.3 create mode 120000 linux_amd64/share/man/man3/BIO_meth_get_read_ex.3 create mode 120000 linux_amd64/share/man/man3/BIO_meth_get_write.3 create mode 120000 linux_amd64/share/man/man3/BIO_meth_get_write_ex.3 create mode 120000 linux_amd64/share/man/man3/BIO_meth_set_callback_ctrl.3 create mode 120000 linux_amd64/share/man/man3/BIO_meth_set_create.3 create mode 120000 linux_amd64/share/man/man3/BIO_meth_set_ctrl.3 create mode 120000 linux_amd64/share/man/man3/BIO_meth_set_destroy.3 create mode 120000 linux_amd64/share/man/man3/BIO_meth_set_gets.3 create mode 120000 linux_amd64/share/man/man3/BIO_meth_set_puts.3 create mode 120000 linux_amd64/share/man/man3/BIO_meth_set_read.3 create mode 120000 linux_amd64/share/man/man3/BIO_meth_set_read_ex.3 create mode 120000 linux_amd64/share/man/man3/BIO_meth_set_write.3 create mode 120000 linux_amd64/share/man/man3/BIO_meth_set_write_ex.3 create mode 120000 linux_amd64/share/man/man3/BIO_method_type.3 create mode 120000 linux_amd64/share/man/man3/BIO_new_accept.3 create mode 120000 linux_amd64/share/man/man3/BIO_new_bio_pair.3 create mode 120000 linux_amd64/share/man/man3/BIO_new_buffer_ssl_connect.3 create mode 120000 linux_amd64/share/man/man3/BIO_new_connect.3 create mode 120000 linux_amd64/share/man/man3/BIO_new_fd.3 create mode 120000 linux_amd64/share/man/man3/BIO_new_file.3 create mode 120000 linux_amd64/share/man/man3/BIO_new_fp.3 create mode 120000 linux_amd64/share/man/man3/BIO_new_mem_buf.3 create mode 120000 linux_amd64/share/man/man3/BIO_new_socket.3 create mode 120000 linux_amd64/share/man/man3/BIO_new_ssl.3 create mode 120000 linux_amd64/share/man/man3/BIO_new_ssl_connect.3 create mode 120000 linux_amd64/share/man/man3/BIO_next.3 create mode 120000 linux_amd64/share/man/man3/BIO_pending.3 create mode 120000 linux_amd64/share/man/man3/BIO_pop.3 create mode 120000 linux_amd64/share/man/man3/BIO_ptr_ctrl.3 create mode 120000 linux_amd64/share/man/man3/BIO_puts.3 create mode 120000 linux_amd64/share/man/man3/BIO_read_ex.3 create mode 120000 linux_amd64/share/man/man3/BIO_read_filename.3 create mode 120000 linux_amd64/share/man/man3/BIO_reset.3 create mode 120000 linux_amd64/share/man/man3/BIO_retry_type.3 create mode 120000 linux_amd64/share/man/man3/BIO_rw_filename.3 create mode 120000 linux_amd64/share/man/man3/BIO_s_secmem.3 create mode 120000 linux_amd64/share/man/man3/BIO_seek.3 create mode 120000 linux_amd64/share/man/man3/BIO_set_accept_bios.3 create mode 120000 linux_amd64/share/man/man3/BIO_set_accept_ip_family.3 create mode 120000 linux_amd64/share/man/man3/BIO_set_accept_name.3 create mode 120000 linux_amd64/share/man/man3/BIO_set_accept_port.3 create mode 120000 linux_amd64/share/man/man3/BIO_set_bind_mode.3 create mode 120000 linux_amd64/share/man/man3/BIO_set_buffer_read_data.3 create mode 120000 linux_amd64/share/man/man3/BIO_set_buffer_size.3 create mode 120000 linux_amd64/share/man/man3/BIO_set_callback_arg.3 create mode 120000 linux_amd64/share/man/man3/BIO_set_callback_ex.3 create mode 120000 linux_amd64/share/man/man3/BIO_set_cipher.3 create mode 120000 linux_amd64/share/man/man3/BIO_set_close.3 create mode 120000 linux_amd64/share/man/man3/BIO_set_conn_address.3 create mode 120000 linux_amd64/share/man/man3/BIO_set_conn_hostname.3 create mode 120000 linux_amd64/share/man/man3/BIO_set_conn_ip_family.3 create mode 120000 linux_amd64/share/man/man3/BIO_set_conn_port.3 create mode 120000 linux_amd64/share/man/man3/BIO_set_data.3 create mode 120000 linux_amd64/share/man/man3/BIO_set_ex_data.3 create mode 120000 linux_amd64/share/man/man3/BIO_set_fd.3 create mode 120000 linux_amd64/share/man/man3/BIO_set_fp.3 create mode 120000 linux_amd64/share/man/man3/BIO_set_info_callback.3 create mode 120000 linux_amd64/share/man/man3/BIO_set_init.3 create mode 120000 linux_amd64/share/man/man3/BIO_set_md.3 create mode 120000 linux_amd64/share/man/man3/BIO_set_mem_buf.3 create mode 120000 linux_amd64/share/man/man3/BIO_set_mem_eof_return.3 create mode 120000 linux_amd64/share/man/man3/BIO_set_nbio.3 create mode 120000 linux_amd64/share/man/man3/BIO_set_nbio_accept.3 create mode 120000 linux_amd64/share/man/man3/BIO_set_next.3 create mode 120000 linux_amd64/share/man/man3/BIO_set_read_buffer_size.3 create mode 120000 linux_amd64/share/man/man3/BIO_set_retry_reason.3 create mode 120000 linux_amd64/share/man/man3/BIO_set_shutdown.3 create mode 120000 linux_amd64/share/man/man3/BIO_set_ssl.3 create mode 120000 linux_amd64/share/man/man3/BIO_set_ssl_mode.3 create mode 120000 linux_amd64/share/man/man3/BIO_set_ssl_renegotiate_bytes.3 create mode 120000 linux_amd64/share/man/man3/BIO_set_ssl_renegotiate_timeout.3 create mode 120000 linux_amd64/share/man/man3/BIO_set_write_buf_size.3 create mode 120000 linux_amd64/share/man/man3/BIO_set_write_buffer_size.3 create mode 120000 linux_amd64/share/man/man3/BIO_should_io_special.3 create mode 120000 linux_amd64/share/man/man3/BIO_should_read.3 create mode 120000 linux_amd64/share/man/man3/BIO_should_write.3 create mode 120000 linux_amd64/share/man/man3/BIO_shutdown_wr.3 create mode 120000 linux_amd64/share/man/man3/BIO_snprintf.3 create mode 120000 linux_amd64/share/man/man3/BIO_socket.3 create mode 120000 linux_amd64/share/man/man3/BIO_ssl_copy_session_id.3 create mode 120000 linux_amd64/share/man/man3/BIO_ssl_shutdown.3 create mode 120000 linux_amd64/share/man/man3/BIO_tell.3 create mode 120000 linux_amd64/share/man/man3/BIO_up_ref.3 create mode 120000 linux_amd64/share/man/man3/BIO_vfree.3 create mode 120000 linux_amd64/share/man/man3/BIO_vprintf.3 create mode 120000 linux_amd64/share/man/man3/BIO_vsnprintf.3 create mode 120000 linux_amd64/share/man/man3/BIO_wpending.3 create mode 120000 linux_amd64/share/man/man3/BIO_write.3 create mode 120000 linux_amd64/share/man/man3/BIO_write_ex.3 create mode 120000 linux_amd64/share/man/man3/BIO_write_filename.3 create mode 120000 linux_amd64/share/man/man3/BN_BLINDING_convert.3 create mode 120000 linux_amd64/share/man/man3/BN_BLINDING_convert_ex.3 create mode 120000 linux_amd64/share/man/man3/BN_BLINDING_create_param.3 create mode 120000 linux_amd64/share/man/man3/BN_BLINDING_free.3 create mode 120000 linux_amd64/share/man/man3/BN_BLINDING_get_flags.3 create mode 120000 linux_amd64/share/man/man3/BN_BLINDING_invert.3 create mode 120000 linux_amd64/share/man/man3/BN_BLINDING_invert_ex.3 create mode 120000 linux_amd64/share/man/man3/BN_BLINDING_is_current_thread.3 create mode 120000 linux_amd64/share/man/man3/BN_BLINDING_lock.3 create mode 120000 linux_amd64/share/man/man3/BN_BLINDING_set_current_thread.3 create mode 120000 linux_amd64/share/man/man3/BN_BLINDING_set_flags.3 create mode 120000 linux_amd64/share/man/man3/BN_BLINDING_unlock.3 create mode 120000 linux_amd64/share/man/man3/BN_BLINDING_update.3 create mode 120000 linux_amd64/share/man/man3/BN_CTX_end.3 create mode 120000 linux_amd64/share/man/man3/BN_CTX_free.3 create mode 120000 linux_amd64/share/man/man3/BN_CTX_get.3 create mode 120000 linux_amd64/share/man/man3/BN_CTX_secure_new.3 create mode 120000 linux_amd64/share/man/man3/BN_GENCB_call.3 create mode 120000 linux_amd64/share/man/man3/BN_GENCB_free.3 create mode 120000 linux_amd64/share/man/man3/BN_GENCB_get_arg.3 create mode 120000 linux_amd64/share/man/man3/BN_GENCB_new.3 create mode 120000 linux_amd64/share/man/man3/BN_GENCB_set.3 create mode 120000 linux_amd64/share/man/man3/BN_GENCB_set_old.3 create mode 120000 linux_amd64/share/man/man3/BN_MONT_CTX_copy.3 create mode 120000 linux_amd64/share/man/man3/BN_MONT_CTX_free.3 create mode 120000 linux_amd64/share/man/man3/BN_MONT_CTX_new.3 create mode 120000 linux_amd64/share/man/man3/BN_MONT_CTX_set.3 create mode 120000 linux_amd64/share/man/man3/BN_RECP_CTX_free.3 create mode 120000 linux_amd64/share/man/man3/BN_RECP_CTX_new.3 create mode 120000 linux_amd64/share/man/man3/BN_RECP_CTX_set.3 create mode 120000 linux_amd64/share/man/man3/BN_bin2bn.3 create mode 120000 linux_amd64/share/man/man3/BN_bn2binpad.3 create mode 120000 linux_amd64/share/man/man3/BN_bn2dec.3 create mode 120000 linux_amd64/share/man/man3/BN_bn2hex.3 create mode 120000 linux_amd64/share/man/man3/BN_bn2lebinpad.3 create mode 120000 linux_amd64/share/man/man3/BN_bn2mpi.3 create mode 120000 linux_amd64/share/man/man3/BN_clear.3 create mode 120000 linux_amd64/share/man/man3/BN_clear_bit.3 create mode 120000 linux_amd64/share/man/man3/BN_clear_free.3 create mode 120000 linux_amd64/share/man/man3/BN_dec2bn.3 create mode 120000 linux_amd64/share/man/man3/BN_div.3 create mode 120000 linux_amd64/share/man/man3/BN_div_recp.3 create mode 120000 linux_amd64/share/man/man3/BN_div_word.3 create mode 120000 linux_amd64/share/man/man3/BN_dup.3 create mode 120000 linux_amd64/share/man/man3/BN_exp.3 create mode 120000 linux_amd64/share/man/man3/BN_free.3 create mode 120000 linux_amd64/share/man/man3/BN_from_montgomery.3 create mode 120000 linux_amd64/share/man/man3/BN_gcd.3 create mode 120000 linux_amd64/share/man/man3/BN_generate_prime_ex.3 create mode 120000 linux_amd64/share/man/man3/BN_get0_nist_prime_192.3 create mode 120000 linux_amd64/share/man/man3/BN_get0_nist_prime_224.3 create mode 120000 linux_amd64/share/man/man3/BN_get0_nist_prime_256.3 create mode 120000 linux_amd64/share/man/man3/BN_get0_nist_prime_384.3 create mode 120000 linux_amd64/share/man/man3/BN_get0_nist_prime_521.3 create mode 120000 linux_amd64/share/man/man3/BN_get_rfc2409_prime_1024.3 create mode 120000 linux_amd64/share/man/man3/BN_get_rfc2409_prime_768.3 create mode 120000 linux_amd64/share/man/man3/BN_get_rfc3526_prime_1536.3 create mode 120000 linux_amd64/share/man/man3/BN_get_rfc3526_prime_2048.3 create mode 120000 linux_amd64/share/man/man3/BN_get_rfc3526_prime_3072.3 create mode 120000 linux_amd64/share/man/man3/BN_get_rfc3526_prime_4096.3 create mode 120000 linux_amd64/share/man/man3/BN_get_rfc3526_prime_6144.3 create mode 120000 linux_amd64/share/man/man3/BN_get_rfc3526_prime_8192.3 create mode 120000 linux_amd64/share/man/man3/BN_get_word.3 create mode 120000 linux_amd64/share/man/man3/BN_hex2bn.3 create mode 120000 linux_amd64/share/man/man3/BN_is_bit_set.3 create mode 120000 linux_amd64/share/man/man3/BN_is_odd.3 create mode 120000 linux_amd64/share/man/man3/BN_is_one.3 create mode 120000 linux_amd64/share/man/man3/BN_is_prime.3 create mode 120000 linux_amd64/share/man/man3/BN_is_prime_ex.3 create mode 120000 linux_amd64/share/man/man3/BN_is_prime_fasttest.3 create mode 120000 linux_amd64/share/man/man3/BN_is_prime_fasttest_ex.3 create mode 120000 linux_amd64/share/man/man3/BN_is_word.3 create mode 120000 linux_amd64/share/man/man3/BN_is_zero.3 create mode 120000 linux_amd64/share/man/man3/BN_lebin2bn.3 create mode 120000 linux_amd64/share/man/man3/BN_lshift.3 create mode 120000 linux_amd64/share/man/man3/BN_lshift1.3 create mode 120000 linux_amd64/share/man/man3/BN_mask_bits.3 create mode 120000 linux_amd64/share/man/man3/BN_mod.3 create mode 120000 linux_amd64/share/man/man3/BN_mod_add.3 create mode 120000 linux_amd64/share/man/man3/BN_mod_exp.3 create mode 120000 linux_amd64/share/man/man3/BN_mod_mul.3 create mode 120000 linux_amd64/share/man/man3/BN_mod_sqr.3 create mode 120000 linux_amd64/share/man/man3/BN_mod_sub.3 create mode 120000 linux_amd64/share/man/man3/BN_mod_word.3 create mode 120000 linux_amd64/share/man/man3/BN_mpi2bn.3 create mode 120000 linux_amd64/share/man/man3/BN_mul.3 create mode 120000 linux_amd64/share/man/man3/BN_mul_word.3 create mode 120000 linux_amd64/share/man/man3/BN_nnmod.3 create mode 120000 linux_amd64/share/man/man3/BN_num_bits.3 create mode 120000 linux_amd64/share/man/man3/BN_num_bits_word.3 create mode 120000 linux_amd64/share/man/man3/BN_one.3 create mode 120000 linux_amd64/share/man/man3/BN_print.3 create mode 120000 linux_amd64/share/man/man3/BN_print_fp.3 create mode 120000 linux_amd64/share/man/man3/BN_priv_rand.3 create mode 120000 linux_amd64/share/man/man3/BN_priv_rand_range.3 create mode 120000 linux_amd64/share/man/man3/BN_pseudo_rand.3 create mode 120000 linux_amd64/share/man/man3/BN_pseudo_rand_range.3 create mode 120000 linux_amd64/share/man/man3/BN_rand_range.3 create mode 120000 linux_amd64/share/man/man3/BN_rshift.3 create mode 120000 linux_amd64/share/man/man3/BN_rshift1.3 create mode 120000 linux_amd64/share/man/man3/BN_secure_new.3 create mode 120000 linux_amd64/share/man/man3/BN_set_word.3 create mode 120000 linux_amd64/share/man/man3/BN_sqr.3 create mode 120000 linux_amd64/share/man/man3/BN_sub.3 create mode 120000 linux_amd64/share/man/man3/BN_sub_word.3 create mode 120000 linux_amd64/share/man/man3/BN_to_ASN1_ENUMERATED.3 create mode 120000 linux_amd64/share/man/man3/BN_to_ASN1_INTEGER.3 create mode 120000 linux_amd64/share/man/man3/BN_to_montgomery.3 create mode 120000 linux_amd64/share/man/man3/BN_ucmp.3 create mode 120000 linux_amd64/share/man/man3/BN_value_one.3 create mode 120000 linux_amd64/share/man/man3/BN_with_flags.3 create mode 120000 linux_amd64/share/man/man3/BUF_MEM_free.3 create mode 120000 linux_amd64/share/man/man3/BUF_MEM_grow.3 create mode 120000 linux_amd64/share/man/man3/BUF_MEM_grow_clean.3 create mode 120000 linux_amd64/share/man/man3/BUF_MEM_new_ex.3 create mode 120000 linux_amd64/share/man/man3/BUF_reverse.3 create mode 120000 linux_amd64/share/man/man3/CERTIFICATEPOLICIES_free.3 create mode 120000 linux_amd64/share/man/man3/CERTIFICATEPOLICIES_new.3 create mode 120000 linux_amd64/share/man/man3/CMS_ContentInfo_free.3 create mode 120000 linux_amd64/share/man/man3/CMS_ContentInfo_new.3 create mode 120000 linux_amd64/share/man/man3/CMS_ContentInfo_print_ctx.3 create mode 120000 linux_amd64/share/man/man3/CMS_ReceiptRequest_create0.3 create mode 120000 linux_amd64/share/man/man3/CMS_ReceiptRequest_free.3 create mode 120000 linux_amd64/share/man/man3/CMS_ReceiptRequest_get0_values.3 create mode 120000 linux_amd64/share/man/man3/CMS_ReceiptRequest_new.3 create mode 120000 linux_amd64/share/man/man3/CMS_RecipientInfo_decrypt.3 create mode 120000 linux_amd64/share/man/man3/CMS_RecipientInfo_encrypt.3 create mode 120000 linux_amd64/share/man/man3/CMS_RecipientInfo_kekri_get0_id.3 create mode 120000 linux_amd64/share/man/man3/CMS_RecipientInfo_kekri_id_cmp.3 create mode 120000 linux_amd64/share/man/man3/CMS_RecipientInfo_ktri_cert_cmp.3 create mode 120000 linux_amd64/share/man/man3/CMS_RecipientInfo_ktri_get0_signer_id.3 create mode 120000 linux_amd64/share/man/man3/CMS_RecipientInfo_set0_key.3 create mode 120000 linux_amd64/share/man/man3/CMS_RecipientInfo_set0_pkey.3 create mode 120000 linux_amd64/share/man/man3/CMS_RecipientInfo_type.3 create mode 120000 linux_amd64/share/man/man3/CMS_SignerInfo_cert_cmp.3 create mode 120000 linux_amd64/share/man/man3/CMS_SignerInfo_get0_signature.3 create mode 120000 linux_amd64/share/man/man3/CMS_SignerInfo_get0_signer_id.3 create mode 120000 linux_amd64/share/man/man3/CMS_SignerInfo_set1_signer_cert.3 create mode 120000 linux_amd64/share/man/man3/CMS_SignerInfo_sign.3 create mode 120000 linux_amd64/share/man/man3/CMS_add0_crl.3 create mode 120000 linux_amd64/share/man/man3/CMS_add0_recipient_key.3 create mode 120000 linux_amd64/share/man/man3/CMS_add1_ReceiptRequest.3 create mode 120000 linux_amd64/share/man/man3/CMS_add1_cert.3 create mode 120000 linux_amd64/share/man/man3/CMS_add1_crl.3 create mode 120000 linux_amd64/share/man/man3/CMS_get0_content.3 create mode 120000 linux_amd64/share/man/man3/CMS_get0_eContentType.3 create mode 120000 linux_amd64/share/man/man3/CMS_get0_signers.3 create mode 120000 linux_amd64/share/man/man3/CMS_get1_certs.3 create mode 120000 linux_amd64/share/man/man3/CMS_get1_crls.3 create mode 120000 linux_amd64/share/man/man3/CMS_set1_eContentType.3 create mode 120000 linux_amd64/share/man/man3/CONF_modules_finish.3 create mode 120000 linux_amd64/share/man/man3/CONF_modules_load.3 create mode 120000 linux_amd64/share/man/man3/CONF_modules_unload.3 create mode 120000 linux_amd64/share/man/man3/CRL_DIST_POINTS_free.3 create mode 120000 linux_amd64/share/man/man3/CRL_DIST_POINTS_new.3 create mode 120000 linux_amd64/share/man/man3/CRYPTO_EX_dup.3 create mode 120000 linux_amd64/share/man/man3/CRYPTO_EX_free.3 create mode 120000 linux_amd64/share/man/man3/CRYPTO_EX_new.3 create mode 120000 linux_amd64/share/man/man3/CRYPTO_THREAD_lock_free.3 create mode 120000 linux_amd64/share/man/man3/CRYPTO_THREAD_lock_new.3 create mode 120000 linux_amd64/share/man/man3/CRYPTO_THREAD_read_lock.3 create mode 120000 linux_amd64/share/man/man3/CRYPTO_THREAD_unlock.3 create mode 120000 linux_amd64/share/man/man3/CRYPTO_THREAD_write_lock.3 create mode 120000 linux_amd64/share/man/man3/CRYPTO_atomic_add.3 create mode 120000 linux_amd64/share/man/man3/CRYPTO_clear_free.3 create mode 120000 linux_amd64/share/man/man3/CRYPTO_clear_realloc.3 create mode 120000 linux_amd64/share/man/man3/CRYPTO_free.3 create mode 120000 linux_amd64/share/man/man3/CRYPTO_free_ex_data.3 create mode 120000 linux_amd64/share/man/man3/CRYPTO_free_ex_index.3 create mode 120000 linux_amd64/share/man/man3/CRYPTO_get_alloc_counts.3 create mode 120000 linux_amd64/share/man/man3/CRYPTO_get_ex_data.3 create mode 120000 linux_amd64/share/man/man3/CRYPTO_get_mem_functions.3 create mode 120000 linux_amd64/share/man/man3/CRYPTO_malloc.3 create mode 120000 linux_amd64/share/man/man3/CRYPTO_mem_ctrl.3 create mode 120000 linux_amd64/share/man/man3/CRYPTO_mem_debug_pop.3 create mode 120000 linux_amd64/share/man/man3/CRYPTO_mem_debug_push.3 create mode 120000 linux_amd64/share/man/man3/CRYPTO_mem_leaks.3 create mode 120000 linux_amd64/share/man/man3/CRYPTO_mem_leaks_cb.3 create mode 120000 linux_amd64/share/man/man3/CRYPTO_mem_leaks_fp.3 create mode 120000 linux_amd64/share/man/man3/CRYPTO_new_ex_data.3 create mode 120000 linux_amd64/share/man/man3/CRYPTO_realloc.3 create mode 120000 linux_amd64/share/man/man3/CRYPTO_secure_allocated.3 create mode 120000 linux_amd64/share/man/man3/CRYPTO_secure_clear_free.3 create mode 120000 linux_amd64/share/man/man3/CRYPTO_secure_free.3 create mode 120000 linux_amd64/share/man/man3/CRYPTO_secure_malloc.3 create mode 120000 linux_amd64/share/man/man3/CRYPTO_secure_malloc_done.3 create mode 120000 linux_amd64/share/man/man3/CRYPTO_secure_malloc_init.3 create mode 120000 linux_amd64/share/man/man3/CRYPTO_secure_malloc_initialized.3 create mode 120000 linux_amd64/share/man/man3/CRYPTO_secure_used.3 create mode 120000 linux_amd64/share/man/man3/CRYPTO_secure_zalloc.3 create mode 120000 linux_amd64/share/man/man3/CRYPTO_set_ex_data.3 create mode 120000 linux_amd64/share/man/man3/CRYPTO_set_mem_debug.3 create mode 120000 linux_amd64/share/man/man3/CRYPTO_set_mem_functions.3 create mode 120000 linux_amd64/share/man/man3/CRYPTO_strdup.3 create mode 120000 linux_amd64/share/man/man3/CRYPTO_strndup.3 create mode 120000 linux_amd64/share/man/man3/CRYPTO_zalloc.3 create mode 120000 linux_amd64/share/man/man3/CTLOG_STORE_free.3 create mode 120000 linux_amd64/share/man/man3/CTLOG_STORE_load_default_file.3 create mode 120000 linux_amd64/share/man/man3/CTLOG_STORE_load_file.3 create mode 120000 linux_amd64/share/man/man3/CTLOG_free.3 create mode 120000 linux_amd64/share/man/man3/CTLOG_get0_log_id.3 create mode 120000 linux_amd64/share/man/man3/CTLOG_get0_name.3 create mode 120000 linux_amd64/share/man/man3/CTLOG_get0_public_key.3 create mode 120000 linux_amd64/share/man/man3/CTLOG_new_from_base64.3 create mode 120000 linux_amd64/share/man/man3/CT_POLICY_EVAL_CTX_free.3 create mode 120000 linux_amd64/share/man/man3/CT_POLICY_EVAL_CTX_get0_cert.3 create mode 120000 linux_amd64/share/man/man3/CT_POLICY_EVAL_CTX_get0_issuer.3 create mode 120000 linux_amd64/share/man/man3/CT_POLICY_EVAL_CTX_get0_log_store.3 create mode 120000 linux_amd64/share/man/man3/CT_POLICY_EVAL_CTX_get_time.3 create mode 120000 linux_amd64/share/man/man3/CT_POLICY_EVAL_CTX_set1_cert.3 create mode 120000 linux_amd64/share/man/man3/CT_POLICY_EVAL_CTX_set1_issuer.3 create mode 120000 linux_amd64/share/man/man3/CT_POLICY_EVAL_CTX_set_shared_CTLOG_STORE.3 create mode 120000 linux_amd64/share/man/man3/CT_POLICY_EVAL_CTX_set_time.3 create mode 120000 linux_amd64/share/man/man3/DECLARE_ASN1_FUNCTIONS.3 create mode 120000 linux_amd64/share/man/man3/DECLARE_LHASH_OF.3 create mode 120000 linux_amd64/share/man/man3/DECLARE_PEM_rw.3 create mode 120000 linux_amd64/share/man/man3/DEFINE_SPECIAL_STACK_OF.3 create mode 120000 linux_amd64/share/man/man3/DEFINE_SPECIAL_STACK_OF_CONST.3 create mode 120000 linux_amd64/share/man/man3/DEFINE_STACK_OF_CONST.3 create mode 120000 linux_amd64/share/man/man3/DES_cbc_cksum.3 create mode 120000 linux_amd64/share/man/man3/DES_cfb64_encrypt.3 create mode 120000 linux_amd64/share/man/man3/DES_cfb_encrypt.3 create mode 120000 linux_amd64/share/man/man3/DES_crypt.3 create mode 120000 linux_amd64/share/man/man3/DES_ecb2_encrypt.3 create mode 120000 linux_amd64/share/man/man3/DES_ecb3_encrypt.3 create mode 120000 linux_amd64/share/man/man3/DES_ecb_encrypt.3 create mode 120000 linux_amd64/share/man/man3/DES_ede2_cbc_encrypt.3 create mode 120000 linux_amd64/share/man/man3/DES_ede2_cfb64_encrypt.3 create mode 120000 linux_amd64/share/man/man3/DES_ede2_ofb64_encrypt.3 create mode 120000 linux_amd64/share/man/man3/DES_ede3_cbc_encrypt.3 create mode 120000 linux_amd64/share/man/man3/DES_ede3_cfb64_encrypt.3 create mode 120000 linux_amd64/share/man/man3/DES_ede3_ofb64_encrypt.3 create mode 120000 linux_amd64/share/man/man3/DES_fcrypt.3 create mode 120000 linux_amd64/share/man/man3/DES_is_weak_key.3 create mode 120000 linux_amd64/share/man/man3/DES_key_sched.3 create mode 120000 linux_amd64/share/man/man3/DES_ncbc_encrypt.3 create mode 120000 linux_amd64/share/man/man3/DES_ofb64_encrypt.3 create mode 120000 linux_amd64/share/man/man3/DES_ofb_encrypt.3 create mode 120000 linux_amd64/share/man/man3/DES_pcbc_encrypt.3 create mode 120000 linux_amd64/share/man/man3/DES_quad_cksum.3 create mode 120000 linux_amd64/share/man/man3/DES_set_key.3 create mode 120000 linux_amd64/share/man/man3/DES_set_key_checked.3 create mode 120000 linux_amd64/share/man/man3/DES_set_key_unchecked.3 create mode 120000 linux_amd64/share/man/man3/DES_set_odd_parity.3 create mode 120000 linux_amd64/share/man/man3/DES_string_to_2keys.3 create mode 120000 linux_amd64/share/man/man3/DES_string_to_key.3 create mode 120000 linux_amd64/share/man/man3/DES_xcbc_encrypt.3 create mode 120000 linux_amd64/share/man/man3/DH_OpenSSL.3 create mode 120000 linux_amd64/share/man/man3/DH_bits.3 create mode 120000 linux_amd64/share/man/man3/DH_check.3 create mode 120000 linux_amd64/share/man/man3/DH_check_ex.3 create mode 120000 linux_amd64/share/man/man3/DH_check_params.3 create mode 120000 linux_amd64/share/man/man3/DH_check_params_ex.3 create mode 120000 linux_amd64/share/man/man3/DH_check_pub_key_ex.3 create mode 120000 linux_amd64/share/man/man3/DH_clear_flags.3 create mode 120000 linux_amd64/share/man/man3/DH_compute_key.3 create mode 120000 linux_amd64/share/man/man3/DH_free.3 create mode 120000 linux_amd64/share/man/man3/DH_generate_parameters_ex.3 create mode 120000 linux_amd64/share/man/man3/DH_get0_engine.3 create mode 120000 linux_amd64/share/man/man3/DH_get0_g.3 create mode 120000 linux_amd64/share/man/man3/DH_get0_key.3 create mode 120000 linux_amd64/share/man/man3/DH_get0_p.3 create mode 120000 linux_amd64/share/man/man3/DH_get0_priv_key.3 create mode 120000 linux_amd64/share/man/man3/DH_get0_pub_key.3 create mode 120000 linux_amd64/share/man/man3/DH_get0_q.3 create mode 120000 linux_amd64/share/man/man3/DH_get_2048_224.3 create mode 120000 linux_amd64/share/man/man3/DH_get_2048_256.3 create mode 120000 linux_amd64/share/man/man3/DH_get_default_method.3 create mode 120000 linux_amd64/share/man/man3/DH_get_ex_data.3 create mode 120000 linux_amd64/share/man/man3/DH_get_ex_new_index.3 create mode 120000 linux_amd64/share/man/man3/DH_get_length.3 create mode 120000 linux_amd64/share/man/man3/DH_get_nid.3 create mode 120000 linux_amd64/share/man/man3/DH_meth_dup.3 create mode 120000 linux_amd64/share/man/man3/DH_meth_free.3 create mode 120000 linux_amd64/share/man/man3/DH_meth_get0_app_data.3 create mode 120000 linux_amd64/share/man/man3/DH_meth_get0_name.3 create mode 120000 linux_amd64/share/man/man3/DH_meth_get_bn_mod_exp.3 create mode 120000 linux_amd64/share/man/man3/DH_meth_get_compute_key.3 create mode 120000 linux_amd64/share/man/man3/DH_meth_get_finish.3 create mode 120000 linux_amd64/share/man/man3/DH_meth_get_flags.3 create mode 120000 linux_amd64/share/man/man3/DH_meth_get_generate_key.3 create mode 120000 linux_amd64/share/man/man3/DH_meth_get_generate_params.3 create mode 120000 linux_amd64/share/man/man3/DH_meth_get_init.3 create mode 120000 linux_amd64/share/man/man3/DH_meth_set0_app_data.3 create mode 120000 linux_amd64/share/man/man3/DH_meth_set1_name.3 create mode 120000 linux_amd64/share/man/man3/DH_meth_set_bn_mod_exp.3 create mode 120000 linux_amd64/share/man/man3/DH_meth_set_compute_key.3 create mode 120000 linux_amd64/share/man/man3/DH_meth_set_finish.3 create mode 120000 linux_amd64/share/man/man3/DH_meth_set_flags.3 create mode 120000 linux_amd64/share/man/man3/DH_meth_set_generate_key.3 create mode 120000 linux_amd64/share/man/man3/DH_meth_set_generate_params.3 create mode 120000 linux_amd64/share/man/man3/DH_meth_set_init.3 create mode 120000 linux_amd64/share/man/man3/DH_new_method.3 create mode 120000 linux_amd64/share/man/man3/DH_security_bits.3 create mode 120000 linux_amd64/share/man/man3/DH_set0_key.3 create mode 120000 linux_amd64/share/man/man3/DH_set0_pqg.3 create mode 120000 linux_amd64/share/man/man3/DH_set_default_method.3 create mode 120000 linux_amd64/share/man/man3/DH_set_ex_data.3 create mode 120000 linux_amd64/share/man/man3/DH_set_flags.3 create mode 120000 linux_amd64/share/man/man3/DH_set_length.3 create mode 120000 linux_amd64/share/man/man3/DH_test_flags.3 create mode 120000 linux_amd64/share/man/man3/DHparams_print.3 create mode 120000 linux_amd64/share/man/man3/DHparams_print_fp.3 create mode 120000 linux_amd64/share/man/man3/DIRECTORYSTRING_free.3 create mode 120000 linux_amd64/share/man/man3/DIRECTORYSTRING_new.3 create mode 120000 linux_amd64/share/man/man3/DISPLAYTEXT_free.3 create mode 120000 linux_amd64/share/man/man3/DISPLAYTEXT_new.3 create mode 120000 linux_amd64/share/man/man3/DIST_POINT_NAME_free.3 create mode 120000 linux_amd64/share/man/man3/DIST_POINT_NAME_new.3 create mode 120000 linux_amd64/share/man/man3/DIST_POINT_free.3 create mode 120000 linux_amd64/share/man/man3/DIST_POINT_new.3 create mode 120000 linux_amd64/share/man/man3/DSA_OpenSSL.3 create mode 120000 linux_amd64/share/man/man3/DSA_SIG_free.3 create mode 120000 linux_amd64/share/man/man3/DSA_SIG_get0.3 create mode 120000 linux_amd64/share/man/man3/DSA_SIG_set0.3 create mode 120000 linux_amd64/share/man/man3/DSA_bits.3 create mode 120000 linux_amd64/share/man/man3/DSA_clear_flags.3 create mode 120000 linux_amd64/share/man/man3/DSA_do_verify.3 create mode 120000 linux_amd64/share/man/man3/DSA_free.3 create mode 120000 linux_amd64/share/man/man3/DSA_generate_parameters_ex.3 create mode 120000 linux_amd64/share/man/man3/DSA_get0_engine.3 create mode 120000 linux_amd64/share/man/man3/DSA_get0_g.3 create mode 120000 linux_amd64/share/man/man3/DSA_get0_key.3 create mode 120000 linux_amd64/share/man/man3/DSA_get0_p.3 create mode 120000 linux_amd64/share/man/man3/DSA_get0_priv_key.3 create mode 120000 linux_amd64/share/man/man3/DSA_get0_pub_key.3 create mode 120000 linux_amd64/share/man/man3/DSA_get0_q.3 create mode 120000 linux_amd64/share/man/man3/DSA_get_default_method.3 create mode 120000 linux_amd64/share/man/man3/DSA_get_ex_data.3 create mode 120000 linux_amd64/share/man/man3/DSA_get_ex_new_index.3 create mode 120000 linux_amd64/share/man/man3/DSA_meth_dup.3 create mode 120000 linux_amd64/share/man/man3/DSA_meth_free.3 create mode 120000 linux_amd64/share/man/man3/DSA_meth_get0_app_data.3 create mode 120000 linux_amd64/share/man/man3/DSA_meth_get0_name.3 create mode 120000 linux_amd64/share/man/man3/DSA_meth_get_bn_mod_exp.3 create mode 120000 linux_amd64/share/man/man3/DSA_meth_get_finish.3 create mode 120000 linux_amd64/share/man/man3/DSA_meth_get_flags.3 create mode 120000 linux_amd64/share/man/man3/DSA_meth_get_init.3 create mode 120000 linux_amd64/share/man/man3/DSA_meth_get_keygen.3 create mode 120000 linux_amd64/share/man/man3/DSA_meth_get_mod_exp.3 create mode 120000 linux_amd64/share/man/man3/DSA_meth_get_paramgen.3 create mode 120000 linux_amd64/share/man/man3/DSA_meth_get_sign.3 create mode 120000 linux_amd64/share/man/man3/DSA_meth_get_sign_setup.3 create mode 120000 linux_amd64/share/man/man3/DSA_meth_get_verify.3 create mode 120000 linux_amd64/share/man/man3/DSA_meth_set0_app_data.3 create mode 120000 linux_amd64/share/man/man3/DSA_meth_set1_name.3 create mode 120000 linux_amd64/share/man/man3/DSA_meth_set_bn_mod_exp.3 create mode 120000 linux_amd64/share/man/man3/DSA_meth_set_finish.3 create mode 120000 linux_amd64/share/man/man3/DSA_meth_set_flags.3 create mode 120000 linux_amd64/share/man/man3/DSA_meth_set_init.3 create mode 120000 linux_amd64/share/man/man3/DSA_meth_set_keygen.3 create mode 120000 linux_amd64/share/man/man3/DSA_meth_set_mod_exp.3 create mode 120000 linux_amd64/share/man/man3/DSA_meth_set_paramgen.3 create mode 120000 linux_amd64/share/man/man3/DSA_meth_set_sign.3 create mode 120000 linux_amd64/share/man/man3/DSA_meth_set_sign_setup.3 create mode 120000 linux_amd64/share/man/man3/DSA_meth_set_verify.3 create mode 120000 linux_amd64/share/man/man3/DSA_new_method.3 create mode 120000 linux_amd64/share/man/man3/DSA_print.3 create mode 120000 linux_amd64/share/man/man3/DSA_print_fp.3 create mode 120000 linux_amd64/share/man/man3/DSA_security_bits.3 create mode 120000 linux_amd64/share/man/man3/DSA_set0_key.3 create mode 120000 linux_amd64/share/man/man3/DSA_set0_pqg.3 create mode 120000 linux_amd64/share/man/man3/DSA_set_default_method.3 create mode 120000 linux_amd64/share/man/man3/DSA_set_ex_data.3 create mode 120000 linux_amd64/share/man/man3/DSA_set_flags.3 create mode 120000 linux_amd64/share/man/man3/DSA_sign_setup.3 create mode 120000 linux_amd64/share/man/man3/DSA_test_flags.3 create mode 120000 linux_amd64/share/man/man3/DSA_verify.3 create mode 120000 linux_amd64/share/man/man3/DSAparams_dup.3 create mode 120000 linux_amd64/share/man/man3/DSAparams_print.3 create mode 120000 linux_amd64/share/man/man3/DSAparams_print_fp.3 create mode 120000 linux_amd64/share/man/man3/DTLS_client_method.3 create mode 120000 linux_amd64/share/man/man3/DTLS_method.3 create mode 120000 linux_amd64/share/man/man3/DTLS_server_method.3 create mode 120000 linux_amd64/share/man/man3/DTLS_timer_cb.3 create mode 120000 linux_amd64/share/man/man3/DTLSv1_2_client_method.3 create mode 120000 linux_amd64/share/man/man3/DTLSv1_2_method.3 create mode 120000 linux_amd64/share/man/man3/DTLSv1_2_server_method.3 create mode 120000 linux_amd64/share/man/man3/DTLSv1_client_method.3 create mode 120000 linux_amd64/share/man/man3/DTLSv1_method.3 create mode 120000 linux_amd64/share/man/man3/DTLSv1_server_method.3 create mode 120000 linux_amd64/share/man/man3/ECDH_get_ex_data.3 create mode 120000 linux_amd64/share/man/man3/ECDH_get_ex_new_index.3 create mode 120000 linux_amd64/share/man/man3/ECDH_set_ex_data.3 create mode 120000 linux_amd64/share/man/man3/ECDSA_SIG_free.3 create mode 120000 linux_amd64/share/man/man3/ECDSA_SIG_get0.3 create mode 120000 linux_amd64/share/man/man3/ECDSA_SIG_get0_r.3 create mode 120000 linux_amd64/share/man/man3/ECDSA_SIG_get0_s.3 create mode 120000 linux_amd64/share/man/man3/ECDSA_SIG_set0.3 create mode 120000 linux_amd64/share/man/man3/ECDSA_do_sign.3 create mode 120000 linux_amd64/share/man/man3/ECDSA_do_sign_ex.3 create mode 120000 linux_amd64/share/man/man3/ECDSA_do_verify.3 create mode 120000 linux_amd64/share/man/man3/ECDSA_sign.3 create mode 120000 linux_amd64/share/man/man3/ECDSA_sign_ex.3 create mode 120000 linux_amd64/share/man/man3/ECDSA_sign_setup.3 create mode 120000 linux_amd64/share/man/man3/ECDSA_size.3 create mode 120000 linux_amd64/share/man/man3/ECDSA_verify.3 create mode 120000 linux_amd64/share/man/man3/ECPARAMETERS_free.3 create mode 120000 linux_amd64/share/man/man3/ECPARAMETERS_new.3 create mode 120000 linux_amd64/share/man/man3/ECPKPARAMETERS_free.3 create mode 120000 linux_amd64/share/man/man3/ECPKPARAMETERS_new.3 create mode 120000 linux_amd64/share/man/man3/ECPKParameters_print_fp.3 create mode 120000 linux_amd64/share/man/man3/EC_GF2m_simple_method.3 create mode 120000 linux_amd64/share/man/man3/EC_GFp_mont_method.3 create mode 120000 linux_amd64/share/man/man3/EC_GFp_nist_method.3 create mode 120000 linux_amd64/share/man/man3/EC_GFp_nistp224_method.3 create mode 120000 linux_amd64/share/man/man3/EC_GFp_nistp256_method.3 create mode 120000 linux_amd64/share/man/man3/EC_GFp_nistp521_method.3 create mode 120000 linux_amd64/share/man/man3/EC_GROUP_check.3 create mode 120000 linux_amd64/share/man/man3/EC_GROUP_check_discriminant.3 create mode 120000 linux_amd64/share/man/man3/EC_GROUP_clear_free.3 create mode 120000 linux_amd64/share/man/man3/EC_GROUP_cmp.3 create mode 120000 linux_amd64/share/man/man3/EC_GROUP_dup.3 create mode 120000 linux_amd64/share/man/man3/EC_GROUP_free.3 create mode 120000 linux_amd64/share/man/man3/EC_GROUP_get0_cofactor.3 create mode 120000 linux_amd64/share/man/man3/EC_GROUP_get0_generator.3 create mode 120000 linux_amd64/share/man/man3/EC_GROUP_get0_order.3 create mode 120000 linux_amd64/share/man/man3/EC_GROUP_get0_seed.3 create mode 120000 linux_amd64/share/man/man3/EC_GROUP_get_asn1_flag.3 create mode 120000 linux_amd64/share/man/man3/EC_GROUP_get_basis_type.3 create mode 120000 linux_amd64/share/man/man3/EC_GROUP_get_cofactor.3 create mode 120000 linux_amd64/share/man/man3/EC_GROUP_get_curve.3 create mode 120000 linux_amd64/share/man/man3/EC_GROUP_get_curve_GF2m.3 create mode 120000 linux_amd64/share/man/man3/EC_GROUP_get_curve_GFp.3 create mode 120000 linux_amd64/share/man/man3/EC_GROUP_get_curve_name.3 create mode 120000 linux_amd64/share/man/man3/EC_GROUP_get_degree.3 create mode 120000 linux_amd64/share/man/man3/EC_GROUP_get_ecparameters.3 create mode 120000 linux_amd64/share/man/man3/EC_GROUP_get_ecpkparameters.3 create mode 120000 linux_amd64/share/man/man3/EC_GROUP_get_order.3 create mode 120000 linux_amd64/share/man/man3/EC_GROUP_get_pentanomial_basis.3 create mode 120000 linux_amd64/share/man/man3/EC_GROUP_get_point_conversion_form.3 create mode 120000 linux_amd64/share/man/man3/EC_GROUP_get_seed_len.3 create mode 120000 linux_amd64/share/man/man3/EC_GROUP_get_trinomial_basis.3 create mode 120000 linux_amd64/share/man/man3/EC_GROUP_have_precompute_mult.3 create mode 120000 linux_amd64/share/man/man3/EC_GROUP_method_of.3 create mode 120000 linux_amd64/share/man/man3/EC_GROUP_new_by_curve_name.3 create mode 120000 linux_amd64/share/man/man3/EC_GROUP_new_curve_GF2m.3 create mode 120000 linux_amd64/share/man/man3/EC_GROUP_new_curve_GFp.3 create mode 120000 linux_amd64/share/man/man3/EC_GROUP_new_from_ecparameters.3 create mode 120000 linux_amd64/share/man/man3/EC_GROUP_new_from_ecpkparameters.3 create mode 120000 linux_amd64/share/man/man3/EC_GROUP_order_bits.3 create mode 120000 linux_amd64/share/man/man3/EC_GROUP_precompute_mult.3 create mode 120000 linux_amd64/share/man/man3/EC_GROUP_set_asn1_flag.3 create mode 120000 linux_amd64/share/man/man3/EC_GROUP_set_curve.3 create mode 120000 linux_amd64/share/man/man3/EC_GROUP_set_curve_GF2m.3 create mode 120000 linux_amd64/share/man/man3/EC_GROUP_set_curve_GFp.3 create mode 120000 linux_amd64/share/man/man3/EC_GROUP_set_curve_name.3 create mode 120000 linux_amd64/share/man/man3/EC_GROUP_set_generator.3 create mode 120000 linux_amd64/share/man/man3/EC_GROUP_set_point_conversion_form.3 create mode 120000 linux_amd64/share/man/man3/EC_GROUP_set_seed.3 create mode 120000 linux_amd64/share/man/man3/EC_KEY_check_key.3 create mode 120000 linux_amd64/share/man/man3/EC_KEY_clear_flags.3 create mode 120000 linux_amd64/share/man/man3/EC_KEY_copy.3 create mode 120000 linux_amd64/share/man/man3/EC_KEY_dup.3 create mode 120000 linux_amd64/share/man/man3/EC_KEY_free.3 create mode 120000 linux_amd64/share/man/man3/EC_KEY_generate_key.3 create mode 120000 linux_amd64/share/man/man3/EC_KEY_get0_engine.3 create mode 120000 linux_amd64/share/man/man3/EC_KEY_get0_group.3 create mode 120000 linux_amd64/share/man/man3/EC_KEY_get0_private_key.3 create mode 120000 linux_amd64/share/man/man3/EC_KEY_get0_public_key.3 create mode 120000 linux_amd64/share/man/man3/EC_KEY_get_conv_form.3 create mode 120000 linux_amd64/share/man/man3/EC_KEY_get_ex_data.3 create mode 120000 linux_amd64/share/man/man3/EC_KEY_get_ex_new_index.3 create mode 120000 linux_amd64/share/man/man3/EC_KEY_get_flags.3 create mode 120000 linux_amd64/share/man/man3/EC_KEY_get_method.3 create mode 120000 linux_amd64/share/man/man3/EC_KEY_key2buf.3 create mode 120000 linux_amd64/share/man/man3/EC_KEY_new_by_curve_name.3 create mode 120000 linux_amd64/share/man/man3/EC_KEY_oct2key.3 create mode 120000 linux_amd64/share/man/man3/EC_KEY_oct2priv.3 create mode 120000 linux_amd64/share/man/man3/EC_KEY_precompute_mult.3 create mode 120000 linux_amd64/share/man/man3/EC_KEY_priv2buf.3 create mode 120000 linux_amd64/share/man/man3/EC_KEY_priv2oct.3 create mode 120000 linux_amd64/share/man/man3/EC_KEY_set_asn1_flag.3 create mode 120000 linux_amd64/share/man/man3/EC_KEY_set_conv_form.3 create mode 120000 linux_amd64/share/man/man3/EC_KEY_set_enc_flags.3 create mode 120000 linux_amd64/share/man/man3/EC_KEY_set_ex_data.3 create mode 120000 linux_amd64/share/man/man3/EC_KEY_set_flags.3 create mode 120000 linux_amd64/share/man/man3/EC_KEY_set_group.3 create mode 120000 linux_amd64/share/man/man3/EC_KEY_set_method.3 create mode 120000 linux_amd64/share/man/man3/EC_KEY_set_private_key.3 create mode 120000 linux_amd64/share/man/man3/EC_KEY_set_public_key.3 create mode 120000 linux_amd64/share/man/man3/EC_KEY_set_public_key_affine_coordinates.3 create mode 120000 linux_amd64/share/man/man3/EC_KEY_up_ref.3 create mode 120000 linux_amd64/share/man/man3/EC_METHOD_get_field_type.3 create mode 120000 linux_amd64/share/man/man3/EC_POINT_bn2point.3 create mode 120000 linux_amd64/share/man/man3/EC_POINT_clear_free.3 create mode 120000 linux_amd64/share/man/man3/EC_POINT_cmp.3 create mode 120000 linux_amd64/share/man/man3/EC_POINT_copy.3 create mode 120000 linux_amd64/share/man/man3/EC_POINT_dbl.3 create mode 120000 linux_amd64/share/man/man3/EC_POINT_dup.3 create mode 120000 linux_amd64/share/man/man3/EC_POINT_free.3 create mode 120000 linux_amd64/share/man/man3/EC_POINT_get_Jprojective_coordinates_GFp.3 create mode 120000 linux_amd64/share/man/man3/EC_POINT_get_affine_coordinates.3 create mode 120000 linux_amd64/share/man/man3/EC_POINT_get_affine_coordinates_GF2m.3 create mode 120000 linux_amd64/share/man/man3/EC_POINT_get_affine_coordinates_GFp.3 create mode 120000 linux_amd64/share/man/man3/EC_POINT_hex2point.3 create mode 120000 linux_amd64/share/man/man3/EC_POINT_invert.3 create mode 120000 linux_amd64/share/man/man3/EC_POINT_is_at_infinity.3 create mode 120000 linux_amd64/share/man/man3/EC_POINT_is_on_curve.3 create mode 120000 linux_amd64/share/man/man3/EC_POINT_make_affine.3 create mode 120000 linux_amd64/share/man/man3/EC_POINT_method_of.3 create mode 120000 linux_amd64/share/man/man3/EC_POINT_mul.3 create mode 120000 linux_amd64/share/man/man3/EC_POINT_oct2point.3 create mode 120000 linux_amd64/share/man/man3/EC_POINT_point2bn.3 create mode 120000 linux_amd64/share/man/man3/EC_POINT_point2buf.3 create mode 120000 linux_amd64/share/man/man3/EC_POINT_point2hex.3 create mode 120000 linux_amd64/share/man/man3/EC_POINT_point2oct.3 create mode 120000 linux_amd64/share/man/man3/EC_POINT_set_Jprojective_coordinates_GFp.3 create mode 120000 linux_amd64/share/man/man3/EC_POINT_set_affine_coordinates.3 create mode 120000 linux_amd64/share/man/man3/EC_POINT_set_affine_coordinates_GF2m.3 create mode 120000 linux_amd64/share/man/man3/EC_POINT_set_affine_coordinates_GFp.3 create mode 120000 linux_amd64/share/man/man3/EC_POINT_set_compressed_coordinates.3 create mode 120000 linux_amd64/share/man/man3/EC_POINT_set_compressed_coordinates_GF2m.3 create mode 120000 linux_amd64/share/man/man3/EC_POINT_set_compressed_coordinates_GFp.3 create mode 120000 linux_amd64/share/man/man3/EC_POINT_set_to_infinity.3 create mode 120000 linux_amd64/share/man/man3/EC_POINTs_make_affine.3 create mode 120000 linux_amd64/share/man/man3/EC_POINTs_mul.3 create mode 120000 linux_amd64/share/man/man3/EC_get_builtin_curves.3 create mode 120000 linux_amd64/share/man/man3/EDIPARTYNAME_free.3 create mode 120000 linux_amd64/share/man/man3/EDIPARTYNAME_new.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_add_conf_module.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_by_id.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_cleanup.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_cmd_is_executable.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_ctrl.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_ctrl_cmd.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_ctrl_cmd_string.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_finish.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_free.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_get_DH.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_get_DSA.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_get_RAND.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_get_RSA.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_get_cipher.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_get_cipher_engine.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_get_ciphers.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_get_cmd_defns.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_get_ctrl_function.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_get_default_DH.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_get_default_DSA.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_get_default_RAND.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_get_default_RSA.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_get_destroy_function.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_get_digest.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_get_digest_engine.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_get_digests.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_get_ex_data.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_get_ex_new_index.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_get_finish_function.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_get_first.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_get_flags.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_get_id.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_get_init_function.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_get_last.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_get_load_privkey_function.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_get_load_pubkey_function.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_get_name.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_get_next.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_get_prev.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_get_table_flags.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_init.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_load_builtin_engines.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_load_private_key.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_load_public_key.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_new.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_register_DH.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_register_DSA.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_register_RAND.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_register_RSA.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_register_all_DH.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_register_all_DSA.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_register_all_RAND.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_register_all_RSA.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_register_all_ciphers.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_register_all_complete.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_register_all_digests.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_register_ciphers.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_register_complete.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_register_digests.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_remove.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_set_DH.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_set_DSA.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_set_RAND.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_set_RSA.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_set_ciphers.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_set_cmd_defns.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_set_ctrl_function.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_set_default.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_set_default_DH.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_set_default_DSA.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_set_default_RAND.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_set_default_RSA.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_set_default_ciphers.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_set_default_digests.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_set_default_string.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_set_destroy_function.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_set_digests.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_set_ex_data.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_set_finish_function.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_set_flags.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_set_id.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_set_init_function.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_set_load_privkey_function.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_set_load_pubkey_function.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_set_name.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_set_table_flags.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_unregister_DH.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_unregister_DSA.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_unregister_RAND.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_unregister_RSA.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_unregister_ciphers.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_unregister_digests.3 create mode 120000 linux_amd64/share/man/man3/ENGINE_up_ref.3 create mode 120000 linux_amd64/share/man/man3/ERR_FATAL_ERROR.3 create mode 120000 linux_amd64/share/man/man3/ERR_GET_FUNC.3 create mode 120000 linux_amd64/share/man/man3/ERR_GET_REASON.3 create mode 120000 linux_amd64/share/man/man3/ERR_PACK.3 create mode 120000 linux_amd64/share/man/man3/ERR_add_error_data.3 create mode 120000 linux_amd64/share/man/man3/ERR_add_error_vdata.3 create mode 120000 linux_amd64/share/man/man3/ERR_error_string_n.3 create mode 120000 linux_amd64/share/man/man3/ERR_free_strings.3 create mode 120000 linux_amd64/share/man/man3/ERR_func_error_string.3 create mode 120000 linux_amd64/share/man/man3/ERR_get_error_line.3 create mode 120000 linux_amd64/share/man/man3/ERR_get_error_line_data.3 create mode 120000 linux_amd64/share/man/man3/ERR_get_next_error_library.3 create mode 120000 linux_amd64/share/man/man3/ERR_lib_error_string.3 create mode 120000 linux_amd64/share/man/man3/ERR_peek_error.3 create mode 120000 linux_amd64/share/man/man3/ERR_peek_error_line.3 create mode 120000 linux_amd64/share/man/man3/ERR_peek_error_line_data.3 create mode 120000 linux_amd64/share/man/man3/ERR_peek_last_error.3 create mode 120000 linux_amd64/share/man/man3/ERR_peek_last_error_line.3 create mode 120000 linux_amd64/share/man/man3/ERR_peek_last_error_line_data.3 create mode 120000 linux_amd64/share/man/man3/ERR_pop_to_mark.3 create mode 120000 linux_amd64/share/man/man3/ERR_print_errors_cb.3 create mode 120000 linux_amd64/share/man/man3/ERR_print_errors_fp.3 create mode 120000 linux_amd64/share/man/man3/ERR_reason_error_string.3 create mode 120000 linux_amd64/share/man/man3/ERR_remove_thread_state.3 create mode 120000 linux_amd64/share/man/man3/ESS_CERT_ID_dup.3 create mode 120000 linux_amd64/share/man/man3/ESS_CERT_ID_free.3 create mode 120000 linux_amd64/share/man/man3/ESS_CERT_ID_new.3 create mode 120000 linux_amd64/share/man/man3/ESS_ISSUER_SERIAL_dup.3 create mode 120000 linux_amd64/share/man/man3/ESS_ISSUER_SERIAL_free.3 create mode 120000 linux_amd64/share/man/man3/ESS_ISSUER_SERIAL_new.3 create mode 120000 linux_amd64/share/man/man3/ESS_SIGNING_CERT_dup.3 create mode 120000 linux_amd64/share/man/man3/ESS_SIGNING_CERT_free.3 create mode 120000 linux_amd64/share/man/man3/ESS_SIGNING_CERT_new.3 create mode 120000 linux_amd64/share/man/man3/EVP_CIPHER_CTX_block_size.3 create mode 120000 linux_amd64/share/man/man3/EVP_CIPHER_CTX_cipher.3 create mode 120000 linux_amd64/share/man/man3/EVP_CIPHER_CTX_ctrl.3 create mode 120000 linux_amd64/share/man/man3/EVP_CIPHER_CTX_flags.3 create mode 120000 linux_amd64/share/man/man3/EVP_CIPHER_CTX_free.3 create mode 120000 linux_amd64/share/man/man3/EVP_CIPHER_CTX_get_app_data.3 create mode 120000 linux_amd64/share/man/man3/EVP_CIPHER_CTX_iv_length.3 create mode 120000 linux_amd64/share/man/man3/EVP_CIPHER_CTX_key_length.3 create mode 120000 linux_amd64/share/man/man3/EVP_CIPHER_CTX_mode.3 create mode 120000 linux_amd64/share/man/man3/EVP_CIPHER_CTX_new.3 create mode 120000 linux_amd64/share/man/man3/EVP_CIPHER_CTX_nid.3 create mode 120000 linux_amd64/share/man/man3/EVP_CIPHER_CTX_reset.3 create mode 120000 linux_amd64/share/man/man3/EVP_CIPHER_CTX_set_app_data.3 create mode 120000 linux_amd64/share/man/man3/EVP_CIPHER_CTX_set_cipher_data.3 create mode 120000 linux_amd64/share/man/man3/EVP_CIPHER_CTX_set_key_length.3 create mode 120000 linux_amd64/share/man/man3/EVP_CIPHER_CTX_set_padding.3 create mode 120000 linux_amd64/share/man/man3/EVP_CIPHER_CTX_type.3 create mode 120000 linux_amd64/share/man/man3/EVP_CIPHER_asn1_to_param.3 create mode 120000 linux_amd64/share/man/man3/EVP_CIPHER_block_size.3 create mode 120000 linux_amd64/share/man/man3/EVP_CIPHER_flags.3 create mode 120000 linux_amd64/share/man/man3/EVP_CIPHER_iv_length.3 create mode 120000 linux_amd64/share/man/man3/EVP_CIPHER_key_length.3 create mode 120000 linux_amd64/share/man/man3/EVP_CIPHER_meth_dup.3 create mode 120000 linux_amd64/share/man/man3/EVP_CIPHER_meth_free.3 create mode 120000 linux_amd64/share/man/man3/EVP_CIPHER_meth_get_cleanup.3 create mode 120000 linux_amd64/share/man/man3/EVP_CIPHER_meth_get_ctrl.3 create mode 120000 linux_amd64/share/man/man3/EVP_CIPHER_meth_get_do_cipher.3 create mode 120000 linux_amd64/share/man/man3/EVP_CIPHER_meth_get_get_asn1_params.3 create mode 120000 linux_amd64/share/man/man3/EVP_CIPHER_meth_get_init.3 create mode 120000 linux_amd64/share/man/man3/EVP_CIPHER_meth_get_set_asn1_params.3 create mode 120000 linux_amd64/share/man/man3/EVP_CIPHER_meth_set_cleanup.3 create mode 120000 linux_amd64/share/man/man3/EVP_CIPHER_meth_set_ctrl.3 create mode 120000 linux_amd64/share/man/man3/EVP_CIPHER_meth_set_do_cipher.3 create mode 120000 linux_amd64/share/man/man3/EVP_CIPHER_meth_set_flags.3 create mode 120000 linux_amd64/share/man/man3/EVP_CIPHER_meth_set_get_asn1_params.3 create mode 120000 linux_amd64/share/man/man3/EVP_CIPHER_meth_set_impl_ctx_size.3 create mode 120000 linux_amd64/share/man/man3/EVP_CIPHER_meth_set_init.3 create mode 120000 linux_amd64/share/man/man3/EVP_CIPHER_meth_set_iv_length.3 create mode 120000 linux_amd64/share/man/man3/EVP_CIPHER_meth_set_set_asn1_params.3 create mode 120000 linux_amd64/share/man/man3/EVP_CIPHER_mode.3 create mode 120000 linux_amd64/share/man/man3/EVP_CIPHER_nid.3 create mode 120000 linux_amd64/share/man/man3/EVP_CIPHER_param_to_asn1.3 create mode 120000 linux_amd64/share/man/man3/EVP_CIPHER_type.3 create mode 120000 linux_amd64/share/man/man3/EVP_CipherFinal.3 create mode 120000 linux_amd64/share/man/man3/EVP_CipherFinal_ex.3 create mode 120000 linux_amd64/share/man/man3/EVP_CipherInit.3 create mode 120000 linux_amd64/share/man/man3/EVP_CipherInit_ex.3 create mode 120000 linux_amd64/share/man/man3/EVP_CipherUpdate.3 create mode 120000 linux_amd64/share/man/man3/EVP_DecodeBlock.3 create mode 120000 linux_amd64/share/man/man3/EVP_DecodeFinal.3 create mode 120000 linux_amd64/share/man/man3/EVP_DecodeInit.3 create mode 120000 linux_amd64/share/man/man3/EVP_DecodeUpdate.3 create mode 120000 linux_amd64/share/man/man3/EVP_DecryptFinal.3 create mode 120000 linux_amd64/share/man/man3/EVP_DecryptFinal_ex.3 create mode 120000 linux_amd64/share/man/man3/EVP_DecryptInit.3 create mode 120000 linux_amd64/share/man/man3/EVP_DecryptInit_ex.3 create mode 120000 linux_amd64/share/man/man3/EVP_DecryptUpdate.3 create mode 120000 linux_amd64/share/man/man3/EVP_Digest.3 create mode 120000 linux_amd64/share/man/man3/EVP_DigestFinal.3 create mode 120000 linux_amd64/share/man/man3/EVP_DigestFinalXOF.3 create mode 120000 linux_amd64/share/man/man3/EVP_DigestFinal_ex.3 create mode 120000 linux_amd64/share/man/man3/EVP_DigestInit_ex.3 create mode 120000 linux_amd64/share/man/man3/EVP_DigestSign.3 create mode 120000 linux_amd64/share/man/man3/EVP_DigestSignFinal.3 create mode 120000 linux_amd64/share/man/man3/EVP_DigestSignUpdate.3 create mode 120000 linux_amd64/share/man/man3/EVP_DigestUpdate.3 create mode 120000 linux_amd64/share/man/man3/EVP_DigestVerify.3 create mode 120000 linux_amd64/share/man/man3/EVP_DigestVerifyFinal.3 create mode 120000 linux_amd64/share/man/man3/EVP_DigestVerifyUpdate.3 create mode 120000 linux_amd64/share/man/man3/EVP_ENCODE_CTX_copy.3 create mode 120000 linux_amd64/share/man/man3/EVP_ENCODE_CTX_free.3 create mode 120000 linux_amd64/share/man/man3/EVP_ENCODE_CTX_new.3 create mode 120000 linux_amd64/share/man/man3/EVP_ENCODE_CTX_num.3 create mode 120000 linux_amd64/share/man/man3/EVP_EncodeBlock.3 create mode 120000 linux_amd64/share/man/man3/EVP_EncodeFinal.3 create mode 120000 linux_amd64/share/man/man3/EVP_EncodeUpdate.3 create mode 120000 linux_amd64/share/man/man3/EVP_EncryptFinal.3 create mode 120000 linux_amd64/share/man/man3/EVP_EncryptFinal_ex.3 create mode 120000 linux_amd64/share/man/man3/EVP_EncryptInit_ex.3 create mode 120000 linux_amd64/share/man/man3/EVP_EncryptUpdate.3 create mode 120000 linux_amd64/share/man/man3/EVP_MD_CTX_block_size.3 create mode 120000 linux_amd64/share/man/man3/EVP_MD_CTX_clear_flags.3 create mode 120000 linux_amd64/share/man/man3/EVP_MD_CTX_copy.3 create mode 120000 linux_amd64/share/man/man3/EVP_MD_CTX_copy_ex.3 create mode 120000 linux_amd64/share/man/man3/EVP_MD_CTX_ctrl.3 create mode 120000 linux_amd64/share/man/man3/EVP_MD_CTX_free.3 create mode 120000 linux_amd64/share/man/man3/EVP_MD_CTX_md.3 create mode 120000 linux_amd64/share/man/man3/EVP_MD_CTX_md_data.3 create mode 120000 linux_amd64/share/man/man3/EVP_MD_CTX_new.3 create mode 120000 linux_amd64/share/man/man3/EVP_MD_CTX_pkey_ctx.3 create mode 120000 linux_amd64/share/man/man3/EVP_MD_CTX_reset.3 create mode 120000 linux_amd64/share/man/man3/EVP_MD_CTX_set_flags.3 create mode 120000 linux_amd64/share/man/man3/EVP_MD_CTX_set_pkey_ctx.3 create mode 120000 linux_amd64/share/man/man3/EVP_MD_CTX_set_update_fn.3 create mode 120000 linux_amd64/share/man/man3/EVP_MD_CTX_size.3 create mode 120000 linux_amd64/share/man/man3/EVP_MD_CTX_test_flags.3 create mode 120000 linux_amd64/share/man/man3/EVP_MD_CTX_type.3 create mode 120000 linux_amd64/share/man/man3/EVP_MD_CTX_update_fn.3 create mode 120000 linux_amd64/share/man/man3/EVP_MD_block_size.3 create mode 120000 linux_amd64/share/man/man3/EVP_MD_flags.3 create mode 120000 linux_amd64/share/man/man3/EVP_MD_meth_dup.3 create mode 120000 linux_amd64/share/man/man3/EVP_MD_meth_free.3 create mode 120000 linux_amd64/share/man/man3/EVP_MD_meth_get_app_datasize.3 create mode 120000 linux_amd64/share/man/man3/EVP_MD_meth_get_cleanup.3 create mode 120000 linux_amd64/share/man/man3/EVP_MD_meth_get_copy.3 create mode 120000 linux_amd64/share/man/man3/EVP_MD_meth_get_ctrl.3 create mode 120000 linux_amd64/share/man/man3/EVP_MD_meth_get_final.3 create mode 120000 linux_amd64/share/man/man3/EVP_MD_meth_get_flags.3 create mode 120000 linux_amd64/share/man/man3/EVP_MD_meth_get_init.3 create mode 120000 linux_amd64/share/man/man3/EVP_MD_meth_get_input_blocksize.3 create mode 120000 linux_amd64/share/man/man3/EVP_MD_meth_get_result_size.3 create mode 120000 linux_amd64/share/man/man3/EVP_MD_meth_get_update.3 create mode 120000 linux_amd64/share/man/man3/EVP_MD_meth_set_app_datasize.3 create mode 120000 linux_amd64/share/man/man3/EVP_MD_meth_set_cleanup.3 create mode 120000 linux_amd64/share/man/man3/EVP_MD_meth_set_copy.3 create mode 120000 linux_amd64/share/man/man3/EVP_MD_meth_set_ctrl.3 create mode 120000 linux_amd64/share/man/man3/EVP_MD_meth_set_final.3 create mode 120000 linux_amd64/share/man/man3/EVP_MD_meth_set_flags.3 create mode 120000 linux_amd64/share/man/man3/EVP_MD_meth_set_init.3 create mode 120000 linux_amd64/share/man/man3/EVP_MD_meth_set_input_blocksize.3 create mode 120000 linux_amd64/share/man/man3/EVP_MD_meth_set_result_size.3 create mode 120000 linux_amd64/share/man/man3/EVP_MD_meth_set_update.3 create mode 120000 linux_amd64/share/man/man3/EVP_MD_pkey_type.3 create mode 120000 linux_amd64/share/man/man3/EVP_MD_size.3 create mode 120000 linux_amd64/share/man/man3/EVP_MD_type.3 create mode 120000 linux_amd64/share/man/man3/EVP_OpenFinal.3 create mode 120000 linux_amd64/share/man/man3/EVP_OpenUpdate.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_add1_hkdf_info.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_add1_tls1_prf_seed.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_ctrl_str.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_ctrl_uint64.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_dup.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_free.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_get0_dh_kdf_oid.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_get0_dh_kdf_ukm.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_get0_ecdh_kdf_ukm.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_get0_rsa_oaep_label.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_get1_id.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_get1_id_len.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_get_app_data.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_get_cb.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_get_dh_kdf_md.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_get_dh_kdf_outlen.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_get_dh_kdf_type.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_get_ecdh_cofactor_mode.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_get_ecdh_kdf_md.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_get_ecdh_kdf_outlen.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_get_ecdh_kdf_type.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_get_keygen_info.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_get_rsa_mgf1_md.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_get_rsa_oaep_md.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_get_rsa_padding.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_get_rsa_pss_saltlen.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_get_signature_md.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_hkdf_mode.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_md.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_new_id.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_set0_dh_kdf_oid.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_set0_dh_kdf_ukm.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_set0_ecdh_kdf_ukm.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_set0_rsa_oaep_label.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_set1_hkdf_key.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_set1_hkdf_salt.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_set1_id.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_set1_scrypt_salt.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_set1_tls1_prf_secret.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_set_app_data.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_set_cb.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dh_kdf_md.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dh_kdf_outlen.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dh_kdf_type.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dh_nid.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dh_pad.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dh_paramgen_generator.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dh_paramgen_prime_len.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dh_paramgen_subprime_len.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dh_paramgen_type.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dh_rfc5114.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dhx_rfc5114.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dsa_paramgen_bits.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dsa_paramgen_md.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dsa_paramgen_q_bits.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_set_ec_param_enc.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_set_ec_paramgen_curve_nid.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_set_ecdh_cofactor_mode.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_set_ecdh_kdf_md.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_set_ecdh_kdf_outlen.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_set_ecdh_kdf_type.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_set_mac_key.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_set_rsa_keygen_bits.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_set_rsa_keygen_primes.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_set_rsa_keygen_pubexp.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_set_rsa_mgf1_md.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_set_rsa_oaep_md.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_set_rsa_padding.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_set_rsa_pss_saltlen.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_set_scrypt_maxmem_bytes.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_set_scrypt_p.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_set_scrypt_r.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_CTX_set_signature_md.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_METHOD.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_asn1_add0.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_asn1_add_alias.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_asn1_copy.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_asn1_find.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_asn1_find_str.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_asn1_free.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_asn1_get0.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_asn1_get0_info.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_asn1_new.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_asn1_set_check.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_asn1_set_ctrl.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_asn1_set_free.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_asn1_set_get_priv_key.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_asn1_set_get_pub_key.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_asn1_set_item.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_asn1_set_param.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_asn1_set_param_check.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_asn1_set_private.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_asn1_set_public.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_asn1_set_public_check.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_asn1_set_security_bits.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_asn1_set_set_priv_key.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_asn1_set_set_pub_key.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_asn1_set_siginf.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_assign_DH.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_assign_DSA.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_assign_EC_KEY.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_assign_POLY1305.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_assign_RSA.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_assign_SIPHASH.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_base_id.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_cmp_parameters.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_copy_parameters.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_decrypt_init.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_derive_init.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_derive_set_peer.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_encrypt_init.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_free.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_gen_cb.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_get0_DH.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_get0_DSA.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_get0_EC_KEY.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_get0_RSA.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_get0_asn1.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_get0_engine.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_get0_hmac.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_get0_poly1305.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_get0_siphash.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_get1_DH.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_get1_DSA.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_get1_EC_KEY.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_get1_RSA.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_get_raw_private_key.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_get_raw_public_key.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_id.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_keygen_init.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_meth_add0.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_meth_copy.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_meth_find.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_meth_free.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_meth_get0.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_meth_get0_info.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_meth_get_check.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_meth_get_cleanup.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_meth_get_copy.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_meth_get_ctrl.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_meth_get_decrypt.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_meth_get_derive.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_meth_get_digest_custom.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_meth_get_digestsign.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_meth_get_digestverify.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_meth_get_encrypt.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_meth_get_init.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_meth_get_keygen.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_meth_get_param_check.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_meth_get_paramgen.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_meth_get_public_check.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_meth_get_sign.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_meth_get_signctx.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_meth_get_verify.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_meth_get_verify_recover.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_meth_get_verifyctx.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_meth_remove.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_meth_set_check.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_meth_set_cleanup.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_meth_set_copy.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_meth_set_ctrl.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_meth_set_decrypt.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_meth_set_derive.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_meth_set_digest_custom.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_meth_set_digestsign.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_meth_set_digestverify.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_meth_set_encrypt.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_meth_set_init.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_meth_set_keygen.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_meth_set_param_check.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_meth_set_paramgen.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_meth_set_public_check.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_meth_set_sign.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_meth_set_signctx.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_meth_set_verify.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_meth_set_verify_recover.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_meth_set_verifyctx.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_missing_parameters.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_new_CMAC_key.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_new_mac_key.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_new_raw_private_key.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_new_raw_public_key.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_param_check.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_paramgen.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_paramgen_init.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_print_params.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_print_public.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_public_check.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_security_bits.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_set1_DH.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_set1_DSA.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_set1_EC_KEY.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_set1_engine.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_set_alias_type.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_sign_init.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_type.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_up_ref.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_verify_init.3 create mode 120000 linux_amd64/share/man/man3/EVP_PKEY_verify_recover_init.3 create mode 120000 linux_amd64/share/man/man3/EVP_SealFinal.3 create mode 120000 linux_amd64/share/man/man3/EVP_SealUpdate.3 create mode 120000 linux_amd64/share/man/man3/EVP_SignFinal.3 create mode 120000 linux_amd64/share/man/man3/EVP_SignInit_ex.3 create mode 120000 linux_amd64/share/man/man3/EVP_SignUpdate.3 create mode 120000 linux_amd64/share/man/man3/EVP_VerifyFinal.3 create mode 120000 linux_amd64/share/man/man3/EVP_VerifyInit_ex.3 create mode 120000 linux_amd64/share/man/man3/EVP_VerifyUpdate.3 create mode 100644 linux_amd64/share/man/man3/EVP_aes.3 create mode 120000 linux_amd64/share/man/man3/EVP_aes_128_cbc.3 create mode 120000 linux_amd64/share/man/man3/EVP_aes_128_cbc_hmac_sha1.3 create mode 120000 linux_amd64/share/man/man3/EVP_aes_128_cbc_hmac_sha256.3 create mode 120000 linux_amd64/share/man/man3/EVP_aes_128_ccm.3 create mode 120000 linux_amd64/share/man/man3/EVP_aes_128_cfb.3 create mode 120000 linux_amd64/share/man/man3/EVP_aes_128_cfb1.3 create mode 120000 linux_amd64/share/man/man3/EVP_aes_128_cfb128.3 create mode 120000 linux_amd64/share/man/man3/EVP_aes_128_cfb8.3 create mode 120000 linux_amd64/share/man/man3/EVP_aes_128_ctr.3 create mode 120000 linux_amd64/share/man/man3/EVP_aes_128_ecb.3 create mode 120000 linux_amd64/share/man/man3/EVP_aes_128_ocb.3 create mode 120000 linux_amd64/share/man/man3/EVP_aes_128_ofb.3 create mode 120000 linux_amd64/share/man/man3/EVP_aes_128_wrap.3 create mode 120000 linux_amd64/share/man/man3/EVP_aes_128_wrap_pad.3 create mode 120000 linux_amd64/share/man/man3/EVP_aes_128_xts.3 create mode 120000 linux_amd64/share/man/man3/EVP_aes_192_cbc.3 create mode 120000 linux_amd64/share/man/man3/EVP_aes_192_ccm.3 create mode 120000 linux_amd64/share/man/man3/EVP_aes_192_cfb.3 create mode 120000 linux_amd64/share/man/man3/EVP_aes_192_cfb1.3 create mode 120000 linux_amd64/share/man/man3/EVP_aes_192_cfb128.3 create mode 120000 linux_amd64/share/man/man3/EVP_aes_192_cfb8.3 create mode 120000 linux_amd64/share/man/man3/EVP_aes_192_ctr.3 create mode 120000 linux_amd64/share/man/man3/EVP_aes_192_ecb.3 create mode 120000 linux_amd64/share/man/man3/EVP_aes_192_gcm.3 create mode 120000 linux_amd64/share/man/man3/EVP_aes_192_ocb.3 create mode 120000 linux_amd64/share/man/man3/EVP_aes_192_ofb.3 create mode 120000 linux_amd64/share/man/man3/EVP_aes_192_wrap.3 create mode 120000 linux_amd64/share/man/man3/EVP_aes_192_wrap_pad.3 create mode 120000 linux_amd64/share/man/man3/EVP_aes_256_cbc.3 create mode 120000 linux_amd64/share/man/man3/EVP_aes_256_cbc_hmac_sha1.3 create mode 120000 linux_amd64/share/man/man3/EVP_aes_256_cbc_hmac_sha256.3 create mode 120000 linux_amd64/share/man/man3/EVP_aes_256_ccm.3 create mode 120000 linux_amd64/share/man/man3/EVP_aes_256_cfb.3 create mode 120000 linux_amd64/share/man/man3/EVP_aes_256_cfb1.3 create mode 120000 linux_amd64/share/man/man3/EVP_aes_256_cfb128.3 create mode 120000 linux_amd64/share/man/man3/EVP_aes_256_cfb8.3 create mode 120000 linux_amd64/share/man/man3/EVP_aes_256_ctr.3 create mode 120000 linux_amd64/share/man/man3/EVP_aes_256_ecb.3 create mode 120000 linux_amd64/share/man/man3/EVP_aes_256_gcm.3 create mode 120000 linux_amd64/share/man/man3/EVP_aes_256_ocb.3 create mode 120000 linux_amd64/share/man/man3/EVP_aes_256_ofb.3 create mode 120000 linux_amd64/share/man/man3/EVP_aes_256_wrap.3 create mode 120000 linux_amd64/share/man/man3/EVP_aes_256_wrap_pad.3 create mode 120000 linux_amd64/share/man/man3/EVP_aes_256_xts.3 create mode 100644 linux_amd64/share/man/man3/EVP_aria.3 create mode 120000 linux_amd64/share/man/man3/EVP_aria_128_cbc.3 create mode 120000 linux_amd64/share/man/man3/EVP_aria_128_ccm.3 create mode 120000 linux_amd64/share/man/man3/EVP_aria_128_cfb.3 create mode 120000 linux_amd64/share/man/man3/EVP_aria_128_cfb1.3 create mode 120000 linux_amd64/share/man/man3/EVP_aria_128_cfb128.3 create mode 120000 linux_amd64/share/man/man3/EVP_aria_128_cfb8.3 create mode 120000 linux_amd64/share/man/man3/EVP_aria_128_ctr.3 create mode 120000 linux_amd64/share/man/man3/EVP_aria_128_ecb.3 create mode 120000 linux_amd64/share/man/man3/EVP_aria_128_ofb.3 create mode 120000 linux_amd64/share/man/man3/EVP_aria_192_cbc.3 create mode 120000 linux_amd64/share/man/man3/EVP_aria_192_ccm.3 create mode 120000 linux_amd64/share/man/man3/EVP_aria_192_cfb.3 create mode 120000 linux_amd64/share/man/man3/EVP_aria_192_cfb1.3 create mode 120000 linux_amd64/share/man/man3/EVP_aria_192_cfb128.3 create mode 120000 linux_amd64/share/man/man3/EVP_aria_192_cfb8.3 create mode 120000 linux_amd64/share/man/man3/EVP_aria_192_ctr.3 create mode 120000 linux_amd64/share/man/man3/EVP_aria_192_ecb.3 create mode 120000 linux_amd64/share/man/man3/EVP_aria_192_gcm.3 create mode 120000 linux_amd64/share/man/man3/EVP_aria_192_ofb.3 create mode 120000 linux_amd64/share/man/man3/EVP_aria_256_cbc.3 create mode 120000 linux_amd64/share/man/man3/EVP_aria_256_ccm.3 create mode 120000 linux_amd64/share/man/man3/EVP_aria_256_cfb.3 create mode 120000 linux_amd64/share/man/man3/EVP_aria_256_cfb1.3 create mode 120000 linux_amd64/share/man/man3/EVP_aria_256_cfb128.3 create mode 120000 linux_amd64/share/man/man3/EVP_aria_256_cfb8.3 create mode 120000 linux_amd64/share/man/man3/EVP_aria_256_ctr.3 create mode 120000 linux_amd64/share/man/man3/EVP_aria_256_ecb.3 create mode 120000 linux_amd64/share/man/man3/EVP_aria_256_gcm.3 create mode 120000 linux_amd64/share/man/man3/EVP_aria_256_ofb.3 create mode 120000 linux_amd64/share/man/man3/EVP_bf_cfb.3 create mode 120000 linux_amd64/share/man/man3/EVP_bf_cfb64.3 create mode 120000 linux_amd64/share/man/man3/EVP_bf_ecb.3 create mode 120000 linux_amd64/share/man/man3/EVP_bf_ofb.3 create mode 120000 linux_amd64/share/man/man3/EVP_blake2s256.3 create mode 100644 linux_amd64/share/man/man3/EVP_camellia.3 create mode 120000 linux_amd64/share/man/man3/EVP_camellia_128_cbc.3 create mode 120000 linux_amd64/share/man/man3/EVP_camellia_128_cfb.3 create mode 120000 linux_amd64/share/man/man3/EVP_camellia_128_cfb1.3 create mode 120000 linux_amd64/share/man/man3/EVP_camellia_128_cfb128.3 create mode 120000 linux_amd64/share/man/man3/EVP_camellia_128_cfb8.3 create mode 120000 linux_amd64/share/man/man3/EVP_camellia_128_ctr.3 create mode 120000 linux_amd64/share/man/man3/EVP_camellia_128_ofb.3 create mode 120000 linux_amd64/share/man/man3/EVP_camellia_192_cbc.3 create mode 120000 linux_amd64/share/man/man3/EVP_camellia_192_cfb.3 create mode 120000 linux_amd64/share/man/man3/EVP_camellia_192_cfb1.3 create mode 120000 linux_amd64/share/man/man3/EVP_camellia_192_cfb128.3 create mode 120000 linux_amd64/share/man/man3/EVP_camellia_192_cfb8.3 create mode 120000 linux_amd64/share/man/man3/EVP_camellia_192_ctr.3 create mode 120000 linux_amd64/share/man/man3/EVP_camellia_192_ecb.3 create mode 120000 linux_amd64/share/man/man3/EVP_camellia_192_ofb.3 create mode 120000 linux_amd64/share/man/man3/EVP_camellia_256_cbc.3 create mode 120000 linux_amd64/share/man/man3/EVP_camellia_256_cfb.3 create mode 120000 linux_amd64/share/man/man3/EVP_camellia_256_cfb1.3 create mode 120000 linux_amd64/share/man/man3/EVP_camellia_256_cfb128.3 create mode 120000 linux_amd64/share/man/man3/EVP_camellia_256_cfb8.3 create mode 120000 linux_amd64/share/man/man3/EVP_camellia_256_ctr.3 create mode 120000 linux_amd64/share/man/man3/EVP_camellia_256_ecb.3 create mode 120000 linux_amd64/share/man/man3/EVP_camellia_256_ofb.3 create mode 120000 linux_amd64/share/man/man3/EVP_cast5_cfb.3 create mode 120000 linux_amd64/share/man/man3/EVP_cast5_cfb64.3 create mode 120000 linux_amd64/share/man/man3/EVP_cast5_ecb.3 create mode 120000 linux_amd64/share/man/man3/EVP_cast5_ofb.3 create mode 120000 linux_amd64/share/man/man3/EVP_chacha20_poly1305.3 create mode 120000 linux_amd64/share/man/man3/EVP_cleanup.3 create mode 100644 linux_amd64/share/man/man3/EVP_des.3 create mode 120000 linux_amd64/share/man/man3/EVP_des_cfb.3 create mode 120000 linux_amd64/share/man/man3/EVP_des_cfb1.3 create mode 120000 linux_amd64/share/man/man3/EVP_des_cfb64.3 create mode 120000 linux_amd64/share/man/man3/EVP_des_cfb8.3 create mode 120000 linux_amd64/share/man/man3/EVP_des_ecb.3 create mode 120000 linux_amd64/share/man/man3/EVP_des_ede.3 create mode 120000 linux_amd64/share/man/man3/EVP_des_ede3.3 create mode 120000 linux_amd64/share/man/man3/EVP_des_ede3_cbc.3 create mode 120000 linux_amd64/share/man/man3/EVP_des_ede3_cfb.3 create mode 120000 linux_amd64/share/man/man3/EVP_des_ede3_cfb1.3 create mode 120000 linux_amd64/share/man/man3/EVP_des_ede3_cfb64.3 create mode 120000 linux_amd64/share/man/man3/EVP_des_ede3_cfb8.3 create mode 120000 linux_amd64/share/man/man3/EVP_des_ede3_ecb.3 create mode 120000 linux_amd64/share/man/man3/EVP_des_ede3_ofb.3 create mode 120000 linux_amd64/share/man/man3/EVP_des_ede3_wrap.3 create mode 120000 linux_amd64/share/man/man3/EVP_des_ede_cbc.3 create mode 120000 linux_amd64/share/man/man3/EVP_des_ede_cfb.3 create mode 120000 linux_amd64/share/man/man3/EVP_des_ede_cfb64.3 create mode 120000 linux_amd64/share/man/man3/EVP_des_ede_ecb.3 create mode 120000 linux_amd64/share/man/man3/EVP_des_ede_ofb.3 create mode 120000 linux_amd64/share/man/man3/EVP_des_ofb.3 create mode 120000 linux_amd64/share/man/man3/EVP_enc_null.3 create mode 120000 linux_amd64/share/man/man3/EVP_get_cipherbyname.3 create mode 120000 linux_amd64/share/man/man3/EVP_get_cipherbynid.3 create mode 120000 linux_amd64/share/man/man3/EVP_get_cipherbyobj.3 create mode 120000 linux_amd64/share/man/man3/EVP_get_digestbyname.3 create mode 120000 linux_amd64/share/man/man3/EVP_get_digestbynid.3 create mode 120000 linux_amd64/share/man/man3/EVP_get_digestbyobj.3 create mode 120000 linux_amd64/share/man/man3/EVP_idea_cfb.3 create mode 120000 linux_amd64/share/man/man3/EVP_idea_cfb64.3 create mode 120000 linux_amd64/share/man/man3/EVP_idea_ecb.3 create mode 120000 linux_amd64/share/man/man3/EVP_idea_ofb.3 create mode 120000 linux_amd64/share/man/man3/EVP_md5_sha1.3 create mode 120000 linux_amd64/share/man/man3/EVP_md_null.3 create mode 120000 linux_amd64/share/man/man3/EVP_rc2_40_cbc.3 create mode 120000 linux_amd64/share/man/man3/EVP_rc2_64_cbc.3 create mode 120000 linux_amd64/share/man/man3/EVP_rc2_cfb.3 create mode 120000 linux_amd64/share/man/man3/EVP_rc2_cfb64.3 create mode 120000 linux_amd64/share/man/man3/EVP_rc2_ecb.3 create mode 120000 linux_amd64/share/man/man3/EVP_rc2_ofb.3 create mode 120000 linux_amd64/share/man/man3/EVP_rc4_40.3 create mode 120000 linux_amd64/share/man/man3/EVP_rc4_hmac_md5.3 create mode 120000 linux_amd64/share/man/man3/EVP_rc5_32_12_16_cfb.3 create mode 120000 linux_amd64/share/man/man3/EVP_rc5_32_12_16_cfb64.3 create mode 120000 linux_amd64/share/man/man3/EVP_rc5_32_12_16_ecb.3 create mode 120000 linux_amd64/share/man/man3/EVP_rc5_32_12_16_ofb.3 create mode 120000 linux_amd64/share/man/man3/EVP_seed_cfb.3 create mode 120000 linux_amd64/share/man/man3/EVP_seed_cfb128.3 create mode 120000 linux_amd64/share/man/man3/EVP_seed_ecb.3 create mode 120000 linux_amd64/share/man/man3/EVP_seed_ofb.3 create mode 120000 linux_amd64/share/man/man3/EVP_sha256.3 create mode 120000 linux_amd64/share/man/man3/EVP_sha384.3 create mode 120000 linux_amd64/share/man/man3/EVP_sha3_256.3 create mode 120000 linux_amd64/share/man/man3/EVP_sha3_384.3 create mode 120000 linux_amd64/share/man/man3/EVP_sha3_512.3 create mode 120000 linux_amd64/share/man/man3/EVP_sha512.3 create mode 120000 linux_amd64/share/man/man3/EVP_sha512_224.3 create mode 120000 linux_amd64/share/man/man3/EVP_sha512_256.3 create mode 120000 linux_amd64/share/man/man3/EVP_shake128.3 create mode 120000 linux_amd64/share/man/man3/EVP_shake256.3 create mode 120000 linux_amd64/share/man/man3/EVP_sm4_cfb.3 create mode 120000 linux_amd64/share/man/man3/EVP_sm4_cfb128.3 create mode 120000 linux_amd64/share/man/man3/EVP_sm4_ctr.3 create mode 120000 linux_amd64/share/man/man3/EVP_sm4_ecb.3 create mode 120000 linux_amd64/share/man/man3/EVP_sm4_ofb.3 create mode 120000 linux_amd64/share/man/man3/EXTENDED_KEY_USAGE_free.3 create mode 120000 linux_amd64/share/man/man3/EXTENDED_KEY_USAGE_new.3 create mode 120000 linux_amd64/share/man/man3/GENERAL_NAMES_free.3 create mode 120000 linux_amd64/share/man/man3/GENERAL_NAMES_new.3 create mode 120000 linux_amd64/share/man/man3/GENERAL_NAME_dup.3 create mode 120000 linux_amd64/share/man/man3/GENERAL_NAME_free.3 create mode 120000 linux_amd64/share/man/man3/GENERAL_NAME_new.3 create mode 120000 linux_amd64/share/man/man3/GENERAL_SUBTREE_free.3 create mode 120000 linux_amd64/share/man/man3/GENERAL_SUBTREE_new.3 create mode 120000 linux_amd64/share/man/man3/GEN_SESSION_CB.3 create mode 120000 linux_amd64/share/man/man3/HMAC_CTX_copy.3 create mode 120000 linux_amd64/share/man/man3/HMAC_CTX_free.3 create mode 120000 linux_amd64/share/man/man3/HMAC_CTX_get_md.3 create mode 120000 linux_amd64/share/man/man3/HMAC_CTX_new.3 create mode 120000 linux_amd64/share/man/man3/HMAC_CTX_reset.3 create mode 120000 linux_amd64/share/man/man3/HMAC_CTX_set_flags.3 create mode 120000 linux_amd64/share/man/man3/HMAC_Final.3 create mode 120000 linux_amd64/share/man/man3/HMAC_Init.3 create mode 120000 linux_amd64/share/man/man3/HMAC_Init_ex.3 create mode 120000 linux_amd64/share/man/man3/HMAC_Update.3 create mode 120000 linux_amd64/share/man/man3/HMAC_size.3 create mode 120000 linux_amd64/share/man/man3/IMPLEMENT_ASN1_FUNCTIONS.3 create mode 120000 linux_amd64/share/man/man3/IMPLEMENT_LHASH_COMP_FN.3 create mode 120000 linux_amd64/share/man/man3/IMPLEMENT_LHASH_HASH_FN.3 create mode 120000 linux_amd64/share/man/man3/IPAddressChoice_free.3 create mode 120000 linux_amd64/share/man/man3/IPAddressChoice_new.3 create mode 120000 linux_amd64/share/man/man3/IPAddressFamily_free.3 create mode 120000 linux_amd64/share/man/man3/IPAddressFamily_new.3 create mode 120000 linux_amd64/share/man/man3/IPAddressOrRange_free.3 create mode 120000 linux_amd64/share/man/man3/IPAddressOrRange_new.3 create mode 120000 linux_amd64/share/man/man3/IPAddressRange_free.3 create mode 120000 linux_amd64/share/man/man3/IPAddressRange_new.3 create mode 120000 linux_amd64/share/man/man3/ISSUING_DIST_POINT_free.3 create mode 120000 linux_amd64/share/man/man3/ISSUING_DIST_POINT_new.3 create mode 120000 linux_amd64/share/man/man3/LHASH.3 create mode 120000 linux_amd64/share/man/man3/LHASH_DOALL_ARG_FN_TYPE.3 create mode 120000 linux_amd64/share/man/man3/MD2.3 create mode 120000 linux_amd64/share/man/man3/MD2_Final.3 create mode 120000 linux_amd64/share/man/man3/MD2_Init.3 create mode 120000 linux_amd64/share/man/man3/MD2_Update.3 create mode 120000 linux_amd64/share/man/man3/MD4.3 create mode 120000 linux_amd64/share/man/man3/MD4_Final.3 create mode 120000 linux_amd64/share/man/man3/MD4_Init.3 create mode 120000 linux_amd64/share/man/man3/MD4_Update.3 create mode 120000 linux_amd64/share/man/man3/MD5_Final.3 create mode 120000 linux_amd64/share/man/man3/MD5_Init.3 create mode 120000 linux_amd64/share/man/man3/MD5_Update.3 create mode 120000 linux_amd64/share/man/man3/MDC2.3 create mode 120000 linux_amd64/share/man/man3/MDC2_Final.3 create mode 120000 linux_amd64/share/man/man3/MDC2_Update.3 create mode 120000 linux_amd64/share/man/man3/NAME_CONSTRAINTS_free.3 create mode 120000 linux_amd64/share/man/man3/NAME_CONSTRAINTS_new.3 create mode 120000 linux_amd64/share/man/man3/NAMING_AUTHORITY.3 create mode 120000 linux_amd64/share/man/man3/NAMING_AUTHORITY_free.3 create mode 120000 linux_amd64/share/man/man3/NAMING_AUTHORITY_get0_authorityId.3 create mode 120000 linux_amd64/share/man/man3/NAMING_AUTHORITY_get0_authorityText.3 create mode 120000 linux_amd64/share/man/man3/NAMING_AUTHORITY_get0_authorityURL.3 create mode 120000 linux_amd64/share/man/man3/NAMING_AUTHORITY_new.3 create mode 120000 linux_amd64/share/man/man3/NAMING_AUTHORITY_set0_authorityId.3 create mode 120000 linux_amd64/share/man/man3/NAMING_AUTHORITY_set0_authorityText.3 create mode 120000 linux_amd64/share/man/man3/NAMING_AUTHORITY_set0_authorityURL.3 create mode 120000 linux_amd64/share/man/man3/NETSCAPE_CERT_SEQUENCE_free.3 create mode 120000 linux_amd64/share/man/man3/NETSCAPE_CERT_SEQUENCE_new.3 create mode 120000 linux_amd64/share/man/man3/NETSCAPE_SPKAC_free.3 create mode 120000 linux_amd64/share/man/man3/NETSCAPE_SPKAC_new.3 create mode 120000 linux_amd64/share/man/man3/NETSCAPE_SPKI_free.3 create mode 120000 linux_amd64/share/man/man3/NETSCAPE_SPKI_new.3 create mode 120000 linux_amd64/share/man/man3/NOTICEREF_free.3 create mode 120000 linux_amd64/share/man/man3/NOTICEREF_new.3 create mode 120000 linux_amd64/share/man/man3/OBJ_cleanup.3 create mode 120000 linux_amd64/share/man/man3/OBJ_cmp.3 create mode 120000 linux_amd64/share/man/man3/OBJ_create.3 create mode 120000 linux_amd64/share/man/man3/OBJ_dup.3 create mode 120000 linux_amd64/share/man/man3/OBJ_get0_data.3 create mode 120000 linux_amd64/share/man/man3/OBJ_length.3 create mode 120000 linux_amd64/share/man/man3/OBJ_ln2nid.3 create mode 120000 linux_amd64/share/man/man3/OBJ_nid2ln.3 create mode 120000 linux_amd64/share/man/man3/OBJ_nid2sn.3 create mode 120000 linux_amd64/share/man/man3/OBJ_obj2nid.3 create mode 120000 linux_amd64/share/man/man3/OBJ_obj2txt.3 create mode 120000 linux_amd64/share/man/man3/OBJ_sn2nid.3 create mode 120000 linux_amd64/share/man/man3/OBJ_txt2nid.3 create mode 120000 linux_amd64/share/man/man3/OBJ_txt2obj.3 create mode 120000 linux_amd64/share/man/man3/OCSP_BASICRESP_free.3 create mode 120000 linux_amd64/share/man/man3/OCSP_BASICRESP_new.3 create mode 120000 linux_amd64/share/man/man3/OCSP_CERTID_dup.3 create mode 120000 linux_amd64/share/man/man3/OCSP_CERTID_free.3 create mode 120000 linux_amd64/share/man/man3/OCSP_CERTID_new.3 create mode 120000 linux_amd64/share/man/man3/OCSP_CERTSTATUS_free.3 create mode 120000 linux_amd64/share/man/man3/OCSP_CERTSTATUS_new.3 create mode 120000 linux_amd64/share/man/man3/OCSP_CRLID_free.3 create mode 120000 linux_amd64/share/man/man3/OCSP_CRLID_new.3 create mode 120000 linux_amd64/share/man/man3/OCSP_ONEREQ_free.3 create mode 120000 linux_amd64/share/man/man3/OCSP_ONEREQ_new.3 create mode 120000 linux_amd64/share/man/man3/OCSP_REQINFO_free.3 create mode 120000 linux_amd64/share/man/man3/OCSP_REQINFO_new.3 create mode 120000 linux_amd64/share/man/man3/OCSP_REQUEST_free.3 create mode 120000 linux_amd64/share/man/man3/OCSP_REQ_CTX_add1_header.3 create mode 120000 linux_amd64/share/man/man3/OCSP_REQ_CTX_free.3 create mode 120000 linux_amd64/share/man/man3/OCSP_REQ_CTX_set1_req.3 create mode 120000 linux_amd64/share/man/man3/OCSP_RESPBYTES_free.3 create mode 120000 linux_amd64/share/man/man3/OCSP_RESPBYTES_new.3 create mode 120000 linux_amd64/share/man/man3/OCSP_RESPDATA_free.3 create mode 120000 linux_amd64/share/man/man3/OCSP_RESPDATA_new.3 create mode 120000 linux_amd64/share/man/man3/OCSP_RESPID_free.3 create mode 120000 linux_amd64/share/man/man3/OCSP_RESPID_match.3 create mode 120000 linux_amd64/share/man/man3/OCSP_RESPID_new.3 create mode 120000 linux_amd64/share/man/man3/OCSP_RESPID_set_by_key.3 create mode 120000 linux_amd64/share/man/man3/OCSP_RESPID_set_by_name.3 create mode 120000 linux_amd64/share/man/man3/OCSP_RESPONSE_free.3 create mode 120000 linux_amd64/share/man/man3/OCSP_RESPONSE_new.3 create mode 120000 linux_amd64/share/man/man3/OCSP_REVOKEDINFO_free.3 create mode 120000 linux_amd64/share/man/man3/OCSP_REVOKEDINFO_new.3 create mode 120000 linux_amd64/share/man/man3/OCSP_SERVICELOC_free.3 create mode 120000 linux_amd64/share/man/man3/OCSP_SERVICELOC_new.3 create mode 120000 linux_amd64/share/man/man3/OCSP_SIGNATURE_free.3 create mode 120000 linux_amd64/share/man/man3/OCSP_SIGNATURE_new.3 create mode 120000 linux_amd64/share/man/man3/OCSP_SINGLERESP_free.3 create mode 120000 linux_amd64/share/man/man3/OCSP_SINGLERESP_new.3 create mode 120000 linux_amd64/share/man/man3/OCSP_basic_add1_nonce.3 create mode 120000 linux_amd64/share/man/man3/OCSP_basic_sign.3 create mode 120000 linux_amd64/share/man/man3/OCSP_basic_sign_ctx.3 create mode 120000 linux_amd64/share/man/man3/OCSP_basic_verify.3 create mode 120000 linux_amd64/share/man/man3/OCSP_cert_id_new.3 create mode 120000 linux_amd64/share/man/man3/OCSP_check_nonce.3 create mode 120000 linux_amd64/share/man/man3/OCSP_check_validity.3 create mode 120000 linux_amd64/share/man/man3/OCSP_copy_nonce.3 create mode 120000 linux_amd64/share/man/man3/OCSP_id_cmp.3 create mode 120000 linux_amd64/share/man/man3/OCSP_id_get0_info.3 create mode 120000 linux_amd64/share/man/man3/OCSP_id_issuer_cmp.3 create mode 120000 linux_amd64/share/man/man3/OCSP_request_add0_id.3 create mode 120000 linux_amd64/share/man/man3/OCSP_request_add1_cert.3 create mode 120000 linux_amd64/share/man/man3/OCSP_request_onereq_count.3 create mode 120000 linux_amd64/share/man/man3/OCSP_request_onereq_get0.3 create mode 120000 linux_amd64/share/man/man3/OCSP_request_sign.3 create mode 120000 linux_amd64/share/man/man3/OCSP_resp_count.3 create mode 120000 linux_amd64/share/man/man3/OCSP_resp_find.3 create mode 120000 linux_amd64/share/man/man3/OCSP_resp_get0.3 create mode 120000 linux_amd64/share/man/man3/OCSP_resp_get0_certs.3 create mode 120000 linux_amd64/share/man/man3/OCSP_resp_get0_id.3 create mode 120000 linux_amd64/share/man/man3/OCSP_resp_get0_produced_at.3 create mode 120000 linux_amd64/share/man/man3/OCSP_resp_get0_respdata.3 create mode 120000 linux_amd64/share/man/man3/OCSP_resp_get0_signature.3 create mode 120000 linux_amd64/share/man/man3/OCSP_resp_get0_signer.3 create mode 120000 linux_amd64/share/man/man3/OCSP_resp_get0_tbs_sigalg.3 create mode 120000 linux_amd64/share/man/man3/OCSP_resp_get1_id.3 create mode 120000 linux_amd64/share/man/man3/OCSP_response_create.3 create mode 120000 linux_amd64/share/man/man3/OCSP_response_get1_basic.3 create mode 120000 linux_amd64/share/man/man3/OCSP_sendreq_bio.3 create mode 120000 linux_amd64/share/man/man3/OCSP_sendreq_nbio.3 create mode 120000 linux_amd64/share/man/man3/OCSP_set_max_response_length.3 create mode 120000 linux_amd64/share/man/man3/OCSP_single_get0_status.3 create mode 120000 linux_amd64/share/man/man3/OPENSSL_INIT_free.3 create mode 120000 linux_amd64/share/man/man3/OPENSSL_INIT_new.3 create mode 120000 linux_amd64/share/man/man3/OPENSSL_INIT_set_config_appname.3 create mode 120000 linux_amd64/share/man/man3/OPENSSL_INIT_set_config_file_flags.3 create mode 120000 linux_amd64/share/man/man3/OPENSSL_INIT_set_config_filename.3 create mode 120000 linux_amd64/share/man/man3/OPENSSL_LH_DOALL_FUNC.3 create mode 120000 linux_amd64/share/man/man3/OPENSSL_LH_HASHFUNC.3 create mode 120000 linux_amd64/share/man/man3/OPENSSL_LH_node_stats.3 create mode 120000 linux_amd64/share/man/man3/OPENSSL_LH_node_stats_bio.3 create mode 120000 linux_amd64/share/man/man3/OPENSSL_LH_node_usage_stats.3 create mode 120000 linux_amd64/share/man/man3/OPENSSL_LH_node_usage_stats_bio.3 create mode 120000 linux_amd64/share/man/man3/OPENSSL_LH_stats_bio.3 create mode 120000 linux_amd64/share/man/man3/OPENSSL_MALLOC_FAILURES.3 create mode 120000 linux_amd64/share/man/man3/OPENSSL_MALLOC_FD.3 create mode 100644 linux_amd64/share/man/man3/OPENSSL_VERSION_NUMBER.3 create mode 120000 linux_amd64/share/man/man3/OPENSSL_VERSION_TEXT.3 create mode 120000 linux_amd64/share/man/man3/OPENSSL_atexit.3 create mode 120000 linux_amd64/share/man/man3/OPENSSL_buf2hexstr.3 create mode 120000 linux_amd64/share/man/man3/OPENSSL_cipher_name.3 create mode 120000 linux_amd64/share/man/man3/OPENSSL_cleanse.3 create mode 120000 linux_amd64/share/man/man3/OPENSSL_cleanup.3 create mode 120000 linux_amd64/share/man/man3/OPENSSL_clear_free.3 create mode 120000 linux_amd64/share/man/man3/OPENSSL_clear_realloc.3 create mode 120000 linux_amd64/share/man/man3/OPENSSL_fork_child.3 create mode 120000 linux_amd64/share/man/man3/OPENSSL_fork_parent.3 create mode 120000 linux_amd64/share/man/man3/OPENSSL_free.3 create mode 120000 linux_amd64/share/man/man3/OPENSSL_hexstr2buf.3 create mode 120000 linux_amd64/share/man/man3/OPENSSL_instrument_bus2.3 create mode 120000 linux_amd64/share/man/man3/OPENSSL_malloc_init.3 create mode 120000 linux_amd64/share/man/man3/OPENSSL_mem_debug_pop.3 create mode 120000 linux_amd64/share/man/man3/OPENSSL_mem_debug_push.3 create mode 120000 linux_amd64/share/man/man3/OPENSSL_memdup.3 create mode 120000 linux_amd64/share/man/man3/OPENSSL_no_config.3 create mode 120000 linux_amd64/share/man/man3/OPENSSL_realloc.3 create mode 120000 linux_amd64/share/man/man3/OPENSSL_secure_actual_size.3 create mode 120000 linux_amd64/share/man/man3/OPENSSL_secure_clear_free.3 create mode 120000 linux_amd64/share/man/man3/OPENSSL_secure_free.3 create mode 120000 linux_amd64/share/man/man3/OPENSSL_secure_zalloc.3 create mode 120000 linux_amd64/share/man/man3/OPENSSL_strdup.3 create mode 120000 linux_amd64/share/man/man3/OPENSSL_strlcat.3 create mode 120000 linux_amd64/share/man/man3/OPENSSL_strlcpy.3 create mode 120000 linux_amd64/share/man/man3/OPENSSL_strndup.3 create mode 120000 linux_amd64/share/man/man3/OPENSSL_thread_stop.3 create mode 120000 linux_amd64/share/man/man3/OPENSSL_zalloc.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_CTX.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_INFO_free.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_INFO_get0_CERT.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_INFO_get0_CRL.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_INFO_get0_NAME.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_INFO_get0_NAME_description.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_INFO_get0_PARAMS.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_INFO_get0_PKEY.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_INFO_get1_CERT.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_INFO_get1_CRL.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_INFO_get1_NAME.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_INFO_get1_NAME_description.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_INFO_get1_PARAMS.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_INFO_get1_PKEY.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_INFO_get_type.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_INFO_new_CERT.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_INFO_new_CRL.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_INFO_new_NAME.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_INFO_new_PARAMS.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_INFO_new_PKEY.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_INFO_set0_NAME_description.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_INFO_type_string.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_LOADER_CTX.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_LOADER_free.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_LOADER_get0_engine.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_LOADER_get0_scheme.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_LOADER_new.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_LOADER_set_close.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_LOADER_set_ctrl.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_LOADER_set_eof.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_LOADER_set_error.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_LOADER_set_expect.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_LOADER_set_find.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_LOADER_set_load.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_LOADER_set_open.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_SEARCH_by_alias.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_SEARCH_by_issuer_serial.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_SEARCH_by_key_fingerprint.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_SEARCH_by_name.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_SEARCH_free.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_SEARCH_get0_bytes.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_SEARCH_get0_digest.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_SEARCH_get0_name.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_SEARCH_get0_serial.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_SEARCH_get0_string.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_SEARCH_get_type.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_close.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_close_fn.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_ctrl.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_ctrl_fn.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_eof.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_eof_fn.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_error.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_error_fn.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_expect_fn.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_find.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_find_fn.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_load.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_load_fn.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_open_fn.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_post_process_info_fn.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_register_loader.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_supports_search.3 create mode 120000 linux_amd64/share/man/man3/OSSL_STORE_unregister_loader.3 create mode 120000 linux_amd64/share/man/man3/OTHERNAME_free.3 create mode 120000 linux_amd64/share/man/man3/OTHERNAME_new.3 create mode 120000 linux_amd64/share/man/man3/OpenSSL_add_all_ciphers.3 create mode 120000 linux_amd64/share/man/man3/OpenSSL_add_all_digests.3 create mode 120000 linux_amd64/share/man/man3/OpenSSL_add_ssl_algorithms.3 create mode 120000 linux_amd64/share/man/man3/OpenSSL_version_num.3 create mode 120000 linux_amd64/share/man/man3/PBE2PARAM_free.3 create mode 120000 linux_amd64/share/man/man3/PBE2PARAM_new.3 create mode 120000 linux_amd64/share/man/man3/PBEPARAM_free.3 create mode 120000 linux_amd64/share/man/man3/PBEPARAM_new.3 create mode 120000 linux_amd64/share/man/man3/PBKDF2PARAM_free.3 create mode 120000 linux_amd64/share/man/man3/PBKDF2PARAM_new.3 create mode 120000 linux_amd64/share/man/man3/PEM_FLAG_EAY_COMPATIBLE.3 create mode 120000 linux_amd64/share/man/man3/PEM_FLAG_ONLY_B64.3 create mode 120000 linux_amd64/share/man/man3/PEM_FLAG_SECURE.3 create mode 120000 linux_amd64/share/man/man3/PEM_bytes_read_bio_secmem.3 create mode 120000 linux_amd64/share/man/man3/PEM_do_header.3 create mode 120000 linux_amd64/share/man/man3/PEM_get_EVP_CIPHER_INFO.3 create mode 120000 linux_amd64/share/man/man3/PEM_read_DHparams.3 create mode 120000 linux_amd64/share/man/man3/PEM_read_DSAPrivateKey.3 create mode 120000 linux_amd64/share/man/man3/PEM_read_DSA_PUBKEY.3 create mode 120000 linux_amd64/share/man/man3/PEM_read_DSAparams.3 create mode 120000 linux_amd64/share/man/man3/PEM_read_ECPKParameters.3 create mode 120000 linux_amd64/share/man/man3/PEM_read_ECPrivateKey.3 create mode 120000 linux_amd64/share/man/man3/PEM_read_EC_PUBKEY.3 create mode 120000 linux_amd64/share/man/man3/PEM_read_NETSCAPE_CERT_SEQUENCE.3 create mode 120000 linux_amd64/share/man/man3/PEM_read_PKCS7.3 create mode 120000 linux_amd64/share/man/man3/PEM_read_PKCS8.3 create mode 120000 linux_amd64/share/man/man3/PEM_read_PKCS8_PRIV_KEY_INFO.3 create mode 120000 linux_amd64/share/man/man3/PEM_read_PUBKEY.3 create mode 120000 linux_amd64/share/man/man3/PEM_read_PrivateKey.3 create mode 120000 linux_amd64/share/man/man3/PEM_read_RSAPrivateKey.3 create mode 120000 linux_amd64/share/man/man3/PEM_read_RSAPublicKey.3 create mode 120000 linux_amd64/share/man/man3/PEM_read_RSA_PUBKEY.3 create mode 120000 linux_amd64/share/man/man3/PEM_read_SSL_SESSION.3 create mode 120000 linux_amd64/share/man/man3/PEM_read_X509.3 create mode 120000 linux_amd64/share/man/man3/PEM_read_X509_AUX.3 create mode 120000 linux_amd64/share/man/man3/PEM_read_X509_CRL.3 create mode 120000 linux_amd64/share/man/man3/PEM_read_X509_REQ.3 create mode 120000 linux_amd64/share/man/man3/PEM_read_bio.3 create mode 120000 linux_amd64/share/man/man3/PEM_read_bio_CMS.3 create mode 120000 linux_amd64/share/man/man3/PEM_read_bio_DHparams.3 create mode 120000 linux_amd64/share/man/man3/PEM_read_bio_DSAPrivateKey.3 create mode 120000 linux_amd64/share/man/man3/PEM_read_bio_DSA_PUBKEY.3 create mode 120000 linux_amd64/share/man/man3/PEM_read_bio_DSAparams.3 create mode 120000 linux_amd64/share/man/man3/PEM_read_bio_ECPKParameters.3 create mode 120000 linux_amd64/share/man/man3/PEM_read_bio_EC_PUBKEY.3 create mode 120000 linux_amd64/share/man/man3/PEM_read_bio_NETSCAPE_CERT_SEQUENCE.3 create mode 120000 linux_amd64/share/man/man3/PEM_read_bio_PKCS7.3 create mode 120000 linux_amd64/share/man/man3/PEM_read_bio_PKCS8.3 create mode 120000 linux_amd64/share/man/man3/PEM_read_bio_PKCS8_PRIV_KEY_INFO.3 create mode 120000 linux_amd64/share/man/man3/PEM_read_bio_PUBKEY.3 create mode 120000 linux_amd64/share/man/man3/PEM_read_bio_Parameters.3 create mode 120000 linux_amd64/share/man/man3/PEM_read_bio_RSAPrivateKey.3 create mode 120000 linux_amd64/share/man/man3/PEM_read_bio_RSAPublicKey.3 create mode 120000 linux_amd64/share/man/man3/PEM_read_bio_RSA_PUBKEY.3 create mode 120000 linux_amd64/share/man/man3/PEM_read_bio_SSL_SESSION.3 create mode 120000 linux_amd64/share/man/man3/PEM_read_bio_X509.3 create mode 120000 linux_amd64/share/man/man3/PEM_read_bio_X509_AUX.3 create mode 120000 linux_amd64/share/man/man3/PEM_read_bio_X509_CRL.3 create mode 120000 linux_amd64/share/man/man3/PEM_read_bio_X509_REQ.3 create mode 120000 linux_amd64/share/man/man3/PEM_write.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_CMS.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_DHparams.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_DHxparams.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_DSAPrivateKey.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_DSA_PUBKEY.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_DSAparams.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_ECPKParameters.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_ECPrivateKey.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_EC_PUBKEY.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_NETSCAPE_CERT_SEQUENCE.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_PKCS7.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_PKCS8.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_PKCS8PrivateKey.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_PKCS8PrivateKey_nid.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_PKCS8_PRIV_KEY_INFO.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_PUBKEY.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_PrivateKey.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_RSAPrivateKey.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_RSAPublicKey.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_RSA_PUBKEY.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_SSL_SESSION.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_X509.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_X509_AUX.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_X509_CRL.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_X509_REQ.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_X509_REQ_NEW.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_bio.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_bio_CMS.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_bio_DHparams.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_bio_DHxparams.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_bio_DSAPrivateKey.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_bio_DSA_PUBKEY.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_bio_DSAparams.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_bio_ECPKParameters.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_bio_ECPrivateKey.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_bio_EC_PUBKEY.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_bio_NETSCAPE_CERT_SEQUENCE.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_bio_PKCS7.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_bio_PKCS8.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_bio_PKCS8PrivateKey.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_bio_PKCS8PrivateKey_nid.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_bio_PKCS8_PRIV_KEY_INFO.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_bio_PUBKEY.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_bio_Parameters.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_bio_PrivateKey.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_bio_PrivateKey_traditional.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_bio_RSAPrivateKey.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_bio_RSAPublicKey.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_bio_RSA_PUBKEY.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_bio_SSL_SESSION.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_bio_X509.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_bio_X509_AUX.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_bio_X509_CRL.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_bio_X509_REQ.3 create mode 120000 linux_amd64/share/man/man3/PEM_write_bio_X509_REQ_NEW.3 create mode 120000 linux_amd64/share/man/man3/PKCS12_BAGS_free.3 create mode 120000 linux_amd64/share/man/man3/PKCS12_BAGS_new.3 create mode 120000 linux_amd64/share/man/man3/PKCS12_MAC_DATA_free.3 create mode 120000 linux_amd64/share/man/man3/PKCS12_MAC_DATA_new.3 create mode 120000 linux_amd64/share/man/man3/PKCS12_SAFEBAG_free.3 create mode 120000 linux_amd64/share/man/man3/PKCS12_SAFEBAG_new.3 create mode 120000 linux_amd64/share/man/man3/PKCS12_free.3 create mode 120000 linux_amd64/share/man/man3/PKCS12_new.3 create mode 120000 linux_amd64/share/man/man3/PKCS5_PBKDF2_HMAC_SHA1.3 create mode 120000 linux_amd64/share/man/man3/PKCS7_DIGEST_free.3 create mode 120000 linux_amd64/share/man/man3/PKCS7_DIGEST_new.3 create mode 120000 linux_amd64/share/man/man3/PKCS7_ENCRYPT_free.3 create mode 120000 linux_amd64/share/man/man3/PKCS7_ENCRYPT_new.3 create mode 120000 linux_amd64/share/man/man3/PKCS7_ENC_CONTENT_free.3 create mode 120000 linux_amd64/share/man/man3/PKCS7_ENC_CONTENT_new.3 create mode 120000 linux_amd64/share/man/man3/PKCS7_ENVELOPE_free.3 create mode 120000 linux_amd64/share/man/man3/PKCS7_ENVELOPE_new.3 create mode 120000 linux_amd64/share/man/man3/PKCS7_ISSUER_AND_SERIAL_digest.3 create mode 120000 linux_amd64/share/man/man3/PKCS7_ISSUER_AND_SERIAL_free.3 create mode 120000 linux_amd64/share/man/man3/PKCS7_ISSUER_AND_SERIAL_new.3 create mode 120000 linux_amd64/share/man/man3/PKCS7_RECIP_INFO_free.3 create mode 120000 linux_amd64/share/man/man3/PKCS7_RECIP_INFO_new.3 create mode 120000 linux_amd64/share/man/man3/PKCS7_SIGNED_free.3 create mode 120000 linux_amd64/share/man/man3/PKCS7_SIGNED_new.3 create mode 120000 linux_amd64/share/man/man3/PKCS7_SIGNER_INFO_free.3 create mode 120000 linux_amd64/share/man/man3/PKCS7_SIGNER_INFO_new.3 create mode 120000 linux_amd64/share/man/man3/PKCS7_SIGN_ENVELOPE_free.3 create mode 120000 linux_amd64/share/man/man3/PKCS7_SIGN_ENVELOPE_new.3 create mode 120000 linux_amd64/share/man/man3/PKCS7_dup.3 create mode 120000 linux_amd64/share/man/man3/PKCS7_free.3 create mode 120000 linux_amd64/share/man/man3/PKCS7_get0_signers.3 create mode 120000 linux_amd64/share/man/man3/PKCS7_new.3 create mode 120000 linux_amd64/share/man/man3/PKCS7_print_ctx.3 create mode 120000 linux_amd64/share/man/man3/PKCS8_PRIV_KEY_INFO_free.3 create mode 120000 linux_amd64/share/man/man3/PKCS8_PRIV_KEY_INFO_new.3 create mode 120000 linux_amd64/share/man/man3/PKEY_USAGE_PERIOD_free.3 create mode 120000 linux_amd64/share/man/man3/PKEY_USAGE_PERIOD_new.3 create mode 120000 linux_amd64/share/man/man3/POLICYINFO_free.3 create mode 120000 linux_amd64/share/man/man3/POLICYINFO_new.3 create mode 120000 linux_amd64/share/man/man3/POLICYQUALINFO_free.3 create mode 120000 linux_amd64/share/man/man3/POLICYQUALINFO_new.3 create mode 120000 linux_amd64/share/man/man3/POLICY_CONSTRAINTS_free.3 create mode 120000 linux_amd64/share/man/man3/POLICY_CONSTRAINTS_new.3 create mode 120000 linux_amd64/share/man/man3/POLICY_MAPPING_free.3 create mode 120000 linux_amd64/share/man/man3/POLICY_MAPPING_new.3 create mode 120000 linux_amd64/share/man/man3/PROFESSION_INFO.3 create mode 120000 linux_amd64/share/man/man3/PROFESSION_INFOS.3 create mode 120000 linux_amd64/share/man/man3/PROFESSION_INFOS_free.3 create mode 120000 linux_amd64/share/man/man3/PROFESSION_INFOS_new.3 create mode 120000 linux_amd64/share/man/man3/PROFESSION_INFO_free.3 create mode 120000 linux_amd64/share/man/man3/PROFESSION_INFO_get0_addProfessionInfo.3 create mode 120000 linux_amd64/share/man/man3/PROFESSION_INFO_get0_namingAuthority.3 create mode 120000 linux_amd64/share/man/man3/PROFESSION_INFO_get0_professionItems.3 create mode 120000 linux_amd64/share/man/man3/PROFESSION_INFO_get0_professionOIDs.3 create mode 120000 linux_amd64/share/man/man3/PROFESSION_INFO_get0_registrationNumber.3 create mode 120000 linux_amd64/share/man/man3/PROFESSION_INFO_new.3 create mode 120000 linux_amd64/share/man/man3/PROFESSION_INFO_set0_addProfessionInfo.3 create mode 120000 linux_amd64/share/man/man3/PROFESSION_INFO_set0_namingAuthority.3 create mode 120000 linux_amd64/share/man/man3/PROFESSION_INFO_set0_professionItems.3 create mode 120000 linux_amd64/share/man/man3/PROFESSION_INFO_set0_professionOIDs.3 create mode 120000 linux_amd64/share/man/man3/PROFESSION_INFO_set0_registrationNumber.3 create mode 120000 linux_amd64/share/man/man3/PROXY_CERT_INFO_EXTENSION_free.3 create mode 120000 linux_amd64/share/man/man3/PROXY_CERT_INFO_EXTENSION_new.3 create mode 120000 linux_amd64/share/man/man3/PROXY_POLICY_free.3 create mode 120000 linux_amd64/share/man/man3/PROXY_POLICY_new.3 create mode 120000 linux_amd64/share/man/man3/RAND_DRBG_bytes.3 create mode 120000 linux_amd64/share/man/man3/RAND_DRBG_cleanup_entropy_fn.3 create mode 120000 linux_amd64/share/man/man3/RAND_DRBG_cleanup_nonce_fn.3 create mode 120000 linux_amd64/share/man/man3/RAND_DRBG_free.3 create mode 120000 linux_amd64/share/man/man3/RAND_DRBG_get0_private.3 create mode 120000 linux_amd64/share/man/man3/RAND_DRBG_get0_public.3 create mode 120000 linux_amd64/share/man/man3/RAND_DRBG_get_entropy_fn.3 create mode 120000 linux_amd64/share/man/man3/RAND_DRBG_get_ex_data.3 create mode 120000 linux_amd64/share/man/man3/RAND_DRBG_get_ex_new_index.3 create mode 120000 linux_amd64/share/man/man3/RAND_DRBG_get_nonce_fn.3 create mode 120000 linux_amd64/share/man/man3/RAND_DRBG_instantiate.3 create mode 120000 linux_amd64/share/man/man3/RAND_DRBG_secure_new.3 create mode 120000 linux_amd64/share/man/man3/RAND_DRBG_set.3 create mode 120000 linux_amd64/share/man/man3/RAND_DRBG_set_defaults.3 create mode 100644 linux_amd64/share/man/man3/RAND_DRBG_set_ex_data.3 create mode 120000 linux_amd64/share/man/man3/RAND_DRBG_set_reseed_defaults.3 create mode 120000 linux_amd64/share/man/man3/RAND_DRBG_set_reseed_interval.3 create mode 120000 linux_amd64/share/man/man3/RAND_DRBG_set_reseed_time_interval.3 create mode 120000 linux_amd64/share/man/man3/RAND_DRBG_uninstantiate.3 create mode 120000 linux_amd64/share/man/man3/RAND_OpenSSL.3 create mode 120000 linux_amd64/share/man/man3/RAND_egd_bytes.3 create mode 120000 linux_amd64/share/man/man3/RAND_event.3 create mode 120000 linux_amd64/share/man/man3/RAND_file_name.3 create mode 120000 linux_amd64/share/man/man3/RAND_get_rand_method.3 create mode 120000 linux_amd64/share/man/man3/RAND_keep_random_devices_open.3 create mode 120000 linux_amd64/share/man/man3/RAND_poll.3 create mode 120000 linux_amd64/share/man/man3/RAND_priv_bytes.3 create mode 120000 linux_amd64/share/man/man3/RAND_pseudo_bytes.3 create mode 120000 linux_amd64/share/man/man3/RAND_query_egd_bytes.3 create mode 120000 linux_amd64/share/man/man3/RAND_screen.3 create mode 120000 linux_amd64/share/man/man3/RAND_seed.3 create mode 120000 linux_amd64/share/man/man3/RAND_status.3 create mode 120000 linux_amd64/share/man/man3/RAND_write_file.3 create mode 120000 linux_amd64/share/man/man3/RC4.3 create mode 120000 linux_amd64/share/man/man3/RIPEMD160.3 create mode 120000 linux_amd64/share/man/man3/RIPEMD160_Final.3 create mode 120000 linux_amd64/share/man/man3/RIPEMD160_Update.3 create mode 120000 linux_amd64/share/man/man3/RSAPrivateKey_dup.3 create mode 120000 linux_amd64/share/man/man3/RSAPublicKey_dup.3 create mode 120000 linux_amd64/share/man/man3/RSA_OAEP_PARAMS_free.3 create mode 120000 linux_amd64/share/man/man3/RSA_OAEP_PARAMS_new.3 create mode 120000 linux_amd64/share/man/man3/RSA_PKCS1_OpenSSL.3 create mode 120000 linux_amd64/share/man/man3/RSA_PSS_PARAMS_free.3 create mode 120000 linux_amd64/share/man/man3/RSA_PSS_PARAMS_new.3 create mode 120000 linux_amd64/share/man/man3/RSA_bits.3 create mode 120000 linux_amd64/share/man/man3/RSA_blinding_off.3 create mode 120000 linux_amd64/share/man/man3/RSA_check_key_ex.3 create mode 120000 linux_amd64/share/man/man3/RSA_clear_flags.3 create mode 120000 linux_amd64/share/man/man3/RSA_flags.3 create mode 120000 linux_amd64/share/man/man3/RSA_free.3 create mode 120000 linux_amd64/share/man/man3/RSA_generate_key_ex.3 create mode 120000 linux_amd64/share/man/man3/RSA_generate_multi_prime_key.3 create mode 120000 linux_amd64/share/man/man3/RSA_get0_crt_params.3 create mode 120000 linux_amd64/share/man/man3/RSA_get0_d.3 create mode 120000 linux_amd64/share/man/man3/RSA_get0_dmp1.3 create mode 120000 linux_amd64/share/man/man3/RSA_get0_dmq1.3 create mode 120000 linux_amd64/share/man/man3/RSA_get0_e.3 create mode 120000 linux_amd64/share/man/man3/RSA_get0_engine.3 create mode 120000 linux_amd64/share/man/man3/RSA_get0_factors.3 create mode 120000 linux_amd64/share/man/man3/RSA_get0_iqmp.3 create mode 120000 linux_amd64/share/man/man3/RSA_get0_multi_prime_crt_params.3 create mode 120000 linux_amd64/share/man/man3/RSA_get0_multi_prime_factors.3 create mode 120000 linux_amd64/share/man/man3/RSA_get0_n.3 create mode 120000 linux_amd64/share/man/man3/RSA_get0_p.3 create mode 120000 linux_amd64/share/man/man3/RSA_get0_pss_params.3 create mode 120000 linux_amd64/share/man/man3/RSA_get0_q.3 create mode 120000 linux_amd64/share/man/man3/RSA_get_default_method.3 create mode 120000 linux_amd64/share/man/man3/RSA_get_ex_data.3 create mode 120000 linux_amd64/share/man/man3/RSA_get_ex_new_index.3 create mode 120000 linux_amd64/share/man/man3/RSA_get_method.3 create mode 120000 linux_amd64/share/man/man3/RSA_get_multi_prime_extra_count.3 create mode 120000 linux_amd64/share/man/man3/RSA_get_version.3 create mode 120000 linux_amd64/share/man/man3/RSA_meth_dup.3 create mode 120000 linux_amd64/share/man/man3/RSA_meth_free.3 create mode 120000 linux_amd64/share/man/man3/RSA_meth_get0_app_data.3 create mode 120000 linux_amd64/share/man/man3/RSA_meth_get0_name.3 create mode 120000 linux_amd64/share/man/man3/RSA_meth_get_bn_mod_exp.3 create mode 120000 linux_amd64/share/man/man3/RSA_meth_get_finish.3 create mode 120000 linux_amd64/share/man/man3/RSA_meth_get_flags.3 create mode 120000 linux_amd64/share/man/man3/RSA_meth_get_init.3 create mode 120000 linux_amd64/share/man/man3/RSA_meth_get_keygen.3 create mode 120000 linux_amd64/share/man/man3/RSA_meth_get_mod_exp.3 create mode 120000 linux_amd64/share/man/man3/RSA_meth_get_multi_prime_keygen.3 create mode 120000 linux_amd64/share/man/man3/RSA_meth_get_priv_dec.3 create mode 120000 linux_amd64/share/man/man3/RSA_meth_get_priv_enc.3 create mode 120000 linux_amd64/share/man/man3/RSA_meth_get_pub_dec.3 create mode 120000 linux_amd64/share/man/man3/RSA_meth_get_pub_enc.3 create mode 120000 linux_amd64/share/man/man3/RSA_meth_get_sign.3 create mode 120000 linux_amd64/share/man/man3/RSA_meth_get_verify.3 create mode 120000 linux_amd64/share/man/man3/RSA_meth_set0_app_data.3 create mode 120000 linux_amd64/share/man/man3/RSA_meth_set1_name.3 create mode 120000 linux_amd64/share/man/man3/RSA_meth_set_bn_mod_exp.3 create mode 120000 linux_amd64/share/man/man3/RSA_meth_set_finish.3 create mode 120000 linux_amd64/share/man/man3/RSA_meth_set_flags.3 create mode 120000 linux_amd64/share/man/man3/RSA_meth_set_init.3 create mode 120000 linux_amd64/share/man/man3/RSA_meth_set_keygen.3 create mode 120000 linux_amd64/share/man/man3/RSA_meth_set_mod_exp.3 create mode 120000 linux_amd64/share/man/man3/RSA_meth_set_multi_prime_keygen.3 create mode 120000 linux_amd64/share/man/man3/RSA_meth_set_priv_dec.3 create mode 120000 linux_amd64/share/man/man3/RSA_meth_set_priv_enc.3 create mode 120000 linux_amd64/share/man/man3/RSA_meth_set_pub_dec.3 create mode 120000 linux_amd64/share/man/man3/RSA_meth_set_pub_enc.3 create mode 120000 linux_amd64/share/man/man3/RSA_meth_set_sign.3 create mode 120000 linux_amd64/share/man/man3/RSA_meth_set_verify.3 create mode 120000 linux_amd64/share/man/man3/RSA_new_method.3 create mode 120000 linux_amd64/share/man/man3/RSA_padding_add_PKCS1_OAEP.3 create mode 120000 linux_amd64/share/man/man3/RSA_padding_add_PKCS1_OAEP_mgf1.3 create mode 120000 linux_amd64/share/man/man3/RSA_padding_add_PKCS1_type_2.3 create mode 120000 linux_amd64/share/man/man3/RSA_padding_add_SSLv23.3 create mode 120000 linux_amd64/share/man/man3/RSA_padding_add_none.3 create mode 120000 linux_amd64/share/man/man3/RSA_padding_check_PKCS1_OAEP.3 create mode 120000 linux_amd64/share/man/man3/RSA_padding_check_PKCS1_OAEP_mgf1.3 create mode 120000 linux_amd64/share/man/man3/RSA_padding_check_PKCS1_type_1.3 create mode 120000 linux_amd64/share/man/man3/RSA_padding_check_PKCS1_type_2.3 create mode 120000 linux_amd64/share/man/man3/RSA_padding_check_SSLv23.3 create mode 120000 linux_amd64/share/man/man3/RSA_padding_check_none.3 create mode 120000 linux_amd64/share/man/man3/RSA_print_fp.3 create mode 120000 linux_amd64/share/man/man3/RSA_private_decrypt.3 create mode 120000 linux_amd64/share/man/man3/RSA_public_decrypt.3 create mode 120000 linux_amd64/share/man/man3/RSA_security_bits.3 create mode 120000 linux_amd64/share/man/man3/RSA_set0_crt_params.3 create mode 120000 linux_amd64/share/man/man3/RSA_set0_factors.3 create mode 120000 linux_amd64/share/man/man3/RSA_set0_key.3 create mode 120000 linux_amd64/share/man/man3/RSA_set0_multi_prime_params.3 create mode 120000 linux_amd64/share/man/man3/RSA_set_default_method.3 create mode 120000 linux_amd64/share/man/man3/RSA_set_ex_data.3 create mode 120000 linux_amd64/share/man/man3/RSA_set_flags.3 create mode 120000 linux_amd64/share/man/man3/RSA_test_flags.3 create mode 120000 linux_amd64/share/man/man3/RSA_verify.3 create mode 120000 linux_amd64/share/man/man3/RSA_verify_ASN1_OCTET_STRING.3 create mode 120000 linux_amd64/share/man/man3/SCRYPT_PARAMS_free.3 create mode 120000 linux_amd64/share/man/man3/SCRYPT_PARAMS_new.3 create mode 120000 linux_amd64/share/man/man3/SCT_LIST_free.3 create mode 120000 linux_amd64/share/man/man3/SCT_LIST_print.3 create mode 120000 linux_amd64/share/man/man3/SCT_LIST_validate.3 create mode 120000 linux_amd64/share/man/man3/SCT_free.3 create mode 120000 linux_amd64/share/man/man3/SCT_get0_extensions.3 create mode 120000 linux_amd64/share/man/man3/SCT_get0_log_id.3 create mode 120000 linux_amd64/share/man/man3/SCT_get0_signature.3 create mode 120000 linux_amd64/share/man/man3/SCT_get_log_entry_type.3 create mode 120000 linux_amd64/share/man/man3/SCT_get_signature_nid.3 create mode 120000 linux_amd64/share/man/man3/SCT_get_source.3 create mode 120000 linux_amd64/share/man/man3/SCT_get_timestamp.3 create mode 120000 linux_amd64/share/man/man3/SCT_get_validation_status.3 create mode 120000 linux_amd64/share/man/man3/SCT_get_version.3 create mode 120000 linux_amd64/share/man/man3/SCT_new_from_base64.3 create mode 120000 linux_amd64/share/man/man3/SCT_set0_extensions.3 create mode 120000 linux_amd64/share/man/man3/SCT_set0_log_id.3 create mode 120000 linux_amd64/share/man/man3/SCT_set0_signature.3 create mode 120000 linux_amd64/share/man/man3/SCT_set1_extensions.3 create mode 120000 linux_amd64/share/man/man3/SCT_set1_log_id.3 create mode 120000 linux_amd64/share/man/man3/SCT_set1_signature.3 create mode 120000 linux_amd64/share/man/man3/SCT_set_log_entry_type.3 create mode 120000 linux_amd64/share/man/man3/SCT_set_signature_nid.3 create mode 120000 linux_amd64/share/man/man3/SCT_set_source.3 create mode 120000 linux_amd64/share/man/man3/SCT_set_timestamp.3 create mode 120000 linux_amd64/share/man/man3/SCT_set_version.3 create mode 120000 linux_amd64/share/man/man3/SCT_validation_status_string.3 create mode 120000 linux_amd64/share/man/man3/SHA1.3 create mode 120000 linux_amd64/share/man/man3/SHA1_Final.3 create mode 120000 linux_amd64/share/man/man3/SHA1_Init.3 create mode 120000 linux_amd64/share/man/man3/SHA1_Update.3 create mode 120000 linux_amd64/share/man/man3/SHA224.3 create mode 120000 linux_amd64/share/man/man3/SHA224_Final.3 create mode 120000 linux_amd64/share/man/man3/SHA224_Init.3 create mode 120000 linux_amd64/share/man/man3/SHA224_Update.3 create mode 120000 linux_amd64/share/man/man3/SHA256.3 create mode 120000 linux_amd64/share/man/man3/SHA256_Final.3 create mode 120000 linux_amd64/share/man/man3/SHA256_Update.3 create mode 120000 linux_amd64/share/man/man3/SHA384.3 create mode 120000 linux_amd64/share/man/man3/SHA384_Final.3 create mode 120000 linux_amd64/share/man/man3/SHA384_Init.3 create mode 120000 linux_amd64/share/man/man3/SHA384_Update.3 create mode 120000 linux_amd64/share/man/man3/SHA512.3 create mode 120000 linux_amd64/share/man/man3/SHA512_Final.3 create mode 120000 linux_amd64/share/man/man3/SHA512_Init.3 create mode 120000 linux_amd64/share/man/man3/SHA512_Update.3 create mode 120000 linux_amd64/share/man/man3/SSL_CIPHER_description.3 create mode 120000 linux_amd64/share/man/man3/SSL_CIPHER_find.3 create mode 120000 linux_amd64/share/man/man3/SSL_CIPHER_get_auth_nid.3 create mode 120000 linux_amd64/share/man/man3/SSL_CIPHER_get_bits.3 create mode 120000 linux_amd64/share/man/man3/SSL_CIPHER_get_cipher_nid.3 create mode 120000 linux_amd64/share/man/man3/SSL_CIPHER_get_digest_nid.3 create mode 120000 linux_amd64/share/man/man3/SSL_CIPHER_get_handshake_digest.3 create mode 120000 linux_amd64/share/man/man3/SSL_CIPHER_get_id.3 create mode 120000 linux_amd64/share/man/man3/SSL_CIPHER_get_kx_nid.3 create mode 120000 linux_amd64/share/man/man3/SSL_CIPHER_get_protocol_id.3 create mode 120000 linux_amd64/share/man/man3/SSL_CIPHER_get_version.3 create mode 120000 linux_amd64/share/man/man3/SSL_CIPHER_is_aead.3 create mode 120000 linux_amd64/share/man/man3/SSL_CIPHER_standard_name.3 create mode 120000 linux_amd64/share/man/man3/SSL_COMP_free_compression_methods.3 create mode 120000 linux_amd64/share/man/man3/SSL_COMP_get0_name.3 create mode 120000 linux_amd64/share/man/man3/SSL_COMP_get_compression_methods.3 create mode 120000 linux_amd64/share/man/man3/SSL_COMP_get_id.3 create mode 120000 linux_amd64/share/man/man3/SSL_CONF_CTX_clear_flags.3 create mode 120000 linux_amd64/share/man/man3/SSL_CONF_CTX_free.3 create mode 120000 linux_amd64/share/man/man3/SSL_CONF_CTX_set_ssl.3 create mode 120000 linux_amd64/share/man/man3/SSL_CONF_cmd_value_type.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_add0_chain_cert.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_add1_to_CA_list.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_add_client_CA.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_add_client_custom_ext.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_add_custom_ext.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_add_server_custom_ext.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_build_cert_chain.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_callback_ctrl.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_check_private_key.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_clear_chain_certs.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_clear_extra_chain_certs.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_clear_mode.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_clear_options.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_ct_is_enabled.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_dane_clear_flags.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_dane_mtype_set.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_dane_set_flags.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_decrypt_session_ticket_fn.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_disable_ct.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_enable_ct.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_generate_session_ticket_fn.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_get0_CA_list.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_get0_chain_certs.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_get0_security_ex_data.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_get_cert_store.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_get_ciphers.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_get_client_CA_list.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_get_client_cert_cb.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_get_default_passwd_cb.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_get_default_passwd_cb_userdata.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_get_default_read_ahead.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_get_ex_data.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_get_info_callback.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_get_keylog_callback.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_get_max_cert_list.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_get_max_early_data.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_get_max_proto_version.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_get_min_proto_version.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_get_mode.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_get_num_tickets.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_get_options.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_get_quiet_shutdown.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_get_read_ahead.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_get_record_padding_callback_arg.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_get_recv_max_early_data.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_get_security_callback.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_get_security_level.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_get_session_cache_mode.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_get_timeout.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_get_tlsext_status_arg.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_get_tlsext_status_cb.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_get_tlsext_status_type.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_get_verify_callback.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_get_verify_depth.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_keylog_cb_func.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_remove_session.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_select_current_cert.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_sess_accept.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_sess_accept_good.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_sess_accept_renegotiate.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_sess_cache_full.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_sess_cb_hits.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_sess_connect.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_sess_connect_good.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_sess_connect_renegotiate.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_sess_get_cache_size.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_sess_get_get_cb.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_sess_get_new_cb.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_sess_get_remove_cb.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_sess_hits.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_sess_misses.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_sess_set_new_cb.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_sess_set_remove_cb.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_sess_timeouts.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set0_chain.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set0_chain_cert_store.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set0_security_ex_data.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set0_verify_cert_store.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set1_cert_store.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set1_chain.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set1_chain_cert_store.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set1_client_sigalgs.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set1_client_sigalgs_list.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set1_curves_list.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set1_groups.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set1_groups_list.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set1_param.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set1_sigalgs_list.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set_allow_early_data_cb.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set_alpn_protos.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set_block_padding.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set_ciphersuites.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set_client_CA_list.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set_cookie_generate_cb.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set_cookie_verify_cb.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set_current_cert.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set_default_ctlog_list_file.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set_default_passwd_cb_userdata.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set_default_read_buffer_len.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set_default_verify_dir.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set_default_verify_file.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set_default_verify_paths.3 create mode 100644 linux_amd64/share/man/man3/SSL_CTX_set_ex_data.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set_max_early_data.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set_max_pipelines.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set_max_proto_version.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set_max_send_fragment.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set_msg_callback_arg.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set_next_proto_select_cb.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set_next_protos_advertised_cb.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set_post_handshake_auth.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set_psk_find_session_callback.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set_psk_server_callback.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set_psk_use_session_callback.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set_record_padding_callback_arg.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set_recv_max_early_data.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set_security_callback.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set_stateless_cookie_verify_cb.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set_tlsext_max_fragment_length.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set_tlsext_servername_arg.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set_tlsext_status_arg.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set_tlsext_status_type.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set_tmp_dh.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_set_verify_depth.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_up_ref.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_use_PrivateKey.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_use_PrivateKey_ASN1.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_use_PrivateKey_file.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_use_RSAPrivateKey.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_use_RSAPrivateKey_ASN1.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_use_RSAPrivateKey_file.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_use_cert_and_key.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_use_certificate_ASN1.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_use_certificate_chain_file.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_use_certificate_file.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_use_serverinfo_ex.3 create mode 120000 linux_amd64/share/man/man3/SSL_CTX_use_serverinfo_file.3 create mode 120000 linux_amd64/share/man/man3/SSL_SESSION_dup.3 create mode 120000 linux_amd64/share/man/man3/SSL_SESSION_get0_alpn_selected.3 create mode 120000 linux_amd64/share/man/man3/SSL_SESSION_get0_ticket.3 create mode 120000 linux_amd64/share/man/man3/SSL_SESSION_get0_ticket_appdata.3 create mode 100644 linux_amd64/share/man/man3/SSL_SESSION_get_ex_data.3 create mode 120000 linux_amd64/share/man/man3/SSL_SESSION_get_id.3 create mode 120000 linux_amd64/share/man/man3/SSL_SESSION_get_master_key.3 create mode 120000 linux_amd64/share/man/man3/SSL_SESSION_get_max_early_data.3 create mode 120000 linux_amd64/share/man/man3/SSL_SESSION_get_max_fragment_length.3 create mode 120000 linux_amd64/share/man/man3/SSL_SESSION_get_ticket_lifetime_hint.3 create mode 120000 linux_amd64/share/man/man3/SSL_SESSION_get_timeout.3 create mode 120000 linux_amd64/share/man/man3/SSL_SESSION_new.3 create mode 120000 linux_amd64/share/man/man3/SSL_SESSION_print_fp.3 create mode 120000 linux_amd64/share/man/man3/SSL_SESSION_print_keylog.3 create mode 120000 linux_amd64/share/man/man3/SSL_SESSION_set1_alpn_selected.3 create mode 120000 linux_amd64/share/man/man3/SSL_SESSION_set1_hostname.3 create mode 120000 linux_amd64/share/man/man3/SSL_SESSION_set1_id_context.3 create mode 120000 linux_amd64/share/man/man3/SSL_SESSION_set1_master_key.3 create mode 120000 linux_amd64/share/man/man3/SSL_SESSION_set1_ticket_appdata.3 create mode 120000 linux_amd64/share/man/man3/SSL_SESSION_set_cipher.3 create mode 120000 linux_amd64/share/man/man3/SSL_SESSION_set_ex_data.3 create mode 120000 linux_amd64/share/man/man3/SSL_SESSION_set_max_early_data.3 create mode 120000 linux_amd64/share/man/man3/SSL_SESSION_set_protocol_version.3 create mode 120000 linux_amd64/share/man/man3/SSL_SESSION_set_time.3 create mode 120000 linux_amd64/share/man/man3/SSL_SESSION_set_timeout.3 create mode 120000 linux_amd64/share/man/man3/SSL_SESSION_up_ref.3 create mode 120000 linux_amd64/share/man/man3/SSL_add0_chain_cert.3 create mode 120000 linux_amd64/share/man/man3/SSL_add1_chain_cert.3 create mode 120000 linux_amd64/share/man/man3/SSL_add1_host.3 create mode 120000 linux_amd64/share/man/man3/SSL_add1_to_CA_list.3 create mode 120000 linux_amd64/share/man/man3/SSL_add_client_CA.3 create mode 120000 linux_amd64/share/man/man3/SSL_add_dir_cert_subjects_to_stack.3 create mode 120000 linux_amd64/share/man/man3/SSL_add_file_cert_subjects_to_stack.3 create mode 120000 linux_amd64/share/man/man3/SSL_alert_desc_string.3 create mode 120000 linux_amd64/share/man/man3/SSL_alert_desc_string_long.3 create mode 120000 linux_amd64/share/man/man3/SSL_alert_type_string_long.3 create mode 120000 linux_amd64/share/man/man3/SSL_allow_early_data_cb_fn.3 create mode 120000 linux_amd64/share/man/man3/SSL_build_cert_chain.3 create mode 120000 linux_amd64/share/man/man3/SSL_bytes_to_cipher_list.3 create mode 120000 linux_amd64/share/man/man3/SSL_callback_ctrl.3 create mode 120000 linux_amd64/share/man/man3/SSL_check_private_key.3 create mode 120000 linux_amd64/share/man/man3/SSL_clear_chain_certs.3 create mode 120000 linux_amd64/share/man/man3/SSL_clear_mode.3 create mode 120000 linux_amd64/share/man/man3/SSL_clear_options.3 create mode 120000 linux_amd64/share/man/man3/SSL_client_hello_cb_fn.3 create mode 120000 linux_amd64/share/man/man3/SSL_client_hello_get0_ciphers.3 create mode 120000 linux_amd64/share/man/man3/SSL_client_hello_get0_compression_methods.3 create mode 120000 linux_amd64/share/man/man3/SSL_client_hello_get0_ext.3 create mode 120000 linux_amd64/share/man/man3/SSL_client_hello_get0_legacy_version.3 create mode 120000 linux_amd64/share/man/man3/SSL_client_hello_get0_random.3 create mode 120000 linux_amd64/share/man/man3/SSL_client_hello_get0_session_id.3 create mode 120000 linux_amd64/share/man/man3/SSL_client_hello_get1_extensions_present.3 create mode 120000 linux_amd64/share/man/man3/SSL_client_hello_isv2.3 create mode 120000 linux_amd64/share/man/man3/SSL_client_version.3 create mode 120000 linux_amd64/share/man/man3/SSL_config.3 create mode 120000 linux_amd64/share/man/man3/SSL_ct_is_enabled.3 create mode 120000 linux_amd64/share/man/man3/SSL_ctrl.3 create mode 120000 linux_amd64/share/man/man3/SSL_dane_clear_flags.3 create mode 120000 linux_amd64/share/man/man3/SSL_dane_enable.3 create mode 120000 linux_amd64/share/man/man3/SSL_dane_set_flags.3 create mode 120000 linux_amd64/share/man/man3/SSL_dane_tlsa_add.3 create mode 120000 linux_amd64/share/man/man3/SSL_disable_ct.3 create mode 120000 linux_amd64/share/man/man3/SSL_dup.3 create mode 120000 linux_amd64/share/man/man3/SSL_enable_ct.3 create mode 120000 linux_amd64/share/man/man3/SSL_export_keying_material_early.3 create mode 120000 linux_amd64/share/man/man3/SSL_free_buffers.3 create mode 120000 linux_amd64/share/man/man3/SSL_get0_CA_list.3 create mode 120000 linux_amd64/share/man/man3/SSL_get0_alpn_selected.3 create mode 120000 linux_amd64/share/man/man3/SSL_get0_chain_certs.3 create mode 120000 linux_amd64/share/man/man3/SSL_get0_dane_authority.3 create mode 120000 linux_amd64/share/man/man3/SSL_get0_dane_tlsa.3 create mode 120000 linux_amd64/share/man/man3/SSL_get0_next_proto_negotiated.3 create mode 120000 linux_amd64/share/man/man3/SSL_get0_param.3 create mode 120000 linux_amd64/share/man/man3/SSL_get0_peer_CA_list.3 create mode 120000 linux_amd64/share/man/man3/SSL_get0_peername.3 create mode 120000 linux_amd64/share/man/man3/SSL_get0_security_ex_data.3 create mode 120000 linux_amd64/share/man/man3/SSL_get0_session.3 create mode 120000 linux_amd64/share/man/man3/SSL_get0_verified_chain.3 create mode 120000 linux_amd64/share/man/man3/SSL_get1_curves.3 create mode 120000 linux_amd64/share/man/man3/SSL_get1_groups.3 create mode 120000 linux_amd64/share/man/man3/SSL_get1_session.3 create mode 120000 linux_amd64/share/man/man3/SSL_get1_supported_ciphers.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_changed_async_fds.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_cipher.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_cipher_bits.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_cipher_list.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_cipher_name.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_cipher_version.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_client_CA_list.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_client_ciphers.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_default_passwd_cb.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_default_passwd_cb_userdata.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_early_data_status.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_ex_data.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_ex_data_X509_STORE_CTX_idx.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_info_callback.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_key_update_type.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_max_cert_list.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_max_early_data.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_max_proto_version.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_min_proto_version.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_mode.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_num_tickets.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_options.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_peer_signature_type_nid.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_pending_cipher.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_psk_identity_hint.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_quiet_shutdown.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_read_ahead.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_record_padding_callback_arg.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_recv_max_early_data.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_rfd.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_secure_renegotiation_support.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_security_callback.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_security_level.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_selected_srtp_profile.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_server_random.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_server_tmp_key.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_servername.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_servername_type.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_shared_ciphers.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_shared_curve.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_shared_group.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_shutdown.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_sigalgs.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_signature_nid.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_signature_type_nid.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_srtp_profiles.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_ssl_method.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_state.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_time.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_timeout.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_tlsext_status_ocsp_resp.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_tlsext_status_type.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_tmp_key.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_verify_callback.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_verify_depth.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_verify_mode.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_wbio.3 create mode 120000 linux_amd64/share/man/man3/SSL_get_wfd.3 create mode 120000 linux_amd64/share/man/man3/SSL_has_matching_session_id.3 create mode 120000 linux_amd64/share/man/man3/SSL_has_pending.3 create mode 120000 linux_amd64/share/man/man3/SSL_in_accept_init.3 create mode 120000 linux_amd64/share/man/man3/SSL_in_before.3 create mode 120000 linux_amd64/share/man/man3/SSL_in_connect_init.3 create mode 120000 linux_amd64/share/man/man3/SSL_is_dtls.3 create mode 120000 linux_amd64/share/man/man3/SSL_is_init_finished.3 create mode 120000 linux_amd64/share/man/man3/SSL_is_server.3 create mode 120000 linux_amd64/share/man/man3/SSL_load_error_strings.3 create mode 120000 linux_amd64/share/man/man3/SSL_peek.3 create mode 120000 linux_amd64/share/man/man3/SSL_peek_ex.3 create mode 120000 linux_amd64/share/man/man3/SSL_psk_client_cb_func.3 create mode 120000 linux_amd64/share/man/man3/SSL_psk_find_session_cb_func.3 create mode 120000 linux_amd64/share/man/man3/SSL_psk_server_cb_func.3 create mode 120000 linux_amd64/share/man/man3/SSL_psk_use_session_cb_func.3 create mode 120000 linux_amd64/share/man/man3/SSL_read_ex.3 create mode 120000 linux_amd64/share/man/man3/SSL_renegotiate.3 create mode 120000 linux_amd64/share/man/man3/SSL_renegotiate_abbreviated.3 create mode 120000 linux_amd64/share/man/man3/SSL_renegotiate_pending.3 create mode 120000 linux_amd64/share/man/man3/SSL_rstate_string_long.3 create mode 120000 linux_amd64/share/man/man3/SSL_select_current_cert.3 create mode 120000 linux_amd64/share/man/man3/SSL_select_next_proto.3 create mode 120000 linux_amd64/share/man/man3/SSL_set0_CA_list.3 create mode 120000 linux_amd64/share/man/man3/SSL_set0_chain.3 create mode 120000 linux_amd64/share/man/man3/SSL_set0_chain_cert_store.3 create mode 120000 linux_amd64/share/man/man3/SSL_set0_rbio.3 create mode 120000 linux_amd64/share/man/man3/SSL_set0_security_ex_data.3 create mode 120000 linux_amd64/share/man/man3/SSL_set0_verify_cert_store.3 create mode 120000 linux_amd64/share/man/man3/SSL_set0_wbio.3 create mode 120000 linux_amd64/share/man/man3/SSL_set1_chain.3 create mode 120000 linux_amd64/share/man/man3/SSL_set1_chain_cert_store.3 create mode 120000 linux_amd64/share/man/man3/SSL_set1_client_sigalgs.3 create mode 120000 linux_amd64/share/man/man3/SSL_set1_client_sigalgs_list.3 create mode 120000 linux_amd64/share/man/man3/SSL_set1_curves.3 create mode 120000 linux_amd64/share/man/man3/SSL_set1_curves_list.3 create mode 120000 linux_amd64/share/man/man3/SSL_set1_groups.3 create mode 120000 linux_amd64/share/man/man3/SSL_set1_groups_list.3 create mode 120000 linux_amd64/share/man/man3/SSL_set1_param.3 create mode 120000 linux_amd64/share/man/man3/SSL_set1_sigalgs.3 create mode 120000 linux_amd64/share/man/man3/SSL_set1_sigalgs_list.3 create mode 120000 linux_amd64/share/man/man3/SSL_set1_verify_cert_store.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_accept_state.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_allow_early_data_cb.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_alpn_protos.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_block_padding.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_cert_cb.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_cipher_list.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_ciphersuites.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_client_CA_list.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_ct_validation_callback.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_current_cert.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_default_passwd_cb.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_default_passwd_cb_userdata.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_default_read_buffer_len.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_ex_data.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_generate_session_id.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_hostflags.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_info_callback.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_max_cert_list.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_max_early_data.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_max_pipelines.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_max_proto_version.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_max_send_fragment.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_min_proto_version.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_mode.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_msg_callback.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_msg_callback_arg.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_num_tickets.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_options.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_post_handshake_auth.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_psk_client_callback.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_psk_find_session_callback.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_psk_server_callback.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_psk_use_session_callback.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_quiet_shutdown.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_read_ahead.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_record_padding_callback.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_record_padding_callback_arg.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_recv_max_early_data.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_rfd.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_security_callback.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_security_level.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_session_id_context.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_split_send_fragment.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_ssl_method.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_time.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_timeout.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_tlsext_host_name.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_tlsext_max_fragment_length.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_tlsext_status_ocsp_resp.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_tlsext_status_type.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_tlsext_use_srtp.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_tmp_dh.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_tmp_dh_callback.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_verify.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_verify_depth.3 create mode 120000 linux_amd64/share/man/man3/SSL_set_wfd.3 create mode 120000 linux_amd64/share/man/man3/SSL_state_string_long.3 create mode 120000 linux_amd64/share/man/man3/SSL_stateless.3 create mode 120000 linux_amd64/share/man/man3/SSL_up_ref.3 create mode 120000 linux_amd64/share/man/man3/SSL_use_PrivateKey.3 create mode 120000 linux_amd64/share/man/man3/SSL_use_PrivateKey_ASN1.3 create mode 120000 linux_amd64/share/man/man3/SSL_use_PrivateKey_file.3 create mode 120000 linux_amd64/share/man/man3/SSL_use_RSAPrivateKey.3 create mode 120000 linux_amd64/share/man/man3/SSL_use_RSAPrivateKey_ASN1.3 create mode 120000 linux_amd64/share/man/man3/SSL_use_RSAPrivateKey_file.3 create mode 120000 linux_amd64/share/man/man3/SSL_use_cert_and_key.3 create mode 120000 linux_amd64/share/man/man3/SSL_use_certificate.3 create mode 120000 linux_amd64/share/man/man3/SSL_use_certificate_ASN1.3 create mode 120000 linux_amd64/share/man/man3/SSL_use_certificate_chain_file.3 create mode 120000 linux_amd64/share/man/man3/SSL_use_certificate_file.3 create mode 120000 linux_amd64/share/man/man3/SSL_use_psk_identity_hint.3 create mode 120000 linux_amd64/share/man/man3/SSL_verify_cb.3 create mode 120000 linux_amd64/share/man/man3/SSL_verify_client_post_handshake.3 create mode 120000 linux_amd64/share/man/man3/SSL_version.3 create mode 120000 linux_amd64/share/man/man3/SSL_waiting_for_async.3 create mode 120000 linux_amd64/share/man/man3/SSL_want_async.3 create mode 120000 linux_amd64/share/man/man3/SSL_want_async_job.3 create mode 120000 linux_amd64/share/man/man3/SSL_want_client_hello_cb.3 create mode 120000 linux_amd64/share/man/man3/SSL_want_nothing.3 create mode 120000 linux_amd64/share/man/man3/SSL_want_read.3 create mode 120000 linux_amd64/share/man/man3/SSL_want_write.3 create mode 120000 linux_amd64/share/man/man3/SSL_want_x509_lookup.3 create mode 120000 linux_amd64/share/man/man3/SSL_write_early_data.3 create mode 120000 linux_amd64/share/man/man3/SSL_write_ex.3 create mode 120000 linux_amd64/share/man/man3/SSLv23_client_method.3 create mode 120000 linux_amd64/share/man/man3/SSLv23_method.3 create mode 120000 linux_amd64/share/man/man3/SSLv23_server_method.3 create mode 120000 linux_amd64/share/man/man3/SSLv3_client_method.3 create mode 120000 linux_amd64/share/man/man3/SSLv3_method.3 create mode 120000 linux_amd64/share/man/man3/SSLv3_server_method.3 create mode 120000 linux_amd64/share/man/man3/SXNETID_free.3 create mode 120000 linux_amd64/share/man/man3/SXNETID_new.3 create mode 120000 linux_amd64/share/man/man3/SXNET_free.3 create mode 120000 linux_amd64/share/man/man3/SXNET_new.3 create mode 120000 linux_amd64/share/man/man3/TLS_FEATURE_free.3 create mode 120000 linux_amd64/share/man/man3/TLS_FEATURE_new.3 create mode 120000 linux_amd64/share/man/man3/TLS_client_method.3 create mode 120000 linux_amd64/share/man/man3/TLS_method.3 create mode 120000 linux_amd64/share/man/man3/TLS_server_method.3 create mode 120000 linux_amd64/share/man/man3/TLSv1_1_client_method.3 create mode 120000 linux_amd64/share/man/man3/TLSv1_1_method.3 create mode 120000 linux_amd64/share/man/man3/TLSv1_1_server_method.3 create mode 120000 linux_amd64/share/man/man3/TLSv1_2_client_method.3 create mode 120000 linux_amd64/share/man/man3/TLSv1_2_method.3 create mode 120000 linux_amd64/share/man/man3/TLSv1_2_server_method.3 create mode 120000 linux_amd64/share/man/man3/TLSv1_client_method.3 create mode 120000 linux_amd64/share/man/man3/TLSv1_method.3 create mode 120000 linux_amd64/share/man/man3/TLSv1_server_method.3 create mode 120000 linux_amd64/share/man/man3/TS_ACCURACY_dup.3 create mode 120000 linux_amd64/share/man/man3/TS_ACCURACY_free.3 create mode 120000 linux_amd64/share/man/man3/TS_ACCURACY_new.3 create mode 120000 linux_amd64/share/man/man3/TS_MSG_IMPRINT_dup.3 create mode 120000 linux_amd64/share/man/man3/TS_MSG_IMPRINT_free.3 create mode 120000 linux_amd64/share/man/man3/TS_MSG_IMPRINT_new.3 create mode 120000 linux_amd64/share/man/man3/TS_REQ_dup.3 create mode 120000 linux_amd64/share/man/man3/TS_REQ_free.3 create mode 120000 linux_amd64/share/man/man3/TS_REQ_new.3 create mode 120000 linux_amd64/share/man/man3/TS_RESP_dup.3 create mode 120000 linux_amd64/share/man/man3/TS_RESP_free.3 create mode 120000 linux_amd64/share/man/man3/TS_RESP_new.3 create mode 120000 linux_amd64/share/man/man3/TS_STATUS_INFO_dup.3 create mode 120000 linux_amd64/share/man/man3/TS_STATUS_INFO_free.3 create mode 120000 linux_amd64/share/man/man3/TS_STATUS_INFO_new.3 create mode 120000 linux_amd64/share/man/man3/TS_TST_INFO_dup.3 create mode 120000 linux_amd64/share/man/man3/TS_TST_INFO_free.3 create mode 120000 linux_amd64/share/man/man3/TS_TST_INFO_new.3 create mode 120000 linux_amd64/share/man/man3/UI.3 create mode 120000 linux_amd64/share/man/man3/UI_METHOD.3 create mode 120000 linux_amd64/share/man/man3/UI_OpenSSL.3 create mode 120000 linux_amd64/share/man/man3/UI_UTIL_read_pw_string.3 create mode 120000 linux_amd64/share/man/man3/UI_UTIL_wrap_read_pem_callback.3 create mode 120000 linux_amd64/share/man/man3/UI_add_error_string.3 create mode 120000 linux_amd64/share/man/man3/UI_add_info_string.3 create mode 120000 linux_amd64/share/man/man3/UI_add_input_boolean.3 create mode 120000 linux_amd64/share/man/man3/UI_add_input_string.3 create mode 120000 linux_amd64/share/man/man3/UI_add_user_data.3 create mode 120000 linux_amd64/share/man/man3/UI_add_verify_string.3 create mode 120000 linux_amd64/share/man/man3/UI_construct_prompt.3 create mode 120000 linux_amd64/share/man/man3/UI_ctrl.3 create mode 120000 linux_amd64/share/man/man3/UI_destroy_method.3 create mode 120000 linux_amd64/share/man/man3/UI_dup_error_string.3 create mode 120000 linux_amd64/share/man/man3/UI_dup_info_string.3 create mode 120000 linux_amd64/share/man/man3/UI_dup_input_boolean.3 create mode 120000 linux_amd64/share/man/man3/UI_dup_input_string.3 create mode 120000 linux_amd64/share/man/man3/UI_dup_user_data.3 create mode 120000 linux_amd64/share/man/man3/UI_dup_verify_string.3 create mode 120000 linux_amd64/share/man/man3/UI_free.3 create mode 120000 linux_amd64/share/man/man3/UI_get0_action_string.3 create mode 120000 linux_amd64/share/man/man3/UI_get0_output_string.3 create mode 120000 linux_amd64/share/man/man3/UI_get0_result.3 create mode 120000 linux_amd64/share/man/man3/UI_get0_result_string.3 create mode 120000 linux_amd64/share/man/man3/UI_get0_test_string.3 create mode 120000 linux_amd64/share/man/man3/UI_get0_user_data.3 create mode 120000 linux_amd64/share/man/man3/UI_get_default_method.3 create mode 120000 linux_amd64/share/man/man3/UI_get_ex_data.3 create mode 120000 linux_amd64/share/man/man3/UI_get_ex_new_index.3 create mode 120000 linux_amd64/share/man/man3/UI_get_input_flags.3 create mode 120000 linux_amd64/share/man/man3/UI_get_method.3 create mode 120000 linux_amd64/share/man/man3/UI_get_result_length.3 create mode 120000 linux_amd64/share/man/man3/UI_get_result_maxsize.3 create mode 120000 linux_amd64/share/man/man3/UI_get_result_minsize.3 create mode 120000 linux_amd64/share/man/man3/UI_get_result_string_length.3 create mode 120000 linux_amd64/share/man/man3/UI_get_string_type.3 create mode 120000 linux_amd64/share/man/man3/UI_method_get_closer.3 create mode 120000 linux_amd64/share/man/man3/UI_method_get_data_destructor.3 create mode 120000 linux_amd64/share/man/man3/UI_method_get_data_duplicator.3 create mode 120000 linux_amd64/share/man/man3/UI_method_get_ex_data.3 create mode 120000 linux_amd64/share/man/man3/UI_method_get_flusher.3 create mode 120000 linux_amd64/share/man/man3/UI_method_get_opener.3 create mode 120000 linux_amd64/share/man/man3/UI_method_get_prompt_constructor.3 create mode 120000 linux_amd64/share/man/man3/UI_method_get_reader.3 create mode 120000 linux_amd64/share/man/man3/UI_method_get_writer.3 create mode 120000 linux_amd64/share/man/man3/UI_method_set_closer.3 create mode 120000 linux_amd64/share/man/man3/UI_method_set_data_duplicator.3 create mode 120000 linux_amd64/share/man/man3/UI_method_set_ex_data.3 create mode 120000 linux_amd64/share/man/man3/UI_method_set_flusher.3 create mode 120000 linux_amd64/share/man/man3/UI_method_set_opener.3 create mode 120000 linux_amd64/share/man/man3/UI_method_set_prompt_constructor.3 create mode 120000 linux_amd64/share/man/man3/UI_method_set_reader.3 create mode 120000 linux_amd64/share/man/man3/UI_method_set_writer.3 create mode 120000 linux_amd64/share/man/man3/UI_new_method.3 create mode 120000 linux_amd64/share/man/man3/UI_null.3 create mode 120000 linux_amd64/share/man/man3/UI_process.3 create mode 120000 linux_amd64/share/man/man3/UI_set_default_method.3 create mode 120000 linux_amd64/share/man/man3/UI_set_ex_data.3 create mode 120000 linux_amd64/share/man/man3/UI_set_method.3 create mode 120000 linux_amd64/share/man/man3/UI_set_result.3 create mode 120000 linux_amd64/share/man/man3/UI_set_result_ex.3 create mode 120000 linux_amd64/share/man/man3/UI_string_types.3 create mode 120000 linux_amd64/share/man/man3/USERNOTICE_free.3 create mode 120000 linux_amd64/share/man/man3/USERNOTICE_new.3 create mode 120000 linux_amd64/share/man/man3/X509V3_EXT_d2i.3 create mode 120000 linux_amd64/share/man/man3/X509V3_EXT_i2d.3 create mode 120000 linux_amd64/share/man/man3/X509V3_add1_i2d.3 create mode 120000 linux_amd64/share/man/man3/X509_ALGOR_cmp.3 create mode 120000 linux_amd64/share/man/man3/X509_ALGOR_free.3 create mode 120000 linux_amd64/share/man/man3/X509_ALGOR_get0.3 create mode 120000 linux_amd64/share/man/man3/X509_ALGOR_new.3 create mode 120000 linux_amd64/share/man/man3/X509_ALGOR_set0.3 create mode 120000 linux_amd64/share/man/man3/X509_ALGOR_set_md.3 create mode 120000 linux_amd64/share/man/man3/X509_ATTRIBUTE_dup.3 create mode 120000 linux_amd64/share/man/man3/X509_ATTRIBUTE_free.3 create mode 120000 linux_amd64/share/man/man3/X509_ATTRIBUTE_new.3 create mode 120000 linux_amd64/share/man/man3/X509_CERT_AUX_free.3 create mode 120000 linux_amd64/share/man/man3/X509_CERT_AUX_new.3 create mode 120000 linux_amd64/share/man/man3/X509_CINF_free.3 create mode 120000 linux_amd64/share/man/man3/X509_CINF_new.3 create mode 120000 linux_amd64/share/man/man3/X509_CRL_INFO_free.3 create mode 120000 linux_amd64/share/man/man3/X509_CRL_INFO_new.3 create mode 120000 linux_amd64/share/man/man3/X509_CRL_add0_revoked.3 create mode 120000 linux_amd64/share/man/man3/X509_CRL_add1_ext_i2d.3 create mode 120000 linux_amd64/share/man/man3/X509_CRL_add_ext.3 create mode 120000 linux_amd64/share/man/man3/X509_CRL_cmp.3 create mode 120000 linux_amd64/share/man/man3/X509_CRL_delete_ext.3 create mode 120000 linux_amd64/share/man/man3/X509_CRL_digest.3 create mode 120000 linux_amd64/share/man/man3/X509_CRL_dup.3 create mode 120000 linux_amd64/share/man/man3/X509_CRL_free.3 create mode 120000 linux_amd64/share/man/man3/X509_CRL_get0_by_cert.3 create mode 120000 linux_amd64/share/man/man3/X509_CRL_get0_extensions.3 create mode 120000 linux_amd64/share/man/man3/X509_CRL_get0_lastUpdate.3 create mode 120000 linux_amd64/share/man/man3/X509_CRL_get0_nextUpdate.3 create mode 120000 linux_amd64/share/man/man3/X509_CRL_get0_signature.3 create mode 120000 linux_amd64/share/man/man3/X509_CRL_get_REVOKED.3 create mode 120000 linux_amd64/share/man/man3/X509_CRL_get_ext.3 create mode 120000 linux_amd64/share/man/man3/X509_CRL_get_ext_by_NID.3 create mode 120000 linux_amd64/share/man/man3/X509_CRL_get_ext_by_OBJ.3 create mode 120000 linux_amd64/share/man/man3/X509_CRL_get_ext_by_critical.3 create mode 120000 linux_amd64/share/man/man3/X509_CRL_get_ext_count.3 create mode 120000 linux_amd64/share/man/man3/X509_CRL_get_ext_d2i.3 create mode 120000 linux_amd64/share/man/man3/X509_CRL_get_issuer.3 create mode 120000 linux_amd64/share/man/man3/X509_CRL_get_signature_nid.3 create mode 120000 linux_amd64/share/man/man3/X509_CRL_get_version.3 create mode 120000 linux_amd64/share/man/man3/X509_CRL_match.3 create mode 120000 linux_amd64/share/man/man3/X509_CRL_new.3 create mode 120000 linux_amd64/share/man/man3/X509_CRL_set1_lastUpdate.3 create mode 120000 linux_amd64/share/man/man3/X509_CRL_set1_nextUpdate.3 create mode 120000 linux_amd64/share/man/man3/X509_CRL_set_issuer_name.3 create mode 120000 linux_amd64/share/man/man3/X509_CRL_set_version.3 create mode 120000 linux_amd64/share/man/man3/X509_CRL_sign.3 create mode 120000 linux_amd64/share/man/man3/X509_CRL_sign_ctx.3 create mode 120000 linux_amd64/share/man/man3/X509_CRL_sort.3 create mode 120000 linux_amd64/share/man/man3/X509_CRL_verify.3 create mode 120000 linux_amd64/share/man/man3/X509_EXTENSION_create_by_NID.3 create mode 120000 linux_amd64/share/man/man3/X509_EXTENSION_create_by_OBJ.3 create mode 120000 linux_amd64/share/man/man3/X509_EXTENSION_dup.3 create mode 120000 linux_amd64/share/man/man3/X509_EXTENSION_free.3 create mode 120000 linux_amd64/share/man/man3/X509_EXTENSION_get_critical.3 create mode 120000 linux_amd64/share/man/man3/X509_EXTENSION_get_data.3 create mode 120000 linux_amd64/share/man/man3/X509_EXTENSION_get_object.3 create mode 120000 linux_amd64/share/man/man3/X509_EXTENSION_new.3 create mode 120000 linux_amd64/share/man/man3/X509_EXTENSION_set_critical.3 create mode 120000 linux_amd64/share/man/man3/X509_EXTENSION_set_data.3 create mode 120000 linux_amd64/share/man/man3/X509_LOOKUP_ctrl_fn.3 create mode 120000 linux_amd64/share/man/man3/X509_LOOKUP_file.3 create mode 120000 linux_amd64/share/man/man3/X509_LOOKUP_get_by_alias_fn.3 create mode 120000 linux_amd64/share/man/man3/X509_LOOKUP_get_by_fingerprint_fn.3 create mode 120000 linux_amd64/share/man/man3/X509_LOOKUP_get_by_issuer_serial_fn.3 create mode 120000 linux_amd64/share/man/man3/X509_LOOKUP_get_by_subject_fn.3 create mode 120000 linux_amd64/share/man/man3/X509_LOOKUP_get_method_data.3 create mode 120000 linux_amd64/share/man/man3/X509_LOOKUP_get_store.3 create mode 120000 linux_amd64/share/man/man3/X509_LOOKUP_meth_free.3 create mode 120000 linux_amd64/share/man/man3/X509_LOOKUP_meth_get_ctrl.3 create mode 120000 linux_amd64/share/man/man3/X509_LOOKUP_meth_get_free.3 create mode 120000 linux_amd64/share/man/man3/X509_LOOKUP_meth_get_get_by_alias.3 create mode 120000 linux_amd64/share/man/man3/X509_LOOKUP_meth_get_get_by_fingerprint.3 create mode 120000 linux_amd64/share/man/man3/X509_LOOKUP_meth_get_get_by_issuer_serial.3 create mode 120000 linux_amd64/share/man/man3/X509_LOOKUP_meth_get_get_by_subject.3 create mode 120000 linux_amd64/share/man/man3/X509_LOOKUP_meth_get_init.3 create mode 120000 linux_amd64/share/man/man3/X509_LOOKUP_meth_get_new_item.3 create mode 120000 linux_amd64/share/man/man3/X509_LOOKUP_meth_get_shutdown.3 create mode 120000 linux_amd64/share/man/man3/X509_LOOKUP_meth_set_ctrl.3 create mode 120000 linux_amd64/share/man/man3/X509_LOOKUP_meth_set_free.3 create mode 120000 linux_amd64/share/man/man3/X509_LOOKUP_meth_set_get_by_alias.3 create mode 120000 linux_amd64/share/man/man3/X509_LOOKUP_meth_set_get_by_fingerprint.3 create mode 120000 linux_amd64/share/man/man3/X509_LOOKUP_meth_set_get_by_issuer_serial.3 create mode 120000 linux_amd64/share/man/man3/X509_LOOKUP_meth_set_get_by_subject.3 create mode 120000 linux_amd64/share/man/man3/X509_LOOKUP_meth_set_init.3 create mode 120000 linux_amd64/share/man/man3/X509_LOOKUP_meth_set_new_item.3 create mode 120000 linux_amd64/share/man/man3/X509_LOOKUP_meth_set_shutdown.3 create mode 120000 linux_amd64/share/man/man3/X509_LOOKUP_set_method_data.3 create mode 120000 linux_amd64/share/man/man3/X509_NAME_ENTRY_create_by_NID.3 create mode 120000 linux_amd64/share/man/man3/X509_NAME_ENTRY_create_by_OBJ.3 create mode 120000 linux_amd64/share/man/man3/X509_NAME_ENTRY_create_by_txt.3 create mode 120000 linux_amd64/share/man/man3/X509_NAME_ENTRY_dup.3 create mode 120000 linux_amd64/share/man/man3/X509_NAME_ENTRY_free.3 create mode 120000 linux_amd64/share/man/man3/X509_NAME_ENTRY_get_data.3 create mode 120000 linux_amd64/share/man/man3/X509_NAME_ENTRY_new.3 create mode 120000 linux_amd64/share/man/man3/X509_NAME_ENTRY_set_data.3 create mode 120000 linux_amd64/share/man/man3/X509_NAME_ENTRY_set_object.3 create mode 120000 linux_amd64/share/man/man3/X509_NAME_add_entry.3 create mode 120000 linux_amd64/share/man/man3/X509_NAME_add_entry_by_NID.3 create mode 120000 linux_amd64/share/man/man3/X509_NAME_add_entry_by_OBJ.3 create mode 120000 linux_amd64/share/man/man3/X509_NAME_cmp.3 create mode 120000 linux_amd64/share/man/man3/X509_NAME_delete_entry.3 create mode 120000 linux_amd64/share/man/man3/X509_NAME_digest.3 create mode 120000 linux_amd64/share/man/man3/X509_NAME_dup.3 create mode 120000 linux_amd64/share/man/man3/X509_NAME_entry_count.3 create mode 120000 linux_amd64/share/man/man3/X509_NAME_free.3 create mode 120000 linux_amd64/share/man/man3/X509_NAME_get_entry.3 create mode 120000 linux_amd64/share/man/man3/X509_NAME_get_index_by_OBJ.3 create mode 120000 linux_amd64/share/man/man3/X509_NAME_get_text_by_NID.3 create mode 120000 linux_amd64/share/man/man3/X509_NAME_get_text_by_OBJ.3 create mode 120000 linux_amd64/share/man/man3/X509_NAME_new.3 create mode 120000 linux_amd64/share/man/man3/X509_NAME_oneline.3 create mode 120000 linux_amd64/share/man/man3/X509_NAME_print.3 create mode 120000 linux_amd64/share/man/man3/X509_NAME_print_ex_fp.3 create mode 120000 linux_amd64/share/man/man3/X509_OBJECT_set1_X509.3 create mode 120000 linux_amd64/share/man/man3/X509_OBJECT_set1_X509_CRL.3 create mode 120000 linux_amd64/share/man/man3/X509_PUBKEY_free.3 create mode 120000 linux_amd64/share/man/man3/X509_PUBKEY_get.3 create mode 120000 linux_amd64/share/man/man3/X509_PUBKEY_get0.3 create mode 120000 linux_amd64/share/man/man3/X509_PUBKEY_get0_param.3 create mode 120000 linux_amd64/share/man/man3/X509_PUBKEY_set.3 create mode 120000 linux_amd64/share/man/man3/X509_PUBKEY_set0_param.3 create mode 120000 linux_amd64/share/man/man3/X509_REQ_INFO_free.3 create mode 120000 linux_amd64/share/man/man3/X509_REQ_INFO_new.3 create mode 120000 linux_amd64/share/man/man3/X509_REQ_check_private_key.3 create mode 120000 linux_amd64/share/man/man3/X509_REQ_digest.3 create mode 120000 linux_amd64/share/man/man3/X509_REQ_dup.3 create mode 120000 linux_amd64/share/man/man3/X509_REQ_free.3 create mode 120000 linux_amd64/share/man/man3/X509_REQ_get0_pubkey.3 create mode 120000 linux_amd64/share/man/man3/X509_REQ_get0_signature.3 create mode 120000 linux_amd64/share/man/man3/X509_REQ_get_X509_PUBKEY.3 create mode 120000 linux_amd64/share/man/man3/X509_REQ_get_pubkey.3 create mode 120000 linux_amd64/share/man/man3/X509_REQ_get_signature_nid.3 create mode 120000 linux_amd64/share/man/man3/X509_REQ_get_subject_name.3 create mode 120000 linux_amd64/share/man/man3/X509_REQ_get_version.3 create mode 120000 linux_amd64/share/man/man3/X509_REQ_new.3 create mode 120000 linux_amd64/share/man/man3/X509_REQ_set_pubkey.3 create mode 120000 linux_amd64/share/man/man3/X509_REQ_set_subject_name.3 create mode 120000 linux_amd64/share/man/man3/X509_REQ_set_version.3 create mode 120000 linux_amd64/share/man/man3/X509_REQ_sign.3 create mode 120000 linux_amd64/share/man/man3/X509_REQ_sign_ctx.3 create mode 120000 linux_amd64/share/man/man3/X509_REQ_verify.3 create mode 120000 linux_amd64/share/man/man3/X509_REVOKED_add1_ext_i2d.3 create mode 120000 linux_amd64/share/man/man3/X509_REVOKED_add_ext.3 create mode 120000 linux_amd64/share/man/man3/X509_REVOKED_delete_ext.3 create mode 120000 linux_amd64/share/man/man3/X509_REVOKED_dup.3 create mode 120000 linux_amd64/share/man/man3/X509_REVOKED_free.3 create mode 120000 linux_amd64/share/man/man3/X509_REVOKED_get0_extensions.3 create mode 120000 linux_amd64/share/man/man3/X509_REVOKED_get0_revocationDate.3 create mode 120000 linux_amd64/share/man/man3/X509_REVOKED_get0_serialNumber.3 create mode 120000 linux_amd64/share/man/man3/X509_REVOKED_get_ext.3 create mode 120000 linux_amd64/share/man/man3/X509_REVOKED_get_ext_by_NID.3 create mode 120000 linux_amd64/share/man/man3/X509_REVOKED_get_ext_by_OBJ.3 create mode 120000 linux_amd64/share/man/man3/X509_REVOKED_get_ext_by_critical.3 create mode 120000 linux_amd64/share/man/man3/X509_REVOKED_get_ext_count.3 create mode 120000 linux_amd64/share/man/man3/X509_REVOKED_get_ext_d2i.3 create mode 120000 linux_amd64/share/man/man3/X509_REVOKED_new.3 create mode 120000 linux_amd64/share/man/man3/X509_REVOKED_set_revocationDate.3 create mode 120000 linux_amd64/share/man/man3/X509_REVOKED_set_serialNumber.3 create mode 120000 linux_amd64/share/man/man3/X509_SIG_INFO_get.3 create mode 120000 linux_amd64/share/man/man3/X509_SIG_INFO_set.3 create mode 120000 linux_amd64/share/man/man3/X509_SIG_free.3 create mode 120000 linux_amd64/share/man/man3/X509_SIG_getm.3 create mode 120000 linux_amd64/share/man/man3/X509_SIG_new.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_cert_crl_fn.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_check_crl_fn.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_check_issued_fn.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_check_policy_fn.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_check_revocation_fn.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_cleanup.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_cleanup_fn.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_free.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_get0_cert.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_get0_chain.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_get0_param.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_get0_untrusted.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_get1_chain.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_get_cert_crl.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_get_check_crl.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_get_check_issued.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_get_check_policy.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_get_check_revocation.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_get_cleanup.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_get_crl_fn.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_get_current_cert.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_get_error_depth.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_get_ex_data.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_get_ex_new_index.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_get_get_crl.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_get_get_issuer.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_get_issuer_fn.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_get_lookup_certs.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_get_lookup_crls.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_get_num_untrusted.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_get_verify.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_get_verify_cb.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_init.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_lookup_certs_fn.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_lookup_crls_fn.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_set0_crls.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_set0_param.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_set0_trusted_stack.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_set0_untrusted.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_set0_verified_chain.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_set_cert.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_set_current_cert.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_set_default.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_set_error.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_set_error_depth.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_set_ex_data.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_set_verify.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_verify_cb.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_CTX_verify_fn.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_add_crl.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_free.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_get0_objects.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_get_cert_crl.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_get_check_crl.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_get_check_issued.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_get_check_policy.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_get_check_revocation.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_get_cleanup.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_get_ex_data.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_get_ex_new_index.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_get_get_crl.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_get_get_issuer.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_get_lookup_certs.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_get_lookup_crls.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_get_verify_cb.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_load_locations.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_lock.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_set1_param.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_set_cert_crl.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_set_check_crl.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_set_check_issued.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_set_check_policy.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_set_check_revocation.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_set_cleanup.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_set_default_paths.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_set_depth.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_set_ex_data.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_set_flags.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_set_get_crl.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_set_get_issuer.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_set_lookup_certs.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_set_lookup_crls.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_set_lookup_crls_cb.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_set_purpose.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_set_trust.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_set_verify.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_set_verify_cb.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_set_verify_func.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_unlock.3 create mode 120000 linux_amd64/share/man/man3/X509_STORE_up_ref.3 create mode 120000 linux_amd64/share/man/man3/X509_VAL_free.3 create mode 120000 linux_amd64/share/man/man3/X509_VAL_new.3 create mode 120000 linux_amd64/share/man/man3/X509_VERIFY_PARAM_add0_policy.3 create mode 120000 linux_amd64/share/man/man3/X509_VERIFY_PARAM_add1_host.3 create mode 120000 linux_amd64/share/man/man3/X509_VERIFY_PARAM_clear_flags.3 create mode 120000 linux_amd64/share/man/man3/X509_VERIFY_PARAM_get0_peername.3 create mode 120000 linux_amd64/share/man/man3/X509_VERIFY_PARAM_get_auth_level.3 create mode 120000 linux_amd64/share/man/man3/X509_VERIFY_PARAM_get_depth.3 create mode 120000 linux_amd64/share/man/man3/X509_VERIFY_PARAM_get_flags.3 create mode 120000 linux_amd64/share/man/man3/X509_VERIFY_PARAM_get_hostflags.3 create mode 120000 linux_amd64/share/man/man3/X509_VERIFY_PARAM_get_inh_flags.3 create mode 120000 linux_amd64/share/man/man3/X509_VERIFY_PARAM_get_time.3 create mode 120000 linux_amd64/share/man/man3/X509_VERIFY_PARAM_set1_email.3 create mode 120000 linux_amd64/share/man/man3/X509_VERIFY_PARAM_set1_host.3 create mode 120000 linux_amd64/share/man/man3/X509_VERIFY_PARAM_set1_ip.3 create mode 120000 linux_amd64/share/man/man3/X509_VERIFY_PARAM_set1_ip_asc.3 create mode 120000 linux_amd64/share/man/man3/X509_VERIFY_PARAM_set1_policies.3 create mode 120000 linux_amd64/share/man/man3/X509_VERIFY_PARAM_set_auth_level.3 create mode 120000 linux_amd64/share/man/man3/X509_VERIFY_PARAM_set_depth.3 create mode 120000 linux_amd64/share/man/man3/X509_VERIFY_PARAM_set_hostflags.3 create mode 120000 linux_amd64/share/man/man3/X509_VERIFY_PARAM_set_inh_flags.3 create mode 120000 linux_amd64/share/man/man3/X509_VERIFY_PARAM_set_purpose.3 create mode 120000 linux_amd64/share/man/man3/X509_VERIFY_PARAM_set_time.3 create mode 120000 linux_amd64/share/man/man3/X509_VERIFY_PARAM_set_trust.3 create mode 120000 linux_amd64/share/man/man3/X509_add1_ext_i2d.3 create mode 120000 linux_amd64/share/man/man3/X509_add_ext.3 create mode 120000 linux_amd64/share/man/man3/X509_chain_up_ref.3 create mode 120000 linux_amd64/share/man/man3/X509_check_email.3 create mode 120000 linux_amd64/share/man/man3/X509_check_ip.3 create mode 120000 linux_amd64/share/man/man3/X509_check_ip_asc.3 create mode 120000 linux_amd64/share/man/man3/X509_cmp_current_time.3 create mode 120000 linux_amd64/share/man/man3/X509_delete_ext.3 create mode 120000 linux_amd64/share/man/man3/X509_free.3 create mode 120000 linux_amd64/share/man/man3/X509_get0_authority_issuer.3 create mode 120000 linux_amd64/share/man/man3/X509_get0_authority_key_id.3 create mode 120000 linux_amd64/share/man/man3/X509_get0_authority_serial.3 create mode 120000 linux_amd64/share/man/man3/X509_get0_extensions.3 create mode 120000 linux_amd64/share/man/man3/X509_get0_notAfter.3 create mode 120000 linux_amd64/share/man/man3/X509_get0_pubkey.3 create mode 120000 linux_amd64/share/man/man3/X509_get0_serialNumber.3 create mode 120000 linux_amd64/share/man/man3/X509_get0_subject_key_id.3 create mode 120000 linux_amd64/share/man/man3/X509_get0_tbs_sigalg.3 create mode 120000 linux_amd64/share/man/man3/X509_get_X509_PUBKEY.3 create mode 120000 linux_amd64/share/man/man3/X509_get_ex_data.3 create mode 120000 linux_amd64/share/man/man3/X509_get_ex_new_index.3 create mode 120000 linux_amd64/share/man/man3/X509_get_ext.3 create mode 120000 linux_amd64/share/man/man3/X509_get_ext_by_NID.3 create mode 120000 linux_amd64/share/man/man3/X509_get_ext_by_OBJ.3 create mode 120000 linux_amd64/share/man/man3/X509_get_ext_by_critical.3 create mode 120000 linux_amd64/share/man/man3/X509_get_ext_count.3 create mode 120000 linux_amd64/share/man/man3/X509_get_ext_d2i.3 create mode 120000 linux_amd64/share/man/man3/X509_get_extended_key_usage.3 create mode 120000 linux_amd64/share/man/man3/X509_get_issuer_name.3 create mode 120000 linux_amd64/share/man/man3/X509_get_key_usage.3 create mode 120000 linux_amd64/share/man/man3/X509_get_pathlen.3 create mode 120000 linux_amd64/share/man/man3/X509_get_proxy_pathlen.3 create mode 120000 linux_amd64/share/man/man3/X509_get_signature_info.3 create mode 120000 linux_amd64/share/man/man3/X509_get_signature_nid.3 create mode 120000 linux_amd64/share/man/man3/X509_getm_notAfter.3 create mode 120000 linux_amd64/share/man/man3/X509_getm_notBefore.3 create mode 120000 linux_amd64/share/man/man3/X509_issuer_and_serial_cmp.3 create mode 120000 linux_amd64/share/man/man3/X509_issuer_name_cmp.3 create mode 120000 linux_amd64/share/man/man3/X509_load_cert_crl_file.3 create mode 120000 linux_amd64/share/man/man3/X509_load_cert_file.3 create mode 120000 linux_amd64/share/man/man3/X509_load_crl_file.3 create mode 120000 linux_amd64/share/man/man3/X509_pubkey_digest.3 create mode 120000 linux_amd64/share/man/man3/X509_set1_notAfter.3 create mode 120000 linux_amd64/share/man/man3/X509_set1_notBefore.3 create mode 120000 linux_amd64/share/man/man3/X509_set_ex_data.3 create mode 120000 linux_amd64/share/man/man3/X509_set_issuer_name.3 create mode 120000 linux_amd64/share/man/man3/X509_set_proxy_flag.3 create mode 120000 linux_amd64/share/man/man3/X509_set_proxy_pathlen.3 create mode 120000 linux_amd64/share/man/man3/X509_set_pubkey.3 create mode 120000 linux_amd64/share/man/man3/X509_set_serialNumber.3 create mode 120000 linux_amd64/share/man/man3/X509_set_subject_name.3 create mode 120000 linux_amd64/share/man/man3/X509_set_version.3 create mode 120000 linux_amd64/share/man/man3/X509_sign_ctx.3 create mode 120000 linux_amd64/share/man/man3/X509_subject_name_cmp.3 create mode 120000 linux_amd64/share/man/man3/X509_time_adj.3 create mode 120000 linux_amd64/share/man/man3/X509_time_adj_ex.3 create mode 120000 linux_amd64/share/man/man3/X509_up_ref.3 create mode 120000 linux_amd64/share/man/man3/X509_verify.3 create mode 120000 linux_amd64/share/man/man3/X509_verify_cert_error_string.3 create mode 120000 linux_amd64/share/man/man3/X509v3_add_ext.3 create mode 120000 linux_amd64/share/man/man3/X509v3_delete_ext.3 create mode 120000 linux_amd64/share/man/man3/X509v3_get_ext.3 create mode 120000 linux_amd64/share/man/man3/X509v3_get_ext_by_OBJ.3 create mode 120000 linux_amd64/share/man/man3/X509v3_get_ext_by_critical.3 create mode 120000 linux_amd64/share/man/man3/X509v3_get_ext_count.3 create mode 120000 linux_amd64/share/man/man3/custom_ext_add_cb.3 create mode 120000 linux_amd64/share/man/man3/custom_ext_free_cb.3 create mode 120000 linux_amd64/share/man/man3/custom_ext_parse_cb.3 create mode 120000 linux_amd64/share/man/man3/d2i_ACCESS_DESCRIPTION.3 create mode 120000 linux_amd64/share/man/man3/d2i_ADMISSIONS.3 create mode 120000 linux_amd64/share/man/man3/d2i_ADMISSION_SYNTAX.3 create mode 120000 linux_amd64/share/man/man3/d2i_ASIdOrRange.3 create mode 120000 linux_amd64/share/man/man3/d2i_ASIdentifierChoice.3 create mode 120000 linux_amd64/share/man/man3/d2i_ASIdentifiers.3 create mode 120000 linux_amd64/share/man/man3/d2i_ASN1_BIT_STRING.3 create mode 120000 linux_amd64/share/man/man3/d2i_ASN1_BMPSTRING.3 create mode 120000 linux_amd64/share/man/man3/d2i_ASN1_ENUMERATED.3 create mode 120000 linux_amd64/share/man/man3/d2i_ASN1_GENERALIZEDTIME.3 create mode 120000 linux_amd64/share/man/man3/d2i_ASN1_GENERALSTRING.3 create mode 120000 linux_amd64/share/man/man3/d2i_ASN1_IA5STRING.3 create mode 120000 linux_amd64/share/man/man3/d2i_ASN1_INTEGER.3 create mode 120000 linux_amd64/share/man/man3/d2i_ASN1_NULL.3 create mode 120000 linux_amd64/share/man/man3/d2i_ASN1_OBJECT.3 create mode 120000 linux_amd64/share/man/man3/d2i_ASN1_OCTET_STRING.3 create mode 120000 linux_amd64/share/man/man3/d2i_ASN1_PRINTABLE.3 create mode 120000 linux_amd64/share/man/man3/d2i_ASN1_PRINTABLESTRING.3 create mode 120000 linux_amd64/share/man/man3/d2i_ASN1_SEQUENCE_ANY.3 create mode 120000 linux_amd64/share/man/man3/d2i_ASN1_SET_ANY.3 create mode 120000 linux_amd64/share/man/man3/d2i_ASN1_T61STRING.3 create mode 120000 linux_amd64/share/man/man3/d2i_ASN1_TIME.3 create mode 120000 linux_amd64/share/man/man3/d2i_ASN1_TYPE.3 create mode 120000 linux_amd64/share/man/man3/d2i_ASN1_UINTEGER.3 create mode 120000 linux_amd64/share/man/man3/d2i_ASN1_UNIVERSALSTRING.3 create mode 120000 linux_amd64/share/man/man3/d2i_ASN1_UTCTIME.3 create mode 120000 linux_amd64/share/man/man3/d2i_ASN1_UTF8STRING.3 create mode 120000 linux_amd64/share/man/man3/d2i_ASN1_VISIBLESTRING.3 create mode 120000 linux_amd64/share/man/man3/d2i_ASRange.3 create mode 120000 linux_amd64/share/man/man3/d2i_AUTHORITY_INFO_ACCESS.3 create mode 120000 linux_amd64/share/man/man3/d2i_AUTHORITY_KEYID.3 create mode 120000 linux_amd64/share/man/man3/d2i_AutoPrivateKey.3 create mode 120000 linux_amd64/share/man/man3/d2i_BASIC_CONSTRAINTS.3 create mode 120000 linux_amd64/share/man/man3/d2i_CERTIFICATEPOLICIES.3 create mode 120000 linux_amd64/share/man/man3/d2i_CMS_ContentInfo.3 create mode 120000 linux_amd64/share/man/man3/d2i_CMS_ReceiptRequest.3 create mode 120000 linux_amd64/share/man/man3/d2i_CMS_bio.3 create mode 120000 linux_amd64/share/man/man3/d2i_CRL_DIST_POINTS.3 create mode 120000 linux_amd64/share/man/man3/d2i_DHxparams.3 create mode 120000 linux_amd64/share/man/man3/d2i_DIRECTORYSTRING.3 create mode 120000 linux_amd64/share/man/man3/d2i_DISPLAYTEXT.3 create mode 120000 linux_amd64/share/man/man3/d2i_DIST_POINT.3 create mode 120000 linux_amd64/share/man/man3/d2i_DIST_POINT_NAME.3 create mode 120000 linux_amd64/share/man/man3/d2i_DSAPrivateKey.3 create mode 120000 linux_amd64/share/man/man3/d2i_DSAPrivateKey_bio.3 create mode 120000 linux_amd64/share/man/man3/d2i_DSAPrivateKey_fp.3 create mode 120000 linux_amd64/share/man/man3/d2i_DSAPublicKey.3 create mode 120000 linux_amd64/share/man/man3/d2i_DSA_PUBKEY.3 create mode 120000 linux_amd64/share/man/man3/d2i_DSA_PUBKEY_bio.3 create mode 120000 linux_amd64/share/man/man3/d2i_DSA_PUBKEY_fp.3 create mode 120000 linux_amd64/share/man/man3/d2i_DSA_SIG.3 create mode 120000 linux_amd64/share/man/man3/d2i_DSAparams.3 create mode 120000 linux_amd64/share/man/man3/d2i_ECDSA_SIG.3 create mode 120000 linux_amd64/share/man/man3/d2i_ECPKParameters.3 create mode 120000 linux_amd64/share/man/man3/d2i_ECParameters.3 create mode 120000 linux_amd64/share/man/man3/d2i_ECPrivateKey.3 create mode 120000 linux_amd64/share/man/man3/d2i_ECPrivateKey_bio.3 create mode 120000 linux_amd64/share/man/man3/d2i_ECPrivateKey_fp.3 create mode 120000 linux_amd64/share/man/man3/d2i_EC_PUBKEY.3 create mode 120000 linux_amd64/share/man/man3/d2i_EC_PUBKEY_bio.3 create mode 120000 linux_amd64/share/man/man3/d2i_EC_PUBKEY_fp.3 create mode 120000 linux_amd64/share/man/man3/d2i_EDIPARTYNAME.3 create mode 120000 linux_amd64/share/man/man3/d2i_ESS_CERT_ID.3 create mode 120000 linux_amd64/share/man/man3/d2i_ESS_ISSUER_SERIAL.3 create mode 120000 linux_amd64/share/man/man3/d2i_ESS_SIGNING_CERT.3 create mode 120000 linux_amd64/share/man/man3/d2i_EXTENDED_KEY_USAGE.3 create mode 120000 linux_amd64/share/man/man3/d2i_GENERAL_NAME.3 create mode 120000 linux_amd64/share/man/man3/d2i_GENERAL_NAMES.3 create mode 120000 linux_amd64/share/man/man3/d2i_IPAddressChoice.3 create mode 120000 linux_amd64/share/man/man3/d2i_IPAddressFamily.3 create mode 120000 linux_amd64/share/man/man3/d2i_IPAddressOrRange.3 create mode 120000 linux_amd64/share/man/man3/d2i_IPAddressRange.3 create mode 120000 linux_amd64/share/man/man3/d2i_ISSUING_DIST_POINT.3 create mode 120000 linux_amd64/share/man/man3/d2i_NAMING_AUTHORITY.3 create mode 120000 linux_amd64/share/man/man3/d2i_NETSCAPE_CERT_SEQUENCE.3 create mode 120000 linux_amd64/share/man/man3/d2i_NETSCAPE_SPKAC.3 create mode 120000 linux_amd64/share/man/man3/d2i_NETSCAPE_SPKI.3 create mode 120000 linux_amd64/share/man/man3/d2i_NOTICEREF.3 create mode 120000 linux_amd64/share/man/man3/d2i_OCSP_BASICRESP.3 create mode 120000 linux_amd64/share/man/man3/d2i_OCSP_CERTID.3 create mode 120000 linux_amd64/share/man/man3/d2i_OCSP_CERTSTATUS.3 create mode 120000 linux_amd64/share/man/man3/d2i_OCSP_CRLID.3 create mode 120000 linux_amd64/share/man/man3/d2i_OCSP_ONEREQ.3 create mode 120000 linux_amd64/share/man/man3/d2i_OCSP_REQINFO.3 create mode 120000 linux_amd64/share/man/man3/d2i_OCSP_REQUEST.3 create mode 120000 linux_amd64/share/man/man3/d2i_OCSP_RESPBYTES.3 create mode 120000 linux_amd64/share/man/man3/d2i_OCSP_RESPDATA.3 create mode 120000 linux_amd64/share/man/man3/d2i_OCSP_RESPID.3 create mode 120000 linux_amd64/share/man/man3/d2i_OCSP_RESPONSE.3 create mode 120000 linux_amd64/share/man/man3/d2i_OCSP_REVOKEDINFO.3 create mode 120000 linux_amd64/share/man/man3/d2i_OCSP_SERVICELOC.3 create mode 120000 linux_amd64/share/man/man3/d2i_OCSP_SIGNATURE.3 create mode 120000 linux_amd64/share/man/man3/d2i_OCSP_SINGLERESP.3 create mode 120000 linux_amd64/share/man/man3/d2i_OTHERNAME.3 create mode 120000 linux_amd64/share/man/man3/d2i_PBE2PARAM.3 create mode 120000 linux_amd64/share/man/man3/d2i_PBEPARAM.3 create mode 120000 linux_amd64/share/man/man3/d2i_PBKDF2PARAM.3 create mode 120000 linux_amd64/share/man/man3/d2i_PKCS12.3 create mode 120000 linux_amd64/share/man/man3/d2i_PKCS12_BAGS.3 create mode 120000 linux_amd64/share/man/man3/d2i_PKCS12_MAC_DATA.3 create mode 120000 linux_amd64/share/man/man3/d2i_PKCS12_SAFEBAG.3 create mode 120000 linux_amd64/share/man/man3/d2i_PKCS12_bio.3 create mode 120000 linux_amd64/share/man/man3/d2i_PKCS12_fp.3 create mode 120000 linux_amd64/share/man/man3/d2i_PKCS7.3 create mode 120000 linux_amd64/share/man/man3/d2i_PKCS7_DIGEST.3 create mode 120000 linux_amd64/share/man/man3/d2i_PKCS7_ENCRYPT.3 create mode 120000 linux_amd64/share/man/man3/d2i_PKCS7_ENC_CONTENT.3 create mode 120000 linux_amd64/share/man/man3/d2i_PKCS7_ENVELOPE.3 create mode 120000 linux_amd64/share/man/man3/d2i_PKCS7_ISSUER_AND_SERIAL.3 create mode 120000 linux_amd64/share/man/man3/d2i_PKCS7_RECIP_INFO.3 create mode 120000 linux_amd64/share/man/man3/d2i_PKCS7_SIGNED.3 create mode 120000 linux_amd64/share/man/man3/d2i_PKCS7_SIGNER_INFO.3 create mode 120000 linux_amd64/share/man/man3/d2i_PKCS7_SIGN_ENVELOPE.3 create mode 120000 linux_amd64/share/man/man3/d2i_PKCS7_bio.3 create mode 120000 linux_amd64/share/man/man3/d2i_PKCS7_fp.3 create mode 120000 linux_amd64/share/man/man3/d2i_PKCS8PrivateKey_fp.3 create mode 120000 linux_amd64/share/man/man3/d2i_PKCS8_PRIV_KEY_INFO.3 create mode 120000 linux_amd64/share/man/man3/d2i_PKCS8_PRIV_KEY_INFO_bio.3 create mode 120000 linux_amd64/share/man/man3/d2i_PKCS8_PRIV_KEY_INFO_fp.3 create mode 120000 linux_amd64/share/man/man3/d2i_PKCS8_bio.3 create mode 120000 linux_amd64/share/man/man3/d2i_PKCS8_fp.3 create mode 120000 linux_amd64/share/man/man3/d2i_PKEY_USAGE_PERIOD.3 create mode 120000 linux_amd64/share/man/man3/d2i_POLICYINFO.3 create mode 120000 linux_amd64/share/man/man3/d2i_POLICYQUALINFO.3 create mode 120000 linux_amd64/share/man/man3/d2i_PROFESSION_INFO.3 create mode 120000 linux_amd64/share/man/man3/d2i_PROXY_CERT_INFO_EXTENSION.3 create mode 120000 linux_amd64/share/man/man3/d2i_PROXY_POLICY.3 create mode 120000 linux_amd64/share/man/man3/d2i_PUBKEY.3 create mode 120000 linux_amd64/share/man/man3/d2i_PUBKEY_bio.3 create mode 120000 linux_amd64/share/man/man3/d2i_PUBKEY_fp.3 create mode 120000 linux_amd64/share/man/man3/d2i_PrivateKey_bio.3 create mode 120000 linux_amd64/share/man/man3/d2i_PrivateKey_fp.3 create mode 120000 linux_amd64/share/man/man3/d2i_PublicKey.3 create mode 120000 linux_amd64/share/man/man3/d2i_RSAPrivateKey.3 create mode 120000 linux_amd64/share/man/man3/d2i_RSAPrivateKey_bio.3 create mode 120000 linux_amd64/share/man/man3/d2i_RSAPrivateKey_fp.3 create mode 120000 linux_amd64/share/man/man3/d2i_RSAPublicKey.3 create mode 120000 linux_amd64/share/man/man3/d2i_RSAPublicKey_bio.3 create mode 120000 linux_amd64/share/man/man3/d2i_RSAPublicKey_fp.3 create mode 120000 linux_amd64/share/man/man3/d2i_RSA_OAEP_PARAMS.3 create mode 120000 linux_amd64/share/man/man3/d2i_RSA_PSS_PARAMS.3 create mode 120000 linux_amd64/share/man/man3/d2i_RSA_PUBKEY.3 create mode 120000 linux_amd64/share/man/man3/d2i_RSA_PUBKEY_bio.3 create mode 120000 linux_amd64/share/man/man3/d2i_RSA_PUBKEY_fp.3 create mode 120000 linux_amd64/share/man/man3/d2i_SCRYPT_PARAMS.3 create mode 120000 linux_amd64/share/man/man3/d2i_SCT_LIST.3 create mode 120000 linux_amd64/share/man/man3/d2i_SXNET.3 create mode 120000 linux_amd64/share/man/man3/d2i_SXNETID.3 create mode 120000 linux_amd64/share/man/man3/d2i_TS_ACCURACY.3 create mode 120000 linux_amd64/share/man/man3/d2i_TS_MSG_IMPRINT.3 create mode 120000 linux_amd64/share/man/man3/d2i_TS_MSG_IMPRINT_bio.3 create mode 120000 linux_amd64/share/man/man3/d2i_TS_MSG_IMPRINT_fp.3 create mode 120000 linux_amd64/share/man/man3/d2i_TS_REQ.3 create mode 120000 linux_amd64/share/man/man3/d2i_TS_REQ_bio.3 create mode 120000 linux_amd64/share/man/man3/d2i_TS_REQ_fp.3 create mode 120000 linux_amd64/share/man/man3/d2i_TS_RESP.3 create mode 120000 linux_amd64/share/man/man3/d2i_TS_RESP_bio.3 create mode 120000 linux_amd64/share/man/man3/d2i_TS_RESP_fp.3 create mode 120000 linux_amd64/share/man/man3/d2i_TS_STATUS_INFO.3 create mode 120000 linux_amd64/share/man/man3/d2i_TS_TST_INFO.3 create mode 120000 linux_amd64/share/man/man3/d2i_TS_TST_INFO_bio.3 create mode 120000 linux_amd64/share/man/man3/d2i_TS_TST_INFO_fp.3 create mode 120000 linux_amd64/share/man/man3/d2i_USERNOTICE.3 create mode 120000 linux_amd64/share/man/man3/d2i_X509_ALGOR.3 create mode 120000 linux_amd64/share/man/man3/d2i_X509_ALGORS.3 create mode 120000 linux_amd64/share/man/man3/d2i_X509_ATTRIBUTE.3 create mode 120000 linux_amd64/share/man/man3/d2i_X509_AUX.3 create mode 120000 linux_amd64/share/man/man3/d2i_X509_CERT_AUX.3 create mode 120000 linux_amd64/share/man/man3/d2i_X509_CINF.3 create mode 120000 linux_amd64/share/man/man3/d2i_X509_CRL.3 create mode 120000 linux_amd64/share/man/man3/d2i_X509_CRL_INFO.3 create mode 120000 linux_amd64/share/man/man3/d2i_X509_CRL_bio.3 create mode 120000 linux_amd64/share/man/man3/d2i_X509_CRL_fp.3 create mode 120000 linux_amd64/share/man/man3/d2i_X509_EXTENSION.3 create mode 120000 linux_amd64/share/man/man3/d2i_X509_EXTENSIONS.3 create mode 120000 linux_amd64/share/man/man3/d2i_X509_NAME.3 create mode 120000 linux_amd64/share/man/man3/d2i_X509_NAME_ENTRY.3 create mode 120000 linux_amd64/share/man/man3/d2i_X509_PUBKEY.3 create mode 120000 linux_amd64/share/man/man3/d2i_X509_REQ.3 create mode 120000 linux_amd64/share/man/man3/d2i_X509_REQ_INFO.3 create mode 120000 linux_amd64/share/man/man3/d2i_X509_REQ_bio.3 create mode 120000 linux_amd64/share/man/man3/d2i_X509_REQ_fp.3 create mode 120000 linux_amd64/share/man/man3/d2i_X509_REVOKED.3 create mode 120000 linux_amd64/share/man/man3/d2i_X509_SIG.3 create mode 120000 linux_amd64/share/man/man3/d2i_X509_VAL.3 create mode 120000 linux_amd64/share/man/man3/i2d_ACCESS_DESCRIPTION.3 create mode 120000 linux_amd64/share/man/man3/i2d_ADMISSIONS.3 create mode 120000 linux_amd64/share/man/man3/i2d_ADMISSION_SYNTAX.3 create mode 120000 linux_amd64/share/man/man3/i2d_ASIdOrRange.3 create mode 120000 linux_amd64/share/man/man3/i2d_ASIdentifierChoice.3 create mode 120000 linux_amd64/share/man/man3/i2d_ASIdentifiers.3 create mode 120000 linux_amd64/share/man/man3/i2d_ASN1_BIT_STRING.3 create mode 120000 linux_amd64/share/man/man3/i2d_ASN1_BMPSTRING.3 create mode 120000 linux_amd64/share/man/man3/i2d_ASN1_ENUMERATED.3 create mode 120000 linux_amd64/share/man/man3/i2d_ASN1_GENERALIZEDTIME.3 create mode 120000 linux_amd64/share/man/man3/i2d_ASN1_GENERALSTRING.3 create mode 120000 linux_amd64/share/man/man3/i2d_ASN1_IA5STRING.3 create mode 120000 linux_amd64/share/man/man3/i2d_ASN1_INTEGER.3 create mode 120000 linux_amd64/share/man/man3/i2d_ASN1_NULL.3 create mode 120000 linux_amd64/share/man/man3/i2d_ASN1_OBJECT.3 create mode 120000 linux_amd64/share/man/man3/i2d_ASN1_OCTET_STRING.3 create mode 120000 linux_amd64/share/man/man3/i2d_ASN1_PRINTABLE.3 create mode 120000 linux_amd64/share/man/man3/i2d_ASN1_PRINTABLESTRING.3 create mode 120000 linux_amd64/share/man/man3/i2d_ASN1_SEQUENCE_ANY.3 create mode 120000 linux_amd64/share/man/man3/i2d_ASN1_SET_ANY.3 create mode 120000 linux_amd64/share/man/man3/i2d_ASN1_T61STRING.3 create mode 120000 linux_amd64/share/man/man3/i2d_ASN1_TIME.3 create mode 120000 linux_amd64/share/man/man3/i2d_ASN1_TYPE.3 create mode 120000 linux_amd64/share/man/man3/i2d_ASN1_UNIVERSALSTRING.3 create mode 120000 linux_amd64/share/man/man3/i2d_ASN1_UTCTIME.3 create mode 120000 linux_amd64/share/man/man3/i2d_ASN1_UTF8STRING.3 create mode 120000 linux_amd64/share/man/man3/i2d_ASN1_VISIBLESTRING.3 create mode 120000 linux_amd64/share/man/man3/i2d_ASN1_bio_stream.3 create mode 120000 linux_amd64/share/man/man3/i2d_ASRange.3 create mode 120000 linux_amd64/share/man/man3/i2d_AUTHORITY_INFO_ACCESS.3 create mode 120000 linux_amd64/share/man/man3/i2d_AUTHORITY_KEYID.3 create mode 120000 linux_amd64/share/man/man3/i2d_BASIC_CONSTRAINTS.3 create mode 120000 linux_amd64/share/man/man3/i2d_CERTIFICATEPOLICIES.3 create mode 120000 linux_amd64/share/man/man3/i2d_CMS_ContentInfo.3 create mode 120000 linux_amd64/share/man/man3/i2d_CMS_ReceiptRequest.3 create mode 120000 linux_amd64/share/man/man3/i2d_CMS_bio.3 create mode 120000 linux_amd64/share/man/man3/i2d_CRL_DIST_POINTS.3 create mode 120000 linux_amd64/share/man/man3/i2d_DHparams.3 create mode 120000 linux_amd64/share/man/man3/i2d_DHxparams.3 create mode 120000 linux_amd64/share/man/man3/i2d_DIRECTORYSTRING.3 create mode 120000 linux_amd64/share/man/man3/i2d_DISPLAYTEXT.3 create mode 120000 linux_amd64/share/man/man3/i2d_DIST_POINT.3 create mode 120000 linux_amd64/share/man/man3/i2d_DIST_POINT_NAME.3 create mode 120000 linux_amd64/share/man/man3/i2d_DSAPrivateKey.3 create mode 120000 linux_amd64/share/man/man3/i2d_DSAPrivateKey_bio.3 create mode 120000 linux_amd64/share/man/man3/i2d_DSAPrivateKey_fp.3 create mode 120000 linux_amd64/share/man/man3/i2d_DSAPublicKey.3 create mode 120000 linux_amd64/share/man/man3/i2d_DSA_PUBKEY.3 create mode 120000 linux_amd64/share/man/man3/i2d_DSA_PUBKEY_bio.3 create mode 120000 linux_amd64/share/man/man3/i2d_DSA_PUBKEY_fp.3 create mode 120000 linux_amd64/share/man/man3/i2d_DSA_SIG.3 create mode 120000 linux_amd64/share/man/man3/i2d_DSAparams.3 create mode 120000 linux_amd64/share/man/man3/i2d_ECDSA_SIG.3 create mode 120000 linux_amd64/share/man/man3/i2d_ECPKParameters.3 create mode 120000 linux_amd64/share/man/man3/i2d_ECParameters.3 create mode 120000 linux_amd64/share/man/man3/i2d_ECPrivateKey.3 create mode 120000 linux_amd64/share/man/man3/i2d_ECPrivateKey_bio.3 create mode 120000 linux_amd64/share/man/man3/i2d_ECPrivateKey_fp.3 create mode 120000 linux_amd64/share/man/man3/i2d_EC_PUBKEY.3 create mode 120000 linux_amd64/share/man/man3/i2d_EC_PUBKEY_bio.3 create mode 120000 linux_amd64/share/man/man3/i2d_EC_PUBKEY_fp.3 create mode 120000 linux_amd64/share/man/man3/i2d_EDIPARTYNAME.3 create mode 120000 linux_amd64/share/man/man3/i2d_ESS_CERT_ID.3 create mode 120000 linux_amd64/share/man/man3/i2d_ESS_ISSUER_SERIAL.3 create mode 120000 linux_amd64/share/man/man3/i2d_ESS_SIGNING_CERT.3 create mode 120000 linux_amd64/share/man/man3/i2d_EXTENDED_KEY_USAGE.3 create mode 120000 linux_amd64/share/man/man3/i2d_GENERAL_NAME.3 create mode 120000 linux_amd64/share/man/man3/i2d_GENERAL_NAMES.3 create mode 120000 linux_amd64/share/man/man3/i2d_IPAddressChoice.3 create mode 120000 linux_amd64/share/man/man3/i2d_IPAddressFamily.3 create mode 120000 linux_amd64/share/man/man3/i2d_IPAddressOrRange.3 create mode 120000 linux_amd64/share/man/man3/i2d_IPAddressRange.3 create mode 120000 linux_amd64/share/man/man3/i2d_ISSUING_DIST_POINT.3 create mode 120000 linux_amd64/share/man/man3/i2d_NAMING_AUTHORITY.3 create mode 120000 linux_amd64/share/man/man3/i2d_NETSCAPE_CERT_SEQUENCE.3 create mode 120000 linux_amd64/share/man/man3/i2d_NETSCAPE_SPKAC.3 create mode 120000 linux_amd64/share/man/man3/i2d_NETSCAPE_SPKI.3 create mode 120000 linux_amd64/share/man/man3/i2d_NOTICEREF.3 create mode 120000 linux_amd64/share/man/man3/i2d_OCSP_BASICRESP.3 create mode 120000 linux_amd64/share/man/man3/i2d_OCSP_CERTID.3 create mode 120000 linux_amd64/share/man/man3/i2d_OCSP_CERTSTATUS.3 create mode 120000 linux_amd64/share/man/man3/i2d_OCSP_CRLID.3 create mode 120000 linux_amd64/share/man/man3/i2d_OCSP_ONEREQ.3 create mode 120000 linux_amd64/share/man/man3/i2d_OCSP_REQINFO.3 create mode 120000 linux_amd64/share/man/man3/i2d_OCSP_REQUEST.3 create mode 120000 linux_amd64/share/man/man3/i2d_OCSP_RESPBYTES.3 create mode 120000 linux_amd64/share/man/man3/i2d_OCSP_RESPDATA.3 create mode 120000 linux_amd64/share/man/man3/i2d_OCSP_RESPID.3 create mode 120000 linux_amd64/share/man/man3/i2d_OCSP_RESPONSE.3 create mode 120000 linux_amd64/share/man/man3/i2d_OCSP_REVOKEDINFO.3 create mode 120000 linux_amd64/share/man/man3/i2d_OCSP_SERVICELOC.3 create mode 120000 linux_amd64/share/man/man3/i2d_OCSP_SIGNATURE.3 create mode 120000 linux_amd64/share/man/man3/i2d_OCSP_SINGLERESP.3 create mode 120000 linux_amd64/share/man/man3/i2d_OTHERNAME.3 create mode 120000 linux_amd64/share/man/man3/i2d_PBE2PARAM.3 create mode 120000 linux_amd64/share/man/man3/i2d_PBEPARAM.3 create mode 120000 linux_amd64/share/man/man3/i2d_PBKDF2PARAM.3 create mode 120000 linux_amd64/share/man/man3/i2d_PKCS12.3 create mode 120000 linux_amd64/share/man/man3/i2d_PKCS12_BAGS.3 create mode 120000 linux_amd64/share/man/man3/i2d_PKCS12_MAC_DATA.3 create mode 120000 linux_amd64/share/man/man3/i2d_PKCS12_SAFEBAG.3 create mode 120000 linux_amd64/share/man/man3/i2d_PKCS12_bio.3 create mode 120000 linux_amd64/share/man/man3/i2d_PKCS12_fp.3 create mode 120000 linux_amd64/share/man/man3/i2d_PKCS7.3 create mode 120000 linux_amd64/share/man/man3/i2d_PKCS7_DIGEST.3 create mode 120000 linux_amd64/share/man/man3/i2d_PKCS7_ENCRYPT.3 create mode 120000 linux_amd64/share/man/man3/i2d_PKCS7_ENC_CONTENT.3 create mode 120000 linux_amd64/share/man/man3/i2d_PKCS7_ENVELOPE.3 create mode 120000 linux_amd64/share/man/man3/i2d_PKCS7_ISSUER_AND_SERIAL.3 create mode 120000 linux_amd64/share/man/man3/i2d_PKCS7_NDEF.3 create mode 120000 linux_amd64/share/man/man3/i2d_PKCS7_RECIP_INFO.3 create mode 120000 linux_amd64/share/man/man3/i2d_PKCS7_SIGNED.3 create mode 120000 linux_amd64/share/man/man3/i2d_PKCS7_SIGNER_INFO.3 create mode 120000 linux_amd64/share/man/man3/i2d_PKCS7_SIGN_ENVELOPE.3 create mode 120000 linux_amd64/share/man/man3/i2d_PKCS7_bio.3 create mode 120000 linux_amd64/share/man/man3/i2d_PKCS7_fp.3 create mode 120000 linux_amd64/share/man/man3/i2d_PKCS8PrivateKeyInfo_bio.3 create mode 120000 linux_amd64/share/man/man3/i2d_PKCS8PrivateKeyInfo_fp.3 create mode 120000 linux_amd64/share/man/man3/i2d_PKCS8PrivateKey_bio.3 create mode 120000 linux_amd64/share/man/man3/i2d_PKCS8PrivateKey_fp.3 create mode 120000 linux_amd64/share/man/man3/i2d_PKCS8PrivateKey_nid_bio.3 create mode 120000 linux_amd64/share/man/man3/i2d_PKCS8PrivateKey_nid_fp.3 create mode 120000 linux_amd64/share/man/man3/i2d_PKCS8_PRIV_KEY_INFO.3 create mode 120000 linux_amd64/share/man/man3/i2d_PKCS8_PRIV_KEY_INFO_bio.3 create mode 120000 linux_amd64/share/man/man3/i2d_PKCS8_PRIV_KEY_INFO_fp.3 create mode 120000 linux_amd64/share/man/man3/i2d_PKCS8_bio.3 create mode 120000 linux_amd64/share/man/man3/i2d_PKCS8_fp.3 create mode 120000 linux_amd64/share/man/man3/i2d_PKEY_USAGE_PERIOD.3 create mode 120000 linux_amd64/share/man/man3/i2d_POLICYINFO.3 create mode 120000 linux_amd64/share/man/man3/i2d_POLICYQUALINFO.3 create mode 120000 linux_amd64/share/man/man3/i2d_PROFESSION_INFO.3 create mode 120000 linux_amd64/share/man/man3/i2d_PROXY_CERT_INFO_EXTENSION.3 create mode 120000 linux_amd64/share/man/man3/i2d_PROXY_POLICY.3 create mode 120000 linux_amd64/share/man/man3/i2d_PUBKEY.3 create mode 120000 linux_amd64/share/man/man3/i2d_PUBKEY_bio.3 create mode 120000 linux_amd64/share/man/man3/i2d_PUBKEY_fp.3 create mode 120000 linux_amd64/share/man/man3/i2d_PrivateKey.3 create mode 120000 linux_amd64/share/man/man3/i2d_PublicKey.3 create mode 120000 linux_amd64/share/man/man3/i2d_RSAPrivateKey.3 create mode 120000 linux_amd64/share/man/man3/i2d_RSAPrivateKey_bio.3 create mode 120000 linux_amd64/share/man/man3/i2d_RSAPrivateKey_fp.3 create mode 120000 linux_amd64/share/man/man3/i2d_RSAPublicKey.3 create mode 120000 linux_amd64/share/man/man3/i2d_RSAPublicKey_bio.3 create mode 120000 linux_amd64/share/man/man3/i2d_RSAPublicKey_fp.3 create mode 120000 linux_amd64/share/man/man3/i2d_RSA_OAEP_PARAMS.3 create mode 120000 linux_amd64/share/man/man3/i2d_RSA_PSS_PARAMS.3 create mode 120000 linux_amd64/share/man/man3/i2d_RSA_PUBKEY.3 create mode 120000 linux_amd64/share/man/man3/i2d_RSA_PUBKEY_bio.3 create mode 120000 linux_amd64/share/man/man3/i2d_RSA_PUBKEY_fp.3 create mode 120000 linux_amd64/share/man/man3/i2d_SCRYPT_PARAMS.3 create mode 120000 linux_amd64/share/man/man3/i2d_SCT_LIST.3 create mode 120000 linux_amd64/share/man/man3/i2d_SSL_SESSION.3 create mode 120000 linux_amd64/share/man/man3/i2d_SXNET.3 create mode 120000 linux_amd64/share/man/man3/i2d_SXNETID.3 create mode 120000 linux_amd64/share/man/man3/i2d_TS_ACCURACY.3 create mode 120000 linux_amd64/share/man/man3/i2d_TS_MSG_IMPRINT.3 create mode 120000 linux_amd64/share/man/man3/i2d_TS_MSG_IMPRINT_bio.3 create mode 120000 linux_amd64/share/man/man3/i2d_TS_MSG_IMPRINT_fp.3 create mode 120000 linux_amd64/share/man/man3/i2d_TS_REQ.3 create mode 120000 linux_amd64/share/man/man3/i2d_TS_REQ_bio.3 create mode 120000 linux_amd64/share/man/man3/i2d_TS_REQ_fp.3 create mode 120000 linux_amd64/share/man/man3/i2d_TS_RESP.3 create mode 120000 linux_amd64/share/man/man3/i2d_TS_RESP_bio.3 create mode 120000 linux_amd64/share/man/man3/i2d_TS_RESP_fp.3 create mode 120000 linux_amd64/share/man/man3/i2d_TS_STATUS_INFO.3 create mode 120000 linux_amd64/share/man/man3/i2d_TS_TST_INFO.3 create mode 120000 linux_amd64/share/man/man3/i2d_TS_TST_INFO_bio.3 create mode 120000 linux_amd64/share/man/man3/i2d_TS_TST_INFO_fp.3 create mode 120000 linux_amd64/share/man/man3/i2d_USERNOTICE.3 create mode 120000 linux_amd64/share/man/man3/i2d_X509.3 create mode 120000 linux_amd64/share/man/man3/i2d_X509_ALGOR.3 create mode 120000 linux_amd64/share/man/man3/i2d_X509_ALGORS.3 create mode 120000 linux_amd64/share/man/man3/i2d_X509_ATTRIBUTE.3 create mode 120000 linux_amd64/share/man/man3/i2d_X509_AUX.3 create mode 120000 linux_amd64/share/man/man3/i2d_X509_CERT_AUX.3 create mode 120000 linux_amd64/share/man/man3/i2d_X509_CINF.3 create mode 120000 linux_amd64/share/man/man3/i2d_X509_CRL.3 create mode 120000 linux_amd64/share/man/man3/i2d_X509_CRL_INFO.3 create mode 120000 linux_amd64/share/man/man3/i2d_X509_CRL_bio.3 create mode 120000 linux_amd64/share/man/man3/i2d_X509_CRL_fp.3 create mode 120000 linux_amd64/share/man/man3/i2d_X509_EXTENSION.3 create mode 120000 linux_amd64/share/man/man3/i2d_X509_EXTENSIONS.3 create mode 120000 linux_amd64/share/man/man3/i2d_X509_NAME.3 create mode 120000 linux_amd64/share/man/man3/i2d_X509_NAME_ENTRY.3 create mode 120000 linux_amd64/share/man/man3/i2d_X509_PUBKEY.3 create mode 120000 linux_amd64/share/man/man3/i2d_X509_REQ.3 create mode 120000 linux_amd64/share/man/man3/i2d_X509_REQ_INFO.3 create mode 120000 linux_amd64/share/man/man3/i2d_X509_REQ_bio.3 create mode 120000 linux_amd64/share/man/man3/i2d_X509_REQ_fp.3 create mode 120000 linux_amd64/share/man/man3/i2d_X509_REVOKED.3 create mode 120000 linux_amd64/share/man/man3/i2d_X509_SIG.3 create mode 120000 linux_amd64/share/man/man3/i2d_X509_VAL.3 create mode 120000 linux_amd64/share/man/man3/i2d_re_X509_CRL_tbs.3 create mode 120000 linux_amd64/share/man/man3/i2d_re_X509_REQ_tbs.3 create mode 120000 linux_amd64/share/man/man3/i2o_SCT.3 create mode 120000 linux_amd64/share/man/man3/i2o_SCT_LIST.3 create mode 120000 linux_amd64/share/man/man3/i2t_ASN1_OBJECT.3 create mode 120000 linux_amd64/share/man/man3/lh_TYPE_delete.3 create mode 120000 linux_amd64/share/man/man3/lh_TYPE_doall.3 create mode 120000 linux_amd64/share/man/man3/lh_TYPE_doall_arg.3 create mode 120000 linux_amd64/share/man/man3/lh_TYPE_error.3 create mode 120000 linux_amd64/share/man/man3/lh_TYPE_free.3 create mode 120000 linux_amd64/share/man/man3/lh_TYPE_insert.3 create mode 120000 linux_amd64/share/man/man3/lh_TYPE_new.3 create mode 120000 linux_amd64/share/man/man3/lh_TYPE_retrieve.3 create mode 120000 linux_amd64/share/man/man3/o2i_SCT.3 create mode 120000 linux_amd64/share/man/man3/pem_password_cb.3 create mode 120000 linux_amd64/share/man/man3/sk_TYPE_deep_copy.3 create mode 120000 linux_amd64/share/man/man3/sk_TYPE_delete.3 create mode 120000 linux_amd64/share/man/man3/sk_TYPE_delete_ptr.3 create mode 120000 linux_amd64/share/man/man3/sk_TYPE_dup.3 create mode 120000 linux_amd64/share/man/man3/sk_TYPE_find.3 create mode 120000 linux_amd64/share/man/man3/sk_TYPE_find_ex.3 create mode 120000 linux_amd64/share/man/man3/sk_TYPE_free.3 create mode 120000 linux_amd64/share/man/man3/sk_TYPE_insert.3 create mode 120000 linux_amd64/share/man/man3/sk_TYPE_is_sorted.3 create mode 120000 linux_amd64/share/man/man3/sk_TYPE_new.3 create mode 120000 linux_amd64/share/man/man3/sk_TYPE_new_null.3 create mode 120000 linux_amd64/share/man/man3/sk_TYPE_new_reserve.3 create mode 120000 linux_amd64/share/man/man3/sk_TYPE_num.3 create mode 120000 linux_amd64/share/man/man3/sk_TYPE_pop.3 create mode 120000 linux_amd64/share/man/man3/sk_TYPE_pop_free.3 create mode 120000 linux_amd64/share/man/man3/sk_TYPE_push.3 create mode 120000 linux_amd64/share/man/man3/sk_TYPE_reserve.3 create mode 120000 linux_amd64/share/man/man3/sk_TYPE_set.3 create mode 120000 linux_amd64/share/man/man3/sk_TYPE_set_cmp_func.3 create mode 120000 linux_amd64/share/man/man3/sk_TYPE_shift.3 create mode 120000 linux_amd64/share/man/man3/sk_TYPE_sort.3 create mode 120000 linux_amd64/share/man/man3/sk_TYPE_unshift.3 create mode 120000 linux_amd64/share/man/man3/sk_TYPE_value.3 create mode 120000 linux_amd64/share/man/man3/sk_TYPE_zero.3 create mode 120000 linux_amd64/share/man/man3/ssl_ct_validation_cb.3 create mode 120000 linux_amd64/share/man/man7/Ed448.7 create mode 120000 linux_amd64/share/man/man7/X448.7 create mode 100644 linux_amd64/share/man/man7/scrypt.7 create mode 120000 linux_amd64/ssl/misc/tsget diff --git a/linux_amd64/bin/c_rehash b/linux_amd64/bin/c_rehash index ec0a871..91fe079 100755 --- a/linux_amd64/bin/c_rehash +++ b/linux_amd64/bin/c_rehash @@ -4,7 +4,7 @@ # Generated by Makefile from ../tools/c_rehash.in # Copyright 1999-2018 The OpenSSL Project Authors. All Rights Reserved. # -# Licensed under the Apache License 2.0 (the "License"). You may not use +# Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy # in the file LICENSE in the source distribution or at # https://www.openssl.org/source/license.html diff --git a/linux_amd64/bin/openssl b/linux_amd64/bin/openssl index 61d0225df1dbdaefdf43065c6a56ae29d2990529..54a51a761e43d2f42ad285b76bc08a8f4272943d 100755 GIT binary patch literal 753104 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%0DCva=!8qFVD-GUWZP}e7MFvCeicrYhRvWMpt8_ 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 z z@I&>Wc!WZ)$w_Z%XG+yk}m&4^9r_{;A37s#oREdRx=Oy)DM=acTc!Q_zoID8X!C zaynYjnx}FYtjx6kSu5FeZ@_%OtZ26V82a1fZtqW>EaY&FlCtx3O~R!e>iTvv20dYy z9XGirud7c#z=*Bqa{~MVdUJld(Egbqr;6Tw)k?cX*{3pO^k~0=Pb!P3pr#}XhQt=d zS7`cjCf?NP)nP;mtQV{CmN->iOR(eVO3vg@5LUoxUvm zu;BTE+XT-Pe4OBY|Kj;>7yPJTbzK+RALRD|+>hS+beD6h<^8b3j{QW~e}4IyP9OUQ z?lZV=_>u6{`_~6mew=q40b0uM$2`N!3Hd$t4M!9lzf3Up4O>KCFFY9t%b62C_9d}z zSTDMWKOXyl>qQ@Oee455u3u~)5c}!SXZET5KX*SJden#8AJE_t2M%PLP~XKpG`OIN z@fJ*;oudI*%1`Ih8yACC3lTg>Z!G81(ln09;l;rsp|^K zuqHX_q>~Cdqc1eWlPAK%al#;JM>^a%(3-8jW`~`K*1>OOmG+or~-H$L8PeXe62hpKxbT?HExoKn@91?}j_C=QzZlVEJjq2u)!TTcDP4sxXu)fKyY$Lng zwX!}K>2}fx?B0T1bbpb zC%1bCM$FrsAUC>qH7Y$1VZ$94ug=gmH+R<+MlX1nPc-%0-T}(WVhw73;39m}medXIo@vI}^!$N3w@!q3#^O!KJUWLGMqB`#9ymk|#LK@PaX1 zUZ}+A-lSt^B%J%D$HX2MHyA(_y!uvO=RfvYhi~~ehmC@p^?bR~PZ2y)@WC%S{r$@S zU8V05{Jh|eg6|i+TJVj6mkT~uFzWO3FL?R?F1SVTRKZ5U;{~5A_>0ebzFP&a65J=q z)NB2B8-B3$-oCD$cJB6)3v`p{MGQJwlUyK=CM8dw;2m^j z1Y&y0@j@IOFQ2id5EyFRrzoWBzM_+O}ud!IW>kRBU zPfsr%XK}|7uBaA6njWHrfN{E`{i^-Px#02m9`1-886>#;Mm_d@C}La>DX z#;zJopYtr90-0^9LmsD$WBx&uqQ*z({4;zdbN30;B0v_(**d3jKGS+)a@*>y^8wfgw`*rs_q4MGy$6WI}9kv3tcIMjO)^K}) z@_DgNk1fQ$tYLDwR9~*cgZYq`kWn*X*gsF@g>5z>5>``C3QdQN$Qel8KgsM65H}N+ zRTMY!Bg|jG*^wkYvy_^>i;5#f9zEEn`u&Qqb3o?oCRkmD`0)9Pc2Ojc8cZle6ms>9 z>3zmVVT--2x2wOqrEg2~>ao!Q{x^ip5H>gE$z@iv%72EwpgbdK#iVPGM}cg_KYF1?R0%=cDsxC0F;uRO7<^(+-54H~_8_a0H_Vaep?hk@IsUlPxAA3RWJF$_2D+UTMLby@V+)!ps zoblY7V28^;v#D$%F-nryZ%?(ovfZ^s&<%BhHujZY=Ba%T_;{}u9R8uF&llV#xK8k| z1f#6#_TSaCaQi=;{c*^F9KY0a&8eKQd*k>e=ZSOVN4vgQEX*-A9TT+tu=ymNFEgcM52N*LY^%YQ8KgGNV>})uMb_A<=TN4^Wm$&H4f!b` zFy>=Zukg3|!vuS~jnrH-Sh^2`Id{aKdQc`Tl%B!(2Fsl(i?dI0Q(6$__p~xJUZCO7 zA!*yGg+l9)mT6PdS{`GAKgt(@06WgvA`l5)(g3QjpRf1bv@W;4eX z3cV%wi5{99v@3E==S5{8e%pWQ^ZnGHIDGzt4o3uA1=k7I3O?{Nr~91XkYK0axhn4_ zm9Of~1B>zF;0Iiv4rVX2OmW&`zZmOQ@QICj&UK6Xo6SnU=OxakjsT8)CNHS?%J(n)7oTst&CCNerK1YbM%-MiM2!MhabINEJ8ex zNBp0)i_NXSEFbj@UxrGLKHT;#O z$0MnjTIBb^U->-v?JphPq4b*s|5osozxL;UBRDD8E4W&)`ZbHqkN-O0`+trjj=PVZ z>f`h)f+6qS((L%#7s1Cokg$outB!Ck-e z^wX5ys`MFx6`7G(tbeaO-TN*2_gzYd9*zA=epanVtLB&0?~C;E`jfKb?#aRO6j%n^ zD%srLS4aw5`ue(8H`FKHUA;*9LWsrEj+wezd%L0bx7#=LC_VVcLW@WVGw|i?3Xvjx zX4itc5R-~3qNjLaSzIcDn=_YemSm?#P$cxh$_Wh#uxD5jpEV;g+P|Khe7V4ygtCz6GSAOdb#y^@L@lBuIim_s+1o=;lLR*vOid!{^I%Ca+eZ|q4snMZYXoi-T14*qDFNhke1;?~Al?3Vh*0tIAm+DMHX4ot5M{`Qg4LzD zFfgGERjtgXDr5W9lQx?5CqIo#1J(pcS+rz;Y9sf06&54ho1EozPLh`>D2c|5myP9B zXleA~rFZ~!1g-VjH-0QowlBc=KhiwSJsc#a-I1LPmX{@aO2zUd&x|0r zAK8=MzEI#i0J)YcwmCIkx$nh@O}c4M1DSCeN}6o=Ao`x2W|#W$AvzsVP2+=chYAgI zk`^egtP60GiSK7on(wd*H=GSM{HY7DSU^7(|9%*G1DOVSiA()Nm`~a@Tkgu|!KA9{ z!gAO}aYq`GVG!iEr1aYuCzMHeUX@xzkflSo>Coqjdn z&V>dJ`jhJnzgN}quZRTm;A)0`T)#0oIb@+6X3PD>ky5g~I5#>D9SEj7hXqhPzJiev z=6cx*q?C_}fa_UJ2)hwlhrPi)0jTq{B&& z))*t~Nf{~c)3)xw6)zR>J6BQaUu8=8))s9mV;wP;3B@>X2O?j$<6N*=7#3hfz)hp@ zd^O|6Xjd&t>FIzK&TB&@jcYOEZp~(DDM&1#4uAT0 zclbRw-mDNe@~n=7IX=yX9WtYna4{_wJczF^!-#3;M2iP#_8&sbm z-mip3J$*5Zrq~@E9J#EV3%D&g;nF)EcNBUaPA?72l3Fq9d9Zp|pYysm7r4DT`aWab zK4f|QCgrlI-y(EX)m1sLq(xJi)QqLUO2uGwA+I`z7c2|USdkGG&FjKWx8+=+B(H;E!jkw62i>Js>gz}SjI)YPHci1LM$EKN|PbZz%a&rv*Q$a_qAVP`2c{E6ZXh zuQ8Z79l17FROKM~)Yv@r%UZH;p-YQ%x5I@PW2-eUp~BfHc6?JsxCpX?LZCr=hT`U+ z-<1<=#TFNC)rY6cw<`E3W)H8qw1+tjac2Sae2D#P6@tpsXssBaSs1V_#*}Xpz?ntc#q&01#c33 zzu+m#w^DGa@GpI`mp?1`EWvXGn*~o6JXWwqFi|-V9qr}(hv1!ppA!6M!K(!?7n~5h zQ1BeV4T2{Me*Z~c{+Qr9pXlk=3%*3~T)|TWpDMUS@DFPD{}lX!;M)Z+5?oBb6?#YN zx2Sh~bBpV{zV#&6YaR+5^?%1~ar}>kr+$kI#JffR+&4OX=>5Azzy7*Sph^kma!&MdUla9?#NQ*j?2~q{849ny(oW?{sxuvSHg$h|8C(|2p@K0 zOFBINTV(h3b5w}++#vijM88z!Uo3o+@L@l8h47n&4|}#-gx@LrQ7Wfj>E{YQQTY2s z|4QM*&-a*fyq<3o{%Fy63xBonv@5gr6h7jw)2__gNBB4|iTI8W3I9Ho6ZTynR{A!< zxR2`_O8-VM?9B>Wy`KLieAt_95kBr0dK&6Oz3G(jhbk`BvBK9VeWD=k%1D2O=o^H8 zhVZuuA93P&9~bGX?}I7`pKSAbM*R4=kE=R<{4&t9-6DSc8G7&Wz|G>ng39R>{siDS ze$H2VpWt%fIA6Ai{sqFHDEyT0FB5)+@K*>wqkENVg@3i^BHlmQHNW@0!k0DgP7?km z;oCG%PgXg%3;#pGRigiy(nGRuWE-&j)&J!4d1;%sAGTcfy|=2KPZEB$@DB?AG~w3> zU%TD&A18bR@GQSu_=jHN&uR5f{AI$g6n&HM*9gBx__e^Zo$nTYt?=uFKdRHqz4srT zU#%DZbkW5*NqSF|=>Kx>llS{y?tSuh_`m($Ck*?8{$}d7!OU=GHx)HYYnImFM&X&{ z^wetucPW(%8_zJccnwTp>TrtHKIfLCa4Z-dgB~D3!0w6C%A^yDacW+mKyL~638nk? zPx&SAsr(C~u8uZ6rdO;xgE>OZP*B{2^$$ICwzRkO^qt+_($|ao0NNU%|8HG~^QG3l zZv5N3t*It?*0zqb%`JzOK*bTV5&te9tV!zNA2c?VS-T+zj5UUe)3}&f7LSPnl%D}@ ze|LK)O6+g#>fDr`^wV^xTpp{p_$$Ms(5>k(AWVNFS6lnpJ2v-kZ{Ob4bADPBqn;-g z`rPz-6=o|?2elR_RzO3?i^>`Q9M`8K6xRMTaegAhHCDfHfs9UIi(K%ZqxA_uo0%%8R8MP#5CC+N@)U77{>V_^fu*W9Li!ST6|O# z%M%UO^a(DL=XGL@b~{SKiz^uL*}^HyMVX363{~1o!Gh4trtl?%Fat?&7WSNkr@M*y zYYoA?YOvhUXkdfcT6tl#x|*FCOQsQ?th^fvd|W6#mX!Nl*@-`(I))|(e^A+%l%cle zNl$s)Qd4xiwmYhsYYx|ECF4VDlMx=za%nura|oL&N$t$-o$%HV%-`|14W6<4sAiRIWp|y1{|L^zYK(fd7qa zxl=s;4m|Rvc>Zm8sN=JO(!?-IN)u@RG*OXfvVv@Qpdq6h93I%9RMf`GV(wDHWc65_4H13b#ZQUh%a|q=hSw3Rh}FG6?31Kss5|R3O+08G;o;FH|5Z zD6G^x1relxMST<`j7CLWOn-(w_%q_DK` z@qGQ-lw|E1`*UD80P`?~EC9^Grdel?{V!4omp%_r(o640O5FnI?;>C-d4o&XW1?M zA`g#n=ZKqgB{edPTp&LbuMe9&+0@e4f+I$(w$r%8&}{GlNg6sM-Z@BDdc z{h+tw&ZdXW4;B9iPNYX?Dl*6NfKwN125G|LGt#A@>UnNO@^-g!v|1FrX`tY>W!EJZ zZbI<$_nA|X`;BJiY65Y&EB{)I{-1Qude~Q;sq&}K_xB%)VpyLZ z;l~82e&t!L8G5oCgh%xr(eJy@^8S3+`3}Eyfy4I;enijzP0z0u{*8h! z6dV`4NN~I0M!`D4rwIPH%0&P#2spe2y7ISJ|Aw6$`2#ALNa8 zX0QYE3`N2yC!5@J0Y}(&2LTRFD6K;lrkzPC>BWf~`~eNAJxtlmioxjjVvWbKI9=fv zdX)#(!Of+L7!fte_K`_(bZ&eIN}@C#F)q=YQ0U~89A`7jXL+m&w><21@s0Ra^Mk}D z4eT5N)Dg1>+blXvB5pdI=g2Sk>*QC2L7D}K3X8e4bZZq^_lVBp(iVMwu#a9N(_ z7~IT4W@Yo8k?`(H{)az0fH8*%+K{X&boXpp0H1EUegA}E$m^L4$>}?CFPJHgKxqM= zTK3K97-20l2q-ha!^S|ik5A!)C4HQS{t22@#ONh^MCB3^b=sEI$ z2RR0M-qOno=;aMJFw#Kai5VP6vP=fiI7N3N`rqvyGXe#{BC?2L+Ub;QH}!SLB$6tC zqoxo@+C?H@3@jfoGKVH%tdcv-)HEZ;rkY!@K<^QkD4TfzWI}&g`<$78MA6MccbNZ5 z`o?Bnw1x^+^;Zq7|FCr}%d9|CIA>~FrV&~R!6IN$yuH_qGZ5j^j8sin121*r3B#mauCARuHN}YfIiJq-+M2xy)`Nk<9EvsEsniX5l_W?yueI z0e{ib1YgX32eVoGP7Rd8?vvfu(CDmeVv=!ej3XgOAq{HdrP?zumdCpbQ0S%57;qvO zNwRJGR%FM^^$?;pL;2*5c%ic>4uT)B1zEHF0srW5feNM32^#?0;LU5Tk!QekPcheS zhBcXnN!1V<&rDfyz?^I!9h{ylPY%x%c-(C0!J>f+x@{Vq)ZvI6swb zu=T6TPJ6`s_%ma=5`y|4iFDTqjuopmdB_*+lzy-s+f%y9s1p3Gv0irQKsvf z2cR98#(c#(6?#;a7Iu(6d(7aD6Vr{mF#cu4iiIyf$-)#bM^HIk;RI`Js=^k@dkn)B zCWsiJuzcdpBLz;W<1weOi<%vzQqJjm{bo#?7O*5tqa>wEkM>()r7{1_(x(YweAD%) z(9_xo#RbpH_-oB7jWAQ~S&J-^A)CUvI%IR*7!2)N$6zN3V?D?NY(Q|mVk|=B)w%BW zYQXQG*T?2wZ^IFThyx+Dcfo4k;5E-r^F`{-&yLSDwiNRmOtE6B!}$W1keC8-OE7Yg zQM>QrYS@<1I55Uj0aF9_y{O&+o<8CGkmu}i_}=F@OoYE$>EDby{>`HMd*NRv_)5VS z30^8VE_ktEuiz%Z(*)}UmkB;autxBYQ~v({6uejPMS_nP{L`egQUqk2++Jm-{rq*ykLWaQyMY$3Ev|r6Vrkk*d%2qCZaeJ(AI|o_7m>&9v`_ zWB;>R@==X`M(!F>@<=wwZCA*|G8iE%Y={k zKSxbD{iEGCKIu;H_pskssdD4~a@ucj-`*;G#Fu;;aMqr}PYWI^{9dJBAxQfT(x0Vz zhF&1-Hx7s{?2%}{k+(;R`1S>rQyt%)_8V58$9X&agX|?}zd`(z-a9S)@xakW;q7{F z*o|<%%79Kp_MMHe4nv%1k$rnOxSLZd`ri8R8N)tB{DIv`~UL%67fg86ym4WK1gm+Q;&b^r&QzNuRyS;F#S(pyN!LGmFItE zJ)~#-ohGB{X=kQZiRaV#=kRz4wM#so%0HjVJ;z9&|2y`j&M&TdvBP^_?(oBcuNAyh zaF5`Hg5P?H(|0NTIhC_o>B9u?d70B)C-@q{A1MDhN}nwFbitzp4;8Hbf=9}q{(8U9 z`)WS4R`}psl%Mi^E7mRYA+B2yKe0>sf)DLbI^>MtLnFdp7VkkB-yy? zhw>0v&a0H(aFdruxrg|73I9n!%00v%(0e03Amtv~HGWQXu^v*CKuAM)aFlz!Z$UVqAqq<^x~Cks+uBz~>ZTLqU2-={Q^3;xIe zz)rE}p?CW1gxD5T17N!0If0zq9~rN%V4gDGw_RtBMSvdLxk7G&^H`MufbxZIg>n(T zXSREo-B`FQ4ekN$)__`Xc2(uPRqNZg0EpcKrA`B@WHhLJZ&E=1u8e@ z`~tAvq}6T^$6w%fxtpbC2h5pBk8>tCc`9$lAHK%t?VDch@Y%0**ev)3Jzu5t(*+L~ z{Otj!e?ag$mGf<-zbyD^!H)>OS@4yD&l8*yj81+e^M4q`4>$i~+{bvW9{1!69DgzH zgI{p|6JLGbCFg&hU&K98A%{G8nUD9lr!wZl2FbZ6JU^QcH^EUQL-6}ukE%_b4E9Py)w~zhPvsM0#VC~2>( z9PvnusWt@DBR7Abw7@T~m#P@B&|_mVr(!YZ`2zD1(=uNsj2h)nilrF>NVP!P{8z7fwJ>4IIN5D8L$U8fy`}3K8rj z!6gSKsxmftx|1Ll8tkM38G2b)Z6|0mJDTv*gxq9yX&eTP)98wXkPD{w89PVIXLdgd z&KPW5@XT*w(xRmMJ3K0Xp|;MelTG23G>5Wn66o`<9>I4`Aj2pxu3d~iMoAE>s@3F4 zOGVM>vI!WWq2B@)tt3~Up7``FO%)IYnNH~0iC(m&hA&LrsEMlYMjP~ z@sVazhx5fsd&{i%&+)VcEEPlZ{uIL;J~J*ct9K79J&zs(rlHc{*o zaicV%w^(;l;Hdi5|Glq^Uw@OsfB9byuM|A>EuMa@(k~MHqv+?9o)8=oJYTR=uvPF> z!Fs{t1v~YgCoBC}!QZHUKM?%1;M)av3$`l%R;A-JA8vgPJ=*(!=K8HzpSj+0eUAHz zLcXNj#`SsWOMD$ZUNF|%EiZTcjO^HApL&w$+5|&R-KO+^%bt(ZmgP^WoFDwo>lJ$b z3q@ZR3_0}*(Z5XoSxZ&Ut-^n@*6S5=>Vv|+SLYWYryg^;)4fpThdg?@(r*8|KE=P z4u7fF|3mWEqyC@x11cxtW5&704Z=TKJweD{l#Y<)#VEyy>TT) z7>kI{&sBCD@l{4)MwS+$ARiRX5tGF4e535+G7)_<%+ewYZHsk)#en(a_IOlG6~;cA z6^6Cja48pmjVD#sOO20sm{Db3tT4j2R0zQ+IAE5$KHwWvwX+YQ;wmL*#b>!K4^WkaS2LqHf^ zc~|D%Z&xi`#P`syD|c;H3(ez(Kk_c+`nxLWW=Rn~Wb~q%=Zw;abA+{_%<@DIrYkCda3W>6J^< zaLB_I&UNv zkSFzq)4#Xg;Pdfug4YSI6nwYf6@sr2tSIFF$3!(Bxcqes^Z$qA4@+)$IqML73)k(x zyV}#Qd~M~raD&S4dzU}wye9nv!e4Qg(+7Wet@6kH8NnaoUM6Hc=r8n(jncno{NXuZ z4yLGSMhscMk1y3B6c`>iR4K8cjri7Bq&a2nPM&7|LEooz6Iqk&D~-a9*EdGZb+w_* z8Ad2LZicaP#HPd83ltk!I7S)|BETGEk$t0slq+cN*dHcPiAxY!8Zn9x6caYSWN>BZ zN`{MwIo5Ad!{+Sf3RqdSx8@ZBH6eSD$rUlfD-fvxLu=LqyWkp%9jXN~t4Sax!5lh)Gb}mS>}Yv6E+jJ}&&&vck$|mvq4D8{ zx+dvo49foT;#|_!iM^qHF#j}RD@l!{(?=P`Dg4_Qd5oVP#&PiAMy$wTi{;qk6~u); zy|V+C;Jq~oI0K^kTVi9PkgixR$iv`1O=Dd>g+X#@UnD?kTHG*v&i3gsv>+=ma$Q9P zIjag|nQzS9y^|r6^QNh)XbB5SH)GCP%+{|$WlMMGHqGE_5M%6^$F|z8(Tby+tcvg) z*cW{T?Sb_fG{@sO*}*bm0{|V30qG&oP;41Syry3O9@C*>s~#gbjQG$>93~;9Qz=cC zd>goUwtHwg;dDdevL$#!p*3=%1tES~dXUUJl_hS9}7t8Zu=TPimwM)=yU?BajqyXpJineAngKSYX)80(O zrj@>fHV)JWX|Z=S;suWAz<^=3_qy`*2A0t5G;Pwlfipv!Zqj4H(O zaZG045>rW5*{*m8<-%AG>uVJJp-?yci}LWM;|kkw!;ua*3_p&m(*_V} z0P-t2C?>xjd-EpaSj_)7>eU9ufjS)g9*RG=UU5MV*?hiF$p2=Bz-#mc;EXo5Ika6Z zu^)phmqThIYaJwFA8nwq>B?R!xDg&0NP3NZN@wiY3q%jtv7j5ZYhIQ2cvs>a z68$g=qjwqsU|fS;V}$I(m42Lm2pl;%4V!B)_;h?=eVQ!bV_@l(6U;SU(Ou`U0Ddgb zBGZ@ZML7EBV~hhBrc=XGEFhFhw%Qjuags^12jDxs@1dY)LHLi6U#N^9MoY_14Zc+N zE-)_+Ym6V`#fbbcu}AH>38fiQS-^ZzR(xSG!~z!=R^do%*h=&Yuc%+K%2qJToaP!U z!4bt?l8w)rZq6&JkJ+ST@x$0?PVVEZUx8^nU0jh#7vRC(6Iddp`d_R`^%?Znh{YCn ziu=2Ga>6ar>{M0{2vKlW952J{e-Gc?n(L*WkhCzV#Lr#qnVK9$aQTcO;icGq=A@Z? zU#F6dO-(Nc<9MFj5^J1)K{l>)0!gme_|AjOC(eZ+!%8n+u?IUj_v*k|BC0VG?+rx^ zhBa#1lkKx__I-Vv zD{x{DjsVW|0m2{tKGze(IneKgf8UK>9?yYTpTn>4^s$0Vfn$A+S31r= z!Y=VN;p5(-uuBa4sYk2VJWu8EyocZWY^CG8gy%QJ$9c)RHm`4--(3C)|ITX^Kk;bL zvK=nJ(&@@7FYFj^5dQhXhyTWy3eAvlEoXw95|4QBG&2uT% zC-g3@@Adl9PlNcWn>_ug2OWl=M)xl~{Uw!mENIydcPbrrJM_C?IX@S^QE?Fp!r!m& zjr&HaXX1Z{zs1|<{%id`;qUPb;m;L(hRQiz>0gST{u_MnlAAsMu<*-(<2l1IS9$s8 zE8p?JvHn9!?-x8l__IVms&Ttq_{)XAO!OxTe~a*!3%>$*)+f2z-y8a?TH(K-_6@x_ z^<=D1oSz*~In=?n3sQ6NeEdxN?U-m+w9&b zm&I3A=@Pgk%{M1?JHDKlPSMqT6zxqpoN905G%!%?z34SUpB54!c<;Nx5mIPQaw2jAy< zLwuZj4=G>R1XLunC6t| zq>WCKBuXW_up~_N?G{q7KHO%~87n?uW_-LLZf_%0SGG$@ri=RwjlFN67=9y}ES4BK z)BTl>Zzy!Nw0FDR)I4LUxl@}OjI^b*x1+G@)cU4|w5+gnsy1&5%cgmSSvzIC$u`8` z4%2=Ekn^fMTQmAxJ@?WxM_-bSdoyz%{;C+I3 z3VvSjV}jQTmIYP)MejchesL%W7m_!*?&bMK*u!vMah`|0d&rw%-x78#!CzwDp8GzZ z&tZ=g^Y*A~9skiYT%IL=;e6gL`sWG;pL&7PuNEZVA^lk@=k>w||GGlyuwM$kbB*vJ z$HjaO`=zjtB0shIsQj>xB0nWQ?4xd0dBN{Kt#sHs1s|!lcM87q4bg|aQ}DrG2p@d5 z+P>(~%F)56s_laCDGUB8?xR4U4KRzi>4FCmP{*Z79QILR!y_4->i2YGE`}vNEKrZ^ z+?doHIkGW(Qs}fpV=5SU3S`$T2#8te?CRr@Tn)7daUqBaXJ38NYY5 znI{q8E_qcSLlxK6AgD2q2ur5Fs$D*caEL&;w!;;P2$+a#>|AK9v9mw^(^=ZLs(>R> z1XuC-q4gg{hqdBZ5U+|W-f&hnhwEgrq}`MVz1PenY&)7^Up2I{ zkhE;;hA(1@r2foM6Qz;KnNinhwil;iWMGEB`=E5DzRQP5)r077yty)mUjsuSaHk(g z!3ceJn%deShLgt9=*C`U|5-RTcEki(SVj-_b{oJD_ z@f^0wlE6CJGgp<3ARzg~Zz zf*3HYO}v5}f^S72=qUuLnI5t0(&K65xp%&@RljJ`6MP1{6d)_yNWyVns(M zYhX?|Q$~_+&Xtf^Bl1<-`*t7}_m*v4n0-s}J?US)eJwqGecO7IUi^b6xQ4c$jwQPE z6{{eX+vZ7imYbIvZ&Isq?5td`#Gv$UNM=rkB>z3i5>A7S9VI9dWipq zUh)FbUcH?Sn38V&*^k4PiQ)8F?i%B5Z7tdLWDK=dQ0&}}HVeE~Xy-v9PUm`bg_&cS z4H(#e*dQZ!vk_Rzcvya{$Id=`jBGyaxIVSx%g^4{(YvJ`FXhdgWxqF>Ymx8#TMB1y z>uTK^$)3vOu1J=5&*EHc--PILL$s}{vz^N`3Qx~)yq_EQ9Av~qV_GE?IV|oR&eW*rA(7$A zoHHSW#Y=fjFfQpWO%BUy1SuA67FGqKE#@;?!MfDeM2mAzJ<}#E5@hv0^0`k9z79JV zqe7zvk&V+l4UGjbo=W}YY4kmI&J+wRxK%|0VjULfx#8*J2>%?GAlF|WEboP6CgYkw z7kXQJcP228^rZ!r!y6zbj-e0tO^{FVA@x&or~_Z8u)@oqF`j+R?8hN1#_9k9@C{?U z@uF0G4yFL_EFLNi%%YVmlDxoq0Fx=P#kv)7JZE;REF}hT3C9rbZ00cHg&ZFGuR`dI z%p8$vW=kO2McjTdfwyozabP9r6`ZL?g^1=McEV*kDVFz73?}IOelpb25w;94yB3k=)fp# z)>#4(#x6jy8d>Ycz;|fNl1kY2o>4Q5_V&go7*57YBgMh}7%?F}^H3E>_a^c%a7@LM zdKLl(2Om!w74+l(_MB*y>2!{^-FTs&F ziNh+B7i3KIhj?#2oF>R_riWk?=~^QjB>le7XF2ey@zJ57vC_cgTrx-H75*bgaX&Uskm)R6u6&YX;IXuZ{@iOE&p`#YYVUy*S(i$Y9bE}G zkg@Uf1aFz1E7Vd8#%;lxxs|qI72iwB(^L2W#CpNz7ng;=J7R_g<|dY*Rafxg3R2PX z4?gSKGPA|AXZ^G#v|>Qm&oghk3mP6TNW$XFwnYdAIzcxKZhNsy;$c3`1g-NrVQx7$ zV?zNW)tP{8IKn^<3s!tYFWIKOw7O9#ft(-pQd51n1HEpZy31PZwh|O*7UM z+}-#GO_oxz3Wl$o7yVNhwXOd4v?-ICjgRP;+BrNT>Ww-5MXIHs%?yP;H)S^62KL<} z=Es25!M$3BN+mcmLICd8RvCvZLl|%~qx86>aicL^>?-x^+_7yNX8T|X&dCS>oEs(u zM46m{*92_%aic2bTnyfQMY+WGESg38UX`ES%Z`Fr5qk$Gr>Q?^M=(1)T!O~Ne^8nT zLm7u=MO1cBePD7w#>tp#1US-IOf6(`Y@l3Dr;QbBT83?r@iGsR#3VL>{6T+YUdx>S zv1k?dVxvKFkeD_E>=rhLLv}R{T?x=Y5Mq~KGApx1hF_wn05LtodilLvPH`xe=d6W} zUhIO>xUoiP+fx(tjTZzT<{lrzog;FinFjiI@n!a1)w@lrZ#M+cx-Dsip_D1~im=aE zKeoCsFT_^M_i1J;IzBpw4i7F{Fej!$Eu~T0+oSKXHiIjnyqW5z9m8yTTRybHzSL^T#ZB$bu z!_|YsoLi+42%Kb5X@~kaOchQQ?HSeQmo1}4ZP4fE7gv9(S{KV| z4jvj0-X5U@w9Cn`^t*&Y5`P{ly~X(eS3E8w78_#~K7Pg+ZFGy)ADbT$v4vS;dq_rI z$kcwePAvF5wRg_+iV$cEgP5|ovjRen`}p9~Q3<*AaeT0y{98;4;UbW2-YW$&topEP zuTWdMpcC7y>@`NpVP)knR$w->p?h#MbDF2Z!amdqt|t&@u|iqj)Gv^FB~+mWErgL= z!d`K7!jBN_y(!)71hg^Kwi>Y)x)5E-+-;)M=M(FDGTo?0n#L@J69wzxdkMOTvz`zC z-Bdf|K3BZhT}iwRA*E-MNqu2ESukUaM1z^e5cO&s9ij@|jKD+bNKx09160g!T!(pb z95++eg3BX26~EIdE*Hm}9Teuq$0o{3Y+SK>W@f5+^=ey8=ISpg4h%pBoSYt6?bPsI zGy07y{86*}vu!j9OuLbdD;nz8tT==3DNfH|gArMvQfP(_VYt~P&SsR~FQEiRdeLpoBI78=%2TuJ3l%OJVRmJs+rY4|BeeL)&^p)(;^ zy7#<_-MXQYKCNK-RlVEvLDYrzo4lJ-Y-3Z;BiqoQv&3izAy*YlTi#=OZ`|Nu=WwH# z6GPLJQ{0*GZHgP#Cr)2$_v(&r_$km$fZHT#V)Mb?n%AyvYLcObi3WCR zhK%()ZJqTWbZn$ z7?&@Qg$F}a0nOXAAiwWlsJe0c@z~GUqJ$biTET@knfe%;bR2jMSw-?E#T2^0uxd$) z;R{o~m6k2MFPQ=McBy|-Mfsy~7YO7&ZtwUI^jls166LNk13?t-Qure%pL&JD)b8mb z21xE^fZXR;H6U-c>I9H|VZw_VzoOkUUavJvr`@SaW89i0Rf3s-?h0=Xo(af?xFsr< z-@5kp+NPBiYl>%2+Bhyb7^h2haM|#HOxfshS(-zm%sqj&X>}cK%I^M?X52Im86SG1RT@i(3j%eIBt^}DVYRo zc3$xDn1oXy@^BgBrVZ7z0YqI9UJe@sUPghutPncePxf8lhH{`Z<~0-@II?sBsA_el zl(#gd*MT7JmI*izkw?d8$1Ap#6ni^!$DXw;+-2S70xs!V1xDVuc2%Kq&Dsq%wAQXU zb$!^CZNc7On@QV$asA1)6py5qt;%C~#I=k=BS*!>ysAChbjZLV;3I>6+;-g+*)1GK zJm#f6UW9*OwMbb=E05@c`?3W5KhMJ4ZioIXd<#}vdzjw0gt2JCpLW?fI*oY{*eM5= zyYcbjG%`Yalr0Y?yx8Sn8ff5Wm{K9e=UwJ(wsQz$gm7C2shL4~^iw~^sR=%iiuv?> zD=e1Hzo&}GYpQbc{MWS5#yH`317n|*V{1O)*pE(>IgWs-!wJOG8FD?-T$2yxNnE$h z`S`H;)z*~-ctwG;X~J;=QW_m*sc0}mEsiS%n#gnq$PtXvzmlyj zs@00ypHbTk@O!qf&+>>7l)RwtHr28_D|4FYGAJ8R zqmwwY#N_i`pDa;e#|pQ3OdRBo`5%KjJ#{vYf%ykFB<_DW@D6hR>?RTiA@C)=a`-Zo z7RM9Y#CSX-IOIrJKRoB23m+Am?L5Vzd%Oa&+V9}`!OJLJA7rPP%10AJtF;&wW~3tl zpW#V$PA)@KMJiCyW2xqpwhqCg%&^Aml{dijy@@MUDwa!$Va(AtIc7l^3kVQ~*={jI z*lvD$I)Z~9m#{e|_*1<*VP*V(a`{Zhz3+Q-OO^GcbFPXWO4nBBXCX&W2y$(S*=pAo z$I1|iZ4oIK%t#*61(wx`5ns0@=g1C>@_s(I#Bz}8yJ^E#m#TZ}D%q2_(8B+I^{;*F z`qHO5{LC_kwe=1kFZjMXPoE=rhVZ{!<@f`F&lhYEe5&9Q!QY+i^bhL24=8F@i2;9Y|I1xEzW6nv`S7i&G=I|W}LI3l=1aHHUI!KH$~Ug7z_B=|bP^919&HY^zx28nFnP#vfvkdm`hEQ&e|qpwf2jY{A7i;o zDIWh(_kTM?n4^`Ze-?koC`~^-{+_P%VV+EmQ=0y0{GF&Y{pI*;RGNNl{GF=wk)BL8 zDy?I#q*ZD9vGKP}Y5L9acdpV)J(=uO`teF%s5JfB9?5Sp|L5l_UIo9CD{)cfu2=j9 zeh=dZ1pev&;{Jnd2h!jFWpCHL%E$H~{;01w{<*?`10PEK2H{^QJpBiWpA!BtXL|YU zmpc6SGSOY2I120^;@=>A_!Y8US%D&56d_fq~9#MK0(f5;&&-MDM&3h+w>NdvrqV1(Z5jX|0PH% zkmX#Z^fwj9KH`ETx9dAqpNI?c5z+sfAme@o>4)agXgzm4A!q4}CvJ2<}C|f2`-*MgM+5@-MdYF?V`>ZWNw= z%FKC|@ShR>XwmN${%+wTzQ6(Dzb|~mkGVnk9}6GxV;&Oz7s4-B`D?!B^*KcGcuo|) zTlh<#r)hd ztMJ{zPY8cc^o#J%6}}tv91qtEzhC%sf#Z806#iwxKSTI6U-$QZZq&aw;@RvH{&k}7 z1U<{YO!&77zg_rSg}++(9+h9X+snU3_$JYxCHx14-vvC!=O>l^w&3}~?-u<}g@2at zR|x-K!e1c#ZNfiR_cwl2?Y30ug5bx5uT}aq!H)~yuJp46Zxnt=>HUH?3IAfHuMoUh z__r$kaluarzvLcopPPlhUHDHc{T;zugkK~29}E9U;dcrD8{t1C{G9MV`IPtX*MxuE z&HmoA1V1hOHKIRJ_|FLcfbbiI|E%!Ge8bDxDg3_*zf1TL;Xfz*6~h1NYtA=r75+Bi zFBARef#-Nz@=Y&)zwloW{w(1?bF+Wf7lpr4_#ZsO^Zi>DzW&LM|B~>xiN5nrug{l- zU-B)dJN%1||BCQu34gijbBFM|g@2>)cM5-n@K+0eoA9>^{{i8@3cSrz;Xfz*UBa)q z*X#35wcA&Z@b;Oy&+9j$`rj`64y7jr?-2gEO20wyPT(id&Q~e@LBXF0f2GR5S@^F3 z&pH2DrSBEIOXdGW>BCgduM7V~rI!odE&OVww+P+?Jlo+`y?2-J-w=LS>9XKAg?~`= z&lCPz!oN!CcMIMt{D+jjUGUq&A9KIA=f4YopYU6R|Eciz3qK|N?}h)4@K*|d_+2Vb z_@k9xBlun6PgD9F!S4xwo60#)`0oopr1Xmf|3mnPM1Mf|9|(V?(jOCiK={IUynde* z{)fWfru2^j3cpMA4+;Nc;iF#;|GJm=pTZvy{gZ|Nsqi-lf2YRz4(Rke*!#fcAM}|6aJ^dAN6g|fBa1jPXR5< zIYD%12)|zVCgCp9(Anv+gXXp!6An^}=sb`dNZ&fM=d-RL+R-4Z`0o{9fTHTd^Hptn`(F+kmt6;y$lm z#A7*L_=q!it>_v5kMtLd{)&1*$!V;`g?*G0!MlN zXG(AWq_0yK0Y~~HKk4;6LGU{&Ke^xWAX)Ht^ka?=l}7eFlor4oxD5juza{qX{C^5p z9bw4jYiYHNP`!4q3QrK?aAFW{j5+&x(uF$T&z5m!kHd`ciL6~|rlwY&=(0msoRuv= z%L?S_WzV96UYHWwl?tvoF*-lpD|i?a73m4RUFC^x{`;$ls3!SNr4w9 z7UG5()B+~Zeg<5kqn3V^_W9AKqi93;o8bf|2%T;a*5_u!z|*13tOrE?Ja2uQHm+M# zt03C;u7-&-tf}#}C_Y*%|N$uy{9lBMKbOl@*Ky4vZ79LE@|FPZqSa;J_K!Kxt-QiS}c> zyM`Y`+YdLW;!TOx@7-khGaEgW_FtoVY_s}>5fimpe z60VsvRI#uxX_$$MKung$>dNECl-@goM|m`&tH==_RzW{#VP*Vas->f)utS#t;nOPU z&=`EoGcf$A!z&yavWH>ZvS>bc+JT!V{NHgHJ_`F+Q0Goe!`iy)eI@fVfB}!&;-@dF zZlB4)@|3D!<{lF>X$SJWGBY{@)0k=IVZ6D!7dGkwR@f?Rw5wRR|Vv@rE26w7}+|AnkljyV<1SrkzgsKa}xS*YWotbKe z7uCVMwnXo2E%W#~h@+WI;f6|6n4Fj=%i)k|esu~3Rm=|`RJ}u!$WD{(Om`eH2F!W5 zp9W6RVe{#5I=+|p+*A^0er9!?+N%n6`}XZKOWyO&JI}3$d4?Xv(ofP1In4O8jz${b zEN1fRWR=fpLW}q%v}!k+tfbs~v&z$y4or*O%#7?U4=aRfp*r~2>xk3ky6MthR!U1n zZjQmaqSAES7?)1(A1OJ?1>2`Lg}G1Ui+3wCJ zGZ3uqF+*JRbil^-12{!5kGdZ*>=fm(%X-rwb#MmWacM-l=s>@RBv=}+1Sqs^S%A)2 zYq+N^PPd3ZTeKT&u{?O3v$!ZP&tlB)n^PGT&sO3}`k1Nn*K3R;GA+?E4Z*7cV4A3^RcD6i=G3%i` zaPbR|HSD)gzD3N?HDD_8Rr3ap_eb(RT0cFS&x5_P@vV99Tg1Hu{fKdEe3pxDMHmlS zqd~Hqv=3=BGf!5T&W*X|!whL*wze(SR$;Hk<(O+OWhfb{vR_M6yWu4fV7;$0-d=FkZyr>@L=Q#N6^Fi z2OPw|;1T7QP}SO!AE>NtW>0BG|8@@-_mJj@J?oBCd_$!m$b6mfyQ2qO>LCJ4V#sWP zwB?FTT^$81H;iaUocb-H`{55_ZX5C_q3n|zR2uXVk%V>Nuh-{7*x999g)n+_D(KYM zTU=4mb)1Kcmv4eFdf7HgK9LZ4%YR-URmD8BvVr39yWmHF5xsA6dJl8Vum2;+gnaO` zpl=B#HE(=@DJGeWPYqaFj}GoGTtb&-&PIe+WGI$&euuAvZJx0WLVu8R_^(x-09gN_ z18MEs1-4>a1a2iNyaZN2bY79P;1y^Jnr)+XIBT=JoG=0~iHl?O)7s_|t`nFwX=~2c z!|H|=baHafC^@5iLh(WiONIQ9%glZ@wWiK{M6gt{-3lwvgLy|h!tyG;G7ef`A6}15 zfjNm~z7GTY(J$r%kwzu5UduxJV6;~FA3XAMYIhfLo$1&pf|-DsGGF#yFeWqM59Smr zhiQN?W?ULK@fRkeh$09ATdsYt&Gtr@U=Tr&D^FmJIqn8q7b6e)VYt^U zn87toQ6bx9LSmgk%m=B!oQ?VetR|pb@R5v?<6+EegdCy{%S){7L6H$Z$Q zv>L{%8^@R7Q4f_+NB0)YYOJ74bs`pYcTZPe7ZF${F^IW+vD(#*GFWAWvj>RUI(l2q z-o|*G_4TXaKUrQK`XmIJR#Ur2OD@WT$Bix^u4}|V3iV4CzzR>YVH2|!nhNmHj0h9h zU6*Q-ns!VaSdeEAYY^(u!+eGa>_RTu0keB(vOhH)w!5+Mb-5S}=CcC9R6H`-#=t34 z#&7K=H&gBz6G05yuCA>+7#)?4FmVBxMP*E%!NJ8tZiv?OB(sBXswqSBh#TuH#Fxb` zg(yU~C8#)ZNVG;zPgjpXp$^V_VEa(k85-%?G=zruM)qpIkWA_X_HtYMwwCj25-mlx z>eyIV@H^Nu>~}aPR8=p-VHkB;Y+wdy^}wgz__mv5=tnYCpfvTM9MG6B8I7wHhMWCu zjmRa;Iw_~@jXtXGyV{k7p3)51F|-~v38E^Mpy)htZ05Aa03u+pa`%j+5%Fy8AL z*Wo>kUA^!xIej(rpT3$JQ~*<_nhw(HmY5<6?aTELH!RoJub`4+Me_e$w9T~SZ9Zc;zBdn)0d$+QipLK=iNYpZBfEM?KCxz5@U$%0A$S=FI@yMG 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⪼jiVqxalf@O>gWaOJI^Nz z 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

    }#7mMl#@P0% zeWdX{AzqO<+i%}h966B&SA}>Ri09u2>JIVpGHv5~bKaS$N*&8(;OCDCK>5iBp(kR0Dgx!+n+X2pYPxgA)fg`^YHNveEe@(Pd>g0;zPvZ z)%kY)X&c{}I6J=85FZTdwE%biN!QE!IPfAd_XIaEaYB5jX9rEz=B#k(?UxM}W_1q7x)6};Ak3k+rg4Rb~npWsE#3w_17SyvG-0T<4 zvjY4Dc#)XbgF833jc)|67IO(@TK|w18h;G(D}kG}w#}mjUIfn9(*Rubo5u4#9Gv+> zT_jCcFpiIxqC27dL9NB$!Jo&Yx%2gXe`5+DZ`c5PkpVo`clj;=O&rOhLIu}olYw~n|RW3uHP=`EbkcWRCM+dxm z8ttDD$YTVq2Jw8q4Tbz7Ihvo3ci^1NTj(DcE@leES3^91J~IiNk)?S=upPOA+rV+Z z2Y0#{}I;9=UKx!={J}Uv5-FloPlt714 z1J2Lqx8NbOX&!#utHGVc{43|=eU{gB97jMso55{fQWrsoN|6_;-21Ihsk7HB*+rT6 zO6s-nLb^S;O&N7#1sdNST<0ux6_^lxc;8I@gD#CXCoXjUIT&$k;@o*}Jl)?Og?2fC z$F8F81?~#ou$p>4T`l7ap1X#+4#Y1aE>xdYeEb#~e-84bgNwFOpCCh@*ox%Y4)M%B z8V@h)nS^%>UdTtwp!!u+fmlD3OrdTi=1N?Ad#1>d&bJ$oNE@90TumXgs}FH@zNx9(b2XQN`VR-sH=}+Y z+>y(p&B%+bcLu~)_oDGyupxOtyqZ{i)p%O}PGTMkd2&r@9$BdWa`4!J)Vo0b6yiej zGaKTQN7DFSQ2%4#Md1AT!zFOWj>hxzup48GH-W|0|zoG|fK| z;>ky*xc-j?KMJl)oE>)?vHs~qT&TU>Ay0?{&CkDY&R9$X%B-cm#BV*}$73SRV?dMwm)894KpZTy53yKBSEeQbK9>cjkf^T0CxtL zf$c?)IQP1vp=}-u@Z68obzuK6f{*_I?S=Y`<^4VN2JmT|llQ5iUHts<1#bW+yE|?n z-`K#7dl5K)9<`jf(D-7XA4}l!XfW~Sv_6oYdl1T#MdBIee?P}~n9DVXMQwevD~bPiG`P4Dl_9pF_L~ zafW<;L8$&+5ub>72yu1tI!H&?f$Jmw_!W!9XCr*Y zJ?LtgB}n`(#IGR!iMTqM&pNPw=JyZHNPI`Ki3+vL2Ju;lM!}Wl( z9PNmUNPIQo66BJTQ2l!&J_PaEh_3|CjkAT3q7QqK_!7kH5mzFo{zCOPKztP9?uf5L z{1DNx1T!mb~VfR-`f)BQG_)-mgl`16Rr0oPgCc0Nm!1A$PxdLwSfIhmhfv_3mwN>1f{8GT(m2wsSa zkUYx~&q4gAzi>TEkofnAE9nU5>5I4x;{J%QMSLIPC5Tre{+Dy|`e-ff|0sqoYP!Ph zvL?=MUpB^Vx37svd<^2=)7kvwJgUkT)<_>VBJpPse?*+E&wv72A2=OjYLNK9i1+R( z+}=ruuSNVY=j0+TT=%en)|~=RcBcKzUyr(kBwk$B_K@5pPCZwYPA)1|sf(_&UUQBYqq4dc+m`2-njLaTmnH5l=__2;%oR zC-WR$Px06JYbUegsLd3L{r$poB+nnnW9Ck`mtYAxzRCu|?bS!zo;Wvu;PdMI{F#cx zFXo(FHy&=!tuO`VTOtyF3h@fWn-SMF6mHjS#Frz!74dS!eu9@1LO+X; zJjsZ!yCl5cJQB}tk2XGIxZcm`3L(3RG|KbMWX zoyR#8{&}!Kd>Z0$kU#g}XfDeNcpj|HUrH$+QvL zUyVcZ`y##>@$-m3L|np5xIR6Jv;7mhhW3vkr|y-&$$+FsG3C zM~Jr|-osqDT_X^miTDb{cY%u%+s>;iNc?NW{~+GmLb(1DIVbxKIB$`GehWt8(-1$1 z_*KMTAg)MuTpCb^e;@iGJ|1yj#MdK!67e^P$8*u0wAMsqo&m;a6@h^yX94K7>L5R;q zJQeZdh*u-7Fi5yQ#)ywcJQ(o}h!-IK2=NxgJCKRTU4M3=`&D_EhuwKsqFxVf$~hGN zd6)w6qV+VM{>w0aNPG(7Cm@eAT%TzN>$rl%*CDPt7#SDDCn6q#cq-z@!K;(oZjX04 zC$AsJ)1DDQyPksE+@Qz($x`%*cSwGfA;Rq%j<`SPs^raix?cWz`$8ms55$KQ(DPOH zbD!*T9Eq<&yb*DQp~CgIK->j!U&P}P&qMqM;_ndG8YW!-{)o>+JQDGZh@V9KI_Kp2 zd_5g6{{BDrk@(MuYYk`HrOGs%qOWJu;rva9b2iHVn`BU512|t>CgZE>xj5F;+r9Vbzj>5?0tOLlKD9%Z{ zjA{Q&W9YI5i7!C>8R9GpNe=W;z@`fL%bOACx}at-GWg44G?!k+z;{9 zi0?+c81c7=v$vrTs(-gptdsZY;C^Vj3UodgaSoH?p9dGjgCS2coClUm(_e}~;@Ll& z6{^o&#J?imnVj|rgE)J7%=N#B3=mnS(r#nggR8Zp+iAH3 zeWEAl5cJQ(7{q-MXD?$4_1iJd$@N?KJPCh3e-?>{b$=GT#? z>vcrp=Oexr@k5-G?Z}qS9~GLOxq!sKKwN&DaQ$@To|zzAe*?tFBJPiP z8sf(huSEPS;_4HH>)#)7XT&2A&qDkRxN{acA^c}4N8*1Y-or__{?>@Qajr_%Nau+x ztlJNXPegn_;$@IOR)XgL3i+#%cxh+h`u7EI5bGZYBt8=HjhvJBB^79WjNm+B4-$VJ z;%(r#CW89kM&iF9t~yD$U6zQ?AkOY@`TI-5?w0XE;#YD`-sggTHiUX+BJp{MS0LVi zxbkG-b{QdVkGMbL%Ms5-{0ic)IVaZx4e7XVhyMAD#4Amq{jU>6P5{VKC_{gt199%U z%|x0ffHKpab13}tFa+^AkjE^Ip2sG^aoit?UxoNC#IHjBBG|5%LY?j-@jno6=OR45 zJrN&DoSnC#KeT^xp7l{8M z&bCXZGo26lWYc7qcH{*JJ0C3x6ZreGKqNj9@dCul5r2=k(hTAH8zJtDco5H-9Kzu9W=Mn#cxaKV3`kR9%=h(K{m?k6fOF1X+3-qV+oIftCL*kDiei!j(#Pwzi z*WVfO?dREea^ARs9={CX_!x}DXChvR_(Q~hBCa||xc;Vyk4M}C@imBVNBj)pb%-m^ zrTwW>LN45qWuQErE}g*5R+9^@WYJWi-jj3s^S}Q(5$9f~C(+|w13WngiC=;E9>i}V zUWd5)JmGOMMtm&d;fQA97gzIU5xIN;&h_6KaEaFc%C-*n@q5T}s(B%sf-^E?H{&tA_A-)Fjot%@`J3mHq z71;vyIf=wSBF>$+yVL!K2;ysycqtFz`u9M52;we?#}H>f=g)uN5bO?_L?r$!;x&lN zdJ5OS7vkd(_d`4l@gs=eM*J)1l zh`&Qze!g%$O%b1nxG&;Kh@T_P)PO$!_u()SUyk?>#5?;6=eI-L9r19)Hz9r+@iN3e zA+G2rTz><^#~>bvcrxM#h_n0E8)APybpeTgjCeERD*kM{$Z-(f$GH!K-<9)!X9E3s z1mZr3Cm~+QIeFcrL$|L5uzkrF(c@Zfqyx7?{&VuzkvuOES0ESqgyypu;?oh2B+edZ znNV7v1}WMPE0Opkh?jtu@8$PwG*3MeuN){`e?!E_BJRUE8DFvYyTg$96vVG0{ta>E zAm}%9+HcM7(Zh^tGI`xe4|qG<0k%pD}Y5pm66;rb6jd_3Yy z5#NRQ8P3T#vLBEj%Qt9184~{n9cdmz3V z@dCsv5dV$1eyDIg?GX1zd;{mI48wkqhAfL<+_S+$VE?%g{0NfgI^u5-mkkrHe;>r1 z5D!N@1Mvdl>~=av>^@)%P6*fM5*yE6=bt-<>j8d0a|g-)3vumm;rt^IcLg^)*mi%u z6p7!5co}i_?_8?I{?6qC60aH|T+czAlh++^-^(c2-`Wvp^XtI(%v!-baYgbhM0_ja zd5GUa{3YT{q;R|R5qCg*F5;^Z--&n`;&~>jCnRa(h9U9Zh^Hfd5b<)vza!ouTDbmZh`Vr3 zKCiW&w(Av)nI{sz5%B`VpF#d2_5+P%k%#>6ka*b`;rjPQ+!65wh^KK*-VY5K$<<_s z0Xz<9ym z!@9v3^yU1Y0f8SUARdW$3gYJwe~q}xQsI8K;GE3ov2?!OgL>K_@d1b@A-*5+TZq3$ zTxFSX{f8j#j(93@cAnd8qUS#%S=!(nB>ocO?+{mt6|QG5#9a`NM0_LSd5AwpTxPj& zJxvfF$2mD(OVN4a&d_BV5+4rn44hx7K>P|MJ`?dg#H$eh%Q^YH2YfE51FTmmPPn~2 z5Fd+pFycvwpFzA5@g~m6@l=KOGynYpGAo4ZZ;JR7@Z6)e&;#^g0TQ2%_;JLqBmNX| z`FP>_8zDXk@kqosAbyH-^10%*^my@Ho%TZ!68{WwiIu|j*F$_1;y#GSBYp(&O2mI~ zPCow$@1OFc{|AZhuu8aHgAkvEcm(2G5I>6eGsIgE@3dOD{zEw@+tK#X+<;GzrQ<#p ziJy!3YQ*;;UW|Ax;?0O_uMuw72*l?i9*g)+#4jNJ7V$rbcPB6C*z?%@VfI|dPov$> z4B#9J|2#}Vd$C*1#iIVZNZWNS^PAcT5%@Ut7fIAifsy!-(HRydLpR zDfD$*)lUbmr7(<)IdP5u4#$6fnu2&N;<;S@_KZmEI&h<*aQ?Gg9#w{swd2+~io~%? zF_Qly;vG|k^AASc4e>>slh^frbUu{Q>M-k&_#KFsBK{F^^)%u7e;^Z81M2Ya!%!sN z6Y(g-w<3N9@i&Mw>B99iMBEN>5#sTPA4dEh;@=V1&JeEuNW}dR&qDkJ;$s@T*xLrEnI%oM;jx_&pB;F12<%sV_{3ha`5O2R( zxc-9>pN@D4;>nzo>jrR~)r4`(LgG&#UWxcu#Jgt+x62A~SI)`#Nq;)->!oQ$eUbQB z#P=e874i3oD{c|4za`>h5%)(t1Mx$M7ZGQ-$0D;aT*vU+V>uFEhq&}s;dbe9PWm72 zFQ*UlWB_q?y`ng}A1DI1NAfI0d<)_?5&wv|bhdE)br2thxC`RJh_6Td0O#cVqtE(+MiKKd?w-rh~NEBetJH+T!Q9*fy6f>-Yr+Sy+aXqM?9W$vfaUb8+tHwNk-xi zBVLa9SH#LgM0&!cqhce5Z{RS1;n3nPWEGB z`~P|*UTv3fyYvyaLEIDZc*KtqXOBm*Z|L?rUy*j)c_jWN;)=Uz{nakD9pAp3lW~!x z`K2Ui{vi-AHtdWm#D~Cj&Iu3@K%A@RH=2jP|4$T>XA9!z5Pt;uMMvmy*+!DCxDJWe z+9Nz(7Mzp!S=bx6k);`4+>Suv=OVrs^2DyO=koCVwi=1whxmQO?~oH$_Ijy&J4Y@* z|BuXG=;vK@y*FUIIuaLpoqoZHb#guo_rsKvqnSn^@$)z*^Ff~GCzoxx#UES^-k%Kw zk4N(CM!X#HkBCd`6K^fdx&$dH{tJ0`FVaEiGPUrN5s1x5pLIL#C;KuM|>yZ*Af53IoTes(*4YP z*q9rU_>OtBf6UJt~*57;2?j`&K%^N6$K@>uNsf*V{sIe&Aa^MOCFzKi7f zg}8RUaQ%lOJ_Ye8#B&fo58hDRc0W*!#Q#BD|0r93a=efm&5cM2?4OOm^V8}0o>im+ zHkfl5ynh~C5D!2+8Sz7iUn9HNu(qicBsUJmy=s)G6U8_CnNK)78)5ub< zw%hdt-v1pe@^c8{Da6_NY~xJlvw=MQ#cfD@A>tLBlj}=E>3&iY#_K&2FLhG5U51D| zA-)LlEu53%jy|oAH}uB=B>ocO)sUxJjppIEh0jR5)G6V1bwk_~aVNyX5#NgV1;ncm zZ$w4dO-H=zcG-Fa3pJBt8xCi-^BOyan-&7lqq95OG(;mvK%$Zvgk*<+qDOB>n{A z_aRU9Fgm^;;JEM-iI*;-+lx*kou8!0Egi@Y8u0VK52nPq*9CHP`^ty&la0uJ#v1Z8 zl(pSnW`O^joBcTw@g1C#^LZ^=&zo#8S&kG5*Yg45KN0VAiOoZ{i$>aSlO#!Uvh?Jf z{`~L1wurk!9vv%sT<8MVPXdtmRfz9K{0g5xnD#>}RO$)1nHybiGk86cN9M9{zv&@9 z9`U7!Z$`yify_zBL*`M{HrTt&_+(fVBC zo&ACyvZO-0ZXtO#c?;K{xk1N0Ig#dZmZtfY!9(D6t}VZ4#}M8pqpPCg%^Fq+HrIfAA;fyCcM{4?SmN`%|h z7xB@E`w?fimj<}cl039}DH6X8@ggn{xz4l5fy-b3+wW~8z6No{QsH)4AU*~02*k4y zzrZ;;&q<;4f2S<%h#N@!;5~GE5#6WrBm}mX$4Gn=xY@n7^JKSHDfiT`h*Ts}9CphjZwxe;$S-?g4ph;Qed< z`bG#6za8;H#2+HwjChwj!s9rcb25(bd5QMWwy8*b0OFa5UxWP4Bk6n?0QoDC_}>tp zJCnv6K)hnPaQ%%CpNM!g;#r)N?Jka<|45TfmR)uu@fQ$(i+H=c!u4lNBf>&W1AN_0 zeLOr&qpSwH4jf<{;2RVXW$Y6aVLI5<#038PpXWS6!+lMH84tIB09T*D;2_tqaJSHK zCOE_^C@d_%#DnpU2=WN`B~N$+hWxiM-z{uD;~7lQlbI468g3snGJ2w0pcfP18y4;w z=;`VmM1S<~4Vmv1`k!KWbcok~vV<`qp}{_`zCpg>UY;fvg9Z&4#DsclZs z!;P(5uxqGSWUxPJdT_9RM2M?LaF92v?!lhXCca^zZYE|-V3@C$>wGs4f6`*FFt5-^ zFUBh>oQw4EA|v1(&5Rj6!*$eHhp{eGOe`$T2M%Ir&#~*_>g5^|<_|xGg@!O5fm{s& z!(2VwnMkitlET$1G?WQ+^Y?NMBCQEyN0O}2=bwUWNT_d6IO$n-V9CE0A%ocTK4IbH zA#8r|LRU{;AFnWSdpFPdq>XNY?6dRPHH1Y6x(5e@nOF=MG|-Ci40HR>(_wC6&kq>P zczLk-gM%Vny@Nvo$uP6INLPE1XZT+vrC?9rAfGUX{KT%_E8KOyR}`%Vw4JoZ$Jc|b z)XLJFagXrkeljD!;Nu(QMSjOEgiKRUSMm%K5$+p6S{xkeC|x`K2&+?8pxx{$A1l{fTV~!BGBL@&ijjVO|SJP_Rc>2zdw!4kr^VG>~Ec3G?+~ z!h${gN$taZ1HFPH!WlOYZ%;DLq^DiOqQe4$eHee=fB>?AF@X^Q%^x%qg} z*%KBL97LwL3F)!0aI#5+kQo!=78bV9ldLV!)6yd}I)rSJ5#el0NgoWh8o;=PdHDL0 zEr28rC0!lqYT+@T{6v~ef0GFfjv%chBktwx8%3s+nT5rFQ;<@BSOqsv!ns}^OoleZ z-y_W2f~?mqzz3!aOYA&hAFa4YuV{W0+3t%7XQvZcGx<3`sFGKsudl zQeIw+o2MsiZ|pO!;co5$WIKoq3G@u}jqzfFd;{iln?W&MRG`1Yg&MPCz+WfbDEEAW@bHRVGEEK_QoqOMt}_n z&}O`oe}MsG7AlSpL56MBK-TbJ+v92UE<<8xc3+#Ce|+Csz2v zZ3Cr=BE-S)1tfDdpWJMg?Gv#xVjz}){jaC%_Z$|Rdm|12e*xswCU{9*eotP3+C0)boLAClAx2z$4z6Y(02q~9+VSOXtg*LwMGrY__h zK&*2x-m3+6`fdeuKda6b_@O55-SGWDp*4OutETmro5g%xfpz4O^y_SXwz<%+iy3CN zSbxx$4Mtl5F~#lA_!GZX)5|$_VODQ|(NC+@@=Gm*|H^A3e_BHsG!N<>|u;WTzDX zE5J{P6q{?(gBHvsB?hvd01);Wqu*fq+#R9-hB&)h%+Iy^2{3OZb@1c{D1kqi7ZAd> z+kULqm;;{JZ}Z9B)d!(9n5tf%nAj>awd?f;tsyJU@yD=9cnNlP2Ju21ysl<=4+TH= z4?<@RC=8Lyn(?lzlS zonJ!|uGdRo6nF^~EFu1a!eDi6?e&*qt(J4BI^@>ahxx3!+uT&gI|qC9*#~TN4V7dG zF|}IXY_6*-$j$ZTsv7U^y{yNd9RUaK$Y(&5){wvLNdd6$V9ikFD*pUt2?7CI#d!5( zKABGaxnsCJJ(KRP|EFQ(U{?Wgqw@X@?>#wRu2R&PIkLfwEu&K^uK^DkBp ztK4Ap@pjZ;yKR7BgAqn*Fg=@=ui(&pPz>EX@I&sQ$9y(_sBXQNtsnyMf6(;wa=T)? z#asQk;Tw8Qk9Qy067QyuutY&BLHzjj-ss7eJ^l5U`^T@24i8`1*OQk!k4M|hXTnPW z#P1{f^z!x2u6=sF_t-vkHuLpfdTZ~u-83Rlrar?gFRv$eUsT5@J0|w@27XKON#B7w zz32A5*J9>c=zF&XRR+^6vKEvTv}@=utI77(qo?(k&8KDa>7x0x+?=(afy4Yl2&or8 zs1rY^kAAT(`j~o*wzeNx7kyG6eNrd;&3f5qcAL-es(N~PD`_*k1+&OsAU&bU!vvzz zXyW9fC!?p$*V^b0*3FaA$CP{e^oXCf_3<%3KGer2{5X2T&s+Mu{YalbQWG`bdRjp$ ze@G8L)|ZDi&{l=LoRY55=_!Pf)Yvpjisu4z8Os)WZ{vlJp1tYwiUoEv#>&h`miD$Q~xhZ5ElbRZyynnp)G5*kohqzlp z#e}AeAE>J7Gc+P-+IYgbXeFi)f4RYXHw);792OtWvsk~LuP<+B{OR2ttaE+zRw!6bu@r}rxGqRsRk5Q8Ojo>*)-|s-#6Fi zSCb1!U}(PjXnMl>4EowfPhrl?-`DBOM-R)HXv&!A%H%C&^ED(hHWqmImzcu5F|FHq8;n8EahYBPFRLk`ZNmkWLS&$ertmEi-Kgn9zL zMH4x{QHrGfhS`CKP!l92T}~D^HTQo-Lj)2GhDb&j+QDXlFD~#(7%}X{x!c<(SNS_S zgIZRX@SDhdpaErToWh?2w+%Hy5GE|t84PXx1R%jrRjp=cK!?Y0GeMh|ati>~^(V(W zugCQmN?46=FAm<+W(^PN}q;U}M*j8E&+o#(H{Y$(k$JEdm*AB2=u zz4!US&g=c%YPP+o$Gb-mNZ?VQLYx9IpFKM~8XugTysAg|-&Qp~c(H#lHXTwvxRr15 z{1Xxm#YFLB{}8fyeW~Zhv3wK0X!rDcYC--#WDIjW&v1GTqgw)h5J6~aGL zXNVg3M_`&_h*5nuSuLi%-S@x%>)qp5H7rK|Y`j~)I6i!HBuFf8>6L*Ym2g-7Dc^%j zBh_O?XcjFhd9lc%z=2oQ(Wkp7P&Q&nJwK>lj1P97N0ZB22K)T&%3;|$z zhi^zwncCu?Xx4H7)t9%cb@({VhaA>F=fGzWHT~a5X2&-BOS43a5Q+li{pMR0fs^44 zbNsG=UOU3(>}oNELJF5vf0PmIbEuZ!lU*cXM+jlF?B3l?miD3GO8!u2r(K znW`V_X#CpLDe`Nqc=zOK(F8v}u9s)?ZBfbMt#3e3oQzLS_74x_RQ1n~o{x`qAb`S$ z+D&<3-xpi8*q+r#Z=MsE0%_84SW1k=YPA6_MVv7+v{x@l29)W=1OWt5BVhph@<=-d zA?6!qHhdRMr$^h=lziu%lY>!BF&T8$T24+6kH?Z=AF+Z~~EiOTA|2^z?ZD`J2-*7~AHi7>#K0wW`K$O|+qp-@if=-W?yG?(c=q zcVC}y9b1?&Vm@?}OWA&Rd*^rtA|g;!U})9go;Q`7I`(j@zCHT^+@s+P8Xbacd{b;w zHsYEMX!wZ+2A29!x$6>(-;FTrdVUQ$>2sQl&d@aPX!OQ9S@U9A&i)))FYW8k(MwLUVjD)3Oq^C1V2qWA~SfAwLD8VnQkA9FWP>zCtKNA=0+aRozSfjH01 zwc4rzJugzm#05SZAMbzid2KoZsUhV0d0E86Li26Zq3M~QF9`)U39N5Wkq~fR%$5$S z#flMIN~#T#IWCNy_ofz5I43om+)zJWo88}kJre^E1x+@Y5i@jB#K0jr5GTGd-?q?zZ?jOAz8_NOTrLWGn!jAIg(deWk+Eeh~ zy<@c0cLj(w0Vo5~{aa~|O&vjGQx^D6>cLIFM}teuo~_P4NYWJa(#$QIIB72hhqzHA zK|h>GUj>8P>5k$*!rT-@nx3Jsm0=4`Ra^~SIb}*EZ``l)du=DpM2J(G#AQ8)9_4_v&&P~>EJDjcL_Fxu>Zzaf>CBNL*M*COnFFv+VWkw(H{-y zr1|ZNeUsr!t#ATIqA%?>af%8+xLNIJ7^q0Mpp?&QpP%F5^M6sp={mk&rXgq0{3q}{ z!0(W$@!^9<(un1=H>1Dx*{<&i>l)-B6f5m_6dh?C&w0AfFyF%}6eE-xgY?mXM|PcIe#`%%``@4`4z!(_#@M zOM1i_9^v1DAQ9qBAAel0R@2E1l+Mg(KB`)*!P0%d1|pPU>3PnymMk>i&hqivWzcQk!OfGS!-JEt@03U}BTz@%L0(~D zbdF$U%x@4+?7xMv@Vbf8DuQks$UPV~PlYXgy%mww8h*384btBVBVso*;!Y-zUk@b= zxcl~1VIDN0E6P47<6@$r+qKITLZ*-mkcRB)S>K*l6J@-?G zpiLZ5Oe2e03X!gNG>{@>$0>A88Hxl$4?VV^#6Udu?gL#{CdX)QPyXzJ*YzIcU#x6cY>5z2wyW*6Y~ev*7h*|eT6YxrQV zCZX9Nr~5T*Y=i+V4>Xh+K>sE@hfE<$Y=Gx20>VgAZERVR^VuE}(T9Y4gGm7j=zU31 zmxT8VY}|(kvO(MTk1Ymk&Z9-~lwyVw#`n_xy*fPn6jAsndbh*WN?V%mDoFy(oNM|mIzWS;6H)i z+|RGO;!dWVtcO9fNs0ne228^b+#4lLV~gQnLA*RxN(aST}+Ske?XH%le|e*`Eq)z!b65ZYw`;btxO zdjv%b$AipfJh;+ut;7gIZxh~{c5hQ{Qx6asIPV+SF6t1Ag`;KjeZ?Q~S;rg<})bO*Cl9%%#B2}*oaiA~VBuW^%TNfUS6q$tRPi$+9i2QVkDTx7MbRbEw zW(zZOSZVHlJm3>gBA9n3=YpoV>}|mpq~OylH7nWBO7S*7P5t6S$s9p(dMS=|;dl_%+~;_NCdzyG1%u(!Qjan~ z3AW_~sZ+!Sx(zJhr9XllYp{fRnf{P(JSfy}l^jofmAwz%tAM9T!SFQ z#$C+s0v%u^mQBQI<`raLv?w+{I6eN{xMAQD5t|;+Z>cklaD?veZUZ!KB)M=o z`)-46NQg?dB&Qn_UFfSk*x&1~M8V18 z%x&UmebngpBRXvvG+J* z9a}W6yo}C%60kAPm#wJi)RMWGU)90(2DCtTmM;FtwxKe#_<9FaaWt=x6z+;}em5;}kP0LU`i!{#AXzpFMd5 zgyO+d->w@eiQd%HS3?hBPI`oCd0XiInb2^~CK_El0egPUY^R-b9QyO~OQQqMK}scM z9^~RtlZX(RR#K*uyAZG13XKP-!=*4Ee?C)$q=$evW^bShs)({z=s*I^>*5 z2##x@Al_2i$TbuS#3zuyMh9ARwgN;KAZ=z^D3y>H7WEOVwy*?&Z^;2gw2R{}DGhsp zgU@C1x9O}Pxjov%+Qj9n{SpqIaQc(RbE+04=E+2_lS(hO?0R|}}_FcH< zMEZ*xIEmtLArB8&tW)N5;+sQDfMreU2@aXCE>O21kOwTfVTmpBh*e~>K6;(BU6{0` z?sCqUaSMN@T`2HRitw*x@y7;Y^a(mGgx=}b;G7`X;%Gf^fgCz=(KCD~-Gv=DOB|8! zhVCfuileVI>0|NU(PZgN?Jog`i2-t+)NhtSJOQ(W_3bnRy|>0$%+GXEj%sm#u%v4q zy*WNQw6J*K18RJZv65lSmK`o-C@Ix)c@SK(LI)JsZ0i~vu!t}Ga!r{H*pJKy;5*CI zV3OufXOR*HYZ%;136)1jXYkw{rkTAi{W0wX#_vQX0ltV_Ch z_vM!6Oir0H!3teVEKT({zaNA!4Sjb>3%Be};}X7aSGNqr4T_xk9vv+(bVM}D2b|;s3IW(z5*>c< zx_(c`Tc4$JecV7}KC*$LY&!9AC{?MxVtFXC?}BXXi+j(^x)58y4lDsdswx<(Ur>Jw zg6<6(B~HXJFNS5{7}rKW!Ct4=`gR9H7Pgxl;0yBTh_Qd*b3 zS4Sgkow>=C4StMrUHu-GAWCL3z~M7~5VIKDha#dfg#BT1S#FD@F$W5&5a~fSMw60q zKDl086-*_+B75ILCwG?oV6^AO!NF8g5ZIF{h6kbjh*5NWnR_q&ii}C!ceW)@oKfx8 zCFI9R5xH(9kH9+ZAh-&?`ccHYa)dU*sm{*JaPAL~Q*BccVgKQla;R~g0TP}fC6H;z z-2a?`7)-yhJeOYe{Of+n zc~-;=U>s9rbg0X>GlF9yb0kBF2Zt@#oQVxA5$(deGY15sV2L@@ig9 zEWpo-Ma(kET6-=t!V4145`lpzuG$IV`WL|dPgLcfbO2|W`61Zk9qQ|af@JTE5MYIx zFFe~`)}Cl(anCG`Y^WY>1UwVSX@0#}r`Ehu;GH*Q#Nkl2vZSI2%zAu0{_OD6@gB8- z5gmLr7U98{{8!N!ge*c00|}{?DADlJ0fX(`1nEM!TmsqRA8w{{%Vy7I>$}2@ATto& zdI9Gh0_%Q?4KJcIPO5xR3uA;rjB=8^ssgC`Znh?^VW2Yc`iITDWDS~lLnxR zvzR*x)PVtmExDUsf<1KyrwHoXq|%$Mv|?fNi=5g@0!?7>dIHNnID|kr%Busp0F>a( z22GuAzx2#J1bYle(V11LEdTp`U{+g|basK~3e&+I4gEHZWH7bTa(aJoTVQnG_0U9b z{3znXCO#rpE6>BN->;+da6-V20=g9%WrjU)@!=F~S%id7+f-XQl>7wgDJAzSj51BV8d3s$r2B3tXkXE$Pc8Dx_@yf2@7bv2(OH>Nu- z$O690F0c0s&o0@LiS(+z22{JdgM93JGK?CsCofgTQ=|gGliTVZvJ3qTi9vBO)Es@c zgh{#N?dZpI9CruLD@J1ZSQJ`;*Y3;6PC!9@--X*DI+Zuuv<4H$kR_}Sfphk_v15IF|6&>`EFIDk#U@-3e;z1*a!1f5#6kv_X}3%`s70clTwLvenQ}+I(yoGTUS}d8c~IxB#dOcfow<7h8otJl9S1MKyzOt3<&%aNw1{WxD_P!U~EkViPb(;-ETnTsp>rD}4?=bJMVe4CD+ zMZ<^*%eV-{DEA6RoOC^0>*mKIXziXXYC&|x@#3t~v!zqMjf3**gc671T}11Ve_vv{ zmijBh?lLS`*uk32WBgE!%K~RU-sAEyYH?Yaz(Ohu=miFB$N3dI3gMbyb>{&yi`^T$ zk%Z+Zrad&dOyVB!$)p%?GPCH<;_Z%wW}?A(p&I}iGGb0gE-Jekz)uD-#g!SsxSB)v zkz{zvnzaiGkW+#S(JU`1%J$YI?lZ%+t(UW31Hb0Ry)3RL1ICAW#Asy{}g0YJ*Q==V^edESp=?&1n{v$u!p z8VJe(zBbyH_TPAD!H<}Xfgih^7Z)$wql9CJ);!MG?V%Y+AcZvo^q8J8V_{(%!-Tsl zhKyLNK0pKplgcxJ9lfsgwJR#s-@4Yv{w|R3(j|@mi~j&xxZpA<^UOmKTq(Fle|&H{ z)Ne3QOOo=&65pg#kC^IZM@>r|-y_Ar9N(}S80l`{m=)BY04ci+T7+K$3D-k11a7$^hFV^GiH-quSb#LZ`*V1? zsO4<|YcC_ocnX@)oKiBF4kZM!z=rrt6@b0tcTOsY&h+{x;1Esal_7mR;UFF6bdvOn z?1HWH>O%y@7ffyB8Nr}jcl&-S8T~n=BTl4QzNo7`_8V@gN-ow2H}yp)lNG=88zS`4 zH_TPbzu!jnafHTHFC$bI#*i+7nSeRal0GZ+U$5eFBA^+ zkoUZis>=jY8Iu9CUUN>?C79Y|HIPw6Eh?EU5I#)4^Q(taFz^n!lzo{vg2wC%KTt*dJNkqSMY{vfY3-l`-T&S{zV*nYxU#ca@Jj*h1FEAVh#xg4Df-Q} zbRjX_alkj8`jt1KYdtg+#n)wS99nuka%fW5{QH{HBgvEMpXdGUCya#o_naDli-M*F zmJq$5QD-i;3Je0Q2RZYGItEpb-=Srm{P=(Oh#E0kV;2iA6+VgT`q~LV-~^pe=~QLKg?_ z7nd3!o(DS%+p+;ehq8TL@>VnEqE z&p_Okj9zBF30$h`9W9a?g<71VVsi#2UzbP z0AnSFdvz6Kbrik>lq$8XL z7sc`&?G?>QKmw)9qgk4>=#+{|bG9xpT+IQ_Tq3*O3zuAb04QIlNt=p{QxS7A?5Tk@ z>a-sU8=p^VC)5dyjW%O5IE3HXjkqc_g__EY)S72a_&E2Ft z9z!{&OG+d2JCBd7Hx$T*JoS)ansu^_{i7s6d-o7TXR63w%zL54dj+oo3Nw ziwEPT92qmMfO^!rOPl;9Kb?-N_SNCep53pum9CucHy%}X9X*6IgglN+!u9*`=_AMr z0r%)$LhsT+w>W#4$0b0+5yoP+5q30}^7?Qly!(hCn?#O~pMJRhqEd9a)J%eMI229d ziuCY>2Tl9IR8}*=;fJ7_30eW%m{s%Ay}OAZ@H35>rks9 z!lg`j<5-1;p<%q6w}|YhRqLqX(nGHZ5vHdN4%ovzO`S`2X-0l$a;|OwR7&Z{Go&dC z8+ED7fa=`ftunXFBIv(-RLO(DCEs(RNm>ydOuT9*B;5>}Tr?1AdFv%~n%l@%%V}k+ zDl&#T+QD*D+Q12kn)33|;dr9PRmh9FRIdWPXVGOiz zctIcF{xmW(VHz3Zo7yhxY%g}Gz*`+bm7$glXK4wrwwV7EctVLxxE5moyY(_Uzaj?3 zElbgf#oK{<2-+G9v9F5C3is|K>daKvgPSurMX??*urn$EK{34^dF5nW54r~Rn;q2I zbl)ta8axJ=&~}hxC$Jcig@p=u3?V$Fn1`l~8@aAcrQ=P+Y4_N0Xns`0H|z6)Ps*@F zRhrPQq!%EaMYhWA3tAaCNmJlPJ`%}TzMld~!RFfdwIZTcZEYbVd@#gJKaK#|=d#oi z!)B(Gmwt<`!Ua`x;AH*;dbXtQK>( zr*g>1j|phy1eTQGQ63ZT4w_53F>-Bb>VCxbPz{AKrDN&IN6EN|jS)8IHK-f~9sRJ1 zFYJ?8OS}V03nhIYnnVM~h=uN)V31>KUIwlZr+7+m%%`U8Cn3b5dAQJ;H<9@F_eCM^ zS`2UGO9SCt6LJBN+I!#4m|)U@A(=(?=;Q6sf7u~!kwtba78;qhx-D+kobMdC(5f+T zgE{G)`Iu>-JF)MOc<5jpu04(qJOGEdfARgp9AK#4JRI%DD#Z@z%D5+!Q>&1r7Pxl^ zc2vK{mDZyt#W|jop_g(~IU%_CXFwB=C7EGSunvUjo7k8*mLH%IrrF|-y^I|s7)US3 z1==94cq&nd3XpH-02nC*^lH(?=@a>+S7FFNr|OU#UVSs0+~GPtux$T! zp)@umAT?J?h-5*}Zs5~Bfp;Thl}3&4B~1$WNm}3I8xdgeR>kPTQl$+76QzWv#4Eo< zjYAzbRxm~?tl6G?t*G23$>)b^Xd<1Ujy6ln!jb)h)1Bw9#$nM=0zDU#wMjwbA|cMd z&XjBM)?j}qxG4yMR47fBN`X>2kZXq@O8Q~ldGD*BXGUNSN>>PWVpQfRjO1%F6zzaW zz>+ma(#Xw+DX$aoHYlhDUt9)$>%kQdv&z37L>)H?DhCih39jNMTT~8)ewb&8HpY zYwSdp%_&*9NIBNpGommo`^n^5k;z)qL;UuL^`3nw z?(R&oyjxVjckL&#+##xjoMGRnu>6L^5i2N2m?L#;eM#2phw4I0-eVB|y1YXinhv;| z>GL>;u1yV~l(7_k2wvp59h8Np?V<{mPWQ<~X=VCy>VkOy{Afoa}pJhkv1p%tWrI77WQbsY9si$%BIU6Ifg&Z=}Q?+s{ z*=_8^gD zLb@}O>vF)N?h&tlJEjCDghW+8UKP%j%4pB?8Y#W`@LA*9Fh#&$hT><^e|>;yjpi5$ zQn}GG2_{6c<3HH_C|v`G*@E1;F6r~u&Foc4ZdE_$E(yw+d5cIcnT&6kq_@e)0cC}Z zO3JABqqK+r()9f3ea}uDwaXInYosG^C^=D7BS`a+^Vz@i@aVLDeRw>^k)mS@h9v0w zhRO(UT=fycWT4+uvotr6GtaopHEN~?F~=q>jg&D9OEU=#VQDhD1+Uc;c2Ief*2Mz{ zafQ*Iznq=?%33s|#So;ua@NtAUv<<*=+Jr0;ILt@PhQmfuVn~H08Xwhin@h~jd8R< zfpknRqMVky&lcy!QTfELb;KMsEeC`rb!>!ms@bJ^J;hJ*o&}_A{>1XaFLu#Nn2t9< zbE>n$Mu9pYUu2kco%D&!A^0L~KQq)KqrStHyQvV7XVtERdQR=@^!C&8WG%IWuA!mb zH|0Cpj|Qs(xZxVVBAT_jZaBD8EeWJ0jIuy4K%R&gd~o|sM{vp#F7Uc7G807*ZFO)S z5xkyaU}j?@+N2a!&xbDM zIebSa914gB)lQVvlL;BHzrICo;`;&%7|KR%pY7lTA&fYf{q4=MwPh{av?HTt*Sd-X=Ni+Qkw?B& z2jINbSBI2g@L5qtd3xSgY>q(3K} z7y@$Z=12oYwk*IECXwanr8$!hUhE%?1&*i$i%ljuPiFHq4m0JW#h$NmZlYo0VB!WY z_uo!sO93Rkz}My%NUtZ&=CbawO<{o=k451eKIiv!?X2Gu>^%52?xDsFU%QqV)uPdX$E zeQi{A&u8NXpLuZ$jvEV}5;%)+A$^>L4|6#!5IM-RTPToz^0etN53x#MNN^`Ifv_i^ zGGp4lzYv4S*s*4P8-$^=bW(H6)FwalEi)%DH?M!%v)k*V!OKplLUiEdhiM`_#Cg?K z?6(+I#y8}E&sJiJA?DayzsFYhzRz6MF^JNb-AZgExf1k?8FV~yJJi1~pn zr$I?fKD==yd*4K3&F;kb-9Y?L^A;`*h6i5=}61Bw&?GHbGnbEihOKIo`d zrZg<*N>0uEg9QwljZ2bl@CNqW4HTR9KmTF_5o_CvySOdz`i;MLDyJADPROa|9k~5o z&GyCqa?7>lRSa^JVhwJ1%f^4xEs-t&Qa!Xz^3pG zHB?h(HlQaJqSscSc-MdeknEtC??d-S-os}oBsJF2I6s5d$8I$z?Rd*7F+QFHSe$Lv zb7>abkCGC&L{eK!?|jOBxl|*p5u`H&ri;+Bjk~cA+9K@~*;AI~<)@yBGp=)&$bn=K z7B(Sj!)a5d%IP}a=o0LnVu<+_DF+Q@;o;Uj)ij!RcD}Gro_*0qJu<%Tjq~5L!e+6L zE<-+K9TH~d1Xj=-=QBNcbARk>v|kMu8{T(f#Q@HlJ!w*=@S;Giv#TWgN}NnS9mo!e z4jut+wq2=+0Rq>~$#}eXU*c3U&Ux3IhXx<%?3q=GgQfeSJgD#XE*16lLlKXL?1~1e zlns%E+$K!!#y#J^Tiw&R!1lB8utV)`I_HV zT9vGyin%A74|`Ol&(1 zm{djFY{lIAAoYO>N+}Kml0^wI3IbTY%vG6Thd8`;T|wr{+tr$yG{tT}oD|4?XJ>=} zMdX3XP9LJs!5JA8UqgI1FrAt`(N)26cH+QjS<_eAEYwv$zKD?9m0eVNS5Pbv71ERy z*VWqvXLyoI_CaPJ%r*h0bLC;^98B2?IR~pRRaQXrndx+NU`jw0MkfxEG}TBWwJb@5 zlswGT;9L4zw0}DlI*qKmm1Fy%$l%6`n0@SR}ZMbRS)p-!Nn~;sBZoPmWe{6TRG|;%r608 zYHgP@43fWDR~)6hn|!F$BY$Quz6%3rUbvHTin-jb`5OE}@81KIj;S6X1DCwD`v3p$ z?_-F+hW~#f4fW%1JkzHiryu@7`aS<)+wOn=7+?Md{-68*(f8Afj{c3lR=cg4+&Htw9P&aYrGX|Ma))Z=QdCPyYJ_9{=A?|F3@bOdY=Z znf248@sacAlJfl1)9Q!m_dMQLfBsC5zWQ@(@tXti%j^HQssD3pUcLN_XZrN=FYJex z|Jwd?{_KchX;b@!w8A=Rav%^4IF$<5Rc)w^ILarHMZ~ZJO%C zx6;@A_dmM+M}KJVKl(#^f1Yn1C4bL<|Fi4={nY>assB%Y(w}jDZyxV=UH|X=_9uGu zo!>Ty{LS1j{q2udRsSXR&-+*Xj`gp8$NGQuPn#zi;oE7P{O7;o16P_`ef0+~_2{cV zuoeCaiKFwMfB%2Ovu^*N{*m?n=^t7DAOA+DGd|j{?Qg%2kKE%#uGP<8?CasrKC+ej z_W67M`#;h8?{xbAW$OQzKWG0xMqkc9zrT8E@2{TP`+t-P4{iA0xAkxP&!6EVA)WjG z=(Y9#(Lb~P8L+k+?fNqw{0M!!@Bh(Z>i^HJ|55uYeah?3fB(1ZUmaQh>Y4T5`qlmb zxnKUvmv`U)?1$F>*$=G$@4W5z|91at^-Ji?vGV$V`ZMeQ)1O-ZfAWv|9en>^PVe99 zH>-00f9ZbbT=`%3Z^m7FV*ft-V|)L<`|tMsAL7sNr@8W%%zxM_&z-;L|GxTNW4zn{ cBmZK5^Lz8Je-|I3{{Lrfg!3z|gZoME|D2T*Qb9u-n%*8 zZ}zorx_QICrg-JnqgTGK&wIabdJbLjbq>Eoc9Q=FueOE!%J&67Io_}4weWmX(!NGg z&D%^j;9tAFn!0n%8{X^j=gGSf`-=C;^U`OU^6860uR~v&4%k<`k7YBSwvm({&sZFK zO}*DtGw{55wfAvtd|&s@=DzL&%zgGX;>pXtT6uCC`QH=X`%g^Ip)0=5;g?9h{5N>z zviuYKxUGhNPyT8{xlaD7DD=A28+Q9@?>ma_<97ak{qcq&QsO;Nm5V3lRPWUrt;m55 z^;HMYIk2JTfQI^}_KpKOvJXDs;5oBfn`dW9zqh7_uud&nz9RDa2X75_yj#)L_sW@# zy{V_q9bR2k%_jJuW z{k@eRym-=vUmSLA^j{lo_tJx3Jf3&y#I^5lQ*i(58Q1LfP2P-MZ#w+USHH@SJes!s z?i=m-`+au4c&C@Df9_iH$UCxi>akX=f+;;Vf%GA^M-u>)ZL)X7^*xk?EIk;~AJKz40_VAB)K6_c(75zCM?BB4} zwC!g8o!jsFIdSJmWJ|{zS7o?)bYnN)bPqSbb-tTFQRC(Z%y#ozNXcF8OgY5O&rx`K zp1XXs%*{_Lb@NsGx_OEs&$MiJ`F|+&&pF&({?Q}c{Ma4c{B@d)F1bBc>*j^?+&uSq zH=n<^n}0=i!}Z)Nk9G5-(%pO(nO#>s14@4n+239MH(R;+u4If{^}j>V#a~p$Wx+P? z@^7qi^FOV2^K7O3oyxr1M3H~#KJNM#k-K&E>u9B(-h$xj zIL=*v20hgE+(qlV`HqVG-&gGIhWYM#_EqW`-ppP8U8SDCDf8$KrJi2JzP+uC%fNx| z_RKoW&1Wj}XlrF&AFt@`RZ9K6O8q}8dh*Gx?sk5z_?-eJ4r!qv)}<#Y%6$1=i3c`S z^z8}7zihCP`?*&u{&ahaPhIV7Q~YTv1@x}+Gv>JYua0r^%tPG#m$b}r)&JcrH_zC@ z&Ckko^EVYe`E;eb{8A-;c(>SH{yRlJ7bx-1O2rSJoX%k8_uQTv>l@O8QSjFy-fxgu9*_6~FM&5$^Ic6#Y4JBX{|- zRc^kmvhL1Q)}b3H@$iBScl{45`t#*-clin>@3cgjU-ioTYRq@npR3HT8x(oAD0br_ z#V>5F=+DJUTy&Mvo^O@-=MAMiZBsbox7QT?zgem0Ka1S;oUe>~no`dR%DU!GCEos4 zvA56BB-(PyEQ&;KRMwA2Qejv5Z591ITp7okm38jnN_*~B^zgEU?)IFp+Re{V^yFS8 z?mb?y8;h0pM3i}buVVjyr`X{##m+P<{A*=C-mTcTJSBhCb(C9fFK^-IYZSS?kn1jg zn-V8)quBpT6#f5`vR-bQ?tX6Hfo{HsGOs7{+~rdgJHL}MU%pr3fo&E0{A*=>@tq>K zTqWMVLXqc-74CkmQS^3aMbC2-JCLWWUrtljQ|o5B+w?4sD83??PwL6{y2k6? z-Q9efEH{5w$)BH};x5075+|=!@&oyE-SreH{^j$X+~xBWd-$VL{s6^pY_F`#epceB z`HG)fpxBvNiXHw)(T97KxMgd_4^C6s|Cv(HPc?3NeyZrtM+dmeZ?3GbuTkQMnacRS zsW!`PA*qKF}xa&z({L5@b4rPkn{yM{5 z|AaD6zc|`mK0!vqWjC6Yd33K5*FCKCca{>Le6@@Fx#`L}{qKsMd_$4XE34i0?_c5O z)r;KxdBu;fRMs6c75lJG(W`^@bwBq-#lMUz{$*IPZ-;K{uK(Hn-8`ZA>rIvCu29D1 z8zsKI@G$ptTaR?}Qe_Td4xM=EyXRK*T|zQA420ZRS5DSqKWW!!I7;>p=cyzwvPxtl5a zIY;q>zf$a5v0|T7rn}`(SLNorALr&jD)uCyl)qld7rm~mFJ>$D_910l9#G_D}$e%V%;@0H5@{k>98hhkSRj=SaX`%E`~M47)2 zDE6U6;n_<3cAw%GrYZ95P}={#(%&!Vy8HD{MQ>Lq>yGV}dGxhn9|o0pCRJ%?OPRZ! zFDd#wPgw_LDdSbG?|yEp;veJ6y#DiScRgP#aaW;Y|Cc2neh)(Uq$3B}L; zNr{(kQPySuQR2Ft6n(o{$;ZB~=-ZKsA8AtJoJ}@x_cx-H|7oGS{30a}^SWYZW-D?i zQR0V}SGu2Dpp1LAVkhS+`nkE{@A{8%Ket1X|9r)NeOcqK=d5ZsuinPZe^lCewIa`7 zOmo*$k?!XED(mr!a^2;ZD{;kT%6PRYaaWNNAC4<_>0w1~XCCZs=jlow_^Et%`5%=y zvqZ5Q=aswb*;ugy!%EzBo3c-OwG!u~E9>9iE_Ju3P4Qn}EBf{~W&Qioa(DfkDE8qY zMgCRFxbLml!>5%v?Lfu9f2a7t{w>|@k1BrW_L=VTZHganSM*`N;$PmWbk~2NVuyE9 z^s`Wj#|jm@x>~VIdn)6;<9_aTzPFj1Kdn4>7iHb|v7#sEE8}utw)?s3EB^XSCC_k| zVwYwq@n_$L?&sd9jQf>JzxGttM|Uf6#b(O5{8#Dk?-V|JM|b-pik<&h(YF;!Tz5&T zyZ#@P=dMuv=IM%GyI-*zUnzd!B*kxTq1cB_mHBw1^4w*Lp8Qv_4;Lu?&CGMlZPo%e z|2ReAO8sxnaF>rM^XM`qo=j2VqG3gz^Og4JD0*^xk-MF{?&;>6Dsjj~ieKBS&|S|p zieJmla+jY_;(;%f_HU&4DO%Pz^ZXske0)}!M>oxL*Rz+hZkkZ+@RE()^^_~|(%$Lr z@~2LB^UIX@WSKHv{feBQR>u7X#qRxLZ+ClcQ|50}i8oeHbJw%=7H)pGlCL;ju`|ah z^8a}&cl}+;dgL|5K8!1Npl_MG{@MyRFH+|9d}Vz1QS9*M%Dg^v1NU>ER{T+$GEa|H z=Jlsad;Y2AH17+b+p~B}h41I)^OSjgiz3f&mHB?qcJBH=SL|M+5?B0A>FEXM&>v=<|r%$ox4=D0n zTIa5RwX$9=R_x5_sqT6%SLE=C(#|p^?{}^u{|9EcpIfQq4K7pUnXAM(mnnL(cn9}$ zkI!`TqE&8wdzqWhE>gH+4?7mQ%ip0qH&=<59#+PE`nK-+-&f+9xr!ZbR`hTWC2l-i zS-(7gjJrL%Zsz7~il5C>^yCL6&iPXD<5w$k?o;B%o0WZ^Vx>LbD0cPDba#KhUg+k} zEB;~|B~D9bxa+A^{NTgNyzW)%zh9ZxeH*!-dsD*AFH!8quF8D*R9TN)x3|0gZpBYs zq>SUail5y|@%tC-?tX5+vOfB^5~pQXx$F6$+RZ;#iap#` z@z)6@&v}Mo_m(R2;>0EH_B^E6ji(g-pRd^MA|$|%Y{eMcy z>sIaImcuWUc=f8i+~so>yLzJ%AD*oAYkOt9vXppf*PY$%nNa5AEXBXfjJxZ(b^|y6 zvogND%DO43y^)JtJ^9>Yv{;Z74PKsV# zsravh^4-tPRpQ?J6#4vFS$FKG*v}Sa93N2h>N{n;^7nPO|M*%r-$v2%PZfDS9&^|8 zl~RA1Vt?LL>{z{GpTAb@%zR~DpReTWu2J%Pmu%tg*XU|DpHS@5Ya6@E&z$Av*C_eA zI?cZ*=YKxf(_Q}o)7*TPBA+vqbxnh^-al|tcm0D(ymXMlA5+#x4=VCMd?)vF7b^4j zOr@T5#jo`#`u~HXw~s3JZGA?A0yGx_b-755A|Y zBd%8F-H(d@y+oPU&B}gdRI$$wD)zQhS?@nK!!5Vl6+L-Ck*XqUaha#+uM|UMM0grzZr`CJXV=siw||zv%O*;E>i5nkBZ&< zr7|xzSK^AD*LSz)WMw^=s`%4ma^3a3qRf{qm2vM^{K#Jwd-A>F2m2NKnXbf>r3>Bd zKTNTETkhyC|I~VJ{=i0VewgCdiYndZpH=+Yj*6Z9r81A6Rq8)fk;Bc3{W)5Z&kKs3 z*;KKs`P;esd!sU5FDdQmR{Hg|61Qxi_|2%2pV>mO=TEJ4xBpAU4nLsO^9RMQCX{yW zyqo*EtB-K=Ud5gqt~~cGB~JdgVh0vfyPtcuk_UKHSr7g;;;!f4iat~-l%h zAF33&^=#(u@6Kgz{tqSJenpnM{A@+fU&wQp?@M*_&1Sm!$4cDzh%!&VQR3A%75mnp zte4N2?{3cnioQKr?k@j{5~m$^kh}bRrTuBjI_@V$o>hwcUsuNK48`6qR`ld7C2oBA zP9aMv@U#Pcf@Kee@Dx0{uCvO)1vb&7qvOtJslEAxHUYInb$QtZZa zOWfrjQ0(wul=y0y5@%ki$p3I9ekh2#+jHmMZvKLzKNl+X7b)XXr}&Fcl=bpsN}N1h zd2Wpok6oqM`RkQ={gfi-e<=3n1ZDotRP6TgihO=h?Bq|1UpQ6CmyRoT^+ZLluH4f- z?#CXuh;;Yk@aX;xOcl`?wck>UFdAh~%?(&Z->%l5T zp7$yGe3xRc&QaDQcPn=I4|Cn^T%wHE)ylknLK(+fc5&C=xUHN2IN!}*Q1U9fD{x+iX-R+sC#BZA`eyUCJYqu+QW;Z48^soR2?y_)5&|9i!b?Z2P9{6fX9u2TH(UllzmQS|L>B|dplSr_c2_}L$n`FMsB zcNOjI?r)W%CtoP~@QSkT`$lR1S5@xkexr=ne|B}3uT|{B)oJeX^Ax>(OnL4<6ubSd zqKB6%`p}|`?^VjW>G-YP?cXHB&4(5H_IJh3zoXdO50&~iS?qr9ZOXXwpNS>cKjr6s zCC`(y$X$MkqCXcX@_${C=l+VFT)WWy+~<_|r&#g74=DP1L$162_m$`Vbd0BTJP$%&p42drQ%W zJu2PpUwWXMKdH#!P$hob^#pf4XDj+JOVQ_Dl=VWjBDa$idooRl>%LUxSKCr|`!9*Q z`BsWwen!bB#Fh9hSCK=B;-_XS{5`eC&DYz_ z&A(FOtM}sW@+Tq9D!HuiF%PzNE~THpPBkro@L&DE{KlN;_ZO z-rdf#bKLxPr9D;3I%^*#o_RucO6J1YIkROWS$ zBImb{akuB^m2Uo_GT-x+_~Z*Eu3Mt`$7i;6KldC(f0iig*4av2cbF0nELO^AEAx6s zrTuR!@y~=ZFD_T+d+CvGIlQm*_X5T4{a&%#S03%I|C(8Deyp-S+D{p;8r*4MWx@x~R3omr;n&q~F<-K@k37b$k;`JLVU z`asD;jw^cplrryDD|)_z65l>r>~7D#d%5}5UR*kUYizu?l@#2~8C&T6cNR4LylJj_&w^@CAFU(hX z`MrvsFyCf3Q_tXCVP5IwXOee^`InyDdjAyWCoc5bGZ^M6Waqbt><~#Ep$h3IMgAL! z>`BGA{mGBQ<@t8zqm$}M-Nf+T>%!$<^qxCD66SUDO!?T`Vg8t>hspQDd>hX{rv5g} zPu$JaGyYnbe^g?4=U>A7v{ha^e-q}Ldij&i+rs>YS|gvxB>8ON`LFRi!{u-F=5&>V zL`!^4Vx7E~S5{8EwUytDwy*CyiCRq|GAq9IY;7H>*)w8fJx&27y>Pj0DiOT-hE zEe-49HI;3Zrk3L63*)A$wm3B*+TTU(Ox)sf;@!E$a)b$zmqp5Ij2n26M5 z)yJWMrYdPrTa+49-A>P17f*Bq590c2Yp`IvvLQ*`HEs1;Zd+25sI6>oXp65+wA9zG zi`UjSB>Yx+tR>M(B|;T)d#fAj6HV0ZlWXGDl?@G5mDOwfGVQG-qC`tueQkYpCCMUG zZEK>1YL?z{&seHlpTY5DWlLqFR3u{btK?#~u`P+pns`-vZ7oTuA<-md8k&iDZOY3H zo=C$}-x^OeRaP}5j8x=-b?t36%_o~%8B{knHStiAQnVQfSd}1oM!g{kHKwhhm505t zvLjyGQn|X3g+Yy3-Bu^XTJZ^1+VxGf&0%TrXn~|cPhhEdV<1uq-)Zag+QA}kZD~vT zH84oFu8G&zP|H|J>gt=!DArUqQCWI$ZA0biR{sVO0}Yy0ZuXdZzLY7oLf^{-&8}-Zf&in85q(Vsx980r1=skV4x}SwslG5a=%p0t!6c%*2=XV zwq%R#F88A;aq`r6d4^L5O|6rr@Dcru0T?p`lfo46aBZf&QqVsy%YUNCP1T& z;5>sN1MFD~)~yEWyHxIrx4C&ueZmg3ot{Op!h#Z!mK5e*8dWg&qA{5=ikUEp`0=fE zl`RR9dj0Ck20PwdL3Lx;Otd7b*NQ$*HeDn@tEV(Unp@0Ba0l!Nk~M2-FikTpr+L&= zQ`u5utQZfF)X?72!t*52k*sWD6_8u#s+rV|Mx(xIH8p^YZ+)d#8$Cm2wl@#p>E=0H zYaKm``nV<$uc=?1XbqbxYcs0bSXUeBTX{G=Bgb|`T40q%rhr&q!B$UO5;U1=eETdq zK_*_Xq?qYYOAYkrHiH-5=11wY-#D* zOlh)bs)pd#LH8dO|l}YZLs?eW+8s{quKQ`G+ z>JzA2WxHqWt>~JQZKTv@eseDqEiKJ0kp)G?@mluzzQRcFC!2loYL2PL4-O&>YPZB3 zo}u8Ucm`T(cj$rDwAz-0Z$hIKFOU=94m5KF5mEqOmVt=meYu6)O=XDj#_@VB?Gt5^BdmsY%p1W)C(C&@-fJsAla%FuR+q2r{mUw0Bx~6KsUEzTcU7(1?Z#p-R zEQVj4dR$9?|IBl8)MAJFd*;!44>AZ+Y;qsCV^q|)yxe@>a+~Q=T~}Fe%yMM|2LtSQ zsl((=$$B=ES(0{G|6~1XO>;0U!Yzd+_};=V5!TkgFk7*Dk+3fsJ4!*LWvIZh(X}zB z@z(0Lz|rE2uBmT{)MwR9vB-IWNAZJGJ9pZXq_4HoZYydp{0&(IDZovlxLh1vb#r5q zY^g7BBh#8hYxNYF+DFmAWm3=M*>PW-19EnC*S_Y19i7LX9EUroLO6N z>TwY3EmcASvA3Js}2xog1sTI`mJPgsphtNibJd^BPB2m@!Q8Tp6pdP z0$^dw8}ZimsuO9M(;9DUW-DfwY{koBGS*Y{o`vPGZMK0d4A1!b!jSmDgAgBZP5!J1 zLM%Jn{5A|wU`x4~ZS7`Qxlpi72-XB%bE0uHqgW<~O&~QZu$BuQW3&UYfhGU_tI8ej^&MY-?+gH?reN9!VdzMhaHO;-y84 zmgknOC@GL-0~xtyp4<{Z<>u#?6fIv!kyK@4eZ#tlJXCH^wpVdgRrPJ;rXmH)7Zoip zFpCCyr=h-DBEJR8<4x_2QYeyJx;!(!s9*S)c-1;;WPN3;x!JtM8fhBWOf6U!r@$v6J&Y|W zSS71bubrY)-1UMc5$OuE0%jsbJu5^@GfF$P$a2)QpH}0IrbQfHR?)Ir>d%)IP!X?M z6CI{S%X6uFwCZYEM?QrIhAVGvJVQeqCgoYA9HygaWrz zhPI^OC~4)2B6^D|XDIfJvNWw1(yw%W+w5Uc5Fz zZcM5pOHL+(mP{o2;suN2%~dC6@scU1kjz#G53;1PBA$lFW&A~VSqw3Mk!Xgiq=dcU zns@^xJ-zh`2S-!Jl_n55oKq4l&7fy1C2P2_zKNFWBHz3cS?EWlI!~8Nm+}0PaG#`N zb*#N9N$y8hAgz_Plv&~q2ihx_R*%{ntEkWN05c!(U6cNx=23t17VsEMo`}3&mphi_ zQ-(^=)Gw{+F=JX!fSk>K0vSP3F|C97g(#T+}<&@>A_ou>`G zk)RYXH&sj^+fosdG>zw&7sZ&|QY9%hsyYhT8(WV4$&*IJit|OJfYhFAG7EHmDoL(B z$r){#u99x#j?9fGs}fmKmSS3#H7Nv4d-6PF2dJt{e#5AsG}doE+ZS(ElOff z++s8;aCwszu^=zLsHB+2og12LCild;K@)&O0$x@c8Ie+l3@vx2CLwK=c8UA*C#Pxp zRM(s-@u5*SGSNi~SH+Dw^26KeX(vLe@DglnNT_)*O~S*-*2A|m)_6r}=6N!fHhFrm zy1FqlD?46EqmoOyEu&)8T1xRqaUjj|B$I7)|Kyg+WTcfEVXXG@vVuhgC4t5?*3*iM zB7e!6ll`Zmm)29zE3ag$jejZ5D=R1?Z!XSAhOMl;ES|rB$BX?sc~!Fgg=~kdOXYTu z$XO{Rf)SI>PSh-)*HS1@!wD66keF8(y(2YHE>-UZ4nexijj?%r%R@-?7%$h zDpD2S%aUhzAiZHn5-Fpp;<>t}=B8?+7b_2n7m(oi4OVV)!%elOS^3=CHpwKKRz*tk z%yeP_kfk*4R|H<&&`b*&@onVSvPfc5hZq6&lOj0Jq_W8|?Vh5ooYbP7n6-%p-~N%L zDEf~AYyBw+s9L&VeXSRIkP#IX;do07S!_XpnIq(0L}U_^(cCaTgsjIr zaUtGplVNYHtd1<8)H@jOqWpr~5MY&O1vJJKfNIGf?iu$%BSaGfXQrqpaB9z3lN+(r$e!G6H-4NqR<3Vq& zMsu@9vfR=lGk5Bfw2ZGdkCuj*$Uah%yFA~^r2C0=2`9+K1QS{+%3Zpsn6^zg+U8-h zp%Bk2FThUJnXGP+F{qZcH??hxR=g&j+&tk&HG8SypFa5y^^8_FvKr z2|h*n*p#wOrO?$MVj2ds{VX!$M{~_$w`#?0guU{b%9eUD0;2ieD3MvAw1=b!!ycuD zV*kq4gzb&zXJ}CC*9LtuRzNl-dGTnByVnyot`rc8#Ulgn4Rl-c8rqIw59paf6X?*A zvaND;77w^|+>96+9*CY zHVJ~#V0kKO9e)_94HPKS9A{s|23}gm`r>(aE=jq9thons-^)tN;%4E^v&xJ7B)p8n zk|mPwSw|^Aj$lOr-RIX%&uom-#?pcW#Vx@KjaPddG4Gd3dvo7#dqLI=F^c~6G_)=xYCDAN0K|&}j=RN8` zL+GIiHk}l>RW)T%WaYUD4%`YT_Ob#LugEimr)J;|%sNN(y0w`WJgs%j?F}_FShOAw z=7DGFWF%;U6y%i|J!cR!g}X-2^9?!VT%x8fj?}34C-RaN!-Tr}TJlj8URmSKk^qY= zX$X0G;Au!DDP7h=X=ZtYWy;%dpka2|6O}b44NRp8$V?B+Z4?*KsTMw4Bg$+tDKr4q zrir8qmakYw*_bktr<9ThvPR1M;iaj!mUKQ`Y-Xw7U-BVY?M?MoRa=vyKqieS2H6h- zxEb!i+FKF8TFT3QM8j5>rjQrbHZhaG z=;7v3ltkNcWOZrj;7f&uB2&x=nSzKHv3kiF6S2zNp>+w>5H^|6cK|JH$7t6?TnL}ypSV(@8avKy2RZe+?Ow0RQUH=1 z51|a0v1YO!AZdw&*xiyB6g?BGEI9z*Et{NE!Sb?_Ra~h#oW_2O=1a_97zPO_UZ|LG zmlo+1t4VY(L*<#g$xfJa4?L~W8Z9l(&8IUnGN7##QPP@~>yqnINt^M~o<>*{%8 zD7IKqNvYC=$~MYuQ#P#hl;N@J@Iis?Eq-Hd17K&9xVE%kn@5*Ulwt zC1}=4##81e8);ceu{iw=BhsF>X4=d%HI@{tEM7u!hNv{DP@H`z*Vaw~GMn|1foN?q z$#rk>Z}uFrX!}8OhsKdfi|7bal`({+w574MK<09&cJ3=rO_RnZ^V8DG@mOXgk2Xje zXzR$I3ZWI9zv#>>D4`@3ht$jS3QRBj)rGfPVd69vFw1~<1=z~fH)T~di3Rai89W)R zpD_AI{pZlaGxug4&O<75h$l4rZ<%6g=W7yt!gY9*io-!rWmg+)j z8#bO~KC0s3y(E)9K03FkOs4AOfGG$+*}T~Yaw3O1kAW`FbxH7$b&6A{&6|QYbuNuD z;^e7B@viBv7kzr`XERG-@&wQ3a80z26^=%-Wo>=6Ju!oWWhZ}W8SQYEn&61XLmH3_ zwh4`OqfOWricP7d_1@lygoSpt(5R6YvOb9nN0Y=^YzM)Y@+k4f-AZyY5{S|giVoRw zk}VigX%~&Z$u*l+nj|PY#0UiJWG(o}CY5FLR@GkLKnI*mfJN&k&VjO~7GVr;XB#V9 zOJZ#^od%~WC2X{t2V%#p!tteFcQnu~cJIyAd!(D;B2bclyhe6|fI zMVGxm$KUT|(UY3cqLUmFr9>r#+niiSt5nWvvNq+LEV^uYP$6&K$2ao3G9D7B_^~y= z#dAi4%L?RA9*zs`+%ZjMiO@jMLD%K5y~XuO6vci8J*SLytv!bhis+poXr;<3TWF`y zn+B7UF-{qn3B^6P@szj9iB!?!W8pw;>Yf34#z{MO?7$^8Qjj<4?t(ndHi)=*63UZh z!iOK?$9z&iVC@+?Iu(#r#GIOU+T0h5R%`EFlDJ}73vp{A9xivoJV!a#K zDQ_#sdSy99YsAMRT}k*|5CG1)GBrc`W$aE|#C@U)~{ z3Ce^_jTmD55fD>%cv}gdB5IajNC(NOu-#~->?*l8o3RR-Os(J$Bfp4pQn6xAfQpzz z%-({|%9-+5Ml>gxjRBeNMk_c;!iVPVD2coijkL}R1|$e%y`54oexM~l0~tS5Fj*|{ z_6N0o$`&jRL9(4v^lbE`(L4^2xnTi&A3O0!h~rxSV2RyAnrsoI_2See@7vtq?GB*H z4jCwE0a>v`Z9OHIjMebhw3KF`;l;Bzo?JPY;5*rV+cRQvNHN@JFKS@L&1S_R-K-)j z4AYSkmONf2A~bpo!8lj%Whi_x$T*tFhP{oy`zy%=v(jhn<|RBWYh}ONQ(05JxAS2R zu7?&CRI@)o9B%WrMJRUTe$4ZX6@ALWZxSC;np!ejO47$`Y!ZOWdm$U$JxNl5#cXS- zq`gLRsC4|o6BT#B%Z}Iu9~{7<4C-o$4#9!ove`SZM#6$*Dpy%gkujf-GSW0NWOYlk zT_(vu@Jtbvu%%|IEotzcg8kABJ zdy0U)Gz6w8Md>AnV~*5Fm_jgzsY&R95M<)ERdWbN9YIjTjX&pZ}pY8nK1W8?YW3Z(|KOD-C66j4;J$n30hsr-Zfqc@mRN z<0d8BT8y11v5AkSjiW5HgD3+NTR`b1572VK2&HII;73F`r2Cj72{w+{xsb3{CtA$( z=LKeiSr~JG>d!xEt4(e30DE2;?01bEOr&)JuTg1tzqN@qVv?B&RFVT5+JG{F4RufY zBT8vfA(J9LdLAVMxlPhZ9y1((z#RKo0k-;n=n;HOi(QQ8i?}wr3<6nE16k!sYphK$ z+GN&Az74cSf`vi?nX(49$r?ITz(rY$NtY<1mPDl_Da~Ob)-XQPFY@+Ic9@a0j@o~w z(c?P$L_*lbut?a9?Hf0_l7l5; zOw6juo|j=gr519YfIqSuY62bjkPm3lu^>6qL^{I$QJP~iK|G`R7F;y5etEe`n^6iK z6_J%bw}fTyC0(RSHo`UawPu&a3!xx<3ag_Gu^1OVF5pecu*o)BHI;dpx4=MhV<>Et zDJm_QlKe3F1+I$MxNLJg4-(o;k>!ZV4A7^p%@pTA!~E)nWOOKxG?If~=Z}DpWj9g2Z0<=8%me}C zpeal}y0EBZX{@+-sqBd2Q5-Tf-gzWeGO-GD9*IL;o4^i47#c&Xr@XS_`A8K>-(|35 z3CgMzK7wL1P`)4HX+kaZcC0w~5ebM-p{@1?{wx8zVKIZAXF|z)GujM*?Cw*uqM;d1 zAEog(;jKrPV_VkC)g-Fg;gb!lxi#g2%>FhPlQ8y0(^<&p`t!V?ABP2(`d`f}H4F}WlbtTZ7a zmiUT&gV!dpfIK+#wF)qM#OxW5B{v(#OD2sYA=$i;(zLHiF`u`+=mo0QC{lh-OpJ8Z z8X0+nvE?)s{M|+zY1vxflS*b1aBjk$t|e)*?ovXBCsf!tNzG&hBYC+LN~7Y-{Io$G zE3gzbr>R(x?Jl#~nUpt0zggwv6TIez(43$GBnJC|0|_-mF9PnxJ9dF0bBjk#%6bbu z|JrWWP_{i#kA)_ZqeKpOT9jAbrNxufCUaMI4=7;det}|eg)Q{aahV{(#jsh&h4MD* zV4H*SP7>Mb#Ldub^*`#sLs}|+oHrajBgl@1PloV=I3FDtl2DjRx{~CiFCR?cPmV+u ztXN2c$>ENqOan8UsP&6*bjre}rHyS@Q6cJ5gFLq$SP+0S2D zZQ-pFKD)b?4nEaDMphnaj%jat47#VwGMQ>6UmfQauLOkN^1&?N(F=*Y4l8kB z27JS5B3QcQEo*L8aJG|15zoExnDOvXAv!^kXFi}&#@{U=z4a1fFku~^GNILme9D9Z zSuxGwZCO5KV=cR<-!jx@3E_Rsgx_*A7iuf3>01?C>vi7A2^W_2323oY?t2CE=@#xG z)ojjmxAN$s3|K()@ipU zfab+c)Cv}_Q3iH5;bE0viVZHG=CTGRwEMylunEm&O(rIb<>#e+D48Exton<2PV-W& zt#oJ}v%NAC#nOl}P^52jC|s%Rbxvww;4GwlG%co_!g0-N);VK`D1GQPgnc8|?nir} z)FuzFypyEtlsS?ry`8*=!IJjg4WJh*#u^XR!e*EG-3a*17Ku-gU|hnh{C3gVg||u%W-%zBxb<5O>CdNZwfN5)|_YL zPVgZUsVU@HWWXfx>T8MwHfD>!@nrvlr)>VXyE5*qE|Syb(Fh%c5hV=@@+9=kHc59% zG_fpyt_e_VI*MnUpFOc|LLSM3VYb-@VnnXWsnX7Kw9h zSGX;#X0l%9H7U<1tF2a=-lwsoJ>2(DzL^Wz`Ds33X@Wzmyw=^x@>u4F_d$;8M%wl) z%;oc|>^+y!JfmEt-D#CPCQTRbLlC|OWybkKeUpu)XI{O7jh?lfWV(2zV|TsHIwLRx zUL4onLSG$X&ZM(orm8ek-ZQZ)DmHeLBUEoKCL8u7X1mP+CY7i+QT%AhWZDAPXtK6q zkLcru{3$WBE9Z}a{Ni;-PTo^M;O&XydDD2SJq}{hw%)pl&M-;^tX-aekaD4T!=`I# zfW0M=4Z0vLLX$H5*#w#O`Gwy3EjrvVbr?LwgtU{N^bA(KCOqL&8?phpa*4PT);4dY zLl2rV$7y!aY~!V*v0KKCaX@FAOnYVC(K)NP-bn)!oyey=SSsGElBknane|>y1AD$9 zyxugH$WA0#nQ#g@+;!O)p?b_(&kx2z=SIXh_-{$_l66i-xN04LwO7a=apKEKZios=&YVBrL^pGs?oVcJw;2VK zdb1{nrR(jZ${eBlOb(52u){j5d_CEaCP&Nf)g1ci6@jA{)XIiiSI%G*o=4?Q2% zHK}6nn3m|d?2xh?LEUTXTc`rry|<$$+8vH$Xi~)dU8KND)A?5ZIs)^2GNR^le5Ow6Eb1vPEi;qFTC(kDwV#9VU|>wj6&$JftR8RMw=E*vPkkJATbtyX#m%~ zyeQvcImIkU(le}?o{{06OLa1LY`kUa2@Yuo>r_@<^0@Q`jGpTH;kT$)f_Jg)1gGnzH-{5Z)2?lQJ>fOJ`PJi*)=2V2YUh>xRw82rC);D1&(+K&VT&Grl+=ica7(RS1AF0UQDrEV)Ty+rbJ^+br!oeo>yj| z_{%3q6U=vQ$amMRX`=5ajjyIpob%e#_$3p`huT3|h4z+8P8M+{$lD5(nBHXn<9w_t z95PG}Exg;cu>fR^<>ij-2{u1Uke2u-Y%$r%3PRhgHti^rFPTjtgC8W2`I6hw1WlfG zbes1HU9!`GtCPkRg zfS$>^^33xxXp-j?iSZi7`K8cViP5hK6s~rL`0--G{*L@ zgRP#NviXpc1U!!HFCa-N zt3JD?mvQGQCfQG;=bmS0RfmSMz`dNIsFyjD9NtXx#y~u*d`A#J9&Lj%cWUT+j_b^O ztl}~hW-uwR%3`A-V{1Y&-p1gyx!tg3Z6JZ6l@3iadY`_$(0q;`jc1%@szU?Q!j3;2bBmqF!IGJkcgTw6R zDZJr%?HwwUVZeUy6Ktliv637TpD_%F{gb>5)tO0doi{-oL+?*H?-Pf1o`zGv&O@SX z(d1b?8N-&6)E&|UMx{xYsd%E5CaN)Y@|6R*3zim`{GId?KJm-`N`}i{k_N6vhQNQe z6&Uq26rp&7Vov{h`bhl?3D|y<0nZoze)#-18(!AL?xN*f50-l6xwxk^7o3Ar=! z;cA2Wts)-QMnf;tL0^D zr3TM;O5gY%N$$`cBvqQZG7&?IU+ybE3%59Zp@@a&cYSHY#1dx{irc6pfAclx2)(p? zO+B91kv_@CGNq|(LfOu7Gg(|Ut9d=gUGwKYAAqW76GX{T_JwkvR6{3=NuUOZB&22j zYRLP(46a%}DFE#@%VwT?xDK0~a+PCHw1l>)Y4aqQ8 zSXH-%Srad?=#@T6)e=e4Cw(GGBf~hQ!J4ZNIfTB(y}FWCig7v&l%T(xBKNTkYcRJ< zos!Vtx9H1C>l>(S1ASp7efWb$s=jGWg!<3XO~ibYJKaZLgcKo5NnzHSdI~=1`EB&A z`tl;JYNHRYwytZGn`=oHt^6MU;S)9i{1+@}Wk{2YDgB?G*SfA%{xS!3iW+Jhh1bQJ z=JvKoEjK~_+sgN{Bx;S0)4lxk1~O-KSf0BTkFT|%ua#08eT50NzKz2#3U2wi)%1xh zkzJxKxtatXr$C5LP*w4OM5xVtl9YN%(u`C#RML0X#ra4mRU(!0I7;`ZswP_(HQmUK zGwn^yky>;5h`#!YEw$WFEw_#05v#3{$oVAsTC~=NL?RjC^k=Kz9BO%zMpPOlU9}a^ z1&ApgHxFhjM0So^$wybYn?^mXPVg7ulE66QMIQrdq7q4?RU*W8kRpu;CmbV-mKH6@ zi)YQwnmyP5JrjPNXM2P- z1@8vGVI2WwiP*6S*ATw4cZ6%fEBxJ-{(paE38y%E9qy%--v9j!Tk8LMYEVP?2>}o8 zb}@bz`P8=ayI2B$ch_x7Of47Ie0#-pU{AyS2ww$tT5ey%Z4BBK@Zetit|izKe$Q}A zZ7F*fx7ONUe$TYPma?xw>EJi}o_(GA4%fwXo7dp|slVCQ@jLkY)RIU{N%Q>RzqUR6 zYN=&>w?2=tZvA&VMjKLHrnQ!=AK5^jXnSCvYF|w`TiUcPxUx^QrS0`}s+E7ATGBi} zC>Q)@N7NG2R`bNE^;;5t0?Wz1W9u>fGk9{ktbWoixAZQd~@@ovMX5?g-i zGfi2%BPe5Q3!WX6ws+W9`vgtS!TV;$*t)0QAC$yV_`k~W9f3UgH*52`<$R}p_vCl@ z4n6+B(v#~AylKz_`mVP@8%x+U%gGXyw=Of&)kT5=>Fe&Ue9f7gHlX_ zdhC^L+w{oBUX7+qzXYbxPzx?|M7Ao*DVGcipxm9w=ig5`hH1z{(6zus67Ah zyUVvQ@AI{Jf4cvE_krf`;L=TzCNALp^Z@^}h4k77{FfU9Z}bDd4)_4@Gl35RKLz*@ z@Kb>g1HTyf2=JTM585*d{Cp^H|E?_~Y`^_`z|66HTGYsgMp@)+pO6lm^~C;U0O#1> z{zQR8Gb7o+v6(r*d2H-YA#iS!{fPljv5;QNfs-QnKNY|?@@XVe2Yh4TN#OLSkNuwx z;H238Pbcurd>V;#0jEEi?*DWH=Xqm)dVpU80_p`$>h1sZ0q4KlY=8QJ)1OxMe+Gcl zpP=`D27%L`BKLoWfYYBM_kV_gZ|BoUWCVB`@KNCOr_}wQG2lD+G!hvHPJe>l|Cs>3 zlTYcF%s_AHPow)kDZuGZn)^Sgz<2d&B$5U^9e6tM-GFBRp9MS$oc?sP|C0@T51&RN zIl%V>UI=_I;4$EP11|@j0lWhEKEUgM?+ZK$d_UkF!1o8<3H$)yUBG7p?*>kPYTN(m z0Uq^fB+?5!6L=r+Ea3gX=})`+KLfz$_%sq31U?t|5b%S64+Ez^b?*O+0H;4$@BfSf zKg6ez$QbZLfsX?}4EO|a`cvw`PgbD+M+7vI0(?I3RNzMfPXnF4EQ48<-iMpR{$>pUI*Mr(7c%hz68p50H;6I?*DWGU*=P? z|G<|6?*?8Bya#v;crWmyfcF6}0p1V16!-w}GT?*2R{$RZz7qH_@S}l`051nV3Vapt zG2q7l9|wLc@Co4bC+>rvg980OKA@2l;3oi21s(^U2D}1zI`B&18NjQ6M}b!Z&jwxt zJO_9Jcp>mw;4$Ebzi9|qn5d<6J9;G@7#0X_!&RN&*lPXj&y z{B+=vIf4G40XzlxnZQ$lcLGlXeira_;AaER0DcbeDDYnZ&jx-r#J4%X&xP`Zz|R97 z1Aad6a^PLSD}Y}Bybkz~l)0^R}qV&I*?F9F^K{8HfEz%K*d1H2n}FYwEO_W{2G zct7x80v`Z=CGbJuR{r`oz$bv;06a1`(Encn zPXYdG;HkiG1fB-G7kE1G-vG}5eiQI0@SA~W1HT1$4)EUsF9d!o@EGvhfR_Wm5aw3} z@IEMC2mE&6N#J(??*M)$@J`@&0q+8SH}G!Y_WdDFG2nj%UJiT+cm?pMf!6_l26z(q zv%oumKL@-M`18QKfWH8|8~BUBdw>rE?*;x6@IK%#1Mdg^3h)8ouL2(g{u=Nh;I9K8 z2L1-{5#S@hM}fZyd<^(oz{i2V4SWLlJHR9J0{wp%cna|MfTsd~A9xz@QQ+yoKLDNq z{6pYT;2#0c2L3nTIlw;#UI_dX;4$Ez0xt(X2D}3JXTa-#e-1ne{0rb6z`q3E3H&SI zUBJHv-VOX4;61>{f%gLcJMcc>-vaLk{tw^-z`p}N2>hSGhk$<%d>Hr-z(;^j03QYZ zFW_Uqe*``b{NKPQfd2=0BsAfIPf&!M*vR;J|B1n@FRgof#(3v2A&H%2lxWug~0QG$AISpF9%)# zyaM<_;B~-zKyQ=47eV1$aOM&+RUk1D%_;TO_ zz>9$o0*?V70)7ORD40tQ>ao}yhCxEvDj~pK8|61TFz)uFA3cLe&8t`?%(}AA?JOlVu zAfG7kQ=xn|@Y8_j06!ggA@DPR$AF&+yc~EZ@Cx8(0j~poHt;0ybAWdM{{`?);O7GG z0)8IwZs6ww?*ZNgychTd!25t-2)rNoMZgDuUkrQ@_$9!HfL{uH82DwtM}T(&9|e9n z@G;<503QebOW+g0uLK@BBGCVej0GotY~b4g&jFqWyb$>Iz+=F70A3D!N8lB}cLH7qd}rWE;JX0t0KO~m zPT=XlyMXToyc_r|;61>12i^;O58!>k_XOS#d@tYw!1o3|2s{J$5b%9~4+Gy9_z3X* zfR6&-ANUyX1AvbMpACEh_<_J93j+O*0#5;+2|N{e7VtFS2LVq9J_mRP@VUUFzz+tV z4SXK(9N^i&3xOX3JO=zw;N`#%16~3AaNu>oj{u$oJ|B1o@FRhD0?z^71w0pcH}D0( zdw}Nw?**O@ybpK*@P6P6fe!#*1bh&9A@CvKMZkxFF9tpWdwymgKN0u{@HN0kfj0mj1KtRH9C#D(3E<7ZBl&^;CxNE`KM8m$ z@D|`{z*~W*18)PK0lXb}6!==;*}zW*o&&rCcp>n0z+=Eq0bUOLRNxiBPXk^D{B+<+ z;Aa5u0DdO$PT-xuyMUhsyc_u0zzZ3W< z@VkJI0lypgIPiObPXNCccw}Lq|NX#Ifd3A7D)9S&rvbkocslS0fM)=I5O@^$?}29n z{{!$G-~+%5f&USB4ERI9%Yi=(yaMh6FUj!am6zKmj@D$)L0Z#?~GVnCuuK-U6{wnYc;I9FX0)HKNHt;uq=Kvo8UI_e6 z;4$ED0WSxBF6`q}0Dl|G*8zVAcoO)#z&n7y2fP#b`@p+^j{@%o{sHhF;2#3-1^yB6 zKHz@?-Vgj^-~+%v0X_))Q{Y3u$AAw5{|xvD@Xvvd0{;T|81OHFj|2Y-_yq8;fkz4h z{r?7d3h;5@slfjZJPr7_z|(>M19%4T^FZICz`uj?*}(q^JO}vqzzc!@06YeK0(d#_ ze*v!m{v+@@;Qt1m1pXi39l$Su{&oWY3Cec?|1a=v;6DTJ0Zw0Q<^S{op9Z`S_;ld? zz}Evl0DOJmgTOZcJ_NiQ`a2AK29zHGJ`?yT@D$)?+m;f_%6VEfbR;t7kE1GKH#08pZ&mhgYpBwX8|7s zzB}+C;Clcc2EHfo5#W0P9|gWQ@G;;Sz{i2_1AGGbzQ7}k1O49*cna|Sfu{mL0C*bk z*}&6*9|$}HcocXPcqZ^{;90nWo@Co2Wz#~fn{a*|`1^5!+slb;4PXoRTcslUqz%zgs1CIia z0nY}06!0A2CBO@TmjaIgF9Tig+J_dX>@NwXE zz$bv$1CJ~X^#4TQDZtkNPX*opJPmjw@O0o!z%zh11CIhv0?!7167U@0Ex-$bw*rp= zZv$Qqyd8K2@U_6}fS(LJ3A_V%2k>>kJAt19ybJiLz`KE;2D}IO>A-t|p8>oNIDW5e zKkzf5`~dJy;Df-=0zL%%Y~aJd&jCIH{1?DSfu9R}4ETA#$AO;@d;)kE@W`@2|1SWZ z0{lYYslYD+o(BA4;OW3G0iFT;Qs7bGmjTZP-VHnl_~pP0fnNbU2K<-6%Yk1ByaM=D z!0Uit4Lk|_8sHtkdw_QWzZQ5G@auqg1HT@45AYj+_X7VF@IK(b2Hp?+M&JX$dw~xE z{|)dV;5Pvu27WW}5#YA~9|itf;A6mV1wIb^HsBM$`+!H52l{_I@D$*808a&eC-5}j zcL7faemC$8;P(KJ0>2k{Ht>GnIlzAhyb$<(z+=Gg2VM^R0pJzD9|T?p{P)0&PT+q8-Ua+2;N8F<2Hpew5#YVR9|hhA{7=C9f&Ur!0PsQJgTVg+dWuAp9Y=+{2Ab>z@G)42K+hT>A;@{o&o#? z;8EZ&0?!6M3_J(;OTY_(zYIJE{1xEkz+VMk0sJ-Kb--T-o&^2|@DAW3z&nAz3A_vV zTfn=4zYV+x_&dORfxip95BPh)`+>g?d;s_;@Il}o03QPWA@E_~9|0c${x{&Gz&{2) z2K*D?Cd{^Luz|(;b0pAVyFz{KxM}Y4Rd=&T|z{h~^349#*Uce`S?+rXs66k*h z@D$+t08a(JFYq+r`vFe}zCZ8`;0FMY0-p^$8~B01bAU&I7Xr@&9s`~Qyd3yJz$<{y z0bU1uF7PDqgMoJdp9j1XcsB4Z;D-S327V~;9^i)o?*)E1@IK&20PhDrANT<9BY_VB z&jCIJJQw&d@CCp}fad`p1)dLl40r+Xao`JqPXJ#8JW?9y|7EZbm;$^I%BKP^0-gqZ zG4OQYOMqtpUkW@5d>Qa;;LCyM051k!2s{Qn2K*@C<-kjTR{$>sUI)AkcoO&u;2pqM z0`CNVH1ICq<-ogvuL9l!{21W9z>fvq2mCnT{lJe0J^=g#;Df;9z=wcW03QZk348>2 z74T8u)xgJq*8m>}o&Y`pycT$*EYSbez*B(N0Z#>94?GR{iNMo=uK}I`ya9L=cq8y^ z;7!1DfHwm#1fB#Q1AY?la^Nk%D}c8GuLIr&JPEuVcn9#cz&n9o1oo#3_{mVd8+Zrs z9^mVM_X0l!cpvanf%gMH4fp`?(}52HKLhv>@H2rA1MdVr0{krCqrlGwJ_h_8;N!r5 z0ek}ZxxgbU0{uS^cna|Ifu{oR0-gr^0^sSuF9ehW27U?f9N_Cfe+q$L z3gu(KuZHsFz%PUH6~McJ*8#sAcoO&(z&n8d5_l)@D}i?bzY2Ia@T-CM0KW!!FYq4V zeZa2;-VYrAe&PV|>!AD~@ausO0lxwGFz{ai9|8Vr;G@8A1U?457x*~v-vFNgelzgM z%0T~b0iFW z-wV6~ct7wu;J*W&1b!dz4&e6#?*#q;@GjsF0`CU?d*D65{{Xxf_yF)e;C}?(5BwqE z1Hc~!J_!5~;6uP41wIV?Pryfj{~7ow@Il~X!2be#9Qb3vCxAZ=JaTlP|4#r<0e%+P z$yDG^Lise{PXSK{{#W1`z=wcGfjhCHUj$wU zd>D8V_)EY$fWHj96Zk8@yMVt6yc_syzD@b`d^0e>I(IPg*66Tm+J9w`s>|3ly@z&`?>3jA-t(|~^r zJRSHaz%zh<3OovY40ty1&w%Fu{~UNB@GpSJfPV?R9QaqjD}a9uybky`z>~nofp-A^ zJMd26-vaLf{tw{Yz`q0D1N@)Bdx3usybt&f!25wu03QJUFW`f~e*``R{NKQbf&T~i z2=JePj{^TM@G;;&10M%Ye}3HmnE*Zwcw|+e|I>k|0ACMyD)9AzrvcvpcslSIz%zi) z1Re#R0z4b|hQM=xZv?y$_{P9vz&8P24t!JK6~H$GUI%=0;7Q=Az&n6%0lX9VmcYA! zZw0&?_}0LCfNul57x=co`+#o;ydQWP@B!f410Mw51$+qj4#0rvuLeo&h``cocX6@ND1y>wQ-D_hPX%5H zJPmji@O0qSz%zi?0FMGs0M7ww3A*8?vHej@M+;A?=_0dD}F1l|a| z19%hgPTZoX>{ z{l?dI+>6gff2N;3Kj&-yM)%K#<@!Uu=5J>CY*4P>;%h!J{aL?Uzs%R1vHYx8uAkv+ zj+{R0mg~p(dIn#2%JoBhJ(I7Ka(y3Pr|@-!T;IXh8}fBbu5aS&jrcl8uCL?kjrlq% z*H`fMCVZVP*BA2jrhJ_$*JtzfW_%ry>r?o8bG{z`FM&N<_&SxZN9FoNzTSebhvmA8 zueapuLAgGLueajsez`8;>#g~^SFRWH^)`InE!PY9dRxBkl*E{g_j(i=J>n-_uC%#UX>y7w&XTDCA>*;*G3tva%`o~|> z^{#w9{uB5ATfR=`>ruJ>oUeD|>tVV6kgsR)^`Kn8#n-#@b-!G{%-4JHb+24M!`FNA zb+=qU#@BoCb*EfE#MgWCbyBYH+{+{|{$(0^UY-zk6IUTWV-6 zT$a?dpt`06LqRdSAyf_yD6XNxBrGm1s@V-KZb=}RP4NQACLj!j;6f2DtD&vxvIG|t zVITpsRG6h;Het3Ihed1wT)_ADeMip1e|he`d3f-A&YU?jbGA8iM$+I)9FlwSE;uOn z;9YS*?!rI8ez^_rhJA7?-W}(^RQcl|&dJSq7S75|xC&?FM!W}3$qjf8C6C}*oRo+0T%3@H@WD7H58^{`i#&kCI4bw!c{n2X zVQ%W(klc%ZhJ$hsuEznn3m=O8avMGj`{Y*qbDW=0`Qr%A$<6q1oRyn!1J1~e_z0Ym z8}NLblBXLZw#z)~6xe6bRqjDua21n#_+=xSR8U6(h%BA>N9FU9gFR@=P z!gc|$^Oq;CGarZZU#R?X6zAk|{A-+*$8ZzQ$fNjpoRUZI2{OQ#m^_G2 z#x3#y<^tqK<$ioBj>vtu8HeOvd>RhQJ@|ASkh}12uwQP&zr{Ye6`z6gpR4?F3(m>S z_;)xfH{svojNFLN#3{J}FT_c?4llw9c@91c$K+~!Hg1ut@M0X5EAcrvBA4S<9FoiM zxi~17;`4AoF2?6$zg&bbz&?56kLC+;{xg+7j^UgzSB5QpS4{7)Q|OY!|UAQ$5YuwO31Y3!3Ht~IZ~`HxlpID>QY zIDQakjGx8{Y2&d!`{4h?+!}t-LkcaR}9Fqs}D%>Iu;74&(?#GYeh}?&VaY*jP zkK>@+gP*_wxeGsu{c;+q*IA_xW+t*^B<`Ev2U6=Cy(Q4I4h6gBAk&&@kTf$kKm1QQXa;e;DkJcH^nh| z5O0QC6h}cq^Qg>+se%AzS>42R@0 zyd4h8rTF_eAQ$5wV82|1x5qwt;%f5_IRBo?9|v$w9>+h#S$PbX!LF^7vtI3FBjnhu}_}(gZZa8zgp#wLpUdo;~Jcm$M77S zkw@`CI37dEyHU9xpNb=LA8y7W zxfh>?gK`f(9S7tt{2T0-+wgC(Pj1C$;Jl;q$1OM~H{;*otlWfuk27*3J`<rf`QsGM z$<6rhI4d{d0i2N=@jq}%Zoqfpq+EyZ#tC^2z6ZzTYJ4wlk*n}>9F;5aeK;bQ<3Svf z%kV#OP%g#yaDzoR!D$5YEV>_#vEyWL7e9`Jau0q22jnjNB=*Z~_$lm@ zTk*eeeoW<$vp6R=}Zo(rtBRAq_a7u2#&*G$9ho8dkR;TLdJ zuEa0mh+K|GaY!!1FX5nEieJV7xfs8K{c;h075n6gg!wg`e_iE|b2ulDZfe zBah-Ya7rG*Z{nmpjNifuc?iFaWAY$=2e-%r*uhb`AG{e~eRd1O5aj752+T_-pKwCoVTn;{0nWf9xwV z=j3rb4QJ&sT!b_7DBcLC58};mi#&j*=j3L*CC3z%W)YF$z^yu9F$A(_i;cj#y`M*xd?BM zee%R*<{fbU70&-79Kbnw9RCn!U+>dw05xEan;*i{ncfmoq2k(jlau@yy_RDQ}H|&#J@$NYPvdSL^aZYZ=vv5{! z!c{mUH{v~TN^Zb=;-p-M_reKz4&EEb4a84e_H8?Ae;W;=XkK%)HN*=+rI4KX~xi}#Y z;e&BZ9>j;>7I^@Naa8Wd^KeA&!*w_$_u`-7pxlG&aX{|Ehho3nh7ZF&xfTB$=SNlk zID&I>Gd>(=U z;*ea1e}RK?DLxhl?gK`f(9S7tt{2T0- z+wgC(Pj1C$;QR|Jf82s|ax?xN&dN>r_c$Xr;xlndZomt1Qm(^`a6+Dg&%!ae8lR0@ zxD|)wGJGx$%BA=`9FU9g`PeTP;R~=&p6E7Ti1Yte`QsSQ$>Vql z&dOuB4QJ$0+>TT72=2g1c^G%%ggk^V!ZCReUyNJi0elIL%KbQwBXS?^!XddAcjKVk zgD=GaxeG7Fez^@_hJA7?z8vSDSNY=v&dJUA3Y?Xja1YMNjrdBOk{j?u^9W#@A!NT!jCGeey(?`39VS zPUVl2I46(e8*x@1!+kg-kK#Y$lstlO!by1;-;5LT5WWS+aDzoR!D$5YEV>_#vEyWL7e9`Jau0q22jnjNB=*Z~_$lm@Tk*eeenjPuvp6R=} zZo(rtBRAq_a7u2#&*G$9ho8dkR;TLdJuEa0mh+K|GaY!!1FX5nE zieJV7xfs8K{c;h075n6gOU$p~{L?CboWnVJ9KVjU@)#b&8F>`Hfm8AbeiJ9V>yJc>8M zDR~5MjFa*(-UKJ)A-pM$$%A+^+#(O)={PF)<8R@J+=q*CNbbd(CO zk*n|w9F;5a_i#im$7MJqm*MSjP%g#a#{sz*{{Z{tBD_8J$rBfucfk24RsJ}DbMiR; zAhE07I^^A#8J5)?~EgIAFjk9xfkz( zgK`hv6$j)l{1fb#+wgAKC%59=asCOFKMvxY+>B@8tlWgFa7J##d*GDZfcL~nxeo7z z6Y?CqH;&2Gcpuy%SK)neRIbGP;fP$0t8qv!!~5f)T#66C0l65@#(ud7ABcVOM5p+B}E05thI3thZgK$b7!L>Lk597HwArIk$aZDb>hu{`@0Ecl@?#J_R zMDD|NI3)MtpW&d~gX?iX?!t#+zublo!#=qc{~YIsRsJ}Fb8<629B1Vw+<-H3BR&GB z>ST!w#vgK{Z876;^F{7dYY zi}0_oPoC&7ABXdgsr+#i=j3txYn+wGa1+kRqxg87l1K0fI4KX~6LCTw!YARFJcv)m zE%E^73uSIp?#HL%h}?&paY*jPr{SR7gHOi+xeNaW`{g$LTkMlt@fkS(sLCI=;GEoy ze}}Vj6aGEU$c^|+oRS;xLY$QA@FJX$=isw&Os>Xf;}*FJFUC>15}$)3ayf3rA-N2n zi-U40J`V@vVthXK%SHGC?2{+j%@^YQDwRKu;ha2wiAC6C|^oRo)g zCr-#i_#zyW2l2(YMIOMH;Hcb><2WMs;VvAKdvP}o%02i}9FV*4QtX%8@MYL1x8loj zex=GECvZ+~##i91+=P2@MsCDc;*{Kgufj>W4*vls`{ z8K>kCd=pN}!}w;LkcaRsI3^F`TXBm#fN#T5xgXz-BXS?^$04~F-+_a2555xz!N<{yWafO?Uujyc|d6N_-!V$mMtthvYK+PaKp>@%=a;7vl%8UoOIF?2{*!m{;KZLn?oq!8v&x zKZvvP7#_kIc@#f{Q}PIY7$@an{0L6SLwF^Q$%A+mZjlG@qc|$}?tzMI4dK@hA?-W%wl=luPl;I3O3}SFm3$!mnbVJP|X$ zhVu`q{BaKFp^&D)(a- zN8~;{jze-UUX6ot4}KR1lFRUaa8NGAU*dpVjK9Ku zxd?xaee%SG=1H7iq4LMRjm&^~ zGu$E%;ORIj_v3Hjh}?&ZaY*jPo8zF|gSWr|xeI?A`{g$L9qf}^aS6_+Cwcyl{WvE# z<1KMkZo;KFBRAsj;*{Kgx57!e4sVSU@*KPkj>*+{Tiha7;Tbq8SK{yCh+K}#a7Zr0 z+u@*GiocHoaxwk^_RB?hd+d`ZE->$a^AB+TAK?Jb$>aEkI4h6ga-5Mz@sDsy9>Enj zDG%cvaY7!#KgKb65buOr3?~j9WDLw!PxE3enVLTTn&`g5ZodU;4qHL{dgXZ$bGmDhvZ)TGaQtAa6Jyl zUHDM!m)r1R*eAE*pX2gc(7I^^k12S$@?#HL%h}?&p zaY*jPr{SR7gHOi+xeNaW`{g$LTkMlt@fkS3T;-2ja87QbMRR>CRgLLaf@7q7vrd0iO<0ixg59RkX(k(#X-3gpN9i-F+Lyrf>p7I^?) zf}?Ujj^l{jhr4h{?#10WDEHt?aX{|EOR-;W!9LmB(-&&d8(q&p0KI;G1w#9>zE0ggk_A z!7+Id--=u00el;d%Ki9u9FhBQKMu*g_zoPDd+?n&Aa~)vV87gk|B8KbEB+hK-=*@$ zDV&p=@!xS)Zo&gNBRArI;FR2e@4`vB4&RLv@*I2*j>*;dUfd#A;pI3gSK|9{L@vjJ zI3$6j(G*n|3l@EGdL%Y;|Fn89>YU8Bah;Ta7rG* z596dfj32=Xc?hq>F?kTL!Y%RueiTRLe*74Y$bEPihvZ)TI1b7^_z4`4yYQ3PFSp^R zuupEq|HAnJl|RnnoZO6`##y-ukKl~lh@ZhJxdA_mlX4w?4kzR}_<0t zcnoLcQTzr@$s_npoRo+0TR0&P;kR*29>nk97I^?WI4bvJ7f0kiJdQ(hFJ6sAVmd4-6Zl1DJF4snz6Fy@sZZbBZyyehvtu7>DFuyg3faJ$MTokh}1=v0rY(-@!h)6_?=rUse8?S9`cQxf%0H z4>v0}VP56oX5>c9D?Hqk+<>YVT#k9=h8vR0Ft6HhgK{b66&r3qF2=lC!}ZHWm{)4JK6&CSGq2Kc^M6tKV_u=* z=HzkAt25lJJcfB?hMSQ`F|W#SQ}PJr6&Y?)9>%;H!%fITm{(%BF?kU4Dh#(p9>6nk zRPM(+%wPPi>{73NhFZd9(sykf$Q z$mN(ysxInRzvYo4-Tlk9j48o0G>e zuYz#1@)+h75N<{u#k~5#P01seS3bB&c^LDm2R9)PVP5gz#^gcFs~y}Hc>srTRPM*~ za76CIbvPvV;-BH5+=J_JK<>haV!zym55qpW75^OP`&Is!S2DOcxf$~+1~)4=VP3)D zX5>c9s~6mq+<{Ft1Kqg~%d@7E} zeYhEiI zpj?X2!vVP%pO5`=5xxNXx8aODiraBY9>EMUz&W`YUxBl76Yjwoxe;H9Q*r~o3Mb_{{0E$nD-WLTJBi;H)W4deYL2W~P&0pC z{F4RouU6zY4*QM>FM0Q98;_k3?%sIEnHDP?@2Ch{z^u%wjVstHysEZhIt$LBxyi|J zXQrfsAMgvuR}CIzf74%CD$amwtKtu>m=tN>y3aYx?t2RXn~cA20q@z3>{P(h z1e|VnvMYYPN!T{oWH|w=Un}f^pFj+E&;GLo&dQ|suqe(ApWC`_@8C`d@8KQoqLac) z9_IM@4!iFczpOd7=9e|UsyXfJr^8Fn*}{3+ zCUxrL@7r0}VLKby;4D0NM$3u6J@d@dcU$S(JsgirTNV1&@xMLE=k8<$<$O3cIm!3f zeJj3g|8uHdnVg)pW<}^MTRzEpcFUDceg@Kx`GfbS`_jue;`ct|h-bfQ0dr@)$G75r z&Wq10Y|O$2&$JLP`>wPP2iV~`kH5;=^D3qfE?T?pY+L6HUAVFG!!~oCe^*Id&T_Av zrL(o&P}+XZBH%t-X$dvh-IjB{-FUXozQ}@o_1!-?+x{*(Yt<%a+FuT3)|%BDhuc?9 z3!k=fX1IO%ZNIAX`4+u@U*N2Re1lYk6-f*EC;xM{vVu?N7ainV;kUKU-6M7Y@lAeg z30ZYmw3W*jhQsk!?F_>056yITw5lF%x0xT?>ooTI#-W|>m2~j6^?BU~R5*+51~$BO zVTGR!;^>;+wd*vY()%lIZi+@lbe|z!>fBX@*^XtjU_OGUubn<&> z^V*-7ob^)83ZK=TdOMcTinlHOnw6VcB74nWZ8>?yv&!Z$%V++F<*j$M<=Xhy_3_V~ zX;d%TLZ2m86FbmX(!tMY#$Tw9zi#WTqQxH#f0hlmJJZ@fpLW3y!^dZ9V&`r1^|6b# zX?KcNyk|QjXy;Y)raeEmbMnGYG9(m^zvJ9`$;LhszRZ#fch9ew-o3D5V=Bk{c8cwv zPcGcU^86?})ywQ?W<54*B)z%Cbojj{&VPfz{VmYl*6Q!9_uPxVnw(s^XmZ|COOoVn zu;k*8bY}SVM_)oUuoN zHJGV5#OHOw3+Q?;v9q9qjc__F96hxVWx)dKH;Gy4w%MGEbz;t_^)>bJ@$~e7WmfzV z)xeO|e2W-lgIO=lo%QD2S!+ltK)~EtleV}ki}u%F_)Gh?-L323XLtcqJ^i0;O2u;W z2kjZFy<49B!DPiF0XuMh_`~O1q?L=_a9**A8*9FM(){>M(nCAfEZl97OF;VfMw-d6 z&4t==>p1xtR_kw_Bkf5L74SRGU=%lLel=%Sa-=GZ)2;;%isLa z^0IsOJ`UF!XWx&k6%=wt=}lUaYxfYg{>w|<`T09+KIt4{f7NF@v$Zt){dcU#_%O@b z&zyNS?aSJu2lujLN?%ZZh|jrsg%=hb+;TenJF8hQh2ukZPA7cG4rebQ{00km&ivTg z^LF9xNHG0(;$^Jgo@O!j;L!IbcKkKxuxISA^))ZJ?^@zkdsG#vMatcOTSIpyY_3pU zxcewvUEp;0KKQa|ef&yiODk;mCIVMk;H(j=qIM4Z|I2#l+KQQOm#wjsXIha=y5|!u zxn8ubyl6r9c-CCB-kOQ0l)$d;Jl33UYwTL$9srIrP)*$3(BWFO%Kf2X1&wfR**e=; zHJ&Q*4GP+tl5?t+1Eu_H%7ZJjbCfN)KP0=)e{XWqcBg8}Zwgu8>8Izu)0XR()>gEH zm)2KAY-{RYln(xA=UX@0Md)+82=S$%_4a06z`Xdu*4x=;w&0%^-;`?5YM&Y+Nq$0v zb&+s)eML+B*ou9vR@TN(s5qee*or;t@ z`u%bxm!4_`>_z&(J`iYCF7u{U$`5IRs;c+BZ#DCl!KW=C-B`!SaFz3^B|#;du9|)r z8E5^*4BNP!ji0ARFR|@tKd#+odF8YN)z|7&3w6rk9%XTzMv}5X>&59C-*b2Q(#8@# z8xV2!rw`d$>wR9S?>^lwlAE7iF~fQ`%lakfd6j?drX?MGNm$8~(yYwtl9C;K;bq~C zD0VwmEBll$;AQI8Ua}<}X$>P5R|=)xf~mrWyXk<~6cI4kd6 zt?)15_h7@vKdQPB-tWPZr8x_*Q9&@g^P}2Ve8_s<&GyTe9Gs7TL>CpdfzwXm_*3DH z7Fv~w*H_Gl&#&-1FI(wa&iScCGxi%Q>ExGRI$tX3{EoGX@J3cyiMyB$ErxY0kCk+M zoAb09w0PE}vxOb$y!gYa@H15m$5sU9&dSUhu_kU={N6@Rhh7!SVVeD85< zEq}92w$;zs>hyi;Z|v-xr@Rr%3JZ0HEZW-4b+4XK{F{ltm-U#|h26+V<^l`X`08`3 z_50R#TlKHEHtDao%$T99NA`KPWtu5Q2t%ozG zUE9robKRd+iAZU>bHlByDb%`-0gLDLS@&9#tUunFYeU-0=)Y}4>JFcWQ^u5An2M5A zm2;%G*tyWQ^J-?Nt_`PK9hs_$dOM0WUQR~s%g)Ey%|0=Z4%q2i%dp(L=5<}4maQh4 z*>RI|>9A$Wsb5%EG-B6Ono6tP_37}b#uwDbzb5eJB&YQ`sjGrbcMr0&Ngqzq-Lrq{ zrOWSInr4yio}{~_rK@9^%HZ^7w!!KrYb{S^TFerQSsQ=dIoTRJSD;}l9Jk5Z8qMl< zD*-hkcUZS=c9}|_to=oT?(T(1^;CpgO!MMj)y%Jn zKWk&JCy%g^VYp;x>u>pAfd2)ZSM6FbYYlaAmGk=-*OuhI&fV50cxCrb>m^i3{!Oh` z$5+t@-g~Wg{QN2&1-a8(UKY*-l{b(p=T+>hn#31fV?VW8!#Ci=R)c2RGT$bi*L|TC z^|2LxKI&`Q;*~7Z+^rt_jihSVwO8rPl z$1ez+W*ZVXuMk*jX{JjGfqNDL%Lx2_A#jI6;0^@tUI;8M1oB8Hoh$6<)0>oI9Yw^< z76NmHKpqyQs|%YyUI^p~mYwdiuhKt^r#GLeHvOcH2`n^iq3K6w5mb}5sxj%@#bAM7 zQ7qXZX8GwGJl6W_bdx2zV&bwHmX_CXz46J+Wt4Mq}J~KH?FWsGwG!4^BGee#L0FLbfeB4_gKz%FYqm$ zUsM$49`+}eie;ub6fS(h?FZ)w%> zh!?1i6X`E5;->W-=b$^;f!*ZBC*YpO^;cJTw!>%bHqr;qZm)5%ezT{&&m7EP7r#mCuz3=zRqPOe@EnFMVuQy=jx@cFE zeYs}OO#4*MwxdU1wvOiUw}mC7-tn7iRNz$;W(QVoT;vY8S`a(k2Qqb zv%(8=wl%t6DsAiU85i3H$fk_E!E(SBY&>Iqfi2jO&`Q-70xaxn3p3r*$kp!I$BcS8 zvdrqAGyhFXvW>x*oeMpsE=gYJqx!D5cd?Ql(=DYtFwiNwn-oB|>3&Y)wuYY3U0nb@ zqWfwA^n~uyItHr$DeHH0PrhM?af{AuKJ8=nT`yYWd&ahyYJ5&VQS1W2DO}Ck^_!-1 zDQi#k)-Go44cgXOXyNm^51F1GG~1TP+B&=03)nd77+Yl*wn6({2CvaM+u8>cyi<3} z3db@tz3=+Rxg)#z+On(W$a(SSxe|X`Gv7JRMzs{84KzyX<2i5U)td*gUAiwY|MQ{U zU)xp8A=6*8E8;iedDr*#rbCXl7RDTJg1>gN5)9kz%qijS`zvl!NJqsb);fu?OrBp6 zrXe3qNKzphzSdSm33=2)>TNnZ#y0jhQP?)CaBIeF+d|B|w$-?%qk=&(YwTXDqr#_a zx9!ii-EfZFV$I5w?A%e2vQ_-e6#i!IF9Yzsy05BOPFme}Rix~%^MHMDaB9-#-OX5G zBM5GeH}10nwpMq)JtMPy&ai#bGk>K)g2k~L(V7Rgv1Fa*`z9xAEj^-GQmd=gFLWQY zar@`rFX^ba(Du)_De2%BBHJgde=AeS_6s*@|9p!@XV0};y-wbKQ`7#iZrygV{;+1h zhf9|76BD)Zw>gNDtv=X|B$usSZ=lHR&>nI=yq80?0n;ky7VAyoL*1Jk`22J`%tdXs zqeYwBVP|ZoRvG@x(OA$W97(70ulwBT-FrA+TSIRDe5;ZU=C-x+bZblP=WhJnlFlYu zN-wLjw!)8@PR-X@J-X3$V%?$hcbfvJjgRj<)Hzae*+RPt4{mMekq+4Z!b|V32-sFT z4~35(sbAVU%`Tn%wG%pCEQ_wt8YFjVcEX$w6Jn} z)j=C?Whd;!Z}T#}v)i_@ytb2CW1YBrxiQiH`F9r`Q7AdvfEq@t|Dha^;SSME4R(^eckxZ(zwFXNdMM5?WLBAd#>$x zs=lOqycG*s(WDhIOU0LN^}>%Oyl!2%v;S3`q#cLG0C!uTSlfMP1-G``-gSOo)#1E~ zu+ug~#8po9qiP)XV4|dhpA}x!q5NPcoKI+KfkA|C_4f+b+nV;TEIv1j?OuGFYqLR! zbKT!;=EMsrSvt$c$kwvSUT^JFb{P%ZObZ7%-HBPtkFR1R%h%VOUteb}S9xZAur&;O z%0c5Td&Ocs)R|d)Dfb&6IK6f!zT$p6`}@9S>2gD27sly!EwH}t`HycYxhC^{Uq@!q z!8QrBsHrCY%IdpRuP*ZPYgbFnE&FQixFNjsDzzK;uXdqeTxWZjX%)kI1=qD~UGd1& zp4Ly@hM0EdOb##R!~(M(vzt{qmNm{VR(khdZIr!T|3=nc;hfaVR;N$$=CO3p>rUgF zhi}8U|7GW!SZNl{diD|QV8$NQ#>jMQO+T}p*m+o${GV!|`qz2g2M*q99k#}n^V(NV zcgCzQtKaYAMQ;t>J{3-8JWjAp>3nSWJvvv%wIv4eTRuieM@87OV(rt*lFk~day-Gb z(Av1O!Kk^`9>G0De%e*Qa(Z29m2@8F=xh-6h!eKkUmI-F$IrG!Yx25PeZ<+pp7K%Mcw0|x{3EMi zw(Z>br_Md2R`ud5J2U6}jf%bSceZqMm^sOseYq$gz4$UwxLSS zqP1GIZ+0GqGCrBDs;MCVeQtK}aZF2MANCa3Q+wKjZQizuU#NeaTz4T?b!yg2kllK& z`G_@!4J-EhPTNCX#lGFvx#gCS?cn);@f_Hm&J-H%H;>nOV7bMc>J{CKwUw7qf3!{0 zIrXBdw^zPs$sTMGYP)y*=Tnv}V}G97+d(>3IhfP)8J)7iy#fV!%>>13*Y9QC@kSYX z97A0wJfK-@5o#?3um5|gq+>hf%)*KQHTX4~6e1a34BCBZ#S69@Zn#=(9U~kDSI)Wi zQF-F*%C77_tHrl)AJ!MTb!WA;0&im2YT1L%vG;pP@`cmz@g3^=8K`+_7xsIv-5!wU z3tw18wTV8>%M54=?H$hGb^bxLG9AtPCE6LpOkQi{Y?keZpZ1C-n5wt zHQ47V44V`={#hb^K(=;TGR{GoA$-UA<3Fd$XO*+N_01{_OJ}NvFuB74MV%#uv);<) zfCjgm>I1#$nVapBz?P3rZD|uH8Etug#S0duDYQij@CNi#m;3JN%s6kRH8!fZXZ>kQ z-uAe!bA^rnrjCN|bB8UfNy|#%f+wtTr1nz7ZRPP<_w3UM%I>Y8lNB`AS8|W_c!`%yP%GuWQi)@zIn~&T2Z||)2Iqq`17uZO{*7J*kw*Fz(2fXzeZ~aWI zPkQTbV*MUkZ`Y^xC)bXToF0qqo@g~**C$Kr9HMe_$na_*Yj0kotcbEA;&p4s67J|B zgx9Yeq?PMB;Qfj4zIs@@P&>Q+$&#@8Q@et{g<(?XGE2aHtPm;eoP3|Ia5TmHt;*11 zULnRzZ~wVr?mey5q?daK@o(y$&Hq@q^SBLhrmnnGmB77BNzcC3BBVnU>;Et~be4K4 zT|i1pEG2iowybA*dSOM_o_^76_qoT`Y-jy&y|pTC<1CP|#|MApIMz02W_!Qi&hali ztlevkzLE|e581(P$FcamDz>fd)%~s)z7gTxE%{U*H+34$2hUi%q0b6Cu|%GK%p#Ks z&a<}40v@pd=g|R+#yo8g@u2g@Ke0g zpF#Ms7Cv~2RebkIy9jwpyRKa-TD$auvPq3*;jWg@Gq%(8J6?nNmyIvnev2@8GzrC6 zin7FHl#*QiBm)I?1J>TG7VYbFJ#Gh7xLom(1G)iqGu^Y#CheSekY`%jw!0Gun&EW= z{Jy38I>)`kRBz>c-@3iQz!aHgAT8%D4fgFaq{^ZXFLWO6BLsFZt3F9PZkl(EZS^i&nX~d$-E&$I!hO;2=GEVn&4`%=`$Z=|6)wSmADYo~v&u)T!sCM{#3 z{Byp=CDbyCyGu*Eqatg6OF9^q6U^4e{UE0vEQC`PEc}PY^c8kg-YoH@O`6b|m8t9A z%BHI9bJ*eb%ygS94la66RX4n9E|+23(fici`hR-OjTd6ByK!JVXzBW#rPq@Olg{1C z>=?OIa_-QQ&1u%h1MUMK6Kt0~j;VY0#gACQ9qScvyImdKacg!Keg@$Od*P>X)wIDH zCCH|J`^&JWd-gnw6<+cfE1a8o+;^t8^(?l&O_kA}<4tvHPB}aH^ds%yJ49Jbl=s$; zGHH+B+z~Iz>W3}Le{CktOT_uB7iSf5n6TX7!gimftm}h5e#oZ8MoKz)Lrprk zk1qW0*hda*IGMK+rq^Cf>DfW$A0c_~lTk}75o+J(7RR@6jb+b3lVj8(`(*0}&X?WXso7`zN-p`Gl9=6K2UyZkVMssc zRgthA-aJ0G_=Q~*3&$Dx=HJP?bo}f7ICh{W{w%P_(=9xub7&b@CKo? z9;1^^_bJu~4^Fpt{aI~0DPh~ZZc1mA44-)z<@(h<`*90(p0WaTYbULryVr`sLhrWF zdM0}c!~MTlWJ=iTni`{wqm8tO|?HVP3vi~f7W_ETi8tN zY`WTJ6RMo%#g+l_jhLUN+SAVHTgjj6y_qlXvr@V-uVI%wsv^ly;f94zQt9b9fx8p} zd83n_juW^|A&}Qt>FGFu(+YvSyGu{U34FKH>(6;%nVyal`0qj>pBvKCaRP@5fxMbd zPsa)TOCgX?9;A7MN8mCGWCqXX7cH~WJgg>oNg?i)#O2{Nfu|P&GZtvoV$llfk3Dd) zDTZ`erS(29Ij7nkx3!JIGp$fmM$S%F`?<>e&2B&KY3+>o3+qigdG*@vAuPK~I+t3( zTUu80sCHXa*aw0Z7R9IOW1!6E-EwIBKwH21Pw8gco9g?AX~rZLX#0N8Mi}mewymC8 z+o!DTnIY|S6Ppv8D#6)0bnZqtW#*ddlb)(8RUa&oWbSl zHd@J1r zv)((xJ{)Ra{V1h}-RlTTVZ*0e7CtLuL&2YtM~tABk!OYF(uSe3|$wc%?YE_g#$Z^N~p7xzZZQ-RT` zh49qE;;9Ay)WQsJ!F#efwfs2?_HXShBnv@8oP_;~L=6uh?9o;GMnOF9mdI$d`p_qSoSkfr(K3=) zOn)-I`!zc)^%CHS@3IZ2#+sje$Kox$%ZqPEKHV~vxgEcbYPBWH`IMimiOb86uye60 zpzjYb+~@Q4)QJ#v!YgHH`{QhEFv@~^fgMZD17v{vunmNCy>JI@Y3g~{lF8Stn=R?s z$a=U7_N!TX@%G#pf4))4#aCG@=cYS2CYyq_#BAjbw$emvb{E=u>-4?;yk^PdtCr4% z$JxTmBzV~ZTWz1ha*C|XESEdynkg6WP;~}t58qD3dPZmm>K*W56E@*Zk=Q==b9kKvxiH}+TYR@SZMB`n zvP}5@>?tm#wZCUSG)0yqILOC8w~&`CWL*Y_-Fqz1PU{pM*X_i(Puo}*h1fvG%|oBju7d6x;NzR^J3abF&%9&2MiF#}ZN=2{ zslo@i2EVhmt=(uBO!qpQRHc8N>QZaBu+q8J(&7TeD39)P)oE0;!lzX`p0ZxoaxkJC zJlS@!wl`F-P`Es)LoZ~!#on-6w*d8{?!T?NZ@BroO_V|*wGB5{b9FwvgC23xIp@%| zqlQk-*m}A5|IXdHcdhgibl&J)Z%_YA&*awHA;lI?JJG(HVTr{S7oAzs`M#DmvP;gJ zI^T{8#tgc;K4SrcuiEHh?O^3G_T=4icfPeo$MY+W$8J}+cHc+jK}I(EP+sBiYVBry zDp%HK$p3bj*B6@93~N%S+hwiZo`+LqrxMZa_ceAy#q>pxwl#qCotRu)ZF)y z4NjaNoM+#`E^J8&&#=uFewXXa9&uf7XrH&yOIYh=S6A7tYVE5zrw|bJmHfe*lb)KJ z<}*7T$JyOnhh6!PvcGF5dhOvjw8INo&RH7AR?KI39V8>|-(2o?ceE&jU)X`I&CK(z zwS6;K`@K~Gdw!_N??uI{HaX~TUOzQhwCj4&51op>-#4QBr=o9R(QQyi#R*vCsWI8O z^-5IrCk|5|uI|B(iaqacNe#|gx0$*fJAuU@x#|9YFh zrM+tNOW6DZ+nik_2$hHF*Y;LPbZ^tt(JZ`$TF z4!ipoHh=Y+^PtV|#PkB65KsKY zzV@+n!8Dr$h(DTsVL!Wb(U9i;d-d%ZuT{GHTJv?{w^~10!9%{+&fw%~E9?ofRquUh zfm8K)s<&C&WVz$lEf^t|*LI$^puxHQ^?JV-?J3n1)=wZr^#5sV_s=}rvexIf=C}=Q ziqYWUIIU)rm}SVkgzy_b4(!WRi&X@jjn{`UJ<@Z}x`SVv4Qo&Tzn-r`(TmPUOe&6!{>PUWV zM^bNjVzauRIdvV}&U}zbZ)Z8Uba9c@-jbcY&m;4fp&WmCZsTkpCTs0J$YA-o<{|rb zCa-E+>9ZboDtMGRZoVhM?~zUgudKBz27`G$?z!h;ONUnFeObwJAa7@@=CupscKQIm zf~2P|R~4Qe&7N_G-C5d4D2}v`P}oX7LUFaVFFsQ7d;T6#(!uZWl%yX`$L(CKYTs}3 zUXzZ)?ZMJJy?xlnaRMBD_xZlTPpn>gv&QX@On0u}LE?U^7ujTjeX*(ILmiRLCR?`u zsh{hY<@p~i-3{{mQcHWP3U8428&-Mueea3W0!v79gmxX|?pT*Vt5aT@&Vm0^Y8ngt zH+AY7OV)9?p|?v3*JSSF-Jj;|n*5$6U+C!fxzZw7yH(%T`Gi-whi})R*v{=(h+H_9 zLPd85{z0mR%hlRlyF1z*2k%{%_Delp+V-gv>k}9qT7La@{j`bvjkJ#>Z7cs78|=V4 zNjuKzQ#tD1`yn4l@EV<$M{KcSZn!=FZKM!Q`@f0JH_e}mHn6VUd1?K~*4=l6Wk&ieWq%>(+bjY157vh6 zJCb#C*I#!M>&~%tOg8D_(LKA)jwQX5#VYjDbBMD*ac1vk>!x;}_SxX1u#fH6Kge}w zcg1_8e4U1ih3YUht7SFu^_y%*M|(BUz8YRg>Y2aVHa6<|*`4cUn0ts)n*CSX#2X!1 zpMRU}fBhcFS!SEMKd_kh&E-r_T>nhZW8LM}hVE-%-Td{}@%xtUnY6DTU&{f{K4fY) zY9yCvKT`#{2a%V*t9Uz1#p4nb`R3t#iWL+`F{Xrv~hXvnF;x z#gU8bd+Lj)>o{}}VS5a8w59Gm#67(Ae!x!avf%d05Dv(`&y4JNE9Qnd)0^$+`BEz% zrnDa>vFm@IeH+I+=xNTiR%6_w8CV?GT4*JOCNkC2Zr1JXOFixIrRr&~Tc4JD;Sj`UGpW1FOgPhy!dOuh-)!j3Od;T2n zqgUi;N#~W{_e%Fn`^z;cOSaillie8tKYj{BxJ|aWak|Z&c%S_kE5sipz74F8wt@Ah z+u43?_Ur$Ub}n#MPwW4m>B6YkgD@oKFc?2MrbFjUw3(?%yUxU@kRuE_8HB+MAxvg( z8q-wB(V;`k&?yD8n=lUsz6OY3W-j!UJ`|NVK^ckewDe*gdL^`95*b$Qma zp7pF}J?mM|x_rxaSwpu8L(LIdk+l#aI|tA@e^`syRsnk`faL{~@a1WGn+oCX594WW z!;<Yu@w7v~ARb<&(+z$z(_dmjPz8 zuHgCO1+mrl<#<~E$($h$RfA}(!c70wOrv8EE{&Cc?c?jJQ^81lFGX=UC<;_b2=x)S zoQ#(=1gLw7LZ9j-_IqM($z>1)E2jfNrx|_UaoY@^^F4lBA^tg0;a0P>nD5Ahp6bvU zv_tOWNVCyk^)Dpe(FMcmMzN{l3}cMG~_ECDUaA2t1=O@W6PxP4bf zCLgC_+@=4>eX45grqklcoSow>HAlu8zHjYBprB!4{n{Vvw)QHCOk2|L*vOpH?8vl* zvHAtsB{}cZd=zit*!K6a#-UtinpaS52qzVc0!eoN4Q~ik zOfzBc$yy}0{x#$Stzf;b28dPvMs!hzK`F|nc`-^UwC6XoRT=hmVu7sr)I4uL1+zAg4(T#_X3eh z#n+})N~OE{a_MwJQq-diBH9Cl;ejz7P^xr$fX{$Z)N}aEeTcbgi8`-T0l75X3-Hi} zK*z(>7dqFK$1gu6{FI(fKuUw3jr~wivSv%+FKd*)n&S9FVCVId*g# zKK8uAdSq`V96!7#eu3RDH74|tgu?-J(f`1H7w2o*y=Px_*flhw+(Vyo6sj$4;sG;c4AoK&MJMAL~2!_MslErql}Qx$^`*CJO^;rJHtOHftNEZ1i@8U!*sjkw{tRO>Fr1-9ZprL84Vj*5fz8mruT$->b z#mQqxizL>88M}>{M{UFS)I+9=v%#sBG<7TN`>35ciA=sUtiw1o&4!+aiK+@2+B~9R#3N{T z>||!6DXXopfgO|wkU@ac(ur!!8 zJ6}K#rh)EBhi*%UZXpE!I6cmT6ka&pv&^Qvelrq&PX3rCG9Ac7&#E2UIHI7EermZB zYAT{yiMV<98G(E&2}#(u1=FgEXx1S=-Uu=V{6r%4Ej)+ILW!xdj%chYZgtqxdmPvgW|26ibZMu8 zqN2e~Wd$9UX8pGM&zCG=;jCJ87>QO|NgB}tu)Qqm4rJ###m4afB^RCBhSL9z6O;X7 zK$;Cg?NlH}A@&2SFz~n;G$(8UYU*8*%x2u+>dDYLp%wE%tEW%+MLMf^s$#SI3+s)( zL?TUNM4Me&*zA^LKbc*=*nKz3*NvTW?Ma3RI$h*sSV{p+F()r?8nH)bp1+87OYP|<}_3f!b>o*+X$cBHm!UFQ_RBbzRPcX zrQT)3!?F&+GeV((5d3|W2xAX(gByh%5EN`@G5(~P3bwI%7fYWM6KdZHA#W!?*Z_`{ zMCdWPk$So>%HiGP+wsD&LXu!5KV&h<$hm0- z_zw|&{NLm!*Vu^ay*^Wqtm`ucw&s1+wmFld!79OW-7b}msyQt)A`X6cif*ScOkB=@Gq1vu{52=`k45zNplwk~e=hlfAQA99$@xl&9^IrLxz7+?MgaQ#cYUaAw zh5iklT%B6%=xpfh>pxe>IHP~DqOZ}E|?IL&0;Eb|;9RVELIEWpEaDjnP%9>#*oY_(En+&O5 z{D0a}xbrp73?Y#^RX=OEU4juUzDYYtp62;#YEE=}wsAL{ty1TQ)uJ*EJJ**Q0JV}c z*!p#{39bm`7vb!CD4A0JwoXc{sM*gTlX`<(U@wGV+l?aMN-ip=z#b0?oDqV_+)7aw ziJwob?FNZ^kU87N6&Y^i)jpz{T@PGoQi-2b`b3lPIX8uJHMsF=+*;mbcC&G9h#6WB z2-$SXv(RXeaD`DhM=u;oT)qji^=Gf${)GVhq-xn;C-@pa23>e->QI(-fnGO8mmD-1 zT@rX5a{y*h@CR1>raAPwWo7SG+R3eI*Se+QqFs{UuD!~WW37uahsf*QxozuKLV%5$ zAoh+(4L1!kbyy7^;!q%dF=JOU+7Z#eEfL?>Yaqq!t=PBxuDh0KorK{qN(JO#TwzcgqREZSj!DlN3 zg^dfd(tB0Ws0yt-4tcWopwiIK7S&lDZrtov#f7I!+C`} zK|UR9RB4{nbbAe9Ce(OKpmuN{Xn%165?Uw=VwC9wZ1M0xE=K1T>YeFH^Nnn85;6(S@wq!IGOOOAQFdp)VhprMT< zJ|OLvs94|M2I#46DWLMNCQ^B2`^wke4vI8m&xQ&B7YlItvF#Z9EP%oB%1_l_^Js9U z2ndzByQL{L1J?`(NgYUdAUQeCv+WwnH#abm+itux{2$P^!O4apI$Sl*&XDGYw4-au z@-|d*_Do}8Q!ty<=A$w^8>5AkSyp1$RqJ5bC+JT#ulnz7UI$l`q_M88oECcJ*DSoh zU8$j(vGC41gL3GFk?k$Kn@dbc5?Mm4Y+8NmEgG!aABBAo=_cIfDabJ~`0;f}9(kVL zVltb2z~gD2{Yl-u2B=^rPUPnJnQ6!N0U4lJIcqHqlHeo(9hhnSh1f%C{79+9#6hzC zKS%in=L47SV9&R45V1qjpOr*M&O~0_S4bIS;A)nyv}o?lbj=2Hv+I)uPfS&6+G$x+ zsUg%Dy&Wihv!S!^?M9%23W#X_B;%mB{TnIl>ptU5U-6}p#1#sR%f2j=xK8R#Pc$ z)rayZ%{2f)U_|Igdh}g|es2*)zUUx-0}V*l`TW+&{|Qn_P4_9i#i!q+^p`Ci z?@@B3PfaNGKOXvWK^JPv=Q2_$UP*#GpA}AUhle;>3ByP*vzVspFSsg&lp;q8N0x9L zAsn)vJ(TV8i97lW23V1Dd9nNv!sPAJ6OGaJH&MgJNml*G3V+Jp>#w5u0jWhgDut7( z(&!gTqclcmf*{#;M!yTh!Tv9&+!1@ELpg+!`QDRu1wd^2UR*C6ejmb3W^oa;_=#YM zu=;EH?nGc)S5Q?SCHm{{uD2nOXsmaKw8at=mcPAZv~{9@&Zs{LL_*PWQzu`3jix)HUQ0gdH;dD zRl6Q%^LsaSo$~Z2xVeHmGz0h9u^Bk!>CY`^a7uxzV9K))Nj$zmsnM6~pg4BCpZVS5 zTSGfC7-*zMA60f?D*K^ScBV-^frAS{siDIs0?w-`WK&`m1;wIEQ{{rMmQia;1No)Y zDkU{W`>Up6GdA7vzz2I7Mn1*GlX0522lJR=$^)~W9&I~cKXwW@%#%}7CA~V1*Sk}G z8S(GOtHhU@{(`B_sx3>eY`(q3&*;Oy`59dUM3>Cyv|-(w6i@SEgmi#PJz}uf-4umGSX~_jJuT z%%+FLBjkA!9$13tzlSf8lD()VY6HGKi00rBnR(2I-5`CkOqd^BB&CcDK!o zNkHp8cCHBjoYx9kD(uB~Io&q#I)tmelD2ZQONA{bqU$=&L;$i+F z+^?_S60uKMm4Fqve2J*tNp;T|Q0*!%HoFbAve$V7+I7B)@8;>-HzR;#1$qc$%I+E~ zE)Fj;pG9=n8xWpxLuEiMY>gmI-(D~4WUXD_m7gIPpCsMljW z|AN1eGGCp=flc4g7vY^+iA^dKY##`cEZ&4R2)Yo7=(|K(Iu~+oEO?0WcHf!rr(7tJ z)`^*#eY^->M>Sd`y%UEybi;md`1bMkhNfq&oAhU}iYi}VJO#wn2YrE>*O{wx^yKwo zD8?6%%j<#(eW*$G>&P@tiH0RA@l=@&$oT$nnnxUT35nNEH@j7Re7YVDQT&LLQifq9 zekrYC(077FT`0XD5ck~aHZBvZo`V#u|F?{yu?4v}i}=_BeD<)lc>g%)Dx0KN}nsl1$muot^md7*YYUR zs+wn89}o+jfOrRh#Nu=1W(v6q17|FC^~ z+X8~;^Lwvk?&tGb&`<38H*B^!fL8r$1iGj1;_I(7J;2>9@_5hXlaWSz>mdK0i;0tD z?Pb#Gi5cVI`I&tAg*Lfo;3;VnNz*>Z#NHOYMj-YQ-d*HNK2M-3n)DPk=!Sti%2z%9 z)|4K7f%j3oBJrOW;-dz96<1$nlo2DNr;=a&DO}YiT-_!-u1&Zu3Rr-7hl<^t^il001 zeDTrS&f%U#{iu-%cX)S^k8woe4~a4WD{0+{^p_>xMq(LT zgB7-$gW1hOVpKs%>j7R5p&9M#Mk8vaV~(>Tr&7fH_RTAXF$tW31KppIt9>IJiY;n$ z6@*)dkMjZVV)fySY?-()cuVK2p(8)6@R^8t@a(^6;9- zg8P7{Gc>gMFEz9k3}WOEVv6DVwH)*{JyW%xRZGJ5qB59Zl9R!esKk)p}w>%q#=osa34`B09V z9EOUU`R-9x^1b1R%fCXnSTi4(3e)~VnpM}#YQ(3>Ep%fDI@0y|lSf(TdK}?Hd9HVe zJl`Fr5LV!!dVlTu9Ji0++V8p~xA~?NLf2c^66M^P3Ha*MkXrKcVEN_l-2HpYQgaSy6a=1c{Y8z!Z5kS zeT5a*d|Qels}{*}cR@;!^*wgMgwM8bAp8*$&GVi)!P`F2DR@PJ39stpM9|_By9LjL ziAZYjh{AQR)&>6v6B$nS6-lX}peanGHhWA3lIiA82}3@+G%BFp3@%ZDipx{H zK3mZ@2BxAX6V=4Q^cmmA@AR80I_-W z2J)pxi^_M|7)cz_nHb1*fOHEYvF8GHNh#HVMcdlAs(_>)6ZD_dxRH{qksrbVzB5%$iZq%5si6G^Dki; z6P?va*5am5bKOqhO||(Y)Pc2D{`~d0q%=CzZCUQVbF?SEBzS!j6x>ckvsN_}NH%|W zy0836GJ^oIa@B&Mua{FcxQApj8=l39p}Hy|qZb?UZZKe(>07Ao;%Ib=Pt)O$$fMKrK!gJ2u2-o@QuM8=zb3nx4DT1QY!5 z9ntv~^>%Xbg;E|1Q)Dd%E0uCjm?E1wSfZ4M5J^?=3{llLlG(Tf3(j3ime(W?RFFkY zev@vp%AKNejnQEjGn+0%a#(XSq5iR!R^Bdo?;X}OQ|ucRqUMl!;t>o$x2JMp|HP2} zM;G`CVk}(v9;F@oL~&Ve+!hx>UWh}+!Y#t_I)+AD92*YyI55w^vC24~!Oxeh}rehTwLw6g^VGt<;>=@dy6s!Z!BwQ-ukrWNGPoFS1} zyAu$>A&eFpFr8|Q!2jX`4&x-@ob&M_GA;iNxrpgyX`cyb=60ri{4-#7u-qL@YSS7#iG(jNDX7S6|qJeeP;&$yt zYg6M@EzF~Z(jVN$(!NJy^ph&Y&EFGutMLjc6E8Us!7+?2IeVA7C1)Cc;shT3DNZ&|%{?c8{j|^@2OD9U%vk70_yYLva=7d|SJs z4%&lZZSu9@V9uQ3SF1tcOJcA6SB#6^bpgDrI}0Q7KUY%j1LJjcf>Kv1^**I8Ar&51 zX-F-CVfr2?%a)phdcRmY_v?|o{nWXRmNAsasRvu_P*5b^Y_gKNsdVQ;E&bXpr#?f4 z*Ka$4OO`;|!tfutZ5Ud=Z8+ER1Td{7C$k7UpNBzYT2ZC_rOYSx3uQt`sH&4!kmdey zgnAld+?2uNRH8SUs`M^X{9Nj0{Ha7Z{`O!XgyZjZq}j&bfs9EZtU%p9jY-MWVZ&gc zW=uayIZBC@T-|y7E2i*8Tj47fbmjqkG@X zj@2?7PVOUA8{E~H&3vPA{CjF$iSSf6dOSMgCGy>((ISQs>K7#mW`8wpmg>^l_eFKu zJkv^@=IYUVYcN+QH@ba8f_0LOhYxd%)ooOrp0WyAJ&2&OdYrmdeFv)tvqDHos@Oc0 zI$_i9oY$q7wW=2-D@pXH?4Lc{cXWx>cQ`0D%&JtXep`VFQBg{W#M?+>Ka;q;NPL*O zdfR@H`0I3k{WdsQL zYLtOmXBt#@3uckh`$Ygdp;I3<&LRjRy}TiH)%OAGKs|4~k#zdg>E~r}BiFrpg7=7j zZu222Ty5Q@%y&&r!$sSt&A%Zl?tCt&&fN{o{cOhSwq$Yyiu4>Va z(q|8%j6I?zLrlxgRlgNCJ2AxRy!$DmO(eC$612nwb?e?K{WDa@3GI<;=C-WTzWW!{ zeyLAgsg0_|tgFWETmz|*`VRNaHx1Wl^0(D7yQpxfY?`AE!|VYeU-DflT3*K`&-X8j zT8~Tnf9-p7y!TCe*$R%=t~qmiApT{xxa$!mOITL_wh( z)Bj`%q{fX3c{)yR;YDYNsjN?1iwT5lGWF^>8p4E*|2|ZLiEZdu?`ZnZdi3Li{G&;z z(in881eqDAJJs_E&%msOt3%r+Um%IznzSFsz?6UAof+okS>D&o&B5)K7gxop={9j& zxE^4-O)ONnG5X%Q=;>VV3wfJ;mnPz_a=jo@xLhu@tmqZ0rr1|=Db&8mbPCq7kWgDnaX6Qle$g zB^+-Pdrepp3)I^Wke=D!reCuwVfbv#zXy)>?Z`K}q9$n3wdassqUG(O->V`fQgU-B|u~aJt&*ZIww;|`{AW5L<|}Zr>x7%2bwPMw(4Z5my@+rYK+b~3!J%a+x6%L>2}2oLyl?(pAi+@ zL*JLd-+avm@Ouj|M78*_BUy@OjwL&y?xk!m097`S>(PJ7jc4~aB^c=`Y}0Iu$G(&( zhlyDgnCb4610l4Q6n7VJQc+b@6O417pm8Fvt*IB}A=fD*q2Lf-WGX*hTv8~llMH~0WDQ#vAkLCUSdu0wG5 zI#CcLUr2bVlPrVh^)uyXekmp9Dd|p$zk9|E)95U~+#^^I8p~&i1db1|(bs-CWBd@Q zKkIv37kTi6K-Y-7WV(4TnX%TOr0Vju?gnMw3Lm1r+Wf7$y^8KV!ZbLp42=TSu;k zbyq|^%-vXwsTov=_lqrE$Rq)C?HovtJv`WKDwj*XWT0NHm8O_vQYFh@_gUx$DbNq- z;baR+g>Kz)M!0=YIv*Q}^N;5vqxMr}&oFz?8?}{g%Q4=l&9?r)HHJ}pOkd-epIXKGCn+aOv%6mhXY9kDQ;^|-j%DF@P^A% zw&Wm6$d+6o^YPjf@hNP{uI=Ux%Sd86G+;sos5839oAr<;{;6}DF;zWPwJjRfg<5YF zrN*c!9u4E*mCpp{!m({Y^zOHOaiY9oVG3{i>C1g|E?i^$1LRheq&0gX__6|>RTsf8 z(uZdJQkOm}wY2vNS33$R86+tUr6WmryE~wWl+@^!sv9C7ebo>Xvzfq@Q(Ew zCxy(^Tu=xOGXwidyig#sDHz&{8FN*pVX#Jio!<^N&K;$?^002ai?mQwUiOK#yt}f@ zn$!DE!ChE$tSw4vx=)yAOWmF8xY)n5R+YJ`vAm!{;S!dWoY2w8mD6QlgL6-f$c)rG zS>I|Tjg&s>8Y-fNzg30WW6=7Y+dNrr^(vKVvC(}h3Cd=TLiS;bNm$);z)0y70>uZG z@p+R)y(aaqX~!=RViRmBunyj})DL{geDs)?ST};+4w+jB&$5CK*ZTGg?&!7_N|$re zkX3?AcV)U86ev+vFdZcHf_ws@A7>3s51k9oX_YTO>LbRE5!(A@aa7h2$OZZ4(WaND zyoteXLc;u#6$}EQY3W$w2z*5XWmfQ-TK8tn#Z{GWMJMkeCNcky(9y7D-Uuv!p=Z-7 z^N`kDufhLeu4j6YIdo71ZX24$82%@fmM&!lTi)P$uNvC$nG{}L`lwPqYDe3ycy8`I zSYvsedmcXwCy+isQIt2V8QSor=?U;^dpDO=wFZ3EDQKv9{)|l|{xudBq;MoEcc5va z;1gOJnK;+D;%}IgH~C9tI*L70Qvv?iQTF?^f6Mq(QQa6FGo0SKSq+WTOH#bEfO7Bd zmWdz;Mea}%U|`X+nztzTTgs^!yTNp#2MWy$p@|9&w5n1TC|l_S^0yBo|54@l469MT z%X;5Rf2`b<%H1w*%cr2+weR`JR7D1M^Q>q>Hg(8R-xsi>Zd&Uv`yG%Nb%NAdec2&~ zw*kBj?c^5L3Y#o-EN!WyW|4tDk+-NbHZApp)VD%8A#Xms#5qlUBo7+gwx%rn{)BQ*p+{wO;9yrJrR70egqjmH!O-9d{Z z)>-R)lf)WzV#)wWwWtiS-$=SVkckJr^;RxZL?m$+5pT+^2!(3mktS4$>&XckwH&hk zlo?{25+ioRA4ESCnrO|*aBRBiakD`ug;IEc&puVzu}tinADs$u=Es7rCeOtd=U?ST?G05c|r}xDv9M9Al>RieOqIk ziDh2Hs%#1ueKE4lhd)z+8fFG`5TWL25a`d<{Eq%iO^&iTPaDkJd+P3svUuE&n#ILp zw@N0Hrbf<3o>Mwf1Qgcn$H5a#*foc!lZz>x73@aWhk|9o>nFzG?N#*oB(oO7UX$Fs zeFRujMI}AUfA9%bG~H{#U6fA4d5nr0RB){_8>3I~!LVd?rjK4c!;AcxmR&A>rOgOt zMzLZl1iRm$xu|+d%{G=Ky-|7K`ZKuDMPp9)D1J*;?-zsh;S#$ybb z={|_x#{zA$e-lLTqGU*3#Ck26RXHfD^>(Spb~EI7c= z4vHjJ)ZUO>C|r?|KyEb-L{|ZlTtlzA?@w1tqc4%*UOfhgO$NdAn;b+bvi?n${43MJ zCP#;vyZ@k%v<6mUa5B|P4CLo9PO3>I?D+>PH_;<6dJbGhk>FaeC!ZEMbyOT&Of=)Z z)cNPrv^#q0&#ve=>S=dHXQff&wjQSGL05E2Zj^-_FQ_BK&V3`vHJyp^J1+bkuV1%> z_i{*NAI&ny>X$tOlB&X_(cy1#_*)tN_6vVUg})=iUmXk*$~^r_9xGCTSSnDG3fSlp zOnxe*NCDR}P|L=e1MJZ4{{DW@4e1-X|FGQJweI^;^RvdUU|B-v>@h?uysdV*ApA-j zFZjETBj^$8$gw&aqpgFHm*?r8Ea$Laq$D=(2MG3Fak)BA=X;VdHOEdT({uXbda64U0H*a_6!*bGyu{Nui2Go9r@@OMQ%R)jig(gkh|3*4jvPw>xt z4IxHec)oB7z3M-%Xi^j`1q2(d2B87MmEh*ch*-EC*Mn(ZuQexnFcWGilaJ1trbgL5 z8qbcPJq(E!i|&Vr9jUU(^)!!uykxNuou}EL^x4vDQ5A_js7e#?36$0>h)cu1oGtZT zXDp+q+-qG;vbA}6KGSbG#&>>s!|U#}o?3VF8NFPJLw$L}XRbd0OcDL?|0OCQ+TQ@z z?*8|5wD!RY%b;_V4rBK#gQQArhm33;V)q})jvHN29EtxHPzBiw-U1a0c8|pCNgdet zOU|s5Hn8uvHA4pW{eefa;YcZ4>ScXDiA=gREV+N})9&Fl9YvK%o9ohDV-LcU7t?YE zc;6GHeHXgk>pEt&-aO1K)~^_3ADJTIekC+Ue;DXjPM!K$bUo43 zbDtldOt0hZ6WH5Ip9Df?z86Us%50cMR&$79;c*syqzwk`mjwF@1K`8<)bCPv_r3;K zFSvwSV8^;@1o|OjtWFKDhH~HN1cN0&Sf)R6FG}yrSz3RC&W|PS3lg zdv@M|hGDNZRPCawE}$w=H4pcxs49@I;~scfJE}f93D9AH>i8VpO-~~d>@%}RVQ|l&BmHf)NW8nyJp@nvcD4Is-;AH;0Ojq+{3pq=-JAGJ zh?TdZexlj9;N1IkkOX5kIpWB_c4z)23@t%nZsT-%Li;5HDN zJ34sRRh+kqghvznzfs~~DP_2Q3x#~Ba@>Kmwr+qJ1os+{fA! zT>8D35>6IPJU^`Q+ceFrMp0OWtcv0XRTI`^9rK=Xq#@B#XmKp!wr_jka8Sw8(vrQe_qencI75t@vaaL}g7KPBy+hJ9*_ zNObS^?35Kuf*q*Z;0g>N_uvQ801_Z|$<8n{xK}tDqelyK$#@Y5?_4icdL%`x%f-!n zMH-`B1y=|Kf;v=0?3{uMe#ESFH!*DNZXlHirhgf6eJYW{ua#2xl(2B1&eDeilmBit zg)sMzB=q)@{D2@Q8aZyJ(*N!;Oj7#EWieJ#ro1<~o0MDcb1zkHWx5d;D65JrcjWKe zT7SB4czSbPJvNUw0=fR?KMP*}Wic~wVdpwCvU=&)W$Tn|c+x_iu?bih5}Uq=jhRq6 zSGVfk66ow|b?b-jBNbr^EKE;<<2gydO*g(05q+^l`sIt%&5nf}L-KQiO^BO%uhLOJ z#B=cRHW=NBJT-Zc`z(;hqkd6w`!B`nKE$=|EIZk2F1g!Fy^5e4wzvMp z4X_*>zgXbgT_0ldpEI`ce}`1}N>jZgyak^_w!H>FUrfX1^`yFY`szL&^agO+pA$J+ z0_f-HL@kMJ8Wp~Mg3Y&ms=Mb8`l$9I7@2S=M$LzD7;50#-SxB`x=dLtC)xebLumbL zWFL?)pF`GJ?lcG+6N_B>^8CGsD%3J2GIl{}WcL&EVvWNKV;m6AaYaB$^W|`nDYVo2 z=ec8}e)QiU^w(z#y?-sz))ox|?30X~0{zNWpc34fK=|#ENc?z;#2N7 zBxV*E>cF}C;nV{p(sU(xs9iqgy}^Bb01~g0XsS>8)J?@{st_J;#HzsSMk!ZD&!>B* z+Fe@`JOP^2c?|?&*$+R_t|D9fZ>rfBneg~#o`9gB@pA?*g)36POWmWt6`s{LKOu)L zngH_L&G0~}A03CW38mSAqy$zK+Sx=&TgQ%)5YL%gK_6ZtWoIXpFuIfO`i=N05)gNx=kr67k?X3$hat1R#`?EvP)t1uYd; zbus?y(;bNqfor`rC0QZ(ivq{fvfa&wXLMETn>3`C4omqdwr>XprHN3@-L#??t*AN0 zx1cZa?%d4dWxU6B?uY9tVTB`Nr)9i3syfB)MIf=;lh$rG(ooQq2y~Dx^BAW+X=F zIDs^k>rfxxcc*g@OH98Sos4A;bEhy1BY0DefUZbFHa(_Laz8sd;T~W>3cppfX6^Spj^4`AErca*4lx*1^SvC8Jg$gEbqABDf8}AGd zah|iuiRt9|BqK3->}B^!Js^?zo}!ulkIWg-Gb{N8@?)6Hews+JzM~5AZd_|i4PS-c z2khNq>>16xB0lp0-VM*51?|mOQY9kU&Al468rd6f*L9it=;YsU061CXyP>BM9^H*3 zx4Xv7FLX&;G3vQ1Fy}AV{6niE4Nn^>(btM8{{|z=x-)nIJr?S7dwasS;EDbkZ$EGD zUrD#-z8Q35Y$SJ0^Y2D-*c+$;9kQjK1d|KC{z<9waU}l)Y>cI5o_q5xS%7R5YrXyx zCDJ{{adV@Rcm830s`reh?OOhulwF9Ye>zhB&v`x(IzG)8KNa}~A zdazZcmhg(eUQdI0Y@s8!I2RBUG#~r2nQ*37_Dv;FxMjD<&5tUExopHWyw9gYKOIvR zxvcY(Uv|nOvWfrK^Z%+?{o0LVB9}$~MS3iIVaVTaB9|e$ExBV#BQ@9vtCj+?d`zTj z$(TsxJHoSUOyt7FB)-J&+a#R(>KOe`&KqMQ=e5 z0`)TB$|K3Dxab8-h`hDNCxYWe3Va-6iIDiSlw9PpMSRL}OytUyIi7exW04!yYfJ6OIn zN}K!+nf#8He}4P?j+y*UmOr3qdnf#qC{}Yq8H2phg z@^dWzh4%S5nfzTW|Ni#*yJYgaSblx`{4SaNuH;{JK^xw5&E$1c-XGiKb<5=Ks=TAx zXz5KPkO$d$noZ{tsna? zt2r_h}ARy6s)K&s@K-L+O&NQKijrn9s;%UrOHItuGP6|Fbo_ zW_Tmop!cf8iW?62C4~|@KBYhPF7_p9by7rn^NHxor1YhXz^}TRf_aFwS@L2J=l%z) zxbq1>9cC0qDo!yYFSi=opl{Ktu&T5pl z(-}54gI@^RmT0_OeCEt#Y!%SI!d{Z0%cm+TynV>7+?%tg9lRrNo_O1s7vJ zjLqh&1qBzIvc4gQ4{9eyQ=<%v;;h=;^cm?w9ac@O=72`0pA)=DwH{$^;W9F`G&aRWO&{DIjxGGt&Pa(>>80oF==QjCyC*SI8qG0b8kvX(f z4XWTVv0HeJ>CT1O%W-Cq!qq)R^cLBaVIqfR?Fg`qM&2Y8rO*DC z+2rWY-CPZ;Vb|WE>%AT$qozbJ*2P*2HRWz_d$UBB_eBMSqu~Yjjo*iu%+^*GZ}A9f zCewG{#p7SmgB!6lI3Ap-s-yoFS)h^0{&1AXem|GHCT~L7f6Ef<;<5q z*3IduNSmeu+}~KO6Em|w@2$~>)oPaF`fJz3j;v&?lI@hkcq)uFc?M_?P6WzljQOfF zA;?)QVH>eRMT7b9Jf++TM|hL-c-qYHq&su6YEBlX3e{$weHvX*B%W#Qxi->{XY#4f z#{(@ERDcYg32H1FNIcV9d__V6CI*5X0+T>$6W^#)Z~qPc_=|0QgX<+0+?K@7HX_)*RGO7y9R*x;tJ7jlL+d?+%CTQAaMT&3G<*+~1C zuR7`TOUvjhp{qDmy;vy=87X8C>Tp5}nYzGWqIk>KaIbz*QRp;TooFeG4BTRa>;t$k zxPEa?`Eg^lKk*yX-QdQdSZwDAl;&^TorGCG(KpR89b|zV-pZD?Z zMTRnE{f#Fzyd=0Af3_`b^lXy5_P|b>|BzJo?<0-RiE97|K9hlNLoO0uLYVstQ~(jI z`IoqO2x>1|G%Nde$_9T$a4f~$!C|y0ID)9SSu}-dH|R-BtfiTJWZXwg(FYyF2pL(n zr*B@+;7i=X?(G9o7xRx;;q`xR@TM~6kr8W}X1YB6uEObiTGJCx01@;Qad!$#f*kx! zrEVq)5rrZ`>z9d2yu3{!nYMkaOzrr)5g~$DFiO#Z7F`_ZWeZmv=8X(Wh$2pZID*y6 zBea&K>Jf-(a_S5&h%|OSkaRO}MDc9uX6)L0Yh-x!=!P6*IKKHGaD)zxb@*7@$RmDI z6UpFGtfKicQrw+%e(MJaVY2#@(kyrAItf~zhruDi+~;ukaHXg14&g0fl7zM?;5E-# ztp3OBeOqMgE3g7aRZdvD-9F&ZA-GX(eBevX{&s^g@gmg*OIVmCXMuM;aY#t4v)f!_jp9$B2nn$&vU@ z3>m3AbG(#jFsmQkgWfrk__xq={!@haWKM9sY{HH9B*Epg7Zh^mX>+_qcM{xt2#PB} zOepwWA#hvT%>M2<=0JPo(_PL47p$j2@~p&y%RwO-Hipf&ddt!6p`VDUZUViYCa?@! z!A8HeNRQvxYd2G=a{_g;ZcNTMfi+{o)&9=N86$EoY)eirk+Tm&N{_VqYdPU88tp6K ze!k$53Kvl@Xhm44WPcKp8~l*S^Dw&zrkh~2PakXCHJ4M^(0>svlGHBXFotFwW}K=& zc8z6e+To*@HskC##q2NxxxKzr*+oUz#X$_k4+VFFJ-L(mWO{E)XduB&!dDOs@-&VU zglKeEd58-HagiVf(&7}e*#oQ4ka)ukU@27JMviY%&Cx=VHBsZs_q99RBim2NdJ5Sy z)>$6B6RE6l)+bjoK*9oBn6SYV97=&N)#*1=AoM?+I#(|h#Twp*Gr9HKJ6_!-c0OL7 zTT1TKQf0%$vVw@qk;UFrQxLKBoaTZsO3oO}qXpcx0T#h7EkmHD}9NyjRJ7 zRwbxVG3hNW7C-4-EsebbNt~F`xvtIb*1>tEQZbJ#(asl1VYIngoU1%{>u+p%!^3^M zMW!^7l3CtFYB@U8sHI_WhZouX zX@6F5v(jxhCAiL~=UDosMBF$m1%Jr-wU@M!za%(a$>)+BYhZ_Ouwuh4#xf~5R?#v= zX?JFiZ*5oK?jB?Z*f!hedqJ|d*1x0gLVn}XWaoW*O%FX!L67lqwBZyn!9se16N#W; z+ibWjv*QK+_WZTvYRO7LmaHey2qI>~=lW+b?lEBhnOr-%gP_vU5{2zR+m_S2SebBL zR&aSk_X2kqnzEcT-Rw^dmGJz>%yAgchaTJz9)ZRoE>5`P^8`rOP${nfaMoivpxR0* z$6!@c?t%AM_4{l2`zO)>%yEP_7z*tAI3%#mR7G$Dcm`c_&w05 zNv9Y}B@3@%qggS&f=r!mfYIzp$zkrwS1oKiJ??ecqX!}H`FF_eQeKebyWZM*kC~Fu zN#wgJEQZu>oleOyx9?PXX0F7iEK;_`{ksF&L93pbE7rk5R19}L>@BcHy4_@ggHxr$SUnu0!?YpSr*Zbi zf8N^{IE@17%xBQNsV;d0-lf>)yQGm-QEE)>x|h$@KtC1!TlZgRxH8?p1*NQ7SR|=W z6TJY0^b3DOYfC0eWr%a(xIL2zkj!#2-N{{iL0S>~9$SQcuX1`e*S&)cCoYsV@MZOA zKCog}a<1tgm*-LJLNdpqwvgyLlhn2qHND^mz5WKmQr585u$rj!GFn3kRDbVbYQ{83 zNa4QSjlzHBL*Zk)WZFLsg8_6>oB0`p+i-WKYgS+1PG2+0=FiHGBwmA4vpR6)Prp2o zaGrkisT7!5CEVUroEt|)isvBW#D!zJMgcR0!e4n?t_S3VjBNNIS#(<{nXaoAKWQ1< zm|DkW1U}c={V5ZbjXKd9+z!rg82RizyD7U{fi4EU?v}pq+Z1amFDTZb7T#jwjDWIq zzN%qEays4Wa_4nq5w$jXKM`92Ek;bQGpmULTsgw>Xm0VD?*0X6U^=BZOkWhHHic>H zn~Da95HySt7fC!%pUWs=%$kG1Ejz%Yka*WvPp{zf40Zo#i=9J4*J*VP_F=EFvi31cYL3Lefw{Vh-tg7@H7%^X9z}0iH_~;cmV?p0&K|0B&D4}Ou|9IUsaD3C6tM4+ zq#rHo_Xm374$x~3-4VLlL(dm<*C9QA@OrvW z`x*2mzo6+O=(Bf#F8mpEi-+D>(6e`-WGhRl_B{EAhkg(LoT|^^Gg2l<%khq+`YR{+ z&nA=Er+`Z4r*XPRK!+&LAlcm)7LaV-47hvzP4yN%r7qJX8qBc;WAu_#T~^Tr?J6p# zWZ2~`4@k&Vo;ljhUbSQ2S827zc)A(&1QGj)i2V#%HwMUxARAPfy<&U+{`BUSyF>ds zyi|}jzN=(?mq^MLh@}D*3Xo9Txz2w3>DS$X8A@WICUbsK(Aw_MM?VS_g_g+Q+o+*;J8TzjY6t?|(ZV+RRvXFIZ;nCvHC`gVKg28m!A040K&5=}F8R zF7HaMV&=q3cUfA$kz?~1IV{P_4#peC{Xk|5*Y!ic8{oej8~t`)y6@S$ByKvx+{?8d zEQ4=UL8sFC&Dr*t*=ICK&STTYrOz$}7@chHF`+5ccAkOz78yda;U6!%d6{gv@qwg)~TP$4kjQ|35>~<9Sfjak{wZ>u?Wv zuhN}lxarw=LXUS7FxbroP5aFb%LGD)4Dw=gM$)`D`)i0_lYuMQ4B#QfQ7p*rC$3W-%-CCmb zVo<9{f@AlZ#!JMVJPu$<+|DG&HxJvF6S8G8Vf(;Dnc+9HoLCx3$g|wjBa5&D3pEoEk_&L2>A_X58gq@4_<4s z8te_#l$}Reb(F9tXCjMXzds6|;AG#Q)7!$V$iPgrx}w*R?Z$8aX?t)W@S2ZJ7Ps!? zox(rT6dNgSWlyVeu;9yq*R_NE;0p-xw$@05Lh59s)QNk)he=EFb3Z_OSYW{?gFK@1rdI}C9^^Mf+g+?bat>iIn>&V_i|Z6DbuZ8PWtyo zWc2a9;AGKX+seOC%g^I3`WCo11jqVAE&%>(!M8M0J|q;DA?plbe>x-h7hvwaohdq% z5F@fvR&5XMp;Q3NveFMqx9$T_dS_(xXjPqMRlB38ltJolY4uF%6f6c!TZNzXYyKQJ zb5NF?IgOov+nsN}wA37}5%ybV81K|!EJQRG%3t@Mo$lnc^X$~K@@eDQNuLKey*cae zzwX}|Nw@V&gRlX}ALcDu?@p-@bYg2l|lnmb~Ui$ERIDH4B7^AMK4w)6tB%~|oCwV!p}sDfN? zTAQKadf?nkd+eg#_))* z4u5;6T6x22kN%X-ewsO)#fa$n@7h$$v8bL#E6FkT1J6?<<|ErX#@vIQyhbicA3-1R zy|1>MYSEXIcGujNK0Kd5Nd?tN;nL2{xj9)jQ5+;~F$zR}K6ny8pnPLpNe)*)Sp+pE z4E!7EiX&C8&0(J^dH_+aJ8YKNJ*4TFG)@2B(q@*>E$N=Xk^7JsZ-jQ_GnZ!jHXG!A4!yeCeEQIa&yT^#7Jc2g*u#H{g_N* z$&Bn`Hv_GlkrBb}4=f$fRTNgB8Z?Yj;31it_cag~fy`EpF=P+~A5p7kN!SOklE65W zwHebKTq10INl zXK30vO4~atUi_%{fdNSHPukZTC^mXS1DV(Ttv2rE%ML^=;-&OvCKsS8WHYx&_Tr#yGpG)wn#+2URSKGblo7NtzD=xiPIH zX^}%H@O}J6W?}C-qnnWWptBeE?U|@{W)Xs0EeqAL-YihLcdyIhmlCelZlDdVzCE;(s@HZw6 z`12K{QVIp4K)wR}mT4*K;ye4bC40{GTlTcO<1_D1*$Ed|CTq(imqxG?BnbbZ3f!q^ zoT7o;I-?8o%68$CeB+rOSs7~RSMRb6_dvN+!8olp4<298&HUI8SHx^7SM>$ia84gxyb9%m72 z*BIs9U*{fPY)9qnXj~6+AhuFf6>5>W^&?f}Z59!vS?r+~)XgYUs_3WI@*NYc`brdL z;!^k+g;x>QYPg&2n@qPDy9l;M{f3wG6R~$8dc#@cjf2L&}1IDl<4;CMzs6C@h1ak}6XYmWkO?#qFgspvVh4 z2*pleG&hjd5H4AD)ID7Id`OUri;Pe`g+ip8MP4A{mTvRd3WKK=of}5;g9jD;CsA** zY=2yEi-XBZzFkl>wK8pf6m9gqbQ#&UJK`=4VMe7FvfVfc8*`V3SZKerDjOF|9U6% z+MN-y&%hPD3+sS?g9MKcBz~>y3$#!mc+!B%3#yF}nPxV~(|#gbJ|%NRV5QDdX(Y1c zS3}q7VneR$qOpi**rwyut*hDgRC-6!WkcI& zdg&!QhnW~|SWp6Py7va|qK0*&VcNRxW=mJ=8p-~H^Qm`FN-#WQN*E1Qft;))lqunU z?4sa3n^iV5-hR>>jWxBf=gFNItKAtSOm>g6TSU@*B)Na!bqPMO`3t32`fTV@Xv2@? zoF<1K0n-sQ@eY`+cWgW{63Tshv%mZ&c4#VR2p2V^tKD^@cK0B zcU;Jr-@IcuYFKCAZdht$H1fWlwrGTVJgIg+%wm@s49g^0nH&Fsuf1eRNW^fm!t)W# zhxt#mpAV6ev+H8G{MBhg-Y4H|lc2dm0kY|fWiCOpBKa*59KW^{ z=C?eISA@UX49oac-QDI?({b+IIq%SJeY}TXAJ0zP8kZVu?OSd!3PSq65n5r{==3$p zc`vGum`!b>8s%4xg$Mb#hpX=tgGBE5Yn zUP<=R>`8g{H50{L1y4r*j;M%PfXvZ8yliA!dt@ z!4xzdu)-Dtb|%cajQaqou3^HfV#50aYj}w-^~D2Q&vWS3BztG5ML1fo^v6H+t^)gG za1bq7mDZA7T76d>O?GC*=&d|hGN2=4>qL1#sW)FDV05jw10tR{Pm__CCXOYG49G&) zbz!J(Ty_}BbDI~C#tE(s{Axt3(=W3={)N@4J5g+_itxeH8y1#v)fvz74HD4E6GcZ9^MAFMWQ? zLo6W{eA1~r`x8cW&A_3JH{_Hy9`82b3?zZiX#L0rF~w?zB)5PY0bnxtJEs)}*DpbT zZY3cZ;Yb~+jXJ~7_nX@1Fu|JNg*Fo_hJ`C#$>9#o^6P`%G`Cq_rf-98*e{~%r_{b5 zMG{rWOzR`&vKY-MEJg#FL~0IoH@|GBNwq_h_|)`zbldiw+3`fR*mi^a7Gsdn^%<$o zak1ZyKx!U&5;R{onl6#}jJon{M`5S11^XWlwH>k!u zDYIKho&Q&4B+vtIWL>JPxkik;h|H9;YS`!^4u+@j#R69VJhf!P;KNk`< zxHlMNsz)+!nut9;44;kDXlsC4HDk)tHBR`qAKSp zT8T_}9QS&9;)i;Ao)J(;&r<*e%PFjWU7YFHP3}TC2rqO4A~!f40#x}iUzoAxy5YNI zVQnJkor;Wmx9L?WAYBPfwAea@uNZ++>;7W*UYN-x3d_XV`6a^Y7PL!$ArfDs)JNK+ zBJnlj-Cx_J)Leo>6WS70Q|zK2d(Bs@+DoE;p^tEOf+v|fOKcY?k2>l*1kFFH*QHYD znqN}tl0rqnZQ>v!&lE5=W}7KuemT-19EIR;S#mg1gvhGkOiGDGOcgl0KA^Sal*`5T zqMd5^g2lU;Ax45#tU>eW^C?xWy4C%A_zvs=dCC08(nMPcFPLs;2&M&Fen8l_aqiyh zdL#ZVD$~Y9esVSk8ZfxK;)&6=Sc@0pMU+X)`cbsTHDjCx@)R_vxCqC)MN zDcUw}0rnh5szG^bJZ$%QZ5bc-Y$5kwM2{TJcrHR`Td{kXslFZJ_*9#=QP`M^k;DeL zr@?RjaolpFxHfYzzBiRA632^yiqEBt&Dp~2q1gT;k+(0oo~Lb^i$H@dAb-1Ciw-&a z94l>jG8NDdzK+#^Wa_X}{;>JBZS+L$Gcpo4xk>anY1fnH>R9)x%Zr0j_(JLhDM+uA zDn0Bef*ldU<^_8JYf=^H=pCWpA$~Q6(-f6>o^Isyt>`T=UImOeDk*1Bk(O)Q3GXlz z1zQ4X#s&8QmVLU7vXkNqH`|D9!~R)s`DXflrLS0nMB;aQIM?M#4fhs|?ifx&o*~=d z_F<444Mt6>z=af$^3p!DSo87fwos~iPzdpnkQ~&qV|Jm{h%AlL?w(Y`Zq~_!?DQ2D z4?Aq`d)8E9O)jSf+?Qb_ue711wCTj1OKoZP*V4^D#m-+=+ElW$1*gaQE{H|?FN@*d zDRy(M3?Xc!`j#}rvRGt52=SK`1oOi$L)4@pkin6Hv3&;yhpMK&G`12K3t>x=XEVUs z7 zcWjuR7p7kkrXNIlm~^!zeFQewEt7f!sb)BAaGUPd9W)vf7P!UZDCffitH?@LdP1Rc zQU}zWKd-hWop^O7vErX8^WnTq;;eMyP!f|_|4P9eujn1VGLRpYDN>b&*-tRb($TJp z<~)+Z@B{X0NKbJ(aa|^HW;$^NiOHNtQw3j8v@#uinrKGEgN@(Vfd0#7hJFP~*u>K- ziCclRk?Lln#u)XN1LSJfcGAF>y!*Gu`yF&;Hp}#$)M;f+$L!&6IKO2#oOxlzjlrL&!b6kh(@N2C(wJ- z;Pc-SL7O$iIr@H@`;cwSflYtb{Eig1MyBR;7~C{4duZP;Yx**4^pDKxe#GF$onj5| z>IoLUf$OeADe-vo8(U-NuZU%T!DIZ{wJ$AL(`jO=VC~W~=gNHMwUyGdO3&sMf&mVPAZXWC0GzO3$>?5_MuD>ty=JJ&@;dsEc# z@`9FLV^O1br!BF@>+s5FMds{dPsY@y-qVs#(_C_o*Vd=M`ifZ$@N)nAC2|#^dpub~;4v1Kme*r0Ek6{>?XG zPoDUgy}DJPN}vjiOa)@8K#l@#!Uip@W zYFE11;Y$1#V0DlCP|1EHRcL3^{0IJ<>Q#5O=OP)$99qT3#XUl*oqnhsE zLk8A`|A(|U0gtN4`u`IM5)|yH;KXG#YSe&R;+iOt1cP=oC?lY_f})5UqIM8R#9${% z+XPTiQ9*Iv7Jkxf6wp!f|9q?N?KJ4T@9%y7Jesasb*k#r zsZ*!UIkjzd%M%OT>a$%^K>wgocu3NC=1~SOF=+X*{8aJ$NxaubqR31L0p|l z9!j=%m1en<^f%ff-9p3{kWMbY0oF0{n56+6Wwo~=zI44Po*cP$DB0Su_B{M_p@MNP z!yr^W({=#&;p6h8upH^|Beh|!5>nyYsUD~9VCo+puC2~p0yPCO+&W+n;Z?~xz=&!x zThN(R;4!@ZNdxk@GbqPCO#~JeC{YMgn{#H$?U`BmSBd7~D%ho(6J0{6dOa8=-h{x& zorgDfl)?MRe=ry6L(JN{sLuI*Za`(*`TVf9mmyewjXJwu8wXl+t6#pjh1}Df2Hu-u z6P>AovQMRK9gNdCVro3x)tE;t`K+@8-4xjz+*sR2%y{vyo0uMc{~YJe2-!F9qM&MU zzqN#z8`@&lnHPwW+eiL&*}tFT5E9#`^KJDivlUmbLYd|(mWb*`2f1|`a0bYmVHBY= z!4gX;_a*<%LsE2RKUPsB#8NlsWf-)TTL0z|s4~TFTjQKQ5+gV>?{$YFl&aB1d##^^ zUaZ-ZXn&w(9ggg5$G2(!jVn;VlHYr=gr+W+6bdq1@3Q%voo=dHV_1;4x~gm5V&3&8 z0&dPWt_&HX>X<5=XdRx~vR|;@s;No^FkDT# zT6Yx5q1lraSM_U`$m*(Jca3~$2dknyJ!fpZ)vh(!-sk%K!hYH-{z}Xxs1o>8RM=Q9 z#zK!oS52Q^b@H{9nN97|=884ZkxR_e$_3G$_lZ{K_t&Lxv3lOdgVFfDL@-uMYTk)- zt0*#|Nj(M8*u1NzEkV)R67L)^30U9j?LLO6GVcWUVfPt(dG14x-|}9d`^d2$yZav` zqzJnO>t3=93`j-zzj z&)T#mZz>;*!{;_IM89$x$)oHXNNieT&tp#_-adaAuKn-lvFot(C}XI~@D+jcDMKi$ zF$`$02Mk@WY1VXMLt4vP>2X!Jr(GGjn2ZOL5x=qBoS9ev5{!R037e2#j_A-P3Mg4} zFwI*BpHjf;?^VE>#0n$=GUf~UjUFP2D$++(PUolH(8>q-X`hCi#~N*kwW*X8HU^$^ z*Qj`ZhaT$e+R}F1D%QB|!0^?}&l@;!V7PI8PWSoYp^c5d5Y_O~i!b&FH*Pzm`;xNS zEBbZslfKsLKu*kVdyC5q%9G&f_lg^`{WSByQ;KIEP(NfdGueA{&26lOYjhpL9p|=( z>`d{brlT>r1LWfWf$YfdA-aS+k9bWKA7!XWY(xwillPJYo#q}&&iA6Ag8XwQ-FrT7 zg`oR5h7XRtzuF>#Z8bSq*nB==KU>Wne0qnHxn^Z){SXB9oNM`0!9ll{5K65C5rcF5 zJ!%Ew^zt9&Ry6y)kNh14U}6agePi2nR=jpzuGpI1=t**EQy+%O=SXYukrEP`ZI(lS#_l^VE`mENA#9%rM3PG}F&6rQ84x+Qvr3EvpAWlJ|X1laM4 zJbq?-E5pA=u0*?$6qyDcR+*DqY%AKXJXGYNF0yM`>__q|CQ2u1r^X%sP`~kDo`1@? zf*RR1MBRGyB+sFeAyaT^~f4~0nO&9E4IljFq?DDx&#btStz6cflUWn?L>Ew$p4 zzUK){=0;-r=?ar70`k-3N#2ITaVJ#Gd>Fg*g3=4sfGQeOQAGEKs%Kly^)F@2Hb>%Y zm992OZ==9f6*C~yeDc&}YNm)6w--j?S$1f*!g2x*r$tT?aEQrJ)MR7ZtlVbMh|M=E zH#^m6Z|m|U&6I2Yw@_$K^FCo8>*4H2)|h+cANrMc=1*(d7ppzm?hfn3IEpkEvWp-8 zkUC8I!Fb|I*{H@Xj%jmUS3O5n+J-$kNbe*3Ir!{0AqLbV69o%R)5O+x(dBw_(*FZA zv{}*A$yn~YiJSx>bEGu4gKlc*VR##XpY)7~r|-wzcbIQq|2s#Za1hKa*BU^3JmpNaNd>viW2Ts!g zeRDY%ASQF`3=j~f3qtB8{{J2!`zgloB&bF8fo)zAV5n(yRn`K=KaELltY-qM^ zbUW@h+qt@U^>n+t8q+Dn^}eOu z3yx5`nJ>*6l-i)_$qw}vK)oOqP0tat_+@47?@0DyN*F~)MW%xLM}KnC5Z*u0s}ql_le$0^q5lD1vS9Qtd)OTj(YUu;l+&c0&r>@`1tc~BT^cI?tt6in+Fqs=6}mizcXW|=JzOsTUhS*f z0qoE!jQn~+;U-&6enV-jV|eH$Gsha>+5r<`)7a78fi`b7SrBaTQ|qw*U}&l`KQJ$r zFGd+*>TK}#0S<5H?|3`^jo&bvigs`sW)i`Gf0#ZA7qw?27~)uQNsGO*FP6HpU33X| zZda*TkTiu$QCUNYGf+cG3v(FD3XXfNo^W%P^{H}r<{)Gh>gfxMPqUt)mKo+8l!sw$ zwuAF;mh0{dSU{csv%H-DvR+P^XggplJivB0rgAupP7jSghA4Tg(<+bg8u+pIBm9`i z12ufK0Pl`6NQk@nO#62j8|;G%RX+%%y9P1TfUTxiFc|PC#O9-q)Sd3~{zr+{g$>;| zmyY{oy9%GADXV4YyAGV-p5&IVvtwDxW)>ztKl9$|=R z(!ZSE&>e95B(WQbW&~;$tD0*_RtLCVI?lOvD=(u1M2Qqmb^dXwQ~o};BEJIG16o_A z`~8#%*9S!CL^Ul>2l08y_|1m+38wDj)FG++Ps?MxH&z<^-Hya@-%Hmw8JbCOBK{`1 z%5{-H@mrr>CDLI|GDgj7Pcosf;bIDl`zz6ru+TE+hiVQ5dwUvIn`_JCqcZ!(592b% z$^%;tR{z6K>>0@{jc!OclUHfLkK%OH7M>|P^{C1QwaY>obO^KvOHc1 z1=#ESKFJn;=8Wi9Zh{>S-QmbF>!4q}_V`On2PSLuttjVM)lIg&ralfx}--HDXs<~9CUt3xk#&cNLW} z`_awa{vtD9vpMv+5Dcx2xY!(seaBF%=}%>{M8kGd-yxK$W%vE#d`4 zzHyRp2I)rgu(dry)%T{P;T#sLn%haM7}~6oCf-Q8`Cck73{zs=4i6%FAxfc$)6!pb zKxU6-Jp`Xj-Pc4~F)baa>~&;lb6d<-b1X45+G3Nyk8SJgl2V^`(%Mv!W=|jBdn8G5PyR;dR6h)W!wOJZq)d}*PY$1I^y)9rDA`#?AGmr7lP&wD;}UaV2L zVJ)wQa4a;;J;`?O`o!WI4j+g5a03zdz?%#4hY7GZKb`*;U6_tE2a<~G{8#- zfAA};d1q`W1!g2L8V@CA7pCC4^$^kW2gb;uDBN|DGC@RFB7AvivhfKqxO3CJ2eD*) zImG)9pCdK)Moy!f2ta{xMI$H-k&}Yc}HQD-e_O+qu0Z= z7w2AFQF}%15KzC^PVNMTP)M3NPT~i0WY@WuH`t@G&YX(fsk!ZAAT&I-%fVuSexpyr z_T_D}j}P>+4-|vZ9nd}xB!Payyi`dsA1Ie8RX|c*!>vk zc1OuBull5365V!oXwoSR6m9jL)+MabQP5z4E+eb$k0oMM?|llfiFM+93u{gVL|6<% zi5Ioh2yyV0mL1K3N=EJ>(%I(ot9e{*0l*j6gH%V#)1a>b)>Ph{9Q1owin~GIWTr7t zDS47RlMpoDap{nMslglD7}bnr25Mtdx!A5F#w)^AsCw(A9@B|~cJ80Cr~k2Us=)&d z!S>J3IJ1&{b1R<1w!V1}^AD}^GjFgzF}?VjtAy*YcVvRG!*;5qGy0+5|B*A>%HL;) z@~;ibZ^glph`7FGv@Ae5fgN%*)~|u==021~?=`g)eQ#ua^H!bq=1G!@*cEuPV$*V~ zXb#I#nK)dMdAay7j+|$sNK1Wu#M8FGT18h{n420C)QQ0gM8#M2^>= z9!J0MkB{AsAs*N(8ij+bPG)b|?Tb55QQevY@XD{ezB1gCtn6kZue)Rtmy<|e(fcfk zPm)bt!MqQ6p=4`!$Awk~LWQ?U;vlHRpXE(6Q#wKhKq*pkDsd^r#gfHEa#Emf+PSF9 zlx zVrDX~R&niiroT5+C?=;BcX`3(0==H>8rb41-d=8_bD2`75gU&Enz%Gs{!v70a1QaB zU?!~#4XkTefTBA9gYUnYP%9S73|(Y~aBR^&Z5Fw@H2Pa>F#lQw3+CF=!*Y$)J8+?XBYC-eDAH8d0z(m!6mCw-9=nKrV^d`0y$yvzvYy@1YWgFl}~ zkzyao2>sBygLqveF&KU?9nd$nP+eq-$ix_#C?6@^JCTAk*&OUge_^BNemSK)t!|o2 zOUzVd={~?*OAIE+EoSV85|i$1(UU}@{MNkztj$27NP+k8cGlfYT4E6iOn=%{dKc;f zwngN|Ig;#{w~?!nx>`#-(w1nqjSWy~D|amI_MJ*wr&~%2ZD|`KhZHo-{T}$bj*D!Q z9NK4+h2}oq5Src4(k{8zjaR0n&u|_s?OhF5?$h<}^MYS>9!)#NKyC*giXlSV#JJt7 zgrEZb6flb#7?phG@nHiwdxHZ$5k)%V`d9`oJnLTL?qW|=SG_~O%o7PrSDVUf+}Ac~ zmr-kEAA9(s3-ej&mW3$&?G>`H;*$@>LO&_?|9 z%j*h24Az~~T|^3%Ev2{vDK2qqlccsbUS|6^WvMvMf0Al4aE)rWY__+SqRh8yZ>&S& zgO1MOZ2sjU-cZCIFy!J6-<^wT!#|JRUT87Q*Le&^^O6O$lWjA7tvLj(tJR5=iLR9A z$m+dEthwDrV2wNDdW8R(=P|Ljn!$W(ivja@t2x(C%k~gIypLwn7J1ct)VnSY&ctRe zX3K(Z?T}=me|$1!|=~gn6K0_|eg>K9bV!jAEf{h&LjMt!lJSsO%zo>;WyslioZ!xR_-2-7H7Xt!Ppuo&#e8Xbv#YS z6)r|D*(Y556O66q*U9Qyh=AtFrhlOQ_jsU+xqY}@`nE|oki-(ful+h|osszf)zx~l zY$`{aDQ2;WLk+F?sj%HMltV60c!s6OX3e9C5O5*5FB)-p%+bQ`tGeEhtQ zUA3D1KsX%B;6V}!TxC&UG?K!x5wOlTXJS?;tqbi}hLcg=rM+c^@ucM6d~nP0qGM?M z-<5ahQr`)<5N%Yst{}E9jiwT>p0Ajo_)10z=WR73vep~P9ioB@oM5RgAWLFjdaGW- z$6RB{;My}Dj+dg`PYmMFd+7;Rk-Lrxws|B0eipTymSZP}#t*csYk*ta%n?3frxKlt z*z0kN*hdaA6%TSOjJpRW%oN71+SAdN28C?x^1DswB5Tu(PFS zBsa&G{Jf9sjLlH>C-hxaVL_!xW6I!F?yH{KE6kUv{P%1UQh8lNR(v0KXj_!+o5ibteT*@*)Su#_yc(Vl=RQ!U?R=jF4 zO}PnB=KGac85Hq8QRXAeb_NkMQ@3Yevmn>a;d4J4x&mB zg#pChf$;K4F(vYGK-%Gq(cny+-QPz)6q1nm-k}sGhvqK4QI)sZezK>ovI&}LSyMsF=v2W~qD|0n%C|FJ*q=a-0f{ai}X!G!BQNNH4ozO^e|Zr)g$L@88# zH4~&uTR|hu!>MU~lWF@Z-|eYs1xmxa0<&`{&XsU9P!%!H3`hm!s3AC60fsxu9n}Kd z4Is_<`DP(58__{W;;NAy_5kB&=Jp{vs6sU3ghA@If9kZQ=-#lvH9~nNqJyasWVgv-1|sg7@5`DaD;=oKA%9+C^S+U6fEns0~qZITf{T z1DjP)OgA6hY?WR?)v(-Ui(r$h-GCa1)U@5|odDs@-gT>?AUqETPvU7J zNZgl1+ubIcBzoSayG@(5Y2TA*ejhFLJfy_V_u1wpCOsH!Z5^|YC!nIO9dB9Hn)~|JE;&=FtRtGLJHtQkE;zZ*@-93c4}e=WjB z+FG6XDKY&$22R&UNsBJzhM#RI>pYyVzxxn`XH?g|YB-sh1MQy4np{5Udn-HFdSjII zL>xkjgZm90Y5CNA0yW&AIO1wesEa&&)2$|9iL}VWtHgWF_M^#rhmU#@ z-R?3~6=u{txf9n~C0M$Yu1I1D^oNRgj=87C)>OSzV}rB89ja)PZeKM0?zUZEN7xb~ zw5I8h*uppq=G0vvuc&lqqota?PlP%XD#vtru&oHRQF}$D+L$eR_PbYr=Xe3N}}n*9?^-0s=KT*us@v!1NcFEYKHf8`V< z9W63(#V0C&`r?Y)Ebplc?BgxmM{gM}+giAKbla5=r&aEz{71ATq=!bgwX5uCt7>_f zvrd&SD79@ao}!XHAs>i5C30S?a!*c^;PqS}M|z9>`EvK?M!TQXD;PqwMnKMw2t!HcHK?DRTYY$1i#a zG@|HJDH{36HVV99RkT$0|BPix`BypsmPlSkGf2`dUr-7Z27!_w5LSScBkfR{|7x3x z!`L&u5f@2&zq7UXb5xVF_j7G3_Wo_NogitZEZK5}X`$+W5e~fZC6aV^jdL=9JHxdK zY~NmCh3?06Q*oaLursf4Ay~Orm{|Ik)6&f5g`(pLy%W;uDA?p^I#x)mn=kJ)z6Rbm z$CPDMPOPPHO|>i#x0V z6%gjBS6nMlRGZA~h(&FZ9@;W7n^JtwJV(F$rKl%XkX4~SK)M@AFcB*fA$O959z&$n zRFGM_gV$@w+p_DhDI|2SrR0Ao+46?rmLtRiwcs(njTAB zf8=|YDO(GMJ(9!QU#Nb~hm3J=cYQ6@7YbY3n?oZo=vDVdnIziMX?z{(+Ovg&uI85~Da624rv5%c zt%P=(`SE@a&=mtz!*K?a2N;)#{X>A*y_AvAn|gk&?=BKaiXT~zULq>66Ep1^;QRVroj3N*DHYt`fDJlvVhQyL_6!!^<_+uI9&Up zj8^uuQ?sPZ&^yp4G`0KlJo4jakRzp>l;k`w!7@iPU@*&Rr(ao`E&S+~*^{HK?IN%8 z4qW9+ZeoA>5Bv9m{bBqW3r1W7>KYELV=oa*poKGOm{x34ReEa%soxetjWBxExUU$Or zeVQEI)+sdUDH~`V^R3+iw(Bilu?4K*UtG8A=1uueQPj|kHX1WZRje~5FNr{_%%Cy) zZZ*x|ui0zcU^k-k>Xv|PBKu?TsGg*rE`H`sI_Y_h>gdAo4q5{Kd5fQS88Y;3W|}nb zd@HbvZzNA}p!0fZS=@g~l)YsImxZ>3NsgRLl6MJN>eXdaw2XtC;Avqe9>Y2 zEZUneKHA6l^gqFPxwId!Y*Rr%adC&mvpd@5X%8l7H6O^C$?V!ye9`PnzsE_j^~+M^ zJ|rt9<)Z@T`x#C`f`Ls;XUllAAGKN8`6Ct!!!nZx<3rWw(z`6#PLdlvFgWtqBw+Tx)$ze?0LW=+hk&yc zR>#^@ji*VD7k~5y&SiG{T+NqN9;*nb$G6mruJ}OF623sZA#6qV&?8nxRco39m99t! zZr5nWUm>;`_kv4(fmH1TMP94DtIT-Y$x`x1SUaAOn+_hooo++eA4hCSATC#ut3sR9 zYWc)DfkVXnNMoEi^CAe_i$eVyy0gr8PdF;>0(tRdWO2rN;;%rB`z5Ue7v01d@v!Z4 zvpV8zCMGeNF@fBF3}3MAdlK&<(H*bQP%}{_>7r1|>k0x{i5x~Fc*cu|0BMFQow43( zx-%0%d~dA!cBOZrljWxXRH40T^Ank_vI25g>Ur|_1p4s6x{?)$+W|=}IMW!McaldV z(HJ1`fyjqjZjLn|5Sl;ZDaiE<&gg=4^EaDZx!OGcl1%(Xn)u&^)TkVH94$^*!3Pxg z>>OD9+UvAWYs+rq&r`&<6us?HSj#_YRGeh(srxHcKpCAo)~DO>=`QsI>Pn!@a204* zn2oaz7QDTQV(fDxZ*NrS63LJs6zZ?g28Co1zWu#Iy%gf^0uIX(s#p6lLCxx!jO87Q zrNWgimuajFZ6j2D9NZ6Dy+JFn z8-3i;r=bx+AZ?yp%D2AjxKZF`LU=-NqQJZkIH>n z%Ow=5m{9~N?adIXbf4wP2cS*3Qbo#`cM35Ez3TUs`Y`m4ZM2BiSG3jr7d17;EorWL zYA{*DRX-1SDYpvSVi}Aijb3^7c=a!~9yIK8S~p&U9<)*jTLit;2)J;354h)}S75nx z$8zs6FIsOVT>$O9$1POxOo1HXK%NIgN!26)<&Ckw@7M<~DQz5}a**mtF768y`-~z7 zDOZtVu0dN85~9}26XZvG$2*x4__oZ-!(X2<%?ShwAs8bi5`xDyok4T9x`NH26etL> z#y$?iU4>zPYO{^a@BzG4PMm)KGO0HlZby}w<1%{-NJ|~<=z(@q4ELd9ZER+A;PL1n z4Uul&c!@U&w%AD@Oo49%-hw?J)!tP%-c!<__(OTEC{q8uyc_=j{|bWhkMJL8Gs}Ty zPs|poPrQykb%~YHUhA95dw1sKe1)x8!~DGQ5_S=63fC;xW&+Kd%e3X>NRqvefZwTn zcMXp{R1@!I9%CXbN6UyUF!vMez915ct&j|dM6SI`HE&8mM84ginT<_Inv9FT`e;`_XPXUXOkz!SQlwN-;p8rzEw1>B1c~epbPQpIn_*t1K zGMy8J@Jd004jDc62FR$k=xv#4l?%uKjSkPKd-8g9mY@ntpD5i znFM@FTQpzEU%AE_IP6zS97S*MylOLiafg#$g!cS1M^9@nOSBMigC~>Fk^0QgpU(P| zr9avFv%mi2>QA2jPQ-RV50d~^q6xkXyw-&W9ez0 zK>?=9OlFZ9`;6bkxm`=6-=>#F*QL|vc{)#$(dSi13f!gTo#x=W;Vq-fJr3VbV_TjoOstMIJ za|)z%OB3(o>O2S`UcxQoBnlyp60h%ML%fy)49`i-niUyoX(d}0f!7EZ01+8V!mYRFwqtCG>2mD?6Jj221z~)Bu z9SwPP0dSd&&f$S~97T!_EKK)?FwGM>GTl3mkXt~rZv+vUk?xhc(U%{j z+(8PW+PpbkGhyX7;rK=DJ3+Uovr{hS+w#gmErZ49;c>r?y|bJPv>FMGv!RB}#>%7k zx{a?$Zq>|=V)?P zK0}TZm1Ce4JEjMKUJ(dDk-T*87()J=0l6-+Yr3~Dp~W4VpY=_BJuy|UVQAjQeD{81 z+7IL*g)ajv@K1bz5b%0Is309n&U=P!)=*!IjuY=jxy8II*x(jOSunA?JGJ3b{+k99 zrv$94qKk7gLe($R*BHcS+&~GdGz(6zbfG4*7h0;89Zo?Y$r<>^>-@Oh=73 zn&Vtid>re%SnrUcdvf<6h+R79INh9+riPEwwd z`2}VE3lOGWQ%1aasv?e3#LF(?Zbclci0Lk3lp;=2!~_>{r6P(Iahr=6por5HaSajP z6V?S5=<2F>S3%WrKII&O(Yz8`=1m9+;|0-pg)E{Z5%U8MF zJ1HpNJo=p2#%+Jo6H{2yIuX^+pRZ*m4!Rl;6b3xREUV5pqet1*#D3-+T<>cCQ#(`` zqrxrh`f3;HQCG~EO?+hsE?d~s0lpSsGYpXOqOU5S@SbKhU;I*c`X3-m1=&;B7qx_H zZicbEQ9!%)*3UTVG^|52^Hz&OH=%GDMbJWcX%}+o9tf^Qs$bfJwY3u_TCg98NL*vl zF>7XuE^87qNN1GaOru1mv#!9e(K*@Q3}waEphXld2-SYYKy;_P7Tn3U(4}vmPK}Gq zVPKJH=EE9|^BIQbb?Jlg;xVf6yYV{8XGT&ZQCAZs`{FXT1Bkqz4<;Jzr4$TEK2td= z!O{6yPEjVHKE^hWciV$R4XG=khVo9o1^*b6Qd)gUvvM?Z! zK@!t@aVL`;Hia&EoRU9CCf`J|+)nqfQBI^hpK_6n*Ir0jY@g^?fv;|mENvW#yg8*4 zwk(O2nf0IxJ5{7tMm4MA%_}}Us2HN|N3lw7H%A;~8P4A&oh~THd*){x#}@Tz)+8zZ zb_QubCUN^zeq{a&it z{J1|ILf#tXeVx2;2iZrFUF$(39k1Pexjr|VRhPkQnRfhIKHF&iiog+ZzV-QRqqzus z!sj#gW5FUmpTQLKHKUyJn60p@D)jj*)3&BKohZ%Tzf_AOTFtlzfP~LJ*Sbi&c+KPF zXydbwUvT_?EpvUm%L^pp1oio>)pVnl9r^6vN4Zi@VPv_KfX_bnQ|`SgND26?o)pJt zNqZ!*^jq;8>o*7)@31Xxp0Tw>whkIfBx6qUV0M+X@#x)<(}c3?*>*CsCs33sKkdbY^bRGj@|rzE3&Y=ouxG z#?gM$pyvq}kf@VqZrrw-MVAJ&3C8VHN4iq~!*cqL^o;o_2jN!OaopZO%Fgsm``XcS zFYF)heYn(@m-&vKVNK-lb7PpPc;d|Pxy$~`mCdomxscKG&vzKUtYcjjCeT5 z(R{B99L@JbdhIMP+5dq+OqG`#&Hd0d$;Vq@!JX)S8uEr3D^#P;$0Zi4;v%9%_kuee zg)X4CMfW{!v^n-wjyAgQX3<<{p2FSFTJJRIjwTz>{VSx+j(mK?5w6sKPY6;1KHkGm zc{m=V1bn=;M?m+FAA|(2^hTQ6VREg^w>Mh)2OlGe2=Bl^1G@ zmos3{*)VvW{&=?s^D`tVpbeU+CL_n`s~*o%Q4tsLu+#Bu1W=pq;@g`!-^pK{ayUk- zl!azFo=N{?K#rCro6Ha%5mCMDo=4yj$hH9{uM;1#X5_wdWtX^>gKsI+?*3?5t$NJO z_hT_GFcti;9%;8J>`TkQcif|Ni0{C@9o?Cz5k&dtUs{8`f=u3nl`50S)*CNA12BJ; zxeV1}?%TxI?N7~#v>b{?O8kRaP|{+NoQTM@OXy{{KHr~^eAm~~TUvzrM$8jkSh(Yn z4C|kjah>h`1!-{*Uc2d zWexWh1UrXxQr>!kX)hv7s^Fev6GbipObcLHcFQi+NA{^IJjxy!sSI%rAU(wsEy`uN zy@|6fZ7aQ&(seXa$=TL}os!4g1EfeM*LtY>bXq2|SC14LTos}hwy+Pla#A=BU21*0 zTTNFc5Wzo1Y+YK8&}WIU)l6eR)->F@RI_guoKp5M%rk$j<@6GKgWk8;ZfykClXc~B zZfY&wPk>V$;9mszKq??zedXjzjq1r~Wi;b>!e5jX$c z@u{}TP(;mgOca;FcdvC2%JXb&@#cqU$UoGOjZY9e#l@~v>;}btuGq0Ic9CM+GvW|5 zjfx*eJYAD#OQ$s~&zQV(Nf>N1fFoPvRjIiTaMz4U+RSHfuebY^b4+smEV*9~iIizRl0=IeEi9LB1R+_L?ELNE+6gG{K@KwTUqp8C3L!@QzB+@!TMq1(FKxj3;jaOrv z>@_y^qC6eu?)#e$`OxE^wO_s{f0&gs-6DXb>5pXP#!4r#3R_0{^OYJJ`;`4!oy{^N z4d_UyA&!QgBq?dfaN(6qwLnDYBQgLN@Bk)f#TCsTGtWB)ekj=B>U8(r*^J_)nW#rz zh;(QYejp$mJT;?@0}4Tn2ik1fRX>mKE+x*}0;=}gss2%N<9axhnVI9)D z8g@k}YwT&HZZ|0K{om5xa@IaVr+-}@+g2JcDrl%{hF%FeksW#F5GEkjHWuvc&vh3? zxwi>8JRR?F*A!HYhOwt``GW2pt3C3rmc85Nr3M$!bnM|dv&gino#!%xmEUeO0HfM3U!~BJH!4yo%^c&otfKU zf4Mo+{?5y7=68oPwS`0!G{n12yr15xy#nt{ZFO!I?pI9;Ir=C8LfVA%3V!$3mRu#~ z;VvA^LdPI-(w`UblW0A{9;zOQ)j`zhN)d0YF~?nGV~!V)FVylaP<5^_NS?o}yhCR% ziLraOC-;r5#&tC}jfgtYFrknP$$YaJ%bxYTzapeMx4Yw{c!&4zQ_oe-^oGNKK7En8 zoe{Vgr1^EauEer~+51i_+d8)!%RZM#Zs+>6GL+=}zcHBSn5*wj;V<1MW^Z;&TuJTr zdbfh*S_JGLdykcRE-8R2JJ3^PqQ=E`3BdM0767{(+3}80nfMUJDE4*akURLPr%K9W zeIOKc2+JA!rPqPhpF9TdykuEqt56vASYD)Payq> ze&_Tb5USR^9gcU+O-$a%wT?QX&lE6``KV^)*pAGR{jok4cUZJ{N1hjH^{*6+PqUp& zU+jNq9y!=JiqfmQ5@=J3Ya2PrHv6lAnA;gIpqg|1eR71F-y!TD5FU*@0pWX65w1B$ zeKfl|w=1m**G{p&J!!~A;N9~Ww#y3t+TM&oRFf^e(^o~hX#9tnRJNq8s@!Vt1gQUo zF^2Tg)dP)HpW}cI)x1W=CUBqKJ6*4K^714r%gk#PwKuhEIiPg>=?Fcx&26i|=^C0{ zlFp4P7Es!5&qFJ}Hgg%TrJ>okAp9tM>z1;S=~6a0d8TFS z(8K`}inCGtdUmP&oDO?(oVGn$AMZveU%%-S87kOs_wv+hH^h(CaTl2N7|qtHubDF( zyClu)X2okYnH*Wd2zE$a!*tZz@`KZFEvsz%p^a6BVzGEj;g=vC5;pCU7Vf?syLX~g zN|T1w=Tu^MDWQ1<8&&G>`QRSR(6<9goV$m0EJDDaWNtp&X7*Ywa*kEAQ&{yIT!UV} zWc@Oj)Kc4QbJ%EAw7~01=LYz}>Ln@ppHluT^4pdTR|-N|gCM4qEvP$*Os_5WX2pI0 zGUjSVMsj{B<$h1DCMb`6Dk<=RTh8Qmf{NIC(s@c*M2HME-_c;psAm5`gqSEZ>B{n$ z$9{%_cWCjsy8d_2x!6qoO3xo&LcRUX=ChdRqYLw$6E}iT;XYDnFsK9-vF07eo9XXc z$=Ci}Rml#CoKon2UV!{Yw2$~gAA;CzZNYhM0NHKX_HPR|0H80j<+R0y z+k&}%P#BE|Q2!L3?1DC|4QKkN_!TZ_!_CPsr|cCLz>;KSb?&B=@T`!S z8N>}SwU;S0FSm*;CLcve(P8u5U>C|UU;3dz=1D*M=tRy^W}utTrBGEnU#+A2R|%)Uo%xEm~b@&R6u1 z)M)jxDIr?-he!Y>_193%goEvVfNb<8$;uQt?yhe&&*N~Gefb2l6Ix!)tE@qrf8Swu zY-C%*lWcmGOGHQuRbN258k?7LYWrUmG7{-zD{^i}_<0Y$l0EPZg z_Zu?bZYgJ8=6Mfeww~<@8)?D5-_KPSE_kPO&U#LUTH`#72C5!4`(ES*$FXcCkiVi| zTI6tH*H7Sku1^79A@G(99e8_zL+4j%lJmPvvGUpUIMV@qWLr7GMrzvRl-tJAxyMkT z#nqg9u0ztb}D_JNGNR52^J1R+&#C#z;M(1b}HNi+AOBE<`%t?X_2ItTo^ zyl4xGBy3BpK~Pr>wkQReDBgq}!$TGP9eZ5yW_{FrNs<{l zdWW6C|GFOizr&f-;k`|AQh%zQd<^S?(O>@>y89X8bs%X7v_FB|qW0qwtkt=itne#TC!THLG8h+irP=wo(g9MHjFX!8QLRui2 zlY-VtXkMzKWIH^PvKIQdm~art38xvjIA*A5Vwn>{Ut@&b_arZwm~3E{ViLtd-I?Y$Xzo;VBfw*0hHFQ1Tl$n-%_}n9 zUSV=nnQxKVTPRW>p{mHw2>PT02@imhBDlv4EK}4bQT2EeO0*`C^N6K z1EprTAZ`@I`iN_BKW~6=T*)U!n5Vag&4+$kj#sG9dOlNVn~$1G)1@$a*-C$0;8Zr* zuk4i(tb=W5&DPZTDO3HF2T0-36J?#l|7pB273$L%6!xC7oa@&e_U7sHH2dk)JMTqe z!gv>+S8>{K_8J4g^e)-B~Tg7o*cFH@bBf{toap0**CqOTPy>(Qtn^hmQ4*5BTwK`!A;|%$6 zUlsD?UTYSaiBu7Y5tip(!zNa?LFSoT7$ie(hP)e?AcM)&ynKf18}=Q*CA%_>SHz#T zt+rRla{!v=(^~Y))YhJ&Pb8z;kh9*Lgo)v-!cfgXM7yWuPP6$YsvDa!cbi_eI=4ma zabeGNJQ`jbYgl-*6)3yK6{!h7=@R4t4M!^3Q#TgYO#m zEo;Q4SE{7nZgjX766Fn5%z8g2Uon4E%nCmyPcgj|)8xl2Q9VZ~W|kkbNiq8==1D)M zSuvdyGug&qZFs-3kZZ>IpP60@pJ2WaNQ>D@_q{Fn)}6j7=>(HWuezjc^4Y92_zq-R zJMTWeoc|)=GVdk&gLzka;Z({uFZlw&4joAO=x{f4wnNt2J&Rsn6^T%pLj~gJcckr# z|Fo6TyfqR6!m}lkH$UKQS4ti!98KHH=G4;PZnQd7^AL4w5K3ypMvqJ4CUvZuTg5c4JE;o-w|n2ro!zbO%0}m!UM#8d(kI|DASMZRxQa1 z0^uN#sepH~d&K9*+q9~(#uXsBm`HQPUtQBye3H}(j10>8->MMsa9h`hJa&V;Z{TB& z%?$@-Mt^A+DwEJxwB2g_IsxZ`vKQj?D$!sCC1_*&VedVp?6b2e#dmiN{!JFBg8nks z$f1R5U^~xd7RMA@)-3KoV-qh+7;oTBPXNI%%OdoLcKJ+|6Qu4)J-{^v)4ZQhaoaQ# z;i>_lr<2T5%d?BkRDON&TOFna=5T9=E;e^q04HzD(9!X~smw%_KN5h)+y;geH~w%E zb%j=;OCM#^Ie#0ZcO;#w*SUj)+(GJQ2%!Z@yV9V^uUVAgN^Xndq~k#`@g1b_{g_&9 zOMFXXbP*7aCA0ZVS;?$7!SO+J{|9<0DTn$k&n1afs2J~~jgCl}8c<0}t6w(BB%+sc z6z%x3L43)V?Uy89|DTx7)=Cksi~gqCnaT>&A_ZmfDb@w1CmANrhir*v*-KcmY4*Ha zV#ek+pYV+h^sUDQK|FVjld)4(H!2ew>WZtUUvuaIKp*WT7VHYQ)x{6f-_uC7u$g; ztz{I|=*hbVp!$dzmU4tc6GSr+%oiWZ{527w53CpVjKVigN>YA^5Fo?ou@is z(a#RR*BNJa>LG7hq=zzXA|#)}M^Gi{f>;8U<{{r@aFyx@QWaWHd%^P3x${IsRcvy4 zyBfl_hBK)_5BFtJf|M=%6$qvZ@Ku>AMh!JDo#v*Y;N@f>^yv#hqSss|CLe@Y)h7^5Zfmuo-niLl}{@N$!f z8$)S=6C*ijH;zO$WrdVN%k1A*u#3&wo=(^mAZZ)Kj(M~Xp=*vndI?(J<}s=Q_@pwI z>7!F5n6*nIRDC3_2!?i^Ds#^CSN(chu0wyKgY$Um==#{#BCytHbXNxFK-pxw$b1UM z){bDsb+HK#R+m@8bj~hRv1&5)@a8j56XUd5Y@YO6scP6Zp{>uoKuENW5)BC zDC&A(L0W^pK92`A%#$Nj`2yRhY3$CYh*ig`Hso?b6H6eZ!tv3WW)?e*>+*vVn189t z+<_-cjaHMGt@3DaMW|1+HVXeldG<;P_5+7W}j@@VIKtQsi}{qs0noKo!C{3ZtYk4Y^dls&khcA z%`o?&(O@p|KWwu%(G1yxGf1)a;7i~!EObMM=caQc5X;E++MMu!0sW3CI66OEmvd}> ze$F{(b7T?zUXv#}K5Ynnd^aXpF z-!sxobhP}t`l{#fk9UBRtS*ArRzPOJO==azg1g4Wi93qAJ||i)gdLe-rU_e$JKk>Q z7HF_-G~@iyqN8s1*@jTf@1OwPWLW7Qlk32-g8p>`V#evf>`SGSsgwyevL_x?NTE*& zub)9q1#c^L6rUs95J1YVf960O9`yYVv)fCo?t2GdqBy%t-8a?xKNooaM8(%FBz9Yd zoljb4**?{@F_JwgT20L z9qcP?>??2O5MRYWVBL0LU$tFIKvVqF0s`MO!APU9ziySqm}b1hgGw)e`_{)vaD z2~U)mLO)HvHVrsQS^Xm@Fzm5bGyNZMgu0jrb*E3bpjVR}4GE;BL4ldV>o6-~*qB9J z=|zaBi|oOY5v17`B_>jw>4z9l2|`e}AvCi-ppu1@>3_NV5LV_vb_sa%yLL$|sIjK_$5uBf zUWn)3ECvz#@Ca4EXGi)Xugv#lp~uKev=(r$iaH9m)QM6OnM=_=)xUZGE2uiD-@D46 zMX_}HGSWNC4*xvXaoTJ`&0=}SIz5aXmd-4!XYMX|r+&s0QiJ9vvYtWW^cS&Y7A`V_ z7^2oqHd^`}H6sP!e(j+T$lF(AXetV7MeJSI13H>%K4kea0P#>Hw7fQPvPy}01!&R<^{lnBBY_N~C**0J{u~8m@8DPZ9i6Sd)`Oi~LLf zrgt?)e&St-=bN~(##En%i>4n(`EL-ti2#RnnN}dV3KCeEjCib^75_O-7OP%Tt}VwNeqWN zbV`RvD!KpnT?Sr9c?N=BOb*%|J16KruX)vf8{jHp$4uVq0RL|#E8TW`vWnZug$Mnd zq-h_jDb-P$zWgy~poeNgZ({hAVc^J4)$^7U4-m+%V!^--S%yfIk)FgLRC6#zYi`XU zTH0M9zkG%T#bD0Y=PX_u)F*ZYzvi$mP9iyp^{BMOd3F&JjrBIZRNWGFiL*o%lqGr= z@;PaVYN|9{*w3KBtDU;ygiEkgf-P~nk<~unscpNe+Uh45li2P}<|)pTsLeOq#EW%U z!YwPJ(P)}h@!{AP=1~kK;3n;6;UaRVa_;O&zUJD=IrfEAph_RA8McIVKD-LnsRdiE zc(sDbEOdvf-XOuu!CX-bg-;sSx7(8O5NkwbF(kB7qY2*(KF!u$-NT2-H+}t>Y{f8! z^R%^ccwFyeZ>KP;>DvV<4KpZ%d_gt~t6m(hD%Shj>|jESlfnyh!O zn+P7b62|#P+XA$o$xOtu3x;rV#CiW*X~%LWyQo)uxw7Q^7-YHVPqU0Ai-v&aBr_Ed z=>;=z7ke+tdq_Vk#T~KhuFhpe^T|}dVt|Eryh`FLizZ0f^bR4y^uhO8HxRs8`g1ce ztfm!-BT;|RZ`}U-&{9DEe!ezFn7znhr=7YLOlvleyXE&+bUgljCQp!m7fC6rUf0R<~TcdhS zIoq4Sr{voR%JR;J4PmyrESS$j@NqK58*kZ%j&!pV!y?l=pG=8c9m;#AROg*ag0E+e z$_&Tv$gESP-iJq^543GpwfkD{$n>sa2nPHAJI41eS{ljhzSP|d8`k^WP(7S?PTJ2o6|ryJX`ac?e-{S96(Y-CrKOTel_oGM;^}t^n}h2*goRbz?u2#nzR!4$NW~xjW)$f|vRx z>-r<}SsqXz)SHWAkpTF~zO@~odpEqBpluroKxf%yS|Iu{@u9=!-D}zMJ3e_{M&+Gx zuq*Fi%F{Rr%A4^G~j`P99Nte%0U8Z>aoRS!nh(?Rf0`sLIpXMcy9jSpO6I zoy~F~86PO`0J|M16;#d!6~XxzUb%Z+Od%L~dr=MauU`$8_LabJ?9(KjLeT5$A3>S6*6)u)vOu|AR z4|i^E9?Ts66Mo!3W+}mceSUi;HLjR#A-9>%mwy%Lu9`dW@95qZdx*@Wl~FDCzEED` z)(&D_cZ1kel^yR={w>@6*?Jc7-b9A^_>{$U+HC|`N{hY^RSze{=jF24x8_otv-lj9 zn6*ndE&6-AQ1yAhM1OA|s&*RLS($xeKQXsu`1g+KzAynT@gRj;I(u|+L0b01Dpo!F2-x{B7ciKtjcZoI=c zf-ng{4cOjU)%OxnXT^AC2M$; zihJ3VH3^Mva}5HMF7sOOs_6bEh!QXU{Sr)w*iYWVfDaRcAa8JizxmFt6IsZQf%K+} zCj)+MBqq4R?QH$j^!q_6C!VnM zn1I%vAWCd(>aZ(qv5x%Z#MCh}LK*u=*unBR|AWc54kH`BwvmUMM~Mm7j>$dTJfRHT zNkhh3*K-5m#ME8G(Ejr?)69(s`|{}ajL_XWLuDbuu*ktKwLhsgE+t2=AWm?HJGdhh zr}E;vBAGI3$F*+XzJ2SmgO(gx#lMIbYi#tgUZ|>q z`NGj(cfW=APL5?CQElQ$#aKUB<*nKm!TifK{R=(m)4#3efA;v_YA&@X{=d{e)hs}Z za1}@5=JY-oo%nI=A@?F?Hp$={L4t1PB4t@7_xqZ=UP;izRbgFVmRL%T_{lwOrXMX~ z6@RfGuX$(39KHP%$rTn!EQyt)hadkV#NG{n%mqG#EJ%vN@e(BSdcEFQ?e(A__|m^ZIqIlDNw{Jz}K-FodV&go3SH<7wyNmFb|k)bIh+QT9d z=@-q&O^;{f7V88p*M*bSYytaZFL~GpNVYs+xM&YOZU0d9Kqf`k2X?nioBjd+*Qw_d z&5T=o9s65lcdMDjG^v))8Bb}?TOHWhL*d@);IlkbC{3K0sL}0Ketc^?T#&N>XVim znjOhKB{X|X?g`<>HJPE=dbO?7e5DsF!VjO65-vyy_e=?&=!Z)}vzx+=&6)0Vo60^p z-058#73-R-^J(EuHu`wQg=TYrd8r@M%R;%-qLlD)DdAK7aG2-X8aKL!H^Q-BqN{tA zG;CzyE;fU%0EyP}Mw3@MzHfSLS);d0bal^8zsTSEF;E%dq3?tnTOdOc7{GP_uFiG)s;3JssBhZJBnB{o*(3 zU9z)$9Y)@UX5S|wm5v{{TkKb6@`m;8Xlr(K4Q&fjIGO#ca3WIZw5xY6Xeit~4&J}iud?q#XHox zXKa3hX%}to#f6@s*;Q(xMWJ+jAKpjU1T1Mj7JfPu*o)+Du}$j5=Jv_xK6}s6q{$HZ zOPW`VfoXa(c62_lJhs&uQSNZ$`vWUti*!s-ezp`Xfej2qaL#<1U8vA%-wGn^Ju^$t z5^7J|j@CM=Q}jQ(glamXLX^&tg;$!;-`dlDOGs`5F-N~;q0^fxLZ@#EM^8p#aV;3; zSFbWAlmpJv(qaP#8j%YV<;${)#4u{&mJ!(#YOtlm_;xm?cX~=xZw>=*M`JxPfbX4} zp|_u-eQJ*Ou9S?_xC|H9AvLapi-V>~1bXk{;yR|rbp(S<<~~~KQZrLiGhJM#)VNOM z*fmsrXEMjGsj0iV9J{5)?dIaRNwp1^&MvM?YFrl=w|i>b?$pLk(Wz+6E;W>z8Y+)> z?A?@+&-}d3EJM=@pW?QmjN02ez+bit_%5onDI>%6e^s*oLw8S5H~**I96f)Y*bK)~ z3v=ow6*yAcQ)BbvZc!F*lB^HBp${~Oo%%9|=)m{MnoDBKmGiy23;*bhJF$P9f8fW;{lFoiD!PBHFtivw!hTeFY3nd9cxT$3`bYCH|aT4q8Q$Vuju~o zdX-?lKhTeCE7hzZj^-RWelMEiGHh|s2|+90|4G>ffir6}jzHf&gskDB`Juai22-;X zk67SbUrU61&)HIY7whHv-hG{}^o6Aww-2$rE0R7^=;G%qUfy#1W=^#qJCj&*i!Hdp zdM;k4V5vS_vT7fs$~PXw)#j9Z^~n^!UP`A{D)`kDQB*QLqIBg{MdpCiB#e9|k%f$= zeQFY0;cTTGu$h%x1<6eWA78T214-7to}9kqE!q}}YJXsui=GSns=SZoiOh5;&AayKZ3xp7!e{31Q1(mhjXd6szv$NEFH%N; z<@$;kgPV04nIMJc_T!VoEHaP9c0Dl1Ncu{mg(2R8xM?|9IOYW9ut&k1K`sdcZGSIc zwlR`bx@B>CRS{dzvP*e%V>&Nuh@7AxET1^ej(23#&*iZd zK7kfl-_M2sJ3sanV$F>hOaOu~IVwPgcUS^sgna|8HD3-&L24wUT+3Qnbq^ErnNO(S z#b!HO1tJxML-r)S7PN9Kg5^caL(!AT(kHg;?AmEvRk9{#`&&CYGpOzVW9?1gqpYs@ z?*sxy#ZKHXDr(SJqoM^@P(~9CI?+(0f}*0LC}OLYN>Z_+1~a3KV}!QYx{FmSR&BLa zga|`e16mbv0aq3m?n6LSD&PWnzrS;znM_dn|9{^1&F2I2-0j?R&pr2?bI;wX4_y*# zSiL!x#O^tB^BKwNLcV8L=P!;O`fcpc*DLdx4|LuTdjfdZ&(gaWEy7qm7^1u3aU-h6 z%0Z{+Ag;w#T|QHRk$is|z9JV} z77?hv+nPeB#<`Se`g?{h>X1=rsCKF>U_T>+Tu3vRuPE)UXCt-QKg6AVjF{3J9uFQ8 zk{wxay_?6pT6mp>IGYahpjlRc)TXbrF)4A7V)@rG_E=)H%{Z19iNE_(Kz|bg{SNig z&as-df5z?{Rkwl^3A(C=dHGfS=0zGFFgV7z$~O~7l=4j@9~j{;khK%@*OG_KxivUZ z-UIQC+FB0;gqRUe>U2%-oQ~34iS|C`%X|bE@gE}Vd)a|v^q`R8Zlw1N9;`+rWotQ% zT6FC>PaQDYp{&@T*9kxe(Ncb!Udi;1MCSD}cU~n1AAzy58%9j5;T8N9UTDK%ItlRg zKVo=?HZ56j+X0v-rLji)jZEFW{<~u%@iiE;_1_&ANt`0#H+7P=FEaJ6(tBv<>{Ugx zR~GL0io$;TB+dz;y+75(+J3@FQgrI3=E*-QIyd4OKc7*U^2qCo%gvr~7a70H4n(2uj z9^D4Q)a^s)(-Fd7LkKTz13})H?X=?9ju5m}T{vj_W-c8b+dhPT9U)8zAw0efgz4Ld z5bX%zi4a25HV`ImA3{Y(2rq{a{;&;%zil7FfQ}IU7(#e*8wfMD5230fgef5edHHfF z`KRqe7}yblt^rkFOxgy5eBZdum@bt6gs42bBam5S)(cn?sVh%zScL=2Jer}GYkX{Q ztTA@}_?q*AF0#06mL|Pb$DAF#m1x2A?4UD(Nt*9_tIFQpI5W)oZ*sQ2oh#rqcygPr zhHQrow-NAC4QjdsdM*SFuI)hBM!;tVlT<}61PT1@K-i9e*Wk&8@IO?~j}5Vj-WHF$C%{0|kejewVGP%9+Rb0KJOZ3l;K1bk*N zNmb-Rkig##gzX4;4W3*G|3gLO3iy{Ml}a^iZ^&dMdFQ%S42E6{^7G6^6Fk0_`5f3RachT^Y~#|65uuyku(+wuR^08Nf;+B{-M>+&SW-31)~YU_Wnol_ zepRwqAMPH!cC0ZS-mv*+kqL!Z&g_yH8?Z^KVRPh$l{|Jeg*7%i?(TkNS?k`>gPUoN zow)n>FV@hP3g$*Q%D}8b`{h3ue2iVLQ)ca^By!IjjL|qxZM*?={Dg^~5&#&X#r{^M z>&ah@OQpo!*qOUeF!V}n@-jb?m_mundY``?hy4@m+feDgO?^rA_G0huSdjfPK~1Ok zCq~xh?NK>A*w|On;ijlR2!(O;L|2}!%5gr<1V~<>$!yO1!b=I#<~tX6vW*N22?p27 zlI9Xf-G9Rz{oUvebckEZTqih(Bq&k00wQZ`EKV7NI+1ejiQd*h@_8Z!=|9^ouRZ0@ zSIoe6&kNX)LGe%P9u2SgWwvVJKUB=X!sYqaFg&he1|-i5`uT7qA(Sd+U`OW#co&u7G!}Y04cL2QMg8Z672_7<1K7tjSJbZ{rdg|`iiz#rjLV^mHi3YlswgpERz+mM zJOaf7b=-GnrS|#M?%dS=L?#hsp+BQC`L((K@Glmb>bUz0&`<9~tJLuWdePx9^c4$i zzQh$JT~6uGo|)u(n(3^pY2$bz^Qht)O{UoMsi#VC?$)?x*vqedJvizf3~yr6Md$-YV)A%d=-g)1ybkU{qdt18Mj5(oPJyc_L2Y6DW^@=2jhEzg8y?-dlutd9l3090I6J@mja$zlA(8Z|}!d6J1iB{6H_hm9_rN zuj|HAokdU4tC**s1|(Nj;tx-CS$l$Zn9VJ$sTe%C;=G*34A%yDPsq8N0v2XQ?mD~5 zVF1@(e8ddRlI(3c2q`L@q$s%!NI}*>vQutvywlY1MVXVNzAt)%GjU<5y=|D0{k5j3aa`vJ8jfYQN9U6z=kjf@8!aVu~e*h)?9v8(dft=fTtuozoA=evWE zL?HO*zCtiaKaxf8E_Om_K-c0g2!{U%pExzTkvMF#By0sz2A>gz&zNGjptG+F@7)47 zJq+kLlzYYk{Y!%!CVW8Qh4gR; zH(uLi*QxFe-xbsz*zn!{eltqLcb#jmxG4QGbh?;bXhVZ5*k9uBg*mM-RTN7NDNHQ6 z<%q^pShKpKbAJ2!0&bG@GNUd_2n^hOcNitB`+ZXP8RzQO8^3ypyAiMbZ#nQj`oDqq zzTBAoKCJt!^&jA`@)}O5-mWLEJXN8so9ZDuW%mrZc}{fo#ZC9Zf9V!bqctObW+I>x zT@l{@&HlHl@S#^WDRKhiAoKyZLszlN(|0%V$Qp6r5yV;rfRyKcoja2XT2IT$Z#J`- zen7@pmh_GDPUk!dnZ)(K1d^s9no6X5{!D9vdV_EWk}Ei1piM8YqChKjzCeDIO27QK zgT|#6o#wj-zhP|XbFRA#k(0iNqv8O;SOU&0)(Hma`JCUu$jDE32?a^DlL($350XWg z%%d7LNI5xbU6QeXY%`gJSbtI|P-$0<{6<1w~&3Bq_gJ|)ekQP@kmch3WSUiZ0x@SxbDjj8K z6;<1$ZX(|%y6MiHwzgezDYPl`PcK(otmC?w{ZCPwk0joq5ujf;h6Udc>DA&cy<#HL zU&&wr-PRM}2!+4dUF2R{Seg8mt>9EYQkSF^gJFfF3-#053olR)uYnF?E)~0uR>NFl zr~8|wu4?Z`#LYilx&ookLHsu((WpoiuYfR3e_5Dd;#2GHqf%; z%lh~b>ulb4Jr)ep=069gKByE^6ER}}b}@7(8DeC(z(r91!v1{5TU1l1NMeKM3RiHb z8s_<78YvVLPDi}m$$x&~I(1Tx_4Md?@&*`Z2t?0wa!?u1JwarqHub{8SRktK=lLqj zWfTkC_rlWK0bDY^$+h z+kdn4f}oG~fuL9U{(I=ekf53Tq>oejkv{!qrS~zmh|?%Fs}OHL%?cI?>_qqLFSoP> zNBSyEezxDAUZE{Q1CsLwbAP&?*5Lkh8_umKwd)75?{aq>lEkyGo-C!2Lo)0;Ah|-$ z`gfp$*td2Mr zJyns7ZwRz1Grmh;NtxhfeylymYKR}>?*g-;p@lKN+}(*aUeT{*?2FaOFRPLtr@#DL zMV{8M*pWNmJ^QWH$9f6)%gIL*@6ve?PgQhh-e+WH_U7Vbq$WLjT$V%XiDKE2TS*&R z+5^<3Y<>;^*yw~`Xl|NL!AR~nY!fv$;ZK3UCv47q#M=+iUCEgKi|4mp$XJy+tt6IW z>L;uC8r*TgTpL^UG>U!rpii@e6w8)w?Piac9XXQz2fseeIT+?JgX*g|fBIIy=x!D$ z9=bh{tl1my&GS*rUYib^*$RokercRx*9qB~VLH@)ceEP^$R3}YNWheambibidB{2XqMpA~!J_^DUc-&)qXcih5K zJ9L}SHJ7$HI316L{0#A1_z>@x>5$|?3dI_^ot0nhI+@L5CQ^7Wf_*i+$CPfxUn8Ot z_1L4D%abM(3uUxorsnFhjzkxF$>5jqA-a7@ivBpAPiV6bHd-)|eg`ZezlCenY1!JrjL=*S8)o*C(KgaNx+>Lx-)z@8yz|f}MIku}@?`pC$MjkWgwrTQgWdc6-rK3Cc^CU_EF_xf;2AdDt@YEOiGn#g#MX*+bC& z*TCmCGm++dl{PnBn~6~~n^n~dioPy4TI}r}B3h0|$*Y_z>R%MojGHI17S8oTt8-$G zzi}AW5Nx*(zC5}paW=u=E|`V+E-#PSomgpOgav`_+hicrQ>7XnXxW~yq>+X9^kMOo zg}V@TJpm&jCx#0)pwL|;j1iLsD;2Y4U!P~ZV%|_pD=};-3Fav9u_eoW`ELc^2!mz8 z;|ey1!6Cst3O*kO`v$iYG^bu~2Khb=A6UwBhO^+UYj$A|CgF zL^ES+WF+yH?QDpCbBG)ibJ7p(j~V`f`=Sr{-Y718d!P0?NBl&cMcdTbuuYxuZR^B5 zzLY$zce)z^t#Lah_@$7bUo{l;7etAmLABPYy?sCrZ?**og#k z!C3QGAI*Z)!3}UxyS>c5sUK?}?!#uYn;7DFGE4h33+YK!k*G3gY!!`-7*q3`2{98{uDQk$R>5Z?LTXAD>=ca z%zGn)FwN)JBk<8Qz=|Y}LBuBW};kwL{YLA~aWMv~mA8yeG}=sv;)P<9*;t zswmU}U6#|hBub5`NY2(g>xEKDE-5lrftS03F^-2^C}2ap?uPz(?&QrGy;vKwV|Vyr z04OHfV}Gx=uwo&$bU~q;_?_mrUQhXlQjWv|G*)nxc#);&C@ekjDE8fTQ|nc>o0Tgth$rhi}#q-DBkvQy@6lZOIi%3zEH z>var9f4v(MHU_KuLw}Ocllcw4xAXeZ(O_Vql2s^I^2%hSkJ`M7ce_+R`Q}_C&hVpd-LMJ;&yFsIf!9fXc)BFBl&c(?m17fN%(% z>ALf3aIh5J8jkjCmZtn7`0G*C@HN-a1yjfqj)}~G7zf{K1YIiMi?KfgUpQq3h%08S z1(OVVbW#b3EzKZy_hE+Ek4b5ofOcG|?Adl)O7>hzcBSgvvAGcfg%VOyB*!A`f=+4g zM2*NQ5rEySZE2B08pVXwHS2RT+5o`Pp6_L-atLUNXG9xOFEb%lZx%M40|T2GsXI^O zxJ`3Vaq-n2Zjtz~1a{0?tC4sV=(P3518f3c1Yf#33?+c}Fq~yzPFB?#lZm$65fKFH z?+mA8>9_!`lE;62Sy)6=aF6y;8IJKRAF_?-_GOwEcNmNN12rUjR`P-2()}3^?_4Fvi+@6HVl6_`5Yd)3QKD=Kqj3&wS}EmoFKx zn(Ao>Zf_YRWvwj5mqStCA6&AOzXjAa3AATaJ7aaQ&~>u>gJB*wfw6!k@~Zfuj5a;l zgErk8ibD73&pQtG;B0)=wynC)MqfhfD%c>P(APai2MO;ob-w#%l|ormZfAJNnBooa z#K1=%@R_@~fFoEBj=V+|k9vWru}(g~WEQ2(Cxp_+F9A)6JmK)`2D?m~C*OFm-UF z8B)jHl3V9E>a_EkXGtIp{~lz2W)u17rBs;i1Y7zwq#+0AG@+ZvslT!~NbOD_6~qr0 z;zxGC4Pj?3#{dalg=$%G;T6{$q^bK4D-<~{yoszb_GeYFVi4<$UGr_N64!FOzx2oJ zjZLMr*w!2M!tmUjtOrzTy|1achix*+^##gf%_N>1f)Hh8UFyyK)l0wb%x>nGLk)$# zF@9wY&)w4;Tl?7_rk(8(^kD$@D;$5b#JW%178a2t?Z2lKqrD8TfVY9HIF57pRGuq zsC)Rcuf`jIrwE0@f%ZnhB%7&ADU7>^g?k=ydaKxTjLlEB4le zl=$%CouLO=?+zr|)vzL>$_ra7-7%0!+X>3-WSHiAOY(fvm!Ovcw66hLWp9z1Kg9#& zfQl;wCN{XX@9!e!VNP-IY^}R&az_+X1q&(PXf!t1eLp$AUYFiE)u)uaSxse3amR{MmbPd~rgUP?KGs`oP zT(@dLcMe|B0=ve*qMAb-${0$%FaN~2r!NB*hH23Pzh-YIfr{K!5I}@13I>vzE`*On z4(p9iq22PmFb{3dnEMcxAm%k<+~T~D{$;J+VJPAVRQG|9UC?m zbI~m1s7jTW-~@+hBJqR}N{vAgjbv984#Rysx5ShDs&|!1ii>69!({i`)#$a@7vUP& zxA;J8U0)p~{xF^hS+vl7hgh+ge#>r!m2qjZc8S^4+E4Ob0Bt$qAOOm6IrDk-{8ocK z$343)2X!_%$5eTP!Yy2#(~;Viv)dnPISNO4R1~f>xVD zOp9C%(7bvj5l7_B5M2_KDyiYGT;x^#E<)rqT*)qjj;WTg`I0 zZ>yhWU1dtXRseZ#8rwQs)lBNOwr9KNqMWLpvdvzHP+jmFEHLYz*U9N_&r~p1UbNzu zG}h?2)ovX|c^3FEfH%;L{M;If+_$V4VsS9}5m{%CeWvx^cA+eJ+%s1m`wcHM!J$ne zdEDADSf?Gw~E^IbSh%f>t#4h)g&Fo4b8QV^3Sr$fG@84Lo95S<%>tM3EXe zfgu%3_2*0xyWJ&X`fA~#aH+R}y3(+QEsVfbNMvaX)7f5M%v&aX;n$~k(!i`O?WN=* zvn|~dtCg%9syJ2-7?R60i%%RvKwBM~0Xc4KmwG%|@w=F`>z<{=+oGh7OS9A9u{|W8 z<_tt}#2d(f6;hqtqtuMs4S%JwLg0aDodtI&hd#PD|o&|6wU>v_rfqRnH9UdOh5#M>9UN$adh--jEN6M^gm z_|*1bMc)Y%{Ckk@bz(hKt)hjF5(zd9BNK?N+w^NFoxc76teRu+7bvd0Np43US7LGTQZZzX^ZhX>g!5f|+tK;1 z@s#6#|CeM{i@X1E>;1%I1nvDcu_1Nj*+RbipunrCILYpH06sZT=%GDZgEK@E6Pb42S>Fav(8eBVimLe0|pNLgNdF3dLk>|k|Mo>-4q-e z*1@6K7Wc^azK+cZhu}KZ5e<`vD0#&Xo{tBSBA7$it@E0)o~o?7g;{Hq^~EqNcC=-! zA?sh26|{Koiyhi(7*00!Lx)-EMa#$a-@%9w0=m{I zFBm`xH$iZv7lY#ztPg{Q!66F%mY~1tc>9{aY zyY=&SnCCU+Ih8!KyqNpct=W-X%>%>6;FeA7rdsCV%7u()?_H{-SHy&FG7~ZlZxapp@-|bIWX%Ey zo+Bcfgf7w{ekUKaY*)3c^BeMU_E~2`l%2tbUz@DGjJybr2dB)i4n;?)NVO=RUQ9(_ z`I(myFJ)y!GsQzMQuG;8vy}kfJw~Dz5y8ja6_o6d#johy+@5Qi<-!xiJUSBZ$2gG! zi(!n{+KZGm+)-c43s10{#BSnwT8G#ztw;vpXtTCi!#2`A*@l_B8ZvQjB<UD;a0i&+z5a8RLGY@xI6926zQjEwMNFjnmwk%O^f{~Isu_`-tuK_#yrSd@|0fOd zRP^3mvNUm%Y?dC1=HNd}(v8%?9Gk93uWiq&26*zjOFI<$3t8b7p1i`_V|9yAA8QQa zB89uOgK1HXh#^0hT2|zK*kLQ~&@3&2b5yfUcqDnRo3{l##E`Y#AO2Z4P#%f^mOZ>j z29KrM51EQCB+Z_yyHzaJwUY^#`c>13O@Rp_O5=NtAQHLzcIb>?G2>pSiHT&meeJ&F~+5eol=$W962% zii<9$OR_Zt)#42;jTyGnLWVG-BA6%#hy>P=b=4ZG1xXLL7=REVvMObhM4KOVVRGS`asuJcd57E8vVM7 zsB0qo!}IzzD;b{ypS_4tR9~dIe#^peY503g_*}%I*oaTBRvkX5bl8rr;miC1 zJ-?{rmMHfT2lzEuQ2`RRtO;TQb5_Sa{-LRCN#giZ5~V1!VdSVbEBId~0NJ1FH5xbM zc(eKAw^WKVE}!xkJnfJa-5E+n5+{0@T1Kcel8}|8wWSi)mg;^%u9{H9-WH13#4CK* zfuT)O!MeS~JxZrTlZ$Y{)Q%L7h3SZX4mR;VH>NKgoM^uFjMn4aV{F}#&106-abJ52 z<8hfs%>TJCjeU~sz7zQzmY9_qol9Ei8)#;trAb*au4`D;t@x*RqD)(cRBdxB@m`2t z!~Bu9UFaWo@p5n0j`Zi+EUrp%4fDq2+*ZscOLxw9LU2&&p!6_q7?x#L(`n5MAlvjXPmA)fY|N|X zHsUkRq(yK-aE$f5acm1lV3uQ_@f;geQ9qn9zY9V}Rw6<|OfeJpX@F*-|IN>Et@<)q zAQLSTzXF0)G8NN&K`)-!`8W3pt1r6ZEPepV>3|tBb0TJ3*8{4xhr8$%X87OwSnvM5 zfCN{7a&-rME9jba)-BcObw9(L4Bj#+yxRR1w)3fek1XBYo1EPlm3`f$*{tS0Ku!=3 zjs;<2`^S>Ncm>}{WooFVxBW}?N=UqxY^{sDpT#}>Q8;QM6N)Gnd`qHyoH`k<<=bOq zj*QfXfg!BkM&k9vdwYb7ayDgEwj15Hg>CudNDKu+@Gt&z6L4q-U-~ik>jEh2tyFgv z&e32ZInp0w$#bsac7TiBjW}2YXAi;o75~vMM^M`JMymxEC_)y4j3I2H8ZQOhXlxJL zyqow?Q-q_)7N)$%-Y~(Nr}%w{-$p-_9QI>>NydL&>>gnGw%vc>df1M@+Wk#17ka^b zC}&{2xx3XSjdiQs;BaP_gj!8qpqY6cG&w$#(-9fR!%=XEPYs>W?g&fuZfp%(KN~rI zrn$e2>E0ujX3Jw%%x9{gRK0SxV%hOh>E$B4x~UpAl`XK7tp*m9wrU0EvrcB@OY*gO zudyKxt0Otx8_ZRKEywXB+^dp#w!VcW`6)N^2>lsvNfr{$NBFUAyyJ}A%Za5Lr=y`; zIR2+dPRtLQiH4G3%Kjr|sUeF5!;=b}YJmm8{RC$DE@1?M4*qOrte^*G!DTQAzdpee z-JFU(E{y0;CS9UUGiH9km=S^A5Zn6os6y95J2m-W>q>rIpL8W1NZS~rud_|X5&~%o z8}mj-mv~i126E~z#HTOJ6cCNweO3qp;~ydT`vuz$@G)d?2QkV8!SWnuMz)C&kg988 zLKWN&WP0e-e8$OPRFJ)_ydT9$IE(~$1TGTMLB4q6x)UdHqzTz>BpHgF25CR95Z*UB zkb^9P2M!M^236RptmLbB0{b$**IM)_{bH}0&8dibi_j_vf$?FWsDsn6j93VE?Ykj; zC&?nvO@FI}yV4WCrXE%o#@dH?iAm^azddUU%)5Y`J3_|bA<9X|tB^2lk$ zNto4MYc@a3v9t-#gB~kK?_ar84dy;dOa>86qk2kNmkIs@4GXwbTTC#ri5-*V4+yBxjS;&XE1okX|?_7!$#F{qt)S(RG>6Ff=}9SbJDIQP4ixgXX>ZzaA=>61KAue ze}%^3`)-narvRaTn!+;-vO%(xxRp?b64gmfZmZk_wa47D4_~l;?NR(P(WyHMVg^eJbY8V#Yf0_lDr8cf*cB|IRAW_&g7F!Qpd1LmJdR(L>g4dm^RG zPNZNEkL*I_nu3i2f_;qfAIL#{@JHe`K3Dq@5O*79CkZz7Gtnd%Hha@YiOT7tw?5dq zGerMgp#Ltk_;ST7L*L9tP39x!KMHL2=>EvqwiIez}rqEO^7GO4okB3&4AQN_46>*Mb6=DOWzMG5`q5RMc|=5EoxZPRZ!QfhBH_p z5lu_-YKJg@uc??uy3wPgV){D_D=x6Ej#L(yN6YnSL7s^icc@j8hzrDA#qKRF5U2R6 zkms_+HK4ylj=QfCIW$Qg0Llz?_uktQpbLc3QADvyF|-sr4GfZRweFs|A7E~NWxoxP z_zvW-gCOo}rWd|Kt+c+)N-HzzWitGcPv52sdrLqdF8;c?Yo2?8A<6fj^?e`15t0@n zol)Nyk{`6*6yBY3GGfGC-D>8WHKSsdSi+`)dXH|rND+xkoXMcQfnTc-&?f>qJ<&_0 zvIQbC;+&eT&?i=t`SKl}(mVG&#H69WFY;8XFcWl`}m} zAAq>;sz;!y;>I+6n2k#j*Yr^)sQ#@7XIHDN5WBxDIeY}i@N0^{Ut_9 z>H}N9a+kiOdEq?Ci^RE*DHy?j;k^D-(lEs>?N+6o!GD>-_3?k{I_C%1`&*e+KMdP3 zLW*^>ONn*9ycc5Z6arPEBtn?WH!(ML>uPcGRZh=eI$|PgQp+27d3>1lT z_69lUC4G2}_)I(;g4PJLXJw^sezgIpy%+o9?d{jf1+p~M?}@kod6qtbAVUFntJ@pf zjAqrvtCL?feTx81OQyscXOzl=<-Q}kP*I@IqI8=M)v-`LcP``jq)biO+;=fM)|Pz< zZQL((A~W6^cQ5< zOJb*4=tsf(*2q~vfbENHwel0Hl|-wtO2WNvlymdwBgsU+(T%%xp9ypJwdJ`}!7x4f zoYV7MYN_;2CL_K2fZwoC&atX$*dZoT)>FN9&-86Praph8yW=SVCrA_-z z0TPMFCjepywqejn^l##q96;p;YNWD2htT>NG=kN`o8^KU|1S!27-mRbZM155vmOX} zGpIePy0OMy%CW*rVux}||1mp6ruN^9TZ;2}hwo?Q<4@8IXH@0*Zrynqy6)|YhRx-X zyX&bLXe9{WfgbQhe4gT4*-LypTZ&aPD$mMfz5t@~v@9=gKqtZ%(t6V`n>esUl-m>c zh#FfIT+33DovUW$6IEA6YG@7YlHrF$4=VV-G_S-=@rT&iiFt%k^aNi5hryP(Pv5C% zr>|h!F~2Z#ek&@l-4w|TIQNq2KIzkimJb<2!9`zseY(i>X0(Z*o5{|nc8&8v@Q9X~ zWD-dJlOa9C3z2&$6I_s!I97?xK5>i^`;(|PMiP!eD7$IgJ4DY_Q@rUIiR)BNmMF8s zY~LZsf(OYa=Z1K>w|ra`)8)pkOup;ZU_xqC^u`*hm7>*(EqC zrr&Z2>-sAgWQIxbTazH5+H~h1stn6{wgtlPH#$xzF)E&uD?=&~uE&XWPa+d!dnV$BpJ#_VNl81;ceks=hoTq#Tm}4} zV8WwRwU!w0XL$*F7fMJw{_7#B{L}*xjK9KFzid`HF~5?0D62V7>qd0f7g~{Gy=s!3 zyw>pR?IP>cLwxBJn~g|K-{W6M>O1ULb@I+IV}_&s2z@ovh;$iwVC?2~T{Rb;y$J*l z3KL6+pF({4V?PmooJ6ATA1) zHjdImsI&D>K%GHJJwsa1OGt?BBFEKIWqyw(BKCW)6HRT?*}9LUjB^e*l^v?2H&7w!b!r=7c&`j z6OphkgwW~Mu3148KTGU$9lhe-faZdxEDw;yH}XCVjtm06t{bVVYWOm#z)^h=6kDs< zaMI{yMYiT8UwDcZC7N%!BST5uMjw9wm62R(ZZ0?D4zEf_0mAMwL9Jy0Npg&F$qXRd ztSzo$*HQHQH6j{V%b$-Ta$o;&Bk29W&wonGfU-+Y(Q}nbnfFWM=uL3;9 z_r}BI{E4A`KEf(cD?Ie^V)4oTdk{6XPD%B5JNtCtFo zHG9%;94oWb=#2q_G`U9J$4~t`xL4tXXc|SG=@O9DH1c3P*R8*Rx|L*3cblrsT&|pK znafHus{v%`NfuX1n$_&~VPO|}SJrVQ#%=h3RnHHhYd95uQzZVF$ebzPS-2)xn9&yZ zaOvb}K4+-|v~o0YRj0hx`~7@Ee5u9gSc?5y8*Af<59IPKuI(3S|9iXtnWvwo_oh+l zrEVy!YH0D7!JQ&)r1b%$lj!&mFl14Qzs^vJE+{o?o}Cste}$>I z#{~TJ3~+Ns>_=u@gp)1ZO{H6G#|YhGrT3<^6~kEWV#w)@tW?AK8o)`6#dgxM@&fB2 z6KyM5@%5?ZTx4PdWsy!D9g}V6mNlGOz^&TzdS8@#-P4GP+kvN(2y%; zo|YHvj%!c-o(XqGqvVE1V^0ybyYT!YyfN4ItO&kb6KvOj)V6Q5kUNek<%n41y1Cjh zQY1G8Br6)W;nY0EE*ufLW_Dy(h`1qg3)v&x3rZC%Ya3kFFu=$dyXa!?pU&d*7@qcR z>pv?~r|JjaZ2hM__EYt*`2SM>hJXFI{zr(*wEs`sHju6Vyr!S3f7pNjKeYefkd*e@ zRj}c8n_9L{ozB6SgGcbl9Mn@ca}nu0+(~VN8C~o}SnrA!nXAfaeSmS3PhLAqfhhfE9TU)VyTwv< zMYGCRFs(i2`c8R1qIlLwMI4lkD48|(BO-PqqJ;?wq4(U)otTQ~q6NGjd4`hf zmBob>Mvu#C`I+??op9;_F0IqrPc8^}FL=$sjlg1R=~oChVzm*~54$ z^XAn?iS!UphNFCr!^x3eJ>G7qq+vaX%@C)EB=>-{S4ZMt>U{1t;8-?)4$?3vMgDrZ zE))j)3f^36D7><&YhG{w8Ek#W-{keqWEb9*ihORqyr3}Yd z>S*b%%KDRzs9Q}%%T{`eds*0iM#Mx};Qla#*N9|$o^0*~5`#;PD)lr-hlXfqIVAng zbUIz}2eN2}k)$d-S;GF8GjV2d?VWaK$(gm@-GxG7xiq;zPWJUL$baW|dpvE*HCjz& z>~EVQxc7$q4_wJ~GUVZUE7D6=B@$3&qZpv(2G~fFEu7peDASnu<*_PYlhH!ewkrK4 zvc&YjRRDFjQ?ZX9MSKX`lCM+p@egK_zeG;wCf~}nlWyT(Gs%m;>X=-o(!tV9a>+KO z$0>Oq1VdQ&HpzD@`Dv1E<>z_nIjv9j;}NCIFwy=8+k=r=|08{GrR&~S`d}B*X)c>v z)L{28GkPCXJKd!ZWP)m!%cC7WRqb$nz}p9fx4T{(1LZ~$U`2R$@Uq>ne%w&+eao37 z_kaRp!lnPisLB1F+%Moo6r#eG&8Im>aGs(Te3NBO&7u=2u#^&OQ@+RNl6l0mEQ zWlLH=7fDPY6O*JKm4`YE?j997xpeE}_ zx;jb9a#6xVy{T=R_#TnQBoCahR)*iRM zu)lz4#AZ-JV3rt!O$WkYzonSmce_7NRkbbdB;!zj3{975OOXGH!D*cVYiL8wgx>-~ zF0nK#h9=^d`Ps>YQz;SX5_$1q;{baOwItS9SRjuEU{jU+O;PL5!*xcFek5K^rJ2U9 zu%(^4Pk9oNUfg3uzX3(RD;SX+P(-MR2`?abs=s+Rz%5smHpg6;qlKmaaHe#tn7Iyz zmpUo2X!>EjPnQEWaMyF>oKZIV{jRw1R;0g#G;}jJwIilSAWY?HDr$Yoo#FGHNj}|m zUoyb*k*R`A73NQBZOHOddN+}{#7KZY!aevq)xsA<>~eC zmF#yC!rjcz2W1O`hv0RcFYwI#4Hv)LHND?+M{ITDa8`WRdLfbWLPCp7#U|g~c*cs* zv-=Yme>?)s3f0ESn*5?j{4JX1j$=wV`?CTK!2J0G`~A0WS^Z6gM@AA;)$Yd8JKAph zSx=XEyJ^g8#<-K3d4^&h&&adrJ%3mXRdDO`_!-O)VAvKmj@dCbye*c$-0cNrWh>Fo zh4p>&>Mn2cVw|~;20{!QB^K4f*$uJE$V;!{pk?Lnix_LPoDEpLpt7JS&mC>f+Pkbx z*~g*l4nPX3**RR|$H_Etd+Y12Ke*=JN0G5F2cMhV;CFqGTN~2=)P98y%28)4nDe7x zHNf)Rsy~|$8s8Nsq8>*q(RS6w=RjSik>(K60osSrMbDa~yLXA@@!&*dX{EcWR=ZBR zEW>c1AGD^F&>>S7xnCCWHCR_4hN-~F*yz|aH91Md4~`y)Ta}#MbP07a)K3Fp1a{@k)5K)M*hOlK zoo?&9!gtJHDL&@lyf3+(K5w%0?QSqrxFi22_)s0##&EPp#+xn|Zt5Z7_Mc}VMJl@P z9n`<}D!83j8Hwe~@(89!{eZRi=_3pk8FN-rtn^1K8MiY%Ia@hjW1SRqdc)}A(;P-m zKeG@+k2}(0P@#;AAdo5*^<#Hv`$dzuF%}u{t{(F(3$7s{t--5m4rc<1C15sJLl=72 z4)00%j{^aQBP`~Ahf!r)DaO-EHR~JrTsBYQ2#OHF_KTyCDrjh%PjGH9PJ+8+E+878 zv7241QYUfgdFt3TX7;RM{A<(3&>4b^_wq;}vogV2Vo`qN_9jZxdxbiIcmv;+`K+o0 zoT(Li8W(Dm^@WBIkq>0-e5qwKEUYd0Or4EKFCGMG5c;h2AqR{pvOkgZj|Zl6mh=zY;tUc<^A z($=f9SM`4DbDp$2y1ej(JzyGbsH%IN3mMNvUb9+@MoT;N91d&&L-lWPY=UP6xzWGC8)ihl2nek7JUrnDmU z%i^Zn;5Is#e5Y~kSAj`nSp6cbpwzJ!e@Mj}Yg1LIE)0!t)7RQSfK$(Wi`nLBSa89w zVe*NL-eha6(O;pQ3@U8@&g|CCG&Yt$x8ki&B2zn8CYIGL<>JXAtIHqGzz`l1+NI?KlpjlHtd>jEv(izl>ztQC z1X?19#g*epaorz69p+?WQU25n2^p6;IlHBPl+#Wy?D&4=_}v4sv)2#wpV%f*N=$Gz z|Alr-wn^3$(ev!w=2$!A38qy!&Dn^fE7fH)CWV?KxRt&QZm1VvNlu%zxku)at#3mc z{wFrUw7FlH+??xPVk3sVD)VjnE(l1kJo_e~>;aUgIZ?o+9KG{{S1B^F>BV*q+2k&H ziqXUn!URj~MzS9pEq-jkaiG&|FZ}k6MWvJ?i8SIXsAY99Y_HoHoN`DTqW4$O6;+QB z{fpi0Hb0=pT{ln_5m4OUf@c?xr=bnAZGAsPR(*Mlfh{&uK5I|KhF6ykGA?Xq!G()4 z#qz&(&6GAK@c0Cq)gqSA22s)DFm#)gKcu$A+NXwny~`tNOlHz1v%Lmxp@~ zl$fW){e9vOeglJv```#>ithcXW|w~OhPOAzWbMs2$r>EOs+D_*EV4yoq}kSpe~{T@ z_6(VP_ixFm@ov)7r%3(+v1E*ae-@+*-B=V4DLPZkUuhqD# zjT*U%Bbv^h`J1Q!Xr80<;T`pXTz)RdOCb>B; z+2ve`>OZaW12KYNRPt$58i}lCi-WX z=(b{ZGe!<`)o2zSDq}#(oaIr{i<*mHlsrlR`x8VXn6{ z{f{NPu~!WHW2FS;)EydJ@BTYRZr3@SS+~$WJz_xreZJvu1F^EZM*h;=gMIC_H`-P~ zS;1eutR^tUF?-|_px_Z3aOi4#vFLMI;l*y6ckY zOK;bq3jo-#wQD5)H2|x%?NJ8x6Y9T=NjC)JEMw9Y0Mu{oydHbdPbttgDoam4jCE6) zx|Z+N?B}Ab`;p)lqFL++(<4Bo&Z?Fcn4zt;Cw`oku4;C;hU@N@+O89a$C90y%BWFA zt{4($>hBMTfd~%V@x|V>q*Z^pFKm@DO4B)jbPe+r2gxz}SOLp-w*i}7h!|eA9J5;O zt~U`RXTN(1z7Y%EORerZtbenLq|nr;ev{a*xp`nr^RK%f2iu05^Sah`t-@hhHwqRi zt4_Kcv)S{JZ&!8dgtXch98G&|e$1G6%V2S;ZM~27yTh5&h6G6t$V)B=bbop~{|nRc zpr->a9I4gjBHnar>Rd$s$S*4dr?IgM+$M~oWcndk3Ao6EMT-zbYc=3g(V6;g#)=?6 z8?jvCKhiPex88065aT?vlFmahft+ySf69)dY4SpomJ3!5#oyBvult2hChx65zp&!;+;4%y|C(GGVfw!sf1jq=+)%Yvc?}?x7`hw3#oOPdP%Rcbl#~1^>l)6 zaVIMaw8^P2<1ffOE{B-Fg4SfD7-C9u)Sly?nTsWHTdE`+U?QI*sVJ}&>6_kF7);Ml6vT& zaQUdW)pAR1Si?$M#BHtb;BOGVOX8w`b{yg0OEgadpeCXcijs^$=S(`51zoUU0bMya zq5h%OZq{NO49^kk{>^5E;J;b^r6XHkr^F z@}s@nJ0f{BlD~FvMg7ejV)>h;yEag~Zd*>u+A3R9~Hdfu<##Ics>FS~p$!@y` zcV_FWzbPNm{hqK5lHe0Vyxc};4K_Iq>PdsrANe-!_d4cGb1(!p&dRHN(%Eh^%#-VT z?3Um^S@;_1c;tc{`Szwru-?OajoiSyHk)7Pr+Mb8%CoS&YWd&6?sq6qOh@+18p~nE z&X=sYlzAKrSo_LDvjKa7w?dt)O?#lwT7jhU?ZjzCB(I(BK>?X=ql>7&Ghz?jL zKdfl@)NU-oUBz*ZSmRxG1!1glQmI(7I`xdPuRB0Xs;Ov^)xmK9u#0a20t>Y2DrL2|m)Y3$5fL?2}B%VJc}pw0>Ql znuT4HivEk_+PxUxZi-)-h?nCyCE-32v^JUe2ZfZr40x)(gmj&PwBg5{z=q9?(t1z_ zp*=Y|C@rYT$VR^o7HcFG0=SJx3mgY0134S_uZfDAWX0uHi1xHpw$rP`+c%ia8$V`u z)fxSvg?_KS)Pv1Tcg!Jcx&Q3pFC|wN{y7FeI+r+^Ngi&~g=e5oZvZ$Ij>mRS7oKH? zf4okoVQHMn5EB0+Sd5sMZ{2Xt`YGAOisEa0{654teSO&JdFiRcI8xDw!IPo+HyohE zE_UzT?VIwvK#ZH=Usrz9$ED`re3YqhssGZUs^=KxB z3r*ykB6VKURwPc_LrktE0PIpqNPlRcDwDWGdct+r?eyUy$2s(bc2FptW+@*VSR#|= z#KwKwMj$ew3v#Mqb1lct_u^nW?)e$~T4kS8neLUBhgEBSg>{Fu9%J)F?XGHbN8;TT z9^MKsVwsP=zq^1^wjry{&HRftWQ~0jwh;pN8WPbrUhc|(`&zXyfYgHYB#40nbtbdo z^p`tVLhbdgW{!36qvTd_oUA2UC{3zxPiF9{Zj#^-K3hH`SZ6ZS0{k9(d+-WE;fsKh z?mNh8IiFhkETMCI0}6{OMz1LwL~;AF=#g<7+~>PEhJn+xG}Bw|Y9{8!;~Sw{ec$Wq zO5pF`)a_G0rW5;fR9j?#*QXi1S_%ARBv>jBTw}wA3YUlX!mRAo%|JawQ}6B`PxY0SB%hx?>WVP86WO!EF!w0_3>~= z`e?kPx$oxj~uMi$zxp;B&$vfIaeaqU`EqZ zJMs;o_rbh#SKg|wi+0ub1@?{9cLz+DVb$jLvftHi`JKw;M~pjA@{Vr2Q!8ZRHCOYJ z|0=TeO7UM=dIh{85T&e{>-RyEoMX9>>+)w3{^Y;P-3^yXuX))S>xc5HjWl)7Kyu%jAoij&b|PmxNiEK%eqgDH23nu9Z23k{ zPZ%v*l9DsmaEqR%HilH0v|C-Tpc1u&u^NZ!^x6k_b6A`?Wn<;A{F2(e*e;*1HBMfQ zB6VOSeFzez?!9!BklH_XiUhVDNsgy{T+^%k8W9E_`h(jSw^BxA?L$pf`SYs#tr&f% zyWT1)YTeDob5+CI{DJ*=P2p{@t%{^8OWQV9o|0cu_qoN&OH{Fd8#2^0IFz=!Q?GBY zxEHBSA7pBk&X{j+yFnW9rE~7EL~e^>A_x3tl4!ILIOv4#7-?vHmRZ zoKKV-vG8OcekK#1NZ4HsWD((B6~9F>=PRahhD`;8)22aw$X`ZcFqpZQJJ!myxPgOx z%IQiukre5l#Q>6C4*C#Fcw(lyo<2M!6PCxF^ktcFz7Ma+gul|!F>m4<`YV0-(@grC z3U`?gvsv;Sf}&~>+|QK~d2YfK+5rRNFJ0i~Of~VJc#vEHgV3^SFIJm}yrD1SX&|kqlEf~HucbH;2hcOF5J}6eq zS5JBfBZD0kT%{n2Sq4P*?!=oP^z>cLiM8MZ)*{`@VX0W~7IE$w3wqNen5~%mEvCiI z!DlE0IWP_*{f(rm)L;qRaW62w@=#CiRy1Ic5Y#Iv}m%suH(|iTU=`PU!zoxA$(^iYPG2=B`KqS8rtc3pP#$ zrSxKS!>sylmDoS{3pA5IiC+nn5o0{y zR_&@U=*Bq-mf`2fN6+Cxxov%i_13BFeqXl|9)g2PX+sa5{nBteKLYvT> z*k#$jFozOH(S$x5n*!(~!QNS>m5_WvZPrqU8gec6l$YkUtU$N9U2r<;cRpTvralj2 zXotAk8P4o>W8TtqD3op)v09fvrZ=A z&&(t&lu1|~nKU1yI#Z%){|pFMss-54LZ4O)8PSuhut{1?$FD5d5~Bw8R-Znb^ro#h zR)y1zRmS7KLr?cP9tk1b5JHgPHVA(pUE*N5yXzLCX?!6~mHxXolVv0`F$_-Womh&y z7Q}6lDqZ3!S!nKSW&DHLtGYWv&vG(G7L{8UO}SP$%pC|)Wmz5 z1hF@&9?270x=gj+6I$!tJ>sa;u^&(Krv7<&;Dnu~aWtTIKgcu3(zr+-hus&hV5G0( zKAS{DA5tP~5iAJ2XLDrbS#g!m^Ivlwgg%VJ69UaH2u(enGmPD9cZYcW8dukf0a`G_h!?Ls!z5j0uOtaoJ}j@UkVX&NpIYdIVLC7>2m_L) zf#N5H5EAVWnnG?mC`@Ylr`qTb@#vBq6(13DHG4F+PH)vHj*WEYc$w>o69$Ow=87|F|2w66+^$;gpqvR3Q~HE>3E8tC`e<<*wR#k0ir zQm3aOzlGxxBoWIKk;D{ocHlsfis7TKaX&cY!T3T|2|SHYJ$+n1!<=?>%|&EOH=i40 z@jVjPf(Dq~@{Eqwx?AZ7sB05AQ?J1wFTZbp5z%pBb_V<8JtARtcyW~pN7`M_zabMp z)7M`5+Lf=SGqPnyTNyN@3d$BY!7`qqLj6Ane()lWw4 z{$|oM6bR0+e9_BD*E;ABudXl5&2osc=!C&jv^IE${|@w?RotnU>nZ1n;Gjja#3k4_ z9poePMRkr_!=dzyko*OiLLqr{ooH-Aat~tNCpT;Bfj6FQ2lNv7g76Ap927S*%=t4FPQbkgRyJ{BG;$)Z#XZH0R~*?&1&Bcn$n%hd z;bL7Y^EOh)kMccNiC~B%zD7Ev7yMu(Jc02B)ek4Z9my0K9H)T~e&Bb}ChE^HM6^X^plDZHI&E0Az!G481(9M8*b?1I0aU;x1KQ#b9J)FASxPMt^ ziG`RZ6a+)aFwvcfEx?G_MnT=T#*|1I)zz|>n<5$CAYQ?uL%`_n@40~l_y+;MNipe~ z8sm?Bs3!QB#LPI$TE|EaMzo!73l7uV5x*ua)|oHA#_c}FOeOXWV%-w#tPUW&XDN78 zQXxn3p>4x48C<2Q&F>$j{z}9oj15n_6X0zITG+|%CcM?*{(~A+F>GK*z1F!UXz)tL ziXYKSA`^6BOwa?nUG}PXsfPYk?Hb$0qdM<>RcNMAVhzOmDa==|1-&yXBo3C#o@gF# ztzG#y(O_kI9mbzn^1ai!DWa2_^2UvLJKrEW=xfGzbShcXPY{79``2?@+T51%EVS!A zv_FN==7i8vf;JqR0J`3w;x8R)x9PjI9%cbXgs1sAUqHD z5=@lgc|T$?JTODu`N&Ss5fr98zh4tG?q$I9;8C zQ{CZID17qp6M&t_pb+~P4+RpCB@Dv0N^({|DJsqnzVKF8C@NNB*?QvC{wK^F%vK*z zVjo|^)T5R>uvKJC&ecS?pYk+BzjzjD8A&{V*C=>e&ZO=%0809SFCMAGN(}+41EvB8 z#3gho*A3qlA&*PqJVL>90CvM3ri$xeXjtKz$D!CTuM|g0VT7*#raT0V7N(VB@fOH2 z1%S^VqmJiM?XCcB40PFM`gdN_zx6B;yE2SfUts^2G8UaJ#?QD0-1FqfuxXGAbOL2n zCTudtPIqM72tQ#;;i-Os>(9!Ns(umtg5Gi~BC_i9B%h=Asty@K?$1CDb`$5^B{L%xy;(_PFbWYI zH!88lI{~g#yp{;vaK)bBV{gDBYH9&lzi@Rgz7!d0lU0o>pZ__KcasAG`7a30i~a)y zW3CdvVM@@nIs<`hrGRv236KDMt~_s&C&(9bq@o`^O7aTa{lQRiMsj(19JMM@j>4rkCo;7w7TTy-@~hSYK7P)P>#Mhv z*SGazfxEf?36ZH4`OLdpVmy&rQMkGG!#HP32Yl71x&EZX>vo87%&%b~Xq{11QB%>d zhTL&W;XMLJm7ilK3k(r?q|HL#2vutQyB=KuL zWwR{?Uyi;U;Wvft0?MqFj8YA>I+oJ$$WeuEPn4JdRG=o=P9_2I$Fa7ZtR>K`h%OGF zHbiGWC9{gI*$mW3{9Uuz{92N`ocuUb9VuXD&>mJgrxr$5CSTwnue9F`ju#0rU#P+7 z&rdyQ<>U$37cj|>b!kF>tRcl*P_K?337L5bu)Fwo*TotuyZkU~AOc_4 zZ%Vdp_*>*JbL!t`-LUpPg0s%aq$$B~5gu37@WT#~+y6*g&S)Ha@aFXOI5FIkdprq- zfxM!>OFuA)=$FIjDxxD(2T;Wt_S@TUV32}=#Vz@C$=Ht)nxI~AE zNZ{VaVgb$2|@E!t)s79&b2}1bXm3Fbf)g z?F0IzLEYf!>l3=c{s!G34gPI6=tIAYb%QgZ_Ll++T&MH9zzHfa-q}=;dFwhhr6&Jq z`+)6m+ig#BidH1o5DSlmvpzuNe<>xziM85h>hygvD8BNk2=%oRBxnXuRKlQp zzN7wMRla7ZQ+a)l_kSr-2OA!&#Pwqul=vmS5cT=58b97I@g21{Ug$_B`G|`TpVG$M zfYOhd_*cy@h$-(k>+0A*Fanjo^EM4k%%Zuk&J9lB^hES#<+Zj-<*YRziQuu1;Q>@Y z({$9%2ljsfFo!X0d-u42d)=d8>=c;@`nb)-b z&IqQcp%mL*9&8@>p|UR)`T~~Plmqon)YIKOy{GScJ%U}De!$RV3ai}0Rj;vas&}fy zAMua!sUMxCJ~o|$k1RHB$C0y#;W9R*1n#>V@6W5ydH`u3s@66KviO+%>{<+f z7>~1fh@hK+dNZ*DW<5`i#a7lVU?6Z*ydhKvX4lR_GKEeuA3sf=p!M>Cm4Z*TF0h#o z9Ml&CTJJ#5IM7UiY8_~X15FVqYz1Cq%zsXdxljI9f~;@TF|%Epmg3!d+i{!`-Hj@5 z82p&)MON;o8T~qz#vODAZE*F;Qn~+DS{TZwpB7HB$i@!;NHp@ z4Z}C(R}+fm=4*PREbKah%ic7?{7~BdFvMr|(c}V;)^O2q%=Nck|DtcCxLZxy!?xVT z!uFftJy2tN$hQs|kQzqC;CS6$6hlA=BoS2TsZ6>r+kqxio9ex# zdpE|-`9JRW?sSoDC4ay7-xvUGSjg@7ehASZMz`NPeTc<0X+((ry5IX?`_Z>B=pBT= zPd=>YZ`8g27yi~>lgQsP7)s#pKW>T5@i%U;8-&B6I501w!dgM3F|CKW7 zomDkQIV1Lvt_O1+JLt5WQc;*(x~HAai2ZEi<*^;k1vZg0VxNilhinz!q18c!iM3kQ z%HEi`fwxeF&YP}a8QH(f;9nQJsqxKtN%qc2G_L#~TKJ&a^fUhmsk`VfHF;)~wjYx_ zC%*S0`EHkgxU<6p$cigrbKC7nF26c#A4sT^U5T@zj?{;UuqLJd#MjiST&Pmt#zbEk zL0|eBRS>MO@|-xVTCmb(Ov7puH-44eFP4fjbJbZ7o9MXth|b{M1WQP?EfkWxcYsLj z_GPYnkt>6BD8gngOGOQ~s12kvga>n9;qjpyA>!aMd!AIX`^%Iz1x_ON0z(7vqj zE^(CP*CyGUD$J>*$UDri+kQ-@|C;V~7m;?nx&X=zS;AZHaWitA*_oD~=H?D4Kz zyEM!{49+5{rwhSKv@g@_-c!JN!FNfst=tmU6IxoE)Xf`ik5bv8;Bu5y8{JyeR=0kZ zYpIf9Ju5G~Q|p}9^IE!>BL&{(ArvXlwgYxz^$#2SWvx57-kf%&q_D!?Yc>)@`M`y& z!SjpHXr9C6u^&~Q?}&597<&=49MSTc`sIkbkg7eE$gT+80;+E8>|&R5jvX=!v^BEHaoFD$qZJKu9Fc%KDGPdUh z^404giiFhW>9Nz@TsJjeGC%R2fNZn`v*4Ysr{)MCZ^~XLhdwlUUg_Q@_M4{#asmT= zcX-DF)g8oItv8*qk8;%}0JKeI8e<$Ot%%ahSj~WFj8>MoTVZZ|yIpY#lxdQQdAfqH zFaqW7n6=i(BFMh|{j=1e8P4DMxsO{!6t9o0bT2mt13bJW6owTiH{2fp|9S@fm z(q1CXV`TR=!N&SsV{478`BK%SQPC)~`AYD_mJ$IEcOi8pjy3J%og`Ud1qV%|(R)5B z@5FEP^HfAjoY?3XR~d>uRj@u3YgUcoX_=m`yp*R(o)}!>7sA%Tc8Jc&*J5JG?1BBu zF7^JQ4ATn95ax-K+&XKCr4YpKy;zgCv$|UtqP@$6*t>)$kky2*Rlr}8<Yk4}|I)Au{=0@L?_RR8_X;r2qfr>>5TZZ}(0zTa7nVay9Jk&4Q6 z=auLf$d+_Uc7L-9$paN#`2ZF5Zw^_8FKEYe+m#s1U1zZyWsm?L(PRD!ILsr}963nJ zf{8PWPSf~QXR76xV)-xtpP2ix3zZ!xG@5&rG;_PjLU@%O>mj?%@jyf(RGAS2n?r$F zBg@D&EI+(DVdQ!bq$F=A>XW#CT%QWk6(8&1EdHmwdO#*Rqi$(9#o*iZ6qwvWhyY!trQ`V-WZP$oe+07#(?I*w%k#%RktS*%jyWNoF=6f+t?J1g4KOIC!xfSE2P?|3Q^-W_dE zf_Ux4JFIp=!!a#daNID!>3L7fS$P#_`c2&eVGK(aJv2M~$C^KiPOUhPQ*(BgdPLQK z3e6f=k>7iNL9*%Jb!A|Fi@<#DD&ZSp1&gQNUN<$AT##K=yhRsBwdL3w8aap0C)!Za z95z>Jt3nQPf5|e>p_Q9pM0NLj;+5Dg+wa6rTRuF-J(;RT(vFfwHk0j?7`sp8s(dS{ zT#sS3nWP7u7-?h|)2-tY{{o4wnPHOg0Yo@QJ)!`G@exVWSmHZ2!|{saSjU5vXDx^w z`LHp6n~IIm{V3*Ygzi0ok&hXdRX*mEahMON06^BRWR-U;QxvToX^pOF4;9i{lV;Lx z)77srGMA9cOgtx{a(#hNbN`AGdlO|_cWa3=WIYKk*Nac~;V@V7tM@_u^;;82?XiKB z;KL+Db)|(a*^n))AW~pS_^hu5&mJ#&KubM0FtI3F%AR?3Fw6*JoNZ1^R+uM9^g6Qi z0Gh|%bs)_@>E{S%$GvcQB3c~da_bB$wDrKv*S9p}I0KIBr*xbj(`&8H(2w>*SB5ao zS`RtZe99mk<#c>{HT&w8nm5%BxPPfh_#dOzXi6vDM3>Yru?Vjm79p1y`OE zAM0;7kBb*l#wg`xQZ#0tE@!25S=s`0)_$wP;reAf%7|=_rctap*B00iCEulYQu=X9 z$5f?;bvf`tqUlNI6Q;N#>yB`Mrsk_UztbH)D=n>n>B;Zx4DYXP+D<^$dI<09q7CoRcQ!e++YbWfoZe&mu9)N zoMsseuXr~XO_%Ea0&}T+GoCQif!9lTSq`rUcz`+x)Zc-Qa-f!gw8``X8!is+D+6Po z!>DBo3Yk1W+Mx2H!}v-Va_cDmb1-bUbB6gh`X<{pgg6q$)SPeQN%kf>v z@hGiL|MOfm7x6LsyW5;S9x|O6a_bd{a&J>XGt|7ds2JTCosdou!+bJ@{Gu~|j05W% zu%sh)H|`|_OPGZeN9?ZX2PHoFcASsoBEx03P^QHeuq)V{B&}(S-Hf1*MYe8ym(J5r_2^kilm zeE@Q%is7NA`hfETxDfvLQ26s9fw#XLy?8MTGGB3W?Nk=)8XO-m4uDS5**F?AcYCN} zLT1tE#Z{>bS?b{g2exyWX9}@X;Z2qQRHe97;BT}NnswtSt9!r5!>Tx!tz;a$#QjV5 zL`-w#a3vDBw#E6UX&0yQjhYy6ouB%dW@F`ymOzpI+CTh-x@_O@a`oB|FDeLsB)gOz zNhzTaoxPb#*X@%Z8OSvXeHp=ZYMOi#ywUw;HeO}8Z~HTpo=m&% z=a7!Ci`F?GWHd+Ao1f3L9=8jTlB3U=4d&TFi){p4KjNDY)JBeAENvc|I{u7xF|>z6_iobAC0%2A8DiHdIcX7zjJL(l*F(1@D zo7Y5o4_8*UZYszHVivCqw9%ffvaf;Y{lo9aBtJSCJ^9nI@DOQi#;BN~nP)1A`{d^s zmpD!tyZZbEcafq=mnH=ut`lOd)i!gX5PJbnu#b^;UxEQ*Hx)O`v2wgE&U;9x^|)?4 zv+?1)iw3&>@hO8h{Uf}SF46@m1tO;6|A8>f1-Y1sNU#q;8MQj>w~G<5TUWwDdCxMs zq%V}cwCJ?{)$U4iP(#&yB~6YdbHC;X4SuD6J=%yOkL;imz$YT}oJ{lc#VUer6bHfe z?U;vCC6!D!S2Evsk*1=_(LJw9t?SHB*NK7@M6(ioA7ZY>oASRx>Z}I9Ffwjbn+@0( zY{4Pc4^ZAH1381&WtCr$&DYu8W)9PSrDjkEt2JF>x|??;+FJrH4bX0o_+nqf#QJu4 zlAu4${$YI^M4R}#R+gS_%YLZxtHh#$6y^Qh>QI@;ir^p-tfFDfg^;WKI1#@!_?$;G z2IX<*$2fn*KTK)gMb`2aMEaOdapUTb`p%DJRa^4JD)7$o!@&aidROBAL=MXjpQ*)f z8_0t0`jXUV-^TnEfnGwseXX)NKEY zK0E)+*0f7OCADZ7mcxCnB%jtXt`x|xl<=( z2H0eSOiT-E#o<)fu^Ah(*<3P>?xbAtafG> zguAH+B#6YY}7MNGb~sHN;dp~mX)lIS{D8ad~Z)1qm>0B5)9?r<1P zegLZg$0$=?ayf{l!H@50nq+U?=u*_rx}G-5_$6j0((Vn?z$D{NGMb@eKsPdFs=A26 z(o-o)nrOWOL0$u51C{u&Tg@HJQNYdAc%{gHG<8f&jQakq0j;rrp>>U=#r+oA5Qd37 zlujPK)k%wbuDHiaX3Ab!GcNLmzBz^YFKlR2=n>Yz-D)}tq;`BAKG{dyhB|@%thjzC z&dzvCPO#?8E* zR{n#D{`DL%-fk(#{lis$1ou7MyUQ+xrSh*Olg+MFvx_iOE9Z)V<=AMX_5IQEs@NtKAA_*3%Y5X%(aPR?uQKSYYpy<+}E-J3=NJG zbBoPyOa7rRLO7Wu-!4WUa|L@}5R$>JMt_OPA0Pb)Sc#-8Y$peDQfKEk2j;i!KPTYS7VS!p*ZI#26(SE$E zaUSjOKzRhxW&Bcoqh^g?dpNL@;jQNHk2tEALe&~oJe`!7+^DC%FH{kKU>=|=>)JsP zFReJT{%Z~G9}P`w)MnXk?(FGUh!#M4zN@}1{s|Dg$%Kqz`j;TTDSmm`XUF7M)Rm^N z;)9*5N#=WOoFClL^2O-8_nKAu68as!GY%2hAZA-SR-A2~i_7rbd*YAl?{gJjJ<@R* z8sy7vxw+hqMAar`gg{Q7 z6DD=zX7q}f9-6-^1iNwDvRovQB7%+U8JM zsH>f<6_nOccM_zumnB^vp-ubHhWD7*n$xiXG0D@kU^W3$aa@ASQ09iFNjJH97!zSm z!QP*TYh&u+9;$SBiO}OLbJd#+>U4JQO*ulzKhdx@06W&bdt35#VK1G(;XJ0nvNWrRn`MOx% z@63As#I+uMH^U3VdFSXd!k=al_Qmz&qFbo9f?+onNe8x@wiG8Lm&5ELs8O$|_2sNb z>ZovEZo#e)i!Pw^A>QZi20aoy9FV9ql@|~RHWP*h6);M{sHdR$!fi%mJ zxdNn`sR=Hx;;p;HJbv0b^QzTey9CmthlZ89q7%gA*vsvDNZ=tY=*_I+%AaFbhtEwN z-m6LnbI17o<5mhv!?}VR?cec}6G}s`WAV?t@IHlkhY4+T};+rI-Q5;2%2V5QicL_S_3g_SdWcf6$9EGGs-&74==y2 z2sOv7l|bVQw*LT+~#V`y@*L6>YboEb~M0ZTBU?{GH=aMZ%1^ z0_wpoMI)IEUmTK>Q6hgl&UR0>@d~j|`V&fO9Gz{y0s?E|!+1=pe=PBH0af^0e>{fj zp#}Ai_Cqpr* zk6IGIV-lX%`&q&MG=WN10*a}pGA99LUi>+~{!Gu>IIzrqU#nM0%LDKqH`YJOm)08y zPbrl@9%t1f%&vcYs{V1cLlv&g?y{|{hnCgj&Z&QVw*K+u`bRB0>QCa@XrG+Yq{o0e z;=r=Z^aSLo3C}YUp64YzFGzT?!gMm@XUd$)IyEn)wWkzK zD6Q>NG`6Df!_v)rOZPOo^F|J&ub6QjJAg|!u_Lib;JydxCv3zhzJc2}Qtip897R@k z45zo453hDToG4y#o5^JA|n@m6JjM&N=(u!bM= zfKTC8^R#_>*A9iIm=Q^Z^)zQ{Hpf%Q^zxs&m}{9v2{vxwU+3=xQw<3XRq7?Z`^jcDi(^|e>+ zfj@D%?4H_Df%|^tnSHgnkFfREE~lBDqudsoA4u^(4o(hCf1n+~efPz)g3z51vA(UJ zC$f|A9XEB{jGcF z+RN^LP#4XW`1Ft!dl(se7!!Laj6DpCJ&cPz_+~wB`4V=bWyEmoSQ|G7-p_Cw^ZVN! zDW1DvR=jKK=W{T8-Du!roVmG1ks~;am-XK$KL};h3{z)gDhoJ)LK4=_L5^@OfgSnk z#Q|x}dfrf?TB}6NK8PHZ*}kn07}S{qWnKKVES`@?71bBhbei!@i=eiYF(|;fN;QWt zQPCEc)bP@RY)7f+(8>$xLw*#g+T0ujCEHOaZBTt$of%9Tt<~}tYJKYj4n=0e%}{^F zma9ogM^`YG1h1E`B=|K?(1~T?m%u1hdWsq)7q{W*Sv>{HFI5F1Z`!(6r`&Ke@kRdZ zIVR~OEy~(FAjzb&oGkw^4Norz6zg){ZmY|YC8(O)>BZ3#D)K8nZ&Q(mqg$-~O+XkU zgoQpri51?v&c`pZBDdo!*V*_fc06Y32uc#%n7oCnC(>Wn>SKSE1>?E=s1%`^S5J;H zDh9H2bQW7kGLnii!IX2a_Q|M>qU5IZM2DMUYx9AaMJ(1EDC#DPdSvs@g3rOOOerB9 zp=vNOv--Fier7W<^duFXO97e@sDN}cmah!()-C0cAepAe({@PE9+FvBseGCye`mfW zz9?Q_5U9c*4Av8h5bzNzhG5c7s6n9Ya=pRVm;`yQ7CYCmk4)%C_y|*JTC;sWKfY=e%_YNHO?0h_q-SEgo~qh3u{(b{?z#Zxg3 zV^_#$gSnec04jYyML?_s!gQLeAjaDa_tuM+;7wMEv_|gDdfI{VrtVxR>w*W$Uvc?T z9cH0Rvrc=Ud^c$@u#q%Y#D+yD?cOArSGgQ^LB~9v+4pvgp>84Aj z!T|2{vNrbct2b?$qAoxC4ZO=rmln{bf!%fxbzi+pmYrN(7<30-<=CBI8_a!gYsS#c ziH2v~VD%tPf)3WXD^T{bO?9vKh(*&Hal|xp0;vj2 zyWO0JovV}$bn)?!HbWKrDh=Lfiz&;q2a2nhjh9l)+Z{-xDRxLq@ZYYU{}Gn|a?zGu z(MX0hDQaOc%p^7{Lv`16FkjTx!YX@WVxmbG>3Iv&V1@(Eq&^i)eii@ctExz__DXG5*b`ka8T+x5z)sD}i!>!> zzHQ#Tl$!l71CW1)YzEbm`gqOo+x;1Wec!DkEU;SKB2_ko6$W$HU?{^_NVR;$k0-7X zR;1m2`7o&&d@O3eIK5D)L{D;|6 zy&!+E`Bqdj1Q{mCRv?fLQ3nm&c5Lv@Qp!g@uDXWTU66NtNTDD{3G$*3NhQ0ND##;1 z63z-vJP;*3c zpHKj;+6?6lTU9;>4DSvVb&Ac%s8g1i2Bvwvw-yVkK$=<#lFXsty;kLiU(QU|6FuPB z%uJrx8wIQjPXogrvi~DI+kQtEah<6qO@1WnMETi21*Wg&oRGZiUy54fmE?5qUU5+} z_rcHd8@GQ&P7~9OUf!R(!GBRl(k066@8P#OKRqs(hHr|O;syx z=7dypn-5tj$ZA2Z^dU0iUR02QKIB$GUIv0Z6?x#lByYAbPV_NW3*&x4j`Sh(1Q{nt zGaoWikkO8cf)@Oj~G@|q8kdGpc)`KJ$& zr|IqI+giAt6Qi=ty^ADsg(UAg-px&Zjx^EuP>|t1q>CVxg7o(x3j~=XNFPDa5IIZn zZx+^`<22-6FuXcxNE&Df-EfK>5nN2k8wnQN{Qyn=Cn$A%e#IhQh0>|nA4-JdDT zt;n1-idCHiM*dRzb)r~%J|8MLEY)rdWm~rYf_d)|}E*25A1d^Z-k0suNO%a^7%(Y?=(z2Btwl<8Obr?p?{GH>xZDeX0-Y28R^WjS)Uh;n;P9i33D*j=2{ z23rbNSh`!>y9%}MpX)tk-$K4RU8YP-3H~B>-Qt$6dD~n-fTg-D~m?^>Y9h>ASiQ%-f zILG-ZUQ_$pz8-OPjP;*6htS;J-`Os-y8b}-!_RWI>wPf1bJg{R`e>TvMfu-WcYDyG zJtMUCLhB(k1h7M*dO-A#wvdzu@a??21!!Rb%+sLhfxKymXrkRdG1+uTS5+WseG(X;gk~x_}gsTkQ32Aa}m2wmqgEG;frw76IUYs z-#LK5l-hz^fZW?G$Zaa%daQ#V9Cd+4tqS$&L9UU;scX{XTMV@Xhx#j%_%JRutUyStZUVrwP z>va*?x6cz<7uK+pdwuQd5Tku(1KMt-E>8YO&eCW|{sc?jp?NDvHW&FNs4537q3r=B z)QgG=l>ViJ<#y4{N!0rr$pqDA!clUsuYKXkzIp>1q)?lu1U*e0E$!z-nUyHYrRISX zk)lF3+rezmJnTEU&|m7y@_w~vlC613Efi{JP=iTn7{hY88NR#P#G6hD_-!=S!XKR~PXywH;N9&LS`xj1$cOhU zYKp)2DS7iblu7nh=ikaLFzy zQtDg&7`~79svMvzeYm}srF=E0-Xns)jY;TLm(Y+AnvTQcsE&E3tKXpSBIral-C#-z zTrpYRQ)(~zRhEqe+WpdfG5ddw6q=veIQZ8f;T6o6<3YmyDv^#j4%ruE*Ageh+{TjY zOgEBIu<{>lneD#5%t|GPSYq@k!iMpWqE8tP8CoP=Eux2v*h8uwyfId)!N$s%WHXvN z=Gfk+Xb8dolc8(zcH44-Ul)Qmj_{oMQdmhY_i{lq6tt@{iv>5F`9fRubzD8KPH!!!z}+zH$ps|JtN%u(~sw1v#Ho-e$Ad;x{k*7LYxn62a6fK4T9cwS2% z-@s~g9P;pL2*DE?I@6Y1J{{kXw_or};9~}F-UNXn!JTqd3dw=!Zh@@#rxYU|^D1uz zTFtU(e_99ZzLW@JKOsIs3DHz1`yRl3L3DGx9WCBEh__q5w*|ET5bXlGkJkz9Q27JF z+jY90{qWo>78<=XT&B-Rjh0e2g|4{-_zWWS=Db#*V`$}ieIQnKtuMYv4~;{@~a z{-|hs-kiXnJwyVRf0zo4px8<^Dkg;QYcXP3gnLh>UNE*+ke>k zTQ7mV$aGF?1jj?cwSbxAGMAIj!LE05u91}dUd;yB)C6U^@NkvdQ0@U(L zqQ{ERA_AY@20RE#QM4yk$|NN|O`@%+5yAr&Av(*IvIVEgH5;Ymsg!(`@(`s!Dm8)B zM3K5AMryhvC4}fON9yrJQoHa{%^y_H8(Btc%*Ra%U@K)(<41EeRTpHY0s|W`tUI2HeFeJwcqlGQ_X+D?&S! z#VnLZGZ<89O&1$wU%*RJ(b+EBF7r6SG(xn8E3ldytGKzwj`_u>!Fwmwsq<;_R^0*g z-pw1uULyMG4n4(un@{=rqJw1lw3RzH^+RH zJ*&wXNqHELiX!tlYIY+4oV*|SF{d)PM@uf!O^zGPz0{tf+{Ai=Iid;DY#AIu&f*pn zX~>{OMHLxM8$zi2BDn^nRFROR-ST2)M!IEY+Fdbb=nTnZjdlk~#k|T!)ab_1uFQKh zz))x^7)l(>$wY4RZ~4*eF%{^_qtz&G9jX~H3d|5If%5sb3EVu0PE<4!^W;_tYBZPd z7c&MPU%x`Y1dg2M=WZ(1t@G$8h3;%Av{yJB3oct1RqVK9olv)Q7HF$UKb&_y+<1?7 zSa9uAehY6B!92*q(K1y!CXqnddyrG@sz?;gnTV8znl@8#KRiCl;t&~U*ZOIhc3M*c zy8dV-^_}dO?N4A@J6m5+!`t%0KZnBKnju}-pHVV)0R8q|8@1vC0L={NAs{X0gxA#^ z9jbsm-s^^>^$*)~9;Qu)DhmmmXK*S?Rs3yWe(R(0kOK4D9mY>6T$3OEF)+V(3NHnb zl%^K8VPJTl^lB=3%?D^)Wjl!av$)`9{13{ti8psdkKD7gauaBQsa!v%b5Kjjom_KX zJi4&t2n*lvJyud0FJjnSt{bXcs z=`W?n+162?r8!3NhJS99#vhN8r~Y^puR@dPWCav4uI0BNa${zp&SoyLFC3h6y;kgA z=B-edji{*=w3$VXVgphLgD};;lTE+K+#U{f^|(e!S6nGEB-74dKmGE0_vY!1FzwP}g15$ZjvBw#pGG`-1gG^C=^{^!1y7)EjFeVj}(^sXnTXE179i z%yM6ayOU}c20>?waE2;?Mz0{QuU;T3W)&|Ks?aEImm|$13_Z?bpf(HiBuOhw_H*+h zfYI^7MXkT>qy_)l!1T_7CZ##(Zu%gD={ScZ35kN42eRdPDT|4!rmOZtdJAsDU7^S; zT$1xA$~(EYB-kWvD{Ee4YvSJi!J9p5*7n&?ZMWzCENqb3-B|v>22LtC1_y$#KBo20 zp!|)1iKZdF51|KFAt+Ux!#18a9Owlzb(zZ-JZ}B2kMbE*Rzp)4L+n8L*moOgcOg8Y zs`Hfi26J6~35pzp{}kY9AA4mC`&fs4j}ps;jj5?K|8B064P>Istvp(jLvLMfo^DLX zN`g=StBHH43A@!Nwanw7>`sBQK^nT~wjr_jY-~C=iyj#2Gbj^5c3XLw9 zV*R-0lpURZgT5Bkc~yG`)|Vq)=$2wvqtrdnr>PILrwvEB?!xysc`J1NDTlQLraj4} zQ1;7h7}Td;hftn=n`4tLJi4yDKZWczWAPWERsIt>WD^V3&_!oSVfLM2bwC$^Z7|#Q zf*|@(1L1!x{77&C4v#j3v^E|5gttiW?Mkm*sHkT1`ty%2dDgBHB2~LriS#O)YWw<1 z|B+Uo$>RdCQa~4aip2bw{Xhu0iz|1+HTKEZL^g%vdQ zne~1ts@0i@}=aF(cp#3evkX2ofL0WTVp1b1m{X{$YHG% zI|m5XP>6EqPhSz1jR&UEKKNsw0uilch3=EfnSrR)%@u zLkh>e`Hcakw6;ayzTKGB@M1VrrRp+2>Ny)V(g$FzTz+G;e6IHDpqU;#D1JxBaz{eg zZyf*C%yKNQRB4T#{Q${$iYhimUC_l3w69$5iezqnMjIhLbssMx{b6Ul7j?A^3?Pqy z*E$9!Nz;$ZL(@;Y*=l-6z9dxo39b1ZRcj{OINJsc;4)iC7?%zbrWxrAb9s7n_aCy3 z0)_(5tO?w6u6S5kN8Fq2xypWE-hY#L@VswPQE2X5vBOP4 zwQYyHmmG;5ZYmv40W$Sh9UNc6ubY+W0t*#N^$X5unf5u7wT*zRnFi6@@&gxc^!kCAV1#JUSs-FnyzaIX*OMr1_ZgJ-|Eds6 z^5JQ|vukr9WNU=oiXMf1bJp#jphzc9Kux`Q9MNf zU6O&-2iU2u>5t5bhV*4(2KWyt4d{QSSLpZnALz>tcrC2tgDK}C@wv8r`|@4jBwR*O zf1Yq`Uh{3mlW8Q^2Px>f|@+nQsIbiO41a8x);@xWjCk=e7mPGmF+)aC*6sonf54`*S)gqh>?{(m) zmK3>kM{<7oM(!oYC4t7PS(AW8Xa{n)jWPpXE+nV9`BNc-|`mj{g}pf+&KOy z8(o|Vm4&EQ#%u}DzR`qQ!N!|4#Ts&!k7r%)N|k%PcvJpWyevlqw^JwvU% zoEB8M73|FSI+AKiSzt%#>Q`ng&+0wf(TRlKskDRl&INJ=dnHil>{EEu|l#F3(@>Hdb!OSzZ3EV;(T^0 zC&laQQJz|+@#LxoL=SdYi8QOf${s$ck1V?3iv6#`MaRY4KzGAsVaTev( zH8A@As7|g>VA{jriL)<=kpZt2gW%LbqypB-cATWTS&^o{)*+99^>x|M}(Hy=@c z|Hygl1KO&4$RcUxgKco6*_V^;R?`AMQiW{p6t5W5@vY`+$Q6vL>I)-NZxC-xW1r$z zolXHMO>^D*%*;Xyrw>_p-T4(arX-oy2#uE3W(3O9fYJs+N@KgbaO92h8w#7yiR=;( zD7z}~fDU(!(U(k=1>WS=3Ef-)N%$$(&D1`{MuGBwC>InhH(ch7T3O;<7l*Rf1Rf|- za`I{ph=)}Fu2lyX5TaYTiuk3}cJ&!Q#ucO5<_5}j`LthXdZ0X+H%P{aLAt=NNsRG0 z*K?pp8PY*9{|LW6ofhmk;w{c``P!lhnm}51x_%VO{%P`!%v6rXrYLt{evX}{EZ&mZ zd^fR1!9v-qCv1eAo(Yc1ViMxhhPs$N3KpJ%HV?A~FJ|#geh!}W%hm$>8sQjc+J6wObfALfWSw0FKm3_f=DajZ63OY?-I6W*y{w zh1Jw*Hf(s~FuSs4RKiA(^EM^60*l~%p^z6ho*-M z>wDW+4ow`T9@@T-kbq42L`H_v+O~mdSM$JGYW;Me+Tn{grdH%PYQp2ijTUcCOJ1G5 zk}v(RdwC_3nqZ~A=CP7M5AQjLCxurB$|eBOvD(>dCfCF`iY_Rn^BqfyX^VX4j?*HF8$f|8Cvp~t2p&lBLp!8 z^Jt*!Z0lP3lbvW0^!^f6Fdz4TU%rMp($<2osO^gjfFkO$65jnr&_PfpDLHW*n5Kg` zi3$5lEYZ2vrfoN0?V#?4;OAqcqw%WEls}iM{^h?be&9PhCQrL3RF1pbGI(8gb-bUV zZ$Sv*UX6QGb7=x&oG0cOE58+z(q7g>6c!T61o13Birx>q4WJw}G6yr%x;54oN@c`E+0NdWb*?AXdZK@P_B-M^XMhbF4A|#a&(921LG{a_l z-4Y?|l`B0FvW<#(O%ov+-8{8uUGILUu?be!WNfYL{d6}imAdV0@&&ZiB?nf#Fq-YNsS-fT)@4Unx<0;*2%2xC7_xtK9Sr<%-X8MqKf$+)Ss<=D67iTT8 zoZ+^drnqgQmXLS5S>4(7^Xu5m=8YrSbYL`-)!Txdt6zyrHHCY&DIQks6E_7`9#(2usdbVVqu7a)TB-;!!&YeyQbnH*=lb2ImUC0E$4{X5`%|z-Fe}jtRcIXBPh+B#SMVO9 zjgGcFOUGn?{A8Ug)J|K1W}C+0kPHpnl) zuWeR)bY|X`dihE0$1*F9W?%|%e}^ncMTZY|cbXnv&+M^6S{I$I=<1)FQ< z6%DdoPc~&g6l0~|_t82`;oZmA%V#V_B}`Gr@R}&3Su}LL6sGP$Q)4T#(NkUde!tz; z(&yq~yTy%5ekkb>mDC5khCw5fOffN&y$vJkhKP+UHmGGrZ9Kr(K26&uwoN0rvg6!Y zIO};OXAR+8cuMt7=CvTagGgxq@OSLiiK*Nfu_{RjZ!v%$sB*nvJ~r#m5A^-RpA;oe zUK9$iPZViEc&E<&I|PPAYax?L{oa;o*SiDdIwsG1lz(D&H55S-Rs@KnQRjqV>(6?x z)cXkwrKar99wqzXL-c&Vao?ujaYQPHoNsLNYyAcIE7?}&-KD){cs$EA>c{sIc&~0a zuyl>;H6`*EwfgP$CSBNEoV%F91%y!IQ*;(q#&L$Hm6)owh2Dq;C_tp4#7-}TBTrX@ zv^aPj+a(4330rDc(@akUDib?>m4*NN@^r@QfZ1N}*QtmH80x27QZjBN>Ss*$*%Bje26cE?|-& z4B2Rg9kl%JI$7Cr5Id))ka0C zC=k!;sjq~@hA6zrwyxOMaC;zpsEQ3G7MrSKmt*wVk5)o%J4F!F9kpoGO_U$}TfeHb zqrb4F-K5eUsW0ss@_O^%R@w-ricek3RIxV&g(4~EfC{sUdQ>3;a~Yu|rZlH36)+lM z!9(a3-iMZYyBFk%?a;2|i|mS6yN3b5?(SoO7ux+Pel34Fkz6m?&CKm?i|5iPE?Li` z3}meX^QFi#uy*gi9MMqe`;0pM!+U)daMU~+ujI>Rp88f4t_I#baPM4| zS-y&^leFSQoTzjg4`B9S50uMuQlR`R!MG==Wpd6*fwB)R#)Ou2;8gLP!|wuqdsQv6 zdRw|U*&C(0G6_*#&n6b3kwnjkxQ~iNO=>yW$J+V{U4+s*HGFx(o=ou~0qXK%ia7b9GFh_X#9$*l2F z#>7#kC!nwqEy>LFQD($ZZcIR73mN;reUz#=ioO?#6_hTNF+Pfkqa2@ra+FZ|`Y36y z#n^3ZQDByaWY0j0fA9`;c#ilYn#MVx5XcA`-303`-sCm6BJ<>pFYmvf9OJkln4 zBcfxd3)*zK*N*JAy>!lNfr=_r4MYB#9rS8w@Av|BLui0kiRkdge{M~gyuU586KL1;E-cE zIRBJDjK&%6aXOPcf6BM|x8v_MAu}qo+dKFpaGZ`Nru`ST>YoYEzf36XTFzXhdQe&R zQE={k@O7c+h;igM+DDn2>SjVKFi*DW3utMvQH=kTaD+SeXp$RZiO0Af>k|p1=`WHm zm)(@m;WLyDAgjh_^BX9Wb+gBjQ}8d=Ic>KeABpsiq_Z_uXOo+Cq(s`i^-hWsnz{sg zCV8b2g0o3*XOefrPb!G?cn1=+i5#kQ!i74M+>4z_ehbLBS^^M(jR|kLb2TxD#m)`8b1iJyqeNhgOS{a*@H?Y=1}A?CpoNe863}y2A$gG{41km~uo7p|am~P!6f(c5@Hg*m);--HL6= zy24lbWX7}bg!PH0t_X=7*YCkxJ~E;hZ6zxor=5P`pZtBSXEdV0Ao<%j>@9~(keNEEstSne?MJNzx{4r@0E$E8hvKiUD7Y0d5F(sQ$eitx6HH-F#BcSQVv z96_nkud8j>{6I(yaf(=&?>saT(*3B5=*Wv(>F}Nb5A|KRgs5Vr)HiCIs+AW0rYuwY zHN42oKgZpU?kAy4-j)0_dWNZKZlxPZ84Ph%=nNuxcK9m|o(_l(%zl8_4(#n_ILm&a zGgI1=6qx>a8YxNqBPMU7{_$Pd+wse5asSMT!WZ2-!o$?z`y;4>BKT$#p>H%Juk<7C zlRg4H{Y~x~2Ch&iAa%9-Iv2K)%(v>C{mq}Vs2vH`K(xMh-jvSHic;>vEWb=1p0vZ` z5FoKL_)9lm=@GEyz9C=q0@}k|r;s}cSJ?nlQENT-W&4yJzs!jg6Di1SRdH!@ctmD8 zaqj6m&>VrnD;L*xTx^c2Xq#NR`RwqTu8ZxIjcqPm%GF+*BkUma;>S{s<*GB|0b13% z8D;ArN1J@vw~ntvNh`qY7uvA2t_Iw#K(u-3GZylfnrHY?2>L{ssZn$Z#hur~0C5oU z(5i9irnBog7|=X_S)tiacc(fbxJ?T+F95QSAc8pgnKtB%Ci+&oq(_X+{Q8wuF3S4C zN16^2onhMPsD|m}Gw_mVMusjc4B5*=TLOj!a{ZlzzVU znpe6dx%B(93pg*mOV_3Bcl|0*+M3>yA4%zl->8M-@>irjDS7AX51V9xD^bBVt!e5!vR#sHu74%~>nh2G>*13Xihmze(+0o@F3%&LX z{9Qne0hwv28%tPQxlsv_;m6#~%!{uRe-MZom7QoQ6m}s!S5!7RD!;RZxaOYGGpNt> zafml&k2ThJp^q)a)t7zG=bUm#ak076mhNA>_G@O1(021OPLZ!%zthJf!3fwgf+cj@ zNbm7_)_Tt&%@HJ`=bxICU{i!poZ((x~ z;O`)!?Yf94dvd!df6C!{!(!GTcs1csK=Vp}WI-a0C#s#?){g4kuv6wwyAJ_>q6t!x zc=oYJNX}Im5(oFQ!w}H~FrAP8G3efxpm3OFnd2uC{NosKesyAe1q5eoVhF#BavVbkXd=So_in5GoVfay@eH|6*~xo%M=bpYzt1} zJ=TJ!K%u5ogOi;|!{=kFqJ_c^bZ?LdKKtpyXlU7j^NHHnP0eiH@r7>=mzT-7GDMvnV(Zwxs8Dk}Hsuo@Lj%5Ww1qouqPNuEIi94Qw4_Wg(zW&g}r z*Z%qL2Fm5NYT6cK$Aqi+XeRd)!Z006q#)$~@@Vo)+vuznc11e40#N-R5u#|1BXeO` z_%90o7>9qk!+*E|emeN}f`7P^|Kw`*pbG$8SkXPldyC1iwJXrORP?mV zlbMj)m)Xow&22z+399M^EEke@BzUayr8+)7)5IhaY||je45!@2{FI#J-C&IdgSuTJ zcx$(nN8r8)&2D8f%gThKQHXAo>^Z+U9b-5&Gr43B*6<1ju#!EP!;5&x85Jm>L}!l~ z%c4{aW%)OBIybk*&?K4vY*wpoH$i`}`T`|i^pZx;;p?PV!S-n=UPopLUUN98zfUYw zQIMId@nyS>dfENmTN|@Lo}Za(7NI%y2uk~NOXDQFTJ8{@lxj_82S>dB+g2Q)hK8FB zay98?(=MS*n0O?B1pU2&|2UGY>ICi_T&9i>ivfZ>mK?U4+JAC~c1QjzB z1@pSH)zH@~a~!vODd4JuZR+62hg%iaCyC|39)ko;EsAl#;rvQPSwZ*C}cC_iw97TR%E5 z@~hE-F-t}VuKAw#b)y4UeL6aD-8Z8H``_pNGvMIu|G?p11@3j=>V5x8qE*F@kgzxm z_>T3drJHvEUJPUHT0;zl-E>gn-8AWOld0)o|dY# zmkyrRTxrt|p4KA!%ZYa$gpZclA56O9An;be`yB+{8u&>G@X{r1oOrX>O*%X@YAteY zi_Dh<=C935{><5vSx$fHovoVWRSac14BpgMZA<=WQQS7K^p|8#0gS^}G-+!;E@3_P z<4DSa!{s-<#J_|h*&5_EtJm9xy?vWD6w#r!vH4WL5910)AEbNRIHe7@4Z(JQ`t@CH3HSlWqi`rMs$m^Pvr>lOvbGg6JF|#gB^NpR~U@G>+IgQ zF7$Iapn7{f3)jqho$Y4!TB@zayl*}KU)v=j-QoNxTH<3&}U+m)rKRU;i zQ|!u_+kiw*pTyK3v9ITlm7!RBSj6)07(VYy<`k|5eVM&#wP|~JNk#5nCU<#(N0zfc zcu#WRp{l%NmzzuwtnV=g0`8pf#rQ!~_YAQy!m+W&X%afXhk8H9auKu7ACo*Mtn{nU3``e zm;1+;Eywt(uynPPqwY(Nr1YjZI4JKyY9!@2|E;5xDvf^<>^#NYKaAUo*!~+CQqnz00*C`Z7Q(q_P zGDzg8)J%}^?Q-1I=wW!k4IFMSUW#UbsMY5ra6~wj-|Cb$l&e2)l{9Bp&iNFhuglDJ zcuwB)cnUBV6mwaQxnFTB?DW>_=5}nYPbD$W3dVOFJ_bc4JdZo-eb1qfk(BT8BwMC@ z#=n8`J}lQm)X2GvIULll&OB^M2R|X9z8ejKh}=~(i{4GP>r~ubj+bl5z?naDh)UH3 zrjFO~lDC89-NF;7_o@Wlpr!c_sNRQcVDGio`_zrQ9Yv{EBIE6Zbc)NItkfzZ!+Gz) z8|UH5@j09{_wJqQ(7tL0+N^rCwL;sDDWUwPi8W-rNHTBA7m5UbIV7=$w-DJ=<2GYI zbWo>Wa&<5SRB5j}MO#^nC%cfI<|YIvj8d`nd;Ug1S3wBJ>a?cta04VTBF_KJyCk}e ziuMnG61xXAyw?WB2$CtzV;+CT#>ULKAIg+go0j%>xmn6r6?)(M0lx&nPIGp#s5?=n z3#o-dOXb_Bn_ZH&vzchI&+2_C)QfFnrzk$zn~AQAPnLWqlH1J!b%rU+RJ;v9B;1WC ze|nQ#vzhCy4-S>0N+J-?0V4ttD4&3V(*>KvjpQWd7epMuU)J| zB@rOZkEA?7UOJtfuYao`PWU%+n6=xKdAqrviV}ORR5PKw(VHZd&k!W6D$H=k@_ndU z7l>$@`ZowfdLODcRscHi=InK49XnP1=vu9d+)Pb_WS}fn(U+8cIB7CuWupL=))MeJ zr-?!bD?>>O6{kf~JD(3cQq?}G48zI6tn?72Q9y&V;)k& zKYv`vK;eDv#|NU6Y1R1-3^^*oRlMjwIwoT8z&8r85@P<>M`i+?{_K2G#l+U$B_3!~mPEY*cmHW}(wWtX10Z7}~1fSiz_dxC5^s z+$z%?hQ;Z%w&Lz&6gU0g@6LH(IIIf1fP;N+ZDygE9<6=^Tle49pg)V{I#qg$uiTQ~ccu1Gd}-X#v6 z-TOpJojfJZTp3xcdDM!JWM4|}PgwE6Bs5&@ITdFqI?PoXF=q0rY!9GDm^p@4vk8}p z=~636_BoWQ7xN#^3uPuL(+5INri)kzoxs_dct0`q=(T<=qz3N1%@2sD5ff{LW{!kN z_&bPDf3uE)d^(1?nx)eu(|q%%^r=;514`yzh@3ehvlSSz>I9~gEQMj6C zC3m|;aI#jrKjfd$vY+9W=%ybw3M#tCcm&A&T`{ak@1I&&x2}dCGl^+94%=3N)B)}M z#W`%}ii#in+bvJzC`-RSm?Meo$9eVRKL}It9~D$9-}4eCqX9rxRdWWB-20S{KyvWrnp$Tp?!HAIA-2_-GgR z<75f$#ld0u@GHA2Bp#Q4g4n-f$`ifBr}l<)>|^PeokvEm^5KsQK0gk(y`o&+sgD=4 zR(F6GTjEj)cOb;rSy%-!`X#Zxud@?6<9T6mh%aNpPWC#0;E&@PNu2$%SDa2*kZ8kL z@M9dyIiq-erM68(iyV`A*s1)kd(4F(=Uunr-!HxNQp|)|dltNizXg`lKtJvLGo8V# zc|m-hxEM)%%A6#+z_-XR(gfbaaFkm{BwV9FZpnUz>!Yy%JTYFU;U4gGQc-*U9l;pS zj|TZr>EcGsR|n=F;vJ$m-TXm~LKS(9H0Iw96*uOS)sFdB+Xr%0mF$7UlGN43t;x|C z8jZcRnt0F8YaFT=gpCiBol5o`3T{fK99Y@UJIGC}dq9pR-ZSKgwBFT}!2&O>3H6~T zy}ggmF+Ip&N&u>8v24#$jQil&bh$HAcxOkVKs zj8M`$PYpg#2yE?MudnG(_3f$5R%h6Xq>NYLyzL`rY4CpDSb;6&rCu#|n;YN5$lI`2 zb5dxEn$}j|@{+6bvNufpH2hWnQCRrxG-pBb7Bg|a6nFBbxZCnB>lZP%rH~Gy0vAbT z*#AL^(Zg^p=tj%&fNSPLC%TbVHJ>+A*W45B`Gy^5L3kDfZ@ng2F`Ui_BWr}+&HyUL~S(G{3wBx@8gfi z-I=CS=N_b>cHcynI{HL@h!gpRF~mF8;;gBeE)q4g1I)A)f2V+F9ikON+bdTvyx6-2 z7g8H+5j&n`$8V6n&c9~}7g`$40$Lhq zBAJRC=jC8>VosAeT!p*^f#Unvn!%j;V(R4d=91`1s>WaESEWCvnzJ5uldCOJ8KY`5 z*ZwXyqZ!Qf{-oZu==%xE7_-Rw6y_k4s#9u(i@Gskle$$lX85`Z&)MBb%o!iRneN;L z+|G4=rB}qKN^h=_1&>XYR;+cJI|-9wr%Im@ilH?bRWy@&n>JP3-l8%0z^PFsUJz2! zu+R}J#@Q(psHu^sUf6qgBi?ou_41zPb@YsQ$0@}Oi2HXCU)-U;*#XP%gmpV$TqD(> zZTgz?1PpbYjQCrrDhFz!)8c%e#&4M(l~V*5~2 zh}{Htv8lze(1~;M1O13$%T6t35e2kUi*Z!JO)VZ`N>}rs^BXpCnLsp`MmKehZAV-U zz^r3Gczk%Ny?v+Zl&V9nfH#T4A;0p>3jauEmVrW~86MI3E zwTrxLDYXjBZ$TKfsHWtP)lT;sgnu9N;`j(HU8zH0+bfZHdL!a2krU*dGTe26(Ta{BaplmO(%z{b--=Z5nEUNOkw}bvUqoIF##li#p)0@QfFbt80Ti?JxEwy&6bv_6O z_@~)`@J~A_*Cmu;`@Iw}_kEgNpN6U{pZhvZ9_if*WTj=223WnM>+fWQdot##W%Db> zB@e7Pt*y70stC6WTq4l$e^8?bz5{u&Ocm?DY&nTJ@j-YE;@9Oy4 z_&X(jFL#~o1R{4t0=WeMaeCT3^(?lQq|*q|^Pq0^55t%rxud(?V>MS8RJ%MOX!~BY5)dT*84E{gb-UZI;>HGhmVGa}J42nT%VvzfUR38m9 zOgh6v2%(5b?tMOHh>FQML&s^z{Z8bPdp?qy>dbVVJ|DN-Qz)YLyODBBg!w;Td%xf3 zoT=gK_y0b=^PsceYp=cc+H0@9_S$RT5+@#{204kKIqM^h0q!|EJ^r9tea(CJ%I^xy z74;SwPL#TXQ;{+5U;^!Da|qqndUS03T(bjeH(<5S&nkqkqI1(g zN40m?_Y+xjsf2k8##s>cBBOAO2jD2lPM;sQo(mG%Iu8@8sbo*gkz-+wsIEszVv;u< zp7uBCqOzVWqMN%Ivg%;5YwCq&o^O2ZK|Zp-Eu!hfM5VOX!qJNo7_#5w+B1jixQn!` zuuv`EQ(JvX3J?l4Ajjpci)?At- z73b9{hDpH+j^goi9fim$ttN`saD{=?UG^QF?n=CF-Z^wSI#*25iaCXt>ybt@Zu610}?8C-cSnon}JK|@hqXN15*Ef#0YnXwH zw>Kd=wiAZck%GS4w%!W;?PX{b>gS#7>rrxGPu(GY9#8vu98DhHJFqszAL`>O;~he_ z)<4o^J@v1q{(kLy{YIh(No4hNqIV%|+-I?6FOT*swf2K~*2fqF2GRdg^b$)h zJu=JON;Fb(I3mf9_EYiG2WPhRu_hyAM5^ATvaRH2I)GG`^_~uuAipqEWbDmX#({FXzKSP2`&(naKBf1z3s7&TRDiZeY-#V&quIhF4DCkQIcn-BR(|^Bg-s$V&~-j zRu;d4ifP|!h>CQDcdyz(YgC@uj+Mqp<8f@dgiDR85}QI+NX^beJ{$XF^#@WqOTydq z_5@0sw}GVe z?p!kmLf!d@aO^dbNjK+~4_&~GFX8d?!S?OJ{b|3t=lS+k&uY_SKJ$*yJ>;Z}HIYZb z=c>|nFMH{^^HTMr#OuIg$NKL7#bQ4g2bR6Q+-^Q>cdD}BjMNEsTv=^yBV$tZ1)SU; zd~P##GWOF?>OS4sq!3hVCH5kg)_I`kgU(7TyJaY5Bf@VMg6>I=$shYl6E%*%n;bWi zLrn2CH1adbjp@PDL8Z(^@>oKDw}zkwzPu(nyo61Ll^<(x>fm{qXvaev`JAU>CaVXh z^pRyEg~o(-zC-INw56c=`X73diy)I6IuVuVexi!lP<0OJa)?Zs*XC`Rm5JgW#HWEX zq=T9r%vI$Vc22-1JoknKR~NVW?xc|p0)t=?^AxEtBKT2nbVfevU+i=x9lvY zDqNP>=SoucsrjmMH}1=GeZeZ2(!r(YmY#>2DG@#AgOt46(bEBXbQ4T2-FsK!`q(-Z znK4fyd&rmXdQTJ|M1;8*Xwx%xyaabQWWOEbpVVHR&35T_ zT-Ed~h3sPXA`=4J)DGI3ds#odW*<_$jcHl4tnxiObSH;Zm9sx_lFe@_F->)L{CbvP znkKUp1n*1BX~rF^+sLT`B&oR4Sz70UsaB_(7qQ>aCTV%$T6>ht8OtTiH*_oObs!QN zKAy*(@#c5mmQ3RBnaMCG0m$BBy$Nd@x!<)k`b~D#oO99wOP8bkbL_-65aMAII35>? z|6aEhO=O=nFw3xR$UV9KJDx>&={xsPqK__1+{cLZWm$v0p)=8tl8*?NCLkX=-y!8A z-O<)Og(VS59K6lXF z=&vjS+gnT4e5DFieH2ObDL^$;o>(p`uC5PjfWE@v{tv8>NMcN0-SGj`yb7qUZ}2H5 zJ}xBsaE8`pN;VX0tLc@LKFX*_qElbu8YNv+Vp(M+DmMOM#n3fPJEz+xk~pV8k!SY0 zEVt_WNa84aP-K-k!co1#jk(4BRwIKiAjMe|iuR%JUM#wW4;a5e2MQTTI>T7}76?oohp3;j3i=n(|03~&f5Pk`X#pHKR)Q9t&kC%S zMpYU41iy>$C))mMItdAJsOuE8q**%Kg7WJ2Oo18&Vk2|s6y!BQT4pX0wE55Zn*6_W z{G5$Js+8NOQjXdzW!i3uE8R#(SB=t%uANf}j}7Q*p8_4~)72pb>9kqy*mL$My;?2T zG-I03T*MKYx;E@)*@f)lC^cqR} z$+0`IR5aOLi++U0-Rizjave(&@r~%Brl^%4#v2`Rer=i6f=gtfl@kWW^g2xW@OEz9 zR~e}t(O)OIt;U96g&V9ka^Xc8 z;l&x@C4Lz6i3CH{_O8z-(?R(oedr76;1oY-FR~-7Khy6s-J!j%fxPhMW(geLKV~1G z)B%12K=|u@e1$h=gtIhD;7{;eKTL2cD8fP?V9r#;_gTdcZ`h6cMt)DBherCr#?bYt zP-QA~LK?A03fLtT3a3KZsn9x#&|hQdLqBA)aKbPinV$By(VqRgkb%%nG|th8$i5rM z)20k8hgV*aRk#XmvEqGf$P3=j);X6Ehzk?OuXMwWyHQn@oo>srjPFQIg(L8|4Biy@ zVZd^*>5t$GE~Ma;bZ~fpTUL0XpvtRjMqWj!Fgn;Flob{PnAHS2N`sSXk%0WAoL&ly z>`E+=6I`6CHAq2zwSB`T%u5x46bi_nGOW&k=VpW_S`1gvaD|nBM!XdOz{+E!4=0!( z1iAH3K}Z;AQm+oZwk z(?KZ+{edvmg%rFzm5!r$0xJVcrXL=dLWsFXLM)ua0Q`dNKewq=kqpd|jBwA4u=I%j zgnz#a+VJ93xGeozWLE*r;H7qTHueb8TigHH=$D(qvHc0_*v6*lnt{<@w+i2!51=gm zMeT&XtV>3}$d3M+6TW3XfEdK#*zKI)PwT(rgzFKUMDh5~HAyqIxHD9b0+r_Ld_Ifx zDR`~|beD{}rdZ{(q3LvM-?z-fPtr1<)-%Zu$|?y0w(8IrG1&eOJqLx{bAr)i4t-u` z57yPfb~-qZr_%h!V5(4Fvi~xC({DZFK6A}VKcd96nW}#Nv&rUH*Mv0CB*}usU_WND zXB93=L27~2Jx8tWSS0Kv#F-;s1N?j@c(K5p1%4qDyh7kyfnUr78-c&GbTpebL`M>x z>M)D!TLIZpNkQ)sv}RdV1FX7^J)3n? zQpGohDkw>R<|?r2UP;9yiq8eroF(YLGoU4c9;X}=#j{9jc70Z1Jd&pNeHSV+ud@D9 z_j)=NS0k#DZI#)KOt8ib^OMGZxH(-o=2z{{=VYmQ=@T^#_X&OMvh8XP;(-u~?XF^r zG|)Tykr8CipccCU#wY=_wGU!*t47_7i9m{mgH!I!TWHr zz3aBS>;?%$WhV<>$L&=U5hbGw2WE%wjuqYq8`&59x|RYK1!=v7C-B#oE!krQ{L&hDCTy%ZnnluB{k4IReOt zqS*i*b~J?pF;GyBpao{!FHT9lN@_hrwt^UK9*!L^3IfHTKuRC<1jR;`*nnkJ<-VeJ zxQgB=0<-UiK*nInRbXWv&o&_4{4>!eLyra)N#*{L#8eAbdf6ss4)-`Ky-%7yz@I|a;!d6^d_s#}&Xj!*B=hP+2p`pRs|`)6iCbR0)!&J`#ImIZ`aZpxzp`4pfbrE&sbe|ZJ>j5jplqzxS+@fC=z-m`}E}285-RjGf_1_3tJ23 za9iLkYbeN=?^-&&h$6T&DpZ|P-nBgJLMCPa#i~WM!4E&?S6`w6!m(?}!fzn4i)0J} zVnBaw4eYZ%XloaxqDPvg^TmkJOmcu~OUbjyYVsr{{*PTcG}o{gPuo>$kM^;a%nk|R z1Iwp>`zCo-j(bP4i)eyZS&lQ6asUmo*)KHXnK_8=FT{|F!V0arg+%p$!a)-1w>kR( z`e$EAc{W!bYfhX3dC`rX!?*0}qIM#u0VInoJFW~Reb8vZyAdkvukEj|5|k2xJhKlB+XonH;J-h$52*9;zIgOqWBi#v=+L`bkK`; ziQ;Pjl=jEB)I8PNSz`4Fiqd1IL+o!14d*DSw!e2;tTKi{%$tcIjrMMDbHHAKx=ab2TA7>ps4MzHW9$ z-wJ(12epth3$iMABhg5qG5oBDBgysC>7kEGc)_t++~N%IaRf>B{}!D8eoBLJxtrJ+ zuK73r%8-!U(rDZkMB|v7>0}hp%yARvZ{ayY;K{pPH-Cm%FVQQAPP^4F_yA)PMeNyC zK%ze(+Pol}L*z^8pg3m&%&P1mB2^^(uTg}2pyw&TyDG{xm5;eB$Y8#N1KZ~87qsEQ z%{$b?8mwIV%i@g9#pkQs50*Q9{SR6}-MK(m^812N0)o18!Naa04%pci+(lsIwo5wq z0fj~Qf6=-H?9X=@dO}9vxgd(8L;)F<^1$HU9B)Sp%J}qCh&b6#^BQTW@NmcSddG=u zFtRH5j24eqAY9|dzv4-JCD%96P>;`cBJOlY@vX|S6S9-+Im14^92>@MKh_8g+OCY8 z-OZC9P9v><^JHhBX>Zvw>p5b#NodY8GVEyms>M?Y(-w1W2Q2O^8nS+bhDT}{h}`1_ zRBBt`_623L;9e^M8%SnHtO(^uv2LV$?^^he#2Bo4re<|OLr6XU2j#!)dGgqBpSf@}%hF_wx@4fN~qPi-XaYw8~*mhJY9p>CwrpDciQs54&x+xkGW`bFQ_7_OP_G;S?Xw$7~W zm)~RQy&h0<%9kgwAI$OT5&>3twA!w>TAh3$Qnkp+|5WQ)p^|;TF-w}QDA#zp{Syxj zmU-n4M0O>TZm~aHMX=?U31W6|F}K53kN(;zd`qqJM_1(2wf@DV#r&~Aa|8fVKX+Ku zta5h~A+Hp4lrz|BPElIwKMr0{*Mr`sadQj$%F61Bka_po_~Q10XN|VjSDqEVRFYrb zBI*jBq#?;qACqLLOY()_!*N>x{|xw+GYU_IFAUv>WtZ(OVl1eaM~|j5V_5EK1-}dU zW-OZ64$d;hKe*bN+FiYIq=yGgv|@`mDafp4AWfO&jYz|{rdb5nQlB>vIE_DWIv-he z_vX0%V_>lLAw+-44)>XZB|Xrrf0EvL9|$Sug2c=^t@zcSc?%Q)6k!3M*7KaFJ~VJD zQ?XOIg_54pYs~tb@6nyteI;QGCB4>0%l(IQ)#-Ls>Mlus;NqKhf89=8ZGv3pL%NcWHyVg~Bee0E=`YB>F3nd#nqAzt?0Z|vHcGLQu|Zsz0w`6V8~BpO|4R26%wZbc7&>k?N>7w5 z2G$rlDEOSCPiOAg=vVkQw<%K^|9&NS%wcQ{ioIPJm-`qcB=W`xa<&gqhxaZMB;rGs zD3`NbE^^n~a>|9Vua6N?njV6*_aQ?B*+*$YRqy$f?_xhM@IM)G3pp(>hQw(8BM zi-$Uq#Jfglr-4>FeGx!m@jvW%N=yO}-l;}3>M%Y z77(*81MfsZx;m71-(m7PjXMmHH?oMmH|}n0VsU;VIA5!P_)eF_9SG^oH^_VahjwG2wy&u{r8r!4Pf z`}qu?l$7O7$k*^{({d#BnKyge! z{d#=>n(tXk0Ww5QAx~m|?+}5PIq)D|zhS{jrH=sD+g4~(eYD>*(e#l*TfwdHjiE&t zhqhVX<V$tIP`V;o^n&9&;r5-_Q(8mh>CIQZ~0DNoI!5g6z zjGKh5bPW+kv5!$L{+}esffiC$Sl}I_&yN1*aIZ+8?R@-+!rxPnO>D)K^yR6A+6v-X zNN78ev55=T%@P0^B2kWZz#n@7(Vr@MhM&VY=J8BR*M;h2#A! z%rPx7zh$uvS~`-GkjDslvXGT6{ba=StP+|a^bagdaXtD=vomf-c&C7Y**s*cSJmMQB?Q?Vkm^LWV-YqHjRbqOL$ z^h7^;WZmI-!pyo`98OP*GaelIwHB$Sl?RAe1-t#Hboz;4+f@b4HX6vpSYSqQVltgZ%h)LraX3)4TlFaSsVuN8Sb;WR3h*hWI*ZEw zO2S9%O4GEC;TAFoQU4DIX@KHxay4au<=#B&tZx ze~>1*)ur0iPUW&p6!8N*K-r#2Cafq!k9mO&OsTBAzN7`}-HPZ5T42fQL>0;sq4NJ| zX|JJjheYuS1m(Qk7ar7SSCf5vZN!U*iiz;fCUt_<6pHJ^w;9K^Ki;#-a_9htszmXj zK)E@2l<3-|t@@Icr64$3y#_r3!~2g(s&JXtH_L190QU*7j_%~w>1Fl^f>#aLL{Ye@ ziln(wcz`5*zL$9m%mE!s8U3WKWoI6jwzRa&`Q0}b;V7_I`zW4p-wl$XmNb}|cVp{NKv#v0kM9B;3#vVH^mES`upug4& z8_aza;c396{3(vmBSh%S^T`xhioMSlX&M(o=uo7Wbw1IV>>{kVusDyZ$Q~}T8hG*m zMP5#%*VaNgXm*f5X9@HRrMYKjZe>-Dl14sB$fpX~b=P|-$$X;gSD%ChWLyKFuIMZO zVO4YVG+XzpfX^exW`G&VwspyhHc!^fa+miuxRkUrku93( zOGSRYdHcL6=-d|VGee-49ldYOM@sB#Kr0!hynj0Ad38Vyvg7mUS|_3rz~;nBY8USR zxC{KgpITZD6}~TP2dedxYG=-^3SN#*<@}b@s_oR!iQ+$IkW)4}c_DI0wg<)QX;+Dh zkAfoVh4gWlLA=^dvv}VgUz)VGiLcAK_yV90R-%sz)NG=}hu|o#y-8t1=UUlcr)ort@3CL8@Az!SQyqoG5-(_<4T)#qvA{e@O5Kt4BBx*w0aSGr%-&b7$BB;ue_Ea{bwt=}oqx zpdBR)g)h^iy`zDo_v@Tq9{(vgDHh+Pjm~DcxJTDtF`8egr?oIkOKuCeEFpQJZG=X1 z=XBQd{!^zB0hT8p;@8{&%no9m_c$P;%q_e*M@IIoAK_$7=b zamK*m@@QOKVFh=?hxKlsU!9 zjj!%>Y0XjQG%6jbtz@VolVR)@64IG)oOM*YY60hayrzz8de#TsTSrwvXg05n6h-UI zTVwgfd={%SUWd^`3T$Fii?rNsUpmXq$JepnoMTs-TWjk%2Q3xUb+f1u1>YuUraYtJ zj^pkNO!r#Ki8kyMDb6BKUMC}7gq{rZ?b|S=v+V3&*B+UXq)QHY%lflS;&Er_??crR z?LOniPo?WYIy+Jhn2K1#Y+oJ{Z@(Z`KGX0CS|pY@V*MBFx-IS#?{O3Ba3hs+W+;CShF>7W&) zVARjkmM6&y0$91TJ*~j~#g|)$d~6mt_K>>{J?L6A(vNack1HxMK%4V89Iu$ISQ$~q zx7b8%)`_oU(l>ye9Gs)qiTVLLQQws`18o|!BRoF)EG5|*2``O*S{nU|MXOE_1Ja;m z)@uKLW*sr#VE%nAvX1`_4W#!$2H8%4bY^eVy$I(05v(mV=n0du_=Sae@p;d{=n`mR3jV70hjmq>`Dh2mGDd%sr@m)y97zPME3%T+wc zPgYrKW=qo@l~WkL-I|BUx!52P5eejM7(5Hfpk@*79W6_ z&Hx^tOR2ZD2UneRh>Cc3vRHlNPTn7IBv@aK++Uu(uuiE{c;$F}!TZ|2uUvmQl5U-kSv#J zSvAmd-cHOnm$IAc`|!Zf()n9+?ZNlq9qB{nHB^Rff#+B&7qfg{8b08i@56b-Bzp#} zIGtLM@Z3elz&lWrU9+7-M8S5x+BGWvP>~`08>D< zNHbPkOLi}{BkhfA0*OL4wNkq`no+FYo1^b+2>DRf>mSMx&`EF;0e#^mgz{ny+lk_d3co># z6kMo+do2my{)@$P>`^A?aC?_k0NRNp=G3&t98<{7CMT1(DuX~Ki=Vc#wnNjk!8tVK zaehk%&A@AE<*}V|x4uXHFqL$lx0 zb+f~O)4Q!bt=lq;!>)`#`JrlSbad3OdFV05lnnDi78)9VzS)V{Hzwx|)}GkT+7nsi zY_7*i7O5Rjn4el@%fCmMRc~Pzz@rOZ)SwQHc9ge+oH^rld#Qx3)i~z{Rdltv%b96i z<4ZEOp_@+1obmV`tOv4;@_rUBJ6(uZ^|%@(Kf?VNNh!^;_?Kq+Kf#vvWE(m5G<(;% zc>PO--O)j-sQ=53CEbZao$Sf_FVPDkWGlo*gq$Gj8;#B$waWdZi}tSp5Zzc1zNIs$ z@wxV3@oMw^leUM(P6o(BSm?0@>_@L^%PkcpF?IrVMxq!;xY~%#W65hF(HsMPT;XC# ze8wi@!bB~0*>i{N48nFc&!J*?X3buH!4`00-90a{`$?f;5MteZCJk4qCZzEZUSzbj zML$UZct?Bje1v4hp=!(Z9tCSXMKFG_=-KEbCT{s|#DcK)#0mOB zUOFakf+w;D&7F4Su6Y1tuaST1C9>U?Nv-`xbL-xZcLD24pPWLVj;>R1wu^du(H++w zBunO%X4RKWE+tbcx7Xb+ns)Yd$$pv)7NlQXYUzT-@60YM%Vsbb)RxvNxp(~a$d z%D>w(@uxooz@NLHgFgi=_!DPygr(zPhw@LMe9AZ*T(LVG1l6G(@yVhGv_U7uU9v0% z-;@QJ80T&}NSS;~Ca$jg_*vj^L`WCXv+5^4SZW)|Tz9Eo{%J^D2K{3t(BjWgz>^J@ zpv-dr^DO1Q`KndjvlVWTo+p8N!;g&EqWLTev?O>ZTf%(tgFRnf>1Us$S|my4`dl&h z2LjWPB@0c!Rjh20BLbvty!u_rmvMKU%ea&3&&ymC_PDh#di;A7dKO(AM^^X?^9 z?ZkFc8rW@F)NQSIBt_3;BWae`k&ffr8FpXc4ZGD&IFw;E`s?1|TbfZN&4nN4{=jNo z=PbA3@U}Goso*xfoJL#5Clziw&aXku(WFrgYOWwa-|zD@-8}DHyJxR-il}5t<8R`_ z0s&)hFwDM+fS^X!{YZut95A0MFgbk6kfJf! zL^&NSynOROKf1EGZysaFRKZIq*xYG9Mi&;Cf!DC;H-=#XTMnEc)#-AS|E6`knOja4@{r;Jf*P9T7@3#2cVg@9C3N>gK6b zSNN$8Q>q)4>Ulp^#N!1)nDH%nKLbo=#knA``Ev?6WP8m}rcR0~$nw5-A8wb)*Y1M} zAu&r-firBT{=T7wf|U7?3Bo}IvY*3;sF!)npPEg9g`mLi*4Iw@f_^Ea)P}JaSrSyO z{{@Cu55clpxOmC+ms%v-_LpJWUl#P2Hc!zCVC2%H9&pF=Ig8g4RPWOPp3-iD9T=-WBoas{g2uJ%4sfOH7B_g@>ks@`rs6Oc6a5_ytr<-Oq2 z=6aJ{pul_31@gQ*Tp-&UM_^`mRp17NB1e zz$&X~vqJ95>7ZfPKtXiVUg6lkQG3x%JBDLt!D+ozbdE0@Ew$!D*sJObqtqVM+71M~ z08!6?CKX=b=e%KFo_lYkbi=~xaIBfa{DBodSef1AK*~JLZIk8?q88BGjWu~;XQC3`KZR@ z{2q66n=ZrE#5%HA^{(EU(ar?UOAsNQQkeN)EZng6}TtzyxZYB zYWs4cl2Zm#%&nMVULjB@7R$xFJgfbCGskGI+)EnTGQ6u&PiBs$U^&CD&gs6`gC?tu?(YdY%s+57W2L|ynTS{R23%mj*sly@oFmO zPVOegiy=t;w|`dUVJW@;;G=30fJxnuZuW?|)}`f~^=2tqLQ1HWh8OM-H-Bm#>ZmQS zIJFQH-BcKk?P&u@?g1kBZfikk)65zRhac}jt2!HXur9j(74ggQCgP&QN+{#TuC8Tq z3h|z#I6Z)|+I+~YR0Ze8KbIZ1kk7i+r}cH>!$^s{-h6S9b%myAsi1G=m(JJ=G#%Re zS=&uEk|Ucmq_fQ{*c*Wei;?n4vL^*8h;!x4A3~S%G-ol;+Dz|7&T*OOHICEo5tr7X z_(oN_A$sL?zcu%o7am`MC?R;<8A>%&ue_A(s(O(!vCm3{-sbfiCYzi&u%Qlw3iyV8 zAx73DpemB+Sg4v5^x-8JNLm7ltP&_?S^{Ya?N3s*fbtJrQ(a84-e56J)K3lP9r_UBL2`gkv9#j=Ce955`U*`T>C<^hx(LnF&C7Dr?p2ZHHgrj z=pF>aN;O;$1bZ{7wt0L!EG^mXqz)*vL}l9i%GhHjN%O`~y)u08CH7^k$DIr9IMF-Y z(yRG??-nGl)k6V^;?BY;kuohty1b7C4XQuJYpdQ^emS7M9@>ZPr#>4R{gN=>h17+vV!T$7=3y*RC6 zo*9&ui9T%G^NKQSK()Ob3veThx3wLpi}!y}wO%hjf*X`fXPHH5ITi6;ZPf@ADBxXe zCD{if%E4&1+1Oo2EUJE!*%Aj}$U|zcq~@Q(i7TMI~}f?p?O?tA~BZUclrjd-VmY_&@jiqjzaN$yl$& zRB&T>7kXJm+!vyUWL3l95^$94PLescqK#{{9{DFN;-oHU8fD>h#XLOV=I*n_)<7MU zbC%891KLC|mq$!>Q>5jX_2Rwv0t9V2c&{JihC{c9u#Mj`w%BfK17Y-DBdvPf<#w|; zbs)^vxV!D`MzsA1jm+bKo1)$>zphp#7r~U|ghTtF@Ec7P3Lm9D1vD1yVz1f0%S-CI z6mJGTB5zWwg6Dl~A69WQZ+x)k;K%$LEfo{qAy*Ci5<9QGP+^jlXhc_GpM_3(aa^Zt zvjS3NsNWHpX}w*crC)rL9sXR~rt9Yws_en~Kofj%jsfm4w`)Of;Er}i%0lzbX$re|bHP7Z zrRVDMx2@&jO@gt>>5gev-D5Z4)LV{SN|VD_?@g=A?TT&jNgyQit!gtT5bx#asG<&q z+XoqfmiKP7a#q|Kbh8&Wm@gKVo#K_{qPI+3=3c$K$@FkpUxB_{_vn^M3g82iKT8a} zuxv;a&sN&uzOJ>};8oH_5^^^qiGDMQc~(^;UFy7CCyj;WM9ljJ#SXG-V()Xl7-za- zG+%|+K-Om-<#LBRxeh4o5546o^AzZHNlfWx)Ort+hmbh}!q$*vU#kg8m`B1=_R%7a z?MNe?74fbBIoS;qZFH9hg>Zm4}GH6x}7{ z5e&51-npV*gSH*Mz5ZHTY*C$HF4r=BszJdmP=?;2P;c!t`J|IY$M?yq$9KYcQs{3C zUHr0`4e` zJf+ysorm)iUtSuWpPe{jf=P@+vxeG`(#}IEK|5HS%e#!88C)c*A`%_$ArA^#%DQ7D z@$ljZeK(TO`)$15_`>26epU9NDtia#Z}-dZ$UUr5b*^C32YWaXx{GWmm4!f8s=qfX zT|uoMW?W{=9NkQ^%I&Q+U7yyiD%@a=F)BPkSV*f3w_#zX;a2}jk^Z9C}X1>dQ)4WwpCBfMa4*<+fb`WVt8I8aep4_ zS3*2e64Niy;fW^{6*{MgA1lC-q3tJ_veQ+O%6<}~Tx}0PNiH`hu|@;5MzdkJrfbON7x|Jf&s-j5qe;4h za9^$Zf6rE`N39Nrh(I3FW?I$DtVKhjP#YO~#DoZ|@$cSixjH*dVI<8}Q8+N5 za91ew*I6>OO$ih&xG$8s$C7~{B|1A>R~9l<;CxzEc(kKvVOb&XGL#kW0lU(36?MFt zw}B)=53|_G)#imeSJYmv=TobWNjIn(pVmA)XCE0E;hKx3VWaa)GE@QES4(gwS-l>P z9R)(^^ogt3jPBo1Y*o8Cj(t6))3vo#kD7DWH0pP`>7k(?L|C;_LIkaru3FO$!T96f zN8bvao8*71#US=~{w_~y>C05!*c$maT+xF3Z5{ay2c^j$B#f5i+xtaA`&shCHJ3r8 zeJzqIXnd0fxzVe^W-)neJM!C~p3s%5EyVC^A*wt$faa*MnqsmV+cxXRwpkZEyA+IJ67IEVMB-Jq>^Mrp5i4s>0@ zwb}Qk?|oQdQr&u4HPK-`?l7>P1uMYV2aH5$ZzzPgNr})}OgI_egQ-3HLtRSK%tDVh z5KvkkVZvHg0M(|s(u(i-4V=5#_z4tPaTS>u?`*0$3v`?aJ=v-w z8|jC;#GK)bis|-~nUDyD{CcWK9t>0HBwCYP11r`UN;w7}=+?C9Y71UU+++`WtNMM92{2>g7W`~c-Y&Mh_Wx6P zKgcHX=ToiJFJjBP$(FYTKU&EV&y*~3c=*IK;H6c=4YuG(i_^=d}J!T8i-{T9*%W@CMo3{E?tV`^=lW-jR4AAe;JUv2Fh z*S~tT)$Qqt&O$h zLURkYXy04ZSwr0&MOOa*jGvua5){b)pS15vSt33?DSh!az%BK~5yy*r!?1-i^u?}@ z)IeVp;U$4(e?wnfgTp*iU;GJuTFcymzC&82ul*UKZ{Zy+=)1PFWo1C$1nbTCJM?|T zLXl4&{GIPxopo1GZvE1=yoyWy!1-?lgZ*7ns_CIZ%D z$4X{xS#?PBKs^ANe<03U3Fu5J9Pb+Akkc7*6k)D+ zYxwPl$n&hv(~X=z3MZ1zU`2aoRbClMjLg*zPh5-Udpfmj_!CqduK0Y4KH3&d3X3AQ zQTr1TqkHC>1t3R;j^@$R1M!fR$LFB4+dnX8&F-~r^P*oIv;Vtwq9gMDmnXCt@Mb}2 zulZ%+iWTK!8w((^qSvNyO{HcQ%o%M}x1$)pKQpr{tsPyMZGI>bH{kW|M2ap=lB5fG z{(*Tg?@{(v*TvE*E*kA~Cb~BJgvOi#O4ibLmzyn~w`~h*bmP`xyDgR+ z^DKkdJDZh_3|fLRSddZ0nogv2d|Mm7-5w=$rx?~ybu!9fkG3Sg#Rlza07&50RePk0 zx|@|F6_p-={X)uneHyOOYtd|{eA!?A@ka7Z^W1Sg%`n5FD zk~}5ZS*1ZbjA-`S@Q;%Np8&6(d7tv*@lH?YpaOf7(%-!(%!_Dup1^QwQY0lM|m$8}LUzT4{dv#B?;6*go zyF`M{w!9Li`Fny`iZO|w_S9hXD^G-Gj+d)`J$?y>yShS}%ASR+NVJ`2_G3DPqMirw z?L~a{?8nWeC{LW5 zSDv^szhCW3lGyU-!k!}WLXjx@_;dMN9RK9w~9Wy;Jz7s<@i3}p6EML^c81v?;uBECsA0i8HJLk6#p8rMovG?=U+egS6=&) z7LvB$-=iS5!oQ;|eNF-c{&92|{~jf2Q>L<8i>h z{VaXH&jkl&e!#ygBej!7Xu!WejhpAi^v^w z_$NXG`jQ~FB7f&t`aW^a)?j%}^j%-(*eCg$RtbR@WwP%DyqH8hLWG$(cysnipPeAW z%H!*k8&U5(3L9rd7&R^PlGUk>%2D+rw}1iKgnqp_P;Wth_4&m7}|<_ zWMp`1PlP9?>hqqcYay!6RUTuTHI{^9H-JbOldE#yZp#Q!|8T5Gqd1<@NQ*O+{5MZm~DZ$jRUKMvcPQW;qQf8TX~|+{2$+s z4Mlg))d}^x8*=AX9m#=!%5I#JW&OiGa=6?KJV6pv*^vX*_JV-rW*YV`HcXAqjJx_V z5#mX@&o36;>&%93qNCY-Ykz+>tL*PO^SS+9Z9d}HdzayBLL+=B6`yC7=-=7ZH;OM4 z`PcGAU-c{acXm{QM|zcp%gI5%~}NPefyZWzf0(5->3UF&zHZ1&SX$&daB%HGi* z!B<=;YgieZt6t-S6!Nhv?gf637R8M(e4GGrllW2GMCHmKad#I!$%jsTHKc(L7d}R8 zcz^cc0o3mb|967_JB42}kS(R~HJ|;)s08d#KDsJjIAedXB-mL>?*5!afg;727dcL& z8)GUDi8gN^zWpV-NVK_m^y+A1cC@+ewac3ef3Mz|SB7iAE1iubTkNX$c&gL9%YJ@J zD>0J^un1UyN!!(KIc7F-hfoI<_MBP0N4e$`5%-YrTbgWO4DYQoV9|Mbk+GZ97*#96 z)B0d5UdYslnE1SC)79ac9t5k$WDgJ59Be~dogc1I!s;pnJ*3ON6N>EP;{9&5t3eN7PYOhD-PNvHUb-v@=V@sFq2PS#3Gbc1L53PDxRyoAy&X5E|Hx`B~=0wKM z6J2GsLs(s1ZRWC)!>>i`HGI=LoNhOI#buPp7Qi<_sKH*5O zL4~bQ)V)>L&+uJfESx*jTYf{zrg8|5T+%Rz#bM(4Ik+vE0F%TQ4 z+0xFnCaSs0s?Dk>TlhqksXvH|5mb_S zjSx^v(r##Io9V?P5hovbHwY@TYu(OamKZ;R#>UWz*i1^^7@D(#+aYBtaQz5Rr$HKa zrbUtS5;3KScbKX=hNr~}SJ5Z7ixsYOKhk93*gh16Vq7*XeAPbJ?X?y67CRls_Z$5G z{;+T*Pk({hJ9``p^oh^_3LF+*{^qdoh3|qeXIOa1++pG2|0R?6_+G>R>xYFeGQ+}` z{4^|l{sITP$Qu^^VqGBl-e#-wU@EbB{ zA_L;C0`CtBIG^}SAm9&n2mQeg7@O&$Vd1Mk$<6%8aUVC#iGI?&eW)#F9m3I-`QEiw zLzU36xFyZ1=^Iaz92xBgR(o+MVa^Js#S^kRX#2|D7MPfj%a<8Y2;bvnO%c0yw-8+v zVd@u&{=RM1Y`>#fVP^4}2C0buRIgDWGIoJg4fnEfu3n}^BwjN_y{pCourC1UM5U<& zKzIaU31V(ly_#r=8gJV8!cX`e7b~nr7IGJj8*jH0S00?y5=s4f?&&k#_oZ`cm85>7 zKKIq9mQL!kuH$o8KI^n3mQ)V)E7+Z5RL&^|6PQR@ z>67x6{k^;JYe!O?#BCPkE{3RE36A64pvpdxTK2=DdNPVDJXRD1B?)08>@e*FP8B9_ z9wV38Q0fX@szS;N2ga~PqFi|?LY6t$5Wxoeu#X)vG4dC{TP?S=PrjU zg*wDXUG894304FwV~^tgEMRk(=Up)9Nn9~Of4l@wn*P|~wAc3Nfd)^tPlO)18CCoc zCTV<)y&q=;2-(|VxhIP2F0uCNWNWXMt)Fi7!izXQLHQgM*)7tlIsP$OsZh?_vUcT zTUc$-_4sh{r^C`*2L)Cp$sy zbg>vcuVzR!g3j!rA<6VG6&DT~;2>L4yTRo0cN<_uiv}19DYgO5CXmqp2j3avYE3aa z)e02;+QqQo6CDTYqXzhPTiXE7{L@zVej?KiaKUib04I=-m6a~qNYQ;J6`=venDZefXn+omqHTyVZTi~= zc;7X^&Yi9Nlau}se093AM7v4RKjHjNWXpjhDnET#Cg=Yxb0!g5Nwma0GIV?(`VB~Z z+j0D}0MX}O@Idt6%3FT|ee642RF>n0faCZLdy0k*ouOfdmG4A{glZ%Cr{H5Km?uZ+ z2{%#CvD=7@KHtSZLDCMgR1|jtBhC8NSgn%%cW&}o|MZz+eF<5@`f_~czU&u>^`0)~ z?Y=jW0qgezBgOhll{VBHS~FSyU(5OqKZV5l;zut^v;ILA69FXvncGfc95gvPHhjyW?6Kzx2!p-u?(Fb70Wl}Axx3p2dmp<_mdxx&T{vFE)Nll|PMNWb zFb2l{{@BggT)ekNJG|KgFTZ%csCeQJ`PNK(ONE1H3GN;~@^4|L?M-3lg8k)1-M{>%%0qB3Vsu&q{Pu41rcS|iIX+dI>i^-hjU;YIkY*Q5ytjOjO+ zgXT9OJ7%ad!f=rxqncmML36UI*$s6660Ng^x9lgo98!}FylIs=$WQj9pRBh{R{0ht zkw7Kk+m>)vDv*e6hSH%*fb%-#Oa#OHemMg9l?;}Zr?+6-fD@g&TZ*Lr0;_gP zY6dtg&H*lvyludlNxEjcI#&N7B;wuv;py;wbE-ed;>qOLSHyBkvJWn+jsL1VmVYl~ zdPyE+&6IO*8`4B`HyheID_o;X&!_tn%}LaQiDt~s>lNX`Xk)wkU;av+hGSutKVWkPv=)j_r~_O*>sU>jrifJ-hWj8E#R$~YcsRF4M&fVy&V*{# zbk$q>6YDz@vhX%kttgAH)WmUk{ZY!9B3k6kv(dC|eTm|%Tf|9-Pf@ifI$m*Vn@ozr zvDYsp?xfb!&A)xc!+gzl)%p+0LwVC$pvaWfXsDnIE03iUzT?;N$Y%Je;q)!@7~JhZx~Y` zdAGdBc%MxoAFlam6XwW}-En%$=-v+%ocxRAk{6ku`Uct-VPSJ@7bX zZ{_Vp;kH73;=h?I@ZG|^eUH&dQGD^a3{2PBOy)9X4Z&jaF5=Ww^_ZNj83p;0q_Ze& zOG!F%fRm(si4ELR2wqx}ytkmEegIjwBE;`sCKhXK9@zTNg#a%0XjGNT^ zlyjkg=K;nTov=Nlw2Pe~Co1>T6Tupaju@5KJ}M8pzanMsKVAqpj6`@&zuH;bDAxDG zCT8ZN*6XfF4V<-;N~GrxXBDOH$^eSzra;h6Kz;vM@51uv{9H4$3wIp$`nrl!nKMU% zQc*i;f-tu}RfW#1R`_R3Zo=afZX%4_mSgeQ^atWlsZe@HPYV7j%QLL%D&M2b@z^bq z#Hd_T>;jB(&6T^DW@dZHK0{t*$gbyrlV^5wIQb4|Stic8WC~8c`3VbyKtV9ocJu0T ze|p_`7!bsP?hX^@`O9F^-6W%7`}NUzVTnvjj*x*($ylX`Q&t_Z`cCj9NU$?Q9bJ*4aQmVrpi@` zb`2~NMiTAU7T{CRoASD0G!lO|x#w0a%&f7-FTHS0XDoqG#5Z`@)p8EqBYRoXLCFgk zpy1vq7SqjtXM>ywbp|=AN$f5JN_#b4QxVBt!qhEiK{azN_90U6u<)Uwk00MU>)Pox z4au{}X}Yr0%1_hF$-bp~Q zJnRsH+7Z9D@}6fxh3_eJVt6ZO4fy_hrxqlp%>E+{444UTk?hgak2Z480# z#;zc0n{pdfx%EQHfJHyBjK#-V-UA_NWd}%KGZ6aLThh&{3t;r47>PRu4PjPxVwH`9 z)51US_;Bn2=u3Sb_75)mLZ_twhXXhmGE#se04!m&P64_D=#90K0vrioM!O6^4*-|5 zpphyy5{{Mg4XsB*EA%G|(85TgUk!68WZMhNspD4A`Hygo4*!IwO)cD-&ypBN@i!tp z-5O>TKt3y8bt`bMu|X<4E%fEjIkMT+3fZxS%AF(8x!FjM{SHstD%Mc7wtChP`sDP& zlQzR}&E4cy8lET|KM4jj#MB0_Rnv9)}vC65RyO{C*5aOv2NS;5O9;$f>-j zRZ`CU`=o?xeus%;rn$v)VdVd>i{u)jzl*h^uLsS=L_oTl4qFh6l!e zkR~9sqYJUrlU>%U5_i{ag=lrlBJT{^j+Dr3MeUI6rUtcRPSB3uAxy2(zk5siTWd!t zPGuCdC$xoYZXiR-tqAz&)Bg52Wau)}2kpVKwIc#2Hy3Rm$QFt3Bb^*RrWJlzF>=)uMg-iQlae|BwHf_*UEZWzdb6j?&Q(Ul#1;apI_CHY`4&?Xw=wGEJoVGq;$R2`f81U=g#@R zB47ZvW}1NG`O=G`QYj*jJIOQJ#f>hp@6t_THG*rGE!06;blp&5RnrhMq=tW{no3ok zubLjlH~>|TKcrMsE@h|XB%>kzwrcu>L9aCeB)YSS%M{(`&J9GDtFe65H1QiJy80D| zZb6;3posDJg7troL%|?xHPew~)Vkz$R1sDy?dAvyXqoKOqF?WIZeeLvc3wPdGYW(L z^uHF~_gl!$0=^bvao!h*H0sDo^#pY*b*KPv9vV`Hhor1qvp0hHOrcwj2HBjY;dOtH zrJD;Kvg0m44^KOh(R?0;O)#4K+VTRG=8N3^J+!!YIFhQd@I1!C`@a3(3fyf7)s}^0 zN^r|T1G^pUKxmE`<@|6c@zM~AC+Z&hyXHTa@!SMsMk_^k%; zZbwccwGRiauW7v~*R7?Nawo)Aa(0kR+uHa>sD)n71xbP3iuhc{XWB}B7JhlpvviOt zQG?FdQle&m^Z!qxtQzY{hOKE4U#50bdA>}2$gCdJ7HX`NvRmc&|A`t~$?BZ5u+nO5 zgs(dED>YVq`j#AesOj%{iv->jO5U z@c%_h|8fl8QjKNG&W@Xxi-I4!=I?Q4b8W;9tZ>cz!B%!oVxF}yt&Z63VU6>ri48>O zL7YeM;z)l0ybyh~EhYc&Bxji$05>mQ<6i?&{o+4n4uQ|GM7X)^RQv6vU&+q)A~|K> zIwRpc@9%M_h3wQ}X0x|+1bSr6v)mvpBDXkQ}GzXuWK;hw!wNE=G5E4f2Q7; z$vFGvuctHCc-z8YfnPBzIIWp$@BW{eYq~|uYDB9EPv1xy(olCS{mWosHxpe9VFfrR6R`f5+!M&dxq5E=t zXXdY{GPeb2R%0mp9Icb6<-MEuNfh^H$+guD4zI4x;iwrTo+=Vk`x`2(E4SSkljE6ME9j6WR-noPHL5X$iP0l|GP-5 z?6ZlqzB`t)=YWw~WzSLC&`0>p;u$+k-qa|V=y2aEXh{_Jr1+%2!{i7@(LR7o*F$MU zt+MlIRU|Rpwis zg&h6;5XDES>gF4;id0edKamp$23l^wI>?q18Vt(c<^AFx-xUnss7l(6Cw?Ef4*(9~$#!w0_yO?JydPTTcz+_<+1{}i zOF4<|vy`OSEMUpb--A*j-e0spynl?yfcKNYNb!CZI)yvC&S;hQJBqAC@$M8K^p0H| zMcV>0+p#k>;JtCYA7SPGBC^w8Y7bDS$5^dwRXI&tnd9%intE)ec6y2J7D)bbqW>=U zvwjr!*PiZk|0@C++&{P@Bm`T4#*uB%2)!w{X06Zn{fJ2ErUNVu#e0B|=Kj~LLP_%9 zVujIi|4A*kbU&JeaKA4wpZinJfcvZGiThoM47k4!7%A=#w@WqufYMCK_jS`lUs~=z zT$<+o{cMV$LE?bScs7>=-1i*!|7E$qdcbDfZ`TD{TjhQUMYtVUN0Mb)?-bc`Lgy3x zce!6=xqlU9TiG8*AaiW!@Cb{V0sGsKZ@~W9C7C<0Uj8D3|IcyygxWp?Mwn;4 z??--?|Akm-iS9`f!vDrUP;zefVS)I6@m%r$aUui$KLtjL|As-A`~OaB$$x(b*50Be zQQVQ@1L@Cq6tw|l+V1a<4QQT^9RJ-G#EZ#Je`xapQPtqx$`|z*^e3&b*9w1te&v|V zMtELJEs1uY5=$fetsS5fQU2Nix<&b4*zmWy~(Xvrw<07kkMmb3a`^*>gKZG}gR)CxVJRr>$;R4Y`UPAh!TVD&$dK`V3y zBh?BQC~fEnh|KH-{uabXjd)g_}~W&lBs1)r<8LiFB-w+3K3dKuhue%R|V(RWCC1;1~Ks|F3Mq zo$m(V@t@gl&;cTX2H4TjwG|)}Vz-L7jT?Zgsb{JchLDf`kbm0>p@+0=ncjK}=c|cE z!VhyLyxO~!QTS=Q<014hDE}X0X96Epk^J$Xj79|~ClwuZZ`4Hb4ki)CkwaHkyjHx{Tk(bnLy#lji71NV0eH~QfZz#&n*aA#{oc$({qJr* zADH*LtE;Q4s;jH3j~7Zoh5nNi^1jh9@a55=6h7u5M+)7#K}EYkxSy)kAbhFF$Q^|5 z{Kz`Mu0}#>SKzWz_=Lc|q%aq+#iVc#j!3FcUvMCWvh^7$Od5<7mQI%xwj(o=f?DCW z1uP?llY}7T$*{e57yUU>*b-V$h4BYvrI4}%AEj55|luaALTIFHw4(a@}^*-_+VdPEXmi1uCyL{<(J z%y%V+y})O3*ceA8)#n}xB8PwfkdZ@~6t5sn~rGTBc{D? za`<8YtQ@{6GrE?OpCB)IFGmU+`__KnCszt- z=CqQ+zd>hGxCTch)u%gXkwW4387V9{7AZ8pBq^*1Ydb0Y^j(e=`Uyd%H*6yMbH<0i ziK0~LMGz6$rStI7NIHomcj``AyYyAA6q*w4r4ai8uO-JKWk=~9d<~sJ_q(}ro>dhq z2IPN~LbXj7%BbCXLth?pq|ogms4(_Nz2Kkwg`@Nviz3!n_;6AK3Am}(;1ShpoQJ$YISf$l=-NC5M&o{6-F~YjWhUj}T>f{zo}9n;d$p9op`=2M@WULpS+Rksw}Om=(me#kr&O7;-X_IM0YEJqd_x zkJz2rvLvx3_)HRC;IX9oTt`79F=ll}5_OV9&*vnG)5&btBTfS>(<2@ff{Y|CtOz9$ zj?zEAZIXDucUBVb_`Q#_NpdaQW=DrrUJ}|YPn0}e*337hbu={!e`|lTzh-$5dkGWC z{_9w?adR?3@i$sxD+x=5^7CW+9=KhT{!tw7Gw*lpnlX9+|pM;RII06JwvSW6G^t=iX1o+CASBIgpN>pk%7s z^@^D#1Akj`W$M}jf8}>2TZwd6r0$5geG4jzJ%p>nEn3qV|0!s~a63|KMhexUCw3)Z zx~(ibM}`L%yh(7V*>sq8jo+IphwYu;E?RfJEk<;H4oK-M|C+xokNyem3R!Hp2eG$%HMZ}aEpXae9b|a5I4aGVf~A8}z>q6nXUb^EBfvk^2m}S*cyc zgjiA=1|pN%fjBW0sji$=VK3~k-cZ)31w@E&0Rb;WSPG;>czh_rb?n4zEeP+GuN;+? z-x!Ley1k-s+kckd`sz{1nvc8vy@Eg57!mZBZwd1lc~D?6#>TghDKn5C^m4^?F_AU&lw}V1}1u zyrIy<_70&g6C3A7Mieh(oe5H-E;RwN_7_>HZgD7RobOFlG@|cn#FcghA}gFvm?cX% zbMahEIQQV&5dWY&@+b>T9#4{)D-WIE|3i7Kdrk8Ai$Z<>SssVyOCCeO>*dixK`)Ot zTt*&cu0X`Z{tQ^V{!~VP+M5#D{&eu4O&U{(WaZd@4JoPEFd%;~jj~kd8-X@yj6DWX zTy1ZmC`M#NafkIMxQ#r9(vw7`^`x3z;PcV1nqh73g%pJf_5iT0l8J=X63jI zb8N}+R~!zL zvzGB$dkZC5P58=N#@j+k4n>mHNb+R~BBk#vHJdC`^GufC?~#?|8rBt%r7omEmdAlt zf2pe( zlqxfFtiw@Ab-NR=KM>=QE%ZnNu%*xLZvB<p_a|0QZMdTu&S-E5()e z7D{nKMv75?9LnI9k~HECPxeA4{`S(Vcx;J1Nm2c=us>WUrf(uO64VfC$8g3L;j%=A z^JWRE+dt-d`R^ts*oYU7YG2`Y(5xk7WCisQ@p1`jEO<;%XLN@*o{I4zsLyxcLuNk{ zpJPlr2RO-0x8j>yqQ2Kj=k9XGvndqe{(nWN{TVyV%&btS4YUcLnz!$*bEDK(`ys4zPq!WX%$pjb_@Z zNT0h9HemLMX!n$m@&VSL2}Yhqw?m-QhO9^~8qm%ZWvOnPK(4oh{#J+MjJ8tUU!Rpp z7bf+R$xk>pCX)r-Xn&t`DT^R3U2cL{N~Q!6`G>j}=>PK%dr~sh?R4UD|3x0%f07++ z1htpP+S!pjep!|yk22`N4*nguKj=WaP$**uFWA*2@+C2=Y!9l&l|mvn1NcW0={yDK z?1=W5y@lc^BwXgjaZ8RJyyy??-~+R)AFSLZYX=>{c5veZPWwai>Qs9g(x zIG$Bg47)|h>%Yix{6^|9({W(D9QUQ5?^k`OGSja{ZVg!HTLAmL7)zhq*}9trIgft@ zUJl#4P&H@l;GOtf*umGx`y(mFz9sgRwS%AATPVeWl46Bi#9TZ0wV!dHNAp`^lY!SC zeucb@)~i#o04F3n8!1D_sD3|@mMV=wZRAH~C|rj(fu8mHV+u{fqAOcg75<=giN8^6 zy&@icc<^)P_aP$H?E>n~c4{iTwU7$6PWReO2*_QhyPpL7o2#ty(({4K>cjp_kkz$! z0-fo@4_%}W<5i^1P5gwa{C0ur!%v*W6P^nnWjCJ< zIACSGA)tDJ4_~ z!>2T&GBsVLIThF!)`V|vPX@8{&4h}QEy-E#tfjptm;MF3jNY z->P!ck%5lDUT65P>75w%-PBJu&&zAl1$=HiK`%*UG&ZQTBdv`$79rmV$^0g@KfQ;V z_aHhG=)Uz-pKW1avF@KNV4JVo{v(ODrl`zopnLgV!TgZUDBm2nj!k=^@)fv);%eKp zA~iLyg)KEE$%k+FO0i4H!Q!xd?v~-JmQR;fqTOe3--YymeVo01*wB{#Q-{jDu_HHi zJ4~fy3;TIsbJ9)iMKV2L6Cp~rq{VOaat~Axa@XKV7B{!VJ|aq`zeKWI$B#K{qi?PX^$ zw^c8z0)_RmT|3L7O$RR)Z7v6_B8zqe7VWHiq*Rm03@uuVdjOD(QhnKpDu(U-67jNf z?t6_le(WvUag?CyKT&mL(YE*0bRx;cJEGLx5Ji;vEAe>XS8qq=w;Pk$itNp{xd#HX zW`#(4jXn%Fv zKNvcv(*)}Ny6Jz=u{zVSjj7gjY&~H!uVcC&g*b}p4lg)6g}S&_PUGf3KrO|p@Yeil zUeU4sR&VM4z-4tTk9oIr%;A5Sj?LIyI`(%JX>+GDLWeq5SBZ{obeD9jADI~)I~b6R zj$Kb-bZii0w$rioT*w1EUha|Av6p05Q>BlPKF;P3ua@)=Wg>5HwYpLg!i&e z{TMN&O7rFXYAj8mHtt5e=8ReCjHk_=g#@wmhYIXP?ZwT=s&pe-`G@wPb3QP(_}`uC zvi6{h(GWX?-2ZA1ym369dQDbG@!)0UIB->g?~mVuaDJSUJM=!%T@Gqko3oXL! zxHGhK4Eb4U9n0)m(mD`SCao@-mG^m^Vo2-xMHy)o(AC`FJ0z`fWM-swGawmhy^FJg zv>qZd=B2g7TZErqGHG?D>ZsFi=BZh~4YK&9Z3CB?$Rd2H)tOZ3=cJ-vU$DU7W%TkA zlhNy>r$=-`l&@y8CXuCUjZ-gMNAuScyE}>Z`m0m9=bX%|3erW$&Mm}dF*J{RRbz>V z^ZSXZog^ZY`*hLS(ZzBr2FEB%-Huf z?so3lSgre5TPI1dFT7|{Prs9q`lM>4e#-62oJgh#BQb2Ty93*NlISMl#MqPP#mC(xwfOUA_^VvkLfmm74v)Vr zY|&b;E6<>isn}{9ANt<#t!dH(`j|@Vtd_1W=0Y_3;}Bb_D4h$S+ji-Owj+`i8yI(9 zw1QX9;ud4f=NTI1D8{<3ZV|*m=Gzyk$(?lH@%Ly7UmB2p?hTmhxKQ2t$R1K-2H7Tc zQNI5UzVI_LRkITA)2}?0w_BI834p&F8Vn54U$@NHP zMU6>*>@F z`Fut*op3d$x@mGT)uyM=ZHk)}23!L)s3UV;3OLnOE(g@GjR7SQy3su z$ASEIoq~F20LiUCHsnB1a2bm3-hXpLbO-0w&+1s&>hQQ=nv5WiB%N8+%~8cmT4Fnb zLVtF#iAI+K62=bgklb-o9_lxAi;rGPcHOicRKiA=ANab!iK%{b9#L1_Oao}L;p2&9 zrgnUXKv|-Gn!V-48=i=3aLIJV{MtE;O|4ty4yf^l#{o*k?of#B$3$w{EMaoHSo<1; zE=r1jlQja&aARkasj)3Hu35nY-jEfjy&Fc&-4fnSD9EyUI!+AfPm%7P!KM*E21l?` zR5I#L7E74XZBC;8?2>=6$fw^7 zoYGZ`(rd!>E0oUkUGTcUXayYO4kg*qQ`8MbP;%K(L9hS zXDu!+7{={jB^rEsz3Y%DZ37}cx}&8}Gh(Q;2bJ=*7^`%-F2JJFj=s`{g?dj#?P+tb zvvonlHIeQs#TL?{Hg~_y0r(1T|lml)pQhvO# zDyL9tx=_1W?-*knHzf=Ihwxs+Mn0!8C!@p3iMlW`!I0&dGoeg{=Ps9GdIq?uyhtQF z6G>4+w&mAmaRl-hhVg%hXPKXIkesW&a}Uo;oY&kVHQ@>Mrj)r*L!LB)cgm{}<0FU7 zhhgx39V>%ZLS|;{I0%r?;0<-x64l_Fz2L`)bZt2TgkVrN4rTPqaUTTbL zo6=L)d}ds%dtq8C)`jBHz#+fF+^nIPxsG#mZAEQ27@Frtt3_XVmGO(E4f(bIa+ry|2nq-zJQ&qzA@t69k4l-hALaPC9g2bmY$LCH7k zNy5C$(HrLF)qH71$Fkxd=}fLW{JV;nL8N>Ol#B9R{;uyd%?ACvDS;$&FiwT^`VrFg zevx7vu`X1hA*qTBphb|`B&*PEX$EMTB};1$qoA8F0&`3pH=JUG%>|!JbPTVBEjzfI zJYCu&aoz$(+-b8!eQuYGO7V29I>g>3wiPLlSDYMARd)$^uY)kykg|v?wc?0p z@EeOav|(7{jYkoiO~q~iTP|yBXIs<72XoIS}LlHozKcrg1$@!;1- zGp@oq*8z|W4=UD+2is6z({S;ie=ZNM%a3@_52wm_Admg`JUC@5@n8Y5tH@pO(Yv8J zOwc6;-d+ESzEU}MFm9)m*&K!U%~9~3s1Y>!BP3Obs-G*n!?=Rv?9Y10nF^ClQCNZ= z(nCFD$77ZB5J~LY;87WcQnvbOiv*BYbEaJT>f#?~Oa!AllITX%UsjT>{&M)+Qp9Wb zBPu?%LjlofCYS0Usn`!h-qI?kPFIoYIA^46)*ghf=nmsQ^k8leg4$T&zk5vr97494m?|DPF5mI8JqUZWJ*;TxDC$Ucy}t3s+PUdBDA_uj zxW&~3F@k~6;BV=C65k;>o2u($n~A=fwf3Q@-~{W@^6ZTNE`}ooLu5SkjWX8UX!&Jeex)f=^yHa87RT$WqnzHA92{2W$SWL%q6qMcpsq!c_?S!Kmi#J1M0ZC;ye zFVXPSp=H0ZyPmPWEcezb(uNr}{;jiVW9>Bb^R|w17`Mzij5lp*dV3A&uFkd-eM@L6 zc+KRzg2&$&<*Vrr808V_7R}>jb8dXd4AMVd$rz-v!~5sCzuutC3&_kEy07b2J^>pRI)}{wPTc3yEn>j*oby8SpHw5tjmG^U!!aSDZw=|4cU>7 z&;CI|Yq@gyol(x^!L)H|<_!-T55~{T@Sr*Y5B6Dpm}hkQ;t7H&in~@9A`@)BQy8 z@h216O~p0^(yYm^1g2__HB(@GO~zJ|67&U1{&8O-Ji!)vNtF(w>U6VdkUN_CNGc=A z9ZEm&X8%3_4OQzs{Tte9p9|J7XLR+9e86^9@g{FG3w-eoD&CRe!BlR_lAqFokJGBX zOkZ{YdS1@_=40Gx(%&TAy^UI@Vuy;*(f%&*mjpi4)ApQ)d{B@N8|1b?GLLAtKi!ofV>xqTi;EO($5g6@JIAn3G*{+polJmU}a(0dAcA3?Wrk6H4SnP2rF zMjUTkMv2|pn2(m;O_Sq|`iiA{k!~EccwFDM5yLOEntk{nu(7A~L(<*HPBK55z+CVh zw*n!&SppyE37z2~Ckyg9gWL^BWPTr2ak(HDe^cUSm6*gO)yRCTFLA9(jG{#F3AZn? zenkAsW-$7cLXJynGno12YW-u9b@{syWH^IadRl+Jhc`-H{xUK%X736>!mdty7T+Kh z8wY;PV16ZPW8s<-==$kbmIln|y(rHpoWU$^7q9u)cJ3Zc@pkr(;Cv=XJSk)Ea62@eVxs!ycxW;q@-ebq9$h`;zQMtk!`=q(oM5WU4$OBc|fB7Y9dy^cXu}YV-n`{DUYAIEE7Z+CYcRN|VCptBvi&6Pr&Xp1W2iJe#;Z;P$f2W_BscO)(fJi| zDOAT|LamSEWflL+mTrz!sc^UPQIuk5*5`6Pg54H`+s5M!N4*0l`W100zqTpo`GVW# z6zt{;>LYJj|DY=UrE1tQ$+3<&#fc{Oq+BrJZ9R8;;vTDf(a+h+-zJ1i<)2yQKfYmL z13cJMIbe@@Fny~nFF57Ba5Eq$sy~269ZE17i+sV_oPrnog8G^pG`>$vPJh`W3kQJ! zDzB$x@WT6smo3_jH!QTrY90@Nmun0cF2Y#k6W78-6jHdo%>w(^h+DK)v=k? zhT?^~xUJ3YO}WId8a`!^Ts`$gte94~j z1?THQ#mJNAPGBHP_4)oT>!QC*flIOT$fLrJVlN*!%KI*UEpx8O)6^~j3L4jj#!NwOH4-p-);91XwmUVapE8_`Z|302jDumgZrAIGHfMlsm7 zT^DayrgCbKI8_gKGHChK>|)CldRWM|y^fEd+~dVU4OxQLACD;>yYtnY+>uQD#143p zfN_B4^Us}+PfN4M_l5#Vp)kz^At7YhTJSe>2UeSb`UV$>+N5 z#^$r)J!i6GjoA$7I!>L0D%)-cguHTH$I!+73a#`RVi&Vm$ zGg>LvM<&V-SQQ_CCliYL(zB@&zISe3+c7WRuz?0PQDvU(_L-q6C|{m__g85tqG{5k z)3Tsq93@hnCej7C^VC&05q3Y|G24Y+nth4 zr(^I9vALM=pyS6zY^rn*psj{qr}`S+p@yxZ8r(c4qmo_ErWnGr&zZRgsng`yv`Hpy zg6N==u9Gjh{tg6=YWL{Ps&4so8L!}3JkzEFGfnTUMTaHs114)t*oCOoohSZC+n$Gb zmnO?|MHA|XDf>s%YFX$JktF>qITEw zzW1oVzxOk;bqns2uz2l5BBBm{cwG)g6a3|-f;xWEU*cK?+kG0Y+va>9L`x1E1u5oE z`aZ~>kF!F{2VDH0x_C4B`Z9>%f-?YfFVWrABlFXZ=on3Y>IW1m=d(`##ySU&PXP3$ z4CrtVTK^l+s{~pHC}_?mFWt<+B6lXK=G3@@P-V^y=qu(nmDng))0TI zd27t0wjT4To9FFg#Jt;%SU|O0=0T_Bem}i~eNg>AGJ$+m>@N+7=vvq0ZVZ+JDWRt-gcn~`$$;26z@8=#LkF$mopd+ zo|f1UUg;Nk)3ptzm`}~JS-U*>X_Q?aWkpXzjv_VVapZNpI%kraCH z3(W)a`EN+bx%KJ4wP)KnM3Td{jcf0mJ_)|`FQ)qU2$8A!M6$K@Xkjepttz=r!4+_h z(bR+A37UU-!OW~kzM4L|eGPk2LuGx7ZgKBXS>Luzyx{=Qs4WHT9XO<}UrAogr)=6j zpW4{}*jdatv=dvlYi}YX?>7P!+!)q%i|Rr^oYdLE%jT8zVlSKBwl8Tfn}XP8q#&PV zp^RR4lU_hZ7s1@#1go2HJTYAXsv>0NzQ zTS4p}{6^~WQ&{y|ZZ}n}qcFbe$x%rin~=ks-Knj0 zf^T~@gyeRE&B;r}o@Y5T>;@-Or~X=R<2$E3tFmqVgGb;^*_J zmv8nG9uo!Os?9$bDN}tmq0+`5YxW0a=T`ub;GgBUe9G-=-NLCV@>}dXgFP5T`QPb) z+k~uC=gFJLsPGi<=nq~`68=N_m}2dC0_jtQzDdZ*=~hNcx;o-CjtDKA8R?#`8GOw> zi3=EfO5A$7+7L`@r-4Y}{80Jj`WLwCfaV+yWXS0+Xo)Q(sHHzsKtA{t^~aE%w}_qU z6pwxG^9gCEy1WhmS5581qtl6=?xkLTBEiYfq*QLt<^kL3REVK4AH-EXHP{6(7jYDa& zEj^88JA%I9{1JiT3S8a2Wb4j>PYT~QT*gCr-8Ff8YkpqBoOHk1&3W&TSGzIo(SAay zJDWBtSbXSIKJ}A559hqd3m#P`{0n^#qCsA#0l4?@M4}x#I$kxP5r2k~HHDgAEq+Dw ztY7hdDpUQjkt6e6|4-!c08y1>m$9$LO@0)AD)o+ll?c4syG3uS-3!3;9Rc%fM0|p1 zSyP8PjKt+))O%0mlGYM$xEPqKBrEeR=@EtM5EaR;MeeQdgl%op9h51wjvjWb0` z*P_Sx z5^+em(0}jwyCwd$AXvoI&3(=*3<~Dy<$Zf;30~IAtM)P{cuFtRdC|gTi`$y1i+3yv*=DA#AxTUoNgPp<5XIr6GHnwjt61)SJfnkjE?p z1ul<`CIZnnyV1UQ!+OYUuNfZjr6*LA-+*-xXmqxYV(|u9L{mSMV>!ztq;`@npx$^; zXJf>BGBO{oChZP|w9bn=&^KSbw8Ml=NswyY7KxHvw=a?o^H;zxQ)~8fQrT{wdN~Jg zkB+?}Tj*(=JQ6JEb}L}slcv0G8%&qz3eKhdRmrc71)%vAnk~Jr_`>?vmqhWJ zO%vPF6Q$iBF*hRP4KmyU;vFG5LshMKkiODtpw|QSFi;eB5BowBRp_p4pz zp(wo+p!Cb0%!_=vYLy#CIdQpDuo7RMAV34n!s;A{yb!mK65x~Wr75)e}RuvT%FHDT(Tl5vISk;knMk3X5HyKq; zKTAj`ZjSe&cVw;SGcDG4$Jvy5nA4D)KeuA9-uU^^rasK&EvRaoMJcB&MJ1r4vqTIhe~^URAvRQn%l9b@H!` zWOw{R3Bi+jM&hrY?s(%EfD@x;tC@TZ>%@~YeVup#V+kL$E$#M&8JyzgLD0u;@btP} z5$dL^H?$2sfpa1qt|i)Cy5@7D7tq{0{TPHWF8 z<5_`8HuA{fk$oI`BMm~*Avbpc3tC=}I$XEc??h93#s4FgGP%kcGka(h;F4~2)Qdk; zr*oGO>ur6W_tSVc(gH@H^hD3-!Q=)BlSUn6soVj;rJH?rA7!5`Ic#{p9nbMC1|@Kn zVeEzk$AXJLuUlVP+o$!sFiytKj{J(`mo}&tu)`&hDyTcKvIaXkqK5{Vj~3hF?+)d< z9t&6lygjY3>FldtDW67_SR_-vSw8;f%RT7JecrCzslMDb^KxswlhNJRTD!2dxqL|Z z;PT}6ko(IZufvD?IxhuGEtn&Z4ovbxzKFX> zWfYx$1vqAIo78@kQx`Mi{^Dm?RT|%*X=YAUjbT;T1gg3Y6rmg{Q=K>mReI*{syQ*L z=Hs9Xt;2t;-iy$xcOEmIP{}D{+GLSPl=U;v-qAy$ z9>_5#Qy|2;L2@{*gDhAZFF2CdZCAgp?do9czz+569Y7lH z-~V+U-R2g++~+!BWRA^&H-OWoV*~MHXm;af@Gdj{u(M&}`+PwgH{D&tLxKkNumWW@ zo3X(x-uQIBZMqxEZ1`|(eun$?ZWEmR3DXiLTP0bb*E@7(sD@8;zYh>K1 zCv#L?mHg42dcWuUy+r$bJ@JNCKykP`!4WOp{sczziEtOza9~y|i4xV9_!C|i&u8dc z;ybE7HJzwRov*KukIbJUov0%6LBwHhYnO;W{jI-A!zbf#9xy9D_HC=9e}0n9aP*&m zUL1DVxBEB#ctv-n1l(SL!H^g7_`5O~74Zs={`Jq7v^$h1QSFiW*FK*71pDJ2rF^^o zH{uiD|8TJo{kd$5$o9V@Q=L{IvjKo`kww`5Dltax5a257e^&paqOgvjf;PGCc-?Yl z55>iBoAcuR-u?8tVS#_`8SJLlmEmjeU>jZ`7qKNkC*i8NW)21QeY*J+sCuo6Oo@rL7glk%2TrAiX@&H3VMS+F-;LPn2%ME}j--70&C zEe%bvKVxG%^Pk%C*&MaSpPb-pl9`M|@?*F50=2JnI0*Dr^WGlEX~Oa58_aOMzjU84 zNVhNC#EXz|nZsuk+*dVMTPb$AxSkYLU;fm6@|+;8M>Kv7?Y`RwpVB!PggaFvzpJ1( z6js5461ipxU1zy3b2s{N@?LtH7%_fd)Ir8@po}5qhN}Nn5W6`k)1k`hf7%R)LP3-# z-;Ccni_UqkJn1nf6%E~Nv2OAxOMW*7tI=AkagtASH;e`t>Mvd*Bey<%44jhw6M|?O zLY7T=SGxn*YsQTbG<-~VTulwusKmQUt^akic;hR8GGC526vGzLJ7!C);sEw4RMyYQ zx11A{0LX34MA3%k)#j`A{v_HFtBa9yZiVyLh82$dm!00Py@`r8i8maH8Q>{D-f*pd z+O+l#t8WQrJRJATK+MB#(5^c^^zC|wcKPvcJo}m}Qyq)oR2falo11rRFo@dmSA7+q zlBz0d?-SzWHfDHA2Zo3edl-W%!9rgv>|o!>495>jZ5D6n3MIl++axU=sAcRb1U6ht z_wwfS7w=M0G}83wDxj-UW!Sp}{=&+9CfS1$V{a{@x8V;zUo?hacO={Kpnm8H1Joxz z#u7KpgUZlnZ*%8i@0#XEDKqxF0{4I!g_S*;Jf;RsuSVJGFC$zD$qA+*f)T9MCkY;n z<{4#&=>cOjA}`)>VE8UFoG$20=4W! zpaSVY<=9K}-5_=mmjAu{1Xx>znJHt+9BKN;#%JkY5_jV$xGnDnbJ)nYCU2V^_;^EAk#6w`>TFagJx3HQFbdq6s(b@oPmyl| zhPo|%$7%pr0*N0EmNkJ z6we>zerB6t`HAHxL7J6}H*V)g-#w{aB3givGPA;6?0CoGQ-ZxVtI2fziCiTu6N zZ*)Wa*>pLJ{J5_^VIJB&@+bUoQ!a<=G^mxCw@#;cyQYAj2DfbOR$2|-R zji9%L3NZdG>w%@CJcuHhACiJ;)TL>83q63z#a61CU4!ETl_xB1olHbcsmd$gGh6ID%^nR4*E)LU1HZ9Jiovh*?M6beHr{af^9B{-R z($=S6@+~o|#Qt|~qj$#9gV- z^YP1Sx15`IT!rF__$zBrGd6@}ROKAv*yRVzxtejNv=Pkda&MhRfmzNc^X{+GGxwr5 z9X!f+*^~XaKUBbZ9(ZsB-1O1zhv#|l1=oAJng6)o? zDV)XZnk9Z?h}YhQNVlgDv^!w&bsPxDCGLJCC3|wyH)1b2Ig}jcDQWCZjlp>#KyP;{ z(|@xeX|oVS*kHl+x=DVFx5C#F0u1&wcpJ}rpVuU-;TcIBYhYqG3y0f7l6O}E)L269 z12S#wp84m)k(k>Dd@_vNpp@ZqN8<{{2G*GTJr!SAkI67$Cu*@yXqtmVVRR}x3}F01 zH*eYlJ&0l@v+ZvA1Yu4EFwzA0!pOzrWV8>E+()JbNInksKy_@GuyJ7lM6{nA%w-!+ zG&#@?plH^h$-#%G5h*yCMo42HF^vt`RN9w1-GNl&`^H@WNix0Nm$Kk8-lHXu>m~hF zK?_^$`FUMC?(tWYJrBbYyiKRT7&cI^28i|PJYR_hGg!Qk%irB1qMLriyWHENX{1io z1gA+896E~)2TuVOoJs{klW&8iDIjQ4LNhLdX1E&UYw(U>PzR}JO;Ge}eP!}p0$@K3 zB8I&Hn(WlPR*1{0xUeSC&|K43q3VJ0Ug$@>*WjWN@m_Zq)d3mr^`M!lc&{glCfWP* zMU(B~mV58$K*1&Oip=6LGC(S3$?d4=v>;&~R= z#ytcD2T-278iU-|Ln$0>$qVR)P>(cY?nH*HikxL-~4PXS}nZ2v=#*29_AKQN;Kg9)6KgGGRI1^d-^UE_e z3As@7m^LS8(G6xiri^B0IW?EFTe3ix+_RFmtRlI(=}nsN#-SPY8)EU%_hLfYiawt7 z*C>u9yoK}4hi&}YIJ4TVdC>c`kMJIPzM|{z-uyhqCG+k{w%e3zZTk$H)|8=7W|e!m zOIe)>Ukcp6H8G%fv+GyHDAtZM-RB}u&<&bifi`;A8jb9YOKP?yYp`Xp8)`M5nT~J4 zWrhpM&7nfhF8FPv-b1#2Ic+-&dtKUvqUlF^3#CYNn-L)hrrhKCFtG!&Vxh4jxh7}v!TS}d=ZorKlR{MYL0Rf1o9)PX zJ08wNgnn&xO|!amx8s&~8?t@pm*WD#Z?^IPh)NLyCugC|Qkn$ZzKH33>{ca;vTe%vagn)?BTYp38 zt$4oVxoNWCmxC&thlb>eT1^TOkY;&OlT&lB&DG=#`X-U5b{~dFgzZ9M>m|Y>d*lux z>JdCjQu;m93W-ocMuH`;A+CcK`J#VSQN=hie%-cYo4|WKPu3u+r@vrwI!T6IpZ2=iYwsD{Z`?xa3q3m231q@?Y(OtMS1{N_V*SqzeIv_lse(BEE;b^VoRyonUo96ZM=BG> z0&|GLsB5_brb@Z_BW@&rJI`0;kH{$>)$@dS|L@#-mZu-|f;4u+`-{2f-qn~!l%A>Q z;kYKj1HPS#_wV<+{UVsa%$AXn8Q0mxUxwS!E)W@TWetVZ7QQOc0|^CDLVom67(MjV z10ZGL?|%AqiP_TNnjJ0R-$mO<7A?R~`fVh8S|-~_u5Y%WX@&bc56G}WLr6kV!vZ=2 zD+2NH%dp^@iM_&a{Vy96ljx|2j`4;w?O`KedC=@_@U1f4Gi^-RjWmtxh0)HGff_VQ zTv-ZOR7Rsi!~Nj2NxmR^X7_g3_##r!Dd@pp)yr`A*-gH1VP*0a+sC9M;ti8%uS#&% zg6XvT*P{#zHLTXro}T4eE}UC_tg?EaYk|OH22uS<#|ZOCQ8JW&WeH-VV|^4!s1nY} zWsn+!rBGl!S`U(zD|A`YBIW&y+4~V}S+I0l>LBxYG8qSkl8#AZ7l9FKI}{Fqr|IGQ za!oFSwJ2iF3u5>4zi`+NjWVT`Uy-7~{ImDzcdgs}PW`TM8|hcXR3+bX57q0%u)Ocq z-7Y$=E*jWW86k2Hf<jffJTrC_`*Fk5J@RfApF~LD=wcYzCxt9d{gy;@4V!-=2K<6thvkH%3Cm zS&E=IW8z>HAMv~5M_F;dP3ak`n$Ewx;3_JYY&58_m7gUzVz9a!qJG_G#B}2?Hjk~y z+nClB1Oow8|Fv?5`j`Feg>Ut=xnExrnF!B3a<@8s?HO>5Q=41Lt6u}#|2z+uAGBeD zXUGD%`;o8LLP9np;UX`=nUwSG{0XBLBuI`l`_9>D_870(|0Eh1#_dY4SGvL^QrH4_ z6o?kya&&`2~g{84pj5!gNAU6{qS zM?4E+)g$u%oh^n_(AL_LU2hWgB?&%vC1oG#p2RDUYPdq6cl*|^kyKB}G`@sp21jOI z6UyzEc`elI-kI0G(rW|m_zD?!lwP^gD8snZxP?Al07iEz16NMR4>*|>7MduO42R)s zvtD1zymlALX_?o_q7H6o+)S>Um9ry*`3By4W%3O$Ht3JJ1qEc`P)nW-b9r{7CaUXcv8CpU^rZbOS*lp;b~shi(v+bx*+0)+!w^c} z*fD6JgzXm?wm^N?E=n)MU8nH*P1c)y>Zk5bOjBd?b?>pz&(2=?A|ulVS0O8QKGbOW z^1#slBKD?0v}n!QDZ@aaWivG?$5~~(~lP>;OS~tfF4Kdy?2u_ zHID*`B-f(C?-qC34PsNgK}JWXNmsawa%`KNC(`gF+{C*$7$PGfq)R6FQe(nWt6hLo z?(46)OuYKwW;zzXGi7SwwaCoyy7oHw><96swjpVjZ>PJoNu|C@7al0?z?CbT#g$d= z%2zYBuW%=uXlp0xTPbx=Ac*2sA)RX&vFwb8+!g<{n@sL ziNDETxHiy@#Sn*WIWs-`G|$I*7=ci6+4E|=d+1(q;o4s5{dJodjr|_kkwC0!wOb5} z*l^{W7t#qmkIwM)Otu!f`!P9G4^Xt3w}P? z96g0WVIFZ|)DmzMJjeZ`y8y+JE&cMx;W+on=i8hNd? z23otwz6a5;K&4-KLH2Bpc`dw?QxI=_AFYF@x_w&~9?!Y$JT<4t}?dp*H@mJC> z%Mv`yuH#TI%54bOo(~k~x^U9C_IjMOqan}?ho%&gperL=9ZG`Dbf|da+&Jh*&0a@p zMbhQET%SHq&e-V2!4~({!=9jT(Q?~nqHSxb(gG27!On^hdUD(*5NLZrCzO7|%EWcO zN5f&!)V z4vUNkI_Pz0UU46T@9`g)-}<_H2VcmY@Hz~~^K82_x^uq0*mh^f?r+gqVy9Ti^X}6V z!t;8VR~X#m@u&k>(Xq;YGRz(rT&vfAg|9t>i}X4^eC-h^bmG4~at5TboF5z|fC~-4 zD|paPDJPMltt)ZGPIT``$_#bjmkVF#T*KC=EB7><{}dsk#)UPzXYJ6=FC%V+ zh%gTIv+~`xL=Y0Gt%0gthMhz)j5^H)z8+;PGiUi&@S`lBHOY#78%2~qnk^&M))Xkf z{G;2^Or_rmJqVStvB-_aTKaJ^-f%3bT6cZ~n%zz}sp@I|xd0nOXO*rc;oJ(lc05B9xJ`!b8nu%>PW?;_h5p+ z24Z{W;Lr5$`|8#O_)&xsh9Jj5v|qDR_Zpw1_=cObRb# zncW@wu!qSvn7+Ws0u^|qnrd&svNs**@nI zjj!J6UkqNKT2DkY8ujlGY;*m*4h)1$QKm2sxb`@O4T^+N48pMrQLMvvj8GgIqDW*= z2#;$FQ7mD@n^08e)s(n_BQhvn$U%`GqNoN%@%%KR%5(k0^35s_`$}M6%@)wF)r>J$ z3J;gC;~&)WC|YmG_kh~TQL}^Cdx)vm3bnaAQ(c3qHYjw$6(yy|Yu!mx**!=P7mlq> zRycdY{J=HlND|54vu}8I&aJ*$YhSFj>t4zk?=)iCe-`5tF9ScQ(hpNQ z;41@UGi|ld?Fh?`x>#x0Kk2uP$0M$R*|~P3>ft1TuDqqYqJE+C&LwX{1eRGg{5gzPk;+P>iVAI@Ghq8skgj z&In#=^97*^+AcTqTzfRf`JyJF`P7|_a>2PrUZCxdtCt(+p27d-M#RVb&jbGFZhpkX zTkUs++Y1y~Cce-5tE(jJ8N7pP_`y1O#V^VpA?yRd9=!A$Rg(4F(q?<19qJu#%(Ix2 zSF>M%4_1T4{ATYWdKJv*kyu?uU`~4_P|h-pTZ7$*BPD~2Vzt^6aj}U6AHSsMT&iNHUbbh3EI*KZzFW+qTtIrtoOX|nOo z{QYR|-A4^#+@s_aH*?Xod`<=LIQeVM{q8!k$?uPBFe*ppH|>c@@RQ3Tteb*$Q-sw{ z|EIsk)$BE|*IUVr-HS)7s+;U8w!|=$m?43^`op9TWB2Re=B9<*Ea;vD_td;+;9=@{ z^XJuqj>Mdmd?(3b%zhVnHO_ZOU~-$j#L8!!)p?NM{sHIIGmf;5`l%blEH%J1nevx- zJ9fDMujKz|q>Oqc-H*aH(|Q~$Ld6*i6e!H%=FnUzjgDr;8wiTqXsfp81!GZdZ3|+P z5z9&4ZOPitfh4Zpe!RsNHUn&m=T@*(8A_XwJjHD)sbssb?|eE;*rS9J@bv_eOrRwg> zEZ%qi?Nc{zm-_J&KJ|O_jUDi6-3j!^NI)N3@@jV$)>_JU)F^3b>AsWkcxN$e6D`>j zgNj~Hg1a&pPf7_;i`;S0)kNbUyI`@67`*fI5R6f>!c{U!r(!u0|MH|~m2(@JUbMLf zXqh*2T=R4Fo=xDjYU$yoVU9%E_mgqYGM;pXpBeVK3=&EJuVs zxW<Ju~*xD4QzXjU?9-a~JeQQ)iqu4wp5!RAk6`g7U^b5FDX{ z*O@9>AE1ihU{r>UQnwpK>x4|Mf3K5K(w>;~6V!YGHM?mMutD)MKX{AvsTG&rk7^U}uS&)A0!{sWhGi zYgCT}5S+&gjd=HQ8nJGW!JdtnEyMweDF%mm1^8ir1($wTQK0((4s;2$ zO}WS(BV5ObAvY*%j%AfzqSViN+5W8ym9A|E#-reR8{0|;3gSR7=PE&9zBBP9?Y6Pl zrb77N4;kbRgxNGdIm<1jFY42zhjRX8OTH+%QLW8%?ij|%AA60pMI7GviNut`lcS1< zyVscEw@<5s9rPcYH}rMe_ty*2{JF014l%s+na30{_{OiR-)%xDy@xc5onn#iARwC< zw!sx+Wgtu?zoch~#yRdJg3C=4D_F<;KqqK90;|nQT53&|4h0GOeix(*`-}het(&_6 z;HuxSb9{7vOc@(?mL?R?T;b-Nj$de@Hl2ER{v@p0Q+|A9^8Kc7hl0~qI*7HyrgV%( z4WXc&6s})MShrJA1?y3r+(8#djg2?FrG{g02jd<03UdN$V;(X9{Kq39ZJ2`bH3g)=Bl*`M)K zg3FDebySpR?TK{fQ!>?{7WVlBZ)1?pnvgDBP);bhU>w7uZWepz{a>f47Mzr)E#LJbO+!mQ-H{r8F0?FX)L!fMCQ6o z>HL<2zx~4B0{yC{p3y^L^k5^2yZAnZ8?{`}IX?ag@@%;vyeoxMt#j5?R{9lqcbI|J zF2bnZbx*j>_ERhW(>EVa53M-G>jif>PKJpSo z&=jkq6!SF}9f!ItS^pOkY5{|C?Kbcfgxhy@0Nm?Y6o=m>KKidDvL$Eu5tXPddkg*q z2VGa{5YFMUPJK_wTA>8Fp!QdCtV4cQrWG>X(%X#`8R#=L=ECOT!6HCfVt25FDPn@T zytpnL03Be(Gx5`&rKW6r4V5wg{ar%7QspkIezf{-98Ls9QvO6=t_;X9iGV#u1` zFr?b;IMUZ}v}!n&67HZ7_JiNR4s>r{?qPQo>|cS6I2d$MB^yytP3jqJq}T8M>0b+j z@8p?%9=`VQx1%iL)dz<5#9s(Er8MfRf5oe8-&61b+?XL1#Vr^uRUrQJ0R3vQH@goq zTC^T?)`aAz>eH8Le!vI{bFQMZ+W0x!EhU6Yv5P5Im0Xs7ofi2U{?4Yby9F1SUFc~b zjuzs4^v9f#N}=92jQ4x|n=s4>dHQt2_$R?X$AXVX*F)$AVdX*hR`C+num2>Mq<6H< zXwCh$&FCBEUe>naRo*h!Y}K@ZR;D*Vn9RVWD`gJY|H-cgj^-;=8^fa+1ve8{U9Us^ z>$Bl&b$Z~E@;vtdubMx<3_r1Kc5Pt1VzG7+C2jj~<{)bwb+Q@9Z!fE&EV0nzG{!;0DqI$4w(&Ur$fee@)1qz%bVa zR&idmN9EX>@AC&Fzpyh>TyxRd^^Z^t)K-W7(8_n_j&lbxqdDR4T%SHg{k$UHf1S>C zRvz$i?W~IA2A$?+dm42FhojbBH%obvfc8C^9y^Fq^h>=TJPe!Nn|E|-!z6U1x7R7J z(r(RTWNRsHpj4l_#e{)QUrAtd&MBut1BbV`0rH)-OM(x~KQDb=XdbrH2Vu`}j|z=; z*UB%@{>5YebQF0*Q`Fj^2zm%^+Fsk-leWyvx^z)&UUfY z(qlqn?e*qXgQ)$)wbJb+Gu}BL2%`G$I^-{|DMUdAR^xl#I*`TrXZg>r%d<;d-P$v7 zt=O)06=v8jdpXe_u&s&_;8Jt$9{Yj{bdtfIcG8z3RSiA7^R2Hw|0ud9j@H^**)8P zY<`UJ8t@@f6t}3=@6!zC`IN3o@sQ=#V!vq?*qp(}9BGnlkl;68g(7spwH}it`r6JX z#bfjD`qHAu>))&NZbX++E50D_QF1 zdWOk)O5R$@;)m-JCI_fdpuPI(*%1NM_#9$&JKYIccXe)ev+SK@*qzO80%~U0YR#Yt zd2Z&(o~S#7ZyfmiJ+_a9$=56SLXzA2TSGi!ZHvnfgS2^Tt#-k?zrvCFbz9YJ$JF7^ zXxA3^phas2X$(*}aahiO-pvT%zewa>EoDF) z_Om;^QREUPo8`JcA^(Cy?#t7?2b;5h4+V4|vb!5k`8V~nr$2LE#QTd}`9l|Lx6h@7 z1i#Nk2M+Y7#feGbGmi~C#_G^e7SgkiH)S8y5kr7m!$+ZbglGM^O~;9TKN9={O+Yo$ zlMgz~2l(3DBPVL;l1tir29x(k$69ANUqy9aE|{u9Ot}2KeWV=z^p2I1Eq++9q9!4tH)F}hzPeeuOE+>6y=DC73a{e-V z?Ww;xli5&Imw67ujDI{0DG->ldg#F|gP(prQWhWIkA`RGBjwt@G-uN3(e|Ym4YYQV z>&%u3Hd_n@+AW*FaC56YYxL=>O#|w)V{f(2A_rj0lWZ_-IDkBPa{HX%;||ws4w{ea zzaS7s^f|9)v$6)pxW1%@JFZ`#fThj11^#~8g?*ovTY)d&c>ti6KQr6_pu`d@Kdq=v z&5Jjl%PYsgpwbQj4Ci&!v`pvae0CS`rAkkqh@l!e#5=owRB^}Mj}?JYA=h)Jk!8Xi zwD6w?4PL-LGY|FqnsyHNHBBNBbARujy)SSxudS!s{JV51{XO1z9Vt31Q^DQl>Xz=^ z8zBbHP7-?CzVwPx`2NrB7H3IMkfAdZH}yWVk&lHLex!B}km^aw5YCxO+AtK1CiSxD zA=HD8MNvYD9<)=3Fln>OczwmoBY;P@buXSIi?qTWHQamT`?DS*r?$ZDb*_IJ>ULp8 zLDAj7m8&05icK`{7(-L&bQ*v%7lH0~jaR*GC=dm6TT!k2mM^dN*yahWPGGWss#Ig4?dlQOj1UY}#LW@d zFQYx!m|ScVLomktw%{*-saI=L!BH${yH`~NY4=tb=@&vva%Ybg=%#?;_nt4mcLVKm z_X65Pw+^Sy1q2Z+hOjfx?t0?)dPvB+%hym$27{ zqIF{WBBksfraVGQ`Pjoc&{5yjBa1aJD1VzUAEre46Tg%mqQx8Ppk67Thbhf~ z1s9Vd9%w7sDOF=LXb1!uC&l!>0~**Xw8% zXG+!LrV|u~j~3}#rhQP)U-eO*pz=D0?qzU{d- zEZx(coLl-aN{8Ih=qm2qE`;kEscbB}@<^0WCl-5cx{}P`FOtW5f`Htw!<=g6^ia+; zaw77?heS}3tz~h@VLaVh#67`XZYoXFy2{vq|y* zlr$roG%ZYeBAX;XL{N8RljNl+>4t35-C@B?vq=-fr0Q&vTox4^5GFBdYy=-_Dmc+R zBIuh1lounwq9_Rdt03zzD*=ae4BZtS8FXZ1}DO0*LHo>4~Oh87~Pi9=ussiRJFV( zQjD|9)4!Y~CxkKot?{g?E@ZXKghxV}1b;E{v`i}4%G|1BG&JffR+@scsvK|J4fBv0 zttyji6oAwFP@1Q8nC$3PrW9or_=n#(1euX3_!hoJ9?4BkD?eYwPF<8kh&N zA40jwF9(1&$a*cmgv#C0vs{f;-68R-rx=TE{p_>v6hB|n3 z=QwyY1uuzN;6L$2g0HEF5laUk2M$7iApy3rAqTe*<|xD-OuLaKso}exkPI7 z;b32x->`y?B|AtU2T>y8W>(swKk8G4*p z?4{xMR&yfW=%EZqQVeer*k zoe!MWQx^YcrkM=YKA|E1Rv23$3PYoY8BIK+iFT8sA|m4V9~ zMyRCjfQITKJpfl%`~sO>>WU?rqTMPM;oDqYFuyD}5 z5kfY7fi8c>8mC8M!n#BIIF?a5Dh4bY)27EUsgR3NqxM`HMm1R)U1jXm;%oVvSjRu5Pn#hmRJQ^h zhmYp~Mxb{8A+(0-4#>Bhm+YgBHYxUjeaHuh4@sm@-Lb4>K6=_mZ~q|?!wYpRJ94BF zgzCzCjwB728Q9{IBT*iz`w!YTA5u(0bxWaQJ__yQ5&zNMKIFVfj^-MddVO4690}DO z;eSm*Tl39HkqFhDzMGYPN2Tk}p}&xnlp5{eNAk%k|7}diGfgM6i*llOP4YmhE@QDl z%hd|40xWksypwNfbYF3rD)RdjjzwvCw<)Hn-^|y2vMZ_nZFL%5NNWN~e7f<$&S8Zs zxsoFkZk+SKX5tIsdXVC4?!Jh&dw9*KQWU9n6ov%jbg6*aUVU-bRrrpKQR`IVe%;qv ze+A_}y<8ofp9{W30ij#J@R+>E(2>Jt%RRNfjS};mn{b16yNRZYuF>UT9DL@wvc8=0 zH2F3E7St%%PnsXx^sf`YVex>@TY)Tk9q9e)zplap;5SpJ0t~pW}pMOMDO$Ye_o_)tBB*dDYI0he!*Jo*_%U&hby>=PD0TLFFj6UFDUN3d^=b7ayo6;fDJRq?z zL6h8Tz0~{)&GkG{8FMXk1atk{-t<)O9W+J3C5fQ3Oub=P+K^hYR`>OJ*xcn#;Y;jA ziNw9y)KctBiusM$xd@(=$@fJjEA7m_e3VB}9f{ssCvkS>^!$%-ei_c@SE@bp`MZYp zbUOMw%pj?D-F&7wq4y44!&Ju9P%fOeC+q6%Wu57srmHss8 zEQ*)FRj6*A=8E1=VKH$ykNG~iAHmjWRB_ha=^C)^dwDzoqBkJarFOcc$ZI%(Y;fQ4 zk(h-t3S5ahE?hv&e2CqI>ULvfd`J(+_Z=3_hm`A3{WvMGG@r|qKwqMdDP*|Y0m$#E z{Dz`tK0zI`@&K+8msW50al41cx)9q01Y^dXUga-Nr85sptK`^U(y!V|Y*F|3Mp-P&5-!351owzz(*|CE-% z!_nSo;2Fy68)s@(TR7h;M}Hq&sw3O z&u^s%XNxb8{nas?QLgZ8_9M(hFeo5Kew`va%Kua42L$C$V@%0so38Wg)V&DPNfeO> zg*H`6j{Suc0gj_22J7|)j2r3oQ?DAI!$DM|R5h*$YAhcQ=r<(vo)8hvjz0BWC{DbfkNP(yUu#ENvyKhIFfRT|o!zT`McHWougW_1;-`WkVNxJSGkd@mkM zQzF3cWvBO-S3U&s2@7jSfu|{u;)^pW(=>FLF&1X{ty|PsyIXj^{jJ?dOz1L-xR*$% z-H49!J<`1Cfg?1A{2C_4mO*(MQpjDY)Xy7o?-Jc-`PLO6;>u*H$e@u zVkV@;$S)B6R}O*D)Am5_FtxBnF)n{DcWlulWa3I^>W3w##8F0sm1{vM->JEtQj@5W4@u8~-8a@DKBqGRd2$lj&2s8xD5pVfS?RS!_Bo&I_X zN10j4mmAHS!g|L>yNJpzui8mqs9v;0y;=OJ-AGKOBtOauYQ(~IV2vg)ApjJryI=FR zmTsZnsnLg4`2kL#%b#A4FdB9iYi9m@8+NGk#&&YtsY7b!=Q2_ z2=Opeh;@6>W9@f&|JNEXr$|m>NH&oqei9v~_w65X&+9<(LojUXGfZQNgXlbF{%c`# zbS&Jd&Wvv9RX>kKlv$x|E&^`ro2MSsbSQ{qiHiPjk`K|Vc0i{d9YT*dIndAj_}NsH zE_psB1B!sFjA8PUT#zdZU&qAszgG?-!E_u;LDm2COQFl|cTGDUO#cSWS+4L8F;;6F z$M>f1;1D|c-;qjM#}6Bu+0aN}=s;G#hNx^L26u{iaKD|D#8`9cFI#vm%})dfW0`-W z@KaY@Lj#foB_fIu6)#Uywq&R%_aQot_Ifja+!rT`ioFfr7|<}95d>{rq&}A`cZ7=e z9SCgks212*7yz18andO#qB{@6rjqigJ}xMr6(kc2`;<1fQ=q`@Z<(yw6g&GwEeS~* z+>Hp4rkrviXM>9|Rcwc}<;;n4@neHqRbx8f%t5M=>VW#_w$Qq|c7f$6Wv>f8L7@Ck zf#Q{^9in+$t#JRw)lEs?0z24>9+q$Q=;2)gxZfp<)7AH6d??YeuGiD!7px6fm1c?m9k;cOC5Wh z&jJyVTq{0(1|MGdUvj#Q)(yQ(aM@#(Ymb#>csb-WzcBYCeK@Wt!J-_Fx*D)LIRRd2 z*0Qpzu7NpTgKLg&Ro4@UPezNLyhYhNd@f2Z8&1ilnt>UB=X0Dl1`Zj!hM@$at&9~Yhj#@Dfc z)lF^4nhsT;X>cvbPZ6^+hWFi45x=gW=@u59`==~hj7S-DQ7Si!VKI0ap1Y+QlZv`o z(Ka;a&?_##xT1AvK9`-0OO$;(72K9zE4GsATWYSrHk`w~kH(Xz^rc%=`d+m-N2!}F z)pyiu)+xQdIzG80F;2pup=>6VShP(qnVjCf6&;^O1ng5`$TO1W!{`sz>NFRT0bAI9 zg7LY#hVX$r9wJQL z6=0ikMjJ=HLSR{-#t-E#y2dSKl|V`2c8oRbo*S-v3|wkFnl|Zy#6Law9!?6q>kAy^ zB%T&Jvc+s5EtKX(^gmW;RI+01qlL)HjQbj-#Jq+o2eA(KIXp0Vj-L8{B9-jkB#n)y ze})a|{O0vM$hyF?zXO{@&uMyyFXY2tD9MeZ+)$l%m*z3~G(VbNOT((Q5^cHeZxaAo zx-m5Kd-lAQka^Wf>QfuTc3a^MEExd1AyD#wWfo%`mA=)DRNJ~MM6eRtMtF$8Q|%w9 zo+4e0=P>|>6*{UFDzK6J1*O&qMWmUO?8O52^ZNenTF8{%U8VmaDJ(4+!Z|i- z^w=L&J4N^@s!yC?rzaM+b%on9)EHQOH(r5Hysex7!cP%{uu0aYfJdhxHO7ixp4cZ(<&(0sjA`n7i^6YkqgQ(SU`4z*yz_(`@1fL#|iN zntHMJMGjZ84NgoZM+|BLe_cK!O`K(l*S0%_jA;C3xkM}%<$kF^VhOpLQSlRto7gNY z2Qn;-r^s53%b%iL1$}|R%Ndyz#6otk;C1KYQIeia+ge%GZ?Z>bQAwh~cV`ZPX;j2V z<-W{zB&T%g@uAsw9wMmGf|uC{<}|&WGA7`#p6l+&RIV&_(>eI2Iy80p<&fDal^Htp zBTP}FJA-=C1h#wxTKa)lL}20wR-K!LImu$E3&(!{zuqO;F$9*m=a8z|jPVZ%YcQ7v zQ%Kvctu-J*ZQV{=bnX4$)3ueqD6@P;_ixsCQ zzneda`d@&5Wl;ZuZ1{$uMXKpBbO;7VP;++pG zG!U0%KqQP=g=St(fz%8o&f`P(H`HID2zr^H>&L5`AL;Re{#-zT_kXb3>>{M$2^w}| zA<%fqn^YtF56ZT%aHk{G)AdI&;e!ESkA1qP(aas3=<0A=D=S=5fa71c3N3}r^seFB zvb`G6b|Oc~rF`u87UJ8twK%P!*w-}mlQk7?7~~E#g?foFS8+y2c$OH&%LRe-gAA z$l9^twt}b{<3D>3fq!cBk?Lo>O-YuGQUvr|t))p`b$08LzDjk3#g}c^p=RJ|p*s~NS@*#c%ZI})GiAaJ(|gt& z*FV}lHBV?Jd`H-(UD>nd*#6OwpO-MEem)}`5{u5xjxS36K8X{DrQ<#RS9pp2DMY+o zNdSg8w&M*W=1%P|!RMU{o+raZ`f;pG zX*(yDr8JmO-NE8*4P9`ZIhtasS{1f!gqv}!{+hA)60%H-cW+z-d=?Y_6y$kEnCN{_ zdOSNWii``RWY~H$D)RVn|NO1m8ChsY#3SI!ei^oR@WM76z2OMA-!YrHxF$Y-6w?CN z$%2vQPj1+mC>wL*Bs=I+cPw!uLBYz^Nm;J;a z4$J`ziCor^2Z{JwIh(H#!d&7cvg8M@ShSJSvYz}2)gSK5pHKPZ5?gPg@`0SdBEz*; zodvYqt>iwJqKA0N^ZI@$^L>H7X9eG>c&&;q>w_qd#CwW}0&W-7O1P(d2bczYSlZoL ztXW;@zFnR7e1U^?GVa38P~9-4up%_O^Wc7=y2mLn_~6#c;x4(KbgOb(t8~1}OU~B~ zkF81;rTBYQ!&N=2YTFQ@>mw6oKIw9pmTYuYRl|whIoGN>U}z4nICf$CJv1kBc2$=X zdGT*39cq_P$P$h*>CmlL3NH;MFLDt{-PwQ>C^DKjb@O^=$;Ln)pmm|c|J&1n`p83* zym%t?O`28JFuE|jVOe;;rD`U5x9%b}-maSh@scB?i^R)>Kld2Z?(YXyoK_WEk3SV} zfD?v#cx)a@Q|xWx-u7Y2^n6U=Hp-JG5^-{_aXEiwrza?8n-wp)l3RA7_#Id*ND&@$ zESX3W3Ys0Ke5SEY`wcr&iIsM@@)Gf#x?+LMinqG6R?v)jYJPiH^m5vfA*|g!2ATl_ zrtdSyfI4te9p@6D3;^`m9xykxiSYUzZ=2dw-yEA8vbfo09hi%z?-0JHwKBguOLz$& zy^d84Tq_K4(zSZZG&z2KvDalxFKx+V=}Ff)_V;j18Qhr+^?;7IwKO-Lkdv4~qVd1% ziic5=y}hrSr@B9wn6FelTfn{nmGgx@W-E|bN+I_sm!McrrZ2T*_-6&oY^}|lUi@LU zyN7pN5bZl$EUkwA1Zv7CWIkiD*hElO_f+g;rfacCcSm=?el};v@l;IyvYSGjwzi(ri0N8>d%lLlXoA5G+tq0qwn&~txg>t$8g0Mny44@xK` zE)n|D{HPMGx2rn=bCJDQ1z2veC7;URm(F%c90giD{U^r4u(ISyP1)@?KsYb$+v$d! z$PVF#f(Aab@num+i0&*Qz*H#q2wb9&PIS2Gj5i!t&|dA!uz<{S`G4LN^x;~DrJ+-E+BTqH1V8{f`WJHV^>7~|Ir(@Na-g4zQLLYMQ5_|+1fiSH z6q?Qde&&?LfK7_gBjU%Q8+n^&^oWGq9#ec1amD==_!kdP7xEk(-Yxj+eCJ+2Negox zQ(nxjQ-u=8!Q|#&yV&1)WprG63?iMh5btAH_muF8mo#k>;g1BKR+sUIZHiBt<(|U& zk%2^{obBR(r`C~Fms0?zyDA3l4!BL?dJ$WO+VtL6cw$H6kL=e71pgD9kKJF%PRJ*B z_>qQ^NP#$TiyLxM8vl0HlH1{PDS8M^1QR^K*cmh3hr<9b47c{)hB$?P?ps#Hwgzel zPmDo;4Lh`*2+i82zHX$rU&C~sQCc0EJwB&yd88!F752jF_<>i5aVOCtWIIHRv;nWG zVfWDNmi3j#=k|&mOa&Cd`MGt=qpMD8%WoG|Kb{D+$wTA>jH|^C`)do^RvFU}a0nJ%5SIlu&7EJLA>=JLw_bS-9;UZOA#eq3J-> zWy_Y)qwfAmJ!yBR`?5uCol?aDdXc^k>_|{7iIXq8KgNbsWdSr2`75CmACK&gWZCtjs&Osk<9Zxqrwi`-5{g4IiEUeYlvH^*dh;!O;k!8l>O931^w+wT-Nch8aStGq!K_b{L15yy@Hfk=4K zHeRv|%&cO3Vj!AxO1_c$AcaLIzo)!K^-D-y4cZYSQ`|E;?`m+Y03PDP)q`JjKHu7! zHw9p>>#jM1D+loQ1D>nS)X5!_Rp+b@h>JS^(W10r_Eeu&UqGKZe)rpHqc^@%9F>j$ zf6n)LiY+$Zws`JOD5}yqI_+*#b~FY41-oZrkTBOvi)CH#MfyKU&tCkAv&c@Z7u%o3 zTHNagQYBt;K4lSemGQ~Y=?2u4LCM*s@5M{bO@rT;`l$I8rT>ZCdqKdWJi!7aCDoa4C(+vMQ8^W*A5VXYg2(P;^h3`3@3MnHi_2`zz%+@tpZND~2-ysZ^}KnL5WO_{o6f)$x+=DXjkbZqc86 z>Ccr{vjG|fZgjqC(Xh;NJO*%s#uazHc3EjM6rZVOKM@%H9@w!{PO_KR!>HI}Z&NmH zr^()Ce`=L}eEm7wv~bn?bo6rCwg%kR^BCB?0B>Vc$=VrxLC!Xvv7Rg;wUnNOZmWcr z=*_K{i>6FB)2!?Yh;3%@0V){Yh!l7tMQ2rv9v*8G!C)WuFTcbVk3{Ihs(k#pX=p;J zjlT39ZS?E4AC&v?pDh8~zz<5m<#DwobVU1Ty9T4~<+`Ac`VM7Bb4%-s?v-7P9${3j z*9fgg6JdIjQ&#j%x`;@86@b8G|H0E2k$uuzgH4QZ!po_x!Q69Y&w#Y0H~wn?h`bqo z?e;=pB~kF3Pf5f70QhFIki55>Giac8%P4eU-5vJFg{r3=e!@_g5x zmG_IDxyZ=#RK9_}P5IYtlW&TZt$d5Ix)^A%rr5fdG306UTd-b2Z_T>LLw7gtog>2) zqM4L-cL&DE)Wm;98gHI^+h+74x7#2&#x~1SVHG{^WVWK zOFMmj$WnSA;3U))awPL#+l!YKQNi5_tMYn&BqCQH5kNi}(5IVxn6b`N?fzQ4_E(@p{y5DfahyxdVy?D(0^ScHN8W7Pn?2Mls3=WL1}6CMq&39!WRe!ReGWOlaNRVnaZ}%xUFy;ZzxL3cfaBRjoO79 zVZ7wxb*W`Pfur$cJfOSma%`yF5Hv8qclYz|^QnK~YSG_nzv^E3B@%G`BW$*Mn?v3aXa0wJX|2|9em^EQ}-1>dEl z`aPh~QsH^AmDO?YNKa9w>Jcl&d#aT2%9PvDY$I0}x&9bx8}Qxi5!tbJV;)YKG-H+! z-XCBZDq_v1+M)hV4GZyfJGE0lRj#8n<mP-rdXJ+ z^%)jA7}imbft=IE@mm^5yBkYSFqU2mSsT6k`lf4X%`W&h)#@X@{`yC$zZ>I zvMq=O#VStGlU?MSP8s(PRBAVV|5Q_Eq*H&6fh&S^%vk;i0JBniiU$77yqnm+f|<9V zt{{`Oo|tIl1D{AsWD(D*e`YP+bEumblqv^OG!KhUC-FCyxIMi;l1R1MM>TUP zw;?!;P6*L>L4h1@CF*U{8t*ogZ*5#<`EXBQ;(_EM4V@U*ZW&{b%trRix%%BO4U=A@;h}NVSBnj!p!)lkfFNU*#tre;&3?D}zS!rmszcZ0;hkp8yTi?c*=GrzYAz!Ld@n>X8Q6&rxosIhyZ|p|yNh6| zldy=Foc*E1$_h8CM1Aps=}9_4#6#IYB%=>HI^E3&PhldKU;jHT3@WOPy|XGlM8%2* z4m09K)6`JB+LqJFW5t> zDLKX5#*0SLJh-fmD_~F(&W4mq6$r=cio1guiXEk1!cj3G==}9*3(@6Xp*#l2ZOTJ8 zl<%A>4_{@*@7Nx2(c?)|+{n9iih6*Rim?z2D zBUHZ|Lo<2A`vz7fbaM;DARCE@O;Wt< z#0S9i`D{t>sur4 zU-z%sRCU!}u-m&?Z=u=C!V`Pk9?o6V@fqvVG$Z^$uw!QR2KzexSb?>|41#@Xjyo(I zBl>`z%;q%&NY}Y8B58lN{uGooJbqbjW7v0Y`YONKs6&#Z7}h;h!ZvVX?ttam!0pXv zRjhq*S>!jIe_~FlxOoSTWQmnJd#LU3dQxC;S@a7P?y9=2JE;E9+~M)7a;tEl8+=%( zZV3&m05)s|7S%n3`t=I8DuOF#xOr7fOYFTckgH>hZaxuP%?WruM9Kyq7AYNkaCFC^ zb=(=(-2?7P<_;bgeIqpccyo=ohxxsE2NhRkE>-5?sj<-O)jFZp{L`hHV{#=PYCi%Q z@46NgEU6hgE*fBzQTe%;&D`_?)%nW=XbsR33ZwSH_IJCVl5f6L(RQ~p zx(G6`4_nb~7FrDr$ZyF`-V+BHjpw*dYDX$~N$xK+W%rX#r>I-r|9_QRtb0s$!zs{q zY>~e9X*T~?5yh_uRfz{!9gVm8ejge1`}F-NFvPl5p5rc3d-0MUpZ&u41xXI}?gR=A zXDL|!pZtZQB`Rv?w0n7YfB)*|@VcweQ`@fBV11Z9iUT=qND(*r+lAmPB!LNeklm0} zzP4`sP3M^&*el81VF3O0IQ?uZ))PXSClEOLqNWtvlN_fA;PK8Wt!cYb6{?Us(n zPO-0NY|%;h^$Qy@GUp`c%ASPu1~(nsW`P!kDzfD$4LOrX(iW-T6Cmw!|^ug zNOhCkT}?2~ch4LxjM!z^9a>4{!ZH+#z;NqOmm6RAGk=UxoCQ`Lw=WgE;-+K0pbM)( zUY*F+_CsQy-gvx({zB?7C->;C{0xi~@uJmV(5raKxBM|R=QDky=3uK}o_hb*7LJ>~ zCv{{HDf-fvclr~XPmz3zn4#fy4aSTnM-wMQI`)o`N%A)VKFs01-3}SP{f$9u1eXA5 zb#wCg2AMI|p>CPK!^qts;*-|oAAFP1bd$HU`Pb=w#5cEq5bavp_pv`o_D+qz(spD!l=hf6<-bbwJ2D7LNbcbM@F;$=i{G&}Cx}?!nW+ zc`NDQH+$ohIG|ayrmTH^)|1M5i!3yU=dv(>Kc#$;SBVh4;0z4afoF~m`#4V=6huKn z2@nA+5Icx>+c-cfI+rnUkpw{n?=3^u$CC7kNOR}{i0-zNZ9Aw<-VuM<-F z6|2m9COI$d3ch4ejY^jbTiK=6-yIoH40`)t}2iE!>ZEu_)VO{9@ zN_>Z~k$=JH@RJG0#&Np|zJoP3v>SoMkh%lSLLcf|S=^_pZO(*C6s?}KxQmO!9WN9= z1eD;<$P05W#1IjtjLha4+VYYF+Ca&sE-kISZyw7ozP%i&p_+2=3Pz#gMM?V&f9sgbE%sE;9M2V+{ zZo|V8W5IjYipB%!ErLq0$4NZAX_MZ!Dflt?zFprYYplbCZYjJnJn?O$7c%})B)B-H zdYBQf+mwGUyL_j>w7y+=6P@QDDBqG;>r34kWN7GGIx*OHLM&2*MJESUmT zpp<}6F^m7Imt-BLMA0-~Mm>P>lntad^|EsJC6{n;(^Bw{{#l71q^Z_i2lnev@;`IW z4b>m#f94$%s#h#2bo@>O)?1)cDHDDB*usweo~*Q4Kzpx;KFm@J|4_wBxRQ8$2VO8P zcwZx$ z?3Yo-BAw7b8V^+;;w1||^1GHLrG96#y&4s&*FBv;l}fL22v}pw7t|i8|EWEZ?r}9r zZ3psYK$Z#^@sN{`1$sgi7f~C(@@0lm#*GXL)Oz}U8BIu&vTBNiMAoF#+>&_sP&tY1yv4Su7q!D`)KzyHZ7cjgh>b?E-U+5T=YVxH7v|f+aZ!^6e zyv6Bz^CIeG;%+I{(qBzKbbpY!wQa6>MK>Iy3EHu`FMiY;^RFM3hoR_CoM(#s-$9mnn|$O`cT;CiinrxRFGqQ4bMs)nOcdhs6hgrC#xH&Lr`Y?pozSU9sG??YaldGv3Y@}o zbE3UaNiPr8@!ApoXrRJo^(DRxzbK9I6CNDATj(ZT7U2KKqscuwH&iPtiLa^Kk^H)f z=u7_B*`Yes_w#(Ib~{kd^X^oZ1GrnQgm|}Ja7Kkm^7|Qo&*Mna{Gsb)#*;kP^9}b3 zkw4U{`U~lv>*m2cZeWV;yI9ubIrxC2{q0;5#M4lnFHy0xl}K-#N?!RO)k+?%uq$wz zwA2wp9E~wv_lhF=U`d`J4!X*e%Avf>jy}28J*e$~`l8!bZia7ZPd}t10L+jQedwn2 zoGUz>DRae8JeVciPOO0op!U=JrWBLin6CPsr3O2Ii< zaK1g*Mt+Nj^GpEe9%WsLX!rPJe=A;Vq41y#d2AQD_r-YOPzSL$4CwRJx3!pT=edW@ zltGZE%s^ie=gCS-<6q($nE2FI`l$7_Tf2qoehqEJ)^X%&3iNZ(N9;Qvjc=Usd=3Iu zM=q<~Ow^j?WX{-JKp%;c#qZk9oukLdvtF98-#3`{-|{9MMAuW8*2uBi5By$xaZBOs zPdhxxvoyz+oqol#6vr+&K2;X##OmZPks&zWQ;9+DOAOBX`!Pp!$wvgIp&&NXum5{t zUL0ZUuQ0bAbn()Yx~@ggn|TsBmz85;H7;I&DZi>Y{8F{7r>6cSgQRau$EIEHluH zS4v4Y`o~PCzu!T}$-Oed_M^A5goEi4XY@f7m6=rY?4>l2Pops z+fAMJ(q8wZ8hYX$Reu}5sv9O3CcCEjAKPZBGhd=um$qE@dxd{#cfD1c{aIJ_=@{0( zd^9^VnbD<6nf&c0wy>SAXUE*`URk@T<7M_KtYR?GDs6IZ%||)-3_sS?jbv3A%^G9Y zw!JIk<&VZAW5&63Km)l|Cz>joIf>_VAVWXt{ie>oAKb7ht%TiZZMC~DXoy03)A_z} z9S8kYEJ!Cc^WD>QrMjVPegm{>p(7L>rgz6C1&)aP&OGZ@xucmygK;{>Hz8zF2EauE zU}qnKyqev)}1pum0qVYNv@;64NBi^ZN+M_=AX z(7gZ`@=I@encxm`SF!4ocX@fAK1IJ}Ns3vGp;$r=ZpP12wzyiN3W3ij608XZ{Cz1Xn?|9lSj3sW z6m)|FnjX^b)u6YL>eqLMpWFdI@yhDWs5yzptYV5kGnkvnPr2<(Qi&TVG0W|R-#jF0 z?XokKPp4TJn$n~#=i z*0ok*gUGF&*DK(UT1XlDr4f_lp03|>B+lC`dl0VIj@)c!g@0L`V_QXT+ApTIX=n(< zn{*ed@$JE<<&)^YoPsv=qt$Wf|E7TcfAI9b){u}`Z}`6mR{>K`+g*1cBSu2?$BKt} znVHyY8@gm3o8L4MilyeEV_-8K?n5@HiSGd>I`K4i0yzLpJ~_*OPeNxg&$s4CwM*dP z>Bl6tV{+pJHf>`2OTORKk@!6=rulmyZ;d=WtdlSqd05dGw0L!%oa*eQX*&6Nz2kke z{@vg-zUcoRSpfRkFpzVp>5Z2(vQ86S3=5fbKj(|c@+pWMZFg$fhN=?y1jOka^UME`b0+~pB>{La33L;7KNeJ2r#;?3s zc<)ylUVm&{+BEK?%02D2_F`}+_V_Uro!ZbfTme(GQtMUfSocIws6T+iZ9@tvtDw-5 zH~n@(ZqL8=UO}uhhQtd1bS9BKen*`=){$=;+2ex~+vlYbWBsK{sO}3I zP_;L)ap5{YpQ`hMsy`ue`JB(EO01RyZj{imc=o4?GsAsfkwu9U$(pwl;Mt5id z){a5D6~F>dp}N5kW8xbAA@iGBkCI|_Dqhq@Be>t4(5?}5w!O>%20+13NFdy^nI^+>ECoSB!)u4Nxo3Foc)lMKaIeXNdns_Uhok$EvQWp~_lBv}k**kL`$hZK zT!-=E0GS{nQ5PoQ88~&_i*0$NHmXKHf&HR|naHwVNZa)Gi(CD#t0I#iACk_Flz}ut zGrNDl(*(8A{2bET-+-Ro0R$6L_Mf)RcGEaL!ZC2-2O(wtFqcTIOe&RgP?4D`fp1yx+KQHxbyZwA!3rU{6 zS7EP)i=@!x>490zPD{(bQ3F<+?MOz!18j?WAIGu;^RX@Wp=*rM76y#g;;}U6d}vXP z+}U(kyApQT#|w6a=pnfZk&#F88pnF>(2ld;chZ1bQ!xX{;e+NzSL#B{msAQ zip#4|GL?L8@d*CCxOhTEXy?k}p8V!SjNcre@%z={8XDk-e+ZQHQ;P@k@3`VH|DIbs zhJPooL-26o#_ zCBM_Mz>l(`yKhS+p9;klArWoBuB@pI)g_nGTppNKVT zr@&LZBf2xAQHit;GHcGNJm%&{sKMpV)pUzTV^`2-yV#d+|{NE%6^pVoz+ z@?l~_b@G?>-Frp2@auQj#B2YRQ(3wyeqwHAX!uHZC$NSzRR7Cjb6`)5Ets=$-#Kp2 z+&Q(M9@m%C&kw?HuRLkT%6Z+ZOL@!Vs@K?CA=&~Pn~TEO*;PhY zWY5%rQP(SlfFIJQc+ufnKJ{z_r0%!5r*xhJ(uYe$JY9JU(I+rhD03_P3Bk>AI{arm z(H^|rBFo;Q3IhRVTT9}lT7~F8Ro=WNYcTZ5ADPJ)z zaR}L3kI+gDZ3XcQvTj(^elywafR&2Q=`4aUaq4oRsjx#x2*p=)D<^buD(i zb+|(m7@RmaX$RZTwOFSeERSxcDo0LjypImaqA0hX+W8=;q=>$`GN>cW4O1*)e*>;J zS5D2vm28$DLHny3frSS7mQ&9_?$k>;XnfEYd4nQ=cHhEmF&T_Yi`t@pa-N8TKaDl8 zTupC1$Bq~Wp}H=GFRnRAvTu<4ij9$&SWkC|R0(j~lio1#B8J*|lT-Z69Gh!WS=^p5 z$Cvz?aC~nxS3PI>bhphN>m+@8g?8@555iD~b|&NokjlfcA-$4MF(1jd)B2;dJx;#I zmvQnvK^t$DHcx@Ik5}|U^dnOu%xR)d&6>ZKch$o+NoN_$!Qc~l5dwj(a;Lz>1i;LI zhoiUf)Cj&wSL!|V&4X#-*O-@8;83kRC{hGiF|K1}X1)ccP+-j19BHlLb>ulJ?K{FD zLl$!rKht@exef;X8J5+b*IZVA9)bR{`g4)`bLfA3fztokpQ!=^|G*QgwdNT0$M3=) zVpq3K*XU1x&u)S~;{O4k{yeAvw8RQN7(}ImO}>_0i%cbHzLI*{iC4+PfqoY&cu}dp z;}{FPKE-bcO!gkPFX5C)y2mH|R!QHW;geMFlYXV7g&)9HjYCU+Y$&@xd9abatuJGR zlD2{oB>`T04B@06f^;D+KpWm`Sq@W2#or0!b3Tk(AKB8wne%EQAZ0Z<_0*Tzg8G22{ zOX_T6a4_!gbzkxECi935-TWbWL*+=elpj?Se`>7ZFDU!HgzR7hP$jIRD_vBCmAWg` zO9(rFhELNPWTrKseqIX&$6CgmQNR4^;)Ko!0zMfC^7P?+4>}8>pRYQOZKpZse#B|Y z%N89yUbGG+NnGP1)J17*6Mxu*I?1tgySw?jO&yKeLD9)KtXR9dQ!=x59+%ebFeo?; zm^6#mGO@IxXCZ{cYlK4hwWY z!dpm;PvG*Z07PP=FUUv}TcOC?r?UbrmiKM4OZ&KlOfx|oE;>c1!C7^Mdk2xnz6H9D z9)fuqsRzP9=>6=;Rr&f!wo4I6kFZC51(4c4+m;+In%qus7f}JN*bKkzh@`Q64=ruK z_HKjH%QHr7mL=1Wml;DC?wtcD8N}~QA5STs-zg^a1uH~}?apg!JEFQ$Qj`NVA&w{J zH(I3JG(IuyNHDkXcemj0e!<^9!QZ~Y-v-VHRIb}4=tTVejH%M!Rl(m+g1^gyziWfP z_p?b-xp~3&bDce$`43TFl;qxrDhWK)DcN~e&9R3?jv(Y(xOPo$xOCm+?TsP@yiSH3 z1#g?leg{ZL^SiZRH2>zL;{341NWLTeD_*b%=^1``YB;t@s@m4P$Q2gLr|fw)jz;Zk zO8_~ILjkOHk98GOULQFy9N*_2eiII=_H5$egeP*lvED^-SGxj@wgsuQKKgawaZG#2 zPhgSm4mUvf_N`wsIDJNXz+mOPBqi> z4(E+WF<7pRzalEM*lQT2zC>-&nTs@f9Xf@0^_}yI|1121|ImG=5WY zl{U=R#x+#8AOE)H<3>So zC;2r5k0z()$CE?#&*;bW+>xRBm+V&_zy5B&I^ibX`#sxMb!`t$7818d6A=PW9TZ8;c*UyjiZp)L= z#Fw&*W3y_0yfoUK9$#V8aRt)>SfLP|W_;pIj!1lc=4yDT{?s(&llVoS@*;1y3eCedF*?zN`n!2x3MI2N!MJ943FN|>8`_#78xG4fC7-!^l+28WaKq! zSoFPyT~W1{+Wf&kZ+;O@5%0DGHk<*gb=ura;*})oLT#_mZUyC&A+Ek`c~Y6<$RxcF z=}KCl%>Mc{M+emU!V!;8!W>?xOPjY zC`Tf4YYO)_gkOLh0^y6W@dqPHVKVE!!$}R*NA~g6cJ|eFqMG|7m68jYmuz~oI}C;H zYE}cy^1dj%&=cRpMX_DE#)5qd6;N(-X@2BE&pyn0)PY2!M*{(_f^_HS`=wu+-`*&4 z*qXUW!3?LT*RasSddZsM5t`v)KcC?~nqlPRf1TmfenIp5fz9u-)cij2FPq=ql1J(J zy^F-u{7#s(-TYolCi5F6{r_ivb7Vuwn%@y#NB`OUPCnGI8AC#W&9Cj56rg>Pevcv%6c(Jf9cuUU>8sBTP-{l1%=$4~PkIrV?@O?fPHq_7U;CLqv028S zDOf_Q*=s_}?5~3*^oA$cf_{eL->}O9#W(R<$}cS;`k%Fa-a5qUEMgzwMo}aAhStw7 z;dgZ2f8|$CV_Q!1t7C-S62orq40gFX@?Wt#OL$%3@w)aOhS$rqFG|zxCnSQ`XC`ik z*M&a)kE9#P{(s|j$f|6-{_*`^#_KZ&8;+KES#TJ^kpAy@z1r8gT*7e+Z-gY@$P$Qc z1&@=Bn#4hQ!5{dk|M*!G{M^*hxc2(>{!hK*$au9e!79v?L?O(BO*uKevZ`x;lYE%O?pcXfEAdtm3$qf>CDDB5NLLqA9jI3N zIGQINucvhSkxExkKhilqOsDUy^g}GYCVL?HN|y@Ul*0%!<-fuE$R1W}qB~jX?2Fv%M?D!hk172HrBggB{Z^&lZ{?YcO!nt68Jd-|7=@(l%6Oc)- zRJzpZrkZWwAENZZN|!pEDc?is#Y(5ytn{C7NlA27I^EAo|3c~CqcJ;s!hvje;e9^Ks;5lVE>HFwtKXTB#sHU4!^w6k-Tf39ed(d((2yj0Mhrgej(-Ed8))^^WPY|eAZT# zLiKI=5?3BMwYVYt<4?S<)}gy~A~HTRy0<^11GOr-hlh2zht>ZXZ{|`QaQAnCJ5zM|+G3)eYx! zNOAPJoZSQt1l7f31}wz=u{u=w8TYm&210c_al?uAR&janSILKjh|l53ykI#4CsE>p zw-QERfcq-cH@{daOn3d$%aj@YQyw{w2Yh;A@TunTHy7<{Cu-#O(^p;%o_F<%!^P8$ zIR{k{)w*_C*M5-$TXT9fOzX;9i@9z9I-a@3wz{t{+Uqp-&nx(w>tvAY`(5p(eWp*K zJQ|OzYw@y+pOUuInturT|L0mR+!xL|jelAMUOR6>YF}jgvBnXk3iRjed=rCw6BddO zImk(v2R?UTu2iYP02UhFLEq5$8SXC+-uzqa{?xO$=2A0HUBbqA0LCVJKlfYi+9yUc zwI;{nWe@(%l(mnPtY=7Fjuus*f61PyiR7)S-tt+kD`BPx1yj}5s;K~C#lP_u$Vu+z z?F$vLkE?hJ#y_Re5gAimx*@X0orzt)qG5X1_?W!fj((Ay-C{Htt>mF(#K(2Yt=+uO z^n%LL#y6NNVf0(gj7w}f z_oR?SY(l1>L!r5QKu0|f%vnniNXbV3fC-KRs@Ia9A5Bg;Jh5Q;ep=1_{-Zx_1#|eL z|Jce`$BXCN&xXqRrd}1)4D1)#-3)ButReVu$4BPYOwH{VD{25jbdQ>;c{!1Hs^e4h z6y!bGEwew3Pt9#A1FjBVV+F%0?Hr^m{q2hCczLc7a6uXA)eZf2RvN3`IzS?KMHuT>3xS{vl zpyFj#v790D;-=dDlb^TxFqM-xa{dr0?xpl2;Lhq#f6@~dF*-m0CpT0ch_eDOXxFyn zRmTeE(MoKeR{l-20NT&&`M&95-*n<*Kiu!NT4Rc0cB0Q;{1@xm!XW=0@;Tobs(90> z_Xw+rHqFB8A0`6RWSmF3kL(!P{fyH&=HXmCx)ZMl=7wf|!bEer1>i%4qaSgY0CKzN?~+$#f+`L$|+#G@EmaX*vUTL79H1a z-6=Aje?yVc{JUeQo)GmSl1W?9#pRs)0Hp+Uje9N6qZsnkB3@p^o0ly?5<^g*9Ka zm+g|%8P+w2afRycmP)OQ9J02RTBG2ut9y+jMxE7CY0`jZxJoAk|0bYZrLg%5ne_}k z=4W0`bZla4$ zaC1>6p{t9Q0Ft4iRE_{r@&%V@R3r02!=!KMx4$UU)6M1bvA?ZX6`P|QJUwy9duFl9 zwz~rM?`DSZy*M34731L>_c8t|i8JX(3csLq9BVEy4KmjJ3|N@h%Fi@^aR;Non*(EW zWG^HoW_&k!j#PzJqW+t}hvTqNUG|SRZuTaZh#LCAfY#VNgl1pIVb0K83RcWnRalYR zW>cX%0)8IW9B$J&h>B299TX{th|vsts;G0YrYY#tRO12Q* zDR~Mq`f&8ELZEbu=HX0ri^oI44c-3zJZ4v=6bVgxLo?Qz zn8P>irb!PfssBi2evUYg=sU1eF{51s>~%)uc7E3nGhXt@uX1y2f3T*r4qsQf6W(Ss zaX!%KP-RSU2ru?sSxkY%$z+%+9IF2c9+TL@KWX}CC>yY+#0l>u>RAApU3l@}P@AjU zsEr#&cM90`Lmg;IAxY?dPcUEU`)@nZUpt&njGX#1ho1l_|ZVk6XZ=RQ4c`r@7dj*qVW=m6)O3 z!FLG@)B50y;SMu{?RB^e6J|{0@%P!jCPVzuLD@?{F7tfVx6HeD&?%J@2kQjsA9;fP zQ~mjc(H;1h$cNdWIG^Sx{{6LW-QA_M$U`^KOms<*TVc8GRGGwe?QlqbIy;%ou8_)O(al-s$-_b~bJ* z(kU=HGavF%EZ{W1urXZ_RC`cdNNnOXil}qj7`ScS*!hGzN}8}avJEyH7dNs$zW>}bd^!QSuaLE{&8M{HffijKwpq)AI^UB-Ebx})?z`AZxDZmy0Gw>GtGre zyN_xx^>YfbeXAH-F&-q~r!=q6&(Y}R31e?VY>US}&lJkN@Js=Ym$U@Q_mN!LkY9}I z9GYo?P2tVE>5+_Ui+4Bsb~QRgPwfKtPL3(N2NH)t=--)k?mYWc6_ZCq-0KH@G4;uJ zPcBAr%DM0Y(8^BSH^^p?naHOQzK4VME)LZ_4Em{%uL}88(5P`_ihaWCwuDCN&hWX< zCcbd}XPY`sKNEMU5b!qb>&NvW=$5Kh_BO&iRCf#zrcW+A*gm!ZIy6&pzY!cyqMww_ zQhNOfCQ>SC%X+?lKjROVVJ8oIZY6>a)}LkdOYZv8%Dc&;qMJ-sZj`ieKt%G<`5qUu%-WvKG;NWX8 z!03epLx^zj5r*$EXCyZG_Nm(P7*&t70hOznNwjW0M1I{DJ*j+|3iTagx^@G3D@kPR z%)~W#cP4&s(1Z`_tGrBwR)0GRYyyt4=#g~8i174^GoYNht6<7n*N=#6$4k!e@ZDhM zIWg1Hin>3F=X?WzvzA0^Kc>YnQtvnMAPkRJ{sj@uVC9wmHT~l!zxu<6^>kue^Mu7G z!rkbuI))vfXeYQ_R>y)CDwzU-C2%+ffR4nazzFb7 zH+&1vsD-0x!JTuPAz62pcGva428*QksSv#C*%X40_zVOWQrsLA_W@usYW=N@ZT0~7 zy~a5Cysh5+^M(fn6qrc&y^8m#R)H28}dC(-@&kEqYakas@Hh`1AROWtr zPsVM08WIk0U7jy_a3{4%5hZy#TJbP*ZOncU01^=qwa2TcxAZ-Z03XR)grLN>w6FE$ zZGZSCRN(PoLJX0>VsM{hE#{ijaZqWH+&(;1`3>%uZUMe=WL+z!e(TeLAvZGIA946| z4_;eN=`&eR8Na4;859kF4}1nnkG|Yg&h^vPQhI1w5BkU|DIV?!DkLA=4z4KwHi{%4 zxA9k;hMI#8i3PotYZY_8%Cn164DcKq*t@*+RT*n>=c4#a;JgZz*<}g*S>Lo_4cD;# z^^}G+UyMa(O4{B18iAXU@+!0z7e2Ea{FNfC$RYmm1pE^Hy9>IHnDN&<{UHs0kjB2+ z)tj5fAa~vJO}eOL!eK{EavPzgwR zlS>bW1tYf#I~`-8|EP>v5I&} zXAmIPJD9mgEY8#ulJOy&3Sju&=c+a6=dt`^LeE@&E9c|DlkvM}bwj7)c}J|j>@kGT zEI5U7$z5z+@nl0_=V*=$vi+Uz}rK{Yfluq1%G*9D~_f(hp z+h~aHrpp+m=o1p)HlsU*y`mQRpGXEuPpmntDs66-y93nQc)wB_O_pcoml)!8q7RDy zjx37PpZ7Ns5JwkP7@WN(C)u^R$gTB90vsHuC+rrgNTnoW7pmng9Dek(vlH(O;= zwTZVBFIlvlHdx{JTh2C5gxWbnK-Slhovib8xeEGHl?zA#uBU%eaIU^Z3)JdT4-G;$gix(`-=i$He=hQn z>XbjzkH;mLoeG|{WBJ$S6H~_X-O!8gQRXyX2An;*K|^lIuPXgGGL)P*dU$j_MeWLl zBPupvXwJ!vwpHTl-W%_1R|$9fMGHN-hIUmTDG1RH;&^VKa}VT6kYs^eI}oXO6eUk z)6d{v0gztzC9iQILS4R{R9N6IycUaIEHu@4U_s0o&;Pfje>|_Hxp(*EKSKL@80)S; z-S+9|a-r~(`#h@lP`mKiLf4MWw_mjz_l}GYwpw=pQ|#*!x3VS3W(Bzx%3>1urctt6 zSE}ZEaGo>&#Y{+oxf$cvFSPIeAYk0A^tEhHHib&bATGbV!sidm${(TpCq2Enw;!jz zzXPL7-9D15L+kOTMmzX zI(#B5GEs4=w{NeIF~m5{CG>;K7QyOohlt0VVex~1vEEhG+r}eT@dEHnue_HRIAiaQ zWQ}!aOW2dYy;ukF1CJ&Hkur!sI>s$u-Tkxz3gajRpOKT?Im?b2s_RXT*(C{6zBMPOoUPJ~t=dd; zrdM9r77fi-ogwN#j3Cg>1VAD-`n$udfU z4LyCz!6bDN8M&@Eso~O(uUbUev(=hG-I>(H(X4UnA2dlI{-TRNHFSb@?P>31P#|SA ziGkjeb^a2$TC}hRn7{HPxb?2Q9HRCq+H9PkwDLPyik7**>SlDjpm8WK3Z`*$S&B4f|L*QX9O5KlD||sn@XpjnXps1c*%WK0(mR`XymgqMUu7D zS>nHc;B}RJF?9aICyeXVp|N?q#Jd#hXZ-1 z{X`H`pGOG2m%@y17J&E4h66je`XNuefqY^r{vvvS_o|AQ{XmYJ1-q3xHwFV@Tfq{N zAZKW+-OYyclT$xitD&v=q4g)pAP{aq4WdN=ylK*ODA2&G+Y|ek zdE%w`#(tQ10$G&4&v@W!;k>=^5ZE&aZoM4@e@dt25uNy)yczS1=C%{izkU1szu%F{zeoA;?elL*!=Fli;$&k?S?%AE&L5-v zL$}Yb0DgMBB`VTe>?LhCc|P5KPi3xwF*kPd=y-7!U5l6XrG(q-gKdro%vyr~7mi=~ zf#VlmQ3IMA3eMrB8kEUj%P=W7Deo5+4WsCoixk@y_`70(KvzG+-sZB5R$o`QBgbPX zNo@m~^@w%!wb)02rC83Pq+%!$*jOv84Xrdm*9YBmw{tlq(hEvnUxsJ zAhYbZ{^{+nzTg<{`TxV-n}^9&Rcqr10t8wycmd6K0X;xsI+)H#AOwQxba#?ANvBOG zArP>sbXTW~bXOHs)foU4B?u7%IDlM7oKYOO4t$8HAY4GjYn%ZUaIP?`_bQ6leDAx~ zyHA~}bQAUZJip%`)&p6+*V*&1_L}zIH}HOc=mXb-3A$qPpH9Y3kBb++eidEXc08;8 zhbgOiGTO`|r`1l zu9#ugx7#s8dHVf|*TCj?%&Rfyc%F5`Zt4XBKXb(hZjU^44ZfLC1!UvvH)7OwbbuGR zy|N8yV>aO^Qizdxw;p)0?V&R{e}D5?>&G>+>s3};L5RG8$BTA6SiSh8mJ?3V-d>r3 zj}uw^m5hZ5DD`0syBl-9Q(avvb>vOp8{E=#=hf@YkV8&Q{dLJ}mPVDA)~3}6=Z;PL zJ9a~N6`odks>>6>&n&%XVK@IqF;o9|$sOzN*gcL{*6i4{6c04+7re=OZ+Ywqb-%DUXs5piDL({UI<=Z^C!F!`bDf4d_zecDCsNz$I_oY@xQ9kHt?c1Q+NdDbvnM?{^$XC)(`CLVVAFg zrR?xaem21a`%SpHXTS8<{fS6Ek3(qx^k-z#vw!mWK!nDnKOaOy@)}YpI<;k@)_;xIXM0KFd~xAFGT2&^yhye zBKdqcLQUz2VvfUd@e!^4B~N68!Vr&`0KP}9!Rmgb#3>o+tL+;R$0c{g zm@T*Rk_sf~+<~Rm{~5#A&qA!1fR{N@TJ<3)f;l~C zHlGbVM4dJGc;E~1G2Jl#kTe{c%4he((}kcUOi@2`43k71hp0GsO{+RT)XyTrBvH}W zXU9$0KCGzqGm24DQwmWJn6Q13qSntYMompGL_KiAcCvi@P(RZQlT-ja0B^m9Q@-Xg?MOs>UgcOK>u0H9ESgQu&i$U^isE7HBpCG3_D<4_05=*e$) z@#+UYWAdQpg7#S?s=f={ zc=hh{&8Sap^fyS9>1zo42CS;IF&$i8{8mF^S-kZw>@gdWrrxBK{Tw2Im%J2)0&Ejz zR{H5Rto6w7(kte$4sXSk>R8Ct`N3iE$?8{r?bSQuZ5H!*RtvSh0baaV!|Chn!4zyq z&R%nHhnTH+@2k33ysJU!!TcTh7)r)Ud(hmkL=nn*r1M^a3z|N*q|2R19?PK z@dUlF_t5302{;4#@!fOD_+D*#+ASXr-Ej#b_{KE{an$gt57&0?_vUKL{ch)xN3l*^ z=#>w=c4DwwJs-%V?8kOojd;6XZwlWD+qWXU+pK=}hE%NG=K`Pf$Ic^f#z)z$=++YK zR(IB=;Sn<9>*&LkXIn8OpEjcS476W(!;TkG+6S6$`1LLPYTeL(87&oeR|}Y1=8FCU zW}wqeFkr$^@w=^TO+kLmM2yb0eQ#CJXen+Z^MK9{WrRT+jn&;WC5!C zkLLWe{-6$V+-KPdFo)e;op&=zM7ytt%^U6hF?_6X-^(R+zJqA%#h6EAQLDFHX>=j& zT8Pg+KU&YgJU;vTNxM-ner1q;(T6{RQ&EYXDT-RR`(b zsZ09q!$P5C%>#qDPxRl7FmJyKvC)T*9R>dqe0vzTC+$~l<@%xG{_g7L&-2fRs}DiR zf-9FU!l7G~v}3pXGn|Li)#D#DTiUrKqD!ohrauPZODdD9KY$Sh zI}6`y+*3J{E3uoJm0quoRURepIABus-4M$8>Ft1U@@pikSKBhg+mY2vkmYi-1YdeP z8arY8&rmS4Kh~^)_bjKmm~EbqQGkH^K8w5pF3&H*#f|EZ_ky-l&GtG_8_YMnEO*ZREd-$IPFmEiSn%ZI<7yt#)n??5 zOH^Io=lU(TARS7=XS#^F52)YkmOJ?!+<)G=1FB{!X7HkMPxZVjP{ht7ufR3yP`_ic z?L2S^wjY>RKmnow+9xmp zXu4?G{Y4zEJL&4`V}m$U`w%(?M1}d^i0Lb(s1cVy2CsiN|A?qkNP#2jzm; ze5F>FwI4>9-{JupYK{N6lSVgO8wP5*`$UvW`bBxV!;O`=5*jqYD4kyb02S@?F<-fh zL6D76CdhO9q-Oq6{Vb*l&cNVy{!8wf2NE92wX-4Ee<^J{)w_ovQ zQ!=+-v3=6T%;$?33yXt3b^#!NDczA6^5Ei;jN0JHy2H628EcgeF;Jd{oPZ& z&J^yry}o)S{yOE(%2`~*-}z!#_#+SUV$-Lpw*wRC>gP}glva5wKb(PN?Wa6lx%Acy z(CF$R>QZ(t_$XCCkA5}1o;a`&?)R%6|6?0B)Oup|jH~?bJFABxC)9c3tgr2O2n_R+ z*K)V)fIS_xew9(#J=HI~6G-^M*(@NnzU5LUL+7!-P@U@#0ht`ZNc?`?W&WN0iQ{6? zo(Y$JA9;~PH$#R!1b>6cIEK5=mqKmEoubu?r z#3#EKVii5RJ2ukm^d_l~@fa^45#zL>j`hImE57Z)xH=bq?cSgHqQBQ+D+I()9$kI& z&hYod>ca2YI2_G7VLZaDJSrDX4d%c({pJHL$-uRXrH_o!UNWD?TC4?vLW1 znmmE;%_sxkixajV!|#`+zgJJi=D&L>HjFy@r*@wXCS~_Bu!u>1oFlZGv~#D2q7Di7 z?4E!eLFUeY6PP*nVA9)zm|?x`=2ZhsSv@qJ>_%dBer`>NGb`U)L$>MlkI%DNw0%<1 z;3p@PLD-p zUj#YCA_wXH{j9I?k&Umum6PjkBNchnZuu4clbUxtxC5Nfuc}!LJexFfhSzWe97@p9 z<96zo{W~qRf2f{*qoHXJWtlN3!4Xgl;o3@Mhl82$Rjxir_Sc_y+5I}QA8yA%4IUv| z;O)GtdbpLK;TnK(cEY7GvZ=1ezQMfDWy@ady4Q1A_NosWmAdq$Xc+H_fzgu^{ZnQk zuC7L@*v4+q2OHZ{<04ApT?ug@>!tsQpD9&aKWy3g&wrHpa)!OZd4P z!5m=m90Aeab{hJ|9s>AHuTe*{?0yaAJn4vc>r1|A z{bwHhKLV#w{U+j|pOX&V{c+37<4>%<1f8+_1Kx?EKRf64TT|%Qa24umOcR|aNEy0l zGRA}?0j`W|-@#{&nD-U$o^&z$fn(<5(R#_A{cx3=QPV39n1o~QxOf!Zv1b=%tRt8H2x zDAe!wcqw-uMlrvV>IdK9o6gG(Jwk^x7_W}Gm|kEwV({>e|FHA&)yJ^^qjpx)aJC*5 z-m}X-oA+h)4{t!K-Nq;HT(cjqNBI1^!GV4E5$e^?UE23e-ksgu4$3hP2Y1_dVB*7y z)DF@z6W&qhrR+ zx}9$ckefUIyFMB#c07Y6h4w5x3e;HuAJN?r2I{?_;j?f36K z7)YDo-hIox$-AepAHki~(d_9s>Z+;hZd^jw|Vd6eOoUOzgxFvO9p>PiT zsQSQ1@WI(~E|HIa0$<+-!>!Sg9e1WaU4>6bQ~fAX>@Ffo^$F9^pvS;!OrTTzp6bW3 zhFWjqv3pMc=H0O9?5R$^1*GBE#6fKW;U3J`{!j{4&jE3-O>XKNFgfmDjv4a^7@jGI z`SFVEaG|s<&I}C| z`ZASVAs-K9azi7fESS^6NToPZi3f5+*|<3b3Z>ypCC-(RWJ_jSId1P*HC4?k3=EXB zl~dzPT+Wtq*>YSMh%1BHayIVE6*k0MN||C2Ih0ktRdk=Z;WfHK zoG(=3Or???E>_|VnR51|6XX7DU!gx6qn+g(V0XugcsNtqlr4qqqyCZMA{&GrDV34F zv@zbWt>Wz*$#2RRw&dgfOeGWN^6_AHYdnCyvQA!uE@&Cd4i$-t%Ok_cc-!=*XpIu( zP?0#F8P3L&%S}NbRoGSAirMn~rYOdbUph)9q%UPN{p>f^kWFriGUfcNs4bJ9 z!okY-$5V)y!fH&JT%OVt@m~%Z+Qu;{W%3)5%5y7bN@eDjbb6C=;s;j9YN6Qkk(^^Z zYED~9xe9agnbMfQwULdOK79s;tvrKuWEs=@q9r!`Lvf+V8ORp5=gP&Q%r^8ks;v%- z3c3Es#u#nLZmpCuF)$c6v>7EMVbnQeWh#?g-bNsow^{5HwNP1<<>gYOGE)l+ACf3^LPlw$IiOdfvXEQ>_~#OmO^7 z&{xP0*v#*%6tlw-yT$(DGVm_XU<8X;8I`EH#hVbvTXI7~TtT^w`9dk%KQ&rx&GG(D zdJSWr%~vpDn4>-l(U|kHe<(Mct7zragAY92YKU8&a`=wlI=n>qHz|CP;8x*xDSkot zHG-!KP8U2vaL;c%-=_tCDtMpZYQg&2MG>z~$ z@rZL8{=ZG(#(W+WzA8v6xfuUHrSOgOyj&>RET2P<_j12@ox=lwKOO%!#~z-j?*{?L z-%AvpCwMS$Mg0E?g|}Yi`5z*DxA5l)K418C%D*f;U*#Z?x?Ff(ewqH=B>V-6{{qFo zU-&l&KOrPK*6aUf;c2^K{%=vZG5?PV-`Jmb3BUGSuMc$1_Ip71^WNy?P!Gc2} z$??=6vVZ2OK8!QkuP*Tt| zZp9+nT9NVU+;BFbaeWz3x98YmONA|L&5QapL6AGCJWs+Fte+ZNJaz>dWI4f}N8pzRy0vYQK=NSfPfJ%tac z9SF_gzEZ~iPa55s-<%l&Z7pm#4-_rNewb$uvow4yAv-Y(o+et$*pU^3Uh3Fd%z;Ru z%R!r??p2*#t6LW>@0dR&T7A;2p4A91!QY*&bCbWpFS&|Ji8w; z&z`w;^32)mqE}Dui+qd73~^M7LmW(NX0#exCAUfc&1W^w$du70v>csT$Q#OQhK(@K zc!uf$tCAUtySy_EwU`W#^<^#Ai1$PnH)&6p?#uRU1%qZ=bu-2TBetzPHR=JiHd>sT zps$G6Z<~=nXTFU#hMog#f0v7yzHH+BcgD#t;#Ybz)2cXFN8(WXji4j6PFB zy1rz!fvLd)sikZDViT-VKnEt1kgOC+Yu z@it)POfE05Ssyn~?we{sP5&A~>!60{837H#qUf)o0t?7okgM}#n^A*-ZEP?ZY0S>a z!Fqw4F@7tb-O|gC<=*~W30*QDH6^2I z>~#zrs0YN0CNe%oh;0n}vs*ESoce4cQcRzYrgL6soTC#@L1qioe@)Q}6HjWA35t!v zFc0^GZzB`PK}V4rv*ilb$}rYrZ!X{4pT}CjcCZm-)V{HLoYKVt7S^^90!!TA>zy5K zojdcCbR$DaAYdl> zp{--p>dwWTZSd_`*%i07cC~dZ?`Us|05Qod0@&YE_iZgMc{xzj?t}!3JQoea8rxg3zT)Rnq#cuvh)7s zvQ5RPT-=oDi`wdlLzvG^5f+4fasGTY7-g)HDLxsduzc<-kiMd})K*zbPJ)3x%yJ!S zx|m>!?Q$gBQo?LwI?n$^SqLB5Y4Mq7u2|9DzI5q|6+Jy?MQDN(q~X~u*fGlhAaDFL ztj+c=wXT$H!IH+7OKu+6e8DC){_0Mx@Xkbhf%H%=$Hl=C$GeOH!*-(fSx1($LjxQa z+orXB*BVC2q%@C>V+JLcnhloDi@CW26<2E*B#ay6XY)ss|F}FFJ=S*UEPK{P!{T7Bn zK1lg$t>R(;-N}=>GOr~tV^(tgokTw<+Ck$ZduqGCy zogS+cELFZ7_YG!BnLdmn#aeVo24n)laCRfMMYe>i!4xzo!@aJS!>I9+{1Y}kyA>VE znaq~dZ`jkCh)XJsZbrGG>ZIoWtE)F6_2&i#Kuy7{Y{*u&WV89E`fR~{l&4x#m_1en zX{aGRNAzEMMzC&49YX0QA*li#;8(UmQv-qz%}y3N9d%n_)3n%#rF}xzg?)kLaz#pN z3;CE%r>+EB-WX?y5<$p`GroL5X~c%Gfr>l*j1~a^uve z;?)U|lR|Z&B@?ak_&v@#)@a%w=50v30kZ;ml}EDu(?T~yly+h)I8@0dBkM#uFvH2C zvC>|>La8)jS|>}}RvSsy&zFpb7kxhh*>NaFSJ#-Cj`)nu<;&x)m8;`L9kK8o?ek+Q z@QfK^#`}z~nzNrx3gk3%&Vp^_By*ZXe7}omOyYEtoyZTVd6=vPOsEvyZ&Qze`Y_M1 zV5~^&gv4=ToAhP%PW4BKOu~Uxm}1Ujsi7?!Yl$^{ek{SRK_y>X?kQ2v1O+NSz>OpC z0*L)^8Qio_?VeC6Py`UPL?yrqkJ4)OCT>>)>6ez2QMH}MQ)=AGlo*uP!nuCvm-P$# z*G4GkL7hd(DRg0Zy3lI9+CYu=*)<{Gbe+QtpTn@wRMbTD$?=tgXBB9*uQn z8&xe`Ah*U%ZKJ}65o+HzWI#LX*0XfZ&6E2feCk&ppBra9b26+gll#mTP?rG{O$J>A z4@67NP$5GyX#|X89+tl4-Bn2986{>n&@@8T6`8+K0dVEn>0s)U*k(ULua@g$*3ny) zoQxUwU$88kD85dYqiVLW1HG@K^=!HcX4YvWKkCbAaSmb_I7#f~*um?VC(hnc_$i2U z|A1Vg2-YqxHgR2pQ0sv^;Hbh}hOYBzyp0pgd(PHw+ymh*j=MUu^BLu zH*OC_xD`ly;uM?8DS8Hhj8gs#6IviPz?y|9*kZYnrsCD|W2s<6E9Jfn7`LA8Wvy*o z-fpD}!ykC#$b+ZH+eXOwu=9DazSvo-=>#_oO1G z@L&oqOJg>y&(=^KW2&O{BID=8>)Au-F6>?BgpOUCEo~@pFLHH2|A^@TvCWaY!y@oe zc0S9^cr=O9#70`i48vaC3~j8(17l^DTN9F|h3~d5l`;A`t&6Z7ux1EnPVH_##$FB< zo8P6~QlaYl$h2(nZ~^SNwrDE`R)u~nWNh#8nmnY~QW<+?kLfpMXc`mS;_T{3}H{f_HFy6*<4A`VAi*)Fh3f_sUQY(#r2>C0I@NsS`pKA z7Ae7wg{@h=cwXErr4uB&w$4tD8GoJ3r;hA#36~{X1YHHie5wF!o3wPT?xEo78Z@jf z#;Jk-Dnn`mUky`ehtp4KfQ)L^lsoi~pQ_(@y3+Rr#`MZbYUG7nVaX-7Pn15 z$V1jS_@~DVVi@u~4GCh`FrG#&4NX>*^$XNQ!>J6C^ycmGw`UrR}U46R1U;<5a4ioR`aN;Jz}3&MWEx zYvEf91`iuuId-iWt5wHBr~#u>`hCwa=GSQXnZ{YOva@}9+yk}%>$AZmSYvc*c3B7k zsBU5kGD{HSVQw37VmYH`gg$Odl7Zj*d-JKY^x`%~GGs2Dvgq_~)jtA~wv<}$=ZMgQ z36zIg>p8Npo+k%u^O;K%8we(WCb%e)WOQvKBn9^K{a$gn<%e~VSh8)J*Qu%#jsqo7 zapk*4v+uK+AtM>b9lOZ#|Hd&6S03lEI@#g)*x`>9e#!A3e!k$JU+UpME8XLQ_bL9Z zg6|N#RIn`AFBqvFYZRU(c%0yoA)a8H;FFWQ{5J_+Ab6hOdckFarwh&ye1YH-YR`Rw ze^h^bPT}_nUMjdr@NB_X3Z5$Xa>1XdKfWnAbJpxRC(b?Te^=h)({G3I|1A8tW4-?m6n>`i*}mTM z3;r`rGe*yUvhb%0(*K9~uTwsMIlox;v68sU#ZT(M!-TKLNqzi}L|S?=TaP0gP}5ufGWr1;GA(X_^8d>^&5RZ9C-G_qYD3C@Ce}8 zu6c_8uE#yyMBrGTLE#(QwI`&X>G6+IK1V4$UGQbf=W^wZM|Ap{dh2JjxFNMEd_-loKDaxgP*TEg0 z&wGWBg>M%Aqrx96{8HgRCH!RI+5ewcxUoOKEBsS}KT&;(%I8tx9|E3q>;~ca=rVtS z4zGNThyP3Q?IZr#rT8J-2-kEi>son6R|IFYd{58vxGz_PglRe$O2I)OCv)##hF}qL zuU}WmyZ_TP2XRXrO>Q}HE(DAiBHU=AwB-UZ8ituX1W<@KVCgAJLsiyKWq`4cWEx?# zDnV4PRS3r0LLRXz(aJoeLCHcCJS|Q+YIA6O9Q4jKFB;FgdU?;Rs0jZWMI3>yf|DG- z4%62J6)+-ho;7_=$k5`s#9!A;wKmo0Xsz@C>>ldC3g%uOqf2KX(~u$T2Ht{N`%M2~ zOjj5J>jZB~EN)6#^q^Qqm7c4q(`W7D`|N#upF=sgZ)gOr=II_Yi8*JAj_#gi-hcau z*R!hI;{`boeiUG5N9$)YkU?4x^+PvVarh*OsGeK&ywm?aahCI67YhDzy@$Umc(>pe z1#c4ku;4oduM&KN;E3RW;JcLn+XT-PzL7ur#tNq&jq842{83~4mz?kP|HN&+&bc3w ze&5pN`9Dzb@7!mI->q_=6(rw5{5Zvbi6HqeE`>)FZY=lUm7f254)y%WUofASDSo!% zc#tQ;mKbxezWp_Un=~Ug+EyMLE+C*euoHux$uXc;QheW$^35;{?&>f z_=x+3AB$eLjrV+zh5Zih_V$KwBP?x5ywNCKlR^g54(wRzAOuhg!_O>N%t26ON7OH2)ip~`su^h|7 zfeC)4dIn}`9h#}p_TZI8Ws0d`_{mRf6tF8`)%Rs{IE!M+8-81ayj-U#B?dr<6*i1e z9VM}Xhu+JKSZ6>9^5hYGc@@*@6xcY+{AM`a*Rf6&dBYG1FZ|wthZ+1S&`y{l? zBu%&cv;Ne5pl}$)xRIfUSE+@o+}(g!ivzQ$x~#L^;woY}rkiyXF9)#)etx{z4&AJV z6EZ`sLqo`-<~>O>SR4u|$EyoSgMTnPCYK}Tq(9}yq7bwzrirO}QAI0jy56WiyJ2Kw zFQ_8*KtVmIPRnM7F+-vr?4~quwV)q?f|nK#VGKm@k}+dUeQdZi4P*;L(dyC&RHUw> zmTt}MUP#~4)@oDE{wiiFgN`#bWz_2DOKO``hbyVVT#VYivNh#Z@`b&f1UOo~nl};L zbP$YI8GyElAyiJ&8)|-NGkp$V9o2sWrvOh?~(AixjHr)ftnsJ z_|W8|W2I&<74y?q>WIZm$Y5tagDYgFqdJo**> zXSQ5J6@kI2uu?4urXgF(Bc|GrDfi`a97Uk$Q2<{=YP}1^44i1Jb2usTh4L`GSz#>0 zpUg1Ykjvx9m&FYpAx>*RD=+~-gpekOlWchyH$WmVCf0@MS@X{6HDd!coS-diMZKdRJxBNEihFkuDNbY0R|-)pthbGvFtx}n;RIr;;+brD*6exq z#fH1JqX%I!UX08gC1R9QX4gkKWp-nf*>g{-i-K@n6fDX)wFqlpqhLV*XNa{G zHz%%|l`Sw{PBr#W3}%RjsG~*;-$`vojS%vY`zcOmvPg=*poL%oxHp130k_lR+oWi0 zndI6TRIo-)l=?A)jKuRa678;R7iPZ+)0UMB#VB({IQr}bAVG<3)iDcC$HsgId~^!Q6cibR`oQmnC6((Zp1^KM`5(RK6|A|$EVpN zMR^!ZvE*I=;)5C1c^gH8R1uA+-*~UwKcZ}RC<{H@8LSA{pN_fbm3BFE`n!#eS& zdF*{0Bt~)U78G+aYP@7)O2-WO^3+!u2MoYN)-4e5W8st^r<_kL)PwQU)qs8?mCkdm z>0yx)EEC)`KpAj`&*+p3Ca%ct7HelT1kP`TJh@2-`sRMUWe|ECmP`rIek;Kc+w?b* z*On<}HsEY|h5oilD;d%2nUgk{uAEkuMKX-VII00NB~My7q>T$=q)& z$2+O6L*n{2EY|96aUnXjIrqB_k>+`~!cwq-Ro2TVZud#5DmA zTu_b2kon+mN$)qaAZO=NyaqiyDh@wz$d{N5bj}L$qm}7$JSv~+DoZ$a`;Ct_PfS+W ze3rnKxjAC*F5teCFgx^>B2QyJiew)#dfM`5h}B8;04p72-Kf)!;aAWSFR3LFt*srl zGM9BMTNPU0iTh6iC18Vk`~rkNJ1NNX!j`PoS-!8QSdzHe_E)SqXAe=CBsO-`z2jr? zjplIW!w|t!2(o54(C#`|Iz`#(F?vOrD{=%yRGP_johX-e;EZt9g8f9tta1rEjT$=7 zV~ljI+f7(ZB*N!Nk5j%lSB>d_fvF`AS_UR;_k+Zlp^XJdl!Mrs&8kwjdN^GB}gES60MO4cGy*}#gX4=|Hil%R`^Fr1NMJeOgIvYCN26+|_I?-nEBhbn~HBu5C@tB@aBf&kkh0d}nT5^P&Q z&62325#NjL|#7&0mCG^HDzpWLiFa)J;3qLKX*iwE zt5Uy?%J5CKlQ5Z~Q)vW*3_!WlNWKUUnngzWv;nv0P3&`c$DqS+6u)2L3j~{m ze@6MgPk8$7v7T>G_+x@If#bL4jJNZ%!oy`DnvegN3jc25=K#lg4hsJf;o-ty`0Iqf zN%#|me?<7;cefmPQl5Cj=;QT8r9a^d{yo^O?-TyLYaKsc`Ttn>8P`CV#xK~de=qzv z#ivq)_3u`>hY3&nH1RK1c!uC1!e6ZT-_<=-!QMYt@srCEKO#K+If;+@z1-V` zr=J_~^MwBo;pyi_{I?Z;T#){9#Q#p=gU|5%=x<5Gu@Qv#_+#B}uZ+W@FkMyvthfh^L!H;yF@EyX_uZ;EVQaB?R3qPp%L&68Y)2oFq z3r~MD=5veim33bJal&7qc-IIXFZ}(A|8C)f|K2mghkN0;*E0X+0nhhCihqLew<`QS zLHg-2eo^tO!cPe+R6HVM&YN5-ki77y1g}9}|Auncj|tz_X0&RnJ3&=h!lzdxd|A@JvPg!8uRg z*shzN@_GlqS?=bHzfkc{zT4A1J>JKCmhx@PXR+|-2r^gBlbpgA3zB*h|7L|hDELa@ zKdtcHf^>Uh{9Ot+mizbmb2jF)TlojS?r)>L?1!!Dhr`bDe)x{?e^LC2!hcuzNeV9z z{2uTWQD3R>*@909e}nShDE#++tlC@DB^$ zE&Mx#e?<7L!hcZsp9+72@Shg`XTsm6@B@NB7ycIt|4#51!r!laqO+G+y?!bDp$flT z@K?e|n>^kr!v9+MPKEmftHL)ceqQ+9!f#XfZGw*qf3D)cU--v_599J_;U5?NI>rBz z@J|YVyYOTA;RSznYc&3;Dt-tz!WFvpk2Yp$GN?d?<61qU(XA}8JL8%^p872sr~>ae6d)=DZtXN#Vid~Fon{MFnFxMc{-S5;1dm-bK0ndv!S|AjyD7cQyEX?)}_LS z2HRHcGZS{3w+^m<81&6VO&@Uers`GRsp9dQ`Pi)do(N_3-$5qZ(c$wff!A*ka z2);_NLvWtpRKX(z_gv-WJu3KF)#oP)?-KkE!CM4BF8E%-w+e0*Tq{`L>RPCgkJy(U zBFL9Pp8Ng$1(=pn`-7WuwE37^(ykoP&Kj=%S7hyijg%9#skVki^+`~^H#|OC^|C8?+RQy9Sjt}~hrxkyj zzEhqf|26S7UjM*{208Neiq}~GYlZ*1{Pqu4xgQe#bApEm{}qM5CrBd0dOoahkk5kL z`Cq~xruqiG!u}yV-Rm3l2S*FvB6z6sU#NDSD16W#Y!$w-UEv&I(Cbhxr(Wj<#SeNQ z%J-ZnyMzz=9?JKWS)$i^{er&daG-2l8uUFuZ_%jl3Hphk?_rjs{c8KNxjcYwg?mEj zKcsjqyp9Db8M-YrorcF#Xb;eHI? zT6oZ{l-uek5!9%O*EwBz@Es0+sPO+N{8@!RB6ywP@AZ9~!lU&OagF1=FZ$6KzmZNf z>MI-R#6xfJ@qb2;^nl}k`F6(#y})?jIFD`-zOme~=tR(m20B5yMLO{pm4`n^{edST z`+?1m<2)@s5B3lnYIw!a<7G+<$DQ+Kiltvn4h&nZ+r{_?U8R{G`@Vd2+FDNyuZ@(l zxQh^mya*SIM=g_EX3s6dva5> zn(OuH$@{BuCdch!6nJRF^_+oo%0&l5%v*l-{zwX+PotVqxS9j47<%JkA>*SebYcs0 zhSq<$k?^jt4F%le#QPe;8wE_VjNSpfDU~s5{^!P1@?Dg~SyK7?hz43)t0GsB&2_Cp zkB46Jo5Yf)G{zg%50H`M2iQ7PcEh)v#r*aWm^tC!zzJdQ1wKb=b;Snn{5t8qKKgiO zIjJ=nagkJc?|7I)eXx*@;66!^2qWNZk|;Vxf|Vnmi>rQ+J$=tGoRIG*sd;}|8zmn! z-V5U^9K@v7bPy_%pbkN;JIsg_}pe+ayFS+7rnI7Pa3x@?(C*lYfZef^o!9;MmE*`DZ6lx zdojCAEDlw)bm5=A8+~8=?S~y6`zeQ?`J}^G-zR>=!ygp>TEWW%&l6lDxLEL|f(Hry z`4gVcQ-VJe{J!8lg0~2MOz^dW>jb9?Hrf}PFZX@0alhNwzT9++r`sPL!~L}VjUEp6 zF!F=sXM;WLRr((I!KErU=(Wcye$Z<-)+g-0UzR+;eU{~3tbA^aU9U@ifcP7PZ{+KD z2_NJG^0Nc@{~6(*{{?Rc`BUa|j_MukBEddX5dPhddi-E#+AjR;lGmpZ-`K8jk3+EY zkw0O-U88)0{6xN<_=!8bywB=8`Fi3P3LoxSAm2)SxM$%S-Qz%VNj~Q`rGHS6{4e7_ ztnj<9?nEex4#)qNkMjSMzEhqf{%YZayb|Q0Ag}Cqnb$Yi+iq9<#(wyF_1a_U`%XQ~ z`yW;G-+^hmw^gOmH4H{&^vsZAF)Mg4g0sFFTQ`ZVK2f-7plo};DPWAG{l4TVZ=oYh6#tZ`xSOx=#>~;4TE;BD+r!-NF}BqHsCC#ZUKnee`l> zz%Dc!hLlyS5uaLEO{M|=ZNwQ>dv>pq*~HuPtQ0yJiH~R;-@3XXPBOy9+8}a&3l$yf zdnT^cjYTE#QZt45WRjfNtEqUkin%Krx4l{u;VU&_O-S;!@AY-e)Doz*pxf!r)D`BG zDlmG5Ok}r#Vvh(}Pt^d&4*3qB)d5ea z?7Q$$Gey7ErkUFp>gET^9hEN@9pL4qCS-z&gxL|-FMPN_>w*%@v38JXrza`hb#U;l zD>(RXgO{ZdgKpvt-Gdkrq-YHccz>Boax*W z#72^GatPH^BulBfCwyrG7y9MTIzRaB&p7v`atqw-Y=3UaW;WR$IR28=(UmM8TE$zb-D{We;tAY%jL2@xLTRJ0SiF!Gks}D! zFujh#X@v-Wqy@DDV~DJH*89d-0+zyb>`20h)uaj_hQi9P zJ=Psoh^W{0kS&O;Ryjt~SS|Oncx<`0QkM-J=x^8i|{o3(Ij(v!K z2D)~%*kOKj*a>;EN9lTcRZaDwh%0@EsKuIQ%&5jV(U+Jigq_mxXjHWAcBiKoe%ax@ zcQ`yt_zx+3jo=#v3xa)Pz_%&Cwff#Ec$(lW!Gi?ugIpHm*5J=H z{W_-$f!>_^Zyr8H_=G+QzexD;s0iuPGKK#)beDp|fbvP}?J18Jg@2P^pl7$JK0$9l z`I`CcOKxk#l zdO4F8*CSS&nVf)Lr)1RAI+kd3zQiLhpXp3UVzPZoNojciCDcTcat1OZ6uakp3 z90Z~8A`;6V<9B{ze&;vj$MD~fUxS#2+1Zd^T2M2|23-{D#twDSs+>v5OwT1-oj*#v zeaKrZEofWH8B@1tem61`9P1hzpKObY4f*LF-%s9um%}F&K1uNFf?pE+l;9`s_W1WG z-TQ^VR`7L#MZvN7^nVn89_T(>Nc#Ja;&Y{qJPq!+p|$?zalxEg1IEGZb#D|Nqx~wXx3~ZO#D$E(7~$Djm{94@$>_ z*LK6bb|HSS;AZ=?cI|GEAZ1dbiaxreHUrUbL&qaDk2UV&(vddwfRt25;>G zG?=Idw{5_=WQ+}eU;R&?=Rds9;ahe&92V>poGo~~;1PmPDcyL5|MV?S|CHb_1ivqM zx8Pd^UoCip>hUUt+XWlPbzl5fSSPegaGi{GFL$F{dZ6Nmb6Ac1QCKH|KMH(GBYza^ zFo8b`a&_=`S@c0)4}nh%_KLtKuAl6D4fz+=zxyK|e^7YxmBe2xd}IGKu3N6d^f|Jz z{3Zhb71n1X{}tBfI@NzbFs#EHRG+|qg>@VFucG3=5cMHl*roV^FC)LncI}HV)46im z6d`_X0qa4S1tZF{E!GLOC@OA>+)q)>hjH`IXUFZ z@ZXUy8&a3=hK76@{u}eP@k730aLAVX?$op+y0wHqG95o4A13uB4p3#=WmFfcKCKrG}zXXq7f+U!{d|j!niN zLQ^kBAq)4JLMim1b!YuFm|C+|)q2U6`z)*ntcv+2uVTDSF7fe{B`k%TEh!`&Z;o)u zfVzE%L!>Y4nqv!_(zd0f0T$UtJ|*CcV&`Ggh4yA5I!#LUYm{fkB%ex9i;w<`eNox9 z3hGLdVC+F5d*9cvCF06VIMKlj!b@a)XPbf-EBSsr$a{H;s#B*wO`SlYjOWu8)U#8cYvG$hziyS}Io+_5QDxOdk!ZpIHbbUdZy`wn>G#*G-qDWq$# zr-l91JM8uRbq>T+!o49=Qh6IwAp5v(6bdeMxWKL7?rYndlW4ftCDmh7BI{7AS~=0~ zV7De40Rw;28rdnfLg zk}d^zVRl8(HpzLDn+Ptl?alC?4g3cag22cE{|Ji~Rg2>pCm>-Cub(9=Fg{^Mx_IHu z)e9%5FnOF0YMomY~RoUY^o<_gx;j4smKIQES za!HUUj=IV5W64R4<({JWK@JOY%nIQL1%q5NQ{`5KCn2T0QWQSC*A(Qu8-x$?S&(DK zlF$BLy#%T->W`k!u$YnTLp>YbUB!dMyx+(8@vU?OP4;f6|E;WzJ#a z-Afu8ZqL}sEnN;W@QBH81l1dY`!Vk6^82HbcWySoaimdnM#5{e9i?sBY4yX-FPpQt}<5TKp(^LC>sx3t1Q+`VX7`{LQ5U8qF4%q!Sh z*apA4I5iTl^NeCQS1{vn$XJyL*_dvS?S2#)(^m1;BF|%j*#N?b$X1moF=0BX- z2-Sg~XN6sSSzFKCULTHLx?v~QjE=S4y^FZORu`7Bk7VRX*9SA*Y|5zR<`}n*W#L>+ zLr6Lf`&W_N(gLo~-P&!4(0+6p+O;4;%mvJ7fpvrW3S(@G+{P-#f}K3?ype!p>!EB6 z$V4fbr&f}5z^H^1hooPdB0H_2`4F`Z<*-y}U1}i@5uRTN*NLXs$lT@`sN!A-o7}u( z6%0YLCN`0waMve}uCElIXZEEQHHH-)-U7+f8GgDpZpmP-gW?(6$Ns@M8ViDTld_lN zA~$>scZ_mzHN=fHIip4Px{LY9MXNGfxSBzO^E{Y>vWF^3Ah$W{TpPYPxl0@y{OOOd z;vIhG*UnEo_zQ<0d(7b?!HmAoRrqCs|3@$i@Ry$McaJ*!mEZ${_X&PQ@H2uR7Q9aI z3c*mH{S^M~ZqIj}V5i_B!8wAH1os!bzv}7!UGOqNb{g)2@2&5Ry+e)r{l568MnC%B z{$J-O=5{&UA4PD#-y{4hUg-MRal%iy#p4A(^uSNNSolp1{Mk!|KV*aF6Zo*1!Uw)> zJo5ir^woiH3;ODX*Ll5yANnhm{~AI1kCV?^uW)0(1^%p&&kO!lbMzh+^~tQ~i1G>V zS8?-YzXdzZr}ub!17B7AoY(KR&pQnG%aqSsyE~B@_gLY7=5vGMH`X)UC-ZMg7x==e z;@|u{FE{uFyif7IBuM^@`QN2*I5!ad1;TlPhxPq%#ASPbt?(lGxzq2S_}>XXsqE#3 z_ZG)}!P|M5AkX(Q{^1IT`*6ZJUDD4!MZ`mkNK3(j5&P>wmHEi?8!?!ujV( ziWlq);XbHfUuf*le>6X;(^#O3eC?{XXYh;`wvC?ED_3<;nvK@?_@htf@Oh-BXuVEA zDtKC+H`SJLxu{(ud3v!qf#s=?)LAGw!t&|JveRDU$qbznNARZZSk>7UU4-hd!f^v!7}DF>)xBnQ zbQ+%#JaOIWkf~40>7@qC;n>r0j4&I)<*O2H#xJT=BE0kf-po6QZxWERMyoKG_^r3? z8?A>h?9a}ClLP|^{Z@gTZStMI9Ax+?>L&a?c_=$iNG@$Sx7C~Bd#4|dGc6BztbgS1I{>LNaLcL0vjTxFQY$Nse&*2w>y&o(x+G*SpkH*<= zAL%mozZS8%4COZP|9%Kt5T43~<5b3Ipz^Hm zzxVyg;V%__QsEyd`~$(m{_OGosBoiy!_{ALdelf~_O&lhT<7V+K6{h$`O}vjAMCS_ z2>%!1!+tdJ_R-4?`&!tixZFrTmn!~&%8!DU(N*CO5Pm@T8-yPx{6^vL7e1Vm+h6!+ zgg;pExnDE?<~zKeuho06Kt+7>b)E2Iov#Xf0^{@dJmu@5z5ks&w3WJX2qJR9a*;%I z$K_(C8kHVcI;RJX<9q#`qxbW^#&@iCU8MX%3odC02Yi6I#kh#m)_h$SkF=EW@?fRK zp6%+vUD_3pK?pInM}VGF42Za|gj;lQTXMyHj~B$SsFGMgo66T+?Cu^UUSN9*G|D4G z*%q^DmeGS@8{=7SCBj}7k|)tRyLwi)E??f;)3JPU@9K`8)xFDFSNHU;TGN%pMS+!( za>R`E&=Aza6y+l&j@DwUS$w8d8?rj~2%fR#b!%v~BcNpHse_$4T7tqXt)BhZv;KR1Ec4i|eTq`z6; zP~^i^9NzhHcWX~iN4sUU7{+$~>0O$9@oca^t9WjWkrfb7wz*PW&yg{uGEejSA2<|V z8Y$wKASYi4*bEF;HDzMHY-Lw5@g8pbhW9p%JE>`WI81G;*BO!5=-NawEf&`0bH&%p z!`9Q!tJ=vR>@_URpWJ{3wA1H$Es4#WR0J)sz2j*L)P~t&hOXk034e!y#9)VeqB7X3 z^8>k!Hgi#U;@FTfSJ@p@i)lYFo`!RoW+4rarhZueHcs8)n=;o(dHVX3Je_t6TdES% zO!eqjkz?ZHMM*FwiJ$ry5o@&#^8mB$G z0DGn|3R_4O5VGmz>p{M$BlDm~94c%C%WUsX*Jcx*y370V&p^?rg-lPj6sPMoEjP8< zA5#TC{5%g|C%8lKBEez7R|~EXoFdq&d?qS9UhwzAhyDrhZ{-8R`Riccc;+78Z{Bvd z!yxxI-|OLb3Lp4`8x;PcVBinB6~D1QjecObGbI0<33pU`xQUfH@NJ{AI$ukx9i)=hw?4+SttBM!Uy}qV+te6sJ|s{Vdqq$ ztE}mzCfk8uY!zW&!}Nx`G`2MSYg-2{EP;ZJzmbFv86B>3x7BuJ@kZk#>T(lZlSPp8 zA9dmW#y@LJaVWS$Z_V}%zgO-LdIhdG&ewS=H~8yvy%8VuKx6TJpHe>|s{IC)PY5@{*5uBT z%n-HJc(*89f$MAy58ffQoh9aDNJw=F+&E#3Loz>ncQO-&iC^Km$qP7>IH_FHA(WU^}Gh0dJNAiSTc}J5*_xXR6Jk({!|KwKDo9Cv3kH6lXi^O5ArCW5f8mF z-|QzL-!`|KfG$zp4Rm@rlvEiSls99UzEIGdiE>fh%ztx18b37J`_yWI6rj zkpIQ`FkEfNy#BH0!&3YS^GDUg+2Hz{ModJ4B-#w-#oLEY#E(6*_(XQ=teG=s&YHSc zCuubH<~vffI50b-jNB#1`ntO(cKAVs2L#U+%pK?7*9&$D&K7)u;2y;fMWyEv=iSur zj=m25+I6`v{vq(Y;oN%AS1ne#XA6!)U09!UzvuPo9Rt6w^~&|f^?JGT3H(Xm%fq^? zD1Xue+C4TX9QcZ`UISkd)+Ol*>lyfv#`^rde9l;WOXK|U+`YRFAIK7@Z*Bl3tlVO*olqfxvzE57(eVED}LznIL!BR zAMo%Q!iV{Ox$ql==X&D&xzMP zZ8jzGB0Nrrga-hP25VZvJrw*EUO}g4h0Q;**$gD>A?PSWO!G}be%!a*y97KFSk_>= zquvA=Km$huN8&mYc2szffjb^;JH;2%;Wb70i+nIjKmiQ7Zm)|rHR+#N#Tw_FG^4i5 zqPeA%Hx{-Ps2uU7a~ zg7vARsBwSW`k=47#&x={b$zYU1-|oXg@YZ1JQ&we{3Fl*J^CK@!*1al%MJ7)=ySq; z749tz_Yem9uvPhtwLg4F<%WLvWJ5UM13WEp?4l7Fvd)6j%>*&I<%BXF=FAoh_oCbo z+`1xM?U~O`jauRsQ*cl2gS%CBW2SE#1S2U$`|)SI(DERmHmx(HT@i-bL`>pyWkN`X zNx2(;q%xw0m|?C8H_{)HxN|AI8aKxB&o~joo1#NjcDCy?PYt+psv|ng7R@}R=ESqZ zL9QouMf>cgXjR+Xrl_ZFbvOR)Sw5#JI%|37B5y7z2g<^QNXN%r=!h1Sq-zA2zhCqn z$N=5VKnHZ6+6p&!$afxEeanf~9#3WFS}YcB#C?UKk>PxD@d7h~81B0yRvq-=`Th(Z zv<*gRn4lcfl3@I@)4jsA#**f=q=GOnq=PQm*3w(`P_`uAq#VUdWz-Ne^~ELO7SOzO zNg@7da&nos+2E2IOM^$f2Mgc^MoG~4iJC(02R_%8@c@p2VCyJHFfP!U z7S5+b#mH~jaP}g?!I@GnyV<63(wG!I4eKZ!Z`A3oh+&ga7sgX2m#3WS#Y=&eiECYBn~cC1-;=7U8A(3e)QniW1230dv78;jkrX_&-H(gN6L;MDEE>yc zc&V3e&Z)JedaGMeAk?C`L<1CmsHhdGig~`~WaECCHL*x-^p3N5JThXgk{Y7887uI# zmeXxt*K@kg7KCAmHqP{Y*tj3;YaeQiANG$Qzuoz?z+Zm!A>W6B{4x#&a(}v2_%|H5)T$8p z%dZRn3&BSG?}ZP1=k1Sp{s%qmFz}I&2tQHy;BR>FPd(lg;RBz#RQQvGKScFhtnjM^ z$=l_WL@(hDeU713WoN}>id z9JMoe>PSA_V$r~9CPy@QgHBBc1mZsi#~Q58Zq-jH0$TLf*dN*OztsZi_EM7{p!{Sh zX^wI4d%DXDd>y~ybce?Xo+kVY6yBq7<6t!MhbKs1*tpL2wJw8wE%1lylusjnc<~td z2faw+xu~1Qh#%JdKZtqEwo@N@z0 zIWA@8b{a7vDxa>2P<3^dxeAeKt*h@ec%b3k7|0u{%lvplUcJ@O%j~K$HicD5r&+#i z8kOGAcAFlB-ad8RSwHID<;({H5~#si^Kc0o7S9_RbD`yP9SX$<_lU9gX(Tzp;@RU) zVCG4LDS3$9?d=aK!prWEF3i-p7F?ChlnXpH1R`_Ds_bUFKo1?T8b%33w}Xk<-fXFq zYN{X0p$NzZ^x^=oQL8AAaf|X{$^#Z!9AVjU zETfVqEDiS?N=l#wW v47mlWE^`EqN`1H_sck3+mz!YZL;Y&Qg9R3K^8h{Km*55M zUC#{Q%_nmMXBL@b9r01`dQ9{-EW(gTqgJ>b+q8jnk1=C@A`R#W!$myOj24)<)a%)J zS3#cWMLpGHwNK~wrf(|c2vGq<vYL z95^v4?Gm)Dq+DfNFZ3e0LcdKZbR?>EKA1JD9buN1q zfMT8CiUyKbPV|N9?YN}{CrJBaOd2CrV}0kQ!9_@aRErq+)V=eeW!i4PwRmlIWR_NN z={T||&yK=w$Q8Uu+p@;UFO<6>M0K))4XQ-{xX{(2=inYd7WUp;YW@ugf8qI{PtYhM zz@UezAxSuq6|Mn*Hz7Jv3lT%&D-*eqPieO&pyFXZ-33#-&KB6iU3Pldv-YCBTv2k& z`B8Qvi?}NJ0);i+^1;G`+8idA8c~@>P4qO=khQf^C%~U}8;~(fTguniqtH)w))l)v zi3U6vdGy*Z=?ML*bjc|X%V2(tlPBgx%RGFyD-W6TCbpkkKN1i1d%6BmSsQ*D6z>pM zd}adU5l4&1eNej}qG8L#k9(+99L=!x)aMirBZeo0xO0`^2#$NNtf9%?7`x=tkI}*o z8XAZEx@auILrCehX(|;vsGVqL;JM?!`f=KOdkyiDcNWl7P9`x=d|0{LMag$|S;4L0^TUZCaqS(1|0MJ|lTD0chH4y%Cq1 zM>ud&v&fA4J@po9Thjk_u`I|@jN?jyyx8F(x&o+Ln%yYZFR{+${gyI%%hlB&)oI@U z+_{EFpj;&s9HQxO1rs0ENUXcj^u}O!?3A>Vb*UkHksPHR=D8??}<^F z*4U6VlYxDNjSZb|T)gFhJh7K!K@}+f*L6J7ghAmjk{hWjqE>(MD`PYg`L9aoRVsV# ziB_Y~ndMNORD2MzzdBwKd~4%P-QHm<%^H|0+xj`xv`_{0uV{8_Q1hp@Z`Rlt8geD6 ziENi1)P+-XBQaobp9qfDD2sj|HPvOJDKXN++Qu+JrYC41;`yjNN>Cd$CQTm-y2g?(2{T%B&@Oad!UQxRg}u zKxi8Jud^Rp37pguJdYHx=WM5_ZBk|}?QBojv@FgJjuI_+?v26_8YN3g_xeFCjV2@$ zn(rIIXU^wuLj}TklRQ^=12n|eTm`-j-bNBDV;=SNrdUX#ON9c@*z;~9Vbf*SnrO7h zW}73g_v(TF!wR46G%l6i%a_28=~iiwQeaPy>upwdIefudhkMpI zyj}2xf_qjw{t3ZVO8?1j$Nxn5Zwh`z@Kb{C5xh$9^@3%=CsocPfO;o<89cL=T(JWcRu!9xWj!QW_nz9slx!LtQlDL6&2QUA3sJ?aY|cfA<(>(uw( z@>>sw_n%)19QA8&SmXHcUUV${Gm0PHg+3N|z6(9^cOE~y3w<1L%zrTB_>U;RyU>m8I$HJq_I++w8Har6M>bF8&eZo{uP6$?OZOD~X1vG0Uii6+AM6$P3LoCt z=6wpRfAn8o|F7vCm>EE^e;$3g<4;#UGl64$7Ak(5@Uw&;6n?qz;l6jeo+!_v^j-U}u{o{ON*}cQ~(}QMpTm5B9N%fAD z75?j*|1SrQ?Yd3zz9slF;5ZK-RJd`T?>^JZ-M-%8x5s<_TXP;h>@0`h5&kcVKT-Ja z3O`BV1%lrLK96!=sqoo?PY8d5^4}=@_kmx5_<4ojDEI^Af33ow6#Sv^w<`Rfg7*u5 zzrw!}d;oaPlU*uzKehKk;U_43wBV0~e@5|NCj5_uKT+Xs!Ji0!j=~oTJ|uj6-V&4^ zMOO&_u<+f&zeD&(gx@Os2ZjHs@HYtmY2kk+{A~(9Aoz3Pf1&X21b-p?{mLggdx_QS zm%<;a@XG~%C498WuZ8baxKFSue6!-`h2JgwHih3N_^9ybD*pS0e@yr=E}s_u zapA91{4WXrr0};3Z;g76f102;!KGz>DZqR_u-RxnbAI^HB;s=TDOCokI6JiI(5BUt zQ*@unWV`sTc8B5gD5jW67XYyIc9eN~1brbM@9{UVPmiOO-5p)9;Ptkx>{?v23;Mx$ zmr~?P3g5ZC z+|=s)c^0?gs)G46?UX98<&hF1V<`J+)%?&96YywW4SUV83c-1_FR!WG4bpSe@!~5HA;FYaQ2xz z_y?Oq6mBLkMdvy3dS!>J2=wcsZ%6^2cbXFr^WRV|jb{r|e81pM!Pf{5 z3!WpmLhvNPmk8pbewa-b>{Z>y{+svwzpwuq`@7L^fczWx*_Y`4u)x1jj^O^XPUSAs z_rQ;xtZ-xg!OvjrX0I>#%>T#UyTIvHRp-M;(Go_{0M@2z@g*2Cfy`uPl0XPXGE639 zOfnfW69@uM-kEtPGh}YO?@ThNEqJ3;t>PV9FIX?ds))6=C|2-VR8;Va_gJk$y#;M6 zV#V)y)_T@C=RGr%q}Jc}{r=zI^GjyEd!2pueXqUt+H0-Nbe^X86M~`7b*aMBf}x-F zY=w*IzfAb>cXm9|Cjanu;a`7_=NtUwwJLwyOBwvwTT+d>yax=^oG_se?;0)_Ho_F;yD%`Q+FdS#)nM+cfcvh(Z z%45&@Ubstb9K6XFE_~a#0WS^*?3P}LVyP#aRN*HAOGMHOi+M=NTnF5>nrlf%^@^$K z$-UL`)Ce4vW(V(F*+8=CkprPKuJ7}a2L@h5zQ1>sFsvQmyZN5UY_-K=BC z3(Wz3=u<=_Z%yfbj79(VZfRfJ+O}}L@E#)Hh2I~pQC61ParGaTu>ED6aZcD7NPE}r z(&4^I%N5J@t_iqrOY4vcvf~Vc8wET)8bo$^ASH_*z%$K#a?Jgxx-j&N>y1W-m6ny8gkDrWj z+CB~4?ExOz1hR8{YWj+LJR?E@0Gd#Uv=wI*1LeK6nctg>X80_%q;~|9isKaV5gik$ zBNG#Q0=>MMUc4ZVQTLK)9A?%@qHP)zV^i5rIKfN8S(8l<6N7`B^UOMD?Fb=~UN3Z)*^#F?uBXB$ z3Rvhbu!Ojk(zzEXr@-E#iE19uD@l(U$-H#5FR$favRo;C*Um1JL_@JCL*~WQqr)cB z9|h+M;%$h1u@ zC}B1`s3a$DfYw@51EESInwM|)WN^&Nl?=jp9?F-vX{8fKv{PMN$oKOI zKbuIV55OxhoQ6$IB2N&Q`eO-n0p6e(HQ`l=oPt=5rL4f`FCBCB+Mx_?j55_ScLc?+ zNB8F6^9;d{!OT+>J@}yXHlkSFiAkJSR=q^_%TGXN(Bjn2CCa9+$56rKiNd1b1=7?D z@W!P7d7U#Cm_4=W#%?OtkuaQR{>*85)>sW(4+uNFUXH;7SmTr< zEiwGjx&Z%$83n>Dv_`-<#*WEoPLo<3ZW1TB+ksjKY8IZ@*%xSIcMUIsrv>7uzsKr= z9Yhn8;-VYt3#d+RJh<{j1!tbw@r=i08$*Z7cZh5UE{%DN65L)MjMd0=2I$Ds&Vo`} zey+t#*Gs?1YoLnpg!M0uN27Ss5%d9ORD%P@l?^aDr0#|VH9zw(#_J{@R79bPfhNT{ z6x2QK)SKg;ciN7j%2Zh~H#|`4gf5zhHHks48PuWLuB8R_ZbIX-fnsecVfAeF1u9QK zdd}<2YM4b{joZ<*nz_FY_nol{XNNpgjUEdZ-d>RWoDNl$T!Yk4OsGE?nXWr?^mKaN z3fg7}G-y&U@@cj{Ep%QA+J}=+-t1i>aXJ;$33hEWgH%`W^t6=J`6^-sv+C~bXlq*2 z5*6;q3JrJt^R`dj2fb4;)Wk6`cgX3S$F7wA|G7oZ)c_;K1`5fQ+Jn@h5F<^*%fD-a z^Ny-cpbkuM0N!W8Xu`uN7_}*on1RtTsLXln?C+o5==;K3-{ElA-#aV|zg^)A75+EH z>lA*2;99{Z!DWI=1Ro*z;Cnp%`vku)_;{1;LA)Z~03m@lwly7ri{6gX5T#xc+p27T$@Nur!2psph#dE#o!WYl= zI3E~)p>w_1r(dJ}UC96cN%{WrQC^S7BMp}GF5%;zmL~wmcKE*ViTro-yo~sVDf~x* zJTD-A&qBYHBlhWBJ80U%CD&I}Q^IV4M z-!A-C;p2Spe&ORBs)V@tbExpQ!Shz86aF@0zkI6jjgRs2z3xKaM~D1jr}7&UJQnfU zUpTaIk{jG zf1BdpsrSbS{}qMr6AU@bFBD!Zf9oNK`6Gpk{TP1dTlGHVKldo#vxN`;?@RvB+cW&R z^Sq4bHCu#lSNu3HyGr<{3LocXHweE)_>)wxoeEzj80TeE3O`RU&inpC;W#Iyyo>Gj z|CV3)f*(QOi@6yotietBN8B{lDbv5>mMj4yGJ%`NuvpsQMS%;?CvJ5*d)?&xJK|#1dHR~Xz4GXsXpIgp05-BTzwbwd_;I; zHSYtykQ~blZXuLF-=ymqH>7^{cx1S+!@yRMH^VX}`5zxV^$eKB_kn_oIxUk>e#Lh% znW>IZ4a?Xkx`Z_$#V%dLSI>Y^Mn@4w`W7OQjPK=J-_qkO2V2Bo&I20;QgvyjoBfQ> z?9qk<8-CL<4)zQ}1u$@tS_riqWzvb_hjHyue3(ikA*xx|Oiw7@VyCVx?Qd;f>w5_E za+mCHt9#ql+*1E`syYlq1d_Iy#MC#UwU3u72|+dALX!*fb# z6{h~n=HYCubglH$mvXDl@+Q5$jm<Fi9{8UM6_4;5NZKKJM|)RrsHj&Jz{> zkAG3Rf^QJKQt&JKe!aqv7d&1t5&XHzS*%Nu-W)CcBR$L0zh_Q69U=ci{Bxh^;nxdt zJth8ng>Mn$x=H+=Cwcs0d5UzDbnb9;^utOw_&2VzOh5Ryuj_r#vuhW~H|TEASJKfu zeJ#@C?<(B~1%tjmtmO3yKJ6rxC-}6->V2&5H>*6sSCD@oU$Ip2g0ENv9M|`!2w!Zs z3xyvM3_fa7;pYqT9Ea`mmkPf{kbD~P?^5_WDN% z7~Jxj$6(vAgZ6>CAq7%HZkK1VpN9Rwgvc&LPFOU;^&sN$^Bk250+^4q75i*>Q8Foy zi>?up)CW9G_}q{BpBANv(x?fD#$KYJsell;0Oj2Af*Rz#c(~x#rDGjGjIDo^e(3_Z~L6X z?|t6kZGx{8e2L(df+K<#2|iWuLrQ0(!YzW!1eXZjbEoI?2!$V1IqnnuXTiS^oVV~m z7RTSw(l5?uj_=^#;{H(5BhITQEc1EWCK!DDISL1#9s7jfvv=!#(4C&QIbT%~KIZ>I z_lFkg9q9h5&P>k!sF+>j~}?2 zyCa*Cc7`)*yiY3K#PrV1{}q-F>B&5Ff)cb`-1@VKx+#rw9uOgHZ=4MbhA-tlKsI`U z6Y<-AL~sh&l<;I!#nJ%7l+l(RV~n%3Ne|2fc-}T4^1r|2^YC23w|?2f*9pEz@It-6 zQsEK7X9zBoL2*3&Z|5iH1N*zG@li~_IDbO#Blcaz_%Xg?ydHzJ^W!zfU&s|+qI_fg zgWH&|@Mz(=5i#uUa$HW7tykRB%d)<*ztqiN->L1LWB7a32NROB@{9 zT{gV0#y#k`4gl;y-I&M^!0cQy+hE09$WF+-@by*mYHjjkU7x^QnNw5KaDG4}OdGk# z^R(Lwh09^Q)r?ihCT3zWaoETYU|9wg2GjsXJn%D?pn+h#?i(Y}gmTWwxUjjY?;D;e zG!0rNA+%N6nviX!ZBuqTIu3E|@XuWx*qLj&HqnZ)0F{pPmoYuweRg=Az?tLF%=lEY zr7~+yL39$4_^5y<&`JD)PiX7oRaP%=h-?of_wZmW=#7mo>Wp2gb7@H|&cn=uXSOL; zLHwZ1hPd_7dR|`!jTAd3ui&H-Hk|IE1|t^EsYxYc2&er;%AaUtdEw_9lpI)1))729 zL@GFNu0K5FsIj9zPsEe8jeV1JB^LP5QdM-14~3d}4=B@_;sS$-N%L~*tx(#FfiqER zZ1M)nwu>up^zV8wh@T%Q@xkZ>$3;5#>*L21i^v*S#pp?UUD6n(6EMui5N4Ctn__!S z`@jQwn(XeS%W6x>+s?Rv1SMvB`@F03@sGuY>qq{52tc4!%EFN#APau)bDoEdY2_>@ zXfD`$4$d4Q$jmueXjo9{fYl1j^l*lokp`n3^`GQBUgMF~%;+FaLMLI+7`LW#m|_f- zOSoVR*IC(GSjg(SQDYAILA%|*tbz=nbY zpM(qN05Kq~{ZT$p_iQpoU0 z^8SMzR>Svv)8RY6>+qF=d-eVW3hx*EisJ86xGZ>~;5NZ_!7~L{3Z5ePSivim&#?;M z|F2$-dj-EH_>Y1w7n~GaE?8AM4GI_ewWH-9$@g(T68pQS={)He;K)BNYIS~X)vLM? zg1$Na6TeaTxTh-iBX3&i@lSuh?^j~qH=_7&xWMtTpSo7~oAq7nD{ob}Sg#`A8s`NM zJk!(tqP{x_hLh#IS?S0AF68`QQ@l7&jeY1L;X^J)c@x_w_KC;J4)7%54=Vjf3(xb* zPW)e@@R@?ak1uNT_Gyz{)A5MQa<&M+LGihdru=TV@TbcDisx8N|0>~&?Nj8_$#;`a zfAHPjKAlQ`5pc|Rhr*+RvH!hX;pYg(zVe0z@_nh|HU6cKlkXs7w%gr`ANQQZIqs6x z-VX27cX3|0PWW4dkMrGI6~0T5=iij~-K}u39e&sHHLbJYQ(y;?F0U{z$M z@Dhc8t$05ZyhpHTzffB5{a@_2BhjsAuJi9W@7ez&3jc*5=Qr_JDqKuI=EoyNpW^)Y zTE*`@&(l8!X>fl0weas0B zpOw%GDH$3uPSq~X@?Vuf!75Aus!8rf*aS)8#ybLTqzG}dPXecYmnZbxm~dG>Fod+I zLTzB3C5%0FBF%d^sH>3qgmXGLcpgh|NvyeJ!VfsN0*`|q^lX&WU`0j0Z?$m?fzifq zYVh)_*|jZaC*wnFlD)isoK8&I)(}wfJ^ypF)8GKCBJ{g5IN-m}Zp-la9eC>A zM|}P^Je29Pgwnt;Qc45piZoF7&17A);epmH-r(@SI)$P%mL3D?R}7?yM?oW6mbiZt ziF-(ir&Z!t7Kp?x5Q*2-mVq>JeWSz`S_duXaY*uWO;d+pBV-5`2)$5;sEc8#=3@}S z7*HKv%|EjV3`5FrinxaVp~wh;9v?=UoG0jB#cskj)5Aj*`_gi@2t&A18F}dU>NLRC zP9tQ$5kUbqMMTK`UTtl}a#>RLgQai`zOf(t0Jeog7RP=tj$`5#?7_1DBmG@#xLT~nQH!n5%$qe{2FP)FLIZAJS=DGRH zc2kxRw}C19k!B)4_eUMSwldZqUi3iso9123o%=zJ-L*~jO-vrZp;;<*k8kFK#r1vB z#@}vzUueB9-do?I^o#e_?-4%yU9+rQudhE>e8a82F7r%?_(-Q1|2n0!(E7eyc7;g7 zo)0Pg2p8de{f_0G7Cz>k633VHyC{~7!pnM0#=s3+LGN!l9@4T}^egAb-up|3uTc1E z!AZf7JmBxYqj*uyV*e%LgNpreB>pV)ZjV92`F&+Eo#4abJb`>z{ygD>@AH0&^MpTE zd4g{XKCF3xa{jjb|3dwJW6U?objv{ITtTYRgK2t z*g*_}^l^-eF~@)}Ng1};OsIAb5f!LJ84#C2j=s*Lls z@8WGk0)iI-L^ZYEF#64omSfnV)#)`D{+=`CXDiCg*i3B$nqfZ%98XU(WO8A35+AgO zwV*TUS&P})S!ikW2u2;$#CXaS#~j(Q8P?^Uolk=~{ekEl9KpCJN?bh(#W6V5w;o5= z;dCOo0NdvqZ@Z` z>Y1vgLwSvyy%Iv7#7oRr%0u8syfB5ZbU;RwpodYC1Rny_FxV<=V{V0fkHSMWw!F$s z%js->ki}#oh;233u~C#L>&OI6i%FSm#3u$p;zj$T`K;1*p<0p$Cuf6$Cyf<;T3;XgqIIUfzTl1Kd{- zaa5^3o`!xFC1_#FLFQ<;tdi^7GCJgNO$wp?N~<^wy(4~Vr`%8Rr2O(0c+)hg2dKYSL(T=)Am0L^OIFDxhnY{VK&ah7oI^^B#+%d5iAaht-Q#?SqdJvt zLLXN?lO{?$Ey=9;G1$$qA2}E&{!xCKsZ|e}We#+xJ_3>}>sa1h~B0!f40|IwY zfG6a>y9tC2*#tiVQi7ends~3|p{=N~c*SyxYmw4>sh4(lUI+~{H^|dK?GIhz@S9I^_>Y1w72Ge_F1SkY`6qk)Mtxrr{+FjZ{@(@f7W{-;BA6$6MVj4Rd7IXr(mbxTEQiP|9*<6f1=vyZiPP~ z_#VM41^Wb-2p0G4M=R%i82TnJ=X}mq-+yzTPyC)f4~Km#^<)lbmlgJ{p;r@j%P&>B z#d0o_zuph8ba})gq)$1;-zxscCOrS+l<#|mfADmVPdy68ziOk0uXvV2`VnCHm;9-R zKdJAYApD&Qhu$~+0x+E)3qLLScuDx{)D9tMr~HNgAG*!UcaG{2{s`?w_yVq|q(qMT`Ryg!_sE=ghLHap=E&tx3H#O4X z?G)>Z^v=r!=J^d!o_<1w&xTm z^1P2W9i>SyeDT|OWZq2$xt!Q@y~<0coDadOoGBwgss-WU1#THY9s=xiYM^0ou{2>p~Sh)Dr|0me4}R&I&NUIJ}w zPVD`AF4&rrYq$@z+=c}1e2~@vFJpo6VaCrZtNE){LZb7wI_#=Cef{~_CWj9>-{Chm zJDk<~PbmCPf;R{@=>1D= zSGQc^<38qp%!jb|i*vz;A!D2WT5pQ^7WF%09SysrqFvwTm2c>G27SC)_HsYf`_NDQ zjlw}6NoQG}(C;jkr$~25uNR^_q}MlG>g^Erdy9Z0eOV&>O2N>l+@NsKWvTk(p^v*q?RK{Cp}%{r@aGACywcyQ zFoN?wz8?zduO?|jGD2xG$P1^eB>HKPkQMbF2V5rT$;k`44sf zIUhI`ODT)UklFk20^RAEbI&tBbXFWS3%yGpyyZeHD*Mwl#D zrtF;=U$>Taw0HJ+GiCXjWDV4)>NiX}h0Bve`(PLL(n`d;_RO#CvJB-^^vU(kLz}LNcisveqQk7+x-1K zihsNC9}@fr!M_u{UhrDMs|BwRoD}RA>=Wz~Trb!p_;cm2;{T8Bn?s*H=Hb)IK5v8X zj`3a8XODTZSMfuiJ?7_?!Uw(MdE)p`3a8_|*qJAJR3_qj#%39}x_C{RxG? zBuKi<_#0KuuL&P?{M!oumtfG@Unv}V?p!~Z&WO?pJ$KS^;zQ59Sg+qTUsiXIA8bKE zMdFS*9+*G~l?HKGOTihB&2TijvnO{}ffJhJx;G>Z$L-yay(x8@asdohD?F()DY1X% zu0F#OmN*cAYN~4-F>*ep=(Ds&IyvK+CHh@_74s~ z{{x0M$OIP&qS(|RHkmAp{WdIvR5af9^lqgbeuIh9eG!0^gV^v^35h3tD`G8x#U`wa zpe|YJ-qFWn(*{a=;wo!%6O6;=HXItQPasJjUC+}lP_Ozk34Yhx(Z^%lipdchmyP0* z1fX0hhqdlZmD2DbTxfwVk+A@nbIL>^>$XEg2+8Pi zv{J<|uCSDkT!-q8+vDjGD);GElu3CB7Bsyu1_4gpG;gTBvjPp-7&rEQ4 z@@(99?G@mMS+1s-)3nBBPScrj79D&FI%t-rr{OC%#%yj_+F|fKcpI)dzT$zu37x4t zfMQZvQb)=CcYv4V6IK&u_?IJt?r${ zVHL(}eRdpmaGRUjB~y4F6v8{f8_P7RsAf;WF|)CW;qUm3UQsX1Zc1KXsa7W@jTYeU zm+sDvzRpdJ&^_CYx!8w62+DzkXvI1}Ps%Ll=wt(|1g2{UGUr?hnZXRR+TORTA=$QN z+YS`rc+@BT)!Wy;v#)PkZ_naudBVUtNVQTPwKpA zSI?&QK9r)bYkTL8U45m=!NHj-6h|Pf;gvy&*BWOmZKdTch zz>UIV{K4o7AEg>UE;{6XS)YUEc`THBv($oYrsU($wUFDxuaeX)%MA1-xYN*yM}?rS z)L)q##$g+o2ZVT4gQ*9Wh_*|*&}26JjaeAL9Sp-5Sx`@g#&Ts~Ca>!RC7T00w}i_f zo<~PM<277MfLB~rjdg>U8M~^hmf)53%>;;TKlE>KHw;UFxsgRC8uXQgnXcsIlZ<4z zS^}8|SuSI?>H-|ZIN8Lp;q(>#Lo99~*pIn90J6caV*Xu7MR5)cG(O$3n6{7?6O89L z>|cg>k%JQguCEE22q*B7KIsEh9ul$(Nx62##9+b-+C0NL-IT7=T|1Je&R~|4YeRnf zTMNPFIf%Am3|K<3gGdYLmK0eVUqQ(+QUpPp!N_w@c9@F$N@L|Kz<*=mx9@W4Gdc>u z)LQ#<**Lzr4Vq=M)7FFFtkW@QG=Tav>GA`OP3ji*PmPp8T`T>yDk))g%IFaJA=n?n zs$n0S3})Z&qlHnpYV_*}ocHOmd+nidWuBdeuMQOLSViRx{Rp z%a-(n`wO{R(#@;kLTPW!I6LxnEG=gl242orK2jjUx*aiA;nSuuEH+~nPkSiKXVgq1 ze5_*H4ku%kz2(6xz|F-534B%pB^j$Ys53Ubxi`&B1nI#65Y>13@z359t&}`%l*efq zl9)U|VmUNYfd=m^h{Y%r;ijSd+z(bB|8SiOE^@(QF}fFe(;xz)6a7INY{^Ljq>$Ai ztXnQHvawrZ8wA@Y~BSn~_>8?I+1o zU`LT*J^fxTk2vki&-zkV?=mVyPnq-rY%(6(7~9aa1tw?&We=FI9K{=V2}EYU}2LDz3IvjfI_V0l~Y~9+%5!LMiG;b$x=%vkI)hV7RZDU{0 z@HN>{j7`k5aSnkYSM9PxF}Evo;REO;?#i?64Y?XCE=rrj;CjCb^&45Hdg%|8oa?#k zBYf@OkCXXf>!Lk)KcHK8rF$A*r7b1g7K^Mi!EL(vRlh)MEaOi6I7Z89v>(gcgnS@| z;=TZO1MotI8lz#d453&#CnFAiJh|^f0t7kV7|AVK6g^SKt%G}KV8Y-zT6`^vsmzG+ zia8uM73IraU6zO$AJOaG;Xcj!)J8RBL1bk)%(<<>J&n-e%yp=b!&KB&*Pc;f)~tTK z<`e*O(ml49#amz6&MtNhV#xp4{I(@%`t(TiwaQ|p4?tE=J9c>Eyp7Su>{4O*J zm2Je&&s)fZQ8&zo1xjp2M;d3|A0gH>_5I4r7Cy&4%Tz%`MBH!hFirX>0)F6YLe%V{qBHFo5unsv2X;S(Tq%DIZ9@Fm4Q{>=w)Rd*x z7P22HA88+mPcqUCdp>o$zGx0fzt9;|E75;m!f(~r0f6GC1x#zzyG<3M7`ET|*PKip zTT31dhv=RuMmq?((gpQ9P2`T7EA6~*6k~CyIyuD!Xae$b9#wE*rC`IRmSKIs&THSE z?$0tmREM`Wm}hlNHF}(p+l6{$mOAKkD-}lrb_e|(eY@*d%Ov#pS#ECyJL_#MkJTo@ zdXfs&N_NPOiGcNRVy|n&q;3k_tP<(xzn1MRqV{$4tm^84Jr2!bxZU%nO7&|vGS;tI zvwF1@ZH&dSQ%P(9hcJRcDUo>A!rt9DB(}z7lKV%?xhgwv2Q+CFNCc#VE~@tr(LU9# zO_rv|tY0&@{{(ATk4#ybu&zW>kw5JuEUT>1cVREmB+}^o7UFmMIuye5;xgZzJMC)3 zG!t*Wz68HlD=~rE)~qbGwX9iZ<7-XJ*=MS`+%Fv%STmV3>AN3rv(duDGvz^0jwk?p zq<|=r?NzK*y5}dyv2c^?_oaefyZJX;6vy=L-P?GfEK;GPd_3}Kk^-zbn^&}(?_()= zayyjR*V--->7rV=Fgg?YgF(cR>kwiW;+t7nsgY4pZRpCbu+PGRoAG-JOe6=6rJvqD z4E~?nd=tdDeJk1!6wcCJX&SiJrnGZDiuB3OmgGHEM!8mwtU6XrbU=sBpjjkiHUT+! z>&9)iHjBrQHipbXDbKPeM0m#E_#p)+-vssupw+=HHFb72u3k~c1Ni5uL^tK!C{#$f zJDx1~vjuy1%fs8z`hF>#aA>jQ>DSVgr5uK*X-nBXIUE=TDvf0aTcDcDj zj*K8#Yc-h!5R(k_!aAco1#*F%2xQOc8VRao#{ifm7%J#6)}Boa-b&4sw8Mj%T`bmQ zt);yzXXoMD0V@s8lW_)%MctGRF&BC0f@KtWR^dqtQl@O#F=m8&L2c)CKoT97H@&p_ zu?0~fZvVh+!$3F6YbP`mR^ClrP%n>mOT&IBo=^7Kf5eJsL1 zhfBplxGHD_@GX_JKa`B0MPZbOT$(I-BZQLh1Au{nA=A!tDO4Q0BrFO!3TiDu$pFM* zG#($av+&qJ?CkR5Sp6)CC@ol2or-b1)a4xQ@xRHkYl3Y9)%4ZoE9d~^q!UezmBAG_ zS2KkL^ZSFbh!Y{y(#sGfLIJ?{=-92)F;d1qH6l&qK})?Uwg0Dgt~ z%jbf3TAQ&lSi~^qG-oN09lgW@AZx#f9_e!q+Bv|?I2UqPs0jL&OTI3C zd3JRC2=ULO@}S?If>dziY8}ksCs`4ikaNAq@0qbRriK$n<8iWrj85W|9+S^^Z_?d> zzAxN7VB+BWnEx@j)3aNn7?^*sH>)t7PHoA$`N}i|LRKAxO9swu7?AUBEAV}Mo$>2+ z`v7b))2%=UwZroB9*LmY(yfT=hts}YBi~+v-AdUo6S|2y)$c>>P}VjOuw#c(cFO95 z?vRebogLPxy7B9RTAna-Xxc$8_XG9QjmN}5dfZ(*yL_XSI|#Il(FkmZb}xXz6+NxpSee0u$T~4u3Q2@S!hoc+c}4UM=_}!6kbCndkZY%LI1|9w+$I=lc7D zf_Dktt9)-$_(s7$7u+MbS@0~ulLQC!{V@vP`y9{btAcM8e3jq}1osOL3tk`?_1~=U z>4J|cynpa2&*vwC-xmCw;H`o;3O-HnT)`6rzk8*p^D@DT;MsyF3qDftzCZK$UlzPY z@Or^n!S#aw{ihy3>h&XqKP~tc!IukOB{(7Y48d-}Ckvh~xJ2;#&-Q%2DEJY9J%T-gPZ4Yqe3W2}!;d}F(|L>F^96?lHwm^0 zmINOq_-4(E|65>;m!+3`yFE_uKd$ibzY5+d_#wd?1>Yd}V!>U4oq}rxzwtMo-r##2 zzWgSKzkavFO9h{MqlW{oQTW(*IQ~U{=kQm5?=aH+qSBpurQ;uXv%`beJG@TtyKnUH zOB5auJWlZCdjF_bd%S>`2p{RZ@%8oTK3m~S1UE(absq1jf{|XprNT$LAlHi?_W8%I zDv<3oSc1Ec7u&I3`OTr<{Hpmkzm9EM8sTF3F?onEdlY`C!WD&S zKgs7Zg&*cYXt=u_BJKY8)D))uA)hN1roAAas}(-ZgUJgO_EVB1xmID?Bl3Bz!n7yl z^9F^F_h9m7g&(Ex+ZCog>Crqz|F<_h-|JJfTRf88e%PgkAC$QF=|+`@{$R*2+^O_$ z6MnVui(laR-m80@zJ&&8!n=*ae_HXsE&QzTcM5+Hc-psqP2pns4+;Mj`8#3%u{;l* z^n8~daL9g|%HdDA#&^E#U&g;)`Tmi#I2@3uCL&9God{yC>3SKIF z^5>r48-;&{@GZi>OZa}_M}+@J;qOMhSe}n5TiU{&m7{1&-}AQucJ;COkvLUnl%c1^hwb zPgOnxh|7F$QaM|N|E9*(c?$0q{EqPVDE_GM{|Y?wUHlhb&Ud`h$N%ZTaXeqCcu(*4 z@}435i-muS;7Z_Go*t!h%qgDE(-nVK_~LlDN#B1&@I1t4dG1vFJA@~FW1oFV;hzc8 zUY_|rpl~t$C6{}>Hp*Xj_~TjpLdRdQ-(mRUS*7@$f{#bqEYCW{KTr542)|w7A;DhY z*=~Cje_VLdf8wtfe!uYH*XM5GpDld&>ss<6FJG}<&r`ft2rft3EN746w^jW+`oSXp z^@{g*f?PX^zfs|j3oZqY?R=He`Hb+5ivJab?-N`h{4W%Kr1ISjJnMU#()nZIF9MG9 z{T|_02)_(CmZ$V$FZVj(PZNHl@H>Rx13b(5bcLq{zpC*(qWI4dz7KI(o@<4_QutlK zG2c6df3ff<3%~d;y*wLQd_0GLvUS2=r}#S&-}+tnHw#Z1L;MZG-yr-2NSNL*4a*b@aDWyOAa&P}KaLoJ9 z6z{cy-&McguJ~^e{z9d5NceXN&pes_`xO3yAQ?vDzpn641zUjQH!Uyq`v14^t-|jS z{t;?Vt`%&DB?=e&@wfF0QA}s8(m!AD{c49D3J(Z=K={iP{!_tQg#UAeUnlrM;olbV z1pit1k1PB&!4C=lZH0d=c&qT&s(q3fZ@f`^@!Z*I$)BpC3p8g#L{4?L|_|FKx zTk$)N^>jWf{I$YAL+ktJguh+*PpLd#5dM(xUlIO`!k1p*<@uiQcM9Jl{Lh8I3wX|> zS>cb<`uk+^iI=UvBoyUmU|e(}>CeqQ(o6@Q8FUl9ID3U3hnBJdL^ z&r=n?MDWML-=OsO3jZbGwPAGs&Vi-iBS@IAu6 zM)-rm&kFx$;lCsN4Z^=$_WW`Btuf6aILG&k+2+ z@X0=pcee095WY*{LBV^3Z&dsV;qMjx3WZ-G`0v8+QT#Uv|3l%UU*0YJkA%NY@&8%) zp9p`O@Ta$&Z}mDJf4QzbR`cOBLGJT89u8_=tQMaBm$(mF^h%$1=Lmn2;S@V5!S(7il=qWDO{pVxSKB3Ohc zJ@ljyS!J(6CGikB$^;0$-3xM}{ybWH&Ps_}Mh4O3ORe(GFuH$+O(1IoQV z-rW2PkrzmJp6tDytVv4nbT?Lt8^llw`aOcG(d2;&4I1^hjYgP{M4OJH4Plpw!?cL# z@dn{&-gJPdZI~%#AdlOk^XiHyT&nl?wLrb;=PFjy|=wLn*(@l2oiCrVJ zYGitR?Dz(Ffx+|SEq&X!J>|*g?bvit>Adqhc5K_RbHmb8hwWMV6xg@80cNJPPHn5W zB^Q3GCZL1Igy?)J;!*<&$H@b5(NUqE8dPS?aGSbQeo#$~BY$Ae8NHr6rOjJ(dc32l z7jDrRolwQRy=a$1eLAyf;7PjKHn8S~!GSo`ct$6nx`Q4u^&l!=@jZ_>VMXuGyriUW zRz7u(*6bUrOI>`=oT{VDyzYyrcwPKKb5`YwiBP8exz$zZ9=Cv8bX3|nM4l9R3eigH;fo8kgo}?KS+lSXKs~D!HG%=la zF!ii5rA!c&>Gf11al4}pW~7D=7@pj)bXjd_Np`^NV@wR8Tg=>)Lnm+C9L;FHMpAnr zjij*dwomN_i~~HlmZzacI70IQk)k*lG-d1jrxlH_Nftei)Bt;j8LdG*r8-*^r~b-P(}4pAOq2G)3omr-XX+$Iva~lg1tboxQWKSnKzU3R(4*DAr-C+I z7SXE0;$$i1^34iQng^mrYG>Lu_6-Y!Vxc(r>t&>(Z?&?Yh0+q0n`2NMhE(RPeIan^-5{emU-eiX^r)C;dl$!Z$`Ue zop$GtPU0fHJc%*?37mas&}^lyj~^AEyPjhlk#I@D65c+btJ)(CD|DQ#H6(fKF`vwt zoiB6L+cz6t#Fw3ttAHEnsk850j;Xdh?23#MpsX7BSba_LDOHRIdlGGnZp_&k$u7w? zh@c5dQ!HCx{%0wk9=1y~`jO88SP98Loj5fNnq)KQ2u-k8!o7gG;7PA`RrKM}Dl~MZ z|4p0D{3w@JHd`a=lN;*Lm7b;n0(8UFoO0zvqCjKMy10$))FIupWd-9Nm3@v#pxvD1 z1kmn{na5t|oV0joZXa~bQ6|k+M+$EjOQtG)%6r?sAT1`sQGLPY2^!7S2uoW#me*#Q+uJ#?(@64JLlR9 z_0FYN`C2v3)MhYO-4hHh7PG!$KJ$H-Wm~8AsDZ+-((j72nDd<7aHRaGg@)#uV-B@Y z^`e|}@>{?x3h`5`Y<3IHi@K@Eh84lG8HYkVoVj#%tN^9PFh~0h zQD2nIDBH7KT7G_KUuo5H&#xSI6;t#vI5(axs+`!?|IMq+-B7Y^6t+)XWT6x~U2-g_ z>fqSS5H^!scHw8P4Ca@@QatBF<=yo3L-9UHbk`>H+>3<_JQYlM;KYIP+3EiqeN=u= zRn&R)S$zB#w;Oh*R1;1$ zfuV5^9x;%%JhCf_&hv7^lKS?kT^Z;MOsdT6NUFu;wK8H9gC;yKunc^9ZEJ>2huhtz zTaz$a@mP?>(9;fAaBK}Zj(LHIG2R#jwlVX82;W%#czIM5vjEBll1!)I17o~G=ac+m zZuyVmBYX$DDUKOT3f}Yu+d57@C(N)&7#$obU1qLAFuUQ!l`fRh`4P5DwwXr@pg%bC z{ONN$Ki=Foj2%enRG1&-Bng@&u>U}2XaXvCqg6<1vb*`v^H_|^W3-d$!-NELZu;_> zt!!#~mN~k!+GMV((2I5UD@UJB;|MG$z{tQk4~Q1O%km8^`Iyu}kxWv9wsfx8*ie`Z z!LKDE*z#dpUbav#nh}i)2B{3cSm4$nG%!yr(=rhcK1l>K;t#`&Y~ByN*^`hoka(F0 z%|#=ozV9X`w3H(ut(EAOAa4d8XI;j1)4e7hHobbQw!ZuZx#BCxW zy8)HYBBd|j(Y_NyZ4%3W`c*>`zK(;*cQzjFfc?wRWPfVJS895SIa1DfVKM77kSbB} zWZRA%TX)e7G|krHdP8&m3cuX`4(4d?IZa`AMm7i&xEkcKxDVC5m70_0Qe!)fAtBhw zAyMO1~$?`&yCy`0wqERk%;=;I4w#wFr@6aH6mx3bwo}C z9{o`4pT-rXot0^9Dy^5`ldS^r?`dPx=Om}?@a zRs84ebuU5D=lwsUQUjE`TFG$z0M<DB^11FVgOS!`rADVfwli)>E}31{(l(ovjX{ zOG~w^aedLyVB>;&gJ74}YdF%b*9hS#{FU-Xjnr$ixhtgnqbNijo}8ILU4|=IH$kWv z#XjX7)}1CGCeb$ES1yxEWh(_)s=F137sFDr4GS08Oc6bZdwIr0(uzi(_Z7*tIq{Eg zlyxdYRZ?|vqHn$SzJvDPwwaEW$}yW39S)u$cXcWLDTFX<(7(5rIzg@D7IB0pS znKp0dlTx|x!a_$e&^dGYr!B#rvn?4iM4d=1zy0_3Sl7psA;h;o9^yt* zRib2}-?oY*@T$JEy2#P}+E)70tz7~EXM&wq!d+HYLq@g!N^KXT0*=L~i}#ZzfiG?a z663own>9aWNnKAXs8u*oaHcv|#hZpH*#7GQ57tZ^w zDrA3cc^L(1AjVjAP>=8-O)fr}M}(fV!x01g6fi}uJh>%10YBXz%sD!fd@VYkjBrBM zG^hnQSZfOQfXT|Sc$ue2k{`3gcK);G-l8Fa*ynGGVYq;{%}f>pUZ0DY)n*z>A)Rr% z+|*Fg;R4NEihLWM!7V{YAVpLK#^C9wOvf<<$v!>gfmj@SJ-Fdts9A{poZwXpz<7VB z-p6+V7u{Z;PSa=V!->KHzy0C*_mOVk1CA8ZIoLoA(j*k*bv@GIw~ll8ZiPQ5_yol}Q}B6$uM&KV;H!VF@;}Pc84&yn!RrKX75uE=LBXF1 z{_&&z`$oYXg3l0~5`3=U%LU&e_z!}g5WHLP9>MzspSalbX%^fdxLvSca8mF&g0B#K ztKjBvk-z&KIBv1F%g3l1VT5zdgtKde#9fBVcyi@Ry;Nr)4x-Eh|f)&AM z3cghEErRbCyi@QOg3%5q|DmVbB)DDh62X0f&lY@%;2Q*Q61-LLvw{Z&eLF2Y>IUJ%j)_`I#24+D9wvO)F%`=hc0l( z{SNi^sfQN!J7K58vQQ7LXs2^JaC}#^(GDm_E3)kj`f-q{!2=q!foPj5dQ1Jj|hK{@C(^Vh5Z8Us@R^5 zAM|pDz14}pQO_;xt-`MAB*pJh{IIK{p5ZY5Un6|jRngAH#)<5Y4yv5AcVPK%R{RgG z_xx$6L;Uv@FOl5=?Q~e4LyF%Z{1X(v@t^(sM+^Tr#or_R65(mr!}44weAtOpguh+* zlNFzJV*efzKI~%Jgm3(i=NooLVaHUoGwM+MRZ4fGAnU~Rdz4O}@ZG{+Bm8dRcL;xz z@L{(Sb{}E4a*5(oZYGTUwt%i?60E! z>SExSZ|JXvektvbI3L$3-_S25j`ML=_|PMzT@v5jEPUvZwkZDn!tYbPP6eL%PAmLE z!6ymda+}vT^l6s?&ps&X)1DUbrSG~!dZEjOA5l7?2OD;9p$FS}x$;r`YZX82$kqt| zN|moj_ueUd*dK+xPuL&bqW9~R&do~yQ^M2khV|e!hVfq zWI9FrHQFEL?bpIitzGd?RytvaMLlGuvs(DDd!=0%$9dSj_UQd_!Y}%Ww@=ukv5oWg zXvKDmbvEq0!fq(+yuz+(57J?Ib}PTItD@Z#%QGT;*x}NS%_Rq?^g;|75{FiMk`o`*2jU&5a+{C?rD68>W02ZgUF9Cmyc3;(CWhaKP3h5t+8!;bGF;om5H z*zwWslI3}i@L|VyiSQp4{%*km;qO#A!(NZ};7sS+iWl~J&k+8Q@L^}iLsGU;*x4N; z`vP*)Os7HNuzt~;UxVTr_jb`?UiaHi_FbhRr*6ResB~fuxjl}kP6RTq)PvcCMm}T;@q-jLzF}oUSZa zmS`a6np5^Ay~buat3(YA-SCl$mf=~hsrkg|8g$I98Jex+MSq9XE27h6yXG)cwuACW zeUGnDy^m7g83&orWQGk$v{$d`>zXT8c#XB&v1#71GSzop-C|KU^SC&F9R-v=<%u3g zS~XZ2dWs!5;>;gpE_BhsW}band*FD}BGsuO*WFnVWzECCIh7n|lKgV1!+pyfULv?d zuwAfCaEah?f)6~&zx$!!Hv~T?_z}VP3BE({1m*t*g$D(%5q`JAX9$)A|4^_&@HdK| zuN!|C`QanUhl}z5>if=bho7sE4gKWI3-DzSy42(R|h zC*-Kd3V%@e|5UvxXJGu0V~2dZh!6SpBE+S9tSH|mxuLA5DBq@>ne9`QZ$Co#qI~;! z;X}TS;Jgo&Z=l*jRRWr)hWTk4H&eSZlMgB<^>+65LJtb6Hm=Kpqih(sOit_#y_3+y z$Xnk)v4NTrVUhtYBq+#3tt3m|wSww0D8Agiw&iS7-!Lu7Aiz2O4A(HQE4O9(gfa|O zpk$28r(qJvn=10ffWLZ2QYQmWotsi}No_~EwM`8rx_f&`qx}kU=^;~bA(WP*GWm(1ie?a(qmil|rBg$cKdY6Zb>6|Qi>Mhs#d(JD$-5z|mha2QKjdW)i z|F2hhzWX_U&-ux5KOua~&trvuk?>1S_4u4ujDM%__&M*BDr}B}rGd64{kvmnU)4D= zSiQn|tBfm}+IJRuJjP1T){fp&&w{o}b!HG(Ggp$%ag47V6UDVN2D&T7W=TPV$gW1V z`xL23ZbnOR)V>$?5phvV6Rtq7nE7^c9#lm9rh5%hfRai;CMy^w*Z4BsQgSH8GDbA1 zXX!4b!^C918s&%0_=22o@>QE~5&fLT^XA`Kf#NOi)2^F;spd=+$ZTl%1sNPx;;jDe z9UWWRySibumj4uP%H4RN!uBzGpj#neLE;xWgDr&NKkQ#7&{NRb#vKyv9P;+mmj@R< zTWq^?05jTZF|ijh-`(c(_0m>{zdqC9S;9Y0_@4`Zui&=@za)5v;70{NAow1^8w6h` z_zJ;47yL898NrbPyjbDQf=z-a3qDftfwf-#9}2!!@P&dSf|~^ot?~Gu6ud?7?Siin ze1YJs;6A};2%h_Y8I1ALqIw@E_`qs!&o2mmOi;se4k-G6E$wkSSERE?qWeL|4}ox! zPdQO^H|Y3%z*E+}QRxT0{u%J3*MFk;L9c(V_*061&F=H9>^!&UBwI4#;W%e50Z012 zMflKnAfL$iq3^Iu`H;UO9Y0IqX9%7o{5FLz5hUNo_(KX8+vgVHPk+Cci|ZES-y!@P z% z|JsVjuL&RfhMR@I=12ZM&gXxqaqv;W|3HB_-VP0Wyw@q6;AihwI>q)mc*xu3Rf^Aj z0Ly>3;}zHS>L(%5jX^=?TIwy3gYk^ZlOM?Wa@zp8FEE|EHDC zN#bXy2SNOoh2Or-<3CRL?+PD$%p%}f&c!N!S>=!Y*~kLz@E>Ex+8r(PB|1)pT z*k>#Sj`e-6#%Jiu@cf+ni6uW*`|JHO;8>pGe&RIYi~EV?!iQhm#p<8ff2>n`K2zz( zzVQA9=+*D)TEJ$cdO@g1EM7 zPCUoWi8(Y+Ov4ppp0TN~XZ^Av*dWPQXS^MTV0{Q;5L{=2y@ZLG`MPyI zB*PX55@#aXiip*Ym|4$n7-LNlv9^dfvxqp$5y(hstV?5{;KH3f2Ul9w+KQK@#Nyb2 z0pvK4E5qT=%!FTmH#E8z=F5I+Fz2NkLi$TeaBx*0tnX==*N^^$B;K~DGBKVU9_Ee= z$+P8XR0|_pDpWIA+uvVr6Fl)ZCkx&?U`q-JG(rPSa}BQQZyG6$nG$Q z*EU`+D*LDUy)AfkQ-UDU#~>O)UOpcZx}=-WelS^fmJUi_Z`ih`mS_y_gZ=3RJ^g<4 z#5=tEd3cl(3x8?N-vvt4j~hVKcU!i%ci82j34b*%!xe}fDT==g1$}J#R`I^+>~Qx( zoU5Q~N(yFO){m&uURYeu#g>4kT@lZ_3U7G_R%aA$)d`*=8W^VpV48JIir`i z-x(<_l!VSDcs-}v6o&98Y2e7rH?B1~h)0d~o2zRGg2Et-f5Z3(f`TDYK!C#JV=Pbx}BwgaASDggba^Ag7QM*{qhB2UD$Qwp3dacz2whYCRkFJN(gx z`RzZ}p6NeUuM=i%n@8T)dgf|-wXbb;{8*Tj66_< zhlr`k$+4ccwP&JOb>ZoJ7zL_(k8s_4kgB@(2;=>3r!2ckSUN>!I*rVb{;(~K5LrtY zhArVg&=U58Enz>{68vE;VLwU!h#W?)uSl|Na3;A-WlGJm1>9j8hIhwOz@wSiN;YvrgoeyKA2e_oR>h9>ju)V8~3zSZ(*3*SbKi2rhWkW06jp6_f!QrqG z9-AOj2Jf(W6VAK(db^&EOH~o6xkMRvr3_^U9{#vjMKBXtoh51Cgo{7-mX^)HaT5%R zuzDMJNhV_15L`s!9Le5?{sXQj1>*@d2zsQm<(!f5P&Xk`(K1*916{|d&WSfOFov69 z=ZjXCUNF+uK;nAy`SHD&>WnRBW_a@Pd=24tB1;J_Ll=lQe~O-7leLyDM5Z2U1F#LGG}rzk-;SN6iVN?jLBhR&ZR4o}$2b5{6S zf_Y+ehcE>elwUNB4=fZL0}(uClQVUL<*70}Hm2;W*TERu`Qk-!l6Erk?&U^|a9U(n z*FXVSj>5SS2enO=67~R4T$zOH4to}gmzz=+&(BBUnE-aeymc84gWwp%d`B3^n=!?n zZm{ph7A+htxoC36kIDw2Bn1W!=F{VthTMdT1ek{@Om&>}@a$@sy-+Q6^z5=1;1BId z{c0IEjZJ|20_L6+tYf$|B46&0Q7aOJ$-!V7SJD9l9SAfxHy^p3$@AekOn=m+N5k^v z?pUd|+>Wv^^;%n6TI>R2*HWT_k}EIqYGt}u!6rlnHVS%}@}_>+e2{^pK%*;aZ{*3# zOH^J!&|E6v2tUP!M^UDb&-sS= zIE|XGgmrJ`e0yR0&hD=6^Vb`>_b~&{W;3bpGIL(He-xLuW7kceI@sj-POWC`va24+ zrO31f!h(}3U9J90VENfi{$4d}d;ZZ*LMa-(25Zvrgrche8CYITC&1Vi{sZBxaFaxdF zNrACFs(9Q_9ZkMzp2i=8H>j;(R%<+afh>Etx>6a*cNe3xfO^t+-i=3}E<5Civ11<0 zo!LGM3_oWKuxMVKdA_r8xbSzoYEUq=rT1bnZI_lVPGvQqpqF~pJKeogL-1C?n*_hCbl$D+UZ(V~S2$qg zH!J+A{ht2)3SX`7u2#BH-lT+I8}a`t{7)W&|2(PAp1u*VbL3*lu8;xYYbs~)fDzA} z_l{oh?}=+JnEk5{e(R9Hi5@y}jUn-Jq4$ws@qOR}9{ki(?dMZem8)*|@E(=>wvT%F zZ&ioeKIq{e@Bkf$#8jy!haR`$LG?2=rP_7Uk9Fbi02W)e-rp~@IRi%2>%7( z^7;OW@LvHwpYLhHe+~G2zN>`)2JrcO*9reE;Pd&m3;)JrP?B6ZpCO9B5J;or)1kas*U6aH-l{F{Vt!1(!fLDp->7fiC;Ud> zZ%2IEsm}M@qImJ{V+uzWpHVo9{$+((Y(C#s7}?l!kHQaE_&$X>o%lSU@Ub3Dj(M1m z6OoVPkqRHD_kXBxgTf~(%yWM}%N3?R2cH&&kN045w!+ji;d7qC)O+BwRblFt@Y$^} zr#GL9!qf-iQ&spR4<=VCO#L4|FIJfP2Yg_WzQ?(f;37INJYSg`@p{u5h&fuN98=Klb6?AJP6NC>-toc!i_=mnj_Wze?e> z{S}V(?@&0}f4job{ue78?LVq;wEqExqy1l?aJ2s`6pr@)=7U?JX$^i);b`9z7PA2rx)$}NQI+)>oP;&OXqm}$nOe;Bfqad!rw=JU%UEzOCs`Xd5QN& zv*A590Fg`=Iipo)Vwi6{h|cpD!v*Jt;na_Y_Yr#@E-Be}o70KE~&#^ghB@ z>wS#Z12=j5M);uK$M`&`{3HA=r5E8Ro$KX^@%tUUkMOk}_0$2-$GsQCGDPyC6p2l|Y@`ySFKzFGLt zm*l))y^<3>-KXmPckzPwb;1|hbBE&X5#)Si{3*ph^b@bwcT}$%guhGW|5xGf7JfwO zaNMyS7MYXj5kF)LHyqw6=o^{GM!bQk>Qb+b0z95k);r~Yb*RvRKBY%@% z72jX;QG1nae5u3a(7CA{!_>a=Anh1>wzhYe&se`P3AgkOl?(}SGmbTe>}s#D)CuvY zMSxZi#4EU24KmdoTl1mKp$k--+6TcS9H5RctqB|nb;K{)LqH~qjhkJtH9d+8%{*Va zHvZYkNI0nzi4-ZVP2=N9d>A> zC)D@6PU(l9_3^+B;cqqjcqaW}{QHD2ma}NrL%NjL z6AycwnAeL=@pkynvP04z&i7AAZ#ML%Ipm3doZ{o>yidqyC`{!5qi_O;FE*N*a6KFD z7of!lN2^&lo5ir*;ADCpNe2W)@G7tXZBDLp(&O2u`A*K?n#HlT zw|jI5WXGyKO@*ypc)qqH?kGc_HQ_S7Rp_v>%5-H_69ja)!eo`*6XzU6Q@Gr< z+Z38$^n*^c4#8O)kHL6gn+mF?Ct>am!H|j2Ex*oL-0z?((U2X7i{y}&HLi&Byz#>` z_e<)s!{A6;NjA}M^XLSk^9O{Cys&0w9EMFi!bL{b;(o+Nm-uX5emd<}HHOz;-F?)L z+EJ7T;MFb0OKZ8M}{(qu4!%NvCC=9L6kc8OM^I5XO~d7Fvbw%#JJg$MS?#E zyEqLcBSk{Xu8@|w|0txVuISl{HO9g+LczK_NnUin^P`Uu?EIC7&k<}EJVo$C!3Q7kcniUw>it2%y97Tb z_zUG%+`nGe==@cYUpo@t`t$A1_XWRp=^38R$0mHgO@591=6^SPyko?lkzXU9c(d{i zK9~FT!|}OckN1zVA0z)rzVBJe_cemCZ$7B>-yl5sXvSZ>!pqrkvzO~Q;oquw#di3f z${+p=ACCB}*G-ClsqFno?^*s9rT=NY559Ph@WEdPzaRYdFRt_Q9Iteezw&UgJiqJx z=${XJe<53Yu2DH7T!hO`ufdPQ%-9f>3$T=czvM*X(pMcdatI3wKv!k<-wnwrr<_s> z%^fZ(n2M8d`VX25%^ySsMdK%fy!5APOS%@}z1S9#iQwDX%)n(}X+XAofzH3vRoL^r z0?7nxQhbx{gL%>D%=DO1?zu)5%iK00nPRQ)0v?>1!7aa#in7Tj*!k9b%H$^zccKBPY_hRvIQ= zsUmll-}q)Omnxmxp*;<3ekK3Vr*j2>WIHM zqP$^>>2VFneN#-<(gmBew^DUkM={l6dUbJgsTJdC)aPPk<-^e75V59ON!F0-AD8u^ zNpN%C#Y`_|EN+6SmfeT~s~;9xzmgDX_{1DQ3Zr&`-Z2=Rv9lzPa0S`UW!`BLK5!|SFSDoPRPg?BoF^_ThtCJl5NbsA2XDHsC3V&4ax&`3V zg@3%@zn$pmzFKg%;Ms!3_5WF`e!KNQ?8+&BpA&?!>#A9RKA1q7ZdCD zTZMnqOTApNK7T~`uLyFKGT(0~9QM?)-rgttr>^jHV!b`s=HcA~4r9GtyxPNypY8Ps zeq^KY@01*h=LD?RF)bed9VK5sk5ze2627=@hnz0f|KNjS{V&EZ%FD=4QC=2)aKcXf z50vke${BJr@+oYe6)Mj{^60)jUJpdIXOrSbxCmWODYSHA6`ihO{p>UyMF>=EBN7{4 z&=b&M+tW`@U>`PJ!nO#sW=Geih6D;hgV0}}86L)VZ;)(-?Nqh zxE2y9zmHD1C`Bc7@p4gcjVpq|Lg1o6l%n{~7@4`~^eS@ugqO;7Zo-<(>yfdpNLgCO zVzy^W-%%toPyvgSf7^G(6z?+SKBKli;hJ}G6NwMh+?pUEr%u}F(53X1l}R6s$MP$1 z-IX9D7uaQXw8Lf))=t=cfdHdTGru+VMJ@M9?iE=UXA^hGxFF#z+a!LI^?7a$3G1Upd@N0{Iw zk}Vy}-%9K#&KHtnOR*c-7M7#PV2Z%G!W1W{kP4UN7WdW&w>8DIK^O>NN)UnOg4&y^ zDNXyDHWg``d#kpous+PbzcusU`|NXc>;!K6KF@vM=<)G?@3m*veC(MuYu2op-9#>} z*k~t&XX?wc!cHaQEjh8gh~T1g?3jDcx$jYn+}W`wv72XXoY<3Sa$rr`-U4ry|T7(eaq#1$?$l|aQuu6mV5$p(=I!A3SBws6*(=O zo@F|zsmFw|Gm5Mp@tb(HQkDIeTPUX?X4WpOE+wMm@^4;^=!t&e#`ixr?;vdK#kpGG z>^aM<6QZ%@8}%CN)8D<&>rY>Ov&Y|hi^l`P4+ysl?-H&S-YC3E_#^T8W!?XRFe&`E zi#-1^;ixd=`yJhXMfm%|-xPjW7>4iB{Wjs9!d1efDxa!j78L3suVe=*wD*)rpZmAn zUatuCoW(c#`!nf>;dxN6Cr74VwT9tk?+MT849^R?TIrbIklAA{)O~pFjrrSL&F^~A z!*g%U@5aKf6+Jxn#{6&W+?#Epe^6+CFBblzy8n#O^hwjN{y_KN7Mk8@^dIOx)c4Gv z#>y4yd!hbpel!+7)SnCM|HtBU&O3emg?imjM8Dx8uYZ=p!}3|Ka8(cc@TQkqy7NW9 zMri&%7XDqj56=k+_3CEP!*jq)ueR{vIbenP+@r!>psy3h2ebRpzehx7GFOO^5*yEycn31O6vGX(b&4sQZ>fp23DYNk-xdqZD^%e%H; zyAU;b;kGUQlk9eH*I@$o4ww0PIrEjw!f<}*R3j;MI4wxiqryYIP7LsO!EWX)gR%8~ z*5XaE_HGkx{`eG|1lv4>^?GI}+nFO%&vm9fYASAd*NLmKs2K^BkLZnZ91J-186TIW~W=c}}(H zkL&zRl6CnhJm0fa^uqH!Lwb0=XEie7F z{OW}07bv{x{Z?;@MjyYheqPhdef_+qm-~A7|B7C|Pv<=UtK>tq+W)VKZs%*8+}JAm znbv#4dA@Za`#YrY{%-dFYpKRNf%9O;ru#T^!_IzkIly7gK6T}jM&;UV z`ka4cW@$VP?X)eY0{Y_kXC1zzreAeo0ry1PC65cCt$W!aMD06g*JDWe=sW$m{h7rc zKYfG8uj&3_-M>$`O?ZcJh47ui%Y}a}zJDV8sxVA9#6o%bO7^|N@Zq}T=d~ZnHl8T~Dy->Gpaw0A8Mz5S;-dzXb@ zCHg0{4=)_Yo?h?y-~V}^uGyC?{1$}|*KKY5G5QBYU$n=^n=ATbqJLfAF$u?|W1I?PMgFKI2L zvuA-Ctuk1f24;fsquJmio@xt+_6i+igUB02WB-F?l)@1x2y9=La_l+F--3*RfU zYIeu`xID(Ddf{rPvAEs7&_@xe*4R!JD=;N+3nK25Cb;f!?+W6k{JE>l5}SzMG;8fd z`D<`inVt8B^Ja=|Utfy7L?4hU3D;nax0~F@mN&z7R;$sXCBb(IqXSD)<~`<%O{rY} zac$PGNc*{Y;pdrTCt=Oie9@T0Uy;9WCtRGn+AbD$Zr!!X9LLXTL0Lk;A^= zwm@0(xlZO8tn=Tu;=IX78d1~HJBvICmu+p^d_P{)Zu?Bs@OU?!uJ#qnM z$joEFm;4Oj!fJ>GRQ)Z(8Gn~kPjVH&k#SLzQ!w1j?PE;wFyx)y<=rM_&m-`yUS_^x zz($lJ`z9KP&!HN*YILVgW7u+%J})Wv*|E%Z)eI?nyqPRo|MZ9EIp-1Ix#;2u;6$@( zGM*7vP=3!&2~Zo6#1L3MJg2d=qnaVL?PLwO75<{;s+%;j8J!#1clAI`g@{30^rykr>9}ep%OLT^VLJcaZlg z9rlNt!In1GKbZQg-8s)5%}dZs5?5b2FLPyPz4tt}#gQvBE1ZYx4Vg^BGUj)p%KeSk z(IUCj;yhrD;Kj4KekANRR?*RNi7{fagx0yV4H?vSqg~duQ*$@cio7!((lp$i%8BwK zQd=Q?m1$A=_o|djLhn3Ua*N;Q7H;ki`Gn(n9zU1|fyb+_w2;n76i;Wo?R^+c7 z8%5Ud!S`s-cIQyCFnpV_7$MvGwPN9)t}8-K!}ZR{g*l|g%0M5s-2qgt zS0VEE0PNh{)wyj;!l1=GaeR55Uf}%`ai_-%d^JXVV-e>ojl|6gxDJ!XM|$=mjcdlX zh2lNz@kb+Q+p#6lz-gzMYfNHx?Oc$lmgrOtV3=9vI*c3ayAttAYT4PbB@wG;cW;tB zYTS%zZG;icwQ`Y`niIP30dDKBf98ZtVspnXm-j?&bPvlCuDn?oT3~`V;e)zYV)Gq3 z0$WwAsx8%cMTJyN$J{foieg(xSV#s}UoUR(^fly$Nq4!eGeL)q<}q|Y>n)5gW{IFT z8Ww(J)CUSf5dKV|ybrB!;6&2JdOsl8z{8ZMXE*+9HbPkGz3`6&b&Ib$H)zEEdqz{u~_kSZir(W@ecL>{s4+tL;enR*e;kSi@{(0zk&gYe_Rw`P6#ztjCWx*yT~-MX(4t`P1Nen|Km!Xv`33coM>k?>{VxyyaJ zZx${TE)zBj+lAf2ZwUWX_;pjMrhPy1Z7rl~wDO@KpUmjCs!*ede?+lt9shwZ#?JM}7^O3Zka6Z?zo)CUtHuSTy zS*G#nRQT}wgDGgn=b-4JACdWM#r^8Tb1}>w)xfX!T5oR}lAnBNk9t~s3d*dE3hX01>;eLn975*KE z+ri!<`addsh3Ib={gleJeT^^o+eE+p9)BO6$8oXfN!3fZZ^CpvEARY`zP#bSiJFkE z@Zmm%Yem0C^hV)3MXwc~b)x^W=o@wa{Xg;fx>@wyqW_xkI?+F&`(wgOMDG>RrCl$U&=abm^O0GTM;p5NO{@05X{)gi8FG5?B zGd@)cpVWSncZuF4dbmz_A#~#(euuoU9fsd6f5$@q-WQ0^FN*I9(Jf8;Rf@h&c%|s? z)ctM3MWVl3_j`nkMekKUdqp=tOv~pH(LW-(`C%G;MD$OHZhn|Xe_Z!(yUOQ(F0>u| zPAU9n{+Fklzn_KwLxsOh_5XU&TXlb_%4_yp3%~eI|6abQc;@G6^o^qbndr8*YV=;w zpBKGa^h2WmSoCW|KOy=*iyr!^z9{;;v~ClA&$Qw$pP$0_*!l~;eSh~J|J?j1P3|=+ z{EYaUKd0rhC*&jk;ri;akREH#_TGP9f5@cvPnE(W%Wtmk-zGd4S_8kg>;5tM@s>fe zd~RLl-`{dQe+M+n&vVLWv*@AUY>V!{xxmLWe_#t=cDJvW`}I5{dbQ{eihjN5t)ef~ zJ};|F<8w&#&@cB!(L=x74~kE%=+7xUw?+SUZr+Wys57o~f`T&$?8vai#(!?j76THu zZOAUpeH7lGiDgR$>_TVflxU9HV76|CPe={hJ9qEl`w2|UnUgb3 ztzz3Xb5b5*#b-)-*JW%hVhhbKCj9=01>Dha)2rgECYj6L%Yoy}=ewBNvodytMf09} ziM^+1f|q7yf@k>I^-=HuzYcz@r)Pp&>(|(xQ<_J5RLN0-v_HEm!-QNa`BuY0j z(S+Nit2SYR+Q#`e*dMhXNX=hi8B16icD#Sr)=iwa9esMBX(y@OOD1i4C%!gSc1Ban zW0<$l0&JfV361=$cedFvY1^>Foh@ID8#XkpSF2p_>nvokY4hebtT#ncI(zl`tm6IV zCPz%L_^bw2xmT>dBIi)CP}`Qd@y5*Mn=a4n-RnO&Vz;~UZy&temB6nnSd+4sWSh+R z*paiFF$Z!j-xstAlf5kVc5dCho3Kv1^%I*P#lo%Gv^n&R^N*_@++}80Gx?i&<7SM= z`1hSL9Sml??(NZsK-hG|d-QuxtRIHY-So?{tkts1y4)dq3Fmhi?U|AvsvWYU&KKs^ z_7Pb--XiukjoEY4k#+<8zpRPimH1^OXw{9i#lx887;;0Ygq zj~4cDfR>pf$p>qPmLYnI&3BmzUu_bz`bO+U542Ugn``{dHSXrx8`%nE7DaqDt*$u8 z#&)Z3$DI;ZZC#r;b;6jf=XYO~aR&{AiJH~Or9>J&sT*s^%}jh9>5Exb=Dmjzpb&5JL->+j#z*=g~^0b$c_r~%VDIidC)Ntx7o6<-TJ#t8huS`7|7I-{ zww>EiTnQ71&u|MRUs}DdoAviioB43u&dxpVKLljL4n%Z+xvT1)>gq&w&t=uuZd~B0 z?|&DEScU461f}UaPEO9Vr;be+DU(36*qLavuZUQo?M~-0GNyNO1QiYnTlUZswsA)4 zx|XK84ULJ_>+0$g+d^}-->dD*#F9eGZR;CuZCSB)L&L4vx@8Tv=^b5&g%qTN>;Ja3 z8-I;lG{z14c8_cHuFKh1b!`pMRvE6ktc&tE)qh%>9)$D#oHu~+)e)B~g3Y&db*PVXm9&Br~eeO#**K7A4)>Up}fJ&@wS{tq_guT}e zlHp5x3G3iDP)*%8xOIaa-P;(S-2#^_2D=Ke+*+;OAcfPF%vGa3iM4ta4y|drwIRD=V*+&)(M)L*>e~tRkVKU~9L#)p+yN<9Bp$ps&fKJJL3+F& z-^u-x-1~FABu|2F-Mzc>hO4jUt=XcM%X}m$>|6u}40jelj7W>Jfhtt5-H7c&*&7X; ziXPjk3w#@yx7coKg!?S6x!Ke&O+-qE|Hus=Jmdg@++v$XKBREVwbx$HS4jN@pDg8K z^X^?8?qYk_y$Kq3%X=Q!iPs+McdP-lxCsr8N)P(0Ee~w(Y_T5fE_N`o?DChaJtVr? z_^z-y)3kJUpls*gwsZ{!vYog2j-{G%KlC-ce z;ZoNSo47T*%#{jX5XWHirj{-KEIs7Sb~ZSnonso`*|L>Q^kkDOsrGj1l`D5eku61g z&N={x3hr@aKPcO!U&pX3@1|r|(HfU^*A^ysmN&cH^gxe;a4hdim~lSLnO(QpAnvH{ zKqLR$V(0(${^IGNhu{1EgMY^NY&_5OyjWg}(ay%(o}Gz*81GEai=}0>u-0rkYJIT< zXV8{ST|3NvV}I6-IN^fxPW^p2DiR){=eK{+{_RXul+1P;wA|maSE1XRh|BoNO03J z9O%q3kt%j&Gvjt~)zUVB^tS&oV;rXkn@7-tMu~+mB z!nF+Q+>SO%wj$MbmpCrulO6#TCT$+~>_M!j7Jp4zb|HRtU z!9D!0;g{g|Cu>dzzt8WZ{I>JEjo)3XP6s!Fm+?EF-@mUu9sD)FZ}a;czu(~ZetvEI z*6_QY-&^>d!|#6*_s{vA;P?CdKFF_w-{IR%2k+eQAOCv-p7uKv?@Q0}%;G%%bLK0a zX8byykC(;!f&z?(*}}7hO^Jo;6ARZQ7W(xD6K+eH%W4*D)0}rjgMpp%!d%jy$mqwt zvxbib4{sj{W#e|{{G0CM_(^yAOHOur4c@6a{>X3+eKPU;!1jCH8IYEurB^H*CoRQ; zxp00Yvm%(QjB_!xQ5y?;2CMUZZqht^oRY?9rb>TQzANY%!!5jtVZpig6QSBHn_`gn z;PQputXX7SWTeR4lv&rbp{2Q{CA;F*^&2d~+38uhC1JSLbv~FY=ZbKrfzuUjdg*L- z@e#BLzin`1PxJ08?E8y5+pC-zkZIR^-LC)PniD=>a{&3>;A23U%7 zBfkaiE9-ddCDitKv;cpq`)uaAb-M-3_@hy8)Jv=~W5c4JD-u}P!W8V=uz7mcWAdIjxiV+TDb~XX86-uCn`9`-xeFu4Sg|7T+w%#C;s7%V*=UsSpd*dA+y%U|?-v?u_EMIkVgaA+N3h zY|PVeyIMBii;6o>ZzYQ3*%D{HUwpAM%`>ao*dAwZ725ztXxa{^xHrab>Hemh zZb~d!vV>;+pg&lStDA4Wng83_t<(Y5FBw~NZt~cfO2h5!W*zM?GJQd>CCz>m2keCv!z1$)Vi;+TaR-GO|$o~vF@6LBT}u-{auH|`&z<8 zw5HCy6a6#ln3a_9(HfbVZKh?j4!HT(8*AAiiI*K-Qd=C9Nb58^lk0rc%?;KZcw1(3 z;^61-n<0Kq;bIhf=nU~R&JB4!?Fp?B+ag4)PbR|94Gno@J1q@?=({5GGJlkdr@*_D zO1IMa4i*pSXQ7_XDrKEJI07fZO<`pt$gW#-ea$--zjM>Qn`xnVeD2)6bMwxQaB)0_hpwYXEzZY7&8;~SbSv?^0h9K=dWm`2<1!F1dmJ)g z#p@zG0Mzfk^BcQvFpYzzi=n!~Et|}G7(JnRZ0mAIC#%6kQM`@a40|0rW&5^vpA#>! zGKDfdPV$>D;uI%B>Kl!vlO1th53nj8ad9__?;k`mEmteiND)RW_Q*3S_M`}nMWU|z z6S1CPt1ieG8Xs9M@&NZ%d*I%sZ}18lqbSU5t~~HMqmS>C$`KKT^kF|D(8B47EV^TX zK%U>K=^DTm>^g2X8evWv6IZxQo2 zuka^auQk(Qyj(USCfLGc66)G(7db#D;O@G`?#@R4P0qKR{ZRH5`T9dfm|}NQsq!fn17j3#-&u_ikUgy5 zZMx4bF8IL&KWHz3V#*3m@`=z}+`nuNz}@x04s%J_lCc3JVHS3FscFxH*~M{;z*1<- z3gT#vEbk4I_ctcOGA5w#fp;rTXfIxMKo|61UD5Ol^LW@Cb6P6vLo6<>zjZ?sZ1Wm8 zt3_@1?cBZ1TPfXsbc;`JEy+*`voE@n@$H>m&RNBFXIXyTmOU1lo#bX6#(jx?A%n|~ zh1)l6HnTJ17_8{BD^`|J>USkNyY8p6_c&LNu0%W!RuQIivqprA z6U((Zml=Cx8bupNb=is&c{Sa`y&p&9&JV!hokKTb?a4)0+xDQk{|4Xt7i1cCY+2Xd zuxVGv9w{^pzL0HO8gkqGNGexXQBteg_B8Y$ZqR=$Gr17C1Y>!sXWpA1%;(N%t{nO7 zvTi&k{zbV1QHT1%0(G)$AVf~qvmd$v`v{*AR=d)dV zoN2VhD@X~Nzk6(3_1ZgjKIp>aq_7Ldry>)%cbp>`_gK5IEadt`-hB3@b%>ojVaaKjc=H^6SoZS9efFUL`%S!|&9#MMH~Vug)J%=eM4@*B!4_ z+rnfET`U4e6-Kvi!5andJl4MQ*qb19FTqA)P7QGa=9;Un5ne02E>UmpZr2bXyvS71 z6t1vok{dhSMfj|@!MH6CQ{ z+6)MO4tGQNW~ggl^|XO|AHaL7^F}6qtO3!pOqUBEv)z<;=$fA!-)&nH)x!#cO%GV1 zaoUqDzgjIy8DfS#PhLCdtp3mD0=Ql-bXzI?tcCd~egNi#X){v}@k0o^Z{}Ex+(IwY zqgU2?u>1*XcpPPyAL*k&)KPui+J=mqrd@`Eu>WVyT>QfuB{~o! zaY=?gdbM>!pIh92HD%#TDVj|?pE)gnhVN_P!iDpgQo%0%?$M8I@@NNq?C>XiShzap zbSl@4qT!j|=gbVW{XJ+Fp)6(DEmCF@ejth^+2VCC6T|+Xe#-vLiqnDp_OA38-pBC( z>j8WDg|x!^kp7>IGvu>PztPxrNDHxpvRumVO!p!EKO5JP#|!kkp8SN@h4>A^JQxdG zcwZR)KkI%Dd06!B)4>*gPw>0Dh4n;!_57A_Z_jXt>dD}#*j?lPUz91Z@^$UBc_Ws- zx@F56nl{kropDWfcU{(XPwZYDWVX4gsvT!C=7d-}>as1jtzF-Qmd`Rlj*PofOI>~a ztt-}M*P#Pg=&DWIuDBvoS(&M_iGsy-OAFymUJT2oJ;=q0x=JODd=D(I2D`# zPl7Yxp>rpLM_&(KFd1ZQBg`8ngIcgRGZ`ELJ1ZxH1RIV{f*J7GRg*zKc;foWU>xkN zpA4GVc+}fKc(6J<89WbG+yR{pTb*}K29JXkcTEOQgNN>(4Cb?8t99#SuodjzHW?fQ zGxtvh&w@=IlR*U=x0)WD3|hg~_f7^Uz;W;;qwk#z?q-8k?T4U)Bj5{Q>xT({A^F-r z85{$T9U$LqkUI%xz{JCo!4j|4S&B^Vrx}@v+IE9<1&sf8Zf- z1Wf!oqc+~FiCcI(G zR8Y;v(+aR2Jh=(}U}p1F@H}{;V=CCNfb@4v1qZ=S@F>^|o&YO$P6aQ488E>nuBI;P z3rsvP6&wRkJV-sTp|iCIKH#y>Oa(Jw)8JIFn2mkoU=MimbJP!b;t9%MO}%{)I#_Xh zDtOB7!EvzZ%Tqz-8rtz!rh*Qz^GWgvHhrD)T?_piyg#u21pKe#J%O!Y=Xarl)!&;6 zPJxHO>P3{}!s*~7*blx89sLq4<9!4|M{ z^>pwQ*tCZDVDH-Lp!OY^)EI(QtcI657?X!qbnH&UL@O$Qsm+CP{MdJT_J9;bF4G#wlT4}s5u700K88G8;^)e`>8qz{gO zyN4O`agT>%Ua0}S`HR=x>|0eGb?EhoRvy}9{H63gON5DtH z&Znk>5wPOh@L2{wun}w;o(>)Y$H5bJ{~g`~nE5XGs)xRACg=gHZ<`68w)^Ip;8HeI zwr-pWI>CxNW`aXt^_?@pxZQUUo=un|;88HMYbK~#PWnAFfqhoC7d#3k-b;9}^?mTe z&7)%POmH_?+dmT=16zN6Ca72epGTpCCqFe4jDWSjH4|i3693ce`2$D3I}@C+`~Ob( zRn#xo1Xg^X{DG}MfFIZiJ_YuI&w(evm%tG)v6^y$7l0@JbSCHpPyQKu48g?zmL@903o5=VyW!!P>v3oJ~9jSA)m?hWZ1?|DT!Q1#sj?#J>gl-;q8z0v-oX zg3o~C;7PFa@2THg$xL90rm&vepyOK=`}JFIWY( zf=j^6>rMxc8y&yhli(rng1fnYJ$%7qZ#W$s0mt8XIw-jZes4M*%m+_`_8F_peBy&6 z;Bm0}mre&SfE5>>4i>)~KHx@h1Uvw?UWD%$*bklrE8aqW!CJ7Qg?xjTf+KImFWK%h z@C94J5wH_{0qg}&8NTgw(Ar8qE+#)fnQ|?JAJ_^$33gs}I(QN61!usD>!{Z) z@B^2C)nF6Y1a1L)!M%2W{psK-@K_DyZKGbnDzNp2(?LHtauekPt8a#{AwGqz?W70x zfW7sU+i*Gatoz{CNIijvn2U{owfN{=v=zj!Z=>Nl-amM#iTr|1w-9d|cq{M25dXAs za2(A13iWUYA?%uoFBEwsw#{*tDJJJILpIpo2|4w6mS?2Wvt5yTC(Y&UwZK8VYCqbw6iF8FaJ%8mdls{P3o4EPS@4E83OE0#l7Qdcf&&{WT zG9%~@ahRZqC&uef1#g?n#nN=e$CAs_^B+kqO=li1S(>goa86yiy05e@y?Ecb%hM<3 zq%z5Q>BaTw>bi6lVV0)n6K83Ea!t2cg&_|5RExb0N13bgz^l59xNe>l~U&KxMYbzYc!w*1}UCBZBoi>RL};&oc# zUAd^5GnK19l{!^gG#^>Z$3cD%!LM=Kso-6ykRSPY#PacQ$;!fdYE8|Xliu2x?rco= zET@#q)BE}L^E)`FE`4ZDWBLfcW85F-cY@#3+>h{kj_Z^BUgS4EXHEJP*qhvvZoR!| z_Ug+U$xbGjNW66aso?Wb-gqy{TfsYAnQlsbeGa^q&3c8)%b%i*9q?+}c`9hVDJkqWvR!C*IQkA>e&4B!OK>r4_(#_E+uU8M_jCeK=ChIo<7F!I1f&M zPxBkOtS5DKQ-tlUY)tR3r26UHVvMGHW^5IOi;Em%?@h zY#V=8w#g%KT|s8+$t>@R-*J8?$mHzIHY&5cD>AsB4EOW%nO#n1DJ;L^l@zveuhqoX z|0L$SVNQSH)h#OF`whQ;DzGMDe@1JB_5!q0NAdmSZfGZ=y#)Gx;@Xbu|GECE_uYF= zs@fXQ8T$XFus8~z-eaeN8!Zj`-2sy)eW~T?OnZ8My^|HLe?CjNgM|Bz!ab5CUG-~Z zOP|S|eWl5sdFiV9n4DQwzNLV&v^=pG9+#fOxiw!n6?{74=j24A$%z=hzI0Vxj2-fr z@U6t%OWc27z>Sj?jZvF-b>L*6s{@*4D!Hd<6=cg(->gcXO07)yB02Z->o3`C!Rti4 z16&Hhm!CAt{^nHhZ;{;1_1RhVekhsxwX@W_$-7H=smFhODtIw^k4}y|`IM6Zt_<09 zXYvb0i{PX<=h(n+H~cofbSfC)+P_EScwdUj+gEZMa<|UC%KGx;J=`?9n-wN2ALVz9 zxX%;!tI-&cla;x$xiP@<@H4l zba~bLWE}m#8FTZ;Nk*TQj6S!4OBs#an7;u<;JNb2;O}UMG5)!JpKJ43My%8i&NS|) z9!N5pt!6a41+>x4mG24oZ+#uMJ=o{Ux51UK1JbiRKhE>-MQ!9Po)oLi4K}v7ptdU;{i65`S)`^bd>(|K?U}R^YnM$1eNnmvV}t95D(lH4ieJ%`ms{PL zoPLH2vz33%2(FzJ$bHui#cyOz>Tq#>PEs#`#YN|#zptANu2%jYw(<4=CO%5t##>E_}ZVfk=^h=*g6^PHv;eJ0K(k$kLu)dsx|AX zmABf#<3ogm@|to=9Z)?Iw+$`zC`A8o`ZE zh=wFB!v-j3MLm!Y66OWMd?eC2a&5Ul=dih6a*~%&Y&=g6@L=|Y1o`lTIgDBDlwlQE zXJeQBt>$;ZFK})jYenl-=W6#Y(|moBR>uTPgH=0kdx=f`<&*Z%pf zJn_20IM1FuLtNusfinNhS)Nz({CS>ZHWcq>(!Qm9H7VGfx{2o(y=OAmV$b7kJ5Tnn zDEAtBgUgr2+fTd=KS#V1#5?da#%m%yThDxocyG`=+C5&G23S>(F$ zdl`OJADj#xiTal7;|20k<6UR+R8jdRect%hGgfc?FUTn7_g?;5wI%R*ns>Bg!yP>_wQP8)*C!zI1yT)kf5&KY{t({-W?>U|w=Gh*5Mmv1i zY&!=`2kEmp+dk827TB}bBVP&k$*3JTT?L(XUg~@@suqA|<8_5Gs(Y?Ix|6{&Rkz^85Sz zjoEZ-eR}KCbZ0}l$0XK@bkl~SFQ>lz30OW4e_MP0=#?S=TwV)gIdjj_)Pi%0W)@lb z**B$6mEMx>J(qbV2D|an#1XWmU9NGY{4tTYGc{2EJ zlsEcGTt7lT+ehUzp;uR=9hve61t54`Bi{P;sK~!>bGGJN8)lsCwG0sWRXK-6lj%CA-Aq1=C*Gaqu z#GB&U>NY+%Vk9-?k70a8`ChJ9xa;NR$u?)+vLV*B$tU3PB0P3VX2op{Ik_SEU7K2B z)mf}fc3K_~r04xDbLB{$vN1b1$_j`^YN1Oa~ETpzPK^{;>8W=@r%0%-vjMdXlubbi~mbWuGT==EDFh1 z^E1Dty;GAx9oGpO%mJIbYp%U5Y7`%XK8DoI)SI#6~ytEPg=NY8P_(?*@wNMc2Bwj3yZT8KF{;svpk>S`LQ!RH~r!w z6pNEQXA18Aj8+Zp`2w2x@I4o!T}rr((4K{Mzr}QOG-n4g*>kt+mSocS^%Cx)1-UdV z?xWD=LwlvTPZF-RAg=ij-u)`#o+8}gSlq>=d)_b8{-AwThyRf^`~cPC|1WW!0+knrUItE?$7dj3ffc9z8|IG`kIp!PLE$@ag{mbGXBJ4#=b3CoSpMW+WT4f|BU40kWh^3#lrhZub-7PO~g;(Nj%>Npuf+H$- zTyMy=Tj^4*$@lQ;X6rml%O8L~TgAe-xrHRQkVfP3so*P7Tg&A)C)btVrc~PUJ6oN` z>cG6E$OETmTmOBAbPlbU3O;V-a^qjI@nahuIBr;4UVfP1WeDk#mH5#v4C5B$G1upi z?&qiK%F_GKUzhGb{|=CqpYu~+D4uOv;>X@Z7&QCyZwbSGImH#LSm(Ea%w*4B39jM( z9^I!tMe9AkK@{UpwyccihkUgAXD{Ot;=V-O3VdvT*7_l;vkNb{gz<~`ZmR0)H#dG2 z^mDha)myybQ6oPnDO}fb<3Icpzd9BCdA|Nq+|I*1uKrB?VPpKBhhP6g`22G1``I$n z4OiGYjM=!DW@gY9{rqHwvvEbY+48n@hT!4k#roX>2B*w_!IwC{9p_{dOe24u+T^d& zT4!s#4Bu7o>Va4Nho^!MMR_CXeW}&yYF5DK`^9`S$S>geVZt6E?C(ZlsrP-UThfO< zSYj)@Hfaj|ge;%W625BxRPavjjToLU)K55UEch4rSEbp96bbZ+LGxM=H@M}}S4Q!j(O zk>3TEGe0HV<3@1(JeSAZJ6P`h%sNvY$#f5Ar=|2(w%d3YbpTb@2NuRBfnzhEV0 z9;-p~ZU>R(^HK}mz!ma+-VPTY%5zA3N9hj3{P04qRuiUO6f2dt{~;g_j^%U)(*uq` zdlZ_fm-feP;z|DNhxR9GOAp)JS2o_%;GFdQRp|%N z>8ERPl&ft9>!2iAs?Mpo)>$+b9li{&#c!Gp?m3f8 zXBwG&%+GTuHMwJSSy`U^Jfyh0gS|w{Tm9R?Uz!e9MR_};%r?2Xx@g`Q?2MP~CtCgH z>EIErtzI6%cPF$>F3z3C+?gvpXjzHsUKc98ZYXzFZrO8ahA?0o;|^{ z@7Ocf?s9paC5M}m|BXD)mcz(ZSAJgTV)gd)&z5*sYTpuX}Nvhjq@a!62S)Mxoob;&@mR8PT-2}gu@e4 z8AFTx;`$r60M>QWysE;G@ar!oH3;VE19 zZV>xmo$Jp}!M}$+V;?LD`8ye!vnM+lDmz?j^4F=^*>gDFll_^VaKY8gPuW}c4kOUg za(K>lUqn=i8?#+st8-gB65A_bnu&n@j7kRtx6_r zEzcJb_Bde^`Qr!UY}_BX9$oMNnts7T9%Wk$j~;mJ-ZdS3Uv;i|MUIE%_t?VV&BJUoU4mNY`+ZXLv{`0m60^3wuv~*t-ck@+!mbC+r2?ugur_!xMzvNZ6fG9-{uRDSTBH?s>u;dKKYH zu0ub3g>cp$7Z9%cLH26SPPfTyD%Gpq5J%B@F7PdA&tkv%U!dAR@I{3qQe$@_5h4`-p{oV3?f;f*8XI2>t_*>YQ2%C7{tE;>D z*V8{=MOf>P9D|s6k+7X5+&EpzjqPsyDUhGG11B|A+-B?M1ST6EgH0$aT|%d=z~9Bo*yFaLE`>A z>7F3&3~~SK*~`1HSe|Ey+xnrL%s)eUKTs_0Vw8iYi2Jj?qxs}>H*u@jtA4xXdAaH3 zI7pXyozwQgckt|cuVyT6YA-qzn=_}iOWR97&R+Ou`nYlJ5_RE`)Ee_^c58jPx#jBg z$PKA4onMrl(~OMY0vcy$`AqPRXim5?nu9q#F0NSQX8{xMXeytTV z!55;ky8NN*Yu{ULPRBaq+~kjoX3zW{_s_+6JQwpaE5f~V8{z#Nyq|jAOwd+@cTVSY zx;wh`+~ik_@@^l3cN_=5`7ig+v+m_$|1B`Q&Bn%{GFo2j*t- zHDJ;*C;8iXCSzysYbDM_l{3MbsLd3c_h@~EHuHDIb$@1h@5O$ANy%+BX~5)=+G&;r z+kDc1gYi-vjl->vn|Rtm7M~~W@heHY)aUnOsDPo(AlC*oFTfvQGqVf!MfyFH4eY{T z(;&=G&bg1B63IWKQfE)dTw{iP1;5qrGW~NVvQgDSvvVh&f%aat1<4rRU3_oFn)FD< z{KyNH#rkrq_rvfgyLKjMj@px(pV55!N^oc|OMcG}jJy&I70b(Qn6vXO7F{~zc0M>zBv_37_W(U#RWcId_62zXR`a?OMkBQ@!1-DSS@bdWD7j^ zFP{nCl3xdI|D3a-Q?2_-vBT%7r}gF80t)l_-*a7r;`_3CnfVm_8yjbWdsAVa-FtR+ zFPCQ)Fe4wPCiV~%&2nRTC($b~mUOJ*e1WLV6l<@p&D7H>Qg1W=h}pAAvU-}v#AcH@ zS$T{kcW_}la@UGLYF=JEM4Dx{%mnN6^Y8k1uFk{xYwCvL`S(?BvhP{=&EGH+=}`}3 zAqdxUo&2FbFjnME-sxZ)^C`YPWNtz)gVGqZLSZx6HPxa{FPZ9b&4+k?|>!t(Bh zXW0j4g3F`wI(tBYJj=DQ-?ReHHdML-^Xd~%!SBTn&IFHH0?y7wdENY&8Mg^%M%QKK zW_QyKYZT$-MMNpNnfCLcnc!C}{u=Wm*_hZ^mStw)yU*(KRZ!x?(DL$i>BXzlwQHQLTU+py zH5_YSi)tB<{!4Cri?@lK50QI+S!S_M^Y&&7PDV>BUoX7Q>zfJeJ($hI_&*A5KD5uN zEaFejwI7SJXq|Co`ed22iO+6w4durFB)s;1cqVUO^2^YAp#7NVUN*Y^;nrZ_(}pyS zs;Iu4He{=$zQ)|jQ|_rxqrQ&(?w<+XVEp*AbT>k~6xtgd#rN|LXw}gE)oAdGj|JFC z`_5UBuC>*9G7>3En4Q@elSguUb?%16lkhtUztkMh@8RUC{C;lle5a2c6=-R=%Q>Pf zE60dxtspYn(OauvX=eoWe+0S8wdMCf((ThFd+~j`b>*!*ZY1opgk?)%Tuv19>2S?8 zxv6N6t}jnrIH#C6^>uobG%_EZ2`(fF`^)e<0c`=aRYqVPcwe&1t?4aGmoz5KW2Y^SbrANS6!v4b7cIW7;{2fW-fWZE;x)6D zc5U;f_1o3(s(553xH)PA&Oaiz{)7zgD@C-}`5aBjmy0r6>1E78c$Iu?CK!!)<;Dm% zCdTI)O-UqGkx>U;o#g8Ucpc=-D5uK0dJN@vZZC+faO4e$tHOQ~>lNtw1!3H>1{E81 zCL5Go|7U@rBOQFuVyxiti&%vYq6EndF&&mVsu_XDW+3pA{%4w}d_Xt|QS(HV7KFV0bwQrZX z_GKc6RrQ=K!SJ{-c3Vr7-NY~ZjhW!%QQmmBv(9H=Rkkd7cy{?#IGy-7JhlwbK9q+8 zEcMWL*QPVpU%mZ}In{^5Yn#8mM4XCGat2n^rpUMYYfjJ7dd`W`)CI*At!SRNWI6Be z;7stvB+O}7@o_Mx8##U}(R?v?ge8NO9xRcYP$+-&`MY<1oGysatTxU!Lx~J?He!%VOLiJoP|) zCJ#egFlFO3ZQj%jQ4U?KOZx2|ql07ZIGZVBMA2)uoGP^H@Gt?$3 zl-=Qsnaj)XjmAuC$DPF4OPo;N8SNoxJq5Ib&~`)n1>?=1g*ytZGe)}+y%9am& z=V8(JALG5Jns^(C_w?^#uP{cgzq2>S*@^BWsF%&l%h3(|rPIasTl&OVt@?@E*lbMc z^-8%F?+s=uGf6%OmwNYrJss+IgO!H%Btr z$s~%GI7<8x;=fn#<6)Dd2U5sA&GBru^__wSLlgK^0m+2CjUO}cOMHGN_`LYZ*97}( zd>zx67FoxnZL->5sC>A?AUa^XaV_oO3+U?VFSE{qpsa4MBd0LgAjFG`3cS2Lbq*b= z@ZbW5^KU~fIJtn@vG)5k>6JW@n{OHId1w{TUeC4t**hMGb`i9%>mA2!{yE($IZBn$ zkE1Ltbu(p-(TOOyV?UN3CQ%Fjrgg}VFOp_{JEl%eOONyts!lhJ=69=W%3}TJQFv?| zdiDLs(tVmZ4-x0rxsJ(V%3vpT`1#AS^1GtztR3EBgB~*48kn`O^O~4X!egu2L%e(i)ZT)t_@iGx*L9pFV6(mM|F*Cj_aT(;Ymk`07k>hku5QqCT{~ z`JQjl2!_)Y=n`dCZ3hWkPuRbRWDzYdE{o#2-JvW=K?&P+!@1rlhkG8@>6$;|&@;h8};?l*bCC-ws%>)mh zHO`hOj^$%FaSjrvSUxV``J+5P!t-A>o^+Yyo^+Yfk3z5bI<{$}H>E2!kOylEPeHGO zZuM+`))trX7x2Iftw@IRO?)q{pT+uaZoA+b(I_4pGEcj#O zn!U$$HYd7;X~Te%TPucb=u4)qq3u`DdCHJH)dYK%I0v7a34mO>`|O-RODL4VcZN;c z#VNaucJwpEX@vC>;*1j~EMKv8K6Ekj%Zw%_=t~S>c#%dFj(=Gr{)!{+^r5 zx%MhM408ZVQlz^xD1D6wv)3b>&Cu#*oOD(X$8CDN6RVqQY&+8F@Y;)Bg5~W}6uJGx zd9``FqiEh%oHcKj&H>Wt|ISQs&#SBhOz%bNfTfq?MeD%n;+D?KR-UJ4g4xA|=wDT-&Cxcc0ndBew0$6kK1G2?`+~R*P*QYH0 zF=%_Ch36tge$&-%CBipu=|s;H_9SPVhkep`jzfFCfM#c8KL_pgJh#6K_|1p*0yIn0 zWH2it&X2wt`V90D)!idDhQ-Hp?1iS+u|28WbhrZ5&e={HVc7$phepowuHE<++8tA` zFFw32Ew{Wr1+Rmg$zIDfWA33jJ?S!g&(A}*v)Xq?_7OLR=K5584DFp`M{mv^L0K64 z`=SrL-)0l()H9$z{VaM@2{%qI7mPLWvTWrv1P*awvh56@v(={+u1p8v`2y#{Qv|+) zkgm9w`fug(81w~yITK75X}dWcEvmO0t=?uYozX}7iirvT?k~8L^89cnxYp8kdH`*X z%LUNKp`VjqpE(=9lTq3i)5_rr6!lhj@IzzKTp$rRhk+B)*7^E)F}-z7x^u0+>2T3+ z3(t+PHglBpdpYa=U!pO+;C<%CbWX-eEwHlBuHU-y#qc@>uSF+W*W}vD7@t48u?ZSF zjyvNpZW}W_dC^_e4{@_mA7G$=*lZ5*d6T*O7R(`JKaS=QjJZ~>hm7BkW`a+isa&}; zIBZXpiPzb$ls<3e8iChEFU$lpT>Em-KV@gYJ<-{#RzF53%Wy@>fW#`;KI+p9-51X7&KGvnH*E5}u7S&idW${0L?{&Dx;c@K8 zGr{k`udrX`?6qz_;%!bv-Ztt^x^Y#yX>+=_s0+Iz6W!Y83V@ksL4s4c9D_G_emaZY;i%5*J@ zt4o>J`i4P;AXt~%X)npi^y0PYT7SGrb9(VQ7ZkDK_dk-x#($cLe3LcrXKvS5lKd6& z6tW>d);^yl{L_U0jUxTDKt|XJ;HllkeK?$~u7=;G?`AyU8xJ4g+RFo{?>gIx9lmEP zq)-^ms3mME7ZJ?9Pq2kJZ?!m1Uqt=7&5dqOU+mHIxE;`a%YZnc&2Irw4-xKeXq$`= zQxLr;6hGcmlxTxH;KbhR2;mz(o9{R|B7<#dWzuYW4lSC2mXux6`jf| zz>OKjWSQi6Ytr^R&K{dsFI|;%CfmAn&obV`x^yd3x*{RXZ0OqSIO#6nyBja$w~c}^ zQRz0Z99xv#%JL0G=}XI7NoNE99iPgrOKToZ8j_F5GtQIUL^p`f#Oup<7D&wHwhWag zL!BOLvg$Z#Y?)?_jB79F7<1$HR3s#`);!(2kqKEIfvCo-gvNCcUYA7jH#dG4$QfI= z{D-1NXL>jvUQO`Ydz!I)wemwG#!Vpnn7>NdstKGi`wC;8UO z@09xT7vGodQ;I$fftp;AJf!Au_wHkP>241Uy z*J|Lk8Yor+|6J#&Bmc|eM|xJc`#A++KQ4O0=2Wr2$3!ojdmI+MAb8@a=r(tW|NZnz zod5W<`Aqz8NZ~VaBG-Q`dTjyy8PR(S=zlJHqM%?WLwZ30zE^KE>D*typWXdK7(Qa; ztvjb8ddSGr&)?(gGvN$s#=+Cy7SY2R^7N}CdVWpRMD$i;!e6WV|E7rUZX5yJffVuCD z+KW>5?eq;1J*+uTe``b!6ZZ5gBDxvs?9bEv_3ZzDdvCrR3R4Mj?dyD;@cz%*^6wMQ ziIX*ekhOgDKjH7gd}rqPfO8c-O#i2WFVAAX`k0`f?6e?Za~aqD%)iwt=Ks6U zx;^`!nqdDzU(bb!RI2^d2(!XwVY{$f*e4ti4hn~a!@^PFm~cW^`s@CEy-`>xtPy5~ z&BAtJx3Et*ARH7935SKF!ZG25u=L|fUsx%u5oU$W!ggV|uunK3925=-hlQiUG2w); z^b<;7SShR#W`)hdc44=$PdFeP6b=c8g`>hT;e@dCQKc`e6xIl{!e(K+uv^$C91so) zhlInzQQ??yLRk76N?%whtPy5~&BAtJx3Et*ARH7935SKF!ZG25uyjD_3oC^+!mO}a z*e>iA_6Y}sgTf)iA_6Y}sgTf)< zuy9m3CY%tKep=}ZD}^<}tguugjr#;uwB?K>=OCmawC3WtQl z!cpOva6(vmSm_HZg*C#guvyqH>=yP32ZV#dA>puaR5&J_5SD&M=?g1`HNvd0S=cV@ z7WN4TgoDB%;jnO2I3}DBmJTX?VWqG}m=!h)+lAf2KH-3HP&gzU7LE$XgcHKj&nkUk zrLabr6*ddoh26qF;ec>ZI3yevjta+w6T;FXN?%whtPy5~&BAtJx3Et*ARH7935SKF z!ZG25u=ID8zOYhQBg_h$h3&#_VV`h7I4B$v4hu(xW5Nkx>F+6hVWqG}m=!h)+lAf2 zKH-3HP&gzU7LE$XgcHKj-&gv=N@0yKD{L0F3%iAV!U5r+a7Z{T92JfUCxoR(mA2|n}zMdZegErKsYEI5)KPTg=4}AVd>|TzOYhQBg_h$h3&#_VV`h7I4B$v4hu(x zW5Nkx=^rS4VWqG}m=!h)+lAf2KH-3HP&gzU7LE$XgcHKj&ntalrLabr6*ddoh26qF z;ec>ZI3yevjta+w6T;GCN?%whtPy5~&BAtJx3Et*ARH7935SKF!ZG25u=EQ`Usx%u z5oU$W!ggV|uunK3925=-hlQiUG2w);^beK3uu@nf%nF-@?ZR$hpKw4pC>#ZI3yevjta+w6T;Fbl)kW1SR>2|n}zMdZegEr zKsYEI5)KPTg=4}AVd)o@zOYhQBg_h$h3&#_VV`h7I4B$v4hu(xW5Nkx>5$SFRtjr` zSz)uVUDz$`6AlOmg+sz&;izy-I3X07Pbq!g?+*S;h=CxI4m3$jtM7( zrC(F}!b)L{Fe_{pwhOz3eZm3Zpm0byEF2Y%2`7Z5Usw9VN@0yKD{L0F3%iAV!U5r+ za7Z{T92JfUCxoTnQ2N43VT~{=Y!#ZI3yevjta+w6T;GODSct3utt~_HVfN@-NHWMfN)Sa zBpeow3de*K!qTUdzOYhQBg_h$h3&#_VV`h7I4B$v4hu(xW5Nkx>9>`>uu@nf%nF-@ z?ZR$hpKw4pC>#iA_6Y}sgTf)< zuy9m3CY%tKepl%WD}^<}tgu=yP32ZV#dA>puaR5&J_5SIRl(ic_=YlKviqTd-i9~p4lUAhfy17 z4s->E0#kuSzP#b6tbOnY2Q-MXmdSDN561V|810oE7 z`9OLgFHi=k4KxS30z-kRz#?Ehum?B^+yI^d5eC70AU%*5C@!n0cr!yfv&(%U@EW(SP$$0P69W8XF!BuFds+{yECSX8dw`R`4d59NVHC^< z(gS&cGC*yhInWgt3QPqS0qcQ1z)9c+@C=AB2Id3lfxJK&pf=DP=n4!4rUHwA^}rtB zBya0yltXK!j;9A4m`61Wq{g1bD%3Q6qpJu0@ee2fRn%t;298M7R(3I19^cmKy9Eo&=nX8 zOa&GJ>w!JMN#F+X42UoX<^$=0yg(VCHqadC3Je9N0*iq4z#iZva07S-M3@Kjf%HIL zpbStOXbyA*h5}Q8MZkJs4{#E=0XzdDEP(kydLS=Q2B-}*2f6}7fvLbEU_G!0I0@VU zo&gaS!F(V+kQXQe)CQUZU4fy%RA3RX9@qn%1a1J&fCxXqd>}oL7bpYN2ATt1fuX=u zU=gq$*aMsdZUE1K2uol-kRHejlmTi3&4I4KP+%&s2v`s70ZsxpfM-C2WiTH|599^P z0JVYUKv!TWFcnw?tOxc0CxIKlGa$kWm=B}}@&aXm+CX!lD=-w83M>NF1ABmzzzyIT z5MdR}2hsz1figgCpgGVL7z#`U76I#lJ-|ue2Jj4sum>4CgJ8K5@M9Ow!R1*QUv zfc3y0;3RMZcm_mR2lIjSKwh8>P#b6tbOnY2Q-MXmdSDN561V|810rmI`9OLgFHi=k z4KxS30z-kRz#?Ehum?B^+yI^d5jMemAU%*5C@!n0cr!yfv&(%U@EW(SP$$0P69W8XF!BsU_Ou@$P1JKY6H!IuE76%|1zY@ zp7{^&i-!g`INy6%hV=H~;P!vsrydHH|Ga-Z2`vA4U;KY=_y6|%s<{8}=MMh-jL84o z$N$^=_vdkuej@kJZeblfJWo0v{qM)=Pv@ERaDV(spZ?S5%Kp9MQ3mT@K6D+bfA2~K zALi!10^76ud)KJ@us%2Dp%eG}dsq2qdv6~)|DeBjO`yXneCVK}{@%5L&f(KT_bTO~ z>jCTk92dU(hx>8Z`p|V`Jani3(ZR(%tXKUC=H~rKKLnmJF_w5aX?X!

    ;LTEpXCnXhc0*I@7ucqw-cv&=%^|}2TT9{$5j6H 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 diff --git a/linux_amd64/include/openssl/aes.h b/linux_amd64/include/openssl/aes.h index f6e74db..245c552 100644 --- a/linux_amd64/include/openssl/aes.h +++ b/linux_amd64/include/openssl/aes.h @@ -1,20 +1,14 @@ /* * Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_AES_H -# define OPENSSL_AES_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_AES_H -# endif +#ifndef HEADER_AES_H +# define HEADER_AES_H # include @@ -23,90 +17,72 @@ extern "C" { # endif +# define AES_ENCRYPT 1 +# define AES_DECRYPT 0 + +/* + * Because array size can't be a const in C, the following two are macros. + * Both sizes are in bytes. + */ +# define AES_MAXNR 14 # define AES_BLOCK_SIZE 16 -# ifndef OPENSSL_NO_DEPRECATED_3_0 - -# define AES_ENCRYPT 1 -# define AES_DECRYPT 0 - -# define AES_MAXNR 14 - - /* This should be a hidden type, but EVP requires that the size be known */ struct aes_key_st { -# ifdef AES_LONG +# ifdef AES_LONG unsigned long rd_key[4 * (AES_MAXNR + 1)]; -# else +# else unsigned int rd_key[4 * (AES_MAXNR + 1)]; -# endif +# endif int rounds; }; typedef struct aes_key_st AES_KEY; -# endif +const char *AES_options(void); -DEPRECATEDIN_3_0(const char *AES_options(void)) +int AES_set_encrypt_key(const unsigned char *userKey, const int bits, + AES_KEY *key); +int AES_set_decrypt_key(const unsigned char *userKey, const int bits, + AES_KEY *key); -DEPRECATEDIN_3_0(int - AES_set_encrypt_key(const unsigned char *userKey, - const int bits, AES_KEY *key)) -DEPRECATEDIN_3_0(int - AES_set_decrypt_key(const unsigned char *userKey, - const int bits, AES_KEY *key)) - -DEPRECATEDIN_3_0(void - AES_encrypt(const unsigned char *in, unsigned char *out, - const AES_KEY *key)) -DEPRECATEDIN_3_0(void - AES_decrypt(const unsigned char *in, unsigned char *out, - const AES_KEY *key)) - -DEPRECATEDIN_3_0(void - AES_ecb_encrypt(const unsigned char *in, unsigned char *out, - const AES_KEY *key, const int enc)) -DEPRECATEDIN_3_0(void - AES_cbc_encrypt(const unsigned char *in, unsigned char *out, - size_t length, const AES_KEY *key, - unsigned char *ivec, const int enc)) -DEPRECATEDIN_3_0(void - AES_cfb128_encrypt(const unsigned char *in, unsigned char *out, - size_t length, const AES_KEY *key, - unsigned char *ivec, int *num, - const int enc)) -DEPRECATEDIN_3_0(void - AES_cfb1_encrypt(const unsigned char *in, unsigned char *out, - size_t length, const AES_KEY *key, - unsigned char *ivec, int *num, const int enc)) -DEPRECATEDIN_3_0(void - AES_cfb8_encrypt(const unsigned char *in, unsigned char *out, - size_t length, const AES_KEY *key, - unsigned char *ivec, int *num, const int enc)) -DEPRECATEDIN_3_0(void - AES_ofb128_encrypt(const unsigned char *in, unsigned char *out, - size_t length, const AES_KEY *key, - unsigned char *ivec, int *num)) +void AES_encrypt(const unsigned char *in, unsigned char *out, + const AES_KEY *key); +void AES_decrypt(const unsigned char *in, unsigned char *out, + const AES_KEY *key); +void AES_ecb_encrypt(const unsigned char *in, unsigned char *out, + const AES_KEY *key, const int enc); +void AES_cbc_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, + unsigned char *ivec, const int enc); +void AES_cfb128_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, + unsigned char *ivec, int *num, const int enc); +void AES_cfb1_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, + unsigned char *ivec, int *num, const int enc); +void AES_cfb8_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, + unsigned char *ivec, int *num, const int enc); +void AES_ofb128_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, + unsigned char *ivec, int *num); /* NB: the IV is _two_ blocks long */ -DEPRECATEDIN_3_0(void - AES_ige_encrypt(const unsigned char *in, unsigned char *out, - size_t length, const AES_KEY *key, - unsigned char *ivec, const int enc)) +void AES_ige_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, + unsigned char *ivec, const int enc); /* NB: the IV is _four_ blocks long */ -DEPRECATEDIN_3_0(void - AES_bi_ige_encrypt(const unsigned char *in, unsigned char *out, - size_t length, const AES_KEY *key, - const AES_KEY *key2, - const unsigned char *ivec, const int enc)) +void AES_bi_ige_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const AES_KEY *key, + const AES_KEY *key2, const unsigned char *ivec, + const int enc); -DEPRECATEDIN_3_0(int - AES_wrap_key(AES_KEY *key, const unsigned char *iv, - unsigned char *out, const unsigned char *in, - unsigned int inlen)) -DEPRECATEDIN_3_0(int - AES_unwrap_key(AES_KEY *key, const unsigned char *iv, - unsigned char *out, const unsigned char *in, - unsigned int inlen)) +int AES_wrap_key(AES_KEY *key, const unsigned char *iv, + unsigned char *out, + const unsigned char *in, unsigned int inlen); +int AES_unwrap_key(AES_KEY *key, const unsigned char *iv, + unsigned char *out, + const unsigned char *in, unsigned int inlen); # ifdef __cplusplus diff --git a/linux_amd64/include/openssl/asn1.h b/linux_amd64/include/openssl/asn1.h index 5863fef..9522eec 100644 --- a/linux_amd64/include/openssl/asn1.h +++ b/linux_amd64/include/openssl/asn1.h @@ -1,20 +1,14 @@ /* * Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_ASN1_H -# define OPENSSL_ASN1_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_ASN1_H -# endif +#ifndef HEADER_ASN1_H +# define HEADER_ASN1_H # include # include @@ -24,8 +18,10 @@ # include # include -# include -# include +# include +# if OPENSSL_API_COMPAT < 0x10100000L +# include +# endif # ifdef OPENSSL_BUILD_SHLIBCRYPTO # undef OPENSSL_EXTERN @@ -225,41 +221,43 @@ typedef struct ASN1_VALUE_st ASN1_VALUE; # define DECLARE_ASN1_FUNCTIONS_name(type, name) \ DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, name) \ - DECLARE_ASN1_ENCODE_FUNCTIONS_name(type, name) + DECLARE_ASN1_ENCODE_FUNCTIONS(type, name, name) + +# define DECLARE_ASN1_FUNCTIONS_fname(type, itname, name) \ + DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, name) \ + DECLARE_ASN1_ENCODE_FUNCTIONS(type, itname, name) # define DECLARE_ASN1_ENCODE_FUNCTIONS(type, itname, name) \ - DECLARE_ASN1_ENCODE_FUNCTIONS_only(type, name) \ + type *d2i_##name(type **a, const unsigned char **in, long len); \ + int i2d_##name(type *a, unsigned char **out); \ DECLARE_ASN1_ITEM(itname) -# define DECLARE_ASN1_ENCODE_FUNCTIONS_name(type, name) \ - DECLARE_ASN1_ENCODE_FUNCTIONS(type, name, name) - -# define DECLARE_ASN1_ENCODE_FUNCTIONS_only(type, name) \ +# define DECLARE_ASN1_ENCODE_FUNCTIONS_const(type, name) \ type *d2i_##name(type **a, const unsigned char **in, long len); \ - int i2d_##name(const type *a, unsigned char **out); + int i2d_##name(const type *a, unsigned char **out); \ + DECLARE_ASN1_ITEM(name) # define DECLARE_ASN1_NDEF_FUNCTION(name) \ - int i2d_##name##_NDEF(const name *a, unsigned char **out); + int i2d_##name##_NDEF(name *a, unsigned char **out); + +# define DECLARE_ASN1_FUNCTIONS_const(name) \ + DECLARE_ASN1_ALLOC_FUNCTIONS(name) \ + DECLARE_ASN1_ENCODE_FUNCTIONS_const(name, name) # define DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, name) \ type *name##_new(void); \ void name##_free(type *a); -# define DECLARE_ASN1_DUP_FUNCTION(type) \ - DECLARE_ASN1_DUP_FUNCTION_name(type, type) - -# define DECLARE_ASN1_DUP_FUNCTION_name(type, name) \ - type *name##_dup(const type *a); - # define DECLARE_ASN1_PRINT_FUNCTION(stname) \ DECLARE_ASN1_PRINT_FUNCTION_fname(stname, stname) # define DECLARE_ASN1_PRINT_FUNCTION_fname(stname, fname) \ - int fname##_print_ctx(BIO *out, const stname *x, int indent, \ + int fname##_print_ctx(BIO *out, stname *x, int indent, \ const ASN1_PCTX *pctx); # define D2I_OF(type) type *(*)(type **,const unsigned char **,long) -# define I2D_OF(type) int (*)(const type *,unsigned char **) +# define I2D_OF(type) int (*)(type *,unsigned char **) +# define I2D_OF_const(type) int (*)(const type *,unsigned char **) # define CHECKED_D2I_OF(type, d2i) \ ((d2i_of_void*) (1 ? d2i : ((D2I_OF(type))0))) @@ -273,11 +271,10 @@ typedef struct ASN1_VALUE_st ASN1_VALUE; ((void**) (1 ? p : (type**)0)) # define TYPEDEF_D2I_OF(type) typedef type *d2i_of_##type(type **,const unsigned char **,long) -# define TYPEDEF_I2D_OF(type) typedef int i2d_of_##type(const type *,unsigned char **) +# define TYPEDEF_I2D_OF(type) typedef int i2d_of_##type(type *,unsigned char **) # define TYPEDEF_D2I2D_OF(type) TYPEDEF_D2I_OF(type); TYPEDEF_I2D_OF(type) -typedef void *d2i_of_void(void **, const unsigned char **, long); -typedef int i2d_of_void(const void *, unsigned char **); +TYPEDEF_D2I2D_OF(void); /*- * The following macros and typedefs allow an ASN1_ITEM @@ -315,6 +312,23 @@ typedef int i2d_of_void(const void *, unsigned char **); * */ +# ifndef OPENSSL_EXPORT_VAR_AS_FUNCTION + +/* ASN1_ITEM pointer exported type */ +typedef const ASN1_ITEM ASN1_ITEM_EXP; + +/* Macro to obtain ASN1_ITEM pointer from exported type */ +# define ASN1_ITEM_ptr(iptr) (iptr) + +/* Macro to include ASN1_ITEM pointer from base type */ +# define ASN1_ITEM_ref(iptr) (&(iptr##_it)) + +# define ASN1_ITEM_rptr(ref) (&(ref##_it)) + +# define DECLARE_ASN1_ITEM(name) \ + OPENSSL_EXTERN const ASN1_ITEM name##_it; + +# else /* * Platforms that can't easily handle shared global variables are declared as @@ -325,16 +339,18 @@ typedef int i2d_of_void(const void *, unsigned char **); typedef const ASN1_ITEM *ASN1_ITEM_EXP (void); /* Macro to obtain ASN1_ITEM pointer from exported type */ -# define ASN1_ITEM_ptr(iptr) (iptr()) +# define ASN1_ITEM_ptr(iptr) (iptr()) /* Macro to include ASN1_ITEM pointer from base type */ -# define ASN1_ITEM_ref(iptr) (iptr##_it) +# define ASN1_ITEM_ref(iptr) (iptr##_it) -# define ASN1_ITEM_rptr(ref) (ref##_it()) +# define ASN1_ITEM_rptr(ref) (ref##_it()) -# define DECLARE_ASN1_ITEM(name) \ +# define DECLARE_ASN1_ITEM(name) \ const ASN1_ITEM * name##_it(void); +# endif + /* Parameters used by ASN1_STRING_print_ex() */ /* @@ -460,8 +476,8 @@ DEFINE_STACK_OF(ASN1_TYPE) typedef STACK_OF(ASN1_TYPE) ASN1_SEQUENCE_ANY; -DECLARE_ASN1_ENCODE_FUNCTIONS_name(ASN1_SEQUENCE_ANY, ASN1_SEQUENCE_ANY) -DECLARE_ASN1_ENCODE_FUNCTIONS_name(ASN1_SEQUENCE_ANY, ASN1_SET_ANY) +DECLARE_ASN1_ENCODE_FUNCTIONS_const(ASN1_SEQUENCE_ANY, ASN1_SEQUENCE_ANY) +DECLARE_ASN1_ENCODE_FUNCTIONS_const(ASN1_SEQUENCE_ANY, ASN1_SET_ANY) /* This is used to contain a list of bit names */ typedef struct BIT_STRING_BITNAME_st { @@ -499,8 +515,7 @@ typedef struct BIT_STRING_BITNAME_st { B_ASN1_BMPSTRING|\ B_ASN1_UTF8STRING -DECLARE_ASN1_ALLOC_FUNCTIONS_name(ASN1_TYPE, ASN1_TYPE) -DECLARE_ASN1_ENCODE_FUNCTIONS(ASN1_TYPE, ASN1_ANY, ASN1_TYPE) +DECLARE_ASN1_FUNCTIONS_fname(ASN1_TYPE, ASN1_ANY, ASN1_TYPE) int ASN1_TYPE_get(const ASN1_TYPE *a); void ASN1_TYPE_set(ASN1_TYPE *a, int type, void *value); @@ -510,14 +525,21 @@ int ASN1_TYPE_cmp(const ASN1_TYPE *a, const ASN1_TYPE *b); ASN1_TYPE *ASN1_TYPE_pack_sequence(const ASN1_ITEM *it, void *s, ASN1_TYPE **t); void *ASN1_TYPE_unpack_sequence(const ASN1_ITEM *it, const ASN1_TYPE *t); -DECLARE_ASN1_FUNCTIONS(ASN1_OBJECT) +ASN1_OBJECT *ASN1_OBJECT_new(void); +void ASN1_OBJECT_free(ASN1_OBJECT *a); +int i2d_ASN1_OBJECT(const ASN1_OBJECT *a, unsigned char **pp); +ASN1_OBJECT *d2i_ASN1_OBJECT(ASN1_OBJECT **a, const unsigned char **pp, + long length); + +DECLARE_ASN1_ITEM(ASN1_OBJECT) + DEFINE_STACK_OF(ASN1_OBJECT) ASN1_STRING *ASN1_STRING_new(void); void ASN1_STRING_free(ASN1_STRING *a); void ASN1_STRING_clear_free(ASN1_STRING *a); int ASN1_STRING_copy(ASN1_STRING *dst, const ASN1_STRING *str); -DECLARE_ASN1_DUP_FUNCTION(ASN1_STRING) +ASN1_STRING *ASN1_STRING_dup(const ASN1_STRING *a); ASN1_STRING *ASN1_STRING_type_new(int type); int ASN1_STRING_cmp(const ASN1_STRING *a, const ASN1_STRING *b); /* @@ -548,7 +570,7 @@ int ASN1_BIT_STRING_set_asc(ASN1_BIT_STRING *bs, const char *name, int value, DECLARE_ASN1_FUNCTIONS(ASN1_INTEGER) ASN1_INTEGER *d2i_ASN1_UINTEGER(ASN1_INTEGER **a, const unsigned char **pp, long length); -DECLARE_ASN1_DUP_FUNCTION(ASN1_INTEGER) +ASN1_INTEGER *ASN1_INTEGER_dup(const ASN1_INTEGER *x); int ASN1_INTEGER_cmp(const ASN1_INTEGER *x, const ASN1_INTEGER *y); DECLARE_ASN1_FUNCTIONS(ASN1_ENUMERATED) @@ -572,7 +594,7 @@ int ASN1_TIME_diff(int *pday, int *psec, const ASN1_TIME *from, const ASN1_TIME *to); DECLARE_ASN1_FUNCTIONS(ASN1_OCTET_STRING) -DECLARE_ASN1_DUP_FUNCTION(ASN1_OCTET_STRING) +ASN1_OCTET_STRING *ASN1_OCTET_STRING_dup(const ASN1_OCTET_STRING *a); int ASN1_OCTET_STRING_cmp(const ASN1_OCTET_STRING *a, const ASN1_OCTET_STRING *b); int ASN1_OCTET_STRING_set(ASN1_OCTET_STRING *str, const unsigned char *data, @@ -599,10 +621,6 @@ DECLARE_ASN1_FUNCTIONS(ASN1_UTCTIME) DECLARE_ASN1_FUNCTIONS(ASN1_GENERALIZEDTIME) DECLARE_ASN1_FUNCTIONS(ASN1_TIME) -DECLARE_ASN1_DUP_FUNCTION(ASN1_TIME) -DECLARE_ASN1_DUP_FUNCTION(ASN1_UTCTIME) -DECLARE_ASN1_DUP_FUNCTION(ASN1_GENERALIZEDTIME) - DECLARE_ASN1_ITEM(ASN1_OCTET_STRING_NDEF) ASN1_TIME *ASN1_TIME_set(ASN1_TIME *s, time_t t); @@ -667,14 +685,19 @@ int ASN1_put_eoc(unsigned char **pp); int ASN1_object_size(int constructed, int length, int tag); /* Used to implement other functions */ -void *ASN1_dup(i2d_of_void *i2d, d2i_of_void *d2i, const void *x); +void *ASN1_dup(i2d_of_void *i2d, d2i_of_void *d2i, void *x); # define ASN1_dup_of(type,i2d,d2i,x) \ ((type*)ASN1_dup(CHECKED_I2D_OF(type, i2d), \ + CHECKED_D2I_OF(type, d2i), \ + CHECKED_PTR_OF(type, x))) + +# define ASN1_dup_of_const(type,i2d,d2i,x) \ + ((type*)ASN1_dup(CHECKED_I2D_OF(const type, i2d), \ CHECKED_D2I_OF(type, d2i), \ CHECKED_PTR_OF(const type, x))) -void *ASN1_item_dup(const ASN1_ITEM *it, const void *x); +void *ASN1_item_dup(const ASN1_ITEM *it, void *x); /* ASN1 alloc/free macros for when a type is only used internally */ @@ -692,14 +715,19 @@ void *ASN1_d2i_fp(void *(*xnew) (void), d2i_of_void *d2i, FILE *in, void **x); CHECKED_PPTR_OF(type, x))) void *ASN1_item_d2i_fp(const ASN1_ITEM *it, FILE *in, void *x); -int ASN1_i2d_fp(i2d_of_void *i2d, FILE *out, const void *x); +int ASN1_i2d_fp(i2d_of_void *i2d, FILE *out, void *x); # define ASN1_i2d_fp_of(type,i2d,out,x) \ (ASN1_i2d_fp(CHECKED_I2D_OF(type, i2d), \ + out, \ + CHECKED_PTR_OF(type, x))) + +# define ASN1_i2d_fp_of_const(type,i2d,out,x) \ + (ASN1_i2d_fp(CHECKED_I2D_OF(const type, i2d), \ out, \ CHECKED_PTR_OF(const type, x))) -int ASN1_item_i2d_fp(const ASN1_ITEM *it, FILE *out, const void *x); +int ASN1_item_i2d_fp(const ASN1_ITEM *it, FILE *out, void *x); int ASN1_STRING_print_ex_fp(FILE *fp, const ASN1_STRING *str, unsigned long flags); # endif @@ -714,14 +742,19 @@ void *ASN1_d2i_bio(void *(*xnew) (void), d2i_of_void *d2i, BIO *in, void **x); CHECKED_PPTR_OF(type, x))) void *ASN1_item_d2i_bio(const ASN1_ITEM *it, BIO *in, void *x); -int ASN1_i2d_bio(i2d_of_void *i2d, BIO *out, const void *x); +int ASN1_i2d_bio(i2d_of_void *i2d, BIO *out, unsigned char *x); # define ASN1_i2d_bio_of(type,i2d,out,x) \ (ASN1_i2d_bio(CHECKED_I2D_OF(type, i2d), \ + out, \ + CHECKED_PTR_OF(type, x))) + +# define ASN1_i2d_bio_of_const(type,i2d,out,x) \ + (ASN1_i2d_bio(CHECKED_I2D_OF(const type, i2d), \ out, \ CHECKED_PTR_OF(const type, x))) -int ASN1_item_i2d_bio(const ASN1_ITEM *it, BIO *out, const void *x); +int ASN1_item_i2d_bio(const ASN1_ITEM *it, BIO *out, void *x); int ASN1_UTCTIME_print(BIO *fp, const ASN1_UTCTIME *a); int ASN1_GENERALIZEDTIME_print(BIO *fp, const ASN1_GENERALIZEDTIME *a); int ASN1_TIME_print(BIO *fp, const ASN1_TIME *a); @@ -774,8 +807,8 @@ ASN1_VALUE *ASN1_item_new(const ASN1_ITEM *it); void ASN1_item_free(ASN1_VALUE *val, const ASN1_ITEM *it); ASN1_VALUE *ASN1_item_d2i(ASN1_VALUE **val, const unsigned char **in, long len, const ASN1_ITEM *it); -int ASN1_item_i2d(const ASN1_VALUE *val, unsigned char **out, const ASN1_ITEM *it); -int ASN1_item_ndef_i2d(const ASN1_VALUE *val, unsigned char **out, +int ASN1_item_i2d(ASN1_VALUE *val, unsigned char **out, const ASN1_ITEM *it); +int ASN1_item_ndef_i2d(ASN1_VALUE *val, unsigned char **out, const ASN1_ITEM *it); void ASN1_add_oid_module(void); @@ -806,7 +839,7 @@ int ASN1_str2mask(const char *str, unsigned long *pmask); /* Don't show structure name even at top level */ # define ASN1_PCTX_FLAGS_NO_STRUCT_NAME 0x100 -int ASN1_item_print(BIO *out, const ASN1_VALUE *ifld, int indent, +int ASN1_item_print(BIO *out, ASN1_VALUE *ifld, int indent, const ASN1_ITEM *it, const ASN1_PCTX *pctx); ASN1_PCTX *ASN1_PCTX_new(void); void ASN1_PCTX_free(ASN1_PCTX *p); @@ -831,14 +864,12 @@ void *ASN1_SCTX_get_app_data(ASN1_SCTX *p); const BIO_METHOD *BIO_f_asn1(void); -/* cannot constify val because of CMS_stream() */ BIO *BIO_new_NDEF(BIO *out, ASN1_VALUE *val, const ASN1_ITEM *it); int i2d_ASN1_bio_stream(BIO *out, ASN1_VALUE *val, BIO *in, int flags, const ASN1_ITEM *it); int PEM_write_bio_ASN1_stream(BIO *out, ASN1_VALUE *val, BIO *in, int flags, const char *hdr, const ASN1_ITEM *it); -/* cannot constify val because of CMS_dataFinal() */ int SMIME_write_ASN1(BIO *bio, ASN1_VALUE *val, BIO *data, int flags, int ctype_nid, int econt_nid, STACK_OF(X509_ALGOR) *mdalgs, const ASN1_ITEM *it); @@ -849,18 +880,6 @@ int SMIME_text(BIO *in, BIO *out); const ASN1_ITEM *ASN1_ITEM_lookup(const char *name); const ASN1_ITEM *ASN1_ITEM_get(size_t i); -/* Legacy compatibility */ -# define DECLARE_ASN1_FUNCTIONS_fname(type, itname, name) \ - DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, name) \ - DECLARE_ASN1_ENCODE_FUNCTIONS(type, itname, name) -# define DECLARE_ASN1_FUNCTIONS_const(type) DECLARE_ASN1_FUNCTIONS(type) -# define DECLARE_ASN1_ENCODE_FUNCTIONS_const(type, name) \ - DECLARE_ASN1_ENCODE_FUNCTIONS(type, name) -# define I2D_OF_const(type) I2D_OF(type) -# define ASN1_dup_of_const(type,i2d,d2i,x) ASN1_dup_of(type,i2d,d2i,x) -# define ASN1_i2d_fp_of_const(type,i2d,out,x) ASN1_i2d_fp_of(type,i2d,out,x) -# define ASN1_i2d_bio_of_const(type,i2d,out,x) ASN1_i2d_bio_of(type,i2d,out,x) - # ifdef __cplusplus } # endif diff --git a/linux_amd64/include/openssl/asn1_mac.h b/linux_amd64/include/openssl/asn1_mac.h index fdcb983..7ac1782 100644 --- a/linux_amd64/include/openssl/asn1_mac.h +++ b/linux_amd64/include/openssl/asn1_mac.h @@ -1,7 +1,7 @@ /* * Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html diff --git a/linux_amd64/include/openssl/asn1err.h b/linux_amd64/include/openssl/asn1err.h index 15f9939..faed5a5 100644 --- a/linux_amd64/include/openssl/asn1err.h +++ b/linux_amd64/include/openssl/asn1err.h @@ -2,25 +2,19 @@ * Generated by util/mkerr.pl DO NOT EDIT * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_ASN1ERR_H -# define OPENSSL_ASN1ERR_H -# pragma once +#ifndef HEADER_ASN1ERR_H +# define HEADER_ASN1ERR_H -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_ASN1ERR_H +# ifndef HEADER_SYMHACKS_H +# include # endif -# include -# include - - # ifdef __cplusplus extern "C" # endif @@ -29,123 +23,119 @@ int ERR_load_ASN1_strings(void); /* * ASN1 function codes. */ -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define ASN1_F_A2D_ASN1_OBJECT 0 -# define ASN1_F_A2I_ASN1_INTEGER 0 -# define ASN1_F_A2I_ASN1_STRING 0 -# define ASN1_F_APPEND_EXP 0 -# define ASN1_F_ASN1_BIO_INIT 0 -# define ASN1_F_ASN1_BIT_STRING_SET_BIT 0 -# define ASN1_F_ASN1_CB 0 -# define ASN1_F_ASN1_CHECK_TLEN 0 -# define ASN1_F_ASN1_COLLECT 0 -# define ASN1_F_ASN1_D2I_EX_PRIMITIVE 0 -# define ASN1_F_ASN1_D2I_FP 0 -# define ASN1_F_ASN1_D2I_READ_BIO 0 -# define ASN1_F_ASN1_DIGEST 0 -# define ASN1_F_ASN1_DO_ADB 0 -# define ASN1_F_ASN1_DO_LOCK 0 -# define ASN1_F_ASN1_DUP 0 -# define ASN1_F_ASN1_ENC_SAVE 0 -# define ASN1_F_ASN1_EX_C2I 0 -# define ASN1_F_ASN1_FIND_END 0 -# define ASN1_F_ASN1_GENERALIZEDTIME_ADJ 0 -# define ASN1_F_ASN1_GENERATE_V3 0 -# define ASN1_F_ASN1_GET_INT64 0 -# define ASN1_F_ASN1_GET_OBJECT 0 -# define ASN1_F_ASN1_GET_UINT64 0 -# define ASN1_F_ASN1_I2D_BIO 0 -# define ASN1_F_ASN1_I2D_FP 0 -# define ASN1_F_ASN1_ITEM_D2I_FP 0 -# define ASN1_F_ASN1_ITEM_DUP 0 -# define ASN1_F_ASN1_ITEM_EMBED_D2I 0 -# define ASN1_F_ASN1_ITEM_EMBED_NEW 0 -# define ASN1_F_ASN1_ITEM_FLAGS_I2D 0 -# define ASN1_F_ASN1_ITEM_I2D_BIO 0 -# define ASN1_F_ASN1_ITEM_I2D_FP 0 -# define ASN1_F_ASN1_ITEM_PACK 0 -# define ASN1_F_ASN1_ITEM_SIGN 0 -# define ASN1_F_ASN1_ITEM_SIGN_CTX 0 -# define ASN1_F_ASN1_ITEM_UNPACK 0 -# define ASN1_F_ASN1_ITEM_VERIFY 0 -# define ASN1_F_ASN1_MBSTRING_NCOPY 0 -# define ASN1_F_ASN1_OBJECT_NEW 0 -# define ASN1_F_ASN1_OUTPUT_DATA 0 -# define ASN1_F_ASN1_PCTX_NEW 0 -# define ASN1_F_ASN1_PRIMITIVE_NEW 0 -# define ASN1_F_ASN1_SCTX_NEW 0 -# define ASN1_F_ASN1_SIGN 0 -# define ASN1_F_ASN1_STR2TYPE 0 -# define ASN1_F_ASN1_STRING_GET_INT64 0 -# define ASN1_F_ASN1_STRING_GET_UINT64 0 -# define ASN1_F_ASN1_STRING_SET 0 -# define ASN1_F_ASN1_STRING_TABLE_ADD 0 -# define ASN1_F_ASN1_STRING_TO_BN 0 -# define ASN1_F_ASN1_STRING_TYPE_NEW 0 -# define ASN1_F_ASN1_TEMPLATE_EX_D2I 0 -# define ASN1_F_ASN1_TEMPLATE_NEW 0 -# define ASN1_F_ASN1_TEMPLATE_NOEXP_D2I 0 -# define ASN1_F_ASN1_TIME_ADJ 0 -# define ASN1_F_ASN1_TYPE_GET_INT_OCTETSTRING 0 -# define ASN1_F_ASN1_TYPE_GET_OCTETSTRING 0 -# define ASN1_F_ASN1_UTCTIME_ADJ 0 -# define ASN1_F_ASN1_VERIFY 0 -# define ASN1_F_B64_READ_ASN1 0 -# define ASN1_F_B64_WRITE_ASN1 0 -# define ASN1_F_BIO_NEW_NDEF 0 -# define ASN1_F_BITSTR_CB 0 -# define ASN1_F_BN_TO_ASN1_STRING 0 -# define ASN1_F_C2I_ASN1_BIT_STRING 0 -# define ASN1_F_C2I_ASN1_INTEGER 0 -# define ASN1_F_C2I_ASN1_OBJECT 0 -# define ASN1_F_C2I_IBUF 0 -# define ASN1_F_C2I_UINT64_INT 0 -# define ASN1_F_COLLECT_DATA 0 -# define ASN1_F_D2I_ASN1_OBJECT 0 -# define ASN1_F_D2I_ASN1_UINTEGER 0 -# define ASN1_F_D2I_AUTOPRIVATEKEY 0 -# define ASN1_F_D2I_KEYPARAMS 0 -# define ASN1_F_D2I_PRIVATEKEY 0 -# define ASN1_F_D2I_PUBLICKEY 0 -# define ASN1_F_DO_BUF 0 -# define ASN1_F_DO_CREATE 0 -# define ASN1_F_DO_DUMP 0 -# define ASN1_F_DO_TCREATE 0 -# define ASN1_F_I2A_ASN1_OBJECT 0 -# define ASN1_F_I2D_ASN1_BIO_STREAM 0 -# define ASN1_F_I2D_ASN1_OBJECT 0 -# define ASN1_F_I2D_DSA_PUBKEY 0 -# define ASN1_F_I2D_EC_PUBKEY 0 -# define ASN1_F_I2D_KEYPARAMS 0 -# define ASN1_F_I2D_PRIVATEKEY 0 -# define ASN1_F_I2D_PUBLICKEY 0 -# define ASN1_F_I2D_RSA_PUBKEY 0 -# define ASN1_F_LONG_C2I 0 -# define ASN1_F_NDEF_PREFIX 0 -# define ASN1_F_NDEF_SUFFIX 0 -# define ASN1_F_OID_MODULE_INIT 0 -# define ASN1_F_PARSE_TAGGING 0 -# define ASN1_F_PKCS5_PBE2_SET_IV 0 -# define ASN1_F_PKCS5_PBE2_SET_SCRYPT 0 -# define ASN1_F_PKCS5_PBE_SET 0 -# define ASN1_F_PKCS5_PBE_SET0_ALGOR 0 -# define ASN1_F_PKCS5_PBKDF2_SET 0 -# define ASN1_F_PKCS5_SCRYPT_SET 0 -# define ASN1_F_SMIME_READ_ASN1 0 -# define ASN1_F_SMIME_TEXT 0 -# define ASN1_F_STABLE_GET 0 -# define ASN1_F_STBL_MODULE_INIT 0 -# define ASN1_F_UINT32_C2I 0 -# define ASN1_F_UINT32_NEW 0 -# define ASN1_F_UINT64_C2I 0 -# define ASN1_F_UINT64_NEW 0 -# define ASN1_F_X509_CRL_ADD0_REVOKED 0 -# define ASN1_F_X509_INFO_NEW 0 -# define ASN1_F_X509_NAME_ENCODE 0 -# define ASN1_F_X509_NAME_EX_D2I 0 -# define ASN1_F_X509_NAME_EX_NEW 0 -# define ASN1_F_X509_PKEY_NEW 0 -# endif +# define ASN1_F_A2D_ASN1_OBJECT 100 +# define ASN1_F_A2I_ASN1_INTEGER 102 +# define ASN1_F_A2I_ASN1_STRING 103 +# define ASN1_F_APPEND_EXP 176 +# define ASN1_F_ASN1_BIO_INIT 113 +# define ASN1_F_ASN1_BIT_STRING_SET_BIT 183 +# define ASN1_F_ASN1_CB 177 +# define ASN1_F_ASN1_CHECK_TLEN 104 +# define ASN1_F_ASN1_COLLECT 106 +# define ASN1_F_ASN1_D2I_EX_PRIMITIVE 108 +# define ASN1_F_ASN1_D2I_FP 109 +# define ASN1_F_ASN1_D2I_READ_BIO 107 +# define ASN1_F_ASN1_DIGEST 184 +# define ASN1_F_ASN1_DO_ADB 110 +# define ASN1_F_ASN1_DO_LOCK 233 +# define ASN1_F_ASN1_DUP 111 +# define ASN1_F_ASN1_ENC_SAVE 115 +# define ASN1_F_ASN1_EX_C2I 204 +# define ASN1_F_ASN1_FIND_END 190 +# define ASN1_F_ASN1_GENERALIZEDTIME_ADJ 216 +# define ASN1_F_ASN1_GENERATE_V3 178 +# define ASN1_F_ASN1_GET_INT64 224 +# define ASN1_F_ASN1_GET_OBJECT 114 +# define ASN1_F_ASN1_GET_UINT64 225 +# define ASN1_F_ASN1_I2D_BIO 116 +# define ASN1_F_ASN1_I2D_FP 117 +# define ASN1_F_ASN1_ITEM_D2I_FP 206 +# define ASN1_F_ASN1_ITEM_DUP 191 +# define ASN1_F_ASN1_ITEM_EMBED_D2I 120 +# define ASN1_F_ASN1_ITEM_EMBED_NEW 121 +# define ASN1_F_ASN1_ITEM_FLAGS_I2D 118 +# define ASN1_F_ASN1_ITEM_I2D_BIO 192 +# define ASN1_F_ASN1_ITEM_I2D_FP 193 +# define ASN1_F_ASN1_ITEM_PACK 198 +# define ASN1_F_ASN1_ITEM_SIGN 195 +# define ASN1_F_ASN1_ITEM_SIGN_CTX 220 +# define ASN1_F_ASN1_ITEM_UNPACK 199 +# define ASN1_F_ASN1_ITEM_VERIFY 197 +# define ASN1_F_ASN1_MBSTRING_NCOPY 122 +# define ASN1_F_ASN1_OBJECT_NEW 123 +# define ASN1_F_ASN1_OUTPUT_DATA 214 +# define ASN1_F_ASN1_PCTX_NEW 205 +# define ASN1_F_ASN1_PRIMITIVE_NEW 119 +# define ASN1_F_ASN1_SCTX_NEW 221 +# define ASN1_F_ASN1_SIGN 128 +# define ASN1_F_ASN1_STR2TYPE 179 +# define ASN1_F_ASN1_STRING_GET_INT64 227 +# define ASN1_F_ASN1_STRING_GET_UINT64 230 +# define ASN1_F_ASN1_STRING_SET 186 +# define ASN1_F_ASN1_STRING_TABLE_ADD 129 +# define ASN1_F_ASN1_STRING_TO_BN 228 +# define ASN1_F_ASN1_STRING_TYPE_NEW 130 +# define ASN1_F_ASN1_TEMPLATE_EX_D2I 132 +# define ASN1_F_ASN1_TEMPLATE_NEW 133 +# define ASN1_F_ASN1_TEMPLATE_NOEXP_D2I 131 +# define ASN1_F_ASN1_TIME_ADJ 217 +# define ASN1_F_ASN1_TYPE_GET_INT_OCTETSTRING 134 +# define ASN1_F_ASN1_TYPE_GET_OCTETSTRING 135 +# define ASN1_F_ASN1_UTCTIME_ADJ 218 +# define ASN1_F_ASN1_VERIFY 137 +# define ASN1_F_B64_READ_ASN1 209 +# define ASN1_F_B64_WRITE_ASN1 210 +# define ASN1_F_BIO_NEW_NDEF 208 +# define ASN1_F_BITSTR_CB 180 +# define ASN1_F_BN_TO_ASN1_STRING 229 +# define ASN1_F_C2I_ASN1_BIT_STRING 189 +# define ASN1_F_C2I_ASN1_INTEGER 194 +# define ASN1_F_C2I_ASN1_OBJECT 196 +# define ASN1_F_C2I_IBUF 226 +# define ASN1_F_C2I_UINT64_INT 101 +# define ASN1_F_COLLECT_DATA 140 +# define ASN1_F_D2I_ASN1_OBJECT 147 +# define ASN1_F_D2I_ASN1_UINTEGER 150 +# define ASN1_F_D2I_AUTOPRIVATEKEY 207 +# define ASN1_F_D2I_PRIVATEKEY 154 +# define ASN1_F_D2I_PUBLICKEY 155 +# define ASN1_F_DO_BUF 142 +# define ASN1_F_DO_CREATE 124 +# define ASN1_F_DO_DUMP 125 +# define ASN1_F_DO_TCREATE 222 +# define ASN1_F_I2A_ASN1_OBJECT 126 +# define ASN1_F_I2D_ASN1_BIO_STREAM 211 +# define ASN1_F_I2D_ASN1_OBJECT 143 +# define ASN1_F_I2D_DSA_PUBKEY 161 +# define ASN1_F_I2D_EC_PUBKEY 181 +# define ASN1_F_I2D_PRIVATEKEY 163 +# define ASN1_F_I2D_PUBLICKEY 164 +# define ASN1_F_I2D_RSA_PUBKEY 165 +# define ASN1_F_LONG_C2I 166 +# define ASN1_F_NDEF_PREFIX 127 +# define ASN1_F_NDEF_SUFFIX 136 +# define ASN1_F_OID_MODULE_INIT 174 +# define ASN1_F_PARSE_TAGGING 182 +# define ASN1_F_PKCS5_PBE2_SET_IV 167 +# define ASN1_F_PKCS5_PBE2_SET_SCRYPT 231 +# define ASN1_F_PKCS5_PBE_SET 202 +# define ASN1_F_PKCS5_PBE_SET0_ALGOR 215 +# define ASN1_F_PKCS5_PBKDF2_SET 219 +# define ASN1_F_PKCS5_SCRYPT_SET 232 +# define ASN1_F_SMIME_READ_ASN1 212 +# define ASN1_F_SMIME_TEXT 213 +# define ASN1_F_STABLE_GET 138 +# define ASN1_F_STBL_MODULE_INIT 223 +# define ASN1_F_UINT32_C2I 105 +# define ASN1_F_UINT32_NEW 139 +# define ASN1_F_UINT64_C2I 112 +# define ASN1_F_UINT64_NEW 141 +# define ASN1_F_X509_CRL_ADD0_REVOKED 169 +# define ASN1_F_X509_INFO_NEW 170 +# define ASN1_F_X509_NAME_ENCODE 203 +# define ASN1_F_X509_NAME_EX_D2I 158 +# define ASN1_F_X509_NAME_EX_NEW 171 +# define ASN1_F_X509_PKEY_NEW 173 /* * ASN1 reason codes. diff --git a/linux_amd64/include/openssl/asn1t.h b/linux_amd64/include/openssl/asn1t.h index 934b10c..a450ba0 100644 --- a/linux_amd64/include/openssl/asn1t.h +++ b/linux_amd64/include/openssl/asn1t.h @@ -1,20 +1,14 @@ /* * Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_ASN1T_H -# define OPENSSL_ASN1T_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_ASN1T_H -# endif +#ifndef HEADER_ASN1T_H +# define HEADER_ASN1T_H # include # include @@ -31,24 +25,44 @@ extern "C" { #endif +# ifndef OPENSSL_EXPORT_VAR_AS_FUNCTION + /* Macro to obtain ASN1_ADB pointer from a type (only used internally) */ -# define ASN1_ADB_ptr(iptr) ((const ASN1_ADB *)((iptr)())) +# define ASN1_ADB_ptr(iptr) ((const ASN1_ADB *)(iptr)) /* Macros for start and end of ASN1_ITEM definition */ -# define ASN1_ITEM_start(itname) \ +# define ASN1_ITEM_start(itname) \ + const ASN1_ITEM itname##_it = { + +# define static_ASN1_ITEM_start(itname) \ + static const ASN1_ITEM itname##_it = { + +# define ASN1_ITEM_end(itname) \ + }; + +# else + +/* Macro to obtain ASN1_ADB pointer from a type (only used internally) */ +# define ASN1_ADB_ptr(iptr) ((const ASN1_ADB *)((iptr)())) + +/* Macros for start and end of ASN1_ITEM definition */ + +# define ASN1_ITEM_start(itname) \ const ASN1_ITEM * itname##_it(void) \ { \ static const ASN1_ITEM local_it = { -# define static_ASN1_ITEM_start(itname) \ +# define static_ASN1_ITEM_start(itname) \ static ASN1_ITEM_start(itname) -# define ASN1_ITEM_end(itname) \ +# define ASN1_ITEM_end(itname) \ }; \ return &local_it; \ } +# endif + /* Macros to aid ASN1 template writing */ # define ASN1_ITEM_TEMPLATE(tname) \ @@ -138,25 +152,19 @@ extern "C" { ASN1_SEQUENCE_cb(tname, cb) # define ASN1_SEQUENCE_cb(tname, cb) \ - static const ASN1_AUX tname##_aux = {NULL, 0, 0, 0, cb, 0, NULL}; \ + static const ASN1_AUX tname##_aux = {NULL, 0, 0, 0, cb, 0}; \ ASN1_SEQUENCE(tname) -# define ASN1_SEQUENCE_const_cb(tname, const_cb) \ - static const ASN1_AUX tname##_aux = \ - {NULL, ASN1_AFLG_CONST_CB, 0, 0, NULL, 0, const_cb}; \ - ASN1_SEQUENCE(tname) - -# define ASN1_SEQUENCE_cb_const_cb(tname, cb, const_cb) \ - static const ASN1_AUX tname##_aux = \ - {NULL, ASN1_AFLG_CONST_CB, 0, 0, cb, 0, const_cb}; \ +# define ASN1_BROKEN_SEQUENCE(tname) \ + static const ASN1_AUX tname##_aux = {NULL, ASN1_AFLG_BROKEN, 0, 0, 0, 0}; \ ASN1_SEQUENCE(tname) # define ASN1_SEQUENCE_ref(tname, cb) \ - static const ASN1_AUX tname##_aux = {NULL, ASN1_AFLG_REFCOUNT, offsetof(tname, references), offsetof(tname, lock), cb, 0, NULL}; \ + static const ASN1_AUX tname##_aux = {NULL, ASN1_AFLG_REFCOUNT, offsetof(tname, references), offsetof(tname, lock), cb, 0}; \ ASN1_SEQUENCE(tname) # define ASN1_SEQUENCE_enc(tname, enc, cb) \ - static const ASN1_AUX tname##_aux = {NULL, ASN1_AFLG_ENCODING, 0, 0, cb, offsetof(tname, enc), NULL}; \ + static const ASN1_AUX tname##_aux = {NULL, ASN1_AFLG_ENCODING, 0, 0, cb, offsetof(tname, enc)}; \ ASN1_SEQUENCE(tname) # define ASN1_NDEF_SEQUENCE_END(tname) \ @@ -182,6 +190,9 @@ extern "C" { #tname \ ASN1_ITEM_end(tname) +# define ASN1_BROKEN_SEQUENCE_END(stname) ASN1_SEQUENCE_END_ref(stname, stname) +# define static_ASN1_BROKEN_SEQUENCE_END(stname) \ + static_ASN1_SEQUENCE_END_ref(stname, stname) # define ASN1_SEQUENCE_END_enc(stname, tname) ASN1_SEQUENCE_END_ref(stname, tname) @@ -250,7 +261,7 @@ extern "C" { static const ASN1_TEMPLATE tname##_ch_tt[] # define ASN1_CHOICE_cb(tname, cb) \ - static const ASN1_AUX tname##_aux = {NULL, 0, 0, 0, cb, 0, NULL}; \ + static const ASN1_AUX tname##_aux = {NULL, 0, 0, 0, cb, 0}; \ ASN1_CHOICE(tname) # define ASN1_CHOICE_END(stname) ASN1_CHOICE_END_name(stname, stname) @@ -321,9 +332,13 @@ extern "C" { /* Any defined by macros: the field used is in the table itself */ -# define ASN1_ADB_OBJECT(tblname) { ASN1_TFLG_ADB_OID, -1, 0, #tblname, tblname##_adb } -# define ASN1_ADB_INTEGER(tblname) { ASN1_TFLG_ADB_INT, -1, 0, #tblname, tblname##_adb } - +# ifndef OPENSSL_EXPORT_VAR_AS_FUNCTION +# define ASN1_ADB_OBJECT(tblname) { ASN1_TFLG_ADB_OID, -1, 0, #tblname, (const ASN1_ITEM *)&(tblname##_adb) } +# define ASN1_ADB_INTEGER(tblname) { ASN1_TFLG_ADB_INT, -1, 0, #tblname, (const ASN1_ITEM *)&(tblname##_adb) } +# else +# define ASN1_ADB_OBJECT(tblname) { ASN1_TFLG_ADB_OID, -1, 0, #tblname, tblname##_adb } +# define ASN1_ADB_INTEGER(tblname) { ASN1_TFLG_ADB_INT, -1, 0, #tblname, tblname##_adb } +# endif /* Plain simple type */ # define ASN1_SIMPLE(stname, field, type) ASN1_EX_TYPE(0,0, stname, field, type) /* Embedded simple type */ @@ -403,7 +418,23 @@ extern "C" { # define ASN1_ADB(name) \ static const ASN1_ADB_TABLE name##_adbtbl[] -# define ASN1_ADB_END(name, flags, field, adb_cb, def, none) \ +# ifndef OPENSSL_EXPORT_VAR_AS_FUNCTION + +# define ASN1_ADB_END(name, flags, field, adb_cb, def, none) \ + ;\ + static const ASN1_ADB name##_adb = {\ + flags,\ + offsetof(name, field),\ + adb_cb,\ + name##_adbtbl,\ + sizeof(name##_adbtbl) / sizeof(ASN1_ADB_TABLE),\ + def,\ + none\ + } + +# else + +# define ASN1_ADB_END(name, flags, field, adb_cb, def, none) \ ;\ static const ASN1_ITEM *name##_adb(void) \ { \ @@ -421,6 +452,8 @@ extern "C" { } \ void dummy_function(void) +# endif + # define ADB_ENTRY(val, template) {val, template} # define ASN1_ADB_TEMPLATE(name) \ @@ -628,21 +661,21 @@ typedef int ASN1_ex_d2i(ASN1_VALUE **pval, const unsigned char **in, long len, const ASN1_ITEM *it, int tag, int aclass, char opt, ASN1_TLC *ctx); -typedef int ASN1_ex_i2d(const ASN1_VALUE **pval, unsigned char **out, +typedef int ASN1_ex_i2d(ASN1_VALUE **pval, unsigned char **out, const ASN1_ITEM *it, int tag, int aclass); typedef int ASN1_ex_new_func(ASN1_VALUE **pval, const ASN1_ITEM *it); typedef void ASN1_ex_free_func(ASN1_VALUE **pval, const ASN1_ITEM *it); -typedef int ASN1_ex_print_func(BIO *out, const ASN1_VALUE **pval, +typedef int ASN1_ex_print_func(BIO *out, ASN1_VALUE **pval, int indent, const char *fname, const ASN1_PCTX *pctx); -typedef int ASN1_primitive_i2c(const ASN1_VALUE **pval, unsigned char *cont, +typedef int ASN1_primitive_i2c(ASN1_VALUE **pval, unsigned char *cont, int *putype, const ASN1_ITEM *it); typedef int ASN1_primitive_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len, int utype, char *free_cont, const ASN1_ITEM *it); -typedef int ASN1_primitive_print(BIO *out, const ASN1_VALUE **pval, +typedef int ASN1_primitive_print(BIO *out, ASN1_VALUE **pval, const ASN1_ITEM *it, int indent, const ASN1_PCTX *pctx); @@ -678,16 +711,10 @@ typedef struct ASN1_PRIMITIVE_FUNCS_st { * error has occurred and the main operation should be abandoned. If major * changes in the default behaviour are required then an external type is * more appropriate. - * For the operations ASN1_OP_I2D_PRE, ASN1_OP_I2D_POST, ASN1_OP_PRINT_PRE, and - * ASN1_OP_PRINT_POST, meanwhile a variant of the callback with const parameter - * 'in' is provided to make clear statically that its input is not modified. If - * and only if this variant is in use the flag ASN1_AFLG_CONST_CB must be set. */ typedef int ASN1_aux_cb(int operation, ASN1_VALUE **in, const ASN1_ITEM *it, void *exarg); -typedef int ASN1_aux_const_cb(int operation, const ASN1_VALUE **in, - const ASN1_ITEM *it, void *exarg); typedef struct ASN1_AUX_st { void *app_data; @@ -696,7 +723,6 @@ typedef struct ASN1_AUX_st { int ref_lock; /* Lock type to use */ ASN1_aux_cb *asn1_cb; int enc_offset; /* Offset of ASN1_ENCODING structure */ - ASN1_aux_const_cb *asn1_const_cb; /* for ASN1_OP_I2D_ and ASN1_OP_PRINT_ */ } ASN1_AUX; /* For print related callbacks exarg points to this structure */ @@ -724,8 +750,6 @@ typedef struct ASN1_STREAM_ARG_st { # define ASN1_AFLG_ENCODING 2 /* The Sequence length is invalid */ # define ASN1_AFLG_BROKEN 4 -/* Use the new asn1_const_cb */ -# define ASN1_AFLG_CONST_CB 8 /* operation values for asn1_cb */ @@ -812,15 +836,15 @@ typedef struct ASN1_STREAM_ARG_st { { \ return (stname *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, ASN1_ITEM_rptr(itname));\ } \ - int i2d_##fname(const stname *a, unsigned char **out) \ + int i2d_##fname(stname *a, unsigned char **out) \ { \ - return ASN1_item_i2d((const ASN1_VALUE *)a, out, ASN1_ITEM_rptr(itname));\ + return ASN1_item_i2d((ASN1_VALUE *)a, out, ASN1_ITEM_rptr(itname));\ } # define IMPLEMENT_ASN1_NDEF_FUNCTION(stname) \ - int i2d_##stname##_NDEF(const stname *a, unsigned char **out) \ + int i2d_##stname##_NDEF(stname *a, unsigned char **out) \ { \ - return ASN1_item_ndef_i2d((const ASN1_VALUE *)a, out, ASN1_ITEM_rptr(stname));\ + return ASN1_item_ndef_i2d((ASN1_VALUE *)a, out, ASN1_ITEM_rptr(stname));\ } # define IMPLEMENT_STATIC_ASN1_ENCODE_FUNCTIONS(stname) \ @@ -830,14 +854,28 @@ typedef struct ASN1_STREAM_ARG_st { return (stname *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, \ ASN1_ITEM_rptr(stname)); \ } \ - static int i2d_##stname(const stname *a, unsigned char **out) \ + static int i2d_##stname(stname *a, unsigned char **out) \ { \ - return ASN1_item_i2d((const ASN1_VALUE *)a, out, \ + return ASN1_item_i2d((ASN1_VALUE *)a, out, \ ASN1_ITEM_rptr(stname)); \ } +/* + * This includes evil casts to remove const: they will go away when full ASN1 + * constification is done. + */ +# define IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(stname, itname, fname) \ + stname *d2i_##fname(stname **a, const unsigned char **in, long len) \ + { \ + return (stname *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, ASN1_ITEM_rptr(itname));\ + } \ + int i2d_##fname(const stname *a, unsigned char **out) \ + { \ + return ASN1_item_i2d((ASN1_VALUE *)a, out, ASN1_ITEM_rptr(itname));\ + } + # define IMPLEMENT_ASN1_DUP_FUNCTION(stname) \ - stname * stname##_dup(const stname *x) \ + stname * stname##_dup(stname *x) \ { \ return ASN1_item_dup(ASN1_ITEM_rptr(stname), x); \ } @@ -846,13 +884,20 @@ typedef struct ASN1_STREAM_ARG_st { IMPLEMENT_ASN1_PRINT_FUNCTION_fname(stname, stname, stname) # define IMPLEMENT_ASN1_PRINT_FUNCTION_fname(stname, itname, fname) \ - int fname##_print_ctx(BIO *out, const stname *x, int indent, \ + int fname##_print_ctx(BIO *out, stname *x, int indent, \ const ASN1_PCTX *pctx) \ { \ - return ASN1_item_print(out, (const ASN1_VALUE *)x, indent, \ + return ASN1_item_print(out, (ASN1_VALUE *)x, indent, \ ASN1_ITEM_rptr(itname), pctx); \ } +# define IMPLEMENT_ASN1_FUNCTIONS_const(name) \ + IMPLEMENT_ASN1_FUNCTIONS_const_fname(name, name, name) + +# define IMPLEMENT_ASN1_FUNCTIONS_const_fname(stname, itname, fname) \ + IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(stname, itname, fname) \ + IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname(stname, itname, fname) + /* external definitions for primitive types */ DECLARE_ASN1_ITEM(ASN1_BOOLEAN) @@ -870,7 +915,7 @@ DECLARE_ASN1_ITEM(ZINT64) DECLARE_ASN1_ITEM(UINT64) DECLARE_ASN1_ITEM(ZUINT64) -# ifndef OPENSSL_NO_DEPRECATED_3_0 +# if OPENSSL_API_COMPAT < 0x10200000L /* * LONG and ZLONG are strongly discouraged for use as stored data, as the * underlying C type (long) differs in size depending on the architecture. @@ -891,14 +936,9 @@ int ASN1_item_ex_d2i(ASN1_VALUE **pval, const unsigned char **in, long len, const ASN1_ITEM *it, int tag, int aclass, char opt, ASN1_TLC *ctx); -int ASN1_item_ex_i2d(const ASN1_VALUE **pval, unsigned char **out, +int ASN1_item_ex_i2d(ASN1_VALUE **pval, unsigned char **out, const ASN1_ITEM *it, int tag, int aclass); -/* Legacy compatibility */ -# define IMPLEMENT_ASN1_FUNCTIONS_const(name) IMPLEMENT_ASN1_FUNCTIONS(name) -# define IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(stname, itname, fname) \ - IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(stname, itname, fname) - #ifdef __cplusplus } #endif diff --git a/linux_amd64/include/openssl/async.h b/linux_amd64/include/openssl/async.h index bc27d5d..7052b89 100644 --- a/linux_amd64/include/openssl/async.h +++ b/linux_amd64/include/openssl/async.h @@ -1,7 +1,7 @@ /* * Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html @@ -9,14 +9,8 @@ #include -#ifndef OPENSSL_ASYNC_H -# define OPENSSL_ASYNC_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_ASYNC_H -# endif +#ifndef HEADER_ASYNC_H +# define HEADER_ASYNC_H #if defined(_WIN32) # if defined(BASETYPES) || defined(_WINDEF_H) @@ -37,18 +31,12 @@ extern "C" { typedef struct async_job_st ASYNC_JOB; typedef struct async_wait_ctx_st ASYNC_WAIT_CTX; -typedef int (*ASYNC_callback_fn)(void *arg); #define ASYNC_ERR 0 #define ASYNC_NO_JOBS 1 #define ASYNC_PAUSE 2 #define ASYNC_FINISH 3 -#define ASYNC_STATUS_UNSUPPORTED 0 -#define ASYNC_STATUS_ERR 1 -#define ASYNC_STATUS_OK 2 -#define ASYNC_STATUS_EAGAIN 3 - int ASYNC_init_thread(size_t max_size, size_t init_size); void ASYNC_cleanup_thread(void); @@ -64,14 +52,6 @@ int ASYNC_WAIT_CTX_get_fd(ASYNC_WAIT_CTX *ctx, const void *key, OSSL_ASYNC_FD *fd, void **custom_data); int ASYNC_WAIT_CTX_get_all_fds(ASYNC_WAIT_CTX *ctx, OSSL_ASYNC_FD *fd, size_t *numfds); -int ASYNC_WAIT_CTX_get_callback(ASYNC_WAIT_CTX *ctx, - ASYNC_callback_fn *callback, - void **callback_arg); -int ASYNC_WAIT_CTX_set_callback(ASYNC_WAIT_CTX *ctx, - ASYNC_callback_fn callback, - void *callback_arg); -int ASYNC_WAIT_CTX_set_status(ASYNC_WAIT_CTX *ctx, int status); -int ASYNC_WAIT_CTX_get_status(ASYNC_WAIT_CTX *ctx); int ASYNC_WAIT_CTX_get_changed_fds(ASYNC_WAIT_CTX *ctx, OSSL_ASYNC_FD *addfd, size_t *numaddfds, OSSL_ASYNC_FD *delfd, size_t *numdelfds); diff --git a/linux_amd64/include/openssl/asyncerr.h b/linux_amd64/include/openssl/asyncerr.h index 17defd0..91afbbb 100644 --- a/linux_amd64/include/openssl/asyncerr.h +++ b/linux_amd64/include/openssl/asyncerr.h @@ -2,25 +2,19 @@ * Generated by util/mkerr.pl DO NOT EDIT * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_ASYNCERR_H -# define OPENSSL_ASYNCERR_H -# pragma once +#ifndef HEADER_ASYNCERR_H +# define HEADER_ASYNCERR_H -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_ASYNCERR_H +# ifndef HEADER_SYMHACKS_H +# include # endif -# include -# include - - # ifdef __cplusplus extern "C" # endif @@ -29,15 +23,13 @@ int ERR_load_ASYNC_strings(void); /* * ASYNC function codes. */ -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define ASYNC_F_ASYNC_CTX_NEW 0 -# define ASYNC_F_ASYNC_INIT_THREAD 0 -# define ASYNC_F_ASYNC_JOB_NEW 0 -# define ASYNC_F_ASYNC_PAUSE_JOB 0 -# define ASYNC_F_ASYNC_START_FUNC 0 -# define ASYNC_F_ASYNC_START_JOB 0 -# define ASYNC_F_ASYNC_WAIT_CTX_SET_WAIT_FD 0 -# endif +# define ASYNC_F_ASYNC_CTX_NEW 100 +# define ASYNC_F_ASYNC_INIT_THREAD 101 +# define ASYNC_F_ASYNC_JOB_NEW 102 +# define ASYNC_F_ASYNC_PAUSE_JOB 103 +# define ASYNC_F_ASYNC_START_FUNC 104 +# define ASYNC_F_ASYNC_START_JOB 105 +# define ASYNC_F_ASYNC_WAIT_CTX_SET_WAIT_FD 106 /* * ASYNC reason codes. diff --git a/linux_amd64/include/openssl/bio.h b/linux_amd64/include/openssl/bio.h index 8583362..9e2bcdd 100644 --- a/linux_amd64/include/openssl/bio.h +++ b/linux_amd64/include/openssl/bio.h @@ -1,20 +1,14 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_BIO_H -# define OPENSSL_BIO_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_BIO_H -# endif +#ifndef HEADER_BIO_H +# define HEADER_BIO_H # include @@ -147,34 +141,6 @@ extern "C" { # define BIO_CTRL_DGRAM_SET_PEEK_MODE 71 -/* - * internal BIO: - * # define BIO_CTRL_SET_KTLS_SEND 72 - * # define BIO_CTRL_SET_KTLS_SEND_CTRL_MSG 74 - * # define BIO_CTRL_CLEAR_KTLS_CTRL_MSG 75 - */ - -# define BIO_CTRL_GET_KTLS_SEND 73 -# define BIO_CTRL_GET_KTLS_RECV 76 - -# define BIO_CTRL_DGRAM_SCTP_WAIT_FOR_DRY 77 -# define BIO_CTRL_DGRAM_SCTP_MSG_WAITING 78 - -/* BIO_f_prefix controls */ -# define BIO_CTRL_SET_PREFIX 79 -# define BIO_CTRL_SET_INDENT 80 -# define BIO_CTRL_GET_INDENT 81 - -# ifndef OPENSSL_NO_KTLS -# define BIO_get_ktls_send(b) \ - BIO_ctrl(b, BIO_CTRL_GET_KTLS_SEND, 0, NULL) -# define BIO_get_ktls_recv(b) \ - BIO_ctrl(b, BIO_CTRL_GET_KTLS_RECV, 0, NULL) -# else -# define BIO_get_ktls_send(b) (0) -# define BIO_get_ktls_recv(b) (0) -# endif - /* modifiers */ # define BIO_FP_READ 0x02 # define BIO_FP_WRITE 0x04 @@ -186,9 +152,12 @@ extern "C" { # define BIO_FLAGS_IO_SPECIAL 0x04 # define BIO_FLAGS_RWS (BIO_FLAGS_READ|BIO_FLAGS_WRITE|BIO_FLAGS_IO_SPECIAL) # define BIO_FLAGS_SHOULD_RETRY 0x08 -# ifndef OPENSSL_NO_DEPRECATED_3_0 -/* This #define was replaced by an internal constant and should not be used. */ -# define BIO_FLAGS_UPLINK 0 +# ifndef BIO_FLAGS_UPLINK +/* + * "UPLINK" flag denotes file descriptors provided by application. It + * defaults to 0, as most platforms don't require UPLINK interface. + */ +# define BIO_FLAGS_UPLINK 0 # endif # define BIO_FLAGS_BASE64_NO_NL 0x100 @@ -292,9 +261,6 @@ DEFINE_STACK_OF(BIO) typedef int asn1_ps_func (BIO *b, unsigned char **pbuf, int *plen, void *parg); -typedef void (*BIO_dgram_sctp_notification_handler_fn) (BIO *b, - void *context, - void *buf); # ifndef OPENSSL_NO_SCTP /* SCTP parameter structs */ struct bio_dgram_sctp_sndinfo { @@ -558,11 +524,6 @@ int BIO_ctrl_reset_read_request(BIO *b); # define BIO_dgram_get_mtu_overhead(b) \ (unsigned int)BIO_ctrl((b), BIO_CTRL_DGRAM_GET_MTU_OVERHEAD, 0, NULL) -/* ctrl macros for BIO_f_prefix */ -# define BIO_set_prefix(b,p) BIO_ctrl((b), BIO_CTRL_SET_PREFIX, 0, (void *)(p)) -# define BIO_set_indent(b,i) BIO_ctrl((b), BIO_CTRL_SET_INDENT, (i), NULL) -# define BIO_get_indent(b) BIO_ctrl((b), BIO_CTRL_GET_INDENT, 0, NULL) - #define BIO_get_ex_new_index(l, p, newf, dupf, freef) \ CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_BIO, l, p, newf, dupf, freef) int BIO_set_ex_data(BIO *bio, int idx, void *data); @@ -641,7 +602,6 @@ const BIO_METHOD *BIO_f_null(void); const BIO_METHOD *BIO_f_buffer(void); const BIO_METHOD *BIO_f_linebuffer(void); const BIO_METHOD *BIO_f_nbio_test(void); -const BIO_METHOD *BIO_f_prefix(void); # ifndef OPENSSL_NO_DGRAM const BIO_METHOD *BIO_s_datagram(void); int BIO_dgram_non_fatal_error(int error); @@ -651,8 +611,10 @@ const BIO_METHOD *BIO_s_datagram_sctp(void); BIO *BIO_new_dgram_sctp(int fd, int close_flag); int BIO_dgram_is_sctp(BIO *bio); int BIO_dgram_sctp_notification_cb(BIO *b, - BIO_dgram_sctp_notification_handler_fn handle_notifications, - void *context); + void (*handle_notifications) (BIO *bio, + void *context, + void *buf), + void *context); int BIO_dgram_sctp_wait_for_dry(BIO *b); int BIO_dgram_sctp_msg_waiting(BIO *b); # endif @@ -661,24 +623,21 @@ int BIO_dgram_sctp_msg_waiting(BIO *b); # ifndef OPENSSL_NO_SOCK int BIO_sock_should_retry(int i); int BIO_sock_non_fatal_error(int error); -int BIO_socket_wait(int fd, int for_read, time_t max_time); # endif -int BIO_wait(BIO *bio, time_t max_time, unsigned int milliseconds); -int BIO_connect_retry(BIO *bio, int timeout); int BIO_fd_should_retry(int i); int BIO_fd_non_fatal_error(int error); int BIO_dump_cb(int (*cb) (const void *data, size_t len, void *u), - void *u, const void *s, int len); + void *u, const char *s, int len); int BIO_dump_indent_cb(int (*cb) (const void *data, size_t len, void *u), - void *u, const void *s, int len, int indent); -int BIO_dump(BIO *b, const void *bytes, int len); -int BIO_dump_indent(BIO *b, const void *bytes, int len, int indent); + void *u, const char *s, int len, int indent); +int BIO_dump(BIO *b, const char *bytes, int len); +int BIO_dump_indent(BIO *b, const char *bytes, int len, int indent); # ifndef OPENSSL_NO_STDIO -int BIO_dump_fp(FILE *fp, const void *s, int len); -int BIO_dump_indent_fp(FILE *fp, const void *s, int len, int indent); +int BIO_dump_fp(FILE *fp, const char *s, int len); +int BIO_dump_indent_fp(FILE *fp, const char *s, int len, int indent); # endif -int BIO_hex_string(BIO *out, int indent, int width, const void *data, +int BIO_hex_string(BIO *out, int indent, int width, unsigned char *data, int datalen); # ifndef OPENSSL_NO_SOCK @@ -719,7 +678,7 @@ int BIO_sock_error(int sock); int BIO_socket_ioctl(int fd, long type, void *arg); int BIO_socket_nbio(int fd, int mode); int BIO_sock_init(void); -# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +# if OPENSSL_API_COMPAT < 0x10100000L # define BIO_sock_cleanup() while(0) continue # endif int BIO_set_tcp_ndelay(int sock, int turn_on); diff --git a/linux_amd64/include/openssl/bioerr.h b/linux_amd64/include/openssl/bioerr.h index 95cc056..46e2c96 100644 --- a/linux_amd64/include/openssl/bioerr.h +++ b/linux_amd64/include/openssl/bioerr.h @@ -2,25 +2,19 @@ * Generated by util/mkerr.pl DO NOT EDIT * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_BIOERR_H -# define OPENSSL_BIOERR_H -# pragma once +#ifndef HEADER_BIOERR_H +# define HEADER_BIOERR_H -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_BIOERR_H +# ifndef HEADER_SYMHACKS_H +# include # endif -# include -# include - - # ifdef __cplusplus extern "C" # endif @@ -29,64 +23,62 @@ int ERR_load_BIO_strings(void); /* * BIO function codes. */ -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define BIO_F_ACPT_STATE 0 -# define BIO_F_ADDRINFO_WRAP 0 -# define BIO_F_ADDR_STRINGS 0 -# define BIO_F_BIO_ACCEPT 0 -# define BIO_F_BIO_ACCEPT_EX 0 -# define BIO_F_BIO_ACCEPT_NEW 0 -# define BIO_F_BIO_ADDR_NEW 0 -# define BIO_F_BIO_BIND 0 -# define BIO_F_BIO_CALLBACK_CTRL 0 -# define BIO_F_BIO_CONNECT 0 -# define BIO_F_BIO_CONNECT_NEW 0 -# define BIO_F_BIO_CTRL 0 -# define BIO_F_BIO_GETS 0 -# define BIO_F_BIO_GET_HOST_IP 0 -# define BIO_F_BIO_GET_NEW_INDEX 0 -# define BIO_F_BIO_GET_PORT 0 -# define BIO_F_BIO_LISTEN 0 -# define BIO_F_BIO_LOOKUP 0 -# define BIO_F_BIO_LOOKUP_EX 0 -# define BIO_F_BIO_MAKE_PAIR 0 -# define BIO_F_BIO_METH_NEW 0 -# define BIO_F_BIO_NEW 0 -# define BIO_F_BIO_NEW_DGRAM_SCTP 0 -# define BIO_F_BIO_NEW_FILE 0 -# define BIO_F_BIO_NEW_MEM_BUF 0 -# define BIO_F_BIO_NREAD 0 -# define BIO_F_BIO_NREAD0 0 -# define BIO_F_BIO_NWRITE 0 -# define BIO_F_BIO_NWRITE0 0 -# define BIO_F_BIO_PARSE_HOSTSERV 0 -# define BIO_F_BIO_PUTS 0 -# define BIO_F_BIO_READ 0 -# define BIO_F_BIO_READ_EX 0 -# define BIO_F_BIO_READ_INTERN 0 -# define BIO_F_BIO_SOCKET 0 -# define BIO_F_BIO_SOCKET_NBIO 0 -# define BIO_F_BIO_SOCK_INFO 0 -# define BIO_F_BIO_SOCK_INIT 0 -# define BIO_F_BIO_WRITE 0 -# define BIO_F_BIO_WRITE_EX 0 -# define BIO_F_BIO_WRITE_INTERN 0 -# define BIO_F_BUFFER_CTRL 0 -# define BIO_F_CONN_CTRL 0 -# define BIO_F_CONN_STATE 0 -# define BIO_F_DGRAM_SCTP_NEW 0 -# define BIO_F_DGRAM_SCTP_READ 0 -# define BIO_F_DGRAM_SCTP_WRITE 0 -# define BIO_F_DOAPR_OUTCH 0 -# define BIO_F_FILE_CTRL 0 -# define BIO_F_FILE_READ 0 -# define BIO_F_LINEBUFFER_CTRL 0 -# define BIO_F_LINEBUFFER_NEW 0 -# define BIO_F_MEM_WRITE 0 -# define BIO_F_NBIOF_NEW 0 -# define BIO_F_SLG_WRITE 0 -# define BIO_F_SSL_NEW 0 -# endif +# define BIO_F_ACPT_STATE 100 +# define BIO_F_ADDRINFO_WRAP 148 +# define BIO_F_ADDR_STRINGS 134 +# define BIO_F_BIO_ACCEPT 101 +# define BIO_F_BIO_ACCEPT_EX 137 +# define BIO_F_BIO_ACCEPT_NEW 152 +# define BIO_F_BIO_ADDR_NEW 144 +# define BIO_F_BIO_BIND 147 +# define BIO_F_BIO_CALLBACK_CTRL 131 +# define BIO_F_BIO_CONNECT 138 +# define BIO_F_BIO_CONNECT_NEW 153 +# define BIO_F_BIO_CTRL 103 +# define BIO_F_BIO_GETS 104 +# define BIO_F_BIO_GET_HOST_IP 106 +# define BIO_F_BIO_GET_NEW_INDEX 102 +# define BIO_F_BIO_GET_PORT 107 +# define BIO_F_BIO_LISTEN 139 +# define BIO_F_BIO_LOOKUP 135 +# define BIO_F_BIO_LOOKUP_EX 143 +# define BIO_F_BIO_MAKE_PAIR 121 +# define BIO_F_BIO_METH_NEW 146 +# define BIO_F_BIO_NEW 108 +# define BIO_F_BIO_NEW_DGRAM_SCTP 145 +# define BIO_F_BIO_NEW_FILE 109 +# define BIO_F_BIO_NEW_MEM_BUF 126 +# define BIO_F_BIO_NREAD 123 +# define BIO_F_BIO_NREAD0 124 +# define BIO_F_BIO_NWRITE 125 +# define BIO_F_BIO_NWRITE0 122 +# define BIO_F_BIO_PARSE_HOSTSERV 136 +# define BIO_F_BIO_PUTS 110 +# define BIO_F_BIO_READ 111 +# define BIO_F_BIO_READ_EX 105 +# define BIO_F_BIO_READ_INTERN 120 +# define BIO_F_BIO_SOCKET 140 +# define BIO_F_BIO_SOCKET_NBIO 142 +# define BIO_F_BIO_SOCK_INFO 141 +# define BIO_F_BIO_SOCK_INIT 112 +# define BIO_F_BIO_WRITE 113 +# define BIO_F_BIO_WRITE_EX 119 +# define BIO_F_BIO_WRITE_INTERN 128 +# define BIO_F_BUFFER_CTRL 114 +# define BIO_F_CONN_CTRL 127 +# define BIO_F_CONN_STATE 115 +# define BIO_F_DGRAM_SCTP_NEW 149 +# define BIO_F_DGRAM_SCTP_READ 132 +# define BIO_F_DGRAM_SCTP_WRITE 133 +# define BIO_F_DOAPR_OUTCH 150 +# define BIO_F_FILE_CTRL 116 +# define BIO_F_FILE_READ 130 +# define BIO_F_LINEBUFFER_CTRL 129 +# define BIO_F_LINEBUFFER_NEW 151 +# define BIO_F_MEM_WRITE 117 +# define BIO_F_NBIOF_NEW 154 +# define BIO_F_SLG_WRITE 155 +# define BIO_F_SSL_NEW 118 /* * BIO reason codes. @@ -97,7 +89,6 @@ int ERR_load_BIO_strings(void); # define BIO_R_BAD_FOPEN_MODE 101 # define BIO_R_BROKEN_PIPE 124 # define BIO_R_CONNECT_ERROR 103 -# define BIO_R_CONNECT_TIMEOUT 147 # define BIO_R_GETHOSTBYNAME_ADDR_IS_NOT_AF_INET 107 # define BIO_R_GETSOCKNAME_ERROR 132 # define BIO_R_GETSOCKNAME_TRUNCATED_ADDRESS 133 @@ -115,8 +106,6 @@ int ERR_load_BIO_strings(void); # define BIO_R_NO_PORT_DEFINED 113 # define BIO_R_NO_SUCH_FILE 128 # define BIO_R_NULL_PARAMETER 115 -# define BIO_R_TRANSFER_ERROR 104 -# define BIO_R_TRANSFER_TIMEOUT 105 # define BIO_R_UNABLE_TO_BIND_SOCKET 117 # define BIO_R_UNABLE_TO_CREATE_SOCKET 118 # define BIO_R_UNABLE_TO_KEEPALIVE 137 diff --git a/linux_amd64/include/openssl/blowfish.h b/linux_amd64/include/openssl/blowfish.h index c83a208..cd3e460 100644 --- a/linux_amd64/include/openssl/blowfish.h +++ b/linux_amd64/include/openssl/blowfish.h @@ -1,20 +1,14 @@ /* * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_BLOWFISH_H -# define OPENSSL_BLOWFISH_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_BLOWFISH_H -# endif +#ifndef HEADER_BLOWFISH_H +# define HEADER_BLOWFISH_H # include @@ -24,51 +18,40 @@ extern "C" { # endif -# define BF_BLOCK 8 - -# ifndef OPENSSL_NO_DEPRECATED_3_0 - -# define BF_ENCRYPT 1 -# define BF_DECRYPT 0 +# define BF_ENCRYPT 1 +# define BF_DECRYPT 0 /*- * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! * ! BF_LONG has to be at least 32 bits wide. ! * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */ -# define BF_LONG unsigned int +# define BF_LONG unsigned int -# define BF_ROUNDS 16 +# define BF_ROUNDS 16 +# define BF_BLOCK 8 typedef struct bf_key_st { BF_LONG P[BF_ROUNDS + 2]; BF_LONG S[4 * 256]; } BF_KEY; -# endif /* OPENSSL_NO_DEPRECATED_3_0 */ +void BF_set_key(BF_KEY *key, int len, const unsigned char *data); -DEPRECATEDIN_3_0(void BF_set_key(BF_KEY *key, int len, - const unsigned char *data)) +void BF_encrypt(BF_LONG *data, const BF_KEY *key); +void BF_decrypt(BF_LONG *data, const BF_KEY *key); -DEPRECATEDIN_3_0(void BF_encrypt(BF_LONG *data, const BF_KEY *key)) -DEPRECATEDIN_3_0(void BF_decrypt(BF_LONG *data, const BF_KEY *key)) - -DEPRECATEDIN_3_0(void BF_ecb_encrypt(const unsigned char *in, - unsigned char *out, const BF_KEY *key, - int enc)) -DEPRECATEDIN_3_0(void BF_cbc_encrypt(const unsigned char *in, - unsigned char *out, long length, - const BF_KEY *schedule, - unsigned char *ivec, int enc)) -DEPRECATEDIN_3_0(void BF_cfb64_encrypt(const unsigned char *in, - unsigned char *out, - long length, const BF_KEY *schedule, - unsigned char *ivec, int *num, int enc)) -DEPRECATEDIN_3_0(void BF_ofb64_encrypt(const unsigned char *in, - unsigned char *out, - long length, const BF_KEY *schedule, - unsigned char *ivec, int *num)) -DEPRECATEDIN_3_0(const char *BF_options(void)) +void BF_ecb_encrypt(const unsigned char *in, unsigned char *out, + const BF_KEY *key, int enc); +void BF_cbc_encrypt(const unsigned char *in, unsigned char *out, long length, + const BF_KEY *schedule, unsigned char *ivec, int enc); +void BF_cfb64_encrypt(const unsigned char *in, unsigned char *out, + long length, const BF_KEY *schedule, + unsigned char *ivec, int *num, int enc); +void BF_ofb64_encrypt(const unsigned char *in, unsigned char *out, + long length, const BF_KEY *schedule, + unsigned char *ivec, int *num); +const char *BF_options(void); # ifdef __cplusplus } diff --git a/linux_amd64/include/openssl/bn.h b/linux_amd64/include/openssl/bn.h index 69cd127..8af05d0 100644 --- a/linux_amd64/include/openssl/bn.h +++ b/linux_amd64/include/openssl/bn.h @@ -2,27 +2,21 @@ * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_BN_H -# define OPENSSL_BN_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_BN_H -# endif +#ifndef HEADER_BN_H +# define HEADER_BN_H # include # ifndef OPENSSL_NO_STDIO # include # endif # include -# include +# include # include # include @@ -67,7 +61,7 @@ extern "C" { # define BN_FLG_CONSTTIME 0x04 # define BN_FLG_SECURE 0x08 -# ifndef OPENSSL_NO_DEPRECATED_0_9_8 +# if OPENSSL_API_COMPAT < 0x00908000L /* deprecated name for the flag */ # define BN_FLG_EXP_CONSTTIME BN_FLG_CONSTTIME # define BN_FLG_FREE 0x8000 /* used for debugging */ @@ -109,9 +103,8 @@ void BN_GENCB_set(BN_GENCB *gencb, int (*callback) (int, int, BN_GENCB *), void *BN_GENCB_get_arg(BN_GENCB *cb); -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define BN_prime_checks 0 /* default: select number of iterations based - * on the size of the number */ +# define BN_prime_checks 0 /* default: select number of iterations based + * on the size of the number */ /* * BN_prime_checks_for_size() returns the number of Miller-Rabin iterations @@ -176,15 +169,14 @@ void *BN_GENCB_get_arg(BN_GENCB *cb); * (b) >= 6 | >= 12 | 34 | 64 bit */ -# define BN_prime_checks_for_size(b) ((b) >= 3747 ? 3 : \ - (b) >= 1345 ? 4 : \ - (b) >= 476 ? 5 : \ - (b) >= 400 ? 6 : \ - (b) >= 347 ? 7 : \ - (b) >= 308 ? 8 : \ - (b) >= 55 ? 27 : \ - /* b >= 6 */ 34) -# endif +# define BN_prime_checks_for_size(b) ((b) >= 3747 ? 3 : \ + (b) >= 1345 ? 4 : \ + (b) >= 476 ? 5 : \ + (b) >= 400 ? 6 : \ + (b) >= 347 ? 7 : \ + (b) >= 308 ? 8 : \ + (b) >= 55 ? 27 : \ + /* b >= 6 */ 34) # define BN_num_bytes(a) ((BN_num_bits(a)+7)/8) @@ -198,7 +190,7 @@ int BN_is_odd(const BIGNUM *a); void BN_zero_ex(BIGNUM *a); -# if OPENSSL_API_LEVEL > 908 +# if OPENSSL_API_COMPAT >= 0x00908000L # define BN_zero(a) BN_zero_ex(a) # else # define BN_zero(a) (BN_set_word((a),0)) @@ -206,21 +198,15 @@ void BN_zero_ex(BIGNUM *a); const BIGNUM *BN_value_one(void); char *BN_options(void); -BN_CTX *BN_CTX_new_ex(OPENSSL_CTX *ctx); BN_CTX *BN_CTX_new(void); -BN_CTX *BN_CTX_secure_new_ex(OPENSSL_CTX *ctx); BN_CTX *BN_CTX_secure_new(void); void BN_CTX_free(BN_CTX *c); void BN_CTX_start(BN_CTX *ctx); BIGNUM *BN_CTX_get(BN_CTX *ctx); void BN_CTX_end(BN_CTX *ctx); -int BN_rand_ex(BIGNUM *rnd, int bits, int top, int bottom, BN_CTX *ctx); int BN_rand(BIGNUM *rnd, int bits, int top, int bottom); -int BN_priv_rand_ex(BIGNUM *rnd, int bits, int top, int bottom, BN_CTX *ctx); int BN_priv_rand(BIGNUM *rnd, int bits, int top, int bottom); -int BN_rand_range_ex(BIGNUM *r, const BIGNUM *range, BN_CTX *ctx); int BN_rand_range(BIGNUM *rnd, const BIGNUM *range); -int BN_priv_rand_range_ex(BIGNUM *r, const BIGNUM *range, BN_CTX *ctx); int BN_priv_rand_range(BIGNUM *rnd, const BIGNUM *range); int BN_pseudo_rand(BIGNUM *rnd, int bits, int top, int bottom); int BN_pseudo_rand_range(BIGNUM *rnd, const BIGNUM *range); @@ -237,8 +223,6 @@ int BN_bn2bin(const BIGNUM *a, unsigned char *to); int BN_bn2binpad(const BIGNUM *a, unsigned char *to, int tolen); BIGNUM *BN_lebin2bn(const unsigned char *s, int len, BIGNUM *ret); int BN_bn2lebinpad(const BIGNUM *a, unsigned char *to, int tolen); -BIGNUM *BN_native2bn(const unsigned char *s, int len, BIGNUM *ret); -int BN_bn2nativepad(const BIGNUM *a, unsigned char *to, int tolen); BIGNUM *BN_mpi2bn(const unsigned char *s, int len, BIGNUM *ret); int BN_bn2mpi(const BIGNUM *a, unsigned char *to); int BN_sub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); @@ -355,16 +339,12 @@ DEPRECATEDIN_0_9_8(int BN_CTX *ctx, void *cb_arg, int do_trial_division)) -DEPRECATEDIN_3_0(int BN_is_prime_ex(const BIGNUM *p, int nchecks, BN_CTX *ctx, BN_GENCB *cb)) -DEPRECATEDIN_3_0(int BN_is_prime_fasttest_ex(const BIGNUM *p, int nchecks, BN_CTX *ctx, - int do_trial_division, BN_GENCB *cb)) /* Newer versions */ -int BN_generate_prime_ex2(BIGNUM *ret, int bits, int safe, - const BIGNUM *add, const BIGNUM *rem, BN_GENCB *cb, - BN_CTX *ctx); int BN_generate_prime_ex(BIGNUM *ret, int bits, int safe, const BIGNUM *add, const BIGNUM *rem, BN_GENCB *cb); -int BN_check_prime(const BIGNUM *p, BN_CTX *ctx, BN_GENCB *cb); +int BN_is_prime_ex(const BIGNUM *p, int nchecks, BN_CTX *ctx, BN_GENCB *cb); +int BN_is_prime_fasttest_ex(const BIGNUM *p, int nchecks, BN_CTX *ctx, + int do_trial_division, BN_GENCB *cb); int BN_X931_generate_Xpq(BIGNUM *Xp, BIGNUM *Xq, int nbits, BN_CTX *ctx); @@ -527,7 +507,6 @@ int BN_generate_dsa_nonce(BIGNUM *out, const BIGNUM *range, const BIGNUM *priv, const unsigned char *message, size_t message_len, BN_CTX *ctx); -# ifndef OPENSSL_NO_DH /* Primes from RFC 2409 */ BIGNUM *BN_get_rfc2409_prime_768(BIGNUM *bn); BIGNUM *BN_get_rfc2409_prime_1024(BIGNUM *bn); @@ -540,16 +519,15 @@ BIGNUM *BN_get_rfc3526_prime_4096(BIGNUM *bn); BIGNUM *BN_get_rfc3526_prime_6144(BIGNUM *bn); BIGNUM *BN_get_rfc3526_prime_8192(BIGNUM *bn); -# ifndef OPENSSL_NO_DEPRECATED_1_1_0 -# define get_rfc2409_prime_768 BN_get_rfc2409_prime_768 -# define get_rfc2409_prime_1024 BN_get_rfc2409_prime_1024 -# define get_rfc3526_prime_1536 BN_get_rfc3526_prime_1536 -# define get_rfc3526_prime_2048 BN_get_rfc3526_prime_2048 -# define get_rfc3526_prime_3072 BN_get_rfc3526_prime_3072 -# define get_rfc3526_prime_4096 BN_get_rfc3526_prime_4096 -# define get_rfc3526_prime_6144 BN_get_rfc3526_prime_6144 -# define get_rfc3526_prime_8192 BN_get_rfc3526_prime_8192 -# endif +# if OPENSSL_API_COMPAT < 0x10100000L +# define get_rfc2409_prime_768 BN_get_rfc2409_prime_768 +# define get_rfc2409_prime_1024 BN_get_rfc2409_prime_1024 +# define get_rfc3526_prime_1536 BN_get_rfc3526_prime_1536 +# define get_rfc3526_prime_2048 BN_get_rfc3526_prime_2048 +# define get_rfc3526_prime_3072 BN_get_rfc3526_prime_3072 +# define get_rfc3526_prime_4096 BN_get_rfc3526_prime_4096 +# define get_rfc3526_prime_6144 BN_get_rfc3526_prime_6144 +# define get_rfc3526_prime_8192 BN_get_rfc3526_prime_8192 # endif int BN_bntest_rand(BIGNUM *rnd, int bits, int top, int bottom); diff --git a/linux_amd64/include/openssl/bnerr.h b/linux_amd64/include/openssl/bnerr.h index cce4cbb..9f3c7cf 100644 --- a/linux_amd64/include/openssl/bnerr.h +++ b/linux_amd64/include/openssl/bnerr.h @@ -2,25 +2,19 @@ * Generated by util/mkerr.pl DO NOT EDIT * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_BNERR_H -# define OPENSSL_BNERR_H -# pragma once +#ifndef HEADER_BNERR_H +# define HEADER_BNERR_H -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_BNERR_H +# ifndef HEADER_SYMHACKS_H +# include # endif -# include -# include - - # ifdef __cplusplus extern "C" # endif @@ -29,58 +23,55 @@ int ERR_load_BN_strings(void); /* * BN function codes. */ -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define BN_F_BNRAND 0 -# define BN_F_BNRAND_RANGE 0 -# define BN_F_BN_BLINDING_CONVERT_EX 0 -# define BN_F_BN_BLINDING_CREATE_PARAM 0 -# define BN_F_BN_BLINDING_INVERT_EX 0 -# define BN_F_BN_BLINDING_NEW 0 -# define BN_F_BN_BLINDING_UPDATE 0 -# define BN_F_BN_BN2DEC 0 -# define BN_F_BN_BN2HEX 0 -# define BN_F_BN_COMPUTE_WNAF 0 -# define BN_F_BN_CTX_GET 0 -# define BN_F_BN_CTX_NEW 0 -# define BN_F_BN_CTX_NEW_EX 0 -# define BN_F_BN_CTX_START 0 -# define BN_F_BN_DIV 0 -# define BN_F_BN_DIV_RECP 0 -# define BN_F_BN_EXP 0 -# define BN_F_BN_EXPAND_INTERNAL 0 -# define BN_F_BN_GENCB_NEW 0 -# define BN_F_BN_GENERATE_DSA_NONCE 0 -# define BN_F_BN_GENERATE_PRIME_EX 0 -# define BN_F_BN_GF2M_MOD 0 -# define BN_F_BN_GF2M_MOD_EXP 0 -# define BN_F_BN_GF2M_MOD_MUL 0 -# define BN_F_BN_GF2M_MOD_SOLVE_QUAD 0 -# define BN_F_BN_GF2M_MOD_SOLVE_QUAD_ARR 0 -# define BN_F_BN_GF2M_MOD_SQR 0 -# define BN_F_BN_GF2M_MOD_SQRT 0 -# define BN_F_BN_LSHIFT 0 -# define BN_F_BN_MOD_EXP2_MONT 0 -# define BN_F_BN_MOD_EXP_MONT 0 -# define BN_F_BN_MOD_EXP_MONT_CONSTTIME 0 -# define BN_F_BN_MOD_EXP_MONT_WORD 0 -# define BN_F_BN_MOD_EXP_RECP 0 -# define BN_F_BN_MOD_EXP_SIMPLE 0 -# define BN_F_BN_MOD_INVERSE 0 -# define BN_F_BN_MOD_INVERSE_NO_BRANCH 0 -# define BN_F_BN_MOD_LSHIFT_QUICK 0 -# define BN_F_BN_MOD_SQRT 0 -# define BN_F_BN_MONT_CTX_NEW 0 -# define BN_F_BN_MPI2BN 0 -# define BN_F_BN_NEW 0 -# define BN_F_BN_POOL_GET 0 -# define BN_F_BN_RAND 0 -# define BN_F_BN_RAND_RANGE 0 -# define BN_F_BN_RECP_CTX_NEW 0 -# define BN_F_BN_RSHIFT 0 -# define BN_F_BN_SET_WORDS 0 -# define BN_F_BN_STACK_PUSH 0 -# define BN_F_BN_USUB 0 -# endif +# define BN_F_BNRAND 127 +# define BN_F_BNRAND_RANGE 138 +# define BN_F_BN_BLINDING_CONVERT_EX 100 +# define BN_F_BN_BLINDING_CREATE_PARAM 128 +# define BN_F_BN_BLINDING_INVERT_EX 101 +# define BN_F_BN_BLINDING_NEW 102 +# define BN_F_BN_BLINDING_UPDATE 103 +# define BN_F_BN_BN2DEC 104 +# define BN_F_BN_BN2HEX 105 +# define BN_F_BN_COMPUTE_WNAF 142 +# define BN_F_BN_CTX_GET 116 +# define BN_F_BN_CTX_NEW 106 +# define BN_F_BN_CTX_START 129 +# define BN_F_BN_DIV 107 +# define BN_F_BN_DIV_RECP 130 +# define BN_F_BN_EXP 123 +# define BN_F_BN_EXPAND_INTERNAL 120 +# define BN_F_BN_GENCB_NEW 143 +# define BN_F_BN_GENERATE_DSA_NONCE 140 +# define BN_F_BN_GENERATE_PRIME_EX 141 +# define BN_F_BN_GF2M_MOD 131 +# define BN_F_BN_GF2M_MOD_EXP 132 +# define BN_F_BN_GF2M_MOD_MUL 133 +# define BN_F_BN_GF2M_MOD_SOLVE_QUAD 134 +# define BN_F_BN_GF2M_MOD_SOLVE_QUAD_ARR 135 +# define BN_F_BN_GF2M_MOD_SQR 136 +# define BN_F_BN_GF2M_MOD_SQRT 137 +# define BN_F_BN_LSHIFT 145 +# define BN_F_BN_MOD_EXP2_MONT 118 +# define BN_F_BN_MOD_EXP_MONT 109 +# define BN_F_BN_MOD_EXP_MONT_CONSTTIME 124 +# define BN_F_BN_MOD_EXP_MONT_WORD 117 +# define BN_F_BN_MOD_EXP_RECP 125 +# define BN_F_BN_MOD_EXP_SIMPLE 126 +# define BN_F_BN_MOD_INVERSE 110 +# define BN_F_BN_MOD_INVERSE_NO_BRANCH 139 +# define BN_F_BN_MOD_LSHIFT_QUICK 119 +# define BN_F_BN_MOD_SQRT 121 +# define BN_F_BN_MONT_CTX_NEW 149 +# define BN_F_BN_MPI2BN 112 +# define BN_F_BN_NEW 113 +# define BN_F_BN_POOL_GET 147 +# define BN_F_BN_RAND 114 +# define BN_F_BN_RAND_RANGE 122 +# define BN_F_BN_RECP_CTX_NEW 150 +# define BN_F_BN_RSHIFT 146 +# define BN_F_BN_SET_WORDS 144 +# define BN_F_BN_STACK_PUSH 148 +# define BN_F_BN_USUB 115 /* * BN reason codes. @@ -101,7 +92,6 @@ int ERR_load_BN_strings(void); # define BN_R_NOT_INITIALIZED 107 # define BN_R_NO_INVERSE 108 # define BN_R_NO_SOLUTION 116 -# define BN_R_NO_SUITABLE_DIGEST 120 # define BN_R_PRIVATE_KEY_TOO_LARGE 117 # define BN_R_P_IS_NOT_PRIME 112 # define BN_R_TOO_MANY_ITERATIONS 113 diff --git a/linux_amd64/include/openssl/buffer.h b/linux_amd64/include/openssl/buffer.h index 5773b98..d276576 100644 --- a/linux_amd64/include/openssl/buffer.h +++ b/linux_amd64/include/openssl/buffer.h @@ -1,23 +1,17 @@ /* * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_BUFFER_H -# define OPENSSL_BUFFER_H -# pragma once +#ifndef HEADER_BUFFER_H +# define HEADER_BUFFER_H -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_BUFFER_H -# endif - -# include -# ifndef OPENSSL_CRYPTO_H +# include +# ifndef HEADER_CRYPTO_H # include # endif # include @@ -30,14 +24,16 @@ extern "C" { # include # include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define BUF_strdup(s) OPENSSL_strdup(s) -# define BUF_strndup(s, size) OPENSSL_strndup(s, size) -# define BUF_memdup(data, size) OPENSSL_memdup(data, size) -# define BUF_strlcpy(dst, src, size) OPENSSL_strlcpy(dst, src, size) -# define BUF_strlcat(dst, src, size) OPENSSL_strlcat(dst, src, size) -# define BUF_strnlen(str, maxlen) OPENSSL_strnlen(str, maxlen) -# endif +/* + * These names are outdated as of OpenSSL 1.1; a future release + * will move them to be deprecated. + */ +# define BUF_strdup(s) OPENSSL_strdup(s) +# define BUF_strndup(s, size) OPENSSL_strndup(s, size) +# define BUF_memdup(data, size) OPENSSL_memdup(data, size) +# define BUF_strlcpy(dst, src, size) OPENSSL_strlcpy(dst, src, size) +# define BUF_strlcat(dst, src, size) OPENSSL_strlcat(dst, src, size) +# define BUF_strnlen(str, maxlen) OPENSSL_strnlen(str, maxlen) struct buf_mem_st { size_t length; /* current number of bytes */ diff --git a/linux_amd64/include/openssl/buffererr.h b/linux_amd64/include/openssl/buffererr.h index 1a5de3a..04f6ff7 100644 --- a/linux_amd64/include/openssl/buffererr.h +++ b/linux_amd64/include/openssl/buffererr.h @@ -2,25 +2,19 @@ * Generated by util/mkerr.pl DO NOT EDIT * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_BUFFERERR_H -# define OPENSSL_BUFFERERR_H -# pragma once +#ifndef HEADER_BUFERR_H +# define HEADER_BUFERR_H -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_BUFERR_H +# ifndef HEADER_SYMHACKS_H +# include # endif -# include -# include - - # ifdef __cplusplus extern "C" # endif @@ -29,11 +23,9 @@ int ERR_load_BUF_strings(void); /* * BUF function codes. */ -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define BUF_F_BUF_MEM_GROW 0 -# define BUF_F_BUF_MEM_GROW_CLEAN 0 -# define BUF_F_BUF_MEM_NEW 0 -# endif +# define BUF_F_BUF_MEM_GROW 100 +# define BUF_F_BUF_MEM_GROW_CLEAN 105 +# define BUF_F_BUF_MEM_NEW 101 /* * BUF reason codes. diff --git a/linux_amd64/include/openssl/camellia.h b/linux_amd64/include/openssl/camellia.h index dc95dee..151f3c1 100644 --- a/linux_amd64/include/openssl/camellia.h +++ b/linux_amd64/include/openssl/camellia.h @@ -1,20 +1,14 @@ /* * Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_CAMELLIA_H -# define OPENSSL_CAMELLIA_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_CAMELLIA_H -# endif +#ifndef HEADER_CAMELLIA_H +# define HEADER_CAMELLIA_H # include @@ -24,12 +18,8 @@ extern "C" { #endif -# define CAMELLIA_BLOCK_SIZE 16 - -# ifndef OPENSSL_NO_DEPRECATED_3_0 - -# define CAMELLIA_ENCRYPT 1 -# define CAMELLIA_DECRYPT 0 +# define CAMELLIA_ENCRYPT 1 +# define CAMELLIA_DECRYPT 0 /* * Because array size can't be a const in C, the following two are macros. @@ -38,8 +28,9 @@ extern "C" { /* This should be a hidden type, but EVP requires that the size be known */ -# define CAMELLIA_TABLE_BYTE_LEN 272 -# define CAMELLIA_TABLE_WORD_LEN (CAMELLIA_TABLE_BYTE_LEN / 4) +# define CAMELLIA_BLOCK_SIZE 16 +# define CAMELLIA_TABLE_BYTE_LEN 272 +# define CAMELLIA_TABLE_WORD_LEN (CAMELLIA_TABLE_BYTE_LEN / 4) typedef unsigned int KEY_TABLE_TYPE[CAMELLIA_TABLE_WORD_LEN]; /* to match * with WORD */ @@ -53,62 +44,36 @@ struct camellia_key_st { }; typedef struct camellia_key_st CAMELLIA_KEY; -# endif /* OPENSSL_NO_DEPRECATED_3_0 */ +int Camellia_set_key(const unsigned char *userKey, const int bits, + CAMELLIA_KEY *key); -DEPRECATEDIN_3_0(int Camellia_set_key(const unsigned char *userKey, - const int bits, - CAMELLIA_KEY *key)) +void Camellia_encrypt(const unsigned char *in, unsigned char *out, + const CAMELLIA_KEY *key); +void Camellia_decrypt(const unsigned char *in, unsigned char *out, + const CAMELLIA_KEY *key); -DEPRECATEDIN_3_0(void Camellia_encrypt(const unsigned char *in, - unsigned char *out, - const CAMELLIA_KEY *key)) -DEPRECATEDIN_3_0(void Camellia_decrypt(const unsigned char *in, - unsigned char *out, - const CAMELLIA_KEY *key)) - -DEPRECATEDIN_3_0(void Camellia_ecb_encrypt(const unsigned char *in, - unsigned char *out, - const CAMELLIA_KEY *key, - const int enc)) -DEPRECATEDIN_3_0(void Camellia_cbc_encrypt(const unsigned char *in, - unsigned char *out, - size_t length, const - CAMELLIA_KEY *key, - unsigned char *ivec, const int enc)) -DEPRECATEDIN_3_0(void Camellia_cfb128_encrypt(const unsigned char *in, - unsigned char *out, - size_t length, - const CAMELLIA_KEY *key, - unsigned char *ivec, - int *num, - const int enc)) -DEPRECATEDIN_3_0(void Camellia_cfb1_encrypt(const unsigned char *in, - unsigned char *out, - size_t length, - const CAMELLIA_KEY *key, - unsigned char *ivec, - int *num, - const int enc)) -DEPRECATEDIN_3_0(void Camellia_cfb8_encrypt(const unsigned char *in, - unsigned char *out, - size_t length, - const CAMELLIA_KEY *key, - unsigned char *ivec, - int *num, - const int enc)) -DEPRECATEDIN_3_0(void Camellia_ofb128_encrypt(const unsigned char *in, - unsigned char *out, - size_t length, - const CAMELLIA_KEY *key, - unsigned char *ivec, - int *num)) -DEPRECATEDIN_3_0(void Camellia_ctr128_encrypt(const unsigned char *in, - unsigned char *out, - size_t length, - const CAMELLIA_KEY *key, - unsigned char ivec[CAMELLIA_BLOCK_SIZE], - unsigned char ecount_buf[CAMELLIA_BLOCK_SIZE], - unsigned int *num)) +void Camellia_ecb_encrypt(const unsigned char *in, unsigned char *out, + const CAMELLIA_KEY *key, const int enc); +void Camellia_cbc_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const CAMELLIA_KEY *key, + unsigned char *ivec, const int enc); +void Camellia_cfb128_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const CAMELLIA_KEY *key, + unsigned char *ivec, int *num, const int enc); +void Camellia_cfb1_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const CAMELLIA_KEY *key, + unsigned char *ivec, int *num, const int enc); +void Camellia_cfb8_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const CAMELLIA_KEY *key, + unsigned char *ivec, int *num, const int enc); +void Camellia_ofb128_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const CAMELLIA_KEY *key, + unsigned char *ivec, int *num); +void Camellia_ctr128_encrypt(const unsigned char *in, unsigned char *out, + size_t length, const CAMELLIA_KEY *key, + unsigned char ivec[CAMELLIA_BLOCK_SIZE], + unsigned char ecount_buf[CAMELLIA_BLOCK_SIZE], + unsigned int *num); # ifdef __cplusplus } diff --git a/linux_amd64/include/openssl/cast.h b/linux_amd64/include/openssl/cast.h index f338d41..2cc89ae 100644 --- a/linux_amd64/include/openssl/cast.h +++ b/linux_amd64/include/openssl/cast.h @@ -1,20 +1,14 @@ /* * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_CAST_H -# define OPENSSL_CAST_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_CAST_H -# endif +#ifndef HEADER_CAST_H +# define HEADER_CAST_H # include @@ -23,52 +17,33 @@ extern "C" { # endif +# define CAST_ENCRYPT 1 +# define CAST_DECRYPT 0 + +# define CAST_LONG unsigned int + # define CAST_BLOCK 8 # define CAST_KEY_LENGTH 16 -# ifndef OPENSSL_NO_DEPRECATED_3_0 - -# define CAST_ENCRYPT 1 -# define CAST_DECRYPT 0 - -# define CAST_LONG unsigned int - typedef struct cast_key_st { CAST_LONG data[32]; int short_key; /* Use reduced rounds for short key */ } CAST_KEY; -# endif /* OPENSSL_NO_DEPRECATED_3_0 */ - -DEPRECATEDIN_3_0(void CAST_set_key(CAST_KEY *key, int len, - const unsigned char *data)) -DEPRECATEDIN_3_0(void CAST_ecb_encrypt(const unsigned char *in, - unsigned char *out, - const CAST_KEY *key, - int enc)) -DEPRECATEDIN_3_0(void CAST_encrypt(CAST_LONG *data, - const CAST_KEY *key)) -DEPRECATEDIN_3_0(void CAST_decrypt(CAST_LONG *data, - const CAST_KEY *key)) -DEPRECATEDIN_3_0(void CAST_cbc_encrypt(const unsigned char *in, - unsigned char *out, - long length, - const CAST_KEY *ks, - unsigned char *iv, - int enc)) -DEPRECATEDIN_3_0(void CAST_cfb64_encrypt(const unsigned char *in, - unsigned char *out, - long length, - const CAST_KEY *schedule, - unsigned char *ivec, - int *num, - int enc)) -DEPRECATEDIN_3_0(void CAST_ofb64_encrypt(const unsigned char *in, - unsigned char *out, - long length, - const CAST_KEY *schedule, - unsigned char *ivec, - int *num)) +void CAST_set_key(CAST_KEY *key, int len, const unsigned char *data); +void CAST_ecb_encrypt(const unsigned char *in, unsigned char *out, + const CAST_KEY *key, int enc); +void CAST_encrypt(CAST_LONG *data, const CAST_KEY *key); +void CAST_decrypt(CAST_LONG *data, const CAST_KEY *key); +void CAST_cbc_encrypt(const unsigned char *in, unsigned char *out, + long length, const CAST_KEY *ks, unsigned char *iv, + int enc); +void CAST_cfb64_encrypt(const unsigned char *in, unsigned char *out, + long length, const CAST_KEY *schedule, + unsigned char *ivec, int *num, int enc); +void CAST_ofb64_encrypt(const unsigned char *in, unsigned char *out, + long length, const CAST_KEY *schedule, + unsigned char *ivec, int *num); # ifdef __cplusplus } diff --git a/linux_amd64/include/openssl/cmac.h b/linux_amd64/include/openssl/cmac.h index 2f43ece..3535a9a 100644 --- a/linux_amd64/include/openssl/cmac.h +++ b/linux_amd64/include/openssl/cmac.h @@ -1,50 +1,41 @@ /* * Copyright 2010-2016 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_CMAC_H -# define OPENSSL_CMAC_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_CMAC_H -# endif +#ifndef HEADER_CMAC_H +# define HEADER_CMAC_H # ifndef OPENSSL_NO_CMAC -# ifdef __cplusplus +#ifdef __cplusplus extern "C" { -# endif +#endif -# include +# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 /* Opaque */ typedef struct CMAC_CTX_st CMAC_CTX; -# endif -DEPRECATEDIN_3_0(CMAC_CTX *CMAC_CTX_new(void)) -DEPRECATEDIN_3_0(void CMAC_CTX_cleanup(CMAC_CTX *ctx)) -DEPRECATEDIN_3_0(void CMAC_CTX_free(CMAC_CTX *ctx)) -DEPRECATEDIN_3_0(EVP_CIPHER_CTX *CMAC_CTX_get0_cipher_ctx(CMAC_CTX *ctx)) -DEPRECATEDIN_3_0(int CMAC_CTX_copy(CMAC_CTX *out, const CMAC_CTX *in)) +CMAC_CTX *CMAC_CTX_new(void); +void CMAC_CTX_cleanup(CMAC_CTX *ctx); +void CMAC_CTX_free(CMAC_CTX *ctx); +EVP_CIPHER_CTX *CMAC_CTX_get0_cipher_ctx(CMAC_CTX *ctx); +int CMAC_CTX_copy(CMAC_CTX *out, const CMAC_CTX *in); -DEPRECATEDIN_3_0(int CMAC_Init(CMAC_CTX *ctx, const void *key, size_t keylen, - const EVP_CIPHER *cipher, ENGINE *impl)) -DEPRECATEDIN_3_0(int CMAC_Update(CMAC_CTX *ctx, const void *data, size_t dlen)) -DEPRECATEDIN_3_0(int CMAC_Final(CMAC_CTX *ctx, unsigned char *out, - size_t *poutlen)) -DEPRECATEDIN_3_0(int CMAC_resume(CMAC_CTX *ctx)) +int CMAC_Init(CMAC_CTX *ctx, const void *key, size_t keylen, + const EVP_CIPHER *cipher, ENGINE *impl); +int CMAC_Update(CMAC_CTX *ctx, const void *data, size_t dlen); +int CMAC_Final(CMAC_CTX *ctx, unsigned char *out, size_t *poutlen); +int CMAC_resume(CMAC_CTX *ctx); -# ifdef __cplusplus +#ifdef __cplusplus } -# endif +#endif # endif #endif diff --git a/linux_amd64/include/openssl/cms.h b/linux_amd64/include/openssl/cms.h index 1d502fa..c762796 100644 --- a/linux_amd64/include/openssl/cms.h +++ b/linux_amd64/include/openssl/cms.h @@ -1,20 +1,14 @@ /* * Copyright 2008-2019 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_CMS_H -# define OPENSSL_CMS_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_CMS_H -# endif +#ifndef HEADER_CMS_H +# define HEADER_CMS_H # include @@ -79,7 +73,6 @@ DECLARE_ASN1_PRINT_FUNCTION(CMS_ContentInfo) # define CMS_DEBUG_DECRYPT 0x20000 # define CMS_KEY_PARAM 0x40000 # define CMS_ASCIICRLF 0x80000 -# define CMS_CADES 0x100000 const ASN1_OBJECT *CMS_get0_type(const CMS_ContentInfo *cms); @@ -90,8 +83,8 @@ ASN1_OCTET_STRING **CMS_get0_content(CMS_ContentInfo *cms); int CMS_is_detached(CMS_ContentInfo *cms); int CMS_set_detached(CMS_ContentInfo *cms, int detached); -# ifdef OPENSSL_PEM_H -DECLARE_PEM_rw(CMS, CMS_ContentInfo) +# ifdef HEADER_PEM_H +DECLARE_PEM_rw_const(CMS, CMS_ContentInfo) # endif int CMS_stream(unsigned char ***boundary, CMS_ContentInfo *cms); CMS_ContentInfo *d2i_CMS_bio(BIO *bp, CMS_ContentInfo **cms); @@ -204,7 +197,7 @@ CMS_RecipientInfo *CMS_add0_recipient_password(CMS_ContentInfo *cms, const EVP_CIPHER *kekciph); int CMS_RecipientInfo_decrypt(CMS_ContentInfo *cms, CMS_RecipientInfo *ri); -int CMS_RecipientInfo_encrypt(const CMS_ContentInfo *cms, CMS_RecipientInfo *ri); +int CMS_RecipientInfo_encrypt(CMS_ContentInfo *cms, CMS_RecipientInfo *ri); int CMS_uncompress(CMS_ContentInfo *cms, BIO *dcont, BIO *out, unsigned int flags); diff --git a/linux_amd64/include/openssl/cmserr.h b/linux_amd64/include/openssl/cmserr.h index 10e0fd6..7dbc13d 100644 --- a/linux_amd64/include/openssl/cmserr.h +++ b/linux_amd64/include/openssl/cmserr.h @@ -2,25 +2,19 @@ * Generated by util/mkerr.pl DO NOT EDIT * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_CMSERR_H -# define OPENSSL_CMSERR_H -# pragma once +#ifndef HEADER_CMSERR_H +# define HEADER_CMSERR_H -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_CMSERR_H +# ifndef HEADER_SYMHACKS_H +# include # endif -# include -# include - - # include # ifndef OPENSSL_NO_CMS @@ -33,93 +27,89 @@ int ERR_load_CMS_strings(void); /* * CMS function codes. */ -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define CMS_F_CHECK_CONTENT 0 -# define CMS_F_CMS_ADD0_CERT 0 -# define CMS_F_CMS_ADD0_RECIPIENT_KEY 0 -# define CMS_F_CMS_ADD0_RECIPIENT_PASSWORD 0 -# define CMS_F_CMS_ADD1_RECEIPTREQUEST 0 -# define CMS_F_CMS_ADD1_RECIPIENT_CERT 0 -# define CMS_F_CMS_ADD1_SIGNER 0 -# define CMS_F_CMS_ADD1_SIGNINGTIME 0 -# define CMS_F_CMS_ADD1_SIGNING_CERT 0 -# define CMS_F_CMS_ADD1_SIGNING_CERT_V2 0 -# define CMS_F_CMS_COMPRESS 0 -# define CMS_F_CMS_COMPRESSEDDATA_CREATE 0 -# define CMS_F_CMS_COMPRESSEDDATA_INIT_BIO 0 -# define CMS_F_CMS_COPY_CONTENT 0 -# define CMS_F_CMS_COPY_MESSAGEDIGEST 0 -# define CMS_F_CMS_DATA 0 -# define CMS_F_CMS_DATAFINAL 0 -# define CMS_F_CMS_DATAINIT 0 -# define CMS_F_CMS_DECRYPT 0 -# define CMS_F_CMS_DECRYPT_SET1_KEY 0 -# define CMS_F_CMS_DECRYPT_SET1_PASSWORD 0 -# define CMS_F_CMS_DECRYPT_SET1_PKEY 0 -# define CMS_F_CMS_DIGESTALGORITHM_FIND_CTX 0 -# define CMS_F_CMS_DIGESTALGORITHM_INIT_BIO 0 -# define CMS_F_CMS_DIGESTEDDATA_DO_FINAL 0 -# define CMS_F_CMS_DIGEST_VERIFY 0 -# define CMS_F_CMS_ENCODE_RECEIPT 0 -# define CMS_F_CMS_ENCRYPT 0 -# define CMS_F_CMS_ENCRYPTEDCONTENT_INIT 0 -# define CMS_F_CMS_ENCRYPTEDCONTENT_INIT_BIO 0 -# define CMS_F_CMS_ENCRYPTEDDATA_DECRYPT 0 -# define CMS_F_CMS_ENCRYPTEDDATA_ENCRYPT 0 -# define CMS_F_CMS_ENCRYPTEDDATA_SET1_KEY 0 -# define CMS_F_CMS_ENVELOPEDDATA_CREATE 0 -# define CMS_F_CMS_ENVELOPEDDATA_INIT_BIO 0 -# define CMS_F_CMS_ENVELOPED_DATA_INIT 0 -# define CMS_F_CMS_ENV_ASN1_CTRL 0 -# define CMS_F_CMS_FINAL 0 -# define CMS_F_CMS_GET0_CERTIFICATE_CHOICES 0 -# define CMS_F_CMS_GET0_CONTENT 0 -# define CMS_F_CMS_GET0_ECONTENT_TYPE 0 -# define CMS_F_CMS_GET0_ENVELOPED 0 -# define CMS_F_CMS_GET0_REVOCATION_CHOICES 0 -# define CMS_F_CMS_GET0_SIGNED 0 -# define CMS_F_CMS_MSGSIGDIGEST_ADD1 0 -# define CMS_F_CMS_RECEIPTREQUEST_CREATE0 0 -# define CMS_F_CMS_RECEIPT_VERIFY 0 -# define CMS_F_CMS_RECIPIENTINFO_DECRYPT 0 -# define CMS_F_CMS_RECIPIENTINFO_ENCRYPT 0 -# define CMS_F_CMS_RECIPIENTINFO_KARI_ENCRYPT 0 -# define CMS_F_CMS_RECIPIENTINFO_KARI_GET0_ALG 0 -# define CMS_F_CMS_RECIPIENTINFO_KARI_GET0_ORIG_ID 0 -# define CMS_F_CMS_RECIPIENTINFO_KARI_GET0_REKS 0 -# define CMS_F_CMS_RECIPIENTINFO_KARI_ORIG_ID_CMP 0 -# define CMS_F_CMS_RECIPIENTINFO_KEKRI_DECRYPT 0 -# define CMS_F_CMS_RECIPIENTINFO_KEKRI_ENCRYPT 0 -# define CMS_F_CMS_RECIPIENTINFO_KEKRI_GET0_ID 0 -# define CMS_F_CMS_RECIPIENTINFO_KEKRI_ID_CMP 0 -# define CMS_F_CMS_RECIPIENTINFO_KTRI_CERT_CMP 0 -# define CMS_F_CMS_RECIPIENTINFO_KTRI_DECRYPT 0 -# define CMS_F_CMS_RECIPIENTINFO_KTRI_ENCRYPT 0 -# define CMS_F_CMS_RECIPIENTINFO_KTRI_GET0_ALGS 0 -# define CMS_F_CMS_RECIPIENTINFO_KTRI_GET0_SIGNER_ID 0 -# define CMS_F_CMS_RECIPIENTINFO_PWRI_CRYPT 0 -# define CMS_F_CMS_RECIPIENTINFO_SET0_KEY 0 -# define CMS_F_CMS_RECIPIENTINFO_SET0_PASSWORD 0 -# define CMS_F_CMS_RECIPIENTINFO_SET0_PKEY 0 -# define CMS_F_CMS_SD_ASN1_CTRL 0 -# define CMS_F_CMS_SET1_IAS 0 -# define CMS_F_CMS_SET1_KEYID 0 -# define CMS_F_CMS_SET1_SIGNERIDENTIFIER 0 -# define CMS_F_CMS_SET_DETACHED 0 -# define CMS_F_CMS_SIGN 0 -# define CMS_F_CMS_SIGNED_DATA_INIT 0 -# define CMS_F_CMS_SIGNERINFO_CONTENT_SIGN 0 -# define CMS_F_CMS_SIGNERINFO_SIGN 0 -# define CMS_F_CMS_SIGNERINFO_VERIFY 0 -# define CMS_F_CMS_SIGNERINFO_VERIFY_CERT 0 -# define CMS_F_CMS_SIGNERINFO_VERIFY_CONTENT 0 -# define CMS_F_CMS_SIGN_RECEIPT 0 -# define CMS_F_CMS_SI_CHECK_ATTRIBUTES 0 -# define CMS_F_CMS_STREAM 0 -# define CMS_F_CMS_UNCOMPRESS 0 -# define CMS_F_CMS_VERIFY 0 -# define CMS_F_KEK_UNWRAP_KEY 0 -# endif +# define CMS_F_CHECK_CONTENT 99 +# define CMS_F_CMS_ADD0_CERT 164 +# define CMS_F_CMS_ADD0_RECIPIENT_KEY 100 +# define CMS_F_CMS_ADD0_RECIPIENT_PASSWORD 165 +# define CMS_F_CMS_ADD1_RECEIPTREQUEST 158 +# define CMS_F_CMS_ADD1_RECIPIENT_CERT 101 +# define CMS_F_CMS_ADD1_SIGNER 102 +# define CMS_F_CMS_ADD1_SIGNINGTIME 103 +# define CMS_F_CMS_COMPRESS 104 +# define CMS_F_CMS_COMPRESSEDDATA_CREATE 105 +# define CMS_F_CMS_COMPRESSEDDATA_INIT_BIO 106 +# define CMS_F_CMS_COPY_CONTENT 107 +# define CMS_F_CMS_COPY_MESSAGEDIGEST 108 +# define CMS_F_CMS_DATA 109 +# define CMS_F_CMS_DATAFINAL 110 +# define CMS_F_CMS_DATAINIT 111 +# define CMS_F_CMS_DECRYPT 112 +# define CMS_F_CMS_DECRYPT_SET1_KEY 113 +# define CMS_F_CMS_DECRYPT_SET1_PASSWORD 166 +# define CMS_F_CMS_DECRYPT_SET1_PKEY 114 +# define CMS_F_CMS_DIGESTALGORITHM_FIND_CTX 115 +# define CMS_F_CMS_DIGESTALGORITHM_INIT_BIO 116 +# define CMS_F_CMS_DIGESTEDDATA_DO_FINAL 117 +# define CMS_F_CMS_DIGEST_VERIFY 118 +# define CMS_F_CMS_ENCODE_RECEIPT 161 +# define CMS_F_CMS_ENCRYPT 119 +# define CMS_F_CMS_ENCRYPTEDCONTENT_INIT 179 +# define CMS_F_CMS_ENCRYPTEDCONTENT_INIT_BIO 120 +# define CMS_F_CMS_ENCRYPTEDDATA_DECRYPT 121 +# define CMS_F_CMS_ENCRYPTEDDATA_ENCRYPT 122 +# define CMS_F_CMS_ENCRYPTEDDATA_SET1_KEY 123 +# define CMS_F_CMS_ENVELOPEDDATA_CREATE 124 +# define CMS_F_CMS_ENVELOPEDDATA_INIT_BIO 125 +# define CMS_F_CMS_ENVELOPED_DATA_INIT 126 +# define CMS_F_CMS_ENV_ASN1_CTRL 171 +# define CMS_F_CMS_FINAL 127 +# define CMS_F_CMS_GET0_CERTIFICATE_CHOICES 128 +# define CMS_F_CMS_GET0_CONTENT 129 +# define CMS_F_CMS_GET0_ECONTENT_TYPE 130 +# define CMS_F_CMS_GET0_ENVELOPED 131 +# define CMS_F_CMS_GET0_REVOCATION_CHOICES 132 +# define CMS_F_CMS_GET0_SIGNED 133 +# define CMS_F_CMS_MSGSIGDIGEST_ADD1 162 +# define CMS_F_CMS_RECEIPTREQUEST_CREATE0 159 +# define CMS_F_CMS_RECEIPT_VERIFY 160 +# define CMS_F_CMS_RECIPIENTINFO_DECRYPT 134 +# define CMS_F_CMS_RECIPIENTINFO_ENCRYPT 169 +# define CMS_F_CMS_RECIPIENTINFO_KARI_ENCRYPT 178 +# define CMS_F_CMS_RECIPIENTINFO_KARI_GET0_ALG 175 +# define CMS_F_CMS_RECIPIENTINFO_KARI_GET0_ORIG_ID 173 +# define CMS_F_CMS_RECIPIENTINFO_KARI_GET0_REKS 172 +# define CMS_F_CMS_RECIPIENTINFO_KARI_ORIG_ID_CMP 174 +# define CMS_F_CMS_RECIPIENTINFO_KEKRI_DECRYPT 135 +# define CMS_F_CMS_RECIPIENTINFO_KEKRI_ENCRYPT 136 +# define CMS_F_CMS_RECIPIENTINFO_KEKRI_GET0_ID 137 +# define CMS_F_CMS_RECIPIENTINFO_KEKRI_ID_CMP 138 +# define CMS_F_CMS_RECIPIENTINFO_KTRI_CERT_CMP 139 +# define CMS_F_CMS_RECIPIENTINFO_KTRI_DECRYPT 140 +# define CMS_F_CMS_RECIPIENTINFO_KTRI_ENCRYPT 141 +# define CMS_F_CMS_RECIPIENTINFO_KTRI_GET0_ALGS 142 +# define CMS_F_CMS_RECIPIENTINFO_KTRI_GET0_SIGNER_ID 143 +# define CMS_F_CMS_RECIPIENTINFO_PWRI_CRYPT 167 +# define CMS_F_CMS_RECIPIENTINFO_SET0_KEY 144 +# define CMS_F_CMS_RECIPIENTINFO_SET0_PASSWORD 168 +# define CMS_F_CMS_RECIPIENTINFO_SET0_PKEY 145 +# define CMS_F_CMS_SD_ASN1_CTRL 170 +# define CMS_F_CMS_SET1_IAS 176 +# define CMS_F_CMS_SET1_KEYID 177 +# define CMS_F_CMS_SET1_SIGNERIDENTIFIER 146 +# define CMS_F_CMS_SET_DETACHED 147 +# define CMS_F_CMS_SIGN 148 +# define CMS_F_CMS_SIGNED_DATA_INIT 149 +# define CMS_F_CMS_SIGNERINFO_CONTENT_SIGN 150 +# define CMS_F_CMS_SIGNERINFO_SIGN 151 +# define CMS_F_CMS_SIGNERINFO_VERIFY 152 +# define CMS_F_CMS_SIGNERINFO_VERIFY_CERT 153 +# define CMS_F_CMS_SIGNERINFO_VERIFY_CONTENT 154 +# define CMS_F_CMS_SIGN_RECEIPT 163 +# define CMS_F_CMS_SI_CHECK_ATTRIBUTES 183 +# define CMS_F_CMS_STREAM 155 +# define CMS_F_CMS_UNCOMPRESS 156 +# define CMS_F_CMS_VERIFY 157 +# define CMS_F_KEK_UNWRAP_KEY 180 /* * CMS reason codes. diff --git a/linux_amd64/include/openssl/comp.h b/linux_amd64/include/openssl/comp.h index 06ff581..d814d3c 100644 --- a/linux_amd64/include/openssl/comp.h +++ b/linux_amd64/include/openssl/comp.h @@ -1,20 +1,14 @@ /* * Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_COMP_H -# define OPENSSL_COMP_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_COMP_H -# endif +#ifndef HEADER_COMP_H +# define HEADER_COMP_H # include @@ -41,11 +35,11 @@ int COMP_expand_block(COMP_CTX *ctx, unsigned char *out, int olen, COMP_METHOD *COMP_zlib(void); -#ifndef OPENSSL_NO_DEPRECATED_1_1_0 -# define COMP_zlib_cleanup() while(0) continue +#if OPENSSL_API_COMPAT < 0x10100000L +#define COMP_zlib_cleanup() while(0) continue #endif -# ifdef OPENSSL_BIO_H +# ifdef HEADER_BIO_H # ifdef ZLIB const BIO_METHOD *BIO_f_zlib(void); # endif diff --git a/linux_amd64/include/openssl/comperr.h b/linux_amd64/include/openssl/comperr.h index 4794562..90231e9 100644 --- a/linux_amd64/include/openssl/comperr.h +++ b/linux_amd64/include/openssl/comperr.h @@ -2,25 +2,19 @@ * Generated by util/mkerr.pl DO NOT EDIT * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_COMPERR_H -# define OPENSSL_COMPERR_H -# pragma once +#ifndef HEADER_COMPERR_H +# define HEADER_COMPERR_H -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_COMPERR_H +# ifndef HEADER_SYMHACKS_H +# include # endif -# include -# include - - # include # ifndef OPENSSL_NO_COMP @@ -33,13 +27,11 @@ int ERR_load_COMP_strings(void); /* * COMP function codes. */ -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define COMP_F_BIO_ZLIB_FLUSH 0 -# define COMP_F_BIO_ZLIB_NEW 0 -# define COMP_F_BIO_ZLIB_READ 0 -# define COMP_F_BIO_ZLIB_WRITE 0 -# define COMP_F_COMP_CTX_NEW 0 -# endif +# define COMP_F_BIO_ZLIB_FLUSH 99 +# define COMP_F_BIO_ZLIB_NEW 100 +# define COMP_F_BIO_ZLIB_READ 101 +# define COMP_F_BIO_ZLIB_WRITE 102 +# define COMP_F_COMP_CTX_NEW 103 /* * COMP reason codes. diff --git a/linux_amd64/include/openssl/conf.h b/linux_amd64/include/openssl/conf.h index 438361e..7336cd2 100644 --- a/linux_amd64/include/openssl/conf.h +++ b/linux_amd64/include/openssl/conf.h @@ -1,26 +1,20 @@ /* * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_CONF_H -# define OPENSSL_CONF_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_CONF_H -# endif +#ifndef HEADER_CONF_H +# define HEADER_CONF_H # include # include # include # include -# include +# include # include #ifdef __cplusplus @@ -96,7 +90,7 @@ int CONF_dump_bio(LHASH_OF(CONF_VALUE) *conf, BIO *out); DEPRECATEDIN_1_1_0(void OPENSSL_config(const char *config_name)) -#ifndef OPENSSL_NO_DEPRECATED_1_1_0 +#if OPENSSL_API_COMPAT < 0x10100000L # define OPENSSL_no_config() \ OPENSSL_init_crypto(OPENSSL_INIT_NO_LOAD_CONFIG, NULL) #endif @@ -110,12 +104,11 @@ struct conf_st { CONF_METHOD *meth; void *meth_data; LHASH_OF(CONF_VALUE) *data; - unsigned int flag_dollarid:1; }; CONF *NCONF_new(CONF_METHOD *meth); CONF_METHOD *NCONF_default(void); -DEPRECATEDIN_3_0(CONF_METHOD *NCONF_WIN32(void)) +CONF_METHOD *NCONF_WIN32(void); void NCONF_free(CONF *conf); void NCONF_free_data(CONF *conf); @@ -144,7 +137,7 @@ int CONF_modules_load_file(const char *filename, const char *appname, unsigned long flags); void CONF_modules_unload(int all); void CONF_modules_finish(void); -#ifndef OPENSSL_NO_DEPRECATED_1_1_0 +#if OPENSSL_API_COMPAT < 0x10100000L # define CONF_modules_free() while(0) continue #endif int CONF_module_add(const char *name, conf_init_func *ifunc, diff --git a/linux_amd64/include/openssl/conf_api.h b/linux_amd64/include/openssl/conf_api.h index ed67d57..a0275ad 100644 --- a/linux_amd64/include/openssl/conf_api.h +++ b/linux_amd64/include/openssl/conf_api.h @@ -1,20 +1,14 @@ /* * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_CONF_API_H -# define OPENSSL_CONF_API_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_CONF_API_H -# endif +#ifndef HEADER_CONF_API_H +# define HEADER_CONF_API_H # include # include diff --git a/linux_amd64/include/openssl/conferr.h b/linux_amd64/include/openssl/conferr.h index b3d2596..32b9229 100644 --- a/linux_amd64/include/openssl/conferr.h +++ b/linux_amd64/include/openssl/conferr.h @@ -2,25 +2,19 @@ * Generated by util/mkerr.pl DO NOT EDIT * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_CONFERR_H -# define OPENSSL_CONFERR_H -# pragma once +#ifndef HEADER_CONFERR_H +# define HEADER_CONFERR_H -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_CONFERR_H +# ifndef HEADER_SYMHACKS_H +# include # endif -# include -# include - - # ifdef __cplusplus extern "C" # endif @@ -29,39 +23,35 @@ int ERR_load_CONF_strings(void); /* * CONF function codes. */ -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define CONF_F_CONF_DUMP_FP 0 -# define CONF_F_CONF_LOAD 0 -# define CONF_F_CONF_LOAD_FP 0 -# define CONF_F_CONF_PARSE_LIST 0 -# define CONF_F_DEF_LOAD 0 -# define CONF_F_DEF_LOAD_BIO 0 -# define CONF_F_GET_NEXT_FILE 0 -# define CONF_F_MODULE_ADD 0 -# define CONF_F_MODULE_INIT 0 -# define CONF_F_MODULE_LOAD_DSO 0 -# define CONF_F_MODULE_RUN 0 -# define CONF_F_NCONF_DUMP_BIO 0 -# define CONF_F_NCONF_DUMP_FP 0 -# define CONF_F_NCONF_GET_NUMBER_E 0 -# define CONF_F_NCONF_GET_SECTION 0 -# define CONF_F_NCONF_GET_STRING 0 -# define CONF_F_NCONF_LOAD 0 -# define CONF_F_NCONF_LOAD_BIO 0 -# define CONF_F_NCONF_LOAD_FP 0 -# define CONF_F_NCONF_NEW 0 -# define CONF_F_PROCESS_INCLUDE 0 -# define CONF_F_SSL_MODULE_INIT 0 -# define CONF_F_STR_COPY 0 -# endif +# define CONF_F_CONF_DUMP_FP 104 +# define CONF_F_CONF_LOAD 100 +# define CONF_F_CONF_LOAD_FP 103 +# define CONF_F_CONF_PARSE_LIST 119 +# define CONF_F_DEF_LOAD 120 +# define CONF_F_DEF_LOAD_BIO 121 +# define CONF_F_GET_NEXT_FILE 107 +# define CONF_F_MODULE_ADD 122 +# define CONF_F_MODULE_INIT 115 +# define CONF_F_MODULE_LOAD_DSO 117 +# define CONF_F_MODULE_RUN 118 +# define CONF_F_NCONF_DUMP_BIO 105 +# define CONF_F_NCONF_DUMP_FP 106 +# define CONF_F_NCONF_GET_NUMBER_E 112 +# define CONF_F_NCONF_GET_SECTION 108 +# define CONF_F_NCONF_GET_STRING 109 +# define CONF_F_NCONF_LOAD 113 +# define CONF_F_NCONF_LOAD_BIO 110 +# define CONF_F_NCONF_LOAD_FP 114 +# define CONF_F_NCONF_NEW 111 +# define CONF_F_PROCESS_INCLUDE 116 +# define CONF_F_SSL_MODULE_INIT 123 +# define CONF_F_STR_COPY 101 /* * CONF reason codes. */ # define CONF_R_ERROR_LOADING_DSO 110 -# define CONF_R_INVALID_PRAGMA 122 # define CONF_R_LIST_CANNOT_BE_NULL 115 -# define CONF_R_MANDATORY_BRACES_IN_VARIABLE_EXPANSION 123 # define CONF_R_MISSING_CLOSE_SQUARE_BRACKET 100 # define CONF_R_MISSING_EQUAL_SIGN 101 # define CONF_R_MISSING_INIT_FUNCTION 112 diff --git a/linux_amd64/include/openssl/crypto.h b/linux_amd64/include/openssl/crypto.h index a157558..7d0b526 100644 --- a/linux_amd64/include/openssl/crypto.h +++ b/linux_amd64/include/openssl/crypto.h @@ -1,21 +1,15 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_CRYPTO_H -# define OPENSSL_CRYPTO_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_CRYPTO_H -# endif +#ifndef HEADER_CRYPTO_H +# define HEADER_CRYPTO_H # include # include @@ -28,7 +22,7 @@ # include # include -# include +# include # include # include @@ -42,7 +36,7 @@ */ # include -# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +# if OPENSSL_API_COMPAT < 0x10100000L # include # endif @@ -50,7 +44,7 @@ extern "C" { #endif -# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +# if OPENSSL_API_COMPAT < 0x10100000L # define SSLeay OpenSSL_version_num # define SSLeay_version OpenSSL_version # define SSLEAY_VERSION_NUMBER OPENSSL_VERSION_NUMBER @@ -68,7 +62,7 @@ typedef struct { int dummy; } CRYPTO_dynlock; -# endif /* OPENSSL_NO_DEPRECATED_1_1_0 */ +# endif /* OPENSSL_API_COMPAT */ typedef void CRYPTO_RWLOCK; @@ -80,9 +74,46 @@ void CRYPTO_THREAD_lock_free(CRYPTO_RWLOCK *lock); int CRYPTO_atomic_add(int *val, int amount, int *ret, CRYPTO_RWLOCK *lock); +/* + * The following can be used to detect memory leaks in the library. If + * used, it turns on malloc checking + */ +# define CRYPTO_MEM_CHECK_OFF 0x0 /* Control only */ +# define CRYPTO_MEM_CHECK_ON 0x1 /* Control and mode bit */ +# define CRYPTO_MEM_CHECK_ENABLE 0x2 /* Control and mode bit */ +# define CRYPTO_MEM_CHECK_DISABLE 0x3 /* Control only */ + +struct crypto_ex_data_st { + STACK_OF(void) *sk; +}; +DEFINE_STACK_OF(void) + +/* + * Per class, we have a STACK of function pointers. + */ +# define CRYPTO_EX_INDEX_SSL 0 +# define CRYPTO_EX_INDEX_SSL_CTX 1 +# define CRYPTO_EX_INDEX_SSL_SESSION 2 +# define CRYPTO_EX_INDEX_X509 3 +# define CRYPTO_EX_INDEX_X509_STORE 4 +# define CRYPTO_EX_INDEX_X509_STORE_CTX 5 +# define CRYPTO_EX_INDEX_DH 6 +# define CRYPTO_EX_INDEX_DSA 7 +# define CRYPTO_EX_INDEX_EC_KEY 8 +# define CRYPTO_EX_INDEX_RSA 9 +# define CRYPTO_EX_INDEX_ENGINE 10 +# define CRYPTO_EX_INDEX_UI 11 +# define CRYPTO_EX_INDEX_BIO 12 +# define CRYPTO_EX_INDEX_APP 13 +# define CRYPTO_EX_INDEX_UI_METHOD 14 +# define CRYPTO_EX_INDEX_DRBG 15 +# define CRYPTO_EX_INDEX__COUNT 16 + /* No longer needed, so this is a no-op */ #define OPENSSL_malloc_init() while(0) continue +int CRYPTO_mem_ctrl(int mode); + # define OPENSSL_malloc(num) \ CRYPTO_malloc(num, OPENSSL_FILE, OPENSSL_LINE) # define OPENSSL_zalloc(num) \ @@ -115,85 +146,23 @@ int CRYPTO_atomic_add(int *val, int amount, int *ret, CRYPTO_RWLOCK *lock); size_t OPENSSL_strlcpy(char *dst, const char *src, size_t siz); size_t OPENSSL_strlcat(char *dst, const char *src, size_t siz); size_t OPENSSL_strnlen(const char *str, size_t maxlen); -int OPENSSL_buf2hexstr_ex(char *str, size_t str_n, size_t *strlen, - const unsigned char *buf, size_t buflen); -char *OPENSSL_buf2hexstr(const unsigned char *buf, long buflen); -int OPENSSL_hexstr2buf_ex(unsigned char *buf, size_t buf_n, size_t *buflen, - const char *str); -unsigned char *OPENSSL_hexstr2buf(const char *str, long *buflen); +char *OPENSSL_buf2hexstr(const unsigned char *buffer, long len); +unsigned char *OPENSSL_hexstr2buf(const char *str, long *len); int OPENSSL_hexchar2int(unsigned char c); # define OPENSSL_MALLOC_MAX_NELEMS(type) (((1U<<(sizeof(int)*8-1))-1)/sizeof(type)) -/* - * These functions return the values of OPENSSL_VERSION_MAJOR, - * OPENSSL_VERSION_MINOR, OPENSSL_VERSION_PATCH, OPENSSL_VERSION_PRE_RELEASE - * and OPENSSL_VERSION_BUILD_METADATA, respectively. - */ -unsigned int OPENSSL_version_major(void); -unsigned int OPENSSL_version_minor(void); -unsigned int OPENSSL_version_patch(void); -const char *OPENSSL_version_pre_release(void); -const char *OPENSSL_version_build_metadata(void); - unsigned long OpenSSL_version_num(void); const char *OpenSSL_version(int type); -# define OPENSSL_VERSION 0 -# define OPENSSL_CFLAGS 1 -# define OPENSSL_BUILT_ON 2 -# define OPENSSL_PLATFORM 3 -# define OPENSSL_DIR 4 -# define OPENSSL_ENGINES_DIR 5 -# define OPENSSL_VERSION_STRING 6 -# define OPENSSL_FULL_VERSION_STRING 7 -# define OPENSSL_MODULES_DIR 8 -# define OPENSSL_CPU_INFO 9 - -const char *OPENSSL_info(int type); -/* - * The series starts at 1001 to avoid confusion with the OpenSSL_version - * types. - */ -# define OPENSSL_INFO_CONFIG_DIR 1001 -# define OPENSSL_INFO_ENGINES_DIR 1002 -# define OPENSSL_INFO_MODULES_DIR 1003 -# define OPENSSL_INFO_DSO_EXTENSION 1004 -# define OPENSSL_INFO_DIR_FILENAME_SEPARATOR 1005 -# define OPENSSL_INFO_LIST_SEPARATOR 1006 -# define OPENSSL_INFO_SEED_SOURCE 1007 -# define OPENSSL_INFO_CPU_SETTINGS 1008 +# define OPENSSL_VERSION 0 +# define OPENSSL_CFLAGS 1 +# define OPENSSL_BUILT_ON 2 +# define OPENSSL_PLATFORM 3 +# define OPENSSL_DIR 4 +# define OPENSSL_ENGINES_DIR 5 int OPENSSL_issetugid(void); -struct crypto_ex_data_st { - OPENSSL_CTX *ctx; - STACK_OF(void) *sk; -}; -DEFINE_STACK_OF(void) - -/* - * Per class, we have a STACK of function pointers. - */ -# define CRYPTO_EX_INDEX_SSL 0 -# define CRYPTO_EX_INDEX_SSL_CTX 1 -# define CRYPTO_EX_INDEX_SSL_SESSION 2 -# define CRYPTO_EX_INDEX_X509 3 -# define CRYPTO_EX_INDEX_X509_STORE 4 -# define CRYPTO_EX_INDEX_X509_STORE_CTX 5 -# define CRYPTO_EX_INDEX_DH 6 -# define CRYPTO_EX_INDEX_DSA 7 -# define CRYPTO_EX_INDEX_EC_KEY 8 -# define CRYPTO_EX_INDEX_RSA 9 -# define CRYPTO_EX_INDEX_ENGINE 10 -# define CRYPTO_EX_INDEX_UI 11 -# define CRYPTO_EX_INDEX_BIO 12 -# define CRYPTO_EX_INDEX_APP 13 -# define CRYPTO_EX_INDEX_UI_METHOD 14 -# define CRYPTO_EX_INDEX_RAND_DRBG 15 -# define CRYPTO_EX_INDEX_DRBG CRYPTO_EX_INDEX_RAND_DRBG -# define CRYPTO_EX_INDEX_OPENSSL_CTX 16 -# define CRYPTO_EX_INDEX__COUNT 17 - typedef void CRYPTO_EX_new (void *parent, void *ptr, CRYPTO_EX_DATA *ad, int idx, long argl, void *argp); typedef void CRYPTO_EX_free (void *parent, void *ptr, CRYPTO_EX_DATA *ad, @@ -201,9 +170,8 @@ typedef void CRYPTO_EX_free (void *parent, void *ptr, CRYPTO_EX_DATA *ad, typedef int CRYPTO_EX_dup (CRYPTO_EX_DATA *to, const CRYPTO_EX_DATA *from, void *from_d, int idx, long argl, void *argp); __owur int CRYPTO_get_ex_new_index(int class_index, long argl, void *argp, - CRYPTO_EX_new *new_func, - CRYPTO_EX_dup *dup_func, - CRYPTO_EX_free *free_func); + CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, + CRYPTO_EX_free *free_func); /* No longer use an index. */ int CRYPTO_free_ex_index(int class_index, int idx); @@ -217,10 +185,6 @@ int CRYPTO_dup_ex_data(int class_index, CRYPTO_EX_DATA *to, void CRYPTO_free_ex_data(int class_index, void *obj, CRYPTO_EX_DATA *ad); -/* Allocate a single item in the CRYPTO_EX_DATA variable */ -int CRYPTO_alloc_ex_data(int class_index, void *obj, CRYPTO_EX_DATA *ad, - int idx); - /* * Get/set data in a CRYPTO_EX_DATA variable corresponding to a particular * index (relative to the class type involved) @@ -228,7 +192,7 @@ int CRYPTO_alloc_ex_data(int class_index, void *obj, CRYPTO_EX_DATA *ad, int CRYPTO_set_ex_data(CRYPTO_EX_DATA *ad, int idx, void *val); void *CRYPTO_get_ex_data(const CRYPTO_EX_DATA *ad, int idx); -# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +# if OPENSSL_API_COMPAT < 0x10100000L /* * This function cleans up all "ex_data" state. It mustn't be called under * potential race-conditions. @@ -275,11 +239,11 @@ typedef struct crypto_threadid_st { # define CRYPTO_THREADID_cpy(dest, src) # define CRYPTO_THREADID_hash(id) (0UL) -# ifndef OPENSSL_NO_DEPRECATED_1_0_0 +# if OPENSSL_API_COMPAT < 0x10000000L # define CRYPTO_set_id_callback(func) # define CRYPTO_get_id_callback() (NULL) # define CRYPTO_thread_id() (0UL) -# endif /* OPENSSL_NO_DEPRECATED_1_0_0 */ +# endif /* OPENSSL_API_COMPAT < 0x10000000L */ # define CRYPTO_set_dynlock_create_callback(dyn_create_function) # define CRYPTO_set_dynlock_lock_callback(dyn_lock_function) @@ -287,18 +251,17 @@ typedef struct crypto_threadid_st { # define CRYPTO_get_dynlock_create_callback() (NULL) # define CRYPTO_get_dynlock_lock_callback() (NULL) # define CRYPTO_get_dynlock_destroy_callback() (NULL) -# endif /* OPENSSL_NO_DEPRECATED_1_1_0 */ +# endif /* OPENSSL_API_COMPAT < 0x10100000L */ -typedef void *(*CRYPTO_malloc_fn)(size_t num, const char *file, int line); -typedef void *(*CRYPTO_realloc_fn)(void *addr, size_t num, const char *file, - int line); -typedef void (*CRYPTO_free_fn)(void *addr, const char *file, int line); -int CRYPTO_set_mem_functions(CRYPTO_malloc_fn malloc_fn, - CRYPTO_realloc_fn realloc_fn, - CRYPTO_free_fn free_fn); -void CRYPTO_get_mem_functions(CRYPTO_malloc_fn *malloc_fn, - CRYPTO_realloc_fn *realloc_fn, - CRYPTO_free_fn *free_fn); +int CRYPTO_set_mem_functions( + void *(*m) (size_t, const char *, int), + void *(*r) (void *, size_t, const char *, int), + void (*f) (void *, const char *, int)); +int CRYPTO_set_mem_debug(int flag); +void CRYPTO_get_mem_functions( + void *(**m) (size_t, const char *, int), + void *(**r) (void *, size_t, const char *, int), + void (**f) (void *, const char *, int)); void *CRYPTO_malloc(size_t num, const char *file, int line); void *CRYPTO_zalloc(size_t num, const char *file, int line); @@ -311,7 +274,7 @@ void *CRYPTO_realloc(void *addr, size_t num, const char *file, int line); void *CRYPTO_clear_realloc(void *addr, size_t old_num, size_t num, const char *file, int line); -int CRYPTO_secure_malloc_init(size_t sz, size_t minsize); +int CRYPTO_secure_malloc_init(size_t sz, int minsize); int CRYPTO_secure_malloc_done(void); void *CRYPTO_secure_malloc(size_t num, const char *file, int line); void *CRYPTO_secure_zalloc(size_t num, const char *file, int line); @@ -326,48 +289,38 @@ size_t CRYPTO_secure_used(void); void OPENSSL_cleanse(void *ptr, size_t len); # ifndef OPENSSL_NO_CRYPTO_MDEBUG -/* - * The following can be used to detect memory leaks in the library. If - * used, it turns on malloc checking - */ -# define CRYPTO_MEM_CHECK_OFF 0x0 /* Control only */ -# define CRYPTO_MEM_CHECK_ON 0x1 /* Control and mode bit */ -# define CRYPTO_MEM_CHECK_ENABLE 0x2 /* Control and mode bit */ -# define CRYPTO_MEM_CHECK_DISABLE 0x3 /* Control only */ - +# define OPENSSL_mem_debug_push(info) \ + CRYPTO_mem_debug_push(info, OPENSSL_FILE, OPENSSL_LINE) +# define OPENSSL_mem_debug_pop() \ + CRYPTO_mem_debug_pop() +int CRYPTO_mem_debug_push(const char *info, const char *file, int line); +int CRYPTO_mem_debug_pop(void); void CRYPTO_get_alloc_counts(int *mcount, int *rcount, int *fcount); -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define OPENSSL_mem_debug_push(info) \ - CRYPTO_mem_debug_push(info, OPENSSL_FILE, OPENSSL_LINE) -# define OPENSSL_mem_debug_pop() \ - CRYPTO_mem_debug_pop() -# endif -DEPRECATEDIN_3_0(int CRYPTO_set_mem_debug(int flag)) -DEPRECATEDIN_3_0(int CRYPTO_mem_ctrl(int mode)) -DEPRECATEDIN_3_0(int CRYPTO_mem_debug_push(const char *info, - const char *file, int line)) -DEPRECATEDIN_3_0(int CRYPTO_mem_debug_pop(void)) -DEPRECATEDIN_3_0(void CRYPTO_mem_debug_malloc(void *addr, size_t num, - int flag, - const char *file, int line)) -DEPRECATEDIN_3_0(void CRYPTO_mem_debug_realloc(void *addr1, void *addr2, - size_t num, int flag, - const char *file, int line)) -DEPRECATEDIN_3_0(void CRYPTO_mem_debug_free(void *addr, int flag, - const char *file, int line)) +/*- + * Debugging functions (enabled by CRYPTO_set_mem_debug(1)) + * The flag argument has the following significance: + * 0: called before the actual memory allocation has taken place + * 1: called after the actual memory allocation has taken place + */ +void CRYPTO_mem_debug_malloc(void *addr, size_t num, int flag, + const char *file, int line); +void CRYPTO_mem_debug_realloc(void *addr1, void *addr2, size_t num, int flag, + const char *file, int line); +void CRYPTO_mem_debug_free(void *addr, int flag, + const char *file, int line); -DEPRECATEDIN_3_0(int CRYPTO_mem_leaks_cb( - int (*cb)(const char *str, size_t len, void *u), void *u)) +int CRYPTO_mem_leaks_cb(int (*cb) (const char *str, size_t len, void *u), + void *u); # ifndef OPENSSL_NO_STDIO -DEPRECATEDIN_3_0(int CRYPTO_mem_leaks_fp(FILE *)) +int CRYPTO_mem_leaks_fp(FILE *); # endif -DEPRECATEDIN_3_0(int CRYPTO_mem_leaks(BIO *bio)) -# endif /* OPENSSL_NO_CRYPTO_MDEBUG */ +int CRYPTO_mem_leaks(BIO *bio); +# endif /* die if we have to */ ossl_noreturn void OPENSSL_die(const char *assertion, const char *file, int line); -# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +# if OPENSSL_API_COMPAT < 0x10100000L # define OpenSSLDie(f,l,a) OPENSSL_die((a),(f),(l)) # endif # define OPENSSL_assert(e) \ @@ -420,13 +373,7 @@ int CRYPTO_memcmp(const void * in_a, const void * in_b, size_t len); # define OPENSSL_INIT_ATFORK 0x00020000L /* OPENSSL_INIT_BASE_ONLY 0x00040000L */ # define OPENSSL_INIT_NO_ATEXIT 0x00080000L -/* OPENSSL_INIT flag range 0x03f00000 reserved for OPENSSL_init_ssl() */ -/* FREE: 0x04000000L */ -/* FREE: 0x08000000L */ -/* FREE: 0x10000000L */ -/* FREE: 0x20000000L */ -/* FREE: 0x40000000L */ -/* FREE: 0x80000000L */ +/* OPENSSL_INIT flag range 0xfff00000 reserved for OPENSSL_init_ssl() */ /* Max OPENSSL_INIT flag value is 0x80000000 */ /* openssl and dasync not counted as builtin */ @@ -441,7 +388,6 @@ void OPENSSL_cleanup(void); int OPENSSL_init_crypto(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings); int OPENSSL_atexit(void (*handler)(void)); void OPENSSL_thread_stop(void); -void OPENSSL_thread_stop_ex(OPENSSL_CTX *ctx); /* Low-level control of initialization */ OPENSSL_INIT_SETTINGS *OPENSSL_INIT_new(void); @@ -492,8 +438,6 @@ int CRYPTO_THREAD_cleanup_local(CRYPTO_THREAD_LOCAL *key); CRYPTO_THREAD_ID CRYPTO_THREAD_get_current_id(void); int CRYPTO_THREAD_compare_id(CRYPTO_THREAD_ID a, CRYPTO_THREAD_ID b); -OPENSSL_CTX *OPENSSL_CTX_new(void); -void OPENSSL_CTX_free(OPENSSL_CTX *); # ifdef __cplusplus } diff --git a/linux_amd64/include/openssl/cryptoerr.h b/linux_amd64/include/openssl/cryptoerr.h index ae146c4..3db5a4e 100644 --- a/linux_amd64/include/openssl/cryptoerr.h +++ b/linux_amd64/include/openssl/cryptoerr.h @@ -2,25 +2,19 @@ * Generated by util/mkerr.pl DO NOT EDIT * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_CRYPTOERR_H -# define OPENSSL_CRYPTOERR_H -# pragma once +#ifndef HEADER_CRYPTOERR_H +# define HEADER_CRYPTOERR_H -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_CRYPTOERR_H +# ifndef HEADER_SYMHACKS_H +# include # endif -# include -# include - - # ifdef __cplusplus extern "C" # endif @@ -29,77 +23,35 @@ int ERR_load_CRYPTO_strings(void); /* * CRYPTO function codes. */ -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define CRYPTO_F_CMAC_CTX_NEW 0 -# define CRYPTO_F_CRYPTO_DUP_EX_DATA 0 -# define CRYPTO_F_CRYPTO_FREE_EX_DATA 0 -# define CRYPTO_F_CRYPTO_GET_EX_NEW_INDEX 0 -# define CRYPTO_F_CRYPTO_GET_EX_NEW_INDEX_EX 0 -# define CRYPTO_F_CRYPTO_MEMDUP 0 -# define CRYPTO_F_CRYPTO_NEW_EX_DATA 0 -# define CRYPTO_F_CRYPTO_NEW_EX_DATA_EX 0 -# define CRYPTO_F_CRYPTO_OCB128_COPY_CTX 0 -# define CRYPTO_F_CRYPTO_OCB128_INIT 0 -# define CRYPTO_F_CRYPTO_SET_EX_DATA 0 -# define CRYPTO_F_FIPS_MODE_SET 0 -# define CRYPTO_F_GET_AND_LOCK 0 -# define CRYPTO_F_GET_PROVIDER_STORE 0 -# define CRYPTO_F_OPENSSL_ATEXIT 0 -# define CRYPTO_F_OPENSSL_BUF2HEXSTR 0 -# define CRYPTO_F_OPENSSL_BUF2HEXSTR_EX 0 -# define CRYPTO_F_OPENSSL_FOPEN 0 -# define CRYPTO_F_OPENSSL_HEXSTR2BUF 0 -# define CRYPTO_F_OPENSSL_HEXSTR2BUF_EX 0 -# define CRYPTO_F_OPENSSL_INIT_CRYPTO 0 -# define CRYPTO_F_OPENSSL_LH_NEW 0 -# define CRYPTO_F_OPENSSL_SK_DEEP_COPY 0 -# define CRYPTO_F_OPENSSL_SK_DUP 0 -# define CRYPTO_F_OSSL_PARAM_BLD_PUSH_BN 0 -# define CRYPTO_F_OSSL_PARAM_BLD_PUSH_OCTET_PTR 0 -# define CRYPTO_F_OSSL_PARAM_BLD_PUSH_OCTET_STRING 0 -# define CRYPTO_F_OSSL_PARAM_BLD_PUSH_UTF8_PTR 0 -# define CRYPTO_F_OSSL_PARAM_BLD_PUSH_UTF8_STRING 0 -# define CRYPTO_F_OSSL_PARAM_BLD_TO_PARAM 0 -# define CRYPTO_F_OSSL_PARAM_BLD_TO_PARAM_EX 0 -# define CRYPTO_F_OSSL_PARAM_TYPE_TO_PARAM 0 -# define CRYPTO_F_OSSL_PROVIDER_ACTIVATE 0 -# define CRYPTO_F_OSSL_PROVIDER_ADD_BUILTIN 0 -# define CRYPTO_F_OSSL_PROVIDER_ADD_PARAMETER 0 -# define CRYPTO_F_OSSL_PROVIDER_NEW 0 -# define CRYPTO_F_OSSL_PROVIDER_SET_MODULE_PATH 0 -# define CRYPTO_F_PARAM_PUSH 0 -# define CRYPTO_F_PARAM_PUSH_NUM 0 -# define CRYPTO_F_PKEY_HMAC_INIT 0 -# define CRYPTO_F_PKEY_POLY1305_INIT 0 -# define CRYPTO_F_PKEY_SIPHASH_INIT 0 -# define CRYPTO_F_PROVIDER_ACTIVATE 0 -# define CRYPTO_F_PROVIDER_CONF_INIT 0 -# define CRYPTO_F_PROVIDER_CONF_LOAD 0 -# define CRYPTO_F_PROVIDER_NEW 0 -# define CRYPTO_F_PROVIDER_STORE_NEW 0 -# define CRYPTO_F_SK_RESERVE 0 -# endif +# define CRYPTO_F_CMAC_CTX_NEW 120 +# define CRYPTO_F_CRYPTO_DUP_EX_DATA 110 +# define CRYPTO_F_CRYPTO_FREE_EX_DATA 111 +# define CRYPTO_F_CRYPTO_GET_EX_NEW_INDEX 100 +# define CRYPTO_F_CRYPTO_MEMDUP 115 +# define CRYPTO_F_CRYPTO_NEW_EX_DATA 112 +# define CRYPTO_F_CRYPTO_OCB128_COPY_CTX 121 +# define CRYPTO_F_CRYPTO_OCB128_INIT 122 +# define CRYPTO_F_CRYPTO_SET_EX_DATA 102 +# define CRYPTO_F_FIPS_MODE_SET 109 +# define CRYPTO_F_GET_AND_LOCK 113 +# define CRYPTO_F_OPENSSL_ATEXIT 114 +# define CRYPTO_F_OPENSSL_BUF2HEXSTR 117 +# define CRYPTO_F_OPENSSL_FOPEN 119 +# define CRYPTO_F_OPENSSL_HEXSTR2BUF 118 +# define CRYPTO_F_OPENSSL_INIT_CRYPTO 116 +# define CRYPTO_F_OPENSSL_LH_NEW 126 +# define CRYPTO_F_OPENSSL_SK_DEEP_COPY 127 +# define CRYPTO_F_OPENSSL_SK_DUP 128 +# define CRYPTO_F_PKEY_HMAC_INIT 123 +# define CRYPTO_F_PKEY_POLY1305_INIT 124 +# define CRYPTO_F_PKEY_SIPHASH_INIT 125 +# define CRYPTO_F_SK_RESERVE 129 /* * CRYPTO reason codes. */ -# define CRYPTO_R_BAD_ALGORITHM_NAME 117 -# define CRYPTO_R_CONFLICTING_NAMES 118 # define CRYPTO_R_FIPS_MODE_NOT_SUPPORTED 101 # define CRYPTO_R_ILLEGAL_HEX_DIGIT 102 -# define CRYPTO_R_INSUFFICIENT_DATA_SPACE 106 -# define CRYPTO_R_INSUFFICIENT_PARAM_SIZE 107 -# define CRYPTO_R_INSUFFICIENT_SECURE_DATA_SPACE 108 -# define CRYPTO_R_INVALID_NULL_ARGUMENT 109 -# define CRYPTO_R_INVALID_OSSL_PARAM_TYPE 110 # define CRYPTO_R_ODD_NUMBER_OF_DIGITS 103 -# define CRYPTO_R_PROVIDER_ALREADY_EXISTS 104 -# define CRYPTO_R_PROVIDER_SECTION_ERROR 105 -# define CRYPTO_R_SECURE_MALLOC_FAILURE 111 -# define CRYPTO_R_STRING_TOO_LONG 112 -# define CRYPTO_R_TOO_MANY_BYTES 113 -# define CRYPTO_R_TOO_MANY_RECORDS 114 -# define CRYPTO_R_TOO_SMALL_BUFFER 116 -# define CRYPTO_R_ZERO_LENGTH_NUMBER 115 #endif diff --git a/linux_amd64/include/openssl/ct.h b/linux_amd64/include/openssl/ct.h index b7c211d..ebdba34 100644 --- a/linux_amd64/include/openssl/ct.h +++ b/linux_amd64/include/openssl/ct.h @@ -1,25 +1,19 @@ /* * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_CT_H -# define OPENSSL_CT_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_CT_H -# endif +#ifndef HEADER_CT_H +# define HEADER_CT_H # include # ifndef OPENSSL_NO_CT -# include +# include # include # include # include diff --git a/linux_amd64/include/openssl/cterr.h b/linux_amd64/include/openssl/cterr.h index b0d904e..feb7bc5 100644 --- a/linux_amd64/include/openssl/cterr.h +++ b/linux_amd64/include/openssl/cterr.h @@ -2,25 +2,19 @@ * Generated by util/mkerr.pl DO NOT EDIT * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_CTERR_H -# define OPENSSL_CTERR_H -# pragma once +#ifndef HEADER_CTERR_H +# define HEADER_CTERR_H -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_CTERR_H +# ifndef HEADER_SYMHACKS_H +# include # endif -# include -# include - - # include # ifndef OPENSSL_NO_CT @@ -33,35 +27,33 @@ int ERR_load_CT_strings(void); /* * CT function codes. */ -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define CT_F_CTLOG_NEW 0 -# define CT_F_CTLOG_NEW_FROM_BASE64 0 -# define CT_F_CTLOG_NEW_FROM_CONF 0 -# define CT_F_CTLOG_STORE_LOAD_CTX_NEW 0 -# define CT_F_CTLOG_STORE_LOAD_FILE 0 -# define CT_F_CTLOG_STORE_LOAD_LOG 0 -# define CT_F_CTLOG_STORE_NEW 0 -# define CT_F_CT_BASE64_DECODE 0 -# define CT_F_CT_POLICY_EVAL_CTX_NEW 0 -# define CT_F_CT_V1_LOG_ID_FROM_PKEY 0 -# define CT_F_I2O_SCT 0 -# define CT_F_I2O_SCT_LIST 0 -# define CT_F_I2O_SCT_SIGNATURE 0 -# define CT_F_O2I_SCT 0 -# define CT_F_O2I_SCT_LIST 0 -# define CT_F_O2I_SCT_SIGNATURE 0 -# define CT_F_SCT_CTX_NEW 0 -# define CT_F_SCT_CTX_VERIFY 0 -# define CT_F_SCT_NEW 0 -# define CT_F_SCT_NEW_FROM_BASE64 0 -# define CT_F_SCT_SET0_LOG_ID 0 -# define CT_F_SCT_SET1_EXTENSIONS 0 -# define CT_F_SCT_SET1_LOG_ID 0 -# define CT_F_SCT_SET1_SIGNATURE 0 -# define CT_F_SCT_SET_LOG_ENTRY_TYPE 0 -# define CT_F_SCT_SET_SIGNATURE_NID 0 -# define CT_F_SCT_SET_VERSION 0 -# endif +# define CT_F_CTLOG_NEW 117 +# define CT_F_CTLOG_NEW_FROM_BASE64 118 +# define CT_F_CTLOG_NEW_FROM_CONF 119 +# define CT_F_CTLOG_STORE_LOAD_CTX_NEW 122 +# define CT_F_CTLOG_STORE_LOAD_FILE 123 +# define CT_F_CTLOG_STORE_LOAD_LOG 130 +# define CT_F_CTLOG_STORE_NEW 131 +# define CT_F_CT_BASE64_DECODE 124 +# define CT_F_CT_POLICY_EVAL_CTX_NEW 133 +# define CT_F_CT_V1_LOG_ID_FROM_PKEY 125 +# define CT_F_I2O_SCT 107 +# define CT_F_I2O_SCT_LIST 108 +# define CT_F_I2O_SCT_SIGNATURE 109 +# define CT_F_O2I_SCT 110 +# define CT_F_O2I_SCT_LIST 111 +# define CT_F_O2I_SCT_SIGNATURE 112 +# define CT_F_SCT_CTX_NEW 126 +# define CT_F_SCT_CTX_VERIFY 128 +# define CT_F_SCT_NEW 100 +# define CT_F_SCT_NEW_FROM_BASE64 127 +# define CT_F_SCT_SET0_LOG_ID 101 +# define CT_F_SCT_SET1_EXTENSIONS 114 +# define CT_F_SCT_SET1_LOG_ID 115 +# define CT_F_SCT_SET1_SIGNATURE 116 +# define CT_F_SCT_SET_LOG_ENTRY_TYPE 102 +# define CT_F_SCT_SET_SIGNATURE_NID 103 +# define CT_F_SCT_SET_VERSION 104 /* * CT reason codes. diff --git a/linux_amd64/include/openssl/des.h b/linux_amd64/include/openssl/des.h index bd5d5b4..be4abbd 100644 --- a/linux_amd64/include/openssl/des.h +++ b/linux_amd64/include/openssl/des.h @@ -1,36 +1,29 @@ /* * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_DES_H -# define OPENSSL_DES_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_DES_H -# endif +#ifndef HEADER_DES_H +# define HEADER_DES_H # include # ifndef OPENSSL_NO_DES -# ifdef __cplusplus +# ifdef __cplusplus extern "C" { -# endif -# include +# endif +# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 typedef unsigned int DES_LONG; -# ifdef OPENSSL_BUILD_SHLIBCRYPTO -# undef OPENSSL_EXTERN -# define OPENSSL_EXTERN OPENSSL_EXPORT -# endif +# ifdef OPENSSL_BUILD_SHLIBCRYPTO +# undef OPENSSL_EXTERN +# define OPENSSL_EXTERN OPENSSL_EXPORT +# endif typedef unsigned char DES_cblock[8]; typedef /* const */ unsigned char const_DES_cblock[8]; @@ -49,61 +42,53 @@ typedef struct DES_ks { } ks[16]; } DES_key_schedule; -# define DES_KEY_SZ (sizeof(DES_cblock)) -# define DES_SCHEDULE_SZ (sizeof(DES_key_schedule)) +# define DES_KEY_SZ (sizeof(DES_cblock)) +# define DES_SCHEDULE_SZ (sizeof(DES_key_schedule)) -# define DES_ENCRYPT 1 -# define DES_DECRYPT 0 +# define DES_ENCRYPT 1 +# define DES_DECRYPT 0 -# define DES_CBC_MODE 0 -# define DES_PCBC_MODE 1 +# define DES_CBC_MODE 0 +# define DES_PCBC_MODE 1 -# define DES_ecb2_encrypt(i,o,k1,k2,e) \ +# define DES_ecb2_encrypt(i,o,k1,k2,e) \ DES_ecb3_encrypt((i),(o),(k1),(k2),(k1),(e)) -# define DES_ede2_cbc_encrypt(i,o,l,k1,k2,iv,e) \ +# define DES_ede2_cbc_encrypt(i,o,l,k1,k2,iv,e) \ DES_ede3_cbc_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(e)) -# define DES_ede2_cfb64_encrypt(i,o,l,k1,k2,iv,n,e) \ +# define DES_ede2_cfb64_encrypt(i,o,l,k1,k2,iv,n,e) \ DES_ede3_cfb64_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(n),(e)) -# define DES_ede2_ofb64_encrypt(i,o,l,k1,k2,iv,n) \ +# define DES_ede2_ofb64_encrypt(i,o,l,k1,k2,iv,n) \ DES_ede3_ofb64_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(n)) -# define DES_fixup_key_parity DES_set_odd_parity -# endif +OPENSSL_DECLARE_GLOBAL(int, DES_check_key); /* defaults to false */ +# define DES_check_key OPENSSL_GLOBAL_REF(DES_check_key) -DEPRECATEDIN_3_0(const char *DES_options(void)) -DEPRECATEDIN_3_0(void DES_ecb3_encrypt(const_DES_cblock *input, - DES_cblock *output, - DES_key_schedule *ks1, - DES_key_schedule *ks2, - DES_key_schedule *ks3, int enc)) -DEPRECATEDIN_3_0(DES_LONG DES_cbc_cksum(const unsigned char *input, - DES_cblock *output, long length, - DES_key_schedule *schedule, - const_DES_cblock *ivec)) +const char *DES_options(void); +void DES_ecb3_encrypt(const_DES_cblock *input, DES_cblock *output, + DES_key_schedule *ks1, DES_key_schedule *ks2, + DES_key_schedule *ks3, int enc); +DES_LONG DES_cbc_cksum(const unsigned char *input, DES_cblock *output, + long length, DES_key_schedule *schedule, + const_DES_cblock *ivec); /* DES_cbc_encrypt does not update the IV! Use DES_ncbc_encrypt instead. */ -DEPRECATEDIN_3_0(void DES_cbc_encrypt(const unsigned char *input, - unsigned char *output, long length, - DES_key_schedule *schedule, - DES_cblock *ivec, int enc)) -DEPRECATEDIN_3_0(void DES_ncbc_encrypt(const unsigned char *input, - unsigned char *output, long length, - DES_key_schedule *schedule, - DES_cblock *ivec, int enc)) -DEPRECATEDIN_3_0(void DES_xcbc_encrypt(const unsigned char *input, - unsigned char *output, long length, - DES_key_schedule *schedule, - DES_cblock *ivec, const_DES_cblock *inw, - const_DES_cblock *outw, int enc)) -DEPRECATEDIN_3_0(void DES_cfb_encrypt(const unsigned char *in, - unsigned char *out, int numbits, - long length, DES_key_schedule *schedule, - DES_cblock *ivec, int enc)) -DEPRECATEDIN_3_0(void DES_ecb_encrypt(const_DES_cblock *input, - DES_cblock *output, DES_key_schedule *ks, - int enc)) +void DES_cbc_encrypt(const unsigned char *input, unsigned char *output, + long length, DES_key_schedule *schedule, + DES_cblock *ivec, int enc); +void DES_ncbc_encrypt(const unsigned char *input, unsigned char *output, + long length, DES_key_schedule *schedule, + DES_cblock *ivec, int enc); +void DES_xcbc_encrypt(const unsigned char *input, unsigned char *output, + long length, DES_key_schedule *schedule, + DES_cblock *ivec, const_DES_cblock *inw, + const_DES_cblock *outw, int enc); +void DES_cfb_encrypt(const unsigned char *in, unsigned char *out, int numbits, + long length, DES_key_schedule *schedule, + DES_cblock *ivec, int enc); +void DES_ecb_encrypt(const_DES_cblock *input, DES_cblock *output, + DES_key_schedule *ks, int enc); /* * This is the DES encryption function that gets called by just about every @@ -115,8 +100,7 @@ DEPRECATEDIN_3_0(void DES_ecb_encrypt(const_DES_cblock *input, * long's and ks is the DES_key_schedule to use. enc, is non zero specifies * encryption, zero if decryption. */ -DEPRECATEDIN_3_0(void DES_encrypt1(DES_LONG *data, DES_key_schedule *ks, - int enc)) +void DES_encrypt1(DES_LONG *data, DES_key_schedule *ks, int enc); /* * This functions is the same as DES_encrypt1() except that the DES initial @@ -126,82 +110,65 @@ DEPRECATEDIN_3_0(void DES_encrypt1(DES_LONG *data, DES_key_schedule *ks, * DES_encrypt2() DES_encrypt2() FP() is the same as DES_encrypt1() * DES_encrypt1() DES_encrypt1() except faster :-). */ -DEPRECATEDIN_3_0(void DES_encrypt2(DES_LONG *data, DES_key_schedule *ks, - int enc)) +void DES_encrypt2(DES_LONG *data, DES_key_schedule *ks, int enc); -DEPRECATEDIN_3_0(void DES_encrypt3(DES_LONG *data, DES_key_schedule *ks1, - DES_key_schedule *ks2, DES_key_schedule *ks3)) -DEPRECATEDIN_3_0(void DES_decrypt3(DES_LONG *data, DES_key_schedule *ks1, - DES_key_schedule *ks2, DES_key_schedule *ks3)) -DEPRECATEDIN_3_0(void DES_ede3_cbc_encrypt(const unsigned char *input, - unsigned char *output, long length, - DES_key_schedule *ks1, - DES_key_schedule *ks2, - DES_key_schedule *ks3, - DES_cblock *ivec, int enc)) -DEPRECATEDIN_3_0(void DES_ede3_cfb64_encrypt(const unsigned char *in, - unsigned char *out, long length, - DES_key_schedule *ks1, - DES_key_schedule *ks2, - DES_key_schedule *ks3, - DES_cblock *ivec, int *num, - int enc)) -DEPRECATEDIN_3_0(void DES_ede3_cfb_encrypt(const unsigned char *in, - unsigned char *out, int numbits, - long length, DES_key_schedule *ks1, - DES_key_schedule *ks2, - DES_key_schedule *ks3, - DES_cblock *ivec, int enc)) -DEPRECATEDIN_3_0(void DES_ede3_ofb64_encrypt(const unsigned char *in, - unsigned char *out, long length, - DES_key_schedule *ks1, - DES_key_schedule *ks2, - DES_key_schedule *ks3, - DES_cblock *ivec, int *num)) -DEPRECATEDIN_3_0(char *DES_fcrypt(const char *buf, const char *salt, char *ret)) -DEPRECATEDIN_3_0(char *DES_crypt(const char *buf, const char *salt)) -DEPRECATEDIN_3_0(void DES_ofb_encrypt(const unsigned char *in, - unsigned char *out, int numbits, - long length, DES_key_schedule *schedule, - DES_cblock *ivec)) -DEPRECATEDIN_3_0(void DES_pcbc_encrypt(const unsigned char *input, - unsigned char *output, long length, - DES_key_schedule *schedule, - DES_cblock *ivec, int enc)) -DEPRECATEDIN_3_0(DES_LONG DES_quad_cksum(const unsigned char *input, - DES_cblock output[], long length, - int out_count, DES_cblock *seed)) -DEPRECATEDIN_3_0(int DES_random_key(DES_cblock *ret)) -DEPRECATEDIN_3_0(void DES_set_odd_parity(DES_cblock *key)) -DEPRECATEDIN_3_0(int DES_check_key_parity(const_DES_cblock *key)) -DEPRECATEDIN_3_0(int DES_is_weak_key(const_DES_cblock *key)) +void DES_encrypt3(DES_LONG *data, DES_key_schedule *ks1, + DES_key_schedule *ks2, DES_key_schedule *ks3); +void DES_decrypt3(DES_LONG *data, DES_key_schedule *ks1, + DES_key_schedule *ks2, DES_key_schedule *ks3); +void DES_ede3_cbc_encrypt(const unsigned char *input, unsigned char *output, + long length, + DES_key_schedule *ks1, DES_key_schedule *ks2, + DES_key_schedule *ks3, DES_cblock *ivec, int enc); +void DES_ede3_cfb64_encrypt(const unsigned char *in, unsigned char *out, + long length, DES_key_schedule *ks1, + DES_key_schedule *ks2, DES_key_schedule *ks3, + DES_cblock *ivec, int *num, int enc); +void DES_ede3_cfb_encrypt(const unsigned char *in, unsigned char *out, + int numbits, long length, DES_key_schedule *ks1, + DES_key_schedule *ks2, DES_key_schedule *ks3, + DES_cblock *ivec, int enc); +void DES_ede3_ofb64_encrypt(const unsigned char *in, unsigned char *out, + long length, DES_key_schedule *ks1, + DES_key_schedule *ks2, DES_key_schedule *ks3, + DES_cblock *ivec, int *num); +char *DES_fcrypt(const char *buf, const char *salt, char *ret); +char *DES_crypt(const char *buf, const char *salt); +void DES_ofb_encrypt(const unsigned char *in, unsigned char *out, int numbits, + long length, DES_key_schedule *schedule, + DES_cblock *ivec); +void DES_pcbc_encrypt(const unsigned char *input, unsigned char *output, + long length, DES_key_schedule *schedule, + DES_cblock *ivec, int enc); +DES_LONG DES_quad_cksum(const unsigned char *input, DES_cblock output[], + long length, int out_count, DES_cblock *seed); +int DES_random_key(DES_cblock *ret); +void DES_set_odd_parity(DES_cblock *key); +int DES_check_key_parity(const_DES_cblock *key); +int DES_is_weak_key(const_DES_cblock *key); /* * DES_set_key (= set_key = DES_key_sched = key_sched) calls - * DES_set_key_checked + * DES_set_key_checked if global variable DES_check_key is set, + * DES_set_key_unchecked otherwise. */ -DEPRECATEDIN_3_0(int DES_set_key(const_DES_cblock *key, - DES_key_schedule *schedule)) -DEPRECATEDIN_3_0(int DES_key_sched(const_DES_cblock *key, - DES_key_schedule *schedule)) -DEPRECATEDIN_3_0(int DES_set_key_checked(const_DES_cblock *key, - DES_key_schedule *schedule)) -DEPRECATEDIN_3_0(void DES_set_key_unchecked(const_DES_cblock *key, - DES_key_schedule *schedule)) -DEPRECATEDIN_3_0(void DES_string_to_key(const char *str, DES_cblock *key)) -DEPRECATEDIN_3_0(void DES_string_to_2keys(const char *str, DES_cblock *key1, - DES_cblock *key2)) -DEPRECATEDIN_3_0(void DES_cfb64_encrypt(const unsigned char *in, - unsigned char *out, long length, - DES_key_schedule *schedule, - DES_cblock *ivec, int *num, int enc)) -DEPRECATEDIN_3_0(void DES_ofb64_encrypt(const unsigned char *in, - unsigned char *out, long length, - DES_key_schedule *schedule, - DES_cblock *ivec, int *num)) +int DES_set_key(const_DES_cblock *key, DES_key_schedule *schedule); +int DES_key_sched(const_DES_cblock *key, DES_key_schedule *schedule); +int DES_set_key_checked(const_DES_cblock *key, DES_key_schedule *schedule); +void DES_set_key_unchecked(const_DES_cblock *key, DES_key_schedule *schedule); +void DES_string_to_key(const char *str, DES_cblock *key); +void DES_string_to_2keys(const char *str, DES_cblock *key1, DES_cblock *key2); +void DES_cfb64_encrypt(const unsigned char *in, unsigned char *out, + long length, DES_key_schedule *schedule, + DES_cblock *ivec, int *num, int enc); +void DES_ofb64_encrypt(const unsigned char *in, unsigned char *out, + long length, DES_key_schedule *schedule, + DES_cblock *ivec, int *num); -# ifdef __cplusplus +# define DES_fixup_key_parity DES_set_odd_parity + +# ifdef __cplusplus } -# endif +# endif # endif #endif diff --git a/linux_amd64/include/openssl/dh.h b/linux_amd64/include/openssl/dh.h index b26e94e..3527540 100644 --- a/linux_amd64/include/openssl/dh.h +++ b/linux_amd64/include/openssl/dh.h @@ -1,53 +1,46 @@ /* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_DH_H -# define OPENSSL_DH_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_DH_H -# endif +#ifndef HEADER_DH_H +# define HEADER_DH_H # include # ifndef OPENSSL_NO_DH -# include -# include -# include -# include -# ifndef OPENSSL_NO_DEPRECATED_1_1_0 -# include -# endif -# include +# include +# include +# include +# include +# if OPENSSL_API_COMPAT < 0x10100000L +# include +# endif +# include -# ifdef __cplusplus +# ifdef __cplusplus extern "C" { -# endif +# endif -# ifndef OPENSSL_DH_MAX_MODULUS_BITS -# define OPENSSL_DH_MAX_MODULUS_BITS 10000 -# endif +# ifndef OPENSSL_DH_MAX_MODULUS_BITS +# define OPENSSL_DH_MAX_MODULUS_BITS 10000 +# endif -# define OPENSSL_DH_FIPS_MIN_MODULUS_BITS 1024 +# define OPENSSL_DH_FIPS_MIN_MODULUS_BITS 1024 -# define DH_FLAG_CACHE_MONT_P 0x01 +# define DH_FLAG_CACHE_MONT_P 0x01 -# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +# if OPENSSL_API_COMPAT < 0x10100000L /* * Does nothing. Previously this switched off constant time behaviour. */ -# define DH_FLAG_NO_EXP_CONSTTIME 0x00 -# endif +# define DH_FLAG_NO_EXP_CONSTTIME 0x00 +# endif -# ifndef OPENSSL_NO_DEPRECATED_3_0 /* * If this flag is set the DH method is FIPS compliant and can be used in * FIPS mode. This is set in the validated module method. If an application @@ -55,7 +48,7 @@ extern "C" { * result is compliant. */ -# define DH_FLAG_FIPS_METHOD 0x0400 +# define DH_FLAG_FIPS_METHOD 0x0400 /* * If this flag is set the operations normally disabled in FIPS mode are @@ -63,8 +56,7 @@ extern "C" { * usage is compliant. */ -# define DH_FLAG_NON_FIPS_ALLOW 0x0400 -# endif +# define DH_FLAG_NON_FIPS_ALLOW 0x0400 /* Already defined in ossl_typ.h */ /* typedef struct dh_st DH; */ @@ -72,90 +64,73 @@ extern "C" { DECLARE_ASN1_ITEM(DHparams) -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define DH_GENERATOR_2 2 -# define DH_GENERATOR_3 3 -# define DH_GENERATOR_5 5 +# define DH_GENERATOR_2 2 +/* #define DH_GENERATOR_3 3 */ +# define DH_GENERATOR_5 5 /* DH_check error codes */ -/* - * NB: These values must align with the equivalently named macros in - * internal/ffc.h. - */ -# define DH_CHECK_P_NOT_PRIME 0x01 -# define DH_CHECK_P_NOT_SAFE_PRIME 0x02 -# define DH_UNABLE_TO_CHECK_GENERATOR 0x04 -# define DH_NOT_SUITABLE_GENERATOR 0x08 -# define DH_CHECK_Q_NOT_PRIME 0x10 -# define DH_CHECK_INVALID_Q_VALUE 0x20 -# define DH_CHECK_INVALID_J_VALUE 0x40 -# define DH_MODULUS_TOO_SMALL 0x80 -# define DH_MODULUS_TOO_LARGE 0x100 +# define DH_CHECK_P_NOT_PRIME 0x01 +# define DH_CHECK_P_NOT_SAFE_PRIME 0x02 +# define DH_UNABLE_TO_CHECK_GENERATOR 0x04 +# define DH_NOT_SUITABLE_GENERATOR 0x08 +# define DH_CHECK_Q_NOT_PRIME 0x10 +# define DH_CHECK_INVALID_Q_VALUE 0x20 +# define DH_CHECK_INVALID_J_VALUE 0x40 /* DH_check_pub_key error codes */ -# define DH_CHECK_PUBKEY_TOO_SMALL 0x01 -# define DH_CHECK_PUBKEY_TOO_LARGE 0x02 -# define DH_CHECK_PUBKEY_INVALID 0x04 +# define DH_CHECK_PUBKEY_TOO_SMALL 0x01 +# define DH_CHECK_PUBKEY_TOO_LARGE 0x02 +# define DH_CHECK_PUBKEY_INVALID 0x04 /* * primes p where (p-1)/2 is prime too are called "safe"; we define this for * backward compatibility: */ -# define DH_CHECK_P_NOT_STRONG_PRIME DH_CHECK_P_NOT_SAFE_PRIME +# define DH_CHECK_P_NOT_STRONG_PRIME DH_CHECK_P_NOT_SAFE_PRIME -/* DH parameter generation types used by EVP_PKEY_CTX_set_dh_paramgen_type() */ -# define DH_PARAMGEN_TYPE_GENERATOR 0 /* Use a generator g */ -# define DH_PARAMGEN_TYPE_FIPS_186_2 1 /* Use legacy FIPS186-2 standard */ -# define DH_PARAMGEN_TYPE_FIPS_186_4 2 /* Use FIPS186-4 standard */ +# define d2i_DHparams_fp(fp,x) \ + (DH *)ASN1_d2i_fp((char *(*)())DH_new, \ + (char *(*)())d2i_DHparams, \ + (fp), \ + (unsigned char **)(x)) +# define i2d_DHparams_fp(fp,x) \ + ASN1_i2d_fp(i2d_DHparams,(fp), (unsigned char *)(x)) +# define d2i_DHparams_bio(bp,x) \ + ASN1_d2i_bio_of(DH, DH_new, d2i_DHparams, bp, x) +# define i2d_DHparams_bio(bp,x) \ + ASN1_i2d_bio_of_const(DH,i2d_DHparams,bp,x) -# define DH_CHECK_P_NOT_STRONG_PRIME DH_CHECK_P_NOT_SAFE_PRIME +# define d2i_DHxparams_fp(fp,x) \ + (DH *)ASN1_d2i_fp((char *(*)())DH_new, \ + (char *(*)())d2i_DHxparams, \ + (fp), \ + (unsigned char **)(x)) +# define i2d_DHxparams_fp(fp,x) \ + ASN1_i2d_fp(i2d_DHxparams,(fp), (unsigned char *)(x)) +# define d2i_DHxparams_bio(bp,x) \ + ASN1_d2i_bio_of(DH, DH_new, d2i_DHxparams, bp, x) +# define i2d_DHxparams_bio(bp,x) \ + ASN1_i2d_bio_of_const(DH, i2d_DHxparams, bp, x) -# define d2i_DHparams_fp(fp, x) \ - (DH *)ASN1_d2i_fp((char *(*)())DH_new, \ - (char *(*)())d2i_DHparams, \ - (fp), \ - (unsigned char **)(x)) -# define i2d_DHparams_fp(fp, x) \ - ASN1_i2d_fp(i2d_DHparams,(fp), (unsigned char *)(x)) -# define d2i_DHparams_bio(bp, x) \ - ASN1_d2i_bio_of(DH, DH_new, d2i_DHparams, bp, x) -# define i2d_DHparams_bio(bp, x) \ - ASN1_i2d_bio_of(DH, i2d_DHparams, bp, x) +DH *DHparams_dup(DH *); -# define d2i_DHxparams_fp(fp,x) \ - (DH *)ASN1_d2i_fp((char *(*)())DH_new, \ - (char *(*)())d2i_DHxparams, \ - (fp), \ - (unsigned char **)(x)) -# define i2d_DHxparams_fp(fp, x) \ - ASN1_i2d_fp(i2d_DHxparams,(fp), (unsigned char *)(x)) -# define d2i_DHxparams_bio(bp, x) \ - ASN1_d2i_bio_of(DH, DH_new, d2i_DHxparams, bp, x) -# define i2d_DHxparams_bio(bp, x) \ - ASN1_i2d_bio_of(DH, i2d_DHxparams, bp, x) -# endif +const DH_METHOD *DH_OpenSSL(void); -DECLARE_ASN1_DUP_FUNCTION_name(DH, DHparams) - -DEPRECATEDIN_3_0(const DH_METHOD *DH_OpenSSL(void)) - -DEPRECATEDIN_3_0(void DH_set_default_method(const DH_METHOD *meth)) -DEPRECATEDIN_3_0(const DH_METHOD *DH_get_default_method(void)) -DEPRECATEDIN_3_0(int DH_set_method(DH *dh, const DH_METHOD *meth)) -DEPRECATEDIN_3_0(DH *DH_new_method(ENGINE *engine)) +void DH_set_default_method(const DH_METHOD *meth); +const DH_METHOD *DH_get_default_method(void); +int DH_set_method(DH *dh, const DH_METHOD *meth); +DH *DH_new_method(ENGINE *engine); DH *DH_new(void); void DH_free(DH *dh); int DH_up_ref(DH *dh); -DEPRECATEDIN_3_0(int DH_bits(const DH *dh)) -DEPRECATEDIN_3_0(int DH_size(const DH *dh)) -DEPRECATEDIN_3_0(int DH_security_bits(const DH *dh)) -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define DH_get_ex_new_index(l, p, newf, dupf, freef) \ - CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_DH, l, p, newf, dupf, freef) -# endif -DEPRECATEDIN_3_0(int DH_set_ex_data(DH *d, int idx, void *arg)) -DEPRECATEDIN_3_0(void *DH_get_ex_data(DH *d, int idx)) +int DH_bits(const DH *dh); +int DH_size(const DH *dh); +int DH_security_bits(const DH *dh); +#define DH_get_ex_new_index(l, p, newf, dupf, freef) \ + CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_DH, l, p, newf, dupf, freef) +int DH_set_ex_data(DH *d, int idx, void *arg); +void *DH_get_ex_data(DH *d, int idx); /* Deprecated version */ DEPRECATEDIN_0_9_8(DH *DH_generate_parameters(int prime_len, int generator, @@ -164,49 +139,43 @@ DEPRECATEDIN_0_9_8(DH *DH_generate_parameters(int prime_len, int generator, void *cb_arg)) /* New version */ -DEPRECATEDIN_3_0(int DH_generate_parameters_ex(DH *dh, int prime_len, - int generator, BN_GENCB *cb)) +int DH_generate_parameters_ex(DH *dh, int prime_len, int generator, + BN_GENCB *cb); -DEPRECATEDIN_3_0(int DH_check_params_ex(const DH *dh)) -DEPRECATEDIN_3_0(int DH_check_ex(const DH *dh)) -DEPRECATEDIN_3_0(int DH_check_pub_key_ex(const DH *dh, const BIGNUM *pub_key)) -/* - * TODO(3.0): deprecate DH_check_params once ssl/statem/statem_clnt.c is fixed. - */ +int DH_check_params_ex(const DH *dh); +int DH_check_ex(const DH *dh); +int DH_check_pub_key_ex(const DH *dh, const BIGNUM *pub_key); int DH_check_params(const DH *dh, int *ret); -DEPRECATEDIN_3_0(int DH_check(const DH *dh, int *codes)) -DEPRECATEDIN_3_0(int DH_check_pub_key(const DH *dh, const BIGNUM *pub_key, - int *codes)) -DEPRECATEDIN_3_0(int DH_generate_key(DH *dh)) -DEPRECATEDIN_3_0(int DH_compute_key(unsigned char *key, const BIGNUM *pub_key, - DH *dh)) -DEPRECATEDIN_3_0(int DH_compute_key_padded(unsigned char *key, - const BIGNUM *pub_key, DH *dh)) -DECLARE_ASN1_ENCODE_FUNCTIONS_only(DH, DHparams) -DECLARE_ASN1_ENCODE_FUNCTIONS_only(DH, DHxparams) -# ifndef OPENSSL_NO_STDIO -DEPRECATEDIN_3_0(int DHparams_print_fp(FILE *fp, const DH *x)) -# endif -DEPRECATEDIN_3_0(int DHparams_print(BIO *bp, const DH *x)) +int DH_check(const DH *dh, int *codes); +int DH_check_pub_key(const DH *dh, const BIGNUM *pub_key, int *codes); +int DH_generate_key(DH *dh); +int DH_compute_key(unsigned char *key, const BIGNUM *pub_key, DH *dh); +int DH_compute_key_padded(unsigned char *key, const BIGNUM *pub_key, DH *dh); +DH *d2i_DHparams(DH **a, const unsigned char **pp, long length); +int i2d_DHparams(const DH *a, unsigned char **pp); +DH *d2i_DHxparams(DH **a, const unsigned char **pp, long length); +int i2d_DHxparams(const DH *a, unsigned char **pp); +# ifndef OPENSSL_NO_STDIO +int DHparams_print_fp(FILE *fp, const DH *x); +# endif +int DHparams_print(BIO *bp, const DH *x); /* RFC 5114 parameters */ DH *DH_get_1024_160(void); DH *DH_get_2048_224(void); DH *DH_get_2048_256(void); -/* Named parameters, currently RFC7919 and RFC3526 */ -/* TODO(3.0): deprecate DH_new_by_nid() after converting ssl/s3_lib.c */ +/* Named parameters, currently RFC7919 */ DH *DH_new_by_nid(int nid); -DEPRECATEDIN_3_0(int DH_get_nid(DH *dh)) +int DH_get_nid(const DH *dh); -# ifndef OPENSSL_NO_CMS +# ifndef OPENSSL_NO_CMS /* RFC2631 KDF */ -DEPRECATEDIN_3_0(int DH_KDF_X9_42(unsigned char *out, size_t outlen, - const unsigned char *Z, size_t Zlen, - ASN1_OBJECT *key_oid, - const unsigned char *ukm, - size_t ukmlen, const EVP_MD *md)) -# endif +int DH_KDF_X9_42(unsigned char *out, size_t outlen, + const unsigned char *Z, size_t Zlen, + ASN1_OBJECT *key_oid, + const unsigned char *ukm, size_t ukmlen, const EVP_MD *md); +# endif void DH_get0_pqg(const DH *dh, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g); @@ -222,147 +191,147 @@ const BIGNUM *DH_get0_pub_key(const DH *dh); void DH_clear_flags(DH *dh, int flags); int DH_test_flags(const DH *dh, int flags); void DH_set_flags(DH *dh, int flags); -DEPRECATEDIN_3_0(ENGINE *DH_get0_engine(DH *d)) -DEPRECATEDIN_3_0(long DH_get_length(const DH *dh)) -DEPRECATEDIN_3_0(int DH_set_length(DH *dh, long length)) +ENGINE *DH_get0_engine(DH *d); +long DH_get_length(const DH *dh); +int DH_set_length(DH *dh, long length); -DEPRECATEDIN_3_0(DH_METHOD *DH_meth_new(const char *name, int flags)) -DEPRECATEDIN_3_0(void DH_meth_free(DH_METHOD *dhm)) -DEPRECATEDIN_3_0(DH_METHOD *DH_meth_dup(const DH_METHOD *dhm)) -DEPRECATEDIN_3_0(const char *DH_meth_get0_name(const DH_METHOD *dhm)) -DEPRECATEDIN_3_0(int DH_meth_set1_name(DH_METHOD *dhm, const char *name)) -DEPRECATEDIN_3_0(int DH_meth_get_flags(const DH_METHOD *dhm)) -DEPRECATEDIN_3_0(int DH_meth_set_flags(DH_METHOD *dhm, int flags)) -DEPRECATEDIN_3_0(void *DH_meth_get0_app_data(const DH_METHOD *dhm)) -DEPRECATEDIN_3_0(int DH_meth_set0_app_data(DH_METHOD *dhm, void *app_data)) -DEPRECATEDIN_3_0(int (*DH_meth_get_generate_key(const DH_METHOD *dhm)) (DH *)) -DEPRECATEDIN_3_0(int DH_meth_set_generate_key(DH_METHOD *dhm, - int (*generate_key) (DH *))) -DEPRECATEDIN_3_0(int (*DH_meth_get_compute_key(const DH_METHOD *dhm)) - (unsigned char *key, - const BIGNUM *pub_key, DH *dh)) -DEPRECATEDIN_3_0(int DH_meth_set_compute_key(DH_METHOD *dhm, - int (*compute_key) - (unsigned char *key, - const BIGNUM *pub_key, - DH *dh))) -DEPRECATEDIN_3_0(int (*DH_meth_get_bn_mod_exp(const DH_METHOD *dhm)) - (const DH *, BIGNUM *, - const BIGNUM *, - const BIGNUM *, - const BIGNUM *, BN_CTX *, - BN_MONT_CTX *)) -DEPRECATEDIN_3_0(int DH_meth_set_bn_mod_exp(DH_METHOD *dhm, - int (*bn_mod_exp) - (const DH *, BIGNUM *, - const BIGNUM *, const BIGNUM *, - const BIGNUM *, BN_CTX *, - BN_MONT_CTX *))) -DEPRECATEDIN_3_0(int (*DH_meth_get_init(const DH_METHOD *dhm))(DH *)) -DEPRECATEDIN_3_0(int DH_meth_set_init(DH_METHOD *dhm, int (*init)(DH *))) -DEPRECATEDIN_3_0(int (*DH_meth_get_finish(const DH_METHOD *dhm)) (DH *)) -DEPRECATEDIN_3_0(int DH_meth_set_finish(DH_METHOD *dhm, int (*finish) (DH *))) -DEPRECATEDIN_3_0(int (*DH_meth_get_generate_params(const DH_METHOD *dhm)) - (DH *, int, int, - BN_GENCB *)) -DEPRECATEDIN_3_0(int DH_meth_set_generate_params(DH_METHOD *dhm, - int (*generate_params) - (DH *, int, int, - BN_GENCB *))) +DH_METHOD *DH_meth_new(const char *name, int flags); +void DH_meth_free(DH_METHOD *dhm); +DH_METHOD *DH_meth_dup(const DH_METHOD *dhm); +const char *DH_meth_get0_name(const DH_METHOD *dhm); +int DH_meth_set1_name(DH_METHOD *dhm, const char *name); +int DH_meth_get_flags(const DH_METHOD *dhm); +int DH_meth_set_flags(DH_METHOD *dhm, int flags); +void *DH_meth_get0_app_data(const DH_METHOD *dhm); +int DH_meth_set0_app_data(DH_METHOD *dhm, void *app_data); +int (*DH_meth_get_generate_key(const DH_METHOD *dhm)) (DH *); +int DH_meth_set_generate_key(DH_METHOD *dhm, int (*generate_key) (DH *)); +int (*DH_meth_get_compute_key(const DH_METHOD *dhm)) + (unsigned char *key, const BIGNUM *pub_key, DH *dh); +int DH_meth_set_compute_key(DH_METHOD *dhm, + int (*compute_key) (unsigned char *key, const BIGNUM *pub_key, DH *dh)); +int (*DH_meth_get_bn_mod_exp(const DH_METHOD *dhm)) + (const DH *, BIGNUM *, const BIGNUM *, const BIGNUM *, const BIGNUM *, + BN_CTX *, BN_MONT_CTX *); +int DH_meth_set_bn_mod_exp(DH_METHOD *dhm, + int (*bn_mod_exp) (const DH *, BIGNUM *, const BIGNUM *, const BIGNUM *, + const BIGNUM *, BN_CTX *, BN_MONT_CTX *)); +int (*DH_meth_get_init(const DH_METHOD *dhm))(DH *); +int DH_meth_set_init(DH_METHOD *dhm, int (*init)(DH *)); +int (*DH_meth_get_finish(const DH_METHOD *dhm)) (DH *); +int DH_meth_set_finish(DH_METHOD *dhm, int (*finish) (DH *)); +int (*DH_meth_get_generate_params(const DH_METHOD *dhm)) + (DH *, int, int, BN_GENCB *); +int DH_meth_set_generate_params(DH_METHOD *dhm, + int (*generate_params) (DH *, int, int, BN_GENCB *)); -# define EVP_PKEY_CTX_set_dh_paramgen_prime_len(ctx, len) \ + +# define EVP_PKEY_CTX_set_dh_paramgen_prime_len(ctx, len) \ EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_PARAMGEN, \ - EVP_PKEY_CTRL_DH_PARAMGEN_PRIME_LEN, len, NULL) + EVP_PKEY_CTRL_DH_PARAMGEN_PRIME_LEN, len, NULL) -# define EVP_PKEY_CTX_set_dh_paramgen_subprime_len(ctx, len) \ +# define EVP_PKEY_CTX_set_dh_paramgen_subprime_len(ctx, len) \ EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_PARAMGEN, \ - EVP_PKEY_CTRL_DH_PARAMGEN_SUBPRIME_LEN, len, NULL) + EVP_PKEY_CTRL_DH_PARAMGEN_SUBPRIME_LEN, len, NULL) -# define EVP_PKEY_CTX_set_dh_paramgen_type(ctx, typ) \ +# define EVP_PKEY_CTX_set_dh_paramgen_type(ctx, typ) \ EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_PARAMGEN, \ - EVP_PKEY_CTRL_DH_PARAMGEN_TYPE, typ, NULL) + EVP_PKEY_CTRL_DH_PARAMGEN_TYPE, typ, NULL) -# define EVP_PKEY_CTX_set_dh_paramgen_generator(ctx, gen) \ +# define EVP_PKEY_CTX_set_dh_paramgen_generator(ctx, gen) \ EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_PARAMGEN, \ - EVP_PKEY_CTRL_DH_PARAMGEN_GENERATOR, gen, NULL) + EVP_PKEY_CTRL_DH_PARAMGEN_GENERATOR, gen, NULL) -# define EVP_PKEY_CTX_set_dh_rfc5114(ctx, gen) \ +# define EVP_PKEY_CTX_set_dh_rfc5114(ctx, gen) \ EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, EVP_PKEY_OP_PARAMGEN, \ - EVP_PKEY_CTRL_DH_RFC5114, gen, NULL) + EVP_PKEY_CTRL_DH_RFC5114, gen, NULL) -# define EVP_PKEY_CTX_set_dhx_rfc5114(ctx, gen) \ +# define EVP_PKEY_CTX_set_dhx_rfc5114(ctx, gen) \ EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, EVP_PKEY_OP_PARAMGEN, \ - EVP_PKEY_CTRL_DH_RFC5114, gen, NULL) + EVP_PKEY_CTRL_DH_RFC5114, gen, NULL) -# define EVP_PKEY_CTX_set_dh_nid(ctx, nid) \ +# define EVP_PKEY_CTX_set_dh_nid(ctx, nid) \ EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, \ EVP_PKEY_OP_PARAMGEN | EVP_PKEY_OP_KEYGEN, \ EVP_PKEY_CTRL_DH_NID, nid, NULL) -int EVP_PKEY_CTX_set_dh_pad(EVP_PKEY_CTX *ctx, int pad); +# define EVP_PKEY_CTX_set_dh_pad(ctx, pad) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_DH_PAD, pad, NULL) -# define EVP_PKEY_CTX_set_dh_kdf_type(ctx, kdf) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_DH_KDF_TYPE, kdf, NULL) +# define EVP_PKEY_CTX_set_dh_kdf_type(ctx, kdf) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_DH_KDF_TYPE, kdf, NULL) -# define EVP_PKEY_CTX_get_dh_kdf_type(ctx) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_DH_KDF_TYPE, -2, NULL) +# define EVP_PKEY_CTX_get_dh_kdf_type(ctx) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_DH_KDF_TYPE, -2, NULL) -# define EVP_PKEY_CTX_set0_dh_kdf_oid(ctx, oid) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_DH_KDF_OID, 0, (void *)(oid)) +# define EVP_PKEY_CTX_set0_dh_kdf_oid(ctx, oid) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_DH_KDF_OID, 0, (void *)(oid)) -# define EVP_PKEY_CTX_get0_dh_kdf_oid(ctx, poid) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_GET_DH_KDF_OID, 0, (void *)(poid)) +# define EVP_PKEY_CTX_get0_dh_kdf_oid(ctx, poid) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_GET_DH_KDF_OID, 0, (void *)(poid)) -# define EVP_PKEY_CTX_set_dh_kdf_md(ctx, md) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_DH_KDF_MD, 0, (void *)(md)) +# define EVP_PKEY_CTX_set_dh_kdf_md(ctx, md) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_DH_KDF_MD, 0, (void *)(md)) -# define EVP_PKEY_CTX_get_dh_kdf_md(ctx, pmd) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_GET_DH_KDF_MD, 0, (void *)(pmd)) +# define EVP_PKEY_CTX_get_dh_kdf_md(ctx, pmd) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_GET_DH_KDF_MD, 0, (void *)(pmd)) -# define EVP_PKEY_CTX_set_dh_kdf_outlen(ctx, len) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_DH_KDF_OUTLEN, len, NULL) +# define EVP_PKEY_CTX_set_dh_kdf_outlen(ctx, len) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_DH_KDF_OUTLEN, len, NULL) -# define EVP_PKEY_CTX_get_dh_kdf_outlen(ctx, plen) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_GET_DH_KDF_OUTLEN, 0, (void *)(plen)) +# define EVP_PKEY_CTX_get_dh_kdf_outlen(ctx, plen) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_GET_DH_KDF_OUTLEN, 0, (void *)(plen)) -# define EVP_PKEY_CTX_set0_dh_kdf_ukm(ctx, p, plen) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_DH_KDF_UKM, plen, (void *)(p)) +# define EVP_PKEY_CTX_set0_dh_kdf_ukm(ctx, p, plen) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_DH_KDF_UKM, plen, (void *)(p)) -# define EVP_PKEY_CTX_get0_dh_kdf_ukm(ctx, p) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, EVP_PKEY_OP_DERIVE, \ - EVP_PKEY_CTRL_GET_DH_KDF_UKM, 0, (void *)(p)) +# define EVP_PKEY_CTX_get0_dh_kdf_ukm(ctx, p) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DHX, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_GET_DH_KDF_UKM, 0, (void *)(p)) -# define EVP_PKEY_CTRL_DH_PARAMGEN_PRIME_LEN (EVP_PKEY_ALG_CTRL + 1) -# define EVP_PKEY_CTRL_DH_PARAMGEN_GENERATOR (EVP_PKEY_ALG_CTRL + 2) -# define EVP_PKEY_CTRL_DH_RFC5114 (EVP_PKEY_ALG_CTRL + 3) -# define EVP_PKEY_CTRL_DH_PARAMGEN_SUBPRIME_LEN (EVP_PKEY_ALG_CTRL + 4) -# define EVP_PKEY_CTRL_DH_PARAMGEN_TYPE (EVP_PKEY_ALG_CTRL + 5) -# define EVP_PKEY_CTRL_DH_KDF_TYPE (EVP_PKEY_ALG_CTRL + 6) -# define EVP_PKEY_CTRL_DH_KDF_MD (EVP_PKEY_ALG_CTRL + 7) -# define EVP_PKEY_CTRL_GET_DH_KDF_MD (EVP_PKEY_ALG_CTRL + 8) -# define EVP_PKEY_CTRL_DH_KDF_OUTLEN (EVP_PKEY_ALG_CTRL + 9) -# define EVP_PKEY_CTRL_GET_DH_KDF_OUTLEN (EVP_PKEY_ALG_CTRL + 10) -# define EVP_PKEY_CTRL_DH_KDF_UKM (EVP_PKEY_ALG_CTRL + 11) -# define EVP_PKEY_CTRL_GET_DH_KDF_UKM (EVP_PKEY_ALG_CTRL + 12) -# define EVP_PKEY_CTRL_DH_KDF_OID (EVP_PKEY_ALG_CTRL + 13) -# define EVP_PKEY_CTRL_GET_DH_KDF_OID (EVP_PKEY_ALG_CTRL + 14) -# define EVP_PKEY_CTRL_DH_NID (EVP_PKEY_ALG_CTRL + 15) -# define EVP_PKEY_CTRL_DH_PAD (EVP_PKEY_ALG_CTRL + 16) +# define EVP_PKEY_CTRL_DH_PARAMGEN_PRIME_LEN (EVP_PKEY_ALG_CTRL + 1) +# define EVP_PKEY_CTRL_DH_PARAMGEN_GENERATOR (EVP_PKEY_ALG_CTRL + 2) +# define EVP_PKEY_CTRL_DH_RFC5114 (EVP_PKEY_ALG_CTRL + 3) +# define EVP_PKEY_CTRL_DH_PARAMGEN_SUBPRIME_LEN (EVP_PKEY_ALG_CTRL + 4) +# define EVP_PKEY_CTRL_DH_PARAMGEN_TYPE (EVP_PKEY_ALG_CTRL + 5) +# define EVP_PKEY_CTRL_DH_KDF_TYPE (EVP_PKEY_ALG_CTRL + 6) +# define EVP_PKEY_CTRL_DH_KDF_MD (EVP_PKEY_ALG_CTRL + 7) +# define EVP_PKEY_CTRL_GET_DH_KDF_MD (EVP_PKEY_ALG_CTRL + 8) +# define EVP_PKEY_CTRL_DH_KDF_OUTLEN (EVP_PKEY_ALG_CTRL + 9) +# define EVP_PKEY_CTRL_GET_DH_KDF_OUTLEN (EVP_PKEY_ALG_CTRL + 10) +# define EVP_PKEY_CTRL_DH_KDF_UKM (EVP_PKEY_ALG_CTRL + 11) +# define EVP_PKEY_CTRL_GET_DH_KDF_UKM (EVP_PKEY_ALG_CTRL + 12) +# define EVP_PKEY_CTRL_DH_KDF_OID (EVP_PKEY_ALG_CTRL + 13) +# define EVP_PKEY_CTRL_GET_DH_KDF_OID (EVP_PKEY_ALG_CTRL + 14) +# define EVP_PKEY_CTRL_DH_NID (EVP_PKEY_ALG_CTRL + 15) +# define EVP_PKEY_CTRL_DH_PAD (EVP_PKEY_ALG_CTRL + 16) /* KDF types */ -# define EVP_PKEY_DH_KDF_NONE 1 -# ifndef OPENSSL_NO_CMS -# define EVP_PKEY_DH_KDF_X9_42 2 -# endif +# define EVP_PKEY_DH_KDF_NONE 1 +# ifndef OPENSSL_NO_CMS +# define EVP_PKEY_DH_KDF_X9_42 2 +# endif + # ifdef __cplusplus } diff --git a/linux_amd64/include/openssl/dherr.h b/linux_amd64/include/openssl/dherr.h index 463019d..916b3be 100644 --- a/linux_amd64/include/openssl/dherr.h +++ b/linux_amd64/include/openssl/dherr.h @@ -2,25 +2,19 @@ * Generated by util/mkerr.pl DO NOT EDIT * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_DHERR_H -# define OPENSSL_DHERR_H -# pragma once +#ifndef HEADER_DHERR_H +# define HEADER_DHERR_H -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_DHERR_H +# ifndef HEADER_SYMHACKS_H +# include # endif -# include -# include - - # include # ifndef OPENSSL_NO_DH @@ -33,36 +27,32 @@ int ERR_load_DH_strings(void); /* * DH function codes. */ -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define DH_F_COMPUTE_KEY 0 -# define DH_F_DHPARAMS_PRINT_FP 0 -# define DH_F_DH_BUF2KEY 0 -# define DH_F_DH_BUILTIN_GENPARAMS 0 -# define DH_F_DH_CHECK_EX 0 -# define DH_F_DH_CHECK_PARAMS_EX 0 -# define DH_F_DH_CHECK_PUB_KEY_EX 0 -# define DH_F_DH_CMS_DECRYPT 0 -# define DH_F_DH_CMS_SET_PEERKEY 0 -# define DH_F_DH_CMS_SET_SHARED_INFO 0 -# define DH_F_DH_KEY2BUF 0 -# define DH_F_DH_METH_DUP 0 -# define DH_F_DH_METH_NEW 0 -# define DH_F_DH_METH_SET1_NAME 0 -# define DH_F_DH_NEW_BY_NID 0 -# define DH_F_DH_NEW_METHOD 0 -# define DH_F_DH_PARAM_DECODE 0 -# define DH_F_DH_PKEY_PUBLIC_CHECK 0 -# define DH_F_DH_PRIV_DECODE 0 -# define DH_F_DH_PRIV_ENCODE 0 -# define DH_F_DH_PUB_DECODE 0 -# define DH_F_DH_PUB_ENCODE 0 -# define DH_F_DO_DH_PRINT 0 -# define DH_F_GENERATE_KEY 0 -# define DH_F_PKEY_DH_CTRL_STR 0 -# define DH_F_PKEY_DH_DERIVE 0 -# define DH_F_PKEY_DH_INIT 0 -# define DH_F_PKEY_DH_KEYGEN 0 -# endif +# define DH_F_COMPUTE_KEY 102 +# define DH_F_DHPARAMS_PRINT_FP 101 +# define DH_F_DH_BUILTIN_GENPARAMS 106 +# define DH_F_DH_CHECK_EX 121 +# define DH_F_DH_CHECK_PARAMS_EX 122 +# define DH_F_DH_CHECK_PUB_KEY_EX 123 +# define DH_F_DH_CMS_DECRYPT 114 +# define DH_F_DH_CMS_SET_PEERKEY 115 +# define DH_F_DH_CMS_SET_SHARED_INFO 116 +# define DH_F_DH_METH_DUP 117 +# define DH_F_DH_METH_NEW 118 +# define DH_F_DH_METH_SET1_NAME 119 +# define DH_F_DH_NEW_BY_NID 104 +# define DH_F_DH_NEW_METHOD 105 +# define DH_F_DH_PARAM_DECODE 107 +# define DH_F_DH_PKEY_PUBLIC_CHECK 124 +# define DH_F_DH_PRIV_DECODE 110 +# define DH_F_DH_PRIV_ENCODE 111 +# define DH_F_DH_PUB_DECODE 108 +# define DH_F_DH_PUB_ENCODE 109 +# define DH_F_DO_DH_PRINT 100 +# define DH_F_GENERATE_KEY 103 +# define DH_F_PKEY_DH_CTRL_STR 120 +# define DH_F_PKEY_DH_DERIVE 112 +# define DH_F_PKEY_DH_INIT 125 +# define DH_F_PKEY_DH_KEYGEN 113 /* * DH reason codes. @@ -86,7 +76,6 @@ int ERR_load_DH_strings(void); # define DH_R_KEYS_NOT_SET 108 # define DH_R_MISSING_PUBKEY 125 # define DH_R_MODULUS_TOO_LARGE 103 -# define DH_R_MODULUS_TOO_SMALL 126 # define DH_R_NOT_SUITABLE_GENERATOR 120 # define DH_R_NO_PARAMETERS_SET 107 # define DH_R_NO_PRIVATE_VALUE 100 diff --git a/linux_amd64/include/openssl/dsa.h b/linux_amd64/include/openssl/dsa.h index ac4d221..6d8a18a 100644 --- a/linux_amd64/include/openssl/dsa.h +++ b/linux_amd64/include/openssl/dsa.h @@ -1,53 +1,44 @@ /* * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_DSA_H -# define OPENSSL_DSA_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_DSA_H -# endif +#ifndef HEADER_DSA_H +# define HEADER_DSA_H # include # ifndef OPENSSL_NO_DSA -# ifdef __cplusplus +# ifdef __cplusplus extern "C" { -# endif -# include -# include -# include -# include -# include -# include -# ifndef OPENSSL_NO_DEPRECATED_1_1_0 -# include -# endif -# include +# endif +# include +# include +# include +# include +# include +# if OPENSSL_API_COMPAT < 0x10100000L +# include +# endif +# include -# ifndef OPENSSL_DSA_MAX_MODULUS_BITS -# define OPENSSL_DSA_MAX_MODULUS_BITS 10000 -# endif +# ifndef OPENSSL_DSA_MAX_MODULUS_BITS +# define OPENSSL_DSA_MAX_MODULUS_BITS 10000 +# endif -# define OPENSSL_DSA_FIPS_MIN_MODULUS_BITS 1024 +# define OPENSSL_DSA_FIPS_MIN_MODULUS_BITS 1024 -# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +# define DSA_FLAG_CACHE_MONT_P 0x01 +# if OPENSSL_API_COMPAT < 0x10100000L /* * Does nothing. Previously this switched off constant time behaviour. */ -# define DSA_FLAG_NO_EXP_CONSTTIME 0x00 -# endif - -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define DSA_FLAG_CACHE_MONT_P 0x01 +# define DSA_FLAG_NO_EXP_CONSTTIME 0x00 +# endif /* * If this flag is set the DSA method is FIPS compliant and can be used in @@ -56,7 +47,7 @@ extern "C" { * result is compliant. */ -# define DSA_FLAG_FIPS_METHOD 0x0400 +# define DSA_FLAG_FIPS_METHOD 0x0400 /* * If this flag is set the operations normally disabled in FIPS mode are @@ -64,9 +55,8 @@ extern "C" { * usage is compliant. */ -# define DSA_FLAG_NON_FIPS_ALLOW 0x0400 -# define DSA_FLAG_FIPS_CHECKED 0x0800 -# endif /* OPENSSL_NO_DEPRECATED_3_0 */ +# define DSA_FLAG_NON_FIPS_ALLOW 0x0400 +# define DSA_FLAG_FIPS_CHECKED 0x0800 /* Already defined in ossl_typ.h */ /* typedef struct dsa_st DSA; */ @@ -74,67 +64,54 @@ extern "C" { typedef struct DSA_SIG_st DSA_SIG; -/* - * TODO(3.0): consider removing the ASN.1 encoding and decoding when - * deserialisation is completed elsewhere. - */ -# define d2i_DSAparams_fp(fp, x) \ - (DSA *)ASN1_d2i_fp((char *(*)())DSA_new, \ - (char *(*)())d2i_DSAparams, (fp), \ - (unsigned char **)(x)) -# define i2d_DSAparams_fp(fp, x) \ - ASN1_i2d_fp(i2d_DSAparams, (fp), (unsigned char *)(x)) -# define d2i_DSAparams_bio(bp, x) \ - ASN1_d2i_bio_of(DSA, DSA_new, d2i_DSAparams, bp, x) -# define i2d_DSAparams_bio(bp, x) \ - ASN1_i2d_bio_of(DSA, i2d_DSAparams, bp, x) +# define d2i_DSAparams_fp(fp,x) (DSA *)ASN1_d2i_fp((char *(*)())DSA_new, \ + (char *(*)())d2i_DSAparams,(fp),(unsigned char **)(x)) +# define i2d_DSAparams_fp(fp,x) ASN1_i2d_fp(i2d_DSAparams,(fp), \ + (unsigned char *)(x)) +# define d2i_DSAparams_bio(bp,x) ASN1_d2i_bio_of(DSA,DSA_new,d2i_DSAparams,bp,x) +# define i2d_DSAparams_bio(bp,x) ASN1_i2d_bio_of_const(DSA,i2d_DSAparams,bp,x) -DECLARE_ASN1_DUP_FUNCTION_name(DSA, DSAparams) +DSA *DSAparams_dup(DSA *x); DSA_SIG *DSA_SIG_new(void); void DSA_SIG_free(DSA_SIG *a); -DECLARE_ASN1_ENCODE_FUNCTIONS_only(DSA_SIG, DSA_SIG) +int i2d_DSA_SIG(const DSA_SIG *a, unsigned char **pp); +DSA_SIG *d2i_DSA_SIG(DSA_SIG **v, const unsigned char **pp, long length); void DSA_SIG_get0(const DSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps); int DSA_SIG_set0(DSA_SIG *sig, BIGNUM *r, BIGNUM *s); -DEPRECATEDIN_3_0(DSA_SIG *DSA_do_sign(const unsigned char *dgst, int dlen, - DSA *dsa)) -DEPRECATEDIN_3_0(int DSA_do_verify(const unsigned char *dgst, int dgst_len, - DSA_SIG *sig, DSA *dsa)) +DSA_SIG *DSA_do_sign(const unsigned char *dgst, int dlen, DSA *dsa); +int DSA_do_verify(const unsigned char *dgst, int dgst_len, + DSA_SIG *sig, DSA *dsa); -DEPRECATEDIN_3_0(const DSA_METHOD *DSA_OpenSSL(void)) +const DSA_METHOD *DSA_OpenSSL(void); -DEPRECATEDIN_3_0(void DSA_set_default_method(const DSA_METHOD *)) -DEPRECATEDIN_3_0(const DSA_METHOD *DSA_get_default_method(void)) -DEPRECATEDIN_3_0(int DSA_set_method(DSA *dsa, const DSA_METHOD *)) -DEPRECATEDIN_3_0(const DSA_METHOD *DSA_get_method(DSA *d)) +void DSA_set_default_method(const DSA_METHOD *); +const DSA_METHOD *DSA_get_default_method(void); +int DSA_set_method(DSA *dsa, const DSA_METHOD *); +const DSA_METHOD *DSA_get_method(DSA *d); DSA *DSA_new(void); -DEPRECATEDIN_3_0(DSA *DSA_new_method(ENGINE *engine)) +DSA *DSA_new_method(ENGINE *engine); void DSA_free(DSA *r); /* "up" the DSA object's reference count */ int DSA_up_ref(DSA *r); -DEPRECATEDIN_3_0(int DSA_size(const DSA *)) -DEPRECATEDIN_3_0(int DSA_bits(const DSA *d)) -DEPRECATEDIN_3_0(int DSA_security_bits(const DSA *d)) +int DSA_size(const DSA *); +int DSA_bits(const DSA *d); +int DSA_security_bits(const DSA *d); /* next 4 return -1 on error */ -DEPRECATEDIN_3_0(int DSA_sign_setup(DSA *dsa, BN_CTX *ctx_in, BIGNUM **kinvp, - BIGNUM **rp)) -DEPRECATEDIN_3_0(int DSA_sign(int type, const unsigned char *dgst, int dlen, - unsigned char *sig, unsigned int *siglen, - DSA *dsa)) -DEPRECATEDIN_3_0(int DSA_verify(int type, const unsigned char *dgst, - int dgst_len, const unsigned char *sigbuf, - int siglen, DSA *dsa)) -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define DSA_get_ex_new_index(l, p, newf, dupf, freef) \ - CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_DSA, l, p, newf, dupf, freef) -# endif -DEPRECATEDIN_3_0(int DSA_set_ex_data(DSA *d, int idx, void *arg)) -DEPRECATEDIN_3_0(void *DSA_get_ex_data(DSA *d, int idx)) +DEPRECATEDIN_1_2_0(int DSA_sign_setup(DSA *dsa, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp)) +int DSA_sign(int type, const unsigned char *dgst, int dlen, + unsigned char *sig, unsigned int *siglen, DSA *dsa); +int DSA_verify(int type, const unsigned char *dgst, int dgst_len, + const unsigned char *sigbuf, int siglen, DSA *dsa); +#define DSA_get_ex_new_index(l, p, newf, dupf, freef) \ + CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_DSA, l, p, newf, dupf, freef) +int DSA_set_ex_data(DSA *d, int idx, void *arg); +void *DSA_get_ex_data(DSA *d, int idx); -DECLARE_ASN1_ENCODE_FUNCTIONS_only(DSA, DSAPublicKey) -DECLARE_ASN1_ENCODE_FUNCTIONS_only(DSA, DSAPrivateKey) -DECLARE_ASN1_ENCODE_FUNCTIONS_only(DSA, DSAparams) +DSA *d2i_DSAPublicKey(DSA **a, const unsigned char **pp, long length); +DSA *d2i_DSAPrivateKey(DSA **a, const unsigned char **pp, long length); +DSA *d2i_DSAparams(DSA **a, const unsigned char **pp, long length); /* Deprecated version */ DEPRECATEDIN_0_9_8(DSA *DSA_generate_parameters(int bits, @@ -147,54 +124,54 @@ DEPRECATEDIN_0_9_8(DSA *DSA_generate_parameters(int bits, void *cb_arg)) /* New version */ -DEPRECATEDIN_3_0(int DSA_generate_parameters_ex(DSA *dsa, int bits, - const unsigned char *seed, - int seed_len, int *counter_ret, - unsigned long *h_ret, - BN_GENCB *cb)) +int DSA_generate_parameters_ex(DSA *dsa, int bits, + const unsigned char *seed, int seed_len, + int *counter_ret, unsigned long *h_ret, + BN_GENCB *cb); -DEPRECATEDIN_3_0(int DSA_generate_key(DSA *a)) +int DSA_generate_key(DSA *a); +int i2d_DSAPublicKey(const DSA *a, unsigned char **pp); +int i2d_DSAPrivateKey(const DSA *a, unsigned char **pp); +int i2d_DSAparams(const DSA *a, unsigned char **pp); -DEPRECATEDIN_3_0(int DSAparams_print(BIO *bp, const DSA *x)) -DEPRECATEDIN_3_0(int DSA_print(BIO *bp, const DSA *x, int off)) -# ifndef OPENSSL_NO_STDIO -DEPRECATEDIN_3_0(int DSAparams_print_fp(FILE *fp, const DSA *x)) -DEPRECATEDIN_3_0(int DSA_print_fp(FILE *bp, const DSA *x, int off)) -# endif +int DSAparams_print(BIO *bp, const DSA *x); +int DSA_print(BIO *bp, const DSA *x, int off); +# ifndef OPENSSL_NO_STDIO +int DSAparams_print_fp(FILE *fp, const DSA *x); +int DSA_print_fp(FILE *bp, const DSA *x, int off); +# endif -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define DSS_prime_checks 64 +# define DSS_prime_checks 64 /* * Primality test according to FIPS PUB 186-4, Appendix C.3. Since we only * have one value here we set the number of checks to 64 which is the 128 bit * security level that is the highest level and valid for creating a 3072 bit * DSA key. */ -# define DSA_is_prime(n, callback, cb_arg) \ - BN_is_prime(n, DSS_prime_checks, callback, NULL, cb_arg) -# endif +# define DSA_is_prime(n, callback, cb_arg) \ + BN_is_prime(n, DSS_prime_checks, callback, NULL, cb_arg) -# ifndef OPENSSL_NO_DH +# ifndef OPENSSL_NO_DH /* * Convert DSA structure (key or just parameters) into DH structure (be * careful to avoid small subgroup attacks when using this!) */ -DEPRECATEDIN_3_0(DH *DSA_dup_DH(const DSA *r)) -# endif +DH *DSA_dup_DH(const DSA *r); +# endif -# define EVP_PKEY_CTX_set_dsa_paramgen_bits(ctx, nbits) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DSA, EVP_PKEY_OP_PARAMGEN, \ - EVP_PKEY_CTRL_DSA_PARAMGEN_BITS, nbits, NULL) -# define EVP_PKEY_CTX_set_dsa_paramgen_q_bits(ctx, qbits) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DSA, EVP_PKEY_OP_PARAMGEN, \ - EVP_PKEY_CTRL_DSA_PARAMGEN_Q_BITS, qbits, NULL) -# define EVP_PKEY_CTX_set_dsa_paramgen_md(ctx, md) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DSA, EVP_PKEY_OP_PARAMGEN, \ - EVP_PKEY_CTRL_DSA_PARAMGEN_MD, 0, (void *)(md)) +# define EVP_PKEY_CTX_set_dsa_paramgen_bits(ctx, nbits) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DSA, EVP_PKEY_OP_PARAMGEN, \ + EVP_PKEY_CTRL_DSA_PARAMGEN_BITS, nbits, NULL) +# define EVP_PKEY_CTX_set_dsa_paramgen_q_bits(ctx, qbits) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DSA, EVP_PKEY_OP_PARAMGEN, \ + EVP_PKEY_CTRL_DSA_PARAMGEN_Q_BITS, qbits, NULL) +# define EVP_PKEY_CTX_set_dsa_paramgen_md(ctx, md) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DSA, EVP_PKEY_OP_PARAMGEN, \ + EVP_PKEY_CTRL_DSA_PARAMGEN_MD, 0, (void *)(md)) -# define EVP_PKEY_CTRL_DSA_PARAMGEN_BITS (EVP_PKEY_ALG_CTRL + 1) -# define EVP_PKEY_CTRL_DSA_PARAMGEN_Q_BITS (EVP_PKEY_ALG_CTRL + 2) -# define EVP_PKEY_CTRL_DSA_PARAMGEN_MD (EVP_PKEY_ALG_CTRL + 3) +# define EVP_PKEY_CTRL_DSA_PARAMGEN_BITS (EVP_PKEY_ALG_CTRL + 1) +# define EVP_PKEY_CTRL_DSA_PARAMGEN_Q_BITS (EVP_PKEY_ALG_CTRL + 2) +# define EVP_PKEY_CTRL_DSA_PARAMGEN_MD (EVP_PKEY_ALG_CTRL + 3) void DSA_get0_pqg(const DSA *d, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g); @@ -210,54 +187,55 @@ const BIGNUM *DSA_get0_priv_key(const DSA *d); void DSA_clear_flags(DSA *d, int flags); int DSA_test_flags(const DSA *d, int flags); void DSA_set_flags(DSA *d, int flags); -DEPRECATEDIN_3_0(ENGINE *DSA_get0_engine(DSA *d)) +ENGINE *DSA_get0_engine(DSA *d); -DEPRECATEDIN_3_0(DSA_METHOD *DSA_meth_new(const char *name, int flags)) -DEPRECATEDIN_3_0(void DSA_meth_free(DSA_METHOD *dsam)) -DEPRECATEDIN_3_0(DSA_METHOD *DSA_meth_dup(const DSA_METHOD *dsam)) -DEPRECATEDIN_3_0(const char *DSA_meth_get0_name(const DSA_METHOD *dsam)) -DEPRECATEDIN_3_0(int DSA_meth_set1_name(DSA_METHOD *dsam, const char *name)) -DEPRECATEDIN_3_0(int DSA_meth_get_flags(const DSA_METHOD *dsam)) -DEPRECATEDIN_3_0(int DSA_meth_set_flags(DSA_METHOD *dsam, int flags)) -DEPRECATEDIN_3_0(void *DSA_meth_get0_app_data(const DSA_METHOD *dsam)) -DEPRECATEDIN_3_0(int DSA_meth_set0_app_data(DSA_METHOD *dsam, void *app_data)) -DEPRECATEDIN_3_0(DSA_SIG *(*DSA_meth_get_sign(const DSA_METHOD *dsam)) - (const unsigned char *, int, DSA *)) -DEPRECATEDIN_3_0(int DSA_meth_set_sign(DSA_METHOD *dsam, - DSA_SIG *(*sign) (const unsigned char *, int, DSA *))) -DEPRECATEDIN_3_0(int (*DSA_meth_get_sign_setup(const DSA_METHOD *dsam)) - (DSA *, BN_CTX *, BIGNUM **, BIGNUM **)) -DEPRECATEDIN_3_0(int DSA_meth_set_sign_setup(DSA_METHOD *dsam, - int (*sign_setup) (DSA *, BN_CTX *, BIGNUM **, BIGNUM **))) -DEPRECATEDIN_3_0(int (*DSA_meth_get_verify(const DSA_METHOD *dsam)) - (const unsigned char *, int, DSA_SIG *, DSA *)) -DEPRECATEDIN_3_0(int DSA_meth_set_verify(DSA_METHOD *dsam, - int (*verify) (const unsigned char *, int, DSA_SIG *, DSA *))) -DEPRECATEDIN_3_0(int (*DSA_meth_get_mod_exp(const DSA_METHOD *dsam)) +DSA_METHOD *DSA_meth_new(const char *name, int flags); +void DSA_meth_free(DSA_METHOD *dsam); +DSA_METHOD *DSA_meth_dup(const DSA_METHOD *dsam); +const char *DSA_meth_get0_name(const DSA_METHOD *dsam); +int DSA_meth_set1_name(DSA_METHOD *dsam, const char *name); +int DSA_meth_get_flags(const DSA_METHOD *dsam); +int DSA_meth_set_flags(DSA_METHOD *dsam, int flags); +void *DSA_meth_get0_app_data(const DSA_METHOD *dsam); +int DSA_meth_set0_app_data(DSA_METHOD *dsam, void *app_data); +DSA_SIG *(*DSA_meth_get_sign(const DSA_METHOD *dsam)) + (const unsigned char *, int, DSA *); +int DSA_meth_set_sign(DSA_METHOD *dsam, + DSA_SIG *(*sign) (const unsigned char *, int, DSA *)); +int (*DSA_meth_get_sign_setup(const DSA_METHOD *dsam)) + (DSA *, BN_CTX *, BIGNUM **, BIGNUM **); +int DSA_meth_set_sign_setup(DSA_METHOD *dsam, + int (*sign_setup) (DSA *, BN_CTX *, BIGNUM **, BIGNUM **)); +int (*DSA_meth_get_verify(const DSA_METHOD *dsam)) + (const unsigned char *, int, DSA_SIG *, DSA *); +int DSA_meth_set_verify(DSA_METHOD *dsam, + int (*verify) (const unsigned char *, int, DSA_SIG *, DSA *)); +int (*DSA_meth_get_mod_exp(const DSA_METHOD *dsam)) (DSA *, BIGNUM *, const BIGNUM *, const BIGNUM *, const BIGNUM *, - const BIGNUM *, const BIGNUM *, BN_CTX *, BN_MONT_CTX *)) -DEPRECATEDIN_3_0(int DSA_meth_set_mod_exp(DSA_METHOD *dsam, + const BIGNUM *, const BIGNUM *, BN_CTX *, BN_MONT_CTX *); +int DSA_meth_set_mod_exp(DSA_METHOD *dsam, int (*mod_exp) (DSA *, BIGNUM *, const BIGNUM *, const BIGNUM *, const BIGNUM *, const BIGNUM *, const BIGNUM *, BN_CTX *, - BN_MONT_CTX *))) -DEPRECATEDIN_3_0(int (*DSA_meth_get_bn_mod_exp(const DSA_METHOD *dsam)) + BN_MONT_CTX *)); +int (*DSA_meth_get_bn_mod_exp(const DSA_METHOD *dsam)) (DSA *, BIGNUM *, const BIGNUM *, const BIGNUM *, const BIGNUM *, - BN_CTX *, BN_MONT_CTX *)) -DEPRECATEDIN_3_0(int DSA_meth_set_bn_mod_exp(DSA_METHOD *dsam, + BN_CTX *, BN_MONT_CTX *); +int DSA_meth_set_bn_mod_exp(DSA_METHOD *dsam, int (*bn_mod_exp) (DSA *, BIGNUM *, const BIGNUM *, const BIGNUM *, - const BIGNUM *, BN_CTX *, BN_MONT_CTX *))) -DEPRECATEDIN_3_0(int (*DSA_meth_get_init(const DSA_METHOD *dsam))(DSA *)) -DEPRECATEDIN_3_0(int DSA_meth_set_init(DSA_METHOD *dsam, int (*init)(DSA *))) -DEPRECATEDIN_3_0(int (*DSA_meth_get_finish(const DSA_METHOD *dsam)) (DSA *)) -DEPRECATEDIN_3_0(int DSA_meth_set_finish(DSA_METHOD *dsam, int (*finish) (DSA *))) -DEPRECATEDIN_3_0(int (*DSA_meth_get_paramgen(const DSA_METHOD *dsam)) + const BIGNUM *, BN_CTX *, BN_MONT_CTX *)); +int (*DSA_meth_get_init(const DSA_METHOD *dsam))(DSA *); +int DSA_meth_set_init(DSA_METHOD *dsam, int (*init)(DSA *)); +int (*DSA_meth_get_finish(const DSA_METHOD *dsam)) (DSA *); +int DSA_meth_set_finish(DSA_METHOD *dsam, int (*finish) (DSA *)); +int (*DSA_meth_get_paramgen(const DSA_METHOD *dsam)) (DSA *, int, const unsigned char *, int, int *, unsigned long *, - BN_GENCB *)) -DEPRECATEDIN_3_0(int DSA_meth_set_paramgen(DSA_METHOD *dsam, + BN_GENCB *); +int DSA_meth_set_paramgen(DSA_METHOD *dsam, int (*paramgen) (DSA *, int, const unsigned char *, int, int *, - unsigned long *, BN_GENCB *))) -DEPRECATEDIN_3_0(int (*DSA_meth_get_keygen(const DSA_METHOD *dsam)) (DSA *)) -DEPRECATEDIN_3_0(int DSA_meth_set_keygen(DSA_METHOD *dsam, int (*keygen) (DSA *))) + unsigned long *, BN_GENCB *)); +int (*DSA_meth_get_keygen(const DSA_METHOD *dsam)) (DSA *); +int DSA_meth_set_keygen(DSA_METHOD *dsam, int (*keygen) (DSA *)); + # ifdef __cplusplus } diff --git a/linux_amd64/include/openssl/dsaerr.h b/linux_amd64/include/openssl/dsaerr.h index 48dd7d0..495a1ac 100644 --- a/linux_amd64/include/openssl/dsaerr.h +++ b/linux_amd64/include/openssl/dsaerr.h @@ -2,25 +2,19 @@ * Generated by util/mkerr.pl DO NOT EDIT * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_DSAERR_H -# define OPENSSL_DSAERR_H -# pragma once +#ifndef HEADER_DSAERR_H +# define HEADER_DSAERR_H -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_DSAERR_H +# ifndef HEADER_SYMHACKS_H +# include # endif -# include -# include - - # include # ifndef OPENSSL_NO_DSA @@ -33,31 +27,29 @@ int ERR_load_DSA_strings(void); /* * DSA function codes. */ -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define DSA_F_DSAPARAMS_PRINT 0 -# define DSA_F_DSAPARAMS_PRINT_FP 0 -# define DSA_F_DSA_BUILTIN_PARAMGEN 0 -# define DSA_F_DSA_BUILTIN_PARAMGEN2 0 -# define DSA_F_DSA_DO_SIGN 0 -# define DSA_F_DSA_DO_VERIFY 0 -# define DSA_F_DSA_METH_DUP 0 -# define DSA_F_DSA_METH_NEW 0 -# define DSA_F_DSA_METH_SET1_NAME 0 -# define DSA_F_DSA_NEW_METHOD 0 -# define DSA_F_DSA_PARAM_DECODE 0 -# define DSA_F_DSA_PRINT_FP 0 -# define DSA_F_DSA_PRIV_DECODE 0 -# define DSA_F_DSA_PRIV_ENCODE 0 -# define DSA_F_DSA_PUB_DECODE 0 -# define DSA_F_DSA_PUB_ENCODE 0 -# define DSA_F_DSA_SIGN 0 -# define DSA_F_DSA_SIGN_SETUP 0 -# define DSA_F_DSA_SIG_NEW 0 -# define DSA_F_OLD_DSA_PRIV_DECODE 0 -# define DSA_F_PKEY_DSA_CTRL 0 -# define DSA_F_PKEY_DSA_CTRL_STR 0 -# define DSA_F_PKEY_DSA_KEYGEN 0 -# endif +# define DSA_F_DSAPARAMS_PRINT 100 +# define DSA_F_DSAPARAMS_PRINT_FP 101 +# define DSA_F_DSA_BUILTIN_PARAMGEN 125 +# define DSA_F_DSA_BUILTIN_PARAMGEN2 126 +# define DSA_F_DSA_DO_SIGN 112 +# define DSA_F_DSA_DO_VERIFY 113 +# define DSA_F_DSA_METH_DUP 127 +# define DSA_F_DSA_METH_NEW 128 +# define DSA_F_DSA_METH_SET1_NAME 129 +# define DSA_F_DSA_NEW_METHOD 103 +# define DSA_F_DSA_PARAM_DECODE 119 +# define DSA_F_DSA_PRINT_FP 105 +# define DSA_F_DSA_PRIV_DECODE 115 +# define DSA_F_DSA_PRIV_ENCODE 116 +# define DSA_F_DSA_PUB_DECODE 117 +# define DSA_F_DSA_PUB_ENCODE 118 +# define DSA_F_DSA_SIGN 106 +# define DSA_F_DSA_SIGN_SETUP 107 +# define DSA_F_DSA_SIG_NEW 102 +# define DSA_F_OLD_DSA_PRIV_DECODE 122 +# define DSA_F_PKEY_DSA_CTRL 120 +# define DSA_F_PKEY_DSA_CTRL_STR 104 +# define DSA_F_PKEY_DSA_KEYGEN 121 /* * DSA reason codes. diff --git a/linux_amd64/include/openssl/dtls1.h b/linux_amd64/include/openssl/dtls1.h index bfc2d6e..d55ca9c 100644 --- a/linux_amd64/include/openssl/dtls1.h +++ b/linux_amd64/include/openssl/dtls1.h @@ -1,33 +1,23 @@ /* * Copyright 2005-2018 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_DTLS1_H -# define OPENSSL_DTLS1_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_DTLS1_H -# endif +#ifndef HEADER_DTLS1_H +# define HEADER_DTLS1_H #ifdef __cplusplus extern "C" { #endif -#include - # define DTLS1_VERSION 0xFEFF # define DTLS1_2_VERSION 0xFEFD -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define DTLS_MIN_VERSION DTLS1_VERSION -# define DTLS_MAX_VERSION DTLS1_2_VERSION -# endif +# define DTLS_MIN_VERSION DTLS1_VERSION +# define DTLS_MAX_VERSION DTLS1_2_VERSION # define DTLS1_VERSION_MAJOR 0xFE # define DTLS1_BAD_VER 0x0100 diff --git a/linux_amd64/include/openssl/e_os2.h b/linux_amd64/include/openssl/e_os2.h index 982dd2b..97a776c 100644 --- a/linux_amd64/include/openssl/e_os2.h +++ b/linux_amd64/include/openssl/e_os2.h @@ -1,20 +1,14 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_E_OS2_H -# define OPENSSL_E_OS2_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_E_OS2_H -# endif +#ifndef HEADER_E_OS2_H +# define HEADER_E_OS2_H # include @@ -142,6 +136,15 @@ extern "C" { * That's it for OS-specific stuff *****************************************************************************/ +/* Specials for I/O an exit */ +# ifdef OPENSSL_SYS_MSDOS +# define OPENSSL_UNISTD_IO +# define OPENSSL_DECLARE_EXIT extern void exit(int); +# else +# define OPENSSL_UNISTD_IO OPENSSL_UNISTD +# define OPENSSL_DECLARE_EXIT /* declared in unistd.h */ +# endif + /*- * OPENSSL_EXTERN is normally used to declare a symbol with possible extra * attributes to handle its presence in a shared library. @@ -169,6 +172,29 @@ extern "C" { # define OPENSSL_EXTERN extern # endif +/*- + * Macros to allow global variables to be reached through function calls when + * required (if a shared library version requires it, for example. + * The way it's done allows definitions like this: + * + * // in foobar.c + * OPENSSL_IMPLEMENT_GLOBAL(int,foobar,0) + * // in foobar.h + * OPENSSL_DECLARE_GLOBAL(int,foobar); + * #define foobar OPENSSL_GLOBAL_REF(foobar) + */ +# ifdef OPENSSL_EXPORT_VAR_AS_FUNCTION +# define OPENSSL_IMPLEMENT_GLOBAL(type,name,value) \ + type *_shadow_##name(void) \ + { static type _hide_##name=value; return &_hide_##name; } +# define OPENSSL_DECLARE_GLOBAL(type,name) type *_shadow_##name(void) +# define OPENSSL_GLOBAL_REF(name) (*(_shadow_##name())) +# else +# define OPENSSL_IMPLEMENT_GLOBAL(type,name,value) type _shadow_##name=value; +# define OPENSSL_DECLARE_GLOBAL(type,name) OPENSSL_EXPORT type _shadow_##name +# define OPENSSL_GLOBAL_REF(name) _shadow_##name +# endif + # ifdef _WIN32 # ifdef _WIN64 # define ossl_ssize_t __int64 @@ -202,8 +228,6 @@ extern "C" { # endif /* Standard integer types */ -# define OPENSSL_NO_INTTYPES_H -# define OPENSSL_NO_STDINT_H # if defined(OPENSSL_SYS_UEFI) typedef INT8 int8_t; typedef UINT8 uint8_t; @@ -217,9 +241,6 @@ typedef UINT64 uint64_t; defined(__osf__) || defined(__sgi) || defined(__hpux) || \ defined(OPENSSL_SYS_VMS) || defined (__OpenBSD__) # include -# undef OPENSSL_NO_INTTYPES_H -/* Because the specs say that inttypes.h includes stdint.h if present */ -# undef OPENSSL_NO_STDINT_H # elif defined(_MSC_VER) && _MSC_VER<=1500 /* * minimally required typdefs for systems not supporting inttypes.h or @@ -235,7 +256,6 @@ typedef __int64 int64_t; typedef unsigned __int64 uint64_t; # else # include -# undef OPENSSL_NO_STDINT_H # endif /* ossl_inline: portable inline definition usable in public headers */ diff --git a/linux_amd64/include/openssl/ebcdic.h b/linux_amd64/include/openssl/ebcdic.h index e0ae1aa..aa01285 100644 --- a/linux_amd64/include/openssl/ebcdic.h +++ b/linux_amd64/include/openssl/ebcdic.h @@ -1,20 +1,14 @@ /* * Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_EBCDIC_H -# define OPENSSL_EBCDIC_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_EBCDIC_H -# endif +#ifndef HEADER_EBCDIC_H +# define HEADER_EBCDIC_H # include diff --git a/linux_amd64/include/openssl/ec.h b/linux_amd64/include/openssl/ec.h index c5d5fc0..5af9ebd 100644 --- a/linux_amd64/include/openssl/ec.h +++ b/linux_amd64/include/openssl/ec.h @@ -1,38 +1,32 @@ /* - * Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2002-2019 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_EC_H -# define OPENSSL_EC_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_EC_H -# endif +#ifndef HEADER_EC_H +# define HEADER_EC_H # include # ifndef OPENSSL_NO_EC -# include -# include -# ifndef OPENSSL_NO_DEPRECATED_1_1_0 -# include -# endif -# include -# ifdef __cplusplus +# include +# include +# if OPENSSL_API_COMPAT < 0x10100000L +# include +# endif +# include +# ifdef __cplusplus extern "C" { -# endif +# endif -# ifndef OPENSSL_ECC_MAX_FIELD_BITS -# define OPENSSL_ECC_MAX_FIELD_BITS 661 -# endif +# ifndef OPENSSL_ECC_MAX_FIELD_BITS +# define OPENSSL_ECC_MAX_FIELD_BITS 661 +# endif /** Enum for the point conversion form as defined in X9.62 (ECDSA) * for the encoding of a elliptic curve point (x,y) */ @@ -73,7 +67,7 @@ const EC_METHOD *EC_GFp_mont_method(void); */ const EC_METHOD *EC_GFp_nist_method(void); -# ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 +# ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 /** Returns 64-bit optimized methods for nistp224 * \return EC_METHOD object */ @@ -88,9 +82,9 @@ const EC_METHOD *EC_GFp_nistp256_method(void); * \return EC_METHOD object */ const EC_METHOD *EC_GFp_nistp521_method(void); -# endif +# endif -# ifndef OPENSSL_NO_EC2M +# ifndef OPENSSL_NO_EC2M /********************************************************************/ /* EC_METHOD for curves over GF(2^m) */ /********************************************************************/ @@ -100,25 +94,14 @@ const EC_METHOD *EC_GFp_nistp521_method(void); */ const EC_METHOD *EC_GF2m_simple_method(void); -# endif +# endif /********************************************************************/ /* EC_GROUP functions */ /********************************************************************/ -/** - * Creates a new EC_GROUP object - * \param libctx The associated library context or NULL for the default - * library context - * \param meth EC_METHOD to use - * \return newly created EC_GROUP object or NULL in case of an error. - */ -EC_GROUP *EC_GROUP_new_ex(OPENSSL_CTX *libctx, const EC_METHOD *meth); - -/** - * Creates a new EC_GROUP object. Same as EC_GROUP_new_ex with NULL for the - * library context. - * \param meth EC_METHOD to use +/** Creates a new EC_GROUP object + * \param meth EC_METHOD to use * \return newly created EC_GROUP object or NULL in case of an error. */ EC_GROUP *EC_GROUP_new(const EC_METHOD *meth); @@ -131,7 +114,7 @@ void EC_GROUP_free(EC_GROUP *group); /** Clears and frees a EC_GROUP object * \param group EC_GROUP object to be cleared and freed. */ -DEPRECATEDIN_3_0(void EC_GROUP_clear_free(EC_GROUP *group)) +void EC_GROUP_clear_free(EC_GROUP *group); /** Copies EC_GROUP objects. Note: both EC_GROUPs must use the same EC_METHOD. * \param dst destination EC_GROUP object @@ -140,7 +123,7 @@ DEPRECATEDIN_3_0(void EC_GROUP_clear_free(EC_GROUP *group)) */ int EC_GROUP_copy(EC_GROUP *dst, const EC_GROUP *src); -/** Creates a new EC_GROUP object and copies the content +/** Creates a new EC_GROUP object and copies the copies the content * form src to the newly created EC_KEY object * \param src source EC_GROUP object * \return newly created EC_GROUP object or NULL in case of an error. @@ -229,12 +212,6 @@ void EC_GROUP_set_curve_name(EC_GROUP *group, int nid); */ int EC_GROUP_get_curve_name(const EC_GROUP *group); -/** Gets the field of an EC_GROUP - * \param group EC_GROUP object - * \return the group field - */ -const BIGNUM *EC_GROUP_get0_field(const EC_GROUP *group); - void EC_GROUP_set_asn1_flag(EC_GROUP *group, int flag); int EC_GROUP_get_asn1_flag(const EC_GROUP *group); @@ -281,9 +258,9 @@ int EC_GROUP_get_curve(const EC_GROUP *group, BIGNUM *p, BIGNUM *a, BIGNUM *b, * \param ctx BN_CTX object (optional) * \return 1 on success and 0 if an error occurred */ -DEPRECATEDIN_3_0(int EC_GROUP_set_curve_GFp(EC_GROUP *group, const BIGNUM *p, - const BIGNUM *a, const BIGNUM *b, - BN_CTX *ctx)) +DEPRECATEDIN_1_2_0(int EC_GROUP_set_curve_GFp(EC_GROUP *group, const BIGNUM *p, + const BIGNUM *a, const BIGNUM *b, + BN_CTX *ctx)) /** Gets the parameters of an ec curve. Synonym for EC_GROUP_get_curve * \param group EC_GROUP object @@ -294,11 +271,11 @@ DEPRECATEDIN_3_0(int EC_GROUP_set_curve_GFp(EC_GROUP *group, const BIGNUM *p, * \param ctx BN_CTX object (optional) * \return 1 on success and 0 if an error occurred */ -DEPRECATEDIN_3_0(int EC_GROUP_get_curve_GFp(const EC_GROUP *group, BIGNUM *p, - BIGNUM *a, BIGNUM *b, - BN_CTX *ctx)) +DEPRECATEDIN_1_2_0(int EC_GROUP_get_curve_GFp(const EC_GROUP *group, BIGNUM *p, + BIGNUM *a, BIGNUM *b, + BN_CTX *ctx)) -# ifndef OPENSSL_NO_EC2M +# ifndef OPENSSL_NO_EC2M /** Sets the parameter of an ec curve. Synonym for EC_GROUP_set_curve * \param group EC_GROUP object * \param p BIGNUM with the prime number (GFp) or the polynomial @@ -308,9 +285,9 @@ DEPRECATEDIN_3_0(int EC_GROUP_get_curve_GFp(const EC_GROUP *group, BIGNUM *p, * \param ctx BN_CTX object (optional) * \return 1 on success and 0 if an error occurred */ -DEPRECATEDIN_3_0(int EC_GROUP_set_curve_GF2m(EC_GROUP *group, const BIGNUM *p, - const BIGNUM *a, const BIGNUM *b, - BN_CTX *ctx)) +DEPRECATEDIN_1_2_0(int EC_GROUP_set_curve_GF2m(EC_GROUP *group, const BIGNUM *p, + const BIGNUM *a, const BIGNUM *b, + BN_CTX *ctx)) /** Gets the parameters of an ec curve. Synonym for EC_GROUP_get_curve * \param group EC_GROUP object @@ -321,10 +298,10 @@ DEPRECATEDIN_3_0(int EC_GROUP_set_curve_GF2m(EC_GROUP *group, const BIGNUM *p, * \param ctx BN_CTX object (optional) * \return 1 on success and 0 if an error occurred */ -DEPRECATEDIN_3_0(int EC_GROUP_get_curve_GF2m(const EC_GROUP *group, BIGNUM *p, - BIGNUM *a, BIGNUM *b, - BN_CTX *ctx)) -# endif +DEPRECATEDIN_1_2_0(int EC_GROUP_get_curve_GF2m(const EC_GROUP *group, BIGNUM *p, + BIGNUM *a, BIGNUM *b, + BN_CTX *ctx)) +# endif /** Returns the number of bits needed to represent a field element * \param group EC_GROUP object * \return number of bits needed to represent a field element @@ -368,7 +345,7 @@ int EC_GROUP_cmp(const EC_GROUP *a, const EC_GROUP *b, BN_CTX *ctx); */ EC_GROUP *EC_GROUP_new_curve_GFp(const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); -# ifndef OPENSSL_NO_EC2M +# ifndef OPENSSL_NO_EC2M /** Creates a new EC_GROUP object with the specified parameters defined * over GF2m (defined by the equation y^2 + x*y = x^3 + a*x^2 + b) * \param p BIGNUM with the polynomial defining the underlying field @@ -379,22 +356,10 @@ EC_GROUP *EC_GROUP_new_curve_GFp(const BIGNUM *p, const BIGNUM *a, */ EC_GROUP *EC_GROUP_new_curve_GF2m(const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); -# endif +# endif -/** - * Creates a EC_GROUP object with a curve specified by a NID - * \param libctx The associated library context or NULL for the default - * context - * \param nid NID of the OID of the curve name - * \return newly created EC_GROUP object with specified curve or NULL - * if an error occurred - */ -EC_GROUP *EC_GROUP_new_by_curve_name_ex(OPENSSL_CTX *libctx, int nid); - -/** - * Creates a EC_GROUP object with a curve specified by a NID. Same as - * EC_GROUP_new_by_curve_name_ex but the libctx is always NULL. - * \param nid NID of the OID of the curve name +/** Creates a EC_GROUP object with a curve specified by a NID + * \param nid NID of the OID of the curve name * \return newly created EC_GROUP object with specified curve or NULL * if an error occurred */ @@ -451,8 +416,6 @@ size_t EC_get_builtin_curves(EC_builtin_curve *r, size_t nitems); const char *EC_curve_nid2nist(int nid); int EC_curve_nist2nid(const char *name); -int EC_GROUP_check_named_curve(const EC_GROUP *group, int nist_only, - BN_CTX *ctx); /********************************************************************/ /* EC_POINT functions */ @@ -562,11 +525,11 @@ int EC_POINT_get_affine_coordinates(const EC_GROUP *group, const EC_POINT *p, * \param ctx BN_CTX object (optional) * \return 1 on success and 0 if an error occurred */ -DEPRECATEDIN_3_0(int EC_POINT_set_affine_coordinates_GFp(const EC_GROUP *group, - EC_POINT *p, - const BIGNUM *x, - const BIGNUM *y, - BN_CTX *ctx)) +DEPRECATEDIN_1_2_0(int EC_POINT_set_affine_coordinates_GFp(const EC_GROUP *group, + EC_POINT *p, + const BIGNUM *x, + const BIGNUM *y, + BN_CTX *ctx)) /** Gets the affine coordinates of an EC_POINT. A synonym of * EC_POINT_get_affine_coordinates @@ -577,11 +540,11 @@ DEPRECATEDIN_3_0(int EC_POINT_set_affine_coordinates_GFp(const EC_GROUP *group, * \param ctx BN_CTX object (optional) * \return 1 on success and 0 if an error occurred */ -DEPRECATEDIN_3_0(int EC_POINT_get_affine_coordinates_GFp(const EC_GROUP *group, - const EC_POINT *p, - BIGNUM *x, - BIGNUM *y, - BN_CTX *ctx)) +DEPRECATEDIN_1_2_0(int EC_POINT_get_affine_coordinates_GFp(const EC_GROUP *group, + const EC_POINT *p, + BIGNUM *x, + BIGNUM *y, + BN_CTX *ctx)) /** Sets the x9.62 compressed coordinates of a EC_POINT * \param group underlying EC_GROUP object @@ -604,12 +567,12 @@ int EC_POINT_set_compressed_coordinates(const EC_GROUP *group, EC_POINT *p, * \param ctx BN_CTX object (optional) * \return 1 on success and 0 if an error occurred */ -DEPRECATEDIN_3_0(int EC_POINT_set_compressed_coordinates_GFp(const EC_GROUP *group, - EC_POINT *p, - const BIGNUM *x, - int y_bit, - BN_CTX *ctx)) -# ifndef OPENSSL_NO_EC2M +DEPRECATEDIN_1_2_0(int EC_POINT_set_compressed_coordinates_GFp(const EC_GROUP *group, + EC_POINT *p, + const BIGNUM *x, + int y_bit, + BN_CTX *ctx)) +# ifndef OPENSSL_NO_EC2M /** Sets the affine coordinates of an EC_POINT. A synonym of * EC_POINT_set_affine_coordinates * \param group underlying EC_GROUP object @@ -619,11 +582,11 @@ DEPRECATEDIN_3_0(int EC_POINT_set_compressed_coordinates_GFp(const EC_GROUP *gro * \param ctx BN_CTX object (optional) * \return 1 on success and 0 if an error occurred */ -DEPRECATEDIN_3_0(int EC_POINT_set_affine_coordinates_GF2m(const EC_GROUP *group, - EC_POINT *p, - const BIGNUM *x, - const BIGNUM *y, - BN_CTX *ctx)) +DEPRECATEDIN_1_2_0(int EC_POINT_set_affine_coordinates_GF2m(const EC_GROUP *group, + EC_POINT *p, + const BIGNUM *x, + const BIGNUM *y, + BN_CTX *ctx)) /** Gets the affine coordinates of an EC_POINT. A synonym of * EC_POINT_get_affine_coordinates @@ -634,11 +597,11 @@ DEPRECATEDIN_3_0(int EC_POINT_set_affine_coordinates_GF2m(const EC_GROUP *group, * \param ctx BN_CTX object (optional) * \return 1 on success and 0 if an error occurred */ -DEPRECATEDIN_3_0(int EC_POINT_get_affine_coordinates_GF2m(const EC_GROUP *group, - const EC_POINT *p, - BIGNUM *x, - BIGNUM *y, - BN_CTX *ctx)) +DEPRECATEDIN_1_2_0(int EC_POINT_get_affine_coordinates_GF2m(const EC_GROUP *group, + const EC_POINT *p, + BIGNUM *x, + BIGNUM *y, + BN_CTX *ctx)) /** Sets the x9.62 compressed coordinates of a EC_POINT. A synonym of * EC_POINT_set_compressed_coordinates @@ -649,12 +612,12 @@ DEPRECATEDIN_3_0(int EC_POINT_get_affine_coordinates_GF2m(const EC_GROUP *group, * \param ctx BN_CTX object (optional) * \return 1 on success and 0 if an error occurred */ -DEPRECATEDIN_3_0(int EC_POINT_set_compressed_coordinates_GF2m(const EC_GROUP *group, - EC_POINT *p, - const BIGNUM *x, - int y_bit, - BN_CTX *ctx)) -# endif +DEPRECATEDIN_1_2_0(int EC_POINT_set_compressed_coordinates_GF2m(const EC_GROUP *group, + EC_POINT *p, + const BIGNUM *x, + int y_bit, + BN_CTX *ctx)) +# endif /** Encodes a EC_POINT object to a octet string * \param group underlying EC_GROUP object * \param p EC_POINT object @@ -818,57 +781,44 @@ DECLARE_ASN1_ALLOC_FUNCTIONS(ECPARAMETERS) * represent the field elements */ int EC_GROUP_get_basis_type(const EC_GROUP *); -# ifndef OPENSSL_NO_EC2M +# ifndef OPENSSL_NO_EC2M int EC_GROUP_get_trinomial_basis(const EC_GROUP *, unsigned int *k); int EC_GROUP_get_pentanomial_basis(const EC_GROUP *, unsigned int *k1, unsigned int *k2, unsigned int *k3); -# endif +# endif -# define OPENSSL_EC_EXPLICIT_CURVE 0x000 -# define OPENSSL_EC_NAMED_CURVE 0x001 +# define OPENSSL_EC_EXPLICIT_CURVE 0x000 +# define OPENSSL_EC_NAMED_CURVE 0x001 EC_GROUP *d2i_ECPKParameters(EC_GROUP **, const unsigned char **in, long len); int i2d_ECPKParameters(const EC_GROUP *, unsigned char **out); -# define d2i_ECPKParameters_bio(bp,x) \ - ASN1_d2i_bio_of(EC_GROUP, NULL, d2i_ECPKParameters, bp, x) -# define i2d_ECPKParameters_bio(bp,x) \ - ASN1_i2d_bio_of(EC_GROUP, i2d_ECPKParameters, bp, x) -# define d2i_ECPKParameters_fp(fp,x) \ - (EC_GROUP *)ASN1_d2i_fp(NULL, (char *(*)())d2i_ECPKParameters, (fp), \ - (unsigned char **)(x)) -# define i2d_ECPKParameters_fp(fp,x) \ - ASN1_i2d_fp(i2d_ECPKParameters,(fp), (unsigned char *)(x)) +# define d2i_ECPKParameters_bio(bp,x) ASN1_d2i_bio_of(EC_GROUP,NULL,d2i_ECPKParameters,bp,x) +# define i2d_ECPKParameters_bio(bp,x) ASN1_i2d_bio_of_const(EC_GROUP,i2d_ECPKParameters,bp,x) +# define d2i_ECPKParameters_fp(fp,x) (EC_GROUP *)ASN1_d2i_fp(NULL, \ + (char *(*)())d2i_ECPKParameters,(fp),(unsigned char **)(x)) +# define i2d_ECPKParameters_fp(fp,x) ASN1_i2d_fp(i2d_ECPKParameters,(fp), \ + (unsigned char *)(x)) int ECPKParameters_print(BIO *bp, const EC_GROUP *x, int off); -# ifndef OPENSSL_NO_STDIO +# ifndef OPENSSL_NO_STDIO int ECPKParameters_print_fp(FILE *fp, const EC_GROUP *x, int off); -# endif +# endif /********************************************************************/ /* EC_KEY functions */ /********************************************************************/ /* some values for the encoding_flag */ -# define EC_PKEY_NO_PARAMETERS 0x001 -# define EC_PKEY_NO_PUBKEY 0x002 +# define EC_PKEY_NO_PARAMETERS 0x001 +# define EC_PKEY_NO_PUBKEY 0x002 /* some values for the flags field */ -# define EC_FLAG_NON_FIPS_ALLOW 0x1 -# define EC_FLAG_FIPS_CHECKED 0x2 -# define EC_FLAG_COFACTOR_ECDH 0x1000 +# define EC_FLAG_NON_FIPS_ALLOW 0x1 +# define EC_FLAG_FIPS_CHECKED 0x2 +# define EC_FLAG_COFACTOR_ECDH 0x1000 -/** - * Creates a new EC_KEY object. - * \param ctx The library context for to use for this EC_KEY. May be NULL in - * which case the default library context is used. - * \return EC_KEY object or NULL if an error occurred. - */ -EC_KEY *EC_KEY_new_ex(OPENSSL_CTX *ctx); - -/** - * Creates a new EC_KEY object. Same as calling EC_KEY_new_ex with a NULL - * library context +/** Creates a new EC_KEY object. * \return EC_KEY object or NULL if an error occurred. */ EC_KEY *EC_KEY_new(void); @@ -879,26 +829,13 @@ void EC_KEY_set_flags(EC_KEY *key, int flags); void EC_KEY_clear_flags(EC_KEY *key, int flags); -/** - * Creates a new EC_KEY object using a named curve as underlying +/** Creates a new EC_KEY object using a named curve as underlying * EC_GROUP object. - * \param ctx The library context for to use for this EC_KEY. May be NULL in - * which case the default library context is used. - * \param nid NID of the named curve. - * \return EC_KEY object or NULL if an error occurred. - */ -EC_KEY *EC_KEY_new_by_curve_name_ex(OPENSSL_CTX *ctx, int nid); - -/** - * Creates a new EC_KEY object using a named curve as underlying - * EC_GROUP object. Same as calling EC_KEY_new_by_curve_name_ex with a NULL - * library context. * \param nid NID of the named curve. * \return EC_KEY object or NULL if an error occurred. */ EC_KEY *EC_KEY_new_by_curve_name(int nid); - /** Frees a EC_KEY object. * \param key EC_KEY object to be freed. */ @@ -976,7 +913,7 @@ void EC_KEY_set_enc_flags(EC_KEY *eckey, unsigned int flags); point_conversion_form_t EC_KEY_get_conv_form(const EC_KEY *key); void EC_KEY_set_conv_form(EC_KEY *eckey, point_conversion_form_t cform); -# define EC_KEY_get_ex_new_index(l, p, newf, dupf, freef) \ +#define EC_KEY_get_ex_new_index(l, p, newf, dupf, freef) \ CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_EC_KEY, l, p, newf, dupf, freef) int EC_KEY_set_ex_data(EC_KEY *key, int idx, void *arg); void *EC_KEY_get_ex_data(const EC_KEY *key, int idx); @@ -1085,7 +1022,7 @@ EC_KEY *d2i_ECPrivateKey(EC_KEY **key, const unsigned char **in, long len); * of bytes needed). * \return 1 on success and 0 if an error occurred. */ -int i2d_ECPrivateKey(const EC_KEY *key, unsigned char **out); +int i2d_ECPrivateKey(EC_KEY *key, unsigned char **out); /********************************************************************/ /* de- and encoding functions for EC parameters */ @@ -1106,7 +1043,7 @@ EC_KEY *d2i_ECParameters(EC_KEY **key, const unsigned char **in, long len); * of bytes needed). * \return 1 on success and 0 if an error occurred. */ -int i2d_ECParameters(const EC_KEY *key, unsigned char **out); +int i2d_ECParameters(EC_KEY *key, unsigned char **out); /********************************************************************/ /* de- and encoding functions for EC public key */ @@ -1145,7 +1082,7 @@ int ECParameters_print(BIO *bp, const EC_KEY *key); */ int EC_KEY_print(BIO *bp, const EC_KEY *key, int off); -# ifndef OPENSSL_NO_STDIO +# ifndef OPENSSL_NO_STDIO /** Prints out the ec parameters on human readable form. * \param fp file descriptor to which the information is printed * \param key EC_KEY object @@ -1161,7 +1098,7 @@ int ECParameters_print_fp(FILE *fp, const EC_KEY *key); */ int EC_KEY_print_fp(FILE *fp, const EC_KEY *key, int off); -# endif +# endif const EC_KEY_METHOD *EC_KEY_OpenSSL(void); const EC_KEY_METHOD *EC_KEY_get_default_method(void); @@ -1175,16 +1112,15 @@ EC_KEY *EC_KEY_new_method(ENGINE *engine); * it is actually specified in ANSI X9.63. * This identifier is retained for backwards compatibility */ -DEPRECATEDIN_3_0(int ECDH_KDF_X9_62(unsigned char *out, size_t outlen, - const unsigned char *Z, size_t Zlen, - const unsigned char *sinfo, size_t sinfolen, - const EVP_MD *md)) +int ECDH_KDF_X9_62(unsigned char *out, size_t outlen, + const unsigned char *Z, size_t Zlen, + const unsigned char *sinfo, size_t sinfolen, + const EVP_MD *md); -DEPRECATEDIN_3_0(int ECDH_compute_key(void *out, size_t outlen, - const EC_POINT *pub_key, - const EC_KEY *ecdh, - void *(*KDF)(const void *in, size_t inlen, - void *out, size_t *outlen))) +int ECDH_compute_key(void *out, size_t outlen, const EC_POINT *pub_key, + const EC_KEY *ecdh, + void *(*KDF) (const void *in, size_t inlen, + void *out, size_t *outlen)); typedef struct ECDSA_SIG_st ECDSA_SIG; @@ -1198,22 +1134,23 @@ ECDSA_SIG *ECDSA_SIG_new(void); */ void ECDSA_SIG_free(ECDSA_SIG *sig); -/** i2d_ECDSA_SIG encodes content of ECDSA_SIG (note: this function modifies *pp +/** DER encode content of ECDSA_SIG object (note: this function modifies *pp * (*pp += length of the DER encoded signature)). * \param sig pointer to the ECDSA_SIG object * \param pp pointer to a unsigned char pointer for the output or NULL * \return the length of the DER encoded ECDSA_SIG object or a negative value * on error */ -DECLARE_ASN1_ENCODE_FUNCTIONS_only(ECDSA_SIG, ECDSA_SIG) +int i2d_ECDSA_SIG(const ECDSA_SIG *sig, unsigned char **pp); -/** d2i_ECDSA_SIG decodes an ECDSA signature (note: this function modifies *pp +/** Decodes a DER encoded ECDSA signature (note: this function changes *pp * (*pp += len)). * \param sig pointer to ECDSA_SIG pointer (may be NULL) * \param pp memory buffer with the DER encoded signature * \param len length of the buffer * \return pointer to the decoded ECDSA_SIG structure (or NULL) */ +ECDSA_SIG *d2i_ECDSA_SIG(ECDSA_SIG **sig, const unsigned char **pp, long len); /** Accessor for r and s fields of ECDSA_SIG * \param sig pointer to ECDSA_SIG structure @@ -1246,8 +1183,8 @@ int ECDSA_SIG_set0(ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s); * \param eckey EC_KEY object containing a private EC key * \return pointer to a ECDSA_SIG structure or NULL if an error occurred */ -DEPRECATEDIN_3_0(ECDSA_SIG *ECDSA_do_sign(const unsigned char *dgst, - int dgst_len, EC_KEY *eckey)) +ECDSA_SIG *ECDSA_do_sign(const unsigned char *dgst, int dgst_len, + EC_KEY *eckey); /** Computes ECDSA signature of a given hash value using the supplied * private key (note: sig must point to ECDSA_size(eckey) bytes of memory). @@ -1259,9 +1196,9 @@ DEPRECATEDIN_3_0(ECDSA_SIG *ECDSA_do_sign(const unsigned char *dgst, * \param eckey EC_KEY object containing a private EC key * \return pointer to a ECDSA_SIG structure or NULL if an error occurred */ -DEPRECATEDIN_3_0(ECDSA_SIG *ECDSA_do_sign_ex(const unsigned char *dgst, - int dgstlen, const BIGNUM *kinv, - const BIGNUM *rp, EC_KEY *eckey)) +ECDSA_SIG *ECDSA_do_sign_ex(const unsigned char *dgst, int dgstlen, + const BIGNUM *kinv, const BIGNUM *rp, + EC_KEY *eckey); /** Verifies that the supplied signature is a valid ECDSA * signature of the supplied hash value using the supplied public key. @@ -1272,8 +1209,8 @@ DEPRECATEDIN_3_0(ECDSA_SIG *ECDSA_do_sign_ex(const unsigned char *dgst, * \return 1 if the signature is valid, 0 if the signature is invalid * and -1 on error */ -DEPRECATEDIN_3_0(int ECDSA_do_verify(const unsigned char *dgst, int dgst_len, - const ECDSA_SIG *sig, EC_KEY *eckey)) +int ECDSA_do_verify(const unsigned char *dgst, int dgst_len, + const ECDSA_SIG *sig, EC_KEY *eckey); /** Precompute parts of the signing operation * \param eckey EC_KEY object containing a private EC key @@ -1282,8 +1219,7 @@ DEPRECATEDIN_3_0(int ECDSA_do_verify(const unsigned char *dgst, int dgst_len, * \param rp BIGNUM pointer for x coordinate of k * generator * \return 1 on success and 0 otherwise */ -DEPRECATEDIN_3_0(int ECDSA_sign_setup(EC_KEY *eckey, BN_CTX *ctx, - BIGNUM **kinv, BIGNUM **rp)) +int ECDSA_sign_setup(EC_KEY *eckey, BN_CTX *ctx, BIGNUM **kinv, BIGNUM **rp); /** Computes ECDSA signature of a given hash value using the supplied * private key (note: sig must point to ECDSA_size(eckey) bytes of memory). @@ -1295,9 +1231,8 @@ DEPRECATEDIN_3_0(int ECDSA_sign_setup(EC_KEY *eckey, BN_CTX *ctx, * \param eckey EC_KEY object containing a private EC key * \return 1 on success and 0 otherwise */ -DEPRECATEDIN_3_0(int ECDSA_sign(int type, const unsigned char *dgst, - int dgstlen, unsigned char *sig, - unsigned int *siglen, EC_KEY *eckey)) +int ECDSA_sign(int type, const unsigned char *dgst, int dgstlen, + unsigned char *sig, unsigned int *siglen, EC_KEY *eckey); /** Computes ECDSA signature of a given hash value using the supplied * private key (note: sig must point to ECDSA_size(eckey) bytes of memory). @@ -1312,10 +1247,9 @@ DEPRECATEDIN_3_0(int ECDSA_sign(int type, const unsigned char *dgst, * \param eckey EC_KEY object containing a private EC key * \return 1 on success and 0 otherwise */ -DEPRECATEDIN_3_0(int ECDSA_sign_ex(int type, const unsigned char *dgst, - int dgstlen, unsigned char *sig, - unsigned int *siglen, const BIGNUM *kinv, - const BIGNUM *rp, EC_KEY *eckey)) +int ECDSA_sign_ex(int type, const unsigned char *dgst, int dgstlen, + unsigned char *sig, unsigned int *siglen, + const BIGNUM *kinv, const BIGNUM *rp, EC_KEY *eckey); /** Verifies that the given signature is valid ECDSA signature * of the supplied hash value using the specified public key. @@ -1328,189 +1262,215 @@ DEPRECATEDIN_3_0(int ECDSA_sign_ex(int type, const unsigned char *dgst, * \return 1 if the signature is valid, 0 if the signature is invalid * and -1 on error */ -DEPRECATEDIN_3_0(int ECDSA_verify(int type, const unsigned char *dgst, - int dgstlen, const unsigned char *sig, - int siglen, EC_KEY *eckey)) +int ECDSA_verify(int type, const unsigned char *dgst, int dgstlen, + const unsigned char *sig, int siglen, EC_KEY *eckey); /** Returns the maximum length of the DER encoded signature * \param eckey EC_KEY object * \return numbers of bytes required for the DER encoded signature */ -DEPRECATEDIN_3_0(int ECDSA_size(const EC_KEY *eckey)) +int ECDSA_size(const EC_KEY *eckey); /********************************************************************/ /* EC_KEY_METHOD constructors, destructors, writers and accessors */ /********************************************************************/ -DEPRECATEDIN_3_0(EC_KEY_METHOD *EC_KEY_METHOD_new(const EC_KEY_METHOD *meth)) -DEPRECATEDIN_3_0(void EC_KEY_METHOD_free(EC_KEY_METHOD *meth)) -DEPRECATEDIN_3_0(void EC_KEY_METHOD_set_init - (EC_KEY_METHOD *meth, - int (*init)(EC_KEY *key), - void (*finish)(EC_KEY *key), - int (*copy)(EC_KEY *dest, const EC_KEY *src), - int (*set_group)(EC_KEY *key, const EC_GROUP *grp), - int (*set_private)(EC_KEY *key, - const BIGNUM *priv_key), - int (*set_public)(EC_KEY *key, - const EC_POINT *pub_key))) +EC_KEY_METHOD *EC_KEY_METHOD_new(const EC_KEY_METHOD *meth); +void EC_KEY_METHOD_free(EC_KEY_METHOD *meth); +void EC_KEY_METHOD_set_init(EC_KEY_METHOD *meth, + int (*init)(EC_KEY *key), + void (*finish)(EC_KEY *key), + int (*copy)(EC_KEY *dest, const EC_KEY *src), + int (*set_group)(EC_KEY *key, const EC_GROUP *grp), + int (*set_private)(EC_KEY *key, + const BIGNUM *priv_key), + int (*set_public)(EC_KEY *key, + const EC_POINT *pub_key)); -DEPRECATEDIN_3_0(void EC_KEY_METHOD_set_keygen(EC_KEY_METHOD *meth, - int (*keygen)(EC_KEY *key))) +void EC_KEY_METHOD_set_keygen(EC_KEY_METHOD *meth, + int (*keygen)(EC_KEY *key)); -DEPRECATEDIN_3_0(void EC_KEY_METHOD_set_compute_key - (EC_KEY_METHOD *meth, - int (*ckey)(unsigned char **psec, - size_t *pseclen, - const EC_POINT *pub_key, - const EC_KEY *ecdh))) +void EC_KEY_METHOD_set_compute_key(EC_KEY_METHOD *meth, + int (*ckey)(unsigned char **psec, + size_t *pseclen, + const EC_POINT *pub_key, + const EC_KEY *ecdh)); -DEPRECATEDIN_3_0(void EC_KEY_METHOD_set_sign - (EC_KEY_METHOD *meth, - int (*sign)(int type, const unsigned char *dgst, - int dlen, unsigned char *sig, - unsigned int *siglen, - const BIGNUM *kinv, const BIGNUM *r, - EC_KEY *eckey), - int (*sign_setup)(EC_KEY *eckey, BN_CTX *ctx_in, - BIGNUM **kinvp, BIGNUM **rp), - ECDSA_SIG *(*sign_sig)(const unsigned char *dgst, - int dgst_len, - const BIGNUM *in_kinv, - const BIGNUM *in_r, - EC_KEY *eckey))) +void EC_KEY_METHOD_set_sign(EC_KEY_METHOD *meth, + int (*sign)(int type, const unsigned char *dgst, + int dlen, unsigned char *sig, + unsigned int *siglen, + const BIGNUM *kinv, const BIGNUM *r, + EC_KEY *eckey), + int (*sign_setup)(EC_KEY *eckey, BN_CTX *ctx_in, + BIGNUM **kinvp, BIGNUM **rp), + ECDSA_SIG *(*sign_sig)(const unsigned char *dgst, + int dgst_len, + const BIGNUM *in_kinv, + const BIGNUM *in_r, + EC_KEY *eckey)); -DEPRECATEDIN_3_0(void EC_KEY_METHOD_set_verify - (EC_KEY_METHOD *meth, - int (*verify)(int type, const unsigned - char *dgst, int dgst_len, - const unsigned char *sigbuf, - int sig_len, EC_KEY *eckey), - int (*verify_sig)(const unsigned char *dgst, - int dgst_len, - const ECDSA_SIG *sig, - EC_KEY *eckey))) +void EC_KEY_METHOD_set_verify(EC_KEY_METHOD *meth, + int (*verify)(int type, const unsigned + char *dgst, int dgst_len, + const unsigned char *sigbuf, + int sig_len, EC_KEY *eckey), + int (*verify_sig)(const unsigned char *dgst, + int dgst_len, + const ECDSA_SIG *sig, + EC_KEY *eckey)); -DEPRECATEDIN_3_0(void EC_KEY_METHOD_get_init - (const EC_KEY_METHOD *meth, - int (**pinit)(EC_KEY *key), - void (**pfinish)(EC_KEY *key), - int (**pcopy)(EC_KEY *dest, const EC_KEY *src), - int (**pset_group)(EC_KEY *key, - const EC_GROUP *grp), - int (**pset_private)(EC_KEY *key, - const BIGNUM *priv_key), - int (**pset_public)(EC_KEY *key, - const EC_POINT *pub_key))) +void EC_KEY_METHOD_get_init(const EC_KEY_METHOD *meth, + int (**pinit)(EC_KEY *key), + void (**pfinish)(EC_KEY *key), + int (**pcopy)(EC_KEY *dest, const EC_KEY *src), + int (**pset_group)(EC_KEY *key, + const EC_GROUP *grp), + int (**pset_private)(EC_KEY *key, + const BIGNUM *priv_key), + int (**pset_public)(EC_KEY *key, + const EC_POINT *pub_key)); -DEPRECATEDIN_3_0(void EC_KEY_METHOD_get_keygen(const EC_KEY_METHOD *meth, - int (**pkeygen)(EC_KEY *key))) +void EC_KEY_METHOD_get_keygen(const EC_KEY_METHOD *meth, + int (**pkeygen)(EC_KEY *key)); -DEPRECATEDIN_3_0(void EC_KEY_METHOD_get_compute_key - (const EC_KEY_METHOD *meth, - int (**pck)(unsigned char **psec, - size_t *pseclen, - const EC_POINT *pub_key, - const EC_KEY *ecdh))) +void EC_KEY_METHOD_get_compute_key(const EC_KEY_METHOD *meth, + int (**pck)(unsigned char **psec, + size_t *pseclen, + const EC_POINT *pub_key, + const EC_KEY *ecdh)); -DEPRECATEDIN_3_0(void EC_KEY_METHOD_get_sign - (const EC_KEY_METHOD *meth, - int (**psign)(int type, const unsigned char *dgst, - int dlen, unsigned char *sig, - unsigned int *siglen, - const BIGNUM *kinv, const BIGNUM *r, - EC_KEY *eckey), - int (**psign_setup)(EC_KEY *eckey, BN_CTX *ctx_in, - BIGNUM **kinvp, BIGNUM **rp), - ECDSA_SIG *(**psign_sig)(const unsigned char *dgst, - int dgst_len, - const BIGNUM *in_kinv, - const BIGNUM *in_r, - EC_KEY *eckey))) +void EC_KEY_METHOD_get_sign(const EC_KEY_METHOD *meth, + int (**psign)(int type, const unsigned char *dgst, + int dlen, unsigned char *sig, + unsigned int *siglen, + const BIGNUM *kinv, const BIGNUM *r, + EC_KEY *eckey), + int (**psign_setup)(EC_KEY *eckey, BN_CTX *ctx_in, + BIGNUM **kinvp, BIGNUM **rp), + ECDSA_SIG *(**psign_sig)(const unsigned char *dgst, + int dgst_len, + const BIGNUM *in_kinv, + const BIGNUM *in_r, + EC_KEY *eckey)); -DEPRECATEDIN_3_0(void EC_KEY_METHOD_get_verify - (const EC_KEY_METHOD *meth, - int (**pverify)(int type, const unsigned - char *dgst, int dgst_len, - const unsigned char *sigbuf, - int sig_len, EC_KEY *eckey), - int (**pverify_sig)(const unsigned char *dgst, - int dgst_len, - const ECDSA_SIG *sig, - EC_KEY *eckey))) +void EC_KEY_METHOD_get_verify(const EC_KEY_METHOD *meth, + int (**pverify)(int type, const unsigned + char *dgst, int dgst_len, + const unsigned char *sigbuf, + int sig_len, EC_KEY *eckey), + int (**pverify_sig)(const unsigned char *dgst, + int dgst_len, + const ECDSA_SIG *sig, + EC_KEY *eckey)); -# define ECParameters_dup(x) ASN1_dup_of(EC_KEY, i2d_ECParameters, \ - d2i_ECParameters, x) +# define ECParameters_dup(x) ASN1_dup_of(EC_KEY,i2d_ECParameters,d2i_ECParameters,x) -# ifndef __cplusplus -# if defined(__SUNPRO_C) -# if __SUNPRO_C >= 0x520 -# pragma error_messages (default,E_ARRAY_OF_INCOMPLETE_NONAME,E_ARRAY_OF_INCOMPLETE) -# endif +# ifndef __cplusplus +# if defined(__SUNPRO_C) +# if __SUNPRO_C >= 0x520 +# pragma error_messages (default,E_ARRAY_OF_INCOMPLETE_NONAME,E_ARRAY_OF_INCOMPLETE) # endif # endif +# endif -# define EVP_PKEY_CTX_set_ec_paramgen_curve_nid(ctx, nid) \ +# define EVP_PKEY_CTX_set_ec_paramgen_curve_nid(ctx, nid) \ EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ - EVP_PKEY_OP_PARAMGEN|EVP_PKEY_OP_KEYGEN, \ - EVP_PKEY_CTRL_EC_PARAMGEN_CURVE_NID, nid, NULL) + EVP_PKEY_OP_PARAMGEN|EVP_PKEY_OP_KEYGEN, \ + EVP_PKEY_CTRL_EC_PARAMGEN_CURVE_NID, nid, NULL) -# define EVP_PKEY_CTX_set_ec_param_enc(ctx, flag) \ +# define EVP_PKEY_CTX_set_ec_param_enc(ctx, flag) \ EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ - EVP_PKEY_OP_PARAMGEN|EVP_PKEY_OP_KEYGEN, \ - EVP_PKEY_CTRL_EC_PARAM_ENC, flag, NULL) + EVP_PKEY_OP_PARAMGEN|EVP_PKEY_OP_KEYGEN, \ + EVP_PKEY_CTRL_EC_PARAM_ENC, flag, NULL) -int EVP_PKEY_CTX_set_ecdh_cofactor_mode(EVP_PKEY_CTX *ctx, int cofactor_mode); -int EVP_PKEY_CTX_get_ecdh_cofactor_mode(EVP_PKEY_CTX *ctx); +# define EVP_PKEY_CTX_set_ecdh_cofactor_mode(ctx, flag) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_EC_ECDH_COFACTOR, flag, NULL) -int EVP_PKEY_CTX_set_ecdh_kdf_type(EVP_PKEY_CTX *ctx, int kdf); -int EVP_PKEY_CTX_get_ecdh_kdf_type(EVP_PKEY_CTX *ctx); +# define EVP_PKEY_CTX_get_ecdh_cofactor_mode(ctx) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_EC_ECDH_COFACTOR, -2, NULL) -int EVP_PKEY_CTX_set_ecdh_kdf_md(EVP_PKEY_CTX *ctx, const EVP_MD *md); -int EVP_PKEY_CTX_get_ecdh_kdf_md(EVP_PKEY_CTX *ctx, const EVP_MD **md); +# define EVP_PKEY_CTX_set_ecdh_kdf_type(ctx, kdf) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_EC_KDF_TYPE, kdf, NULL) -int EVP_PKEY_CTX_set_ecdh_kdf_outlen(EVP_PKEY_CTX *ctx, int len); -int EVP_PKEY_CTX_get_ecdh_kdf_outlen(EVP_PKEY_CTX *ctx, int *len); +# define EVP_PKEY_CTX_get_ecdh_kdf_type(ctx) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_EC_KDF_TYPE, -2, NULL) -int EVP_PKEY_CTX_set0_ecdh_kdf_ukm(EVP_PKEY_CTX *ctx, unsigned char *ukm, - int len); -int EVP_PKEY_CTX_get0_ecdh_kdf_ukm(EVP_PKEY_CTX *ctx, unsigned char **ukm); +# define EVP_PKEY_CTX_set_ecdh_kdf_md(ctx, md) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_EC_KDF_MD, 0, (void *)(md)) + +# define EVP_PKEY_CTX_get_ecdh_kdf_md(ctx, pmd) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_GET_EC_KDF_MD, 0, (void *)(pmd)) + +# define EVP_PKEY_CTX_set_ecdh_kdf_outlen(ctx, len) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_EC_KDF_OUTLEN, len, NULL) + +# define EVP_PKEY_CTX_get_ecdh_kdf_outlen(ctx, plen) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_GET_EC_KDF_OUTLEN, 0, \ + (void *)(plen)) + +# define EVP_PKEY_CTX_set0_ecdh_kdf_ukm(ctx, p, plen) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_EC_KDF_UKM, plen, (void *)(p)) + +# define EVP_PKEY_CTX_get0_ecdh_kdf_ukm(ctx, p) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, \ + EVP_PKEY_OP_DERIVE, \ + EVP_PKEY_CTRL_GET_EC_KDF_UKM, 0, (void *)(p)) /* SM2 will skip the operation check so no need to pass operation here */ -# define EVP_PKEY_CTX_set1_id(ctx, id, id_len) \ +# define EVP_PKEY_CTX_set1_id(ctx, id, id_len) \ EVP_PKEY_CTX_ctrl(ctx, -1, -1, \ - EVP_PKEY_CTRL_SET1_ID, (int)id_len, (void*)(id)) -# define EVP_PKEY_CTX_get1_id(ctx, id) \ + EVP_PKEY_CTRL_SET1_ID, (int)id_len, (void*)(id)) + +# define EVP_PKEY_CTX_get1_id(ctx, id) \ EVP_PKEY_CTX_ctrl(ctx, -1, -1, \ - EVP_PKEY_CTRL_GET1_ID, 0, (void*)(id)) + EVP_PKEY_CTRL_GET1_ID, 0, (void*)(id)) -# define EVP_PKEY_CTX_get1_id_len(ctx, id_len) \ +# define EVP_PKEY_CTX_get1_id_len(ctx, id_len) \ EVP_PKEY_CTX_ctrl(ctx, -1, -1, \ - EVP_PKEY_CTRL_GET1_ID_LEN, 0, (void*)(id_len)) - -# define EVP_PKEY_CTRL_EC_PARAMGEN_CURVE_NID (EVP_PKEY_ALG_CTRL + 1) -# define EVP_PKEY_CTRL_EC_PARAM_ENC (EVP_PKEY_ALG_CTRL + 2) -# define EVP_PKEY_CTRL_EC_ECDH_COFACTOR (EVP_PKEY_ALG_CTRL + 3) -# define EVP_PKEY_CTRL_EC_KDF_TYPE (EVP_PKEY_ALG_CTRL + 4) -# define EVP_PKEY_CTRL_EC_KDF_MD (EVP_PKEY_ALG_CTRL + 5) -# define EVP_PKEY_CTRL_GET_EC_KDF_MD (EVP_PKEY_ALG_CTRL + 6) -# define EVP_PKEY_CTRL_EC_KDF_OUTLEN (EVP_PKEY_ALG_CTRL + 7) -# define EVP_PKEY_CTRL_GET_EC_KDF_OUTLEN (EVP_PKEY_ALG_CTRL + 8) -# define EVP_PKEY_CTRL_EC_KDF_UKM (EVP_PKEY_ALG_CTRL + 9) -# define EVP_PKEY_CTRL_GET_EC_KDF_UKM (EVP_PKEY_ALG_CTRL + 10) -# define EVP_PKEY_CTRL_SET1_ID (EVP_PKEY_ALG_CTRL + 11) -# define EVP_PKEY_CTRL_GET1_ID (EVP_PKEY_ALG_CTRL + 12) -# define EVP_PKEY_CTRL_GET1_ID_LEN (EVP_PKEY_ALG_CTRL + 13) + EVP_PKEY_CTRL_GET1_ID_LEN, 0, (void*)(id_len)) +# define EVP_PKEY_CTRL_EC_PARAMGEN_CURVE_NID (EVP_PKEY_ALG_CTRL + 1) +# define EVP_PKEY_CTRL_EC_PARAM_ENC (EVP_PKEY_ALG_CTRL + 2) +# define EVP_PKEY_CTRL_EC_ECDH_COFACTOR (EVP_PKEY_ALG_CTRL + 3) +# define EVP_PKEY_CTRL_EC_KDF_TYPE (EVP_PKEY_ALG_CTRL + 4) +# define EVP_PKEY_CTRL_EC_KDF_MD (EVP_PKEY_ALG_CTRL + 5) +# define EVP_PKEY_CTRL_GET_EC_KDF_MD (EVP_PKEY_ALG_CTRL + 6) +# define EVP_PKEY_CTRL_EC_KDF_OUTLEN (EVP_PKEY_ALG_CTRL + 7) +# define EVP_PKEY_CTRL_GET_EC_KDF_OUTLEN (EVP_PKEY_ALG_CTRL + 8) +# define EVP_PKEY_CTRL_EC_KDF_UKM (EVP_PKEY_ALG_CTRL + 9) +# define EVP_PKEY_CTRL_GET_EC_KDF_UKM (EVP_PKEY_ALG_CTRL + 10) +# define EVP_PKEY_CTRL_SET1_ID (EVP_PKEY_ALG_CTRL + 11) +# define EVP_PKEY_CTRL_GET1_ID (EVP_PKEY_ALG_CTRL + 12) +# define EVP_PKEY_CTRL_GET1_ID_LEN (EVP_PKEY_ALG_CTRL + 13) /* KDF types */ -# define EVP_PKEY_ECDH_KDF_NONE 1 -# define EVP_PKEY_ECDH_KDF_X9_63 2 +# define EVP_PKEY_ECDH_KDF_NONE 1 +# define EVP_PKEY_ECDH_KDF_X9_63 2 /** The old name for EVP_PKEY_ECDH_KDF_X9_63 * The ECDH KDF specification has been mistakingly attributed to ANSI X9.62, * it is actually specified in ANSI X9.63. * This identifier is retained for backwards compatibility */ -# define EVP_PKEY_ECDH_KDF_X9_62 EVP_PKEY_ECDH_KDF_X9_63 +# define EVP_PKEY_ECDH_KDF_X9_62 EVP_PKEY_ECDH_KDF_X9_63 + # ifdef __cplusplus } diff --git a/linux_amd64/include/openssl/ecdh.h b/linux_amd64/include/openssl/ecdh.h index 56bd4cc..681f3d5 100644 --- a/linux_amd64/include/openssl/ecdh.h +++ b/linux_amd64/include/openssl/ecdh.h @@ -1,7 +1,7 @@ /* * Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html diff --git a/linux_amd64/include/openssl/ecdsa.h b/linux_amd64/include/openssl/ecdsa.h index 56bd4cc..681f3d5 100644 --- a/linux_amd64/include/openssl/ecdsa.h +++ b/linux_amd64/include/openssl/ecdsa.h @@ -1,7 +1,7 @@ /* * Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html diff --git a/linux_amd64/include/openssl/ecerr.h b/linux_amd64/include/openssl/ecerr.h index 88399db..f7b9183 100644 --- a/linux_amd64/include/openssl/ecerr.h +++ b/linux_amd64/include/openssl/ecerr.h @@ -2,25 +2,19 @@ * Generated by util/mkerr.pl DO NOT EDIT * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_ECERR_H -# define OPENSSL_ECERR_H -# pragma once +#ifndef HEADER_ECERR_H +# define HEADER_ECERR_H -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_ECERR_H +# ifndef HEADER_SYMHACKS_H +# include # endif -# include -# include - - # include # ifndef OPENSSL_NO_EC @@ -33,198 +27,180 @@ int ERR_load_EC_strings(void); /* * EC function codes. */ -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define EC_F_BN_TO_FELEM 0 -# define EC_F_D2I_ECPARAMETERS 0 -# define EC_F_D2I_ECPKPARAMETERS 0 -# define EC_F_D2I_ECPRIVATEKEY 0 -# define EC_F_DO_EC_KEY_PRINT 0 -# define EC_F_ECDH_CMS_DECRYPT 0 -# define EC_F_ECDH_CMS_SET_SHARED_INFO 0 -# define EC_F_ECDH_COMPUTE_KEY 0 -# define EC_F_ECDH_SIMPLE_COMPUTE_KEY 0 -# define EC_F_ECDSA_DO_SIGN_EX 0 -# define EC_F_ECDSA_DO_VERIFY 0 -# define EC_F_ECDSA_S390X_NISTP_SIGN_SIG 0 -# define EC_F_ECDSA_S390X_NISTP_VERIFY_SIG 0 -# define EC_F_ECDSA_SIGN_EX 0 -# define EC_F_ECDSA_SIGN_SETUP 0 -# define EC_F_ECDSA_SIG_NEW 0 -# define EC_F_ECDSA_SIMPLE_SIGN_SETUP 0 -# define EC_F_ECDSA_SIMPLE_SIGN_SIG 0 -# define EC_F_ECDSA_SIMPLE_VERIFY_SIG 0 -# define EC_F_ECDSA_VERIFY 0 -# define EC_F_ECD_ITEM_VERIFY 0 -# define EC_F_ECKEY_PARAM2TYPE 0 -# define EC_F_ECKEY_PARAM_DECODE 0 -# define EC_F_ECKEY_PRIV_DECODE 0 -# define EC_F_ECKEY_PRIV_ENCODE 0 -# define EC_F_ECKEY_PUB_DECODE 0 -# define EC_F_ECKEY_PUB_ENCODE 0 -# define EC_F_ECKEY_TYPE2PARAM 0 -# define EC_F_ECPARAMETERS_PRINT 0 -# define EC_F_ECPARAMETERS_PRINT_FP 0 -# define EC_F_ECPKPARAMETERS_PRINT 0 -# define EC_F_ECPKPARAMETERS_PRINT_FP 0 -# define EC_F_ECP_NISTZ256_GET_AFFINE 0 -# define EC_F_ECP_NISTZ256_INV_MOD_ORD 0 -# define EC_F_ECP_NISTZ256_MULT_PRECOMPUTE 0 -# define EC_F_ECP_NISTZ256_POINTS_MUL 0 -# define EC_F_ECP_NISTZ256_PRE_COMP_NEW 0 -# define EC_F_ECP_NISTZ256_WINDOWED_MUL 0 -# define EC_F_ECX_KEY_OP 0 -# define EC_F_ECX_PRIV_ENCODE 0 -# define EC_F_ECX_PUB_ENCODE 0 -# define EC_F_EC_ASN1_GROUP2CURVE 0 -# define EC_F_EC_ASN1_GROUP2FIELDID 0 -# define EC_F_EC_GF2M_MONTGOMERY_POINT_MULTIPLY 0 -# define EC_F_EC_GF2M_SIMPLE_FIELD_INV 0 -# define EC_F_EC_GF2M_SIMPLE_GROUP_CHECK_DISCRIMINANT 0 -# define EC_F_EC_GF2M_SIMPLE_GROUP_SET_CURVE 0 -# define EC_F_EC_GF2M_SIMPLE_LADDER_POST 0 -# define EC_F_EC_GF2M_SIMPLE_LADDER_PRE 0 -# define EC_F_EC_GF2M_SIMPLE_OCT2POINT 0 -# define EC_F_EC_GF2M_SIMPLE_POINT2OCT 0 -# define EC_F_EC_GF2M_SIMPLE_POINTS_MUL 0 -# define EC_F_EC_GF2M_SIMPLE_POINT_GET_AFFINE_COORDINATES 0 -# define EC_F_EC_GF2M_SIMPLE_POINT_SET_AFFINE_COORDINATES 0 -# define EC_F_EC_GF2M_SIMPLE_SET_COMPRESSED_COORDINATES 0 -# define EC_F_EC_GFP_MONT_FIELD_DECODE 0 -# define EC_F_EC_GFP_MONT_FIELD_ENCODE 0 -# define EC_F_EC_GFP_MONT_FIELD_INV 0 -# define EC_F_EC_GFP_MONT_FIELD_MUL 0 -# define EC_F_EC_GFP_MONT_FIELD_SET_TO_ONE 0 -# define EC_F_EC_GFP_MONT_FIELD_SQR 0 -# define EC_F_EC_GFP_MONT_GROUP_SET_CURVE 0 -# define EC_F_EC_GFP_NISTP224_GROUP_SET_CURVE 0 -# define EC_F_EC_GFP_NISTP224_POINTS_MUL 0 -# define EC_F_EC_GFP_NISTP224_POINT_GET_AFFINE_COORDINATES 0 -# define EC_F_EC_GFP_NISTP256_GROUP_SET_CURVE 0 -# define EC_F_EC_GFP_NISTP256_POINTS_MUL 0 -# define EC_F_EC_GFP_NISTP256_POINT_GET_AFFINE_COORDINATES 0 -# define EC_F_EC_GFP_NISTP521_GROUP_SET_CURVE 0 -# define EC_F_EC_GFP_NISTP521_POINTS_MUL 0 -# define EC_F_EC_GFP_NISTP521_POINT_GET_AFFINE_COORDINATES 0 -# define EC_F_EC_GFP_NIST_FIELD_MUL 0 -# define EC_F_EC_GFP_NIST_FIELD_SQR 0 -# define EC_F_EC_GFP_NIST_GROUP_SET_CURVE 0 -# define EC_F_EC_GFP_SIMPLE_BLIND_COORDINATES 0 -# define EC_F_EC_GFP_SIMPLE_FIELD_INV 0 -# define EC_F_EC_GFP_SIMPLE_GROUP_CHECK_DISCRIMINANT 0 -# define EC_F_EC_GFP_SIMPLE_GROUP_SET_CURVE 0 -# define EC_F_EC_GFP_SIMPLE_MAKE_AFFINE 0 -# define EC_F_EC_GFP_SIMPLE_OCT2POINT 0 -# define EC_F_EC_GFP_SIMPLE_POINT2OCT 0 -# define EC_F_EC_GFP_SIMPLE_POINTS_MAKE_AFFINE 0 -# define EC_F_EC_GFP_SIMPLE_POINT_GET_AFFINE_COORDINATES 0 -# define EC_F_EC_GFP_SIMPLE_POINT_SET_AFFINE_COORDINATES 0 -# define EC_F_EC_GFP_SIMPLE_SET_COMPRESSED_COORDINATES 0 -# define EC_F_EC_GROUP_CHECK 0 -# define EC_F_EC_GROUP_CHECK_DISCRIMINANT 0 -# define EC_F_EC_GROUP_CHECK_NAMED_CURVE 0 -# define EC_F_EC_GROUP_COPY 0 -# define EC_F_EC_GROUP_GET_CURVE 0 -# define EC_F_EC_GROUP_GET_CURVE_GF2M 0 -# define EC_F_EC_GROUP_GET_CURVE_GFP 0 -# define EC_F_EC_GROUP_GET_DEGREE 0 -# define EC_F_EC_GROUP_GET_ECPARAMETERS 0 -# define EC_F_EC_GROUP_GET_ECPKPARAMETERS 0 -# define EC_F_EC_GROUP_GET_PENTANOMIAL_BASIS 0 -# define EC_F_EC_GROUP_GET_TRINOMIAL_BASIS 0 -# define EC_F_EC_GROUP_NEW 0 -# define EC_F_EC_GROUP_NEW_BY_CURVE_NAME 0 -# define EC_F_EC_GROUP_NEW_BY_CURVE_NAME_EX 0 -# define EC_F_EC_GROUP_NEW_EX 0 -# define EC_F_EC_GROUP_NEW_FROM_DATA 0 -# define EC_F_EC_GROUP_NEW_FROM_ECPARAMETERS 0 -# define EC_F_EC_GROUP_NEW_FROM_ECPKPARAMETERS 0 -# define EC_F_EC_GROUP_SET_CURVE 0 -# define EC_F_EC_GROUP_SET_CURVE_GF2M 0 -# define EC_F_EC_GROUP_SET_CURVE_GFP 0 -# define EC_F_EC_GROUP_SET_GENERATOR 0 -# define EC_F_EC_GROUP_SET_SEED 0 -# define EC_F_EC_KEY_CHECK_KEY 0 -# define EC_F_EC_KEY_COPY 0 -# define EC_F_EC_KEY_GENERATE_KEY 0 -# define EC_F_EC_KEY_NEW 0 -# define EC_F_EC_KEY_NEW_METHOD 0 -# define EC_F_EC_KEY_NEW_METHOD_INT 0 -# define EC_F_EC_KEY_OCT2PRIV 0 -# define EC_F_EC_KEY_PRINT 0 -# define EC_F_EC_KEY_PRINT_FP 0 -# define EC_F_EC_KEY_PRIV2BUF 0 -# define EC_F_EC_KEY_PRIV2OCT 0 -# define EC_F_EC_KEY_SET_PUBLIC_KEY_AFFINE_COORDINATES 0 -# define EC_F_EC_KEY_SIMPLE_CHECK_KEY 0 -# define EC_F_EC_KEY_SIMPLE_OCT2PRIV 0 -# define EC_F_EC_KEY_SIMPLE_PRIV2OCT 0 -# define EC_F_EC_PKEY_CHECK 0 -# define EC_F_EC_PKEY_PARAM_CHECK 0 -# define EC_F_EC_POINTS_MAKE_AFFINE 0 -# define EC_F_EC_POINTS_MUL 0 -# define EC_F_EC_POINT_ADD 0 -# define EC_F_EC_POINT_BN2POINT 0 -# define EC_F_EC_POINT_CMP 0 -# define EC_F_EC_POINT_COPY 0 -# define EC_F_EC_POINT_DBL 0 -# define EC_F_EC_POINT_GET_AFFINE_COORDINATES 0 -# define EC_F_EC_POINT_GET_AFFINE_COORDINATES_GF2M 0 -# define EC_F_EC_POINT_GET_AFFINE_COORDINATES_GFP 0 -# define EC_F_EC_POINT_GET_JPROJECTIVE_COORDINATES_GFP 0 -# define EC_F_EC_POINT_INVERT 0 -# define EC_F_EC_POINT_IS_AT_INFINITY 0 -# define EC_F_EC_POINT_IS_ON_CURVE 0 -# define EC_F_EC_POINT_MAKE_AFFINE 0 -# define EC_F_EC_POINT_NEW 0 -# define EC_F_EC_POINT_OCT2POINT 0 -# define EC_F_EC_POINT_POINT2BUF 0 -# define EC_F_EC_POINT_POINT2OCT 0 -# define EC_F_EC_POINT_SET_AFFINE_COORDINATES 0 -# define EC_F_EC_POINT_SET_AFFINE_COORDINATES_GF2M 0 -# define EC_F_EC_POINT_SET_AFFINE_COORDINATES_GFP 0 -# define EC_F_EC_POINT_SET_COMPRESSED_COORDINATES 0 -# define EC_F_EC_POINT_SET_COMPRESSED_COORDINATES_GF2M 0 -# define EC_F_EC_POINT_SET_COMPRESSED_COORDINATES_GFP 0 -# define EC_F_EC_POINT_SET_JPROJECTIVE_COORDINATES_GFP 0 -# define EC_F_EC_POINT_SET_TO_INFINITY 0 -# define EC_F_EC_PRE_COMP_NEW 0 -# define EC_F_EC_SCALAR_MUL_LADDER 0 -# define EC_F_EC_WNAF_MUL 0 -# define EC_F_EC_WNAF_PRECOMPUTE_MULT 0 -# define EC_F_I2D_ECPARAMETERS 0 -# define EC_F_I2D_ECPKPARAMETERS 0 -# define EC_F_I2D_ECPRIVATEKEY 0 -# define EC_F_I2O_ECPUBLICKEY 0 -# define EC_F_NISTP224_PRE_COMP_NEW 0 -# define EC_F_NISTP256_PRE_COMP_NEW 0 -# define EC_F_NISTP521_PRE_COMP_NEW 0 -# define EC_F_O2I_ECPUBLICKEY 0 -# define EC_F_OLD_EC_PRIV_DECODE 0 -# define EC_F_OSSL_ECDH_COMPUTE_KEY 0 -# define EC_F_OSSL_ECDSA_SIGN_SETUP 0 -# define EC_F_OSSL_ECDSA_SIGN_SIG 0 -# define EC_F_OSSL_ECDSA_VERIFY_SIG 0 -# define EC_F_PKEY_ECD_CTRL 0 -# define EC_F_PKEY_ECD_DIGESTSIGN 0 -# define EC_F_PKEY_ECD_DIGESTSIGN25519 0 -# define EC_F_PKEY_ECD_DIGESTSIGN448 0 -# define EC_F_PKEY_ECX_DERIVE 0 -# define EC_F_PKEY_EC_CTRL 0 -# define EC_F_PKEY_EC_CTRL_STR 0 -# define EC_F_PKEY_EC_DERIVE 0 -# define EC_F_PKEY_EC_INIT 0 -# define EC_F_PKEY_EC_KDF_DERIVE 0 -# define EC_F_PKEY_EC_KEYGEN 0 -# define EC_F_PKEY_EC_PARAMGEN 0 -# define EC_F_PKEY_EC_SIGN 0 -# define EC_F_S390X_PKEY_ECD_DIGESTSIGN25519 0 -# define EC_F_S390X_PKEY_ECD_DIGESTSIGN448 0 -# define EC_F_S390X_PKEY_ECD_KEYGEN25519 0 -# define EC_F_S390X_PKEY_ECD_KEYGEN448 0 -# define EC_F_S390X_PKEY_ECX_KEYGEN25519 0 -# define EC_F_S390X_PKEY_ECX_KEYGEN448 0 -# define EC_F_VALIDATE_ECX_DERIVE 0 -# endif +# define EC_F_BN_TO_FELEM 224 +# define EC_F_D2I_ECPARAMETERS 144 +# define EC_F_D2I_ECPKPARAMETERS 145 +# define EC_F_D2I_ECPRIVATEKEY 146 +# define EC_F_DO_EC_KEY_PRINT 221 +# define EC_F_ECDH_CMS_DECRYPT 238 +# define EC_F_ECDH_CMS_SET_SHARED_INFO 239 +# define EC_F_ECDH_COMPUTE_KEY 246 +# define EC_F_ECDH_SIMPLE_COMPUTE_KEY 257 +# define EC_F_ECDSA_DO_SIGN_EX 251 +# define EC_F_ECDSA_DO_VERIFY 252 +# define EC_F_ECDSA_SIGN_EX 254 +# define EC_F_ECDSA_SIGN_SETUP 248 +# define EC_F_ECDSA_SIG_NEW 265 +# define EC_F_ECDSA_VERIFY 253 +# define EC_F_ECD_ITEM_VERIFY 270 +# define EC_F_ECKEY_PARAM2TYPE 223 +# define EC_F_ECKEY_PARAM_DECODE 212 +# define EC_F_ECKEY_PRIV_DECODE 213 +# define EC_F_ECKEY_PRIV_ENCODE 214 +# define EC_F_ECKEY_PUB_DECODE 215 +# define EC_F_ECKEY_PUB_ENCODE 216 +# define EC_F_ECKEY_TYPE2PARAM 220 +# define EC_F_ECPARAMETERS_PRINT 147 +# define EC_F_ECPARAMETERS_PRINT_FP 148 +# define EC_F_ECPKPARAMETERS_PRINT 149 +# define EC_F_ECPKPARAMETERS_PRINT_FP 150 +# define EC_F_ECP_NISTZ256_GET_AFFINE 240 +# define EC_F_ECP_NISTZ256_INV_MOD_ORD 275 +# define EC_F_ECP_NISTZ256_MULT_PRECOMPUTE 243 +# define EC_F_ECP_NISTZ256_POINTS_MUL 241 +# define EC_F_ECP_NISTZ256_PRE_COMP_NEW 244 +# define EC_F_ECP_NISTZ256_WINDOWED_MUL 242 +# define EC_F_ECX_KEY_OP 266 +# define EC_F_ECX_PRIV_ENCODE 267 +# define EC_F_ECX_PUB_ENCODE 268 +# define EC_F_EC_ASN1_GROUP2CURVE 153 +# define EC_F_EC_ASN1_GROUP2FIELDID 154 +# define EC_F_EC_GF2M_MONTGOMERY_POINT_MULTIPLY 208 +# define EC_F_EC_GF2M_SIMPLE_FIELD_INV 296 +# define EC_F_EC_GF2M_SIMPLE_GROUP_CHECK_DISCRIMINANT 159 +# define EC_F_EC_GF2M_SIMPLE_GROUP_SET_CURVE 195 +# define EC_F_EC_GF2M_SIMPLE_LADDER_POST 285 +# define EC_F_EC_GF2M_SIMPLE_LADDER_PRE 288 +# define EC_F_EC_GF2M_SIMPLE_OCT2POINT 160 +# define EC_F_EC_GF2M_SIMPLE_POINT2OCT 161 +# define EC_F_EC_GF2M_SIMPLE_POINTS_MUL 289 +# define EC_F_EC_GF2M_SIMPLE_POINT_GET_AFFINE_COORDINATES 162 +# define EC_F_EC_GF2M_SIMPLE_POINT_SET_AFFINE_COORDINATES 163 +# define EC_F_EC_GF2M_SIMPLE_SET_COMPRESSED_COORDINATES 164 +# define EC_F_EC_GFP_MONT_FIELD_DECODE 133 +# define EC_F_EC_GFP_MONT_FIELD_ENCODE 134 +# define EC_F_EC_GFP_MONT_FIELD_INV 297 +# define EC_F_EC_GFP_MONT_FIELD_MUL 131 +# define EC_F_EC_GFP_MONT_FIELD_SET_TO_ONE 209 +# define EC_F_EC_GFP_MONT_FIELD_SQR 132 +# define EC_F_EC_GFP_MONT_GROUP_SET_CURVE 189 +# define EC_F_EC_GFP_NISTP224_GROUP_SET_CURVE 225 +# define EC_F_EC_GFP_NISTP224_POINTS_MUL 228 +# define EC_F_EC_GFP_NISTP224_POINT_GET_AFFINE_COORDINATES 226 +# define EC_F_EC_GFP_NISTP256_GROUP_SET_CURVE 230 +# define EC_F_EC_GFP_NISTP256_POINTS_MUL 231 +# define EC_F_EC_GFP_NISTP256_POINT_GET_AFFINE_COORDINATES 232 +# define EC_F_EC_GFP_NISTP521_GROUP_SET_CURVE 233 +# define EC_F_EC_GFP_NISTP521_POINTS_MUL 234 +# define EC_F_EC_GFP_NISTP521_POINT_GET_AFFINE_COORDINATES 235 +# define EC_F_EC_GFP_NIST_FIELD_MUL 200 +# define EC_F_EC_GFP_NIST_FIELD_SQR 201 +# define EC_F_EC_GFP_NIST_GROUP_SET_CURVE 202 +# define EC_F_EC_GFP_SIMPLE_BLIND_COORDINATES 287 +# define EC_F_EC_GFP_SIMPLE_FIELD_INV 298 +# define EC_F_EC_GFP_SIMPLE_GROUP_CHECK_DISCRIMINANT 165 +# define EC_F_EC_GFP_SIMPLE_GROUP_SET_CURVE 166 +# define EC_F_EC_GFP_SIMPLE_MAKE_AFFINE 102 +# define EC_F_EC_GFP_SIMPLE_OCT2POINT 103 +# define EC_F_EC_GFP_SIMPLE_POINT2OCT 104 +# define EC_F_EC_GFP_SIMPLE_POINTS_MAKE_AFFINE 137 +# define EC_F_EC_GFP_SIMPLE_POINT_GET_AFFINE_COORDINATES 167 +# define EC_F_EC_GFP_SIMPLE_POINT_SET_AFFINE_COORDINATES 168 +# define EC_F_EC_GFP_SIMPLE_SET_COMPRESSED_COORDINATES 169 +# define EC_F_EC_GROUP_CHECK 170 +# define EC_F_EC_GROUP_CHECK_DISCRIMINANT 171 +# define EC_F_EC_GROUP_COPY 106 +# define EC_F_EC_GROUP_GET_CURVE 291 +# define EC_F_EC_GROUP_GET_CURVE_GF2M 172 +# define EC_F_EC_GROUP_GET_CURVE_GFP 130 +# define EC_F_EC_GROUP_GET_DEGREE 173 +# define EC_F_EC_GROUP_GET_ECPARAMETERS 261 +# define EC_F_EC_GROUP_GET_ECPKPARAMETERS 262 +# define EC_F_EC_GROUP_GET_PENTANOMIAL_BASIS 193 +# define EC_F_EC_GROUP_GET_TRINOMIAL_BASIS 194 +# define EC_F_EC_GROUP_NEW 108 +# define EC_F_EC_GROUP_NEW_BY_CURVE_NAME 174 +# define EC_F_EC_GROUP_NEW_FROM_DATA 175 +# define EC_F_EC_GROUP_NEW_FROM_ECPARAMETERS 263 +# define EC_F_EC_GROUP_NEW_FROM_ECPKPARAMETERS 264 +# define EC_F_EC_GROUP_SET_CURVE 292 +# define EC_F_EC_GROUP_SET_CURVE_GF2M 176 +# define EC_F_EC_GROUP_SET_CURVE_GFP 109 +# define EC_F_EC_GROUP_SET_GENERATOR 111 +# define EC_F_EC_GROUP_SET_SEED 286 +# define EC_F_EC_KEY_CHECK_KEY 177 +# define EC_F_EC_KEY_COPY 178 +# define EC_F_EC_KEY_GENERATE_KEY 179 +# define EC_F_EC_KEY_NEW 182 +# define EC_F_EC_KEY_NEW_METHOD 245 +# define EC_F_EC_KEY_OCT2PRIV 255 +# define EC_F_EC_KEY_PRINT 180 +# define EC_F_EC_KEY_PRINT_FP 181 +# define EC_F_EC_KEY_PRIV2BUF 279 +# define EC_F_EC_KEY_PRIV2OCT 256 +# define EC_F_EC_KEY_SET_PUBLIC_KEY_AFFINE_COORDINATES 229 +# define EC_F_EC_KEY_SIMPLE_CHECK_KEY 258 +# define EC_F_EC_KEY_SIMPLE_OCT2PRIV 259 +# define EC_F_EC_KEY_SIMPLE_PRIV2OCT 260 +# define EC_F_EC_PKEY_CHECK 273 +# define EC_F_EC_PKEY_PARAM_CHECK 274 +# define EC_F_EC_POINTS_MAKE_AFFINE 136 +# define EC_F_EC_POINTS_MUL 290 +# define EC_F_EC_POINT_ADD 112 +# define EC_F_EC_POINT_BN2POINT 280 +# define EC_F_EC_POINT_CMP 113 +# define EC_F_EC_POINT_COPY 114 +# define EC_F_EC_POINT_DBL 115 +# define EC_F_EC_POINT_GET_AFFINE_COORDINATES 293 +# define EC_F_EC_POINT_GET_AFFINE_COORDINATES_GF2M 183 +# define EC_F_EC_POINT_GET_AFFINE_COORDINATES_GFP 116 +# define EC_F_EC_POINT_GET_JPROJECTIVE_COORDINATES_GFP 117 +# define EC_F_EC_POINT_INVERT 210 +# define EC_F_EC_POINT_IS_AT_INFINITY 118 +# define EC_F_EC_POINT_IS_ON_CURVE 119 +# define EC_F_EC_POINT_MAKE_AFFINE 120 +# define EC_F_EC_POINT_NEW 121 +# define EC_F_EC_POINT_OCT2POINT 122 +# define EC_F_EC_POINT_POINT2BUF 281 +# define EC_F_EC_POINT_POINT2OCT 123 +# define EC_F_EC_POINT_SET_AFFINE_COORDINATES 294 +# define EC_F_EC_POINT_SET_AFFINE_COORDINATES_GF2M 185 +# define EC_F_EC_POINT_SET_AFFINE_COORDINATES_GFP 124 +# define EC_F_EC_POINT_SET_COMPRESSED_COORDINATES 295 +# define EC_F_EC_POINT_SET_COMPRESSED_COORDINATES_GF2M 186 +# define EC_F_EC_POINT_SET_COMPRESSED_COORDINATES_GFP 125 +# define EC_F_EC_POINT_SET_JPROJECTIVE_COORDINATES_GFP 126 +# define EC_F_EC_POINT_SET_TO_INFINITY 127 +# define EC_F_EC_PRE_COMP_NEW 196 +# define EC_F_EC_SCALAR_MUL_LADDER 284 +# define EC_F_EC_WNAF_MUL 187 +# define EC_F_EC_WNAF_PRECOMPUTE_MULT 188 +# define EC_F_I2D_ECPARAMETERS 190 +# define EC_F_I2D_ECPKPARAMETERS 191 +# define EC_F_I2D_ECPRIVATEKEY 192 +# define EC_F_I2O_ECPUBLICKEY 151 +# define EC_F_NISTP224_PRE_COMP_NEW 227 +# define EC_F_NISTP256_PRE_COMP_NEW 236 +# define EC_F_NISTP521_PRE_COMP_NEW 237 +# define EC_F_O2I_ECPUBLICKEY 152 +# define EC_F_OLD_EC_PRIV_DECODE 222 +# define EC_F_OSSL_ECDH_COMPUTE_KEY 247 +# define EC_F_OSSL_ECDSA_SIGN_SIG 249 +# define EC_F_OSSL_ECDSA_VERIFY_SIG 250 +# define EC_F_PKEY_ECD_CTRL 271 +# define EC_F_PKEY_ECD_DIGESTSIGN 272 +# define EC_F_PKEY_ECD_DIGESTSIGN25519 276 +# define EC_F_PKEY_ECD_DIGESTSIGN448 277 +# define EC_F_PKEY_ECX_DERIVE 269 +# define EC_F_PKEY_EC_CTRL 197 +# define EC_F_PKEY_EC_CTRL_STR 198 +# define EC_F_PKEY_EC_DERIVE 217 +# define EC_F_PKEY_EC_INIT 282 +# define EC_F_PKEY_EC_KDF_DERIVE 283 +# define EC_F_PKEY_EC_KEYGEN 199 +# define EC_F_PKEY_EC_PARAMGEN 219 +# define EC_F_PKEY_EC_SIGN 218 +# define EC_F_VALIDATE_ECX_DERIVE 278 /* * EC reason codes. @@ -236,7 +212,6 @@ int ERR_load_EC_strings(void); # define EC_R_CANNOT_INVERT 165 # define EC_R_COORDINATES_OUT_OF_RANGE 146 # define EC_R_CURVE_DOES_NOT_SUPPORT_ECDH 160 -# define EC_R_CURVE_DOES_NOT_SUPPORT_ECDSA 170 # define EC_R_CURVE_DOES_NOT_SUPPORT_SIGNING 159 # define EC_R_D2I_ECPKPARAMETERS_FAILURE 117 # define EC_R_DECODE_ERROR 142 diff --git a/linux_amd64/include/openssl/engine.h b/linux_amd64/include/openssl/engine.h index 3c9648d..0780f0f 100644 --- a/linux_amd64/include/openssl/engine.h +++ b/linux_amd64/include/openssl/engine.h @@ -2,25 +2,19 @@ * Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_ENGINE_H -# define OPENSSL_ENGINE_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_ENGINE_H -# endif +#ifndef HEADER_ENGINE_H +# define HEADER_ENGINE_H # include # ifndef OPENSSL_NO_ENGINE -# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +# if OPENSSL_API_COMPAT < 0x10100000L # include # include # include @@ -30,7 +24,7 @@ # include # include # endif -# include +# include # include # include # include @@ -326,7 +320,7 @@ int ENGINE_remove(ENGINE *e); /* Retrieve an engine from the list by its unique "id" value. */ ENGINE *ENGINE_by_id(const char *id); -#ifndef OPENSSL_NO_DEPRECATED_1_1_0 +#if OPENSSL_API_COMPAT < 0x10100000L # define ENGINE_load_openssl() \ OPENSSL_init_crypto(OPENSSL_INIT_ENGINE_OPENSSL, NULL) # define ENGINE_load_dynamic() \ @@ -500,7 +494,7 @@ int ENGINE_set_cmd_defns(ENGINE *e, const ENGINE_CMD_DEFN *defns); int ENGINE_set_ex_data(ENGINE *e, int idx, void *arg); void *ENGINE_get_ex_data(const ENGINE *e, int idx); -#ifndef OPENSSL_NO_DEPRECATED_1_1_0 +#if OPENSSL_API_COMPAT < 0x10100000L /* * This function previously cleaned up anything that needs it. Auto-deinit will * now take care of it so it is no longer required to call this function. diff --git a/linux_amd64/include/openssl/engineerr.h b/linux_amd64/include/openssl/engineerr.h index 006d73a..05e84bd 100644 --- a/linux_amd64/include/openssl/engineerr.h +++ b/linux_amd64/include/openssl/engineerr.h @@ -2,25 +2,19 @@ * Generated by util/mkerr.pl DO NOT EDIT * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_ENGINEERR_H -# define OPENSSL_ENGINEERR_H -# pragma once +#ifndef HEADER_ENGINEERR_H +# define HEADER_ENGINEERR_H -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_ENGINEERR_H +# ifndef HEADER_SYMHACKS_H +# include # endif -# include -# include - - # include # ifndef OPENSSL_NO_ENGINE @@ -33,48 +27,46 @@ int ERR_load_ENGINE_strings(void); /* * ENGINE function codes. */ -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define ENGINE_F_DIGEST_UPDATE 0 -# define ENGINE_F_DYNAMIC_CTRL 0 -# define ENGINE_F_DYNAMIC_GET_DATA_CTX 0 -# define ENGINE_F_DYNAMIC_LOAD 0 -# define ENGINE_F_DYNAMIC_SET_DATA_CTX 0 -# define ENGINE_F_ENGINE_ADD 0 -# define ENGINE_F_ENGINE_BY_ID 0 -# define ENGINE_F_ENGINE_CMD_IS_EXECUTABLE 0 -# define ENGINE_F_ENGINE_CTRL 0 -# define ENGINE_F_ENGINE_CTRL_CMD 0 -# define ENGINE_F_ENGINE_CTRL_CMD_STRING 0 -# define ENGINE_F_ENGINE_FINISH 0 -# define ENGINE_F_ENGINE_GET_CIPHER 0 -# define ENGINE_F_ENGINE_GET_DIGEST 0 -# define ENGINE_F_ENGINE_GET_FIRST 0 -# define ENGINE_F_ENGINE_GET_LAST 0 -# define ENGINE_F_ENGINE_GET_NEXT 0 -# define ENGINE_F_ENGINE_GET_PKEY_ASN1_METH 0 -# define ENGINE_F_ENGINE_GET_PKEY_METH 0 -# define ENGINE_F_ENGINE_GET_PREV 0 -# define ENGINE_F_ENGINE_INIT 0 -# define ENGINE_F_ENGINE_LIST_ADD 0 -# define ENGINE_F_ENGINE_LIST_REMOVE 0 -# define ENGINE_F_ENGINE_LOAD_PRIVATE_KEY 0 -# define ENGINE_F_ENGINE_LOAD_PUBLIC_KEY 0 -# define ENGINE_F_ENGINE_LOAD_SSL_CLIENT_CERT 0 -# define ENGINE_F_ENGINE_NEW 0 -# define ENGINE_F_ENGINE_PKEY_ASN1_FIND_STR 0 -# define ENGINE_F_ENGINE_REMOVE 0 -# define ENGINE_F_ENGINE_SET_DEFAULT_STRING 0 -# define ENGINE_F_ENGINE_SET_ID 0 -# define ENGINE_F_ENGINE_SET_NAME 0 -# define ENGINE_F_ENGINE_TABLE_REGISTER 0 -# define ENGINE_F_ENGINE_UNLOCKED_FINISH 0 -# define ENGINE_F_ENGINE_UP_REF 0 -# define ENGINE_F_INT_CLEANUP_ITEM 0 -# define ENGINE_F_INT_CTRL_HELPER 0 -# define ENGINE_F_INT_ENGINE_CONFIGURE 0 -# define ENGINE_F_INT_ENGINE_MODULE_INIT 0 -# define ENGINE_F_OSSL_HMAC_INIT 0 -# endif +# define ENGINE_F_DIGEST_UPDATE 198 +# define ENGINE_F_DYNAMIC_CTRL 180 +# define ENGINE_F_DYNAMIC_GET_DATA_CTX 181 +# define ENGINE_F_DYNAMIC_LOAD 182 +# define ENGINE_F_DYNAMIC_SET_DATA_CTX 183 +# define ENGINE_F_ENGINE_ADD 105 +# define ENGINE_F_ENGINE_BY_ID 106 +# define ENGINE_F_ENGINE_CMD_IS_EXECUTABLE 170 +# define ENGINE_F_ENGINE_CTRL 142 +# define ENGINE_F_ENGINE_CTRL_CMD 178 +# define ENGINE_F_ENGINE_CTRL_CMD_STRING 171 +# define ENGINE_F_ENGINE_FINISH 107 +# define ENGINE_F_ENGINE_GET_CIPHER 185 +# define ENGINE_F_ENGINE_GET_DIGEST 186 +# define ENGINE_F_ENGINE_GET_FIRST 195 +# define ENGINE_F_ENGINE_GET_LAST 196 +# define ENGINE_F_ENGINE_GET_NEXT 115 +# define ENGINE_F_ENGINE_GET_PKEY_ASN1_METH 193 +# define ENGINE_F_ENGINE_GET_PKEY_METH 192 +# define ENGINE_F_ENGINE_GET_PREV 116 +# define ENGINE_F_ENGINE_INIT 119 +# define ENGINE_F_ENGINE_LIST_ADD 120 +# define ENGINE_F_ENGINE_LIST_REMOVE 121 +# define ENGINE_F_ENGINE_LOAD_PRIVATE_KEY 150 +# define ENGINE_F_ENGINE_LOAD_PUBLIC_KEY 151 +# define ENGINE_F_ENGINE_LOAD_SSL_CLIENT_CERT 194 +# define ENGINE_F_ENGINE_NEW 122 +# define ENGINE_F_ENGINE_PKEY_ASN1_FIND_STR 197 +# define ENGINE_F_ENGINE_REMOVE 123 +# define ENGINE_F_ENGINE_SET_DEFAULT_STRING 189 +# define ENGINE_F_ENGINE_SET_ID 129 +# define ENGINE_F_ENGINE_SET_NAME 130 +# define ENGINE_F_ENGINE_TABLE_REGISTER 184 +# define ENGINE_F_ENGINE_UNLOCKED_FINISH 191 +# define ENGINE_F_ENGINE_UP_REF 190 +# define ENGINE_F_INT_CLEANUP_ITEM 199 +# define ENGINE_F_INT_CTRL_HELPER 172 +# define ENGINE_F_INT_ENGINE_CONFIGURE 188 +# define ENGINE_F_INT_ENGINE_MODULE_INIT 187 +# define ENGINE_F_OSSL_HMAC_INIT 200 /* * ENGINE reason codes. diff --git a/linux_amd64/include/openssl/err.h b/linux_amd64/include/openssl/err.h index ef8e895..b49f881 100644 --- a/linux_amd64/include/openssl/err.h +++ b/linux_amd64/include/openssl/err.h @@ -1,20 +1,14 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_ERR_H -# define OPENSSL_ERR_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_ERR_H -# endif +#ifndef HEADER_ERR_H +# define HEADER_ERR_H # include @@ -23,7 +17,7 @@ # include # endif -# include +# include # include # include @@ -31,12 +25,10 @@ extern "C" { #endif -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# ifndef OPENSSL_NO_FILENAMES -# define ERR_PUT_error(l,f,r,fn,ln) ERR_put_error(l,f,r,fn,ln) -# else -# define ERR_PUT_error(l,f,r,fn,ln) ERR_put_error(l,f,r,NULL,0) -# endif +# ifndef OPENSSL_NO_ERR +# define ERR_PUT_error(a,b,c,d,e) ERR_put_error(a,b,c,d,e) +# else +# define ERR_PUT_error(a,b,c,d,e) ERR_put_error(a,b,c,NULL,0) # endif # include @@ -44,23 +36,19 @@ extern "C" { # define ERR_TXT_MALLOCED 0x01 # define ERR_TXT_STRING 0x02 -# if !defined(OPENSSL_NO_DEPRECATED_3_0) || defined(OSSL_FORCE_ERR_STATE) -# define ERR_FLAG_MARK 0x01 -# define ERR_FLAG_CLEAR 0x02 +# define ERR_FLAG_MARK 0x01 +# define ERR_FLAG_CLEAR 0x02 -# define ERR_NUM_ERRORS 16 -struct err_state_st { +# define ERR_NUM_ERRORS 16 +typedef struct err_state_st { int err_flags[ERR_NUM_ERRORS]; unsigned long err_buffer[ERR_NUM_ERRORS]; char *err_data[ERR_NUM_ERRORS]; - size_t err_data_size[ERR_NUM_ERRORS]; int err_data_flags[ERR_NUM_ERRORS]; const char *err_file[ERR_NUM_ERRORS]; int err_line[ERR_NUM_ERRORS]; - const char *err_func[ERR_NUM_ERRORS]; int top, bottom; -}; -# endif +} ERR_STATE; /* library */ # define ERR_LIB_NONE 1 @@ -107,61 +95,45 @@ struct err_state_st { # define ERR_LIB_ASYNC 51 # define ERR_LIB_KDF 52 # define ERR_LIB_SM2 53 -# define ERR_LIB_ESS 54 -# define ERR_LIB_PROP 55 -# define ERR_LIB_CRMF 56 -# define ERR_LIB_PROV 57 -# define ERR_LIB_CMP 58 -# define ERR_LIB_OSSL_SERIALIZER 59 -# define ERR_LIB_HTTP 60 # define ERR_LIB_USER 128 -# if 1 || !defined(OPENSSL_NO_DEPRECATED_3_0) -# define ASN1err(f, r) ERR_raise_data(ERR_LIB_ASN1, (r), NULL) -# define ASYNCerr(f, r) ERR_raise_data(ERR_LIB_ASYNC, (r), NULL) -# define BIOerr(f, r) ERR_raise_data(ERR_LIB_BIO, (r), NULL) -# define BNerr(f, r) ERR_raise_data(ERR_LIB_BN, (r), NULL) -# define BUFerr(f, r) ERR_raise_data(ERR_LIB_BUF, (r), NULL) -# define CMPerr(f, r) ERR_raise_data(ERR_LIB_CMP, (r), NULL) -# define CMSerr(f, r) ERR_raise_data(ERR_LIB_CMS, (r), NULL) -# define COMPerr(f, r) ERR_raise_data(ERR_LIB_COMP, (r), NULL) -# define CONFerr(f, r) ERR_raise_data(ERR_LIB_CONF, (r), NULL) -# define CRMFerr(f, r) ERR_raise_data(ERR_LIB_CRMF, (r), NULL) -# define CRYPTOerr(f, r) ERR_raise_data(ERR_LIB_CRYPTO, (r), NULL) -# define CTerr(f, r) ERR_raise_data(ERR_LIB_CT, (r), NULL) -# define DHerr(f, r) ERR_raise_data(ERR_LIB_DH, (r), NULL) -# define DSAerr(f, r) ERR_raise_data(ERR_LIB_DSA, (r), NULL) -# define DSOerr(f, r) ERR_raise_data(ERR_LIB_DSO, (r), NULL) -# define ECDHerr(f, r) ERR_raise_data(ERR_LIB_ECDH, (r), NULL) -# define ECDSAerr(f, r) ERR_raise_data(ERR_LIB_ECDSA, (r), NULL) -# define ECerr(f, r) ERR_raise_data(ERR_LIB_EC, (r), NULL) -# define ENGINEerr(f, r) ERR_raise_data(ERR_LIB_ENGINE, (r), NULL) -# define ESSerr(f, r) ERR_raise_data(ERR_LIB_ESS, (r), NULL) -# define EVPerr(f, r) ERR_raise_data(ERR_LIB_EVP, (r), NULL) -# define FIPSerr(f, r) ERR_raise_data(ERR_LIB_FIPS, (r), NULL) -# define HMACerr(f, r) ERR_raise_data(ERR_LIB_HMAC, (r), NULL) -# define HTTPerr(f, r) ERR_raise_data(ERR_LIB_HTTP, (r), NULL) -# define KDFerr(f, r) ERR_raise_data(ERR_LIB_KDF, (r), NULL) -# define OBJerr(f, r) ERR_raise_data(ERR_LIB_OBJ, (r), NULL) -# define OCSPerr(f, r) ERR_raise_data(ERR_LIB_OCSP, (r), NULL) -# define OSSL_STOREerr(f, r) ERR_raise_data(ERR_LIB_OSSL_STORE, (r), NULL) -# define PEMerr(f, r) ERR_raise_data(ERR_LIB_PEM, (r), NULL) -# define PKCS12err(f, r) ERR_raise_data(ERR_LIB_PKCS12, (r), NULL) -# define PKCS7err(f, r) ERR_raise_data(ERR_LIB_PKCS7, (r), NULL) -# define PROPerr(f, r) ERR_raise_data(ERR_LIB_PROP, (r), NULL) -# define PROVerr(f, r) ERR_raise_data(ERR_LIB_PROV, (r), NULL) -# define RANDerr(f, r) ERR_raise_data(ERR_LIB_RAND, (r), NULL) -# define RSAerr(f, r) ERR_raise_data(ERR_LIB_RSA, (r), NULL) -# define KDFerr(f, r) ERR_raise_data(ERR_LIB_KDF, (r), NULL) -# define SM2err(f, r) ERR_raise_data(ERR_LIB_SM2, (r), NULL) -# define SSLerr(f, r) ERR_raise_data(ERR_LIB_SSL, (r), NULL) -# define SYSerr(f, r) ERR_raise_data(ERR_LIB_SYS, (r), NULL) -# define TSerr(f, r) ERR_raise_data(ERR_LIB_TS, (r), NULL) -# define UIerr(f, r) ERR_raise_data(ERR_LIB_UI, (r), NULL) -# define X509V3err(f, r) ERR_raise_data(ERR_LIB_X509V3, (r), NULL) -# define X509err(f, r) ERR_raise_data(ERR_LIB_X509, (r), NULL) -# endif +# define SYSerr(f,r) ERR_PUT_error(ERR_LIB_SYS,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define BNerr(f,r) ERR_PUT_error(ERR_LIB_BN,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define RSAerr(f,r) ERR_PUT_error(ERR_LIB_RSA,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define DHerr(f,r) ERR_PUT_error(ERR_LIB_DH,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define EVPerr(f,r) ERR_PUT_error(ERR_LIB_EVP,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define BUFerr(f,r) ERR_PUT_error(ERR_LIB_BUF,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define OBJerr(f,r) ERR_PUT_error(ERR_LIB_OBJ,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define PEMerr(f,r) ERR_PUT_error(ERR_LIB_PEM,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define DSAerr(f,r) ERR_PUT_error(ERR_LIB_DSA,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define X509err(f,r) ERR_PUT_error(ERR_LIB_X509,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define ASN1err(f,r) ERR_PUT_error(ERR_LIB_ASN1,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define CONFerr(f,r) ERR_PUT_error(ERR_LIB_CONF,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define CRYPTOerr(f,r) ERR_PUT_error(ERR_LIB_CRYPTO,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define ECerr(f,r) ERR_PUT_error(ERR_LIB_EC,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define SSLerr(f,r) ERR_PUT_error(ERR_LIB_SSL,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define BIOerr(f,r) ERR_PUT_error(ERR_LIB_BIO,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define PKCS7err(f,r) ERR_PUT_error(ERR_LIB_PKCS7,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define X509V3err(f,r) ERR_PUT_error(ERR_LIB_X509V3,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define PKCS12err(f,r) ERR_PUT_error(ERR_LIB_PKCS12,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define RANDerr(f,r) ERR_PUT_error(ERR_LIB_RAND,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define DSOerr(f,r) ERR_PUT_error(ERR_LIB_DSO,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define ENGINEerr(f,r) ERR_PUT_error(ERR_LIB_ENGINE,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define OCSPerr(f,r) ERR_PUT_error(ERR_LIB_OCSP,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define UIerr(f,r) ERR_PUT_error(ERR_LIB_UI,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define COMPerr(f,r) ERR_PUT_error(ERR_LIB_COMP,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define ECDSAerr(f,r) ERR_PUT_error(ERR_LIB_ECDSA,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define ECDHerr(f,r) ERR_PUT_error(ERR_LIB_ECDH,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define OSSL_STOREerr(f,r) ERR_PUT_error(ERR_LIB_OSSL_STORE,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define FIPSerr(f,r) ERR_PUT_error(ERR_LIB_FIPS,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define CMSerr(f,r) ERR_PUT_error(ERR_LIB_CMS,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define TSerr(f,r) ERR_PUT_error(ERR_LIB_TS,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define HMACerr(f,r) ERR_PUT_error(ERR_LIB_HMAC,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define CTerr(f,r) ERR_PUT_error(ERR_LIB_CT,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define ASYNCerr(f,r) ERR_PUT_error(ERR_LIB_ASYNC,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define KDFerr(f,r) ERR_PUT_error(ERR_LIB_KDF,(f),(r),OPENSSL_FILE,OPENSSL_LINE) +# define SM2err(f,r) ERR_PUT_error(ERR_LIB_SM2,(f),(r),OPENSSL_FILE,OPENSSL_LINE) # define ERR_PACK(l,f,r) ( \ (((unsigned int)(l) & 0x0FF) << 24L) | \ @@ -172,33 +144,31 @@ struct err_state_st { # define ERR_GET_REASON(l) (int)( (l) & 0xFFFL) # define ERR_FATAL_ERROR(l) (int)( (l) & ERR_R_FATAL) -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define SYS_F_FOPEN 0 -# define SYS_F_CONNECT 0 -# define SYS_F_GETSERVBYNAME 0 -# define SYS_F_SOCKET 0 -# define SYS_F_IOCTLSOCKET 0 -# define SYS_F_BIND 0 -# define SYS_F_LISTEN 0 -# define SYS_F_ACCEPT 0 -# define SYS_F_WSASTARTUP 0 -# define SYS_F_OPENDIR 0 -# define SYS_F_FREAD 0 -# define SYS_F_GETADDRINFO 0 -# define SYS_F_GETNAMEINFO 0 -# define SYS_F_SETSOCKOPT 0 -# define SYS_F_GETSOCKOPT 0 -# define SYS_F_GETSOCKNAME 0 -# define SYS_F_GETHOSTBYNAME 0 -# define SYS_F_FFLUSH 0 -# define SYS_F_OPEN 0 -# define SYS_F_CLOSE 0 -# define SYS_F_IOCTL 0 -# define SYS_F_STAT 0 -# define SYS_F_FCNTL 0 -# define SYS_F_FSTAT 0 -# define SYS_F_SENDFILE 0 -# endif +/* OS functions */ +# define SYS_F_FOPEN 1 +# define SYS_F_CONNECT 2 +# define SYS_F_GETSERVBYNAME 3 +# define SYS_F_SOCKET 4 +# define SYS_F_IOCTLSOCKET 5 +# define SYS_F_BIND 6 +# define SYS_F_LISTEN 7 +# define SYS_F_ACCEPT 8 +# define SYS_F_WSASTARTUP 9/* Winsock stuff */ +# define SYS_F_OPENDIR 10 +# define SYS_F_FREAD 11 +# define SYS_F_GETADDRINFO 12 +# define SYS_F_GETNAMEINFO 13 +# define SYS_F_SETSOCKOPT 14 +# define SYS_F_GETSOCKOPT 15 +# define SYS_F_GETSOCKNAME 16 +# define SYS_F_GETHOSTBYNAME 17 +# define SYS_F_FFLUSH 18 +# define SYS_F_OPEN 19 +# define SYS_F_CLOSE 20 +# define SYS_F_IOCTL 21 +# define SYS_F_STAT 22 +# define SYS_F_FCNTL 23 +# define SYS_F_FSTAT 24 /* reasons */ # define ERR_R_SYS_LIB ERR_LIB_SYS/* 2 */ @@ -234,8 +204,6 @@ struct err_state_st { # define ERR_R_INIT_FAIL (6|ERR_R_FATAL) # define ERR_R_PASSED_INVALID_ARGUMENT (7) # define ERR_R_OPERATION_FAIL (8|ERR_R_FATAL) -# define ERR_R_INVALID_PROVIDER_FUNCTIONS (9|ERR_R_FATAL) -# define ERR_R_INTERRUPTED_OR_CANCELLED (10) /* * 99 is the maximum possible ERR_R_... code, higher values are reserved for @@ -249,99 +217,41 @@ typedef struct ERR_string_data_st { DEFINE_LHASH_OF(ERR_STRING_DATA); -/* 12 lines and some on an 80 column terminal */ -#define ERR_MAX_DATA_SIZE 1024 - -/* Building blocks */ -void ERR_new(void); -void ERR_set_debug(const char *file, int line, const char *func); -void ERR_set_error(int lib, int reason, const char *fmt, ...); -void ERR_vset_error(int lib, int reason, const char *fmt, va_list args); - -/* Main error raising functions */ -# define ERR_raise(lib, reason) ERR_raise_data((lib),(reason),NULL) -# define ERR_raise_data \ - (ERR_new(), \ - ERR_set_debug(OPENSSL_FILE,OPENSSL_LINE,OPENSSL_FUNC), \ - ERR_set_error) - -# ifndef OPENSSL_NO_DEPRECATED_3_0 -/* Backward compatibility */ -# define ERR_put_error(lib, func, reason, file, line) \ - (ERR_new(), \ - ERR_set_debug((file), (line), OPENSSL_FUNC), \ - ERR_set_error((lib), (reason), NULL)) -# endif - +void ERR_put_error(int lib, int func, int reason, const char *file, int line); void ERR_set_error_data(char *data, int flags); unsigned long ERR_get_error(void); -/* - * TODO(3.0) consider if the following three functions should be deprecated. - * They all drop the error record from the error queue, so regardless of which - * one is used, the rest of the information is lost, making them not so useful. - * The recommendation should be to use the peek functions to extract all the - * additional data. - */ unsigned long ERR_get_error_line(const char **file, int *line); -unsigned long ERR_get_error_func(const char **func); -unsigned long ERR_get_error_data(const char **data, int *flags); -unsigned long ERR_get_error_all(const char **file, int *line, - const char **func, - const char **data, int *flags); -DEPRECATEDIN_3_0(unsigned long ERR_get_error_line_data(const char **file, - int *line, - const char **data, - int *flags)) +unsigned long ERR_get_error_line_data(const char **file, int *line, + const char **data, int *flags); unsigned long ERR_peek_error(void); unsigned long ERR_peek_error_line(const char **file, int *line); -unsigned long ERR_peek_error_func(const char **func); -unsigned long ERR_peek_error_data(const char **data, int *flags); -unsigned long ERR_peek_error_all(const char **file, int *line, - const char **func, - const char **data, int *flags); -DEPRECATEDIN_3_0(unsigned long ERR_peek_error_line_data(const char **file, - int *line, - const char **data, - int *flags)) +unsigned long ERR_peek_error_line_data(const char **file, int *line, + const char **data, int *flags); unsigned long ERR_peek_last_error(void); unsigned long ERR_peek_last_error_line(const char **file, int *line); -unsigned long ERR_peek_last_error_func(const char **func); -unsigned long ERR_peek_last_error_data(const char **data, int *flags); -unsigned long ERR_peek_last_error_all(const char **file, int *line, - const char **func, - const char **data, int *flags); -DEPRECATEDIN_3_0(unsigned long ERR_peek_last_error_line_data(const char **file, - int *line, - const char **data, - int *flags)) - +unsigned long ERR_peek_last_error_line_data(const char **file, int *line, + const char **data, int *flags); void ERR_clear_error(void); - char *ERR_error_string(unsigned long e, char *buf); void ERR_error_string_n(unsigned long e, char *buf, size_t len); const char *ERR_lib_error_string(unsigned long e); -DEPRECATEDIN_3_0(const char *ERR_func_error_string(unsigned long e)) +const char *ERR_func_error_string(unsigned long e); const char *ERR_reason_error_string(unsigned long e); - void ERR_print_errors_cb(int (*cb) (const char *str, size_t len, void *u), void *u); # ifndef OPENSSL_NO_STDIO void ERR_print_errors_fp(FILE *fp); # endif void ERR_print_errors(BIO *bp); - void ERR_add_error_data(int num, ...); void ERR_add_error_vdata(int num, va_list args); -void ERR_add_error_txt(const char *sepr, const char *txt); -void ERR_add_error_mem_bio(const char *sep, BIO *bio); - int ERR_load_strings(int lib, ERR_STRING_DATA *str); int ERR_load_strings_const(const ERR_STRING_DATA *str); int ERR_unload_strings(int lib, ERR_STRING_DATA *str); int ERR_load_ERR_strings(void); -#ifndef OPENSSL_NO_DEPRECATED_1_1_0 +#if OPENSSL_API_COMPAT < 0x10100000L # define ERR_load_crypto_strings() \ OPENSSL_init_crypto(OPENSSL_INIT_LOAD_CRYPTO_STRINGS, NULL) # define ERR_free_strings() while(0) continue @@ -349,7 +259,7 @@ int ERR_load_ERR_strings(void); DEPRECATEDIN_1_1_0(void ERR_remove_thread_state(void *)) DEPRECATEDIN_1_0_0(void ERR_remove_state(unsigned long pid)) -DEPRECATEDIN_3_0(ERR_STATE *ERR_get_state(void)) +ERR_STATE *ERR_get_state(void); int ERR_get_next_error_library(void); diff --git a/linux_amd64/include/openssl/evp.h b/linux_amd64/include/openssl/evp.h index 7aa56b3..a411f3f 100644 --- a/linux_amd64/include/openssl/evp.h +++ b/linux_amd64/include/openssl/evp.h @@ -1,30 +1,20 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_EVP_H -# define OPENSSL_EVP_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_ENVELOPE_H -# endif - -# include +#ifndef HEADER_ENVELOPE_H +# define HEADER_ENVELOPE_H # include -# include -# include +# include # include # include # include -# include # define EVP_MAX_MD_SIZE 64/* longest known is SHA512 */ # define EVP_MAX_KEY_LENGTH 64 @@ -77,8 +67,6 @@ extern "C" { #endif -int EVP_set_default_properties(OPENSSL_CTX *libctx, const char *propq); - # define EVP_PKEY_MO_SIGN 0x0001 # define EVP_PKEY_MO_VERIFY 0x0002 # define EVP_PKEY_MO_ENCRYPT 0x0004 @@ -255,7 +243,6 @@ int (*EVP_CIPHER_meth_get_ctrl(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX *, # define EVP_CIPH_XTS_MODE 0x10001 # define EVP_CIPH_WRAP_MODE 0x10002 # define EVP_CIPH_OCB_MODE 0x10003 -# define EVP_CIPH_SIV_MODE 0x10004 # define EVP_CIPH_MODE 0xF0007 /* Set if variable length cipher */ # define EVP_CIPH_VARIABLE_LENGTH 0x8 @@ -275,9 +262,8 @@ int (*EVP_CIPHER_meth_get_ctrl(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX *, # define EVP_CIPH_CUSTOM_COPY 0x400 /* Don't use standard iv length function */ # define EVP_CIPH_CUSTOM_IV_LENGTH 0x800 -/* Legacy and no longer relevant: Allow use default ASN1 get/set iv */ -# define EVP_CIPH_FLAG_DEFAULT_ASN1 0 -/* Free: 0x1000 */ +/* Allow use default ASN1 get/set iv */ +# define EVP_CIPH_FLAG_DEFAULT_ASN1 0x1000 /* Buffer length in bits not bytes: CFB1 mode only */ # define EVP_CIPH_FLAG_LENGTH_BITS 0x2000 /* Note if suitable for use in FIPS mode */ @@ -292,8 +278,6 @@ int (*EVP_CIPHER_meth_get_ctrl(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX *, # define EVP_CIPH_FLAG_TLS1_1_MULTIBLOCK 0x400000 /* Cipher can handle pipeline operations */ # define EVP_CIPH_FLAG_PIPELINE 0X800000 -/* For provider implementations that handle ASN1 get/set param themselves */ -# define EVP_CIPH_FLAG_CUSTOM_ASN1 0x1000000 /* * Cipher context flag to indicate we can handle wrap mode: if allowed in @@ -366,12 +350,8 @@ int (*EVP_CIPHER_meth_get_ctrl(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX *, # define EVP_CTRL_SET_PIPELINE_INPUT_BUFS 0x23 /* Set the input buffer lengths to use for a pipelined operation */ # define EVP_CTRL_SET_PIPELINE_INPUT_LENS 0x24 -/* Get the IV length used by the cipher */ + # define EVP_CTRL_GET_IVLEN 0x25 -/* Get the IV used by the cipher */ -# define EVP_CTRL_GET_IV 0x26 -/* Tell the cipher it's doing a speed test (SIV disallows multiple ops) */ -# define EVP_CTRL_SET_SPEED 0x27 /* Padding modes */ #define EVP_PADDING_PKCS7 1 @@ -427,30 +407,31 @@ typedef int (EVP_PBE_KEYGEN) (EVP_CIPHER_CTX *ctx, const char *pass, # ifndef OPENSSL_NO_RSA # define EVP_PKEY_assign_RSA(pkey,rsa) EVP_PKEY_assign((pkey),EVP_PKEY_RSA,\ - (rsa)) + (char *)(rsa)) # endif # ifndef OPENSSL_NO_DSA # define EVP_PKEY_assign_DSA(pkey,dsa) EVP_PKEY_assign((pkey),EVP_PKEY_DSA,\ - (dsa)) + (char *)(dsa)) # endif # ifndef OPENSSL_NO_DH -# define EVP_PKEY_assign_DH(pkey,dh) EVP_PKEY_assign((pkey),EVP_PKEY_DH,(dh)) +# define EVP_PKEY_assign_DH(pkey,dh) EVP_PKEY_assign((pkey),EVP_PKEY_DH,\ + (char *)(dh)) # endif # ifndef OPENSSL_NO_EC # define EVP_PKEY_assign_EC_KEY(pkey,eckey) EVP_PKEY_assign((pkey),EVP_PKEY_EC,\ - (eckey)) + (char *)(eckey)) # endif # ifndef OPENSSL_NO_SIPHASH -# define EVP_PKEY_assign_SIPHASH(pkey,shkey) EVP_PKEY_assign((pkey),\ - EVP_PKEY_SIPHASH,(shkey)) +# define EVP_PKEY_assign_SIPHASH(pkey,shkey) EVP_PKEY_assign((pkey),EVP_PKEY_SIPHASH,\ + (char *)(shkey)) # endif # ifndef OPENSSL_NO_POLY1305 -# define EVP_PKEY_assign_POLY1305(pkey,polykey) EVP_PKEY_assign((pkey),\ - EVP_PKEY_POLY1305,(polykey)) +# define EVP_PKEY_assign_POLY1305(pkey,polykey) EVP_PKEY_assign((pkey),EVP_PKEY_POLY1305,\ + (char *)(polykey)) # endif /* Add some extra combinations */ @@ -461,13 +442,7 @@ typedef int (EVP_PBE_KEYGEN) (EVP_CIPHER_CTX *ctx, const char *pass, int EVP_MD_type(const EVP_MD *md); # define EVP_MD_nid(e) EVP_MD_type(e) -const char *EVP_MD_name(const EVP_MD *md); -int EVP_MD_number(const EVP_MD *md); -int EVP_MD_is_a(const EVP_MD *md, const char *name); -void EVP_MD_names_do_all(const EVP_MD *md, - void (*fn)(const char *name, void *data), - void *data); -const OSSL_PROVIDER *EVP_MD_provider(const EVP_MD *md); +# define EVP_MD_name(e) OBJ_nid2sn(EVP_MD_nid(e)) int EVP_MD_pkey_type(const EVP_MD *md); int EVP_MD_size(const EVP_MD *md); int EVP_MD_block_size(const EVP_MD *md); @@ -479,7 +454,6 @@ int (*EVP_MD_CTX_update_fn(EVP_MD_CTX *ctx))(EVP_MD_CTX *ctx, void EVP_MD_CTX_set_update_fn(EVP_MD_CTX *ctx, int (*update) (EVP_MD_CTX *ctx, const void *data, size_t count)); -# define EVP_MD_CTX_name(e) EVP_MD_name(EVP_MD_CTX_md(e)) # define EVP_MD_CTX_size(e) EVP_MD_size(EVP_MD_CTX_md(e)) # define EVP_MD_CTX_block_size(e) EVP_MD_block_size(EVP_MD_CTX_md(e)) # define EVP_MD_CTX_type(e) EVP_MD_type(EVP_MD_CTX_md(e)) @@ -488,23 +462,13 @@ void EVP_MD_CTX_set_pkey_ctx(EVP_MD_CTX *ctx, EVP_PKEY_CTX *pctx); void *EVP_MD_CTX_md_data(const EVP_MD_CTX *ctx); int EVP_CIPHER_nid(const EVP_CIPHER *cipher); -const char *EVP_CIPHER_name(const EVP_CIPHER *cipher); -int EVP_CIPHER_number(const EVP_CIPHER *cipher); -int EVP_CIPHER_is_a(const EVP_CIPHER *cipher, const char *name); -void EVP_CIPHER_names_do_all(const EVP_CIPHER *cipher, - void (*fn)(const char *name, void *data), - void *data); -const OSSL_PROVIDER *EVP_CIPHER_provider(const EVP_CIPHER *cipher); +# define EVP_CIPHER_name(e) OBJ_nid2sn(EVP_CIPHER_nid(e)) int EVP_CIPHER_block_size(const EVP_CIPHER *cipher); int EVP_CIPHER_impl_ctx_size(const EVP_CIPHER *cipher); int EVP_CIPHER_key_length(const EVP_CIPHER *cipher); int EVP_CIPHER_iv_length(const EVP_CIPHER *cipher); unsigned long EVP_CIPHER_flags(const EVP_CIPHER *cipher); -int EVP_CIPHER_mode(const EVP_CIPHER *cipher); -EVP_CIPHER *EVP_CIPHER_fetch(OPENSSL_CTX *ctx, const char *algorithm, - const char *properties); -int EVP_CIPHER_up_ref(EVP_CIPHER *cipher); -void EVP_CIPHER_free(EVP_CIPHER *cipher); +# define EVP_CIPHER_mode(e) (EVP_CIPHER_flags(e) & EVP_CIPH_MODE) const EVP_CIPHER *EVP_CIPHER_CTX_cipher(const EVP_CIPHER_CTX *ctx); int EVP_CIPHER_CTX_encrypting(const EVP_CIPHER_CTX *ctx); @@ -512,21 +476,19 @@ int EVP_CIPHER_CTX_nid(const EVP_CIPHER_CTX *ctx); int EVP_CIPHER_CTX_block_size(const EVP_CIPHER_CTX *ctx); int EVP_CIPHER_CTX_key_length(const EVP_CIPHER_CTX *ctx); int EVP_CIPHER_CTX_iv_length(const EVP_CIPHER_CTX *ctx); -int EVP_CIPHER_CTX_tag_length(const EVP_CIPHER_CTX *ctx); const unsigned char *EVP_CIPHER_CTX_iv(const EVP_CIPHER_CTX *ctx); const unsigned char *EVP_CIPHER_CTX_original_iv(const EVP_CIPHER_CTX *ctx); unsigned char *EVP_CIPHER_CTX_iv_noconst(EVP_CIPHER_CTX *ctx); unsigned char *EVP_CIPHER_CTX_buf_noconst(EVP_CIPHER_CTX *ctx); int EVP_CIPHER_CTX_num(const EVP_CIPHER_CTX *ctx); -int EVP_CIPHER_CTX_set_num(EVP_CIPHER_CTX *ctx, int num); +void EVP_CIPHER_CTX_set_num(EVP_CIPHER_CTX *ctx, int num); int EVP_CIPHER_CTX_copy(EVP_CIPHER_CTX *out, const EVP_CIPHER_CTX *in); void *EVP_CIPHER_CTX_get_app_data(const EVP_CIPHER_CTX *ctx); void EVP_CIPHER_CTX_set_app_data(EVP_CIPHER_CTX *ctx, void *data); void *EVP_CIPHER_CTX_get_cipher_data(const EVP_CIPHER_CTX *ctx); void *EVP_CIPHER_CTX_set_cipher_data(EVP_CIPHER_CTX *ctx, void *cipher_data); -# define EVP_CIPHER_CTX_name(c) EVP_CIPHER_name(EVP_CIPHER_CTX_cipher(c)) # define EVP_CIPHER_CTX_type(c) EVP_CIPHER_type(EVP_CIPHER_CTX_cipher(c)) -# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +# if OPENSSL_API_COMPAT < 0x10100000L # define EVP_CIPHER_CTX_flags(c) EVP_CIPHER_flags(EVP_CIPHER_CTX_cipher(c)) # endif # define EVP_CIPHER_CTX_mode(c) EVP_CIPHER_mode(EVP_CIPHER_CTX_cipher(c)) @@ -542,17 +504,22 @@ void *EVP_CIPHER_CTX_set_cipher_data(EVP_CIPHER_CTX *ctx, void *cipher_data); # define EVP_VerifyUpdate(a,b,c) EVP_DigestUpdate(a,b,c) # define EVP_OpenUpdate(a,b,c,d,e) EVP_DecryptUpdate(a,b,c,d,e) # define EVP_SealUpdate(a,b,c,d,e) EVP_EncryptUpdate(a,b,c,d,e) +# define EVP_DigestSignUpdate(a,b,c) EVP_DigestUpdate(a,b,c) +# define EVP_DigestVerifyUpdate(a,b,c) EVP_DigestUpdate(a,b,c) # ifdef CONST_STRICT void BIO_set_md(BIO *, const EVP_MD *md); # else -# define BIO_set_md(b,md) BIO_ctrl(b,BIO_C_SET_MD,0,(void *)(md)) +# define BIO_set_md(b,md) BIO_ctrl(b,BIO_C_SET_MD,0,(char *)(md)) # endif -# define BIO_get_md(b,mdp) BIO_ctrl(b,BIO_C_GET_MD,0,(mdp)) -# define BIO_get_md_ctx(b,mdcp) BIO_ctrl(b,BIO_C_GET_MD_CTX,0,(mdcp)) -# define BIO_set_md_ctx(b,mdcp) BIO_ctrl(b,BIO_C_SET_MD_CTX,0,(mdcp)) +# define BIO_get_md(b,mdp) BIO_ctrl(b,BIO_C_GET_MD,0,(char *)(mdp)) +# define BIO_get_md_ctx(b,mdcp) BIO_ctrl(b,BIO_C_GET_MD_CTX,0, \ + (char *)(mdcp)) +# define BIO_set_md_ctx(b,mdcp) BIO_ctrl(b,BIO_C_SET_MD_CTX,0, \ + (char *)(mdcp)) # define BIO_get_cipher_status(b) BIO_ctrl(b,BIO_C_GET_CIPHER_STATUS,0,NULL) -# define BIO_get_cipher_ctx(b,c_pp) BIO_ctrl(b,BIO_C_GET_CIPHER_CTX,0,(c_pp)) +# define BIO_get_cipher_ctx(b,c_pp) BIO_ctrl(b,BIO_C_GET_CIPHER_CTX,0, \ + (char *)(c_pp)) /*__owur*/ int EVP_Cipher(EVP_CIPHER_CTX *c, unsigned char *out, @@ -567,14 +534,6 @@ void BIO_set_md(BIO *, const EVP_MD *md); # define EVP_delete_digest_alias(alias) \ OBJ_NAME_remove(alias,OBJ_NAME_TYPE_MD_METH|OBJ_NAME_ALIAS); -int EVP_MD_get_params(const EVP_MD *digest, OSSL_PARAM params[]); -int EVP_MD_CTX_set_params(EVP_MD_CTX *ctx, const OSSL_PARAM params[]); -int EVP_MD_CTX_get_params(EVP_MD_CTX *ctx, OSSL_PARAM params[]); -const OSSL_PARAM *EVP_MD_gettable_params(const EVP_MD *digest); -const OSSL_PARAM *EVP_MD_settable_ctx_params(const EVP_MD *md); -const OSSL_PARAM *EVP_MD_gettable_ctx_params(const EVP_MD *md); -const OSSL_PARAM *EVP_MD_CTX_settable_params(EVP_MD_CTX *ctx); -const OSSL_PARAM *EVP_MD_CTX_gettable_params(EVP_MD_CTX *ctx); int EVP_MD_CTX_ctrl(EVP_MD_CTX *ctx, int cmd, int p1, void *p2); EVP_MD_CTX *EVP_MD_CTX_new(void); int EVP_MD_CTX_reset(EVP_MD_CTX *ctx); @@ -603,11 +562,6 @@ __owur int EVP_DigestFinal(EVP_MD_CTX *ctx, unsigned char *md, __owur int EVP_DigestFinalXOF(EVP_MD_CTX *ctx, unsigned char *md, size_t len); -__owur EVP_MD *EVP_MD_fetch(OPENSSL_CTX *ctx, const char *algorithm, - const char *properties); -int EVP_MD_up_ref(EVP_MD *md); -void EVP_MD_free(EVP_MD *md); - int EVP_read_pw_string(char *buf, int length, const char *prompt, int verify); int EVP_read_pw_string_min(char *buf, int minlen, int maxlen, const char *prompt, int verify); @@ -677,23 +631,15 @@ __owur int EVP_DigestVerify(EVP_MD_CTX *ctx, const unsigned char *sigret, size_t siglen, const unsigned char *tbs, size_t tbslen); -int EVP_DigestSignInit_ex(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx, - const char *mdname, const char *props, - EVP_PKEY *pkey); /*__owur*/ int EVP_DigestSignInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx, const EVP_MD *type, ENGINE *e, EVP_PKEY *pkey); -int EVP_DigestSignUpdate(EVP_MD_CTX *ctx, const void *data, size_t dsize); __owur int EVP_DigestSignFinal(EVP_MD_CTX *ctx, unsigned char *sigret, size_t *siglen); -int EVP_DigestVerifyInit_ex(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx, - const char *mdname, const char *props, - EVP_PKEY *pkey); __owur int EVP_DigestVerifyInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx, const EVP_MD *type, ENGINE *e, EVP_PKEY *pkey); -int EVP_DigestVerifyUpdate(EVP_MD_CTX *ctx, const void *data, size_t dsize); __owur int EVP_DigestVerifyFinal(EVP_MD_CTX *ctx, const unsigned char *sig, size_t siglen); @@ -711,7 +657,7 @@ __owur int EVP_SealFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl); EVP_ENCODE_CTX *EVP_ENCODE_CTX_new(void); void EVP_ENCODE_CTX_free(EVP_ENCODE_CTX *ctx); -int EVP_ENCODE_CTX_copy(EVP_ENCODE_CTX *dctx, const EVP_ENCODE_CTX *sctx); +int EVP_ENCODE_CTX_copy(EVP_ENCODE_CTX *dctx, EVP_ENCODE_CTX *sctx); int EVP_ENCODE_CTX_num(EVP_ENCODE_CTX *ctx); void EVP_EncodeInit(EVP_ENCODE_CTX *ctx); int EVP_EncodeUpdate(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl, @@ -726,7 +672,7 @@ int EVP_DecodeFinal(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl); int EVP_DecodeBlock(unsigned char *t, const unsigned char *f, int n); -# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +# if OPENSSL_API_COMPAT < 0x10100000L # define EVP_CIPHER_CTX_init(c) EVP_CIPHER_CTX_reset(c) # define EVP_CIPHER_CTX_cleanup(c) EVP_CIPHER_CTX_reset(c) # endif @@ -737,12 +683,6 @@ int EVP_CIPHER_CTX_set_key_length(EVP_CIPHER_CTX *x, int keylen); int EVP_CIPHER_CTX_set_padding(EVP_CIPHER_CTX *c, int pad); int EVP_CIPHER_CTX_ctrl(EVP_CIPHER_CTX *ctx, int type, int arg, void *ptr); int EVP_CIPHER_CTX_rand_key(EVP_CIPHER_CTX *ctx, unsigned char *key); -int EVP_CIPHER_get_params(EVP_CIPHER *cipher, OSSL_PARAM params[]); -int EVP_CIPHER_CTX_set_params(EVP_CIPHER_CTX *ctx, const OSSL_PARAM params[]); -int EVP_CIPHER_CTX_get_params(EVP_CIPHER_CTX *ctx, OSSL_PARAM params[]); -const OSSL_PARAM *EVP_CIPHER_gettable_params(const EVP_CIPHER *cipher); -const OSSL_PARAM *EVP_CIPHER_settable_ctx_params(const EVP_CIPHER *cipher); -const OSSL_PARAM *EVP_CIPHER_gettable_ctx_params(const EVP_CIPHER *cipher); const BIO_METHOD *BIO_f_md(void); const BIO_METHOD *BIO_f_base64(void); @@ -779,7 +719,6 @@ const EVP_MD *EVP_sha3_384(void); const EVP_MD *EVP_sha3_512(void); const EVP_MD *EVP_shake128(void); const EVP_MD *EVP_shake256(void); - # ifndef OPENSSL_NO_MDC2 const EVP_MD *EVP_mdc2(void); # endif @@ -918,11 +857,6 @@ const EVP_CIPHER *EVP_aes_128_cbc_hmac_sha1(void); const EVP_CIPHER *EVP_aes_256_cbc_hmac_sha1(void); const EVP_CIPHER *EVP_aes_128_cbc_hmac_sha256(void); const EVP_CIPHER *EVP_aes_256_cbc_hmac_sha256(void); -# ifndef OPENSSL_NO_SIV -const EVP_CIPHER *EVP_aes_128_siv(void); -const EVP_CIPHER *EVP_aes_192_siv(void); -const EVP_CIPHER *EVP_aes_256_siv(void); -# endif # ifndef OPENSSL_NO_ARIA const EVP_CIPHER *EVP_aria_128_ecb(void); const EVP_CIPHER *EVP_aria_128_cbc(void); @@ -1005,7 +939,7 @@ const EVP_CIPHER *EVP_sm4_ofb(void); const EVP_CIPHER *EVP_sm4_ctr(void); # endif -# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +# if OPENSSL_API_COMPAT < 0x10100000L # define OPENSSL_add_all_algorithms_conf() \ OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS \ | OPENSSL_INIT_ADD_ALL_DIGESTS \ @@ -1040,9 +974,6 @@ void EVP_CIPHER_do_all(void (*fn) (const EVP_CIPHER *ciph, void EVP_CIPHER_do_all_sorted(void (*fn) (const EVP_CIPHER *ciph, const char *from, const char *to, void *x), void *arg); -void EVP_CIPHER_do_all_provided(OPENSSL_CTX *libctx, - void (*fn)(EVP_CIPHER *cipher, void *arg), - void *arg); void EVP_MD_do_all(void (*fn) (const EVP_MD *ciph, const char *from, const char *to, void *x), @@ -1050,52 +981,13 @@ void EVP_MD_do_all(void (*fn) (const EVP_MD *ciph, void EVP_MD_do_all_sorted(void (*fn) (const EVP_MD *ciph, const char *from, const char *to, void *x), void *arg); -void EVP_MD_do_all_provided(OPENSSL_CTX *libctx, - void (*fn)(EVP_MD *md, void *arg), - void *arg); -/* MAC stuff */ - -EVP_MAC *EVP_MAC_fetch(OPENSSL_CTX *libctx, const char *algorithm, - const char *properties); -int EVP_MAC_up_ref(EVP_MAC *mac); -void EVP_MAC_free(EVP_MAC *mac); -int EVP_MAC_number(const EVP_MAC *mac); -int EVP_MAC_is_a(const EVP_MAC *mac, const char *name); -const OSSL_PROVIDER *EVP_MAC_provider(const EVP_MAC *mac); -int EVP_MAC_get_params(EVP_MAC *mac, OSSL_PARAM params[]); - -EVP_MAC_CTX *EVP_MAC_CTX_new(EVP_MAC *mac); -void EVP_MAC_CTX_free(EVP_MAC_CTX *ctx); -EVP_MAC_CTX *EVP_MAC_CTX_dup(const EVP_MAC_CTX *src); -EVP_MAC *EVP_MAC_CTX_mac(EVP_MAC_CTX *ctx); -int EVP_MAC_CTX_get_params(EVP_MAC_CTX *ctx, OSSL_PARAM params[]); -int EVP_MAC_CTX_set_params(EVP_MAC_CTX *ctx, const OSSL_PARAM params[]); - -size_t EVP_MAC_size(EVP_MAC_CTX *ctx); -int EVP_MAC_init(EVP_MAC_CTX *ctx); -int EVP_MAC_update(EVP_MAC_CTX *ctx, const unsigned char *data, size_t datalen); -int EVP_MAC_final(EVP_MAC_CTX *ctx, - unsigned char *out, size_t *outl, size_t outsize); -const OSSL_PARAM *EVP_MAC_gettable_params(const EVP_MAC *mac); -const OSSL_PARAM *EVP_MAC_gettable_ctx_params(const EVP_MAC *mac); -const OSSL_PARAM *EVP_MAC_settable_ctx_params(const EVP_MAC *mac); - -void EVP_MAC_do_all_provided(OPENSSL_CTX *libctx, - void (*fn)(EVP_MAC *mac, void *arg), - void *arg); -void EVP_MAC_names_do_all(const EVP_MAC *mac, - void (*fn)(const char *name, void *data), - void *data); - -/* PKEY stuff */ -DEPRECATEDIN_3_0(int EVP_PKEY_decrypt_old(unsigned char *dec_key, - const unsigned char *enc_key, - int enc_key_len, - EVP_PKEY *private_key)) -DEPRECATEDIN_3_0(int EVP_PKEY_encrypt_old(unsigned char *enc_key, - const unsigned char *key, - int key_len, EVP_PKEY *pub_key)) +int EVP_PKEY_decrypt_old(unsigned char *dec_key, + const unsigned char *enc_key, int enc_key_len, + EVP_PKEY *private_key); +int EVP_PKEY_encrypt_old(unsigned char *enc_key, + const unsigned char *key, int key_len, + EVP_PKEY *pub_key); int EVP_PKEY_type(int type); int EVP_PKEY_id(const EVP_PKEY *pkey); int EVP_PKEY_base_id(const EVP_PKEY *pkey); @@ -1122,25 +1014,25 @@ const unsigned char *EVP_PKEY_get0_siphash(const EVP_PKEY *pkey, size_t *len); # ifndef OPENSSL_NO_RSA struct rsa_st; int EVP_PKEY_set1_RSA(EVP_PKEY *pkey, struct rsa_st *key); -struct rsa_st *EVP_PKEY_get0_RSA(const EVP_PKEY *pkey); +struct rsa_st *EVP_PKEY_get0_RSA(EVP_PKEY *pkey); struct rsa_st *EVP_PKEY_get1_RSA(EVP_PKEY *pkey); # endif # ifndef OPENSSL_NO_DSA struct dsa_st; int EVP_PKEY_set1_DSA(EVP_PKEY *pkey, struct dsa_st *key); -struct dsa_st *EVP_PKEY_get0_DSA(const EVP_PKEY *pkey); +struct dsa_st *EVP_PKEY_get0_DSA(EVP_PKEY *pkey); struct dsa_st *EVP_PKEY_get1_DSA(EVP_PKEY *pkey); # endif # ifndef OPENSSL_NO_DH struct dh_st; int EVP_PKEY_set1_DH(EVP_PKEY *pkey, struct dh_st *key); -struct dh_st *EVP_PKEY_get0_DH(const EVP_PKEY *pkey); +struct dh_st *EVP_PKEY_get0_DH(EVP_PKEY *pkey); struct dh_st *EVP_PKEY_get1_DH(EVP_PKEY *pkey); # endif # ifndef OPENSSL_NO_EC struct ec_key_st; int EVP_PKEY_set1_EC_KEY(EVP_PKEY *pkey, struct ec_key_st *key); -struct ec_key_st *EVP_PKEY_get0_EC_KEY(const EVP_PKEY *pkey); +struct ec_key_st *EVP_PKEY_get0_EC_KEY(EVP_PKEY *pkey); struct ec_key_st *EVP_PKEY_get1_EC_KEY(EVP_PKEY *pkey); # endif @@ -1150,19 +1042,13 @@ void EVP_PKEY_free(EVP_PKEY *pkey); EVP_PKEY *d2i_PublicKey(int type, EVP_PKEY **a, const unsigned char **pp, long length); -int i2d_PublicKey(const EVP_PKEY *a, unsigned char **pp); +int i2d_PublicKey(EVP_PKEY *a, unsigned char **pp); EVP_PKEY *d2i_PrivateKey(int type, EVP_PKEY **a, const unsigned char **pp, long length); EVP_PKEY *d2i_AutoPrivateKey(EVP_PKEY **a, const unsigned char **pp, long length); -int i2d_PrivateKey(const EVP_PKEY *a, unsigned char **pp); - -int i2d_KeyParams(const EVP_PKEY *a, unsigned char **pp); -EVP_PKEY *d2i_KeyParams(int type, EVP_PKEY **a, const unsigned char **pp, - long length); -int i2d_KeyParams_bio(BIO *bp, const EVP_PKEY *pkey); -EVP_PKEY *d2i_KeyParams_bio(int type, EVP_PKEY **a, BIO *in); +int i2d_PrivateKey(EVP_PKEY *a, unsigned char **pp); int EVP_PKEY_copy_parameters(EVP_PKEY *to, const EVP_PKEY *from); int EVP_PKEY_missing_parameters(const EVP_PKEY *pkey); @@ -1179,9 +1065,6 @@ int EVP_PKEY_print_params(BIO *out, const EVP_PKEY *pkey, int indent, ASN1_PCTX *pctx); int EVP_PKEY_get_default_digest_nid(EVP_PKEY *pkey, int *pnid); -int EVP_PKEY_get_default_digest_name(EVP_PKEY *pkey, - char *mdname, size_t mdname_sz); -int EVP_PKEY_supports_digest_nid(EVP_PKEY *pkey, int nid); int EVP_PKEY_set1_tls_encodedpoint(EVP_PKEY *pkey, const unsigned char *pt, size_t ptlen); @@ -1258,7 +1141,6 @@ int EVP_PBE_get(int *ptype, int *ppbe_nid, size_t num); # define ASN1_PKEY_CTRL_SET1_TLS_ENCPT 0x9 # define ASN1_PKEY_CTRL_GET1_TLS_ENCPT 0xa -# define ASN1_PKEY_CTRL_SUPPORTS_MD_NID 0xb int EVP_PKEY_asn1_get_count(void); const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_get0(int idx); @@ -1372,22 +1254,17 @@ void EVP_PKEY_asn1_set_security_bits(EVP_PKEY_ASN1_METHOD *ameth, int (*pkey_security_bits) (const EVP_PKEY *pk)); -int EVP_PKEY_CTX_get_signature_md(EVP_PKEY_CTX *ctx, const EVP_MD **md); -int EVP_PKEY_CTX_set_signature_md(EVP_PKEY_CTX *ctx, const EVP_MD *md); - # define EVP_PKEY_OP_UNDEFINED 0 # define EVP_PKEY_OP_PARAMGEN (1<<1) # define EVP_PKEY_OP_KEYGEN (1<<2) -# define EVP_PKEY_OP_PARAMFROMDATA (1<<3) -# define EVP_PKEY_OP_KEYFROMDATA (1<<4) -# define EVP_PKEY_OP_SIGN (1<<5) -# define EVP_PKEY_OP_VERIFY (1<<6) -# define EVP_PKEY_OP_VERIFYRECOVER (1<<7) -# define EVP_PKEY_OP_SIGNCTX (1<<8) -# define EVP_PKEY_OP_VERIFYCTX (1<<9) -# define EVP_PKEY_OP_ENCRYPT (1<<10) -# define EVP_PKEY_OP_DECRYPT (1<<11) -# define EVP_PKEY_OP_DERIVE (1<<12) +# define EVP_PKEY_OP_SIGN (1<<3) +# define EVP_PKEY_OP_VERIFY (1<<4) +# define EVP_PKEY_OP_VERIFYRECOVER (1<<5) +# define EVP_PKEY_OP_SIGNCTX (1<<6) +# define EVP_PKEY_OP_VERIFYCTX (1<<7) +# define EVP_PKEY_OP_ENCRYPT (1<<8) +# define EVP_PKEY_OP_DECRYPT (1<<9) +# define EVP_PKEY_OP_DERIVE (1<<10) # define EVP_PKEY_OP_TYPE_SIG \ (EVP_PKEY_OP_SIGN | EVP_PKEY_OP_VERIFY | EVP_PKEY_OP_VERIFYRECOVER \ @@ -1400,10 +1277,15 @@ int EVP_PKEY_CTX_set_signature_md(EVP_PKEY_CTX *ctx, const EVP_MD *md); (EVP_PKEY_OP_TYPE_SIG | EVP_PKEY_OP_TYPE_CRYPT | EVP_PKEY_OP_DERIVE) # define EVP_PKEY_OP_TYPE_GEN \ - (EVP_PKEY_OP_PARAMGEN | EVP_PKEY_OP_KEYGEN) + (EVP_PKEY_OP_PARAMGEN | EVP_PKEY_OP_KEYGEN) -# define EVP_PKEY_OP_TYPE_FROMDATA \ - (EVP_PKEY_OP_PARAMFROMDATA | EVP_PKEY_OP_KEYFROMDATA) +# define EVP_PKEY_CTX_set_signature_md(ctx, md) \ + EVP_PKEY_CTX_ctrl(ctx, -1, EVP_PKEY_OP_TYPE_SIG, \ + EVP_PKEY_CTRL_MD, 0, (void *)(md)) + +# define EVP_PKEY_CTX_get_signature_md(ctx, pmd) \ + EVP_PKEY_CTX_ctrl(ctx, -1, EVP_PKEY_OP_TYPE_SIG, \ + EVP_PKEY_CTRL_GET_MD, 0, (void *)(pmd)) # define EVP_PKEY_CTX_set_mac_key(ctx, key, len) \ EVP_PKEY_CTX_ctrl(ctx, -1, EVP_PKEY_OP_KEYGEN, \ @@ -1453,34 +1335,11 @@ int EVP_PKEY_meth_remove(const EVP_PKEY_METHOD *pmeth); size_t EVP_PKEY_meth_get_count(void); const EVP_PKEY_METHOD *EVP_PKEY_meth_get0(size_t idx); -EVP_KEYMGMT *EVP_KEYMGMT_fetch(OPENSSL_CTX *ctx, const char *algorithm, - const char *properties); -int EVP_KEYMGMT_up_ref(EVP_KEYMGMT *keymgmt); -void EVP_KEYMGMT_free(EVP_KEYMGMT *keymgmt); -const OSSL_PROVIDER *EVP_KEYMGMT_provider(const EVP_KEYMGMT *keymgmt); -int EVP_KEYMGMT_number(const EVP_KEYMGMT *keymgmt); -int EVP_KEYMGMT_is_a(const EVP_KEYMGMT *keymgmt, const char *name); -void EVP_KEYMGMT_do_all_provided(OPENSSL_CTX *libctx, - void (*fn)(EVP_KEYMGMT *keymgmt, void *arg), - void *arg); -void EVP_KEYMGMT_names_do_all(const EVP_KEYMGMT *keymgmt, - void (*fn)(const char *name, void *data), - void *data); - EVP_PKEY_CTX *EVP_PKEY_CTX_new(EVP_PKEY *pkey, ENGINE *e); EVP_PKEY_CTX *EVP_PKEY_CTX_new_id(int id, ENGINE *e); -EVP_PKEY_CTX *EVP_PKEY_CTX_new_from_name(OPENSSL_CTX *libctx, - const char *name, - const char *propquery); -EVP_PKEY_CTX *EVP_PKEY_CTX_new_from_pkey(OPENSSL_CTX *libctx, - EVP_PKEY *pkey, const char *propquery); -EVP_PKEY_CTX *EVP_PKEY_CTX_dup(const EVP_PKEY_CTX *ctx); +EVP_PKEY_CTX *EVP_PKEY_CTX_dup(EVP_PKEY_CTX *ctx); void EVP_PKEY_CTX_free(EVP_PKEY_CTX *ctx); -int EVP_PKEY_CTX_get_params(EVP_PKEY_CTX *ctx, OSSL_PARAM *params); -const OSSL_PARAM *EVP_PKEY_CTX_gettable_params(EVP_PKEY_CTX *ctx); -int EVP_PKEY_CTX_set_params(EVP_PKEY_CTX *ctx, OSSL_PARAM *params); -const OSSL_PARAM *EVP_PKEY_CTX_settable_params(EVP_PKEY_CTX *ctx); int EVP_PKEY_CTX_ctrl(EVP_PKEY_CTX *ctx, int keytype, int optype, int cmd, int p1, void *p2); int EVP_PKEY_CTX_ctrl_str(EVP_PKEY_CTX *ctx, const char *type, @@ -1513,7 +1372,7 @@ EVP_PKEY *EVP_PKEY_new_CMAC_key(ENGINE *e, const unsigned char *priv, size_t len, const EVP_CIPHER *cipher); void EVP_PKEY_CTX_set_data(EVP_PKEY_CTX *ctx, void *data); -void *EVP_PKEY_CTX_get_data(const EVP_PKEY_CTX *ctx); +void *EVP_PKEY_CTX_get_data(EVP_PKEY_CTX *ctx); EVP_PKEY *EVP_PKEY_CTX_get0_pkey(EVP_PKEY_CTX *ctx); EVP_PKEY *EVP_PKEY_CTX_get0_peerkey(EVP_PKEY_CTX *ctx); @@ -1521,36 +1380,6 @@ EVP_PKEY *EVP_PKEY_CTX_get0_peerkey(EVP_PKEY_CTX *ctx); void EVP_PKEY_CTX_set_app_data(EVP_PKEY_CTX *ctx, void *data); void *EVP_PKEY_CTX_get_app_data(EVP_PKEY_CTX *ctx); -void EVP_SIGNATURE_free(EVP_SIGNATURE *signature); -int EVP_SIGNATURE_up_ref(EVP_SIGNATURE *signature); -OSSL_PROVIDER *EVP_SIGNATURE_provider(const EVP_SIGNATURE *signature); -EVP_SIGNATURE *EVP_SIGNATURE_fetch(OPENSSL_CTX *ctx, const char *algorithm, - const char *properties); -int EVP_SIGNATURE_is_a(const EVP_SIGNATURE *signature, const char *name); -int EVP_SIGNATURE_number(const EVP_SIGNATURE *signature); -void EVP_SIGNATURE_do_all_provided(OPENSSL_CTX *libctx, - void (*fn)(EVP_SIGNATURE *signature, - void *data), - void *data); -void EVP_SIGNATURE_names_do_all(const EVP_SIGNATURE *signature, - void (*fn)(const char *name, void *data), - void *data); - -void EVP_ASYM_CIPHER_free(EVP_ASYM_CIPHER *cipher); -int EVP_ASYM_CIPHER_up_ref(EVP_ASYM_CIPHER *cipher); -OSSL_PROVIDER *EVP_ASYM_CIPHER_provider(const EVP_ASYM_CIPHER *cipher); -EVP_ASYM_CIPHER *EVP_ASYM_CIPHER_fetch(OPENSSL_CTX *ctx, const char *algorithm, - const char *properties); -int EVP_ASYM_CIPHER_is_a(const EVP_ASYM_CIPHER *cipher, const char *name); -int EVP_ASYM_CIPHER_number(const EVP_ASYM_CIPHER *cipher); -void EVP_ASYM_CIPHER_do_all_provided(OPENSSL_CTX *libctx, - void (*fn)(EVP_ASYM_CIPHER *cipher, - void *arg), - void *arg); -void EVP_ASYM_CIPHER_names_do_all(const EVP_ASYM_CIPHER *cipher, - void (*fn)(const char *name, void *data), - void *data); - int EVP_PKEY_sign_init(EVP_PKEY_CTX *ctx); int EVP_PKEY_sign(EVP_PKEY_CTX *ctx, unsigned char *sig, size_t *siglen, @@ -1578,11 +1407,6 @@ int EVP_PKEY_derive(EVP_PKEY_CTX *ctx, unsigned char *key, size_t *keylen); typedef int EVP_PKEY_gen_cb(EVP_PKEY_CTX *ctx); -int EVP_PKEY_param_fromdata_init(EVP_PKEY_CTX *ctx); -int EVP_PKEY_key_fromdata_init(EVP_PKEY_CTX *ctx); -int EVP_PKEY_fromdata(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey, OSSL_PARAM param[]); -const OSSL_PARAM *EVP_PKEY_param_fromdata_settable(EVP_PKEY_CTX *ctx); -const OSSL_PARAM *EVP_PKEY_key_fromdata_settable(EVP_PKEY_CTX *ctx); int EVP_PKEY_paramgen_init(EVP_PKEY_CTX *ctx); int EVP_PKEY_paramgen(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey); int EVP_PKEY_keygen_init(EVP_PKEY_CTX *ctx); @@ -1590,8 +1414,6 @@ int EVP_PKEY_keygen(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey); int EVP_PKEY_check(EVP_PKEY_CTX *ctx); int EVP_PKEY_public_check(EVP_PKEY_CTX *ctx); int EVP_PKEY_param_check(EVP_PKEY_CTX *ctx); -int EVP_PKEY_private_check(EVP_PKEY_CTX *ctx); -int EVP_PKEY_pairwise_check(EVP_PKEY_CTX *ctx); void EVP_PKEY_CTX_set_cb(EVP_PKEY_CTX *ctx, EVP_PKEY_gen_cb *cb); EVP_PKEY_gen_cb *EVP_PKEY_CTX_get_cb(EVP_PKEY_CTX *ctx); @@ -1603,7 +1425,7 @@ void EVP_PKEY_meth_set_init(EVP_PKEY_METHOD *pmeth, void EVP_PKEY_meth_set_copy(EVP_PKEY_METHOD *pmeth, int (*copy) (EVP_PKEY_CTX *dst, - const EVP_PKEY_CTX *src)); + EVP_PKEY_CTX *src)); void EVP_PKEY_meth_set_cleanup(EVP_PKEY_METHOD *pmeth, void (*cleanup) (EVP_PKEY_CTX *ctx)); @@ -1722,7 +1544,7 @@ void EVP_PKEY_meth_get_init(const EVP_PKEY_METHOD *pmeth, void EVP_PKEY_meth_get_copy(const EVP_PKEY_METHOD *pmeth, int (**pcopy) (EVP_PKEY_CTX *dst, - const EVP_PKEY_CTX *src)); + EVP_PKEY_CTX *src)); void EVP_PKEY_meth_get_cleanup(const EVP_PKEY_METHOD *pmeth, void (**pcleanup) (EVP_PKEY_CTX *ctx)); @@ -1835,31 +1657,8 @@ void EVP_PKEY_meth_get_param_check(const EVP_PKEY_METHOD *pmeth, void EVP_PKEY_meth_get_digest_custom(EVP_PKEY_METHOD *pmeth, int (**pdigest_custom) (EVP_PKEY_CTX *ctx, EVP_MD_CTX *mctx)); - -void EVP_KEYEXCH_free(EVP_KEYEXCH *exchange); -int EVP_KEYEXCH_up_ref(EVP_KEYEXCH *exchange); -EVP_KEYEXCH *EVP_KEYEXCH_fetch(OPENSSL_CTX *ctx, const char *algorithm, - const char *properties); -OSSL_PROVIDER *EVP_KEYEXCH_provider(const EVP_KEYEXCH *exchange); -int EVP_KEYEXCH_is_a(const EVP_KEYEXCH *keyexch, const char *name); -int EVP_KEYEXCH_number(const EVP_KEYEXCH *keyexch); -void EVP_KEYEXCH_do_all_provided(OPENSSL_CTX *libctx, - void (*fn)(EVP_KEYEXCH *keyexch, void *data), - void *data); -void EVP_KEYEXCH_names_do_all(const EVP_KEYEXCH *keyexch, - void (*fn)(const char *name, void *data), - void *data); - void EVP_add_alg_module(void); -/* - * Convenient helper functions to transfer string based controls. - * The callback gets called with the parsed value. - */ -int EVP_str2ctrl(int (*cb)(void *ctx, int cmd, void *buf, size_t buflen), - void *ctx, int cmd, const char *value); -int EVP_hex2ctrl(int (*cb)(void *ctx, int cmd, void *buf, size_t buflen), - void *ctx, int cmd, const char *hex); # ifdef __cplusplus } diff --git a/linux_amd64/include/openssl/evperr.h b/linux_amd64/include/openssl/evperr.h index 7744465..52413d1 100644 --- a/linux_amd64/include/openssl/evperr.h +++ b/linux_amd64/include/openssl/evperr.h @@ -2,25 +2,19 @@ * Generated by util/mkerr.pl DO NOT EDIT * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_EVPERR_H -# define OPENSSL_EVPERR_H -# pragma once +#ifndef HEADER_EVPERR_H +# define HEADER_EVPERR_H -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_EVPERR_H +# ifndef HEADER_SYMHACKS_H +# include # endif -# include -# include - - # ifdef __cplusplus extern "C" # endif @@ -29,155 +23,120 @@ int ERR_load_EVP_strings(void); /* * EVP function codes. */ -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define EVP_F_AESNI_INIT_KEY 0 -# define EVP_F_AESNI_XTS_INIT_KEY 0 -# define EVP_F_AES_GCM_CTRL 0 -# define EVP_F_AES_GCM_TLS_CIPHER 0 -# define EVP_F_AES_INIT_KEY 0 -# define EVP_F_AES_OCB_CIPHER 0 -# define EVP_F_AES_T4_INIT_KEY 0 -# define EVP_F_AES_T4_XTS_INIT_KEY 0 -# define EVP_F_AES_WRAP_CIPHER 0 -# define EVP_F_AES_XTS_CIPHER 0 -# define EVP_F_AES_XTS_INIT_KEY 0 -# define EVP_F_ALG_MODULE_INIT 0 -# define EVP_F_ARIA_CCM_INIT_KEY 0 -# define EVP_F_ARIA_GCM_CTRL 0 -# define EVP_F_ARIA_GCM_INIT_KEY 0 -# define EVP_F_ARIA_INIT_KEY 0 -# define EVP_F_B64_NEW 0 -# define EVP_F_CAMELLIA_INIT_KEY 0 -# define EVP_F_CHACHA20_POLY1305_CTRL 0 -# define EVP_F_CMLL_T4_INIT_KEY 0 -# define EVP_F_DES_EDE3_WRAP_CIPHER 0 -# define EVP_F_DO_SIGVER_INIT 0 -# define EVP_F_ENC_NEW 0 -# define EVP_F_EVP_CIPHERINIT_EX 0 -# define EVP_F_EVP_CIPHER_ASN1_TO_PARAM 0 -# define EVP_F_EVP_CIPHER_CTX_COPY 0 -# define EVP_F_EVP_CIPHER_CTX_CTRL 0 -# define EVP_F_EVP_CIPHER_CTX_SET_KEY_LENGTH 0 -# define EVP_F_EVP_CIPHER_CTX_SET_PADDING 0 -# define EVP_F_EVP_CIPHER_FROM_DISPATCH 0 -# define EVP_F_EVP_CIPHER_MODE 0 -# define EVP_F_EVP_CIPHER_PARAM_TO_ASN1 0 -# define EVP_F_EVP_DECRYPTFINAL_EX 0 -# define EVP_F_EVP_DECRYPTUPDATE 0 -# define EVP_F_EVP_DIGESTFINALXOF 0 -# define EVP_F_EVP_DIGESTFINAL_EX 0 -# define EVP_F_EVP_DIGESTINIT_EX 0 -# define EVP_F_EVP_DIGESTUPDATE 0 -# define EVP_F_EVP_ENCRYPTDECRYPTUPDATE 0 -# define EVP_F_EVP_ENCRYPTFINAL_EX 0 -# define EVP_F_EVP_ENCRYPTUPDATE 0 -# define EVP_F_EVP_KDF_CTX_DUP 0 -# define EVP_F_EVP_KDF_CTX_NEW 0 -# define EVP_F_EVP_KEYEXCH_FETCH 0 -# define EVP_F_EVP_KEYEXCH_FROM_DISPATCH 0 -# define EVP_F_EVP_MAC_CTRL 0 -# define EVP_F_EVP_MAC_CTRL_STR 0 -# define EVP_F_EVP_MAC_CTX_DUP 0 -# define EVP_F_EVP_MAC_CTX_NEW 0 -# define EVP_F_EVP_MAC_INIT 0 -# define EVP_F_EVP_MD_BLOCK_SIZE 0 -# define EVP_F_EVP_MD_CTX_COPY_EX 0 -# define EVP_F_EVP_MD_SIZE 0 -# define EVP_F_EVP_OPENINIT 0 -# define EVP_F_EVP_PBE_ALG_ADD 0 -# define EVP_F_EVP_PBE_ALG_ADD_TYPE 0 -# define EVP_F_EVP_PBE_CIPHERINIT 0 -# define EVP_F_EVP_PBE_SCRYPT 0 -# define EVP_F_EVP_PKCS82PKEY 0 -# define EVP_F_EVP_PKEY2PKCS8 0 -# define EVP_F_EVP_PKEY_ASN1_ADD0 0 -# define EVP_F_EVP_PKEY_CHECK 0 -# define EVP_F_EVP_PKEY_COPY_PARAMETERS 0 -# define EVP_F_EVP_PKEY_CTX_CTRL 0 -# define EVP_F_EVP_PKEY_CTX_CTRL_STR 0 -# define EVP_F_EVP_PKEY_CTX_DUP 0 -# define EVP_F_EVP_PKEY_CTX_MD 0 -# define EVP_F_EVP_PKEY_DECRYPT 0 -# define EVP_F_EVP_PKEY_DECRYPT_INIT 0 -# define EVP_F_EVP_PKEY_DECRYPT_OLD 0 -# define EVP_F_EVP_PKEY_DERIVE 0 -# define EVP_F_EVP_PKEY_DERIVE_INIT 0 -# define EVP_F_EVP_PKEY_DERIVE_INIT_EX 0 -# define EVP_F_EVP_PKEY_DERIVE_SET_PEER 0 -# define EVP_F_EVP_PKEY_ENCRYPT 0 -# define EVP_F_EVP_PKEY_ENCRYPT_INIT 0 -# define EVP_F_EVP_PKEY_ENCRYPT_OLD 0 -# define EVP_F_EVP_PKEY_GET0_DH 0 -# define EVP_F_EVP_PKEY_GET0_DSA 0 -# define EVP_F_EVP_PKEY_GET0_EC_KEY 0 -# define EVP_F_EVP_PKEY_GET0_HMAC 0 -# define EVP_F_EVP_PKEY_GET0_POLY1305 0 -# define EVP_F_EVP_PKEY_GET0_RSA 0 -# define EVP_F_EVP_PKEY_GET0_SIPHASH 0 -# define EVP_F_EVP_PKEY_GET_RAW_PRIVATE_KEY 0 -# define EVP_F_EVP_PKEY_GET_RAW_PUBLIC_KEY 0 -# define EVP_F_EVP_PKEY_KEYGEN 0 -# define EVP_F_EVP_PKEY_KEYGEN_INIT 0 -# define EVP_F_EVP_PKEY_METH_ADD0 0 -# define EVP_F_EVP_PKEY_METH_NEW 0 -# define EVP_F_EVP_PKEY_NEW 0 -# define EVP_F_EVP_PKEY_NEW_CMAC_KEY 0 -# define EVP_F_EVP_PKEY_NEW_RAW_PRIVATE_KEY 0 -# define EVP_F_EVP_PKEY_NEW_RAW_PUBLIC_KEY 0 -# define EVP_F_EVP_PKEY_PARAMGEN 0 -# define EVP_F_EVP_PKEY_PARAMGEN_INIT 0 -# define EVP_F_EVP_PKEY_PARAM_CHECK 0 -# define EVP_F_EVP_PKEY_PUBLIC_CHECK 0 -# define EVP_F_EVP_PKEY_SET1_ENGINE 0 -# define EVP_F_EVP_PKEY_SET_ALIAS_TYPE 0 -# define EVP_F_EVP_PKEY_SIGN 0 -# define EVP_F_EVP_PKEY_SIGN_INIT 0 -# define EVP_F_EVP_PKEY_VERIFY 0 -# define EVP_F_EVP_PKEY_VERIFY_INIT 0 -# define EVP_F_EVP_PKEY_VERIFY_RECOVER 0 -# define EVP_F_EVP_PKEY_VERIFY_RECOVER_INIT 0 -# define EVP_F_EVP_SET_DEFAULT_PROPERTIES 0 -# define EVP_F_EVP_SIGNFINAL 0 -# define EVP_F_EVP_VERIFYFINAL 0 -# define EVP_F_GMAC_CTRL 0 -# define EVP_F_INT_CTX_NEW 0 -# define EVP_F_KMAC_CTRL 0 -# define EVP_F_KMAC_INIT 0 -# define EVP_F_OK_NEW 0 -# define EVP_F_PKCS5_PBE_KEYIVGEN 0 -# define EVP_F_PKCS5_V2_PBE_KEYIVGEN 0 -# define EVP_F_PKCS5_V2_PBKDF2_KEYIVGEN 0 -# define EVP_F_PKCS5_V2_SCRYPT_KEYIVGEN 0 -# define EVP_F_PKEY_KDF_CTRL 0 -# define EVP_F_PKEY_MAC_COPY 0 -# define EVP_F_PKEY_MAC_INIT 0 -# define EVP_F_PKEY_SET_TYPE 0 -# define EVP_F_POLY1305_CTRL 0 -# define EVP_F_RC2_MAGIC_TO_METH 0 -# define EVP_F_RC5_CTRL 0 -# define EVP_F_R_32_12_16_INIT_KEY 0 -# define EVP_F_S390X_AES_GCM_CTRL 0 -# define EVP_F_S390X_AES_GCM_TLS_CIPHER 0 -# define EVP_F_SCRYPT_ALG 0 -# define EVP_F_UPDATE 0 -# endif +# define EVP_F_AESNI_INIT_KEY 165 +# define EVP_F_AESNI_XTS_INIT_KEY 207 +# define EVP_F_AES_GCM_CTRL 196 +# define EVP_F_AES_INIT_KEY 133 +# define EVP_F_AES_OCB_CIPHER 169 +# define EVP_F_AES_T4_INIT_KEY 178 +# define EVP_F_AES_T4_XTS_INIT_KEY 208 +# define EVP_F_AES_WRAP_CIPHER 170 +# define EVP_F_AES_XTS_INIT_KEY 209 +# define EVP_F_ALG_MODULE_INIT 177 +# define EVP_F_ARIA_CCM_INIT_KEY 175 +# define EVP_F_ARIA_GCM_CTRL 197 +# define EVP_F_ARIA_GCM_INIT_KEY 176 +# define EVP_F_ARIA_INIT_KEY 185 +# define EVP_F_B64_NEW 198 +# define EVP_F_CAMELLIA_INIT_KEY 159 +# define EVP_F_CHACHA20_POLY1305_CTRL 182 +# define EVP_F_CMLL_T4_INIT_KEY 179 +# define EVP_F_DES_EDE3_WRAP_CIPHER 171 +# define EVP_F_DO_SIGVER_INIT 161 +# define EVP_F_ENC_NEW 199 +# define EVP_F_EVP_CIPHERINIT_EX 123 +# define EVP_F_EVP_CIPHER_ASN1_TO_PARAM 204 +# define EVP_F_EVP_CIPHER_CTX_COPY 163 +# define EVP_F_EVP_CIPHER_CTX_CTRL 124 +# define EVP_F_EVP_CIPHER_CTX_SET_KEY_LENGTH 122 +# define EVP_F_EVP_CIPHER_PARAM_TO_ASN1 205 +# define EVP_F_EVP_DECRYPTFINAL_EX 101 +# define EVP_F_EVP_DECRYPTUPDATE 166 +# define EVP_F_EVP_DIGESTFINALXOF 174 +# define EVP_F_EVP_DIGESTINIT_EX 128 +# define EVP_F_EVP_ENCRYPTDECRYPTUPDATE 219 +# define EVP_F_EVP_ENCRYPTFINAL_EX 127 +# define EVP_F_EVP_ENCRYPTUPDATE 167 +# define EVP_F_EVP_MD_CTX_COPY_EX 110 +# define EVP_F_EVP_MD_SIZE 162 +# define EVP_F_EVP_OPENINIT 102 +# define EVP_F_EVP_PBE_ALG_ADD 115 +# define EVP_F_EVP_PBE_ALG_ADD_TYPE 160 +# define EVP_F_EVP_PBE_CIPHERINIT 116 +# define EVP_F_EVP_PBE_SCRYPT 181 +# define EVP_F_EVP_PKCS82PKEY 111 +# define EVP_F_EVP_PKEY2PKCS8 113 +# define EVP_F_EVP_PKEY_ASN1_ADD0 188 +# define EVP_F_EVP_PKEY_CHECK 186 +# define EVP_F_EVP_PKEY_COPY_PARAMETERS 103 +# define EVP_F_EVP_PKEY_CTX_CTRL 137 +# define EVP_F_EVP_PKEY_CTX_CTRL_STR 150 +# define EVP_F_EVP_PKEY_CTX_DUP 156 +# define EVP_F_EVP_PKEY_CTX_MD 168 +# define EVP_F_EVP_PKEY_DECRYPT 104 +# define EVP_F_EVP_PKEY_DECRYPT_INIT 138 +# define EVP_F_EVP_PKEY_DECRYPT_OLD 151 +# define EVP_F_EVP_PKEY_DERIVE 153 +# define EVP_F_EVP_PKEY_DERIVE_INIT 154 +# define EVP_F_EVP_PKEY_DERIVE_SET_PEER 155 +# define EVP_F_EVP_PKEY_ENCRYPT 105 +# define EVP_F_EVP_PKEY_ENCRYPT_INIT 139 +# define EVP_F_EVP_PKEY_ENCRYPT_OLD 152 +# define EVP_F_EVP_PKEY_GET0_DH 119 +# define EVP_F_EVP_PKEY_GET0_DSA 120 +# define EVP_F_EVP_PKEY_GET0_EC_KEY 131 +# define EVP_F_EVP_PKEY_GET0_HMAC 183 +# define EVP_F_EVP_PKEY_GET0_POLY1305 184 +# define EVP_F_EVP_PKEY_GET0_RSA 121 +# define EVP_F_EVP_PKEY_GET0_SIPHASH 172 +# define EVP_F_EVP_PKEY_GET_RAW_PRIVATE_KEY 202 +# define EVP_F_EVP_PKEY_GET_RAW_PUBLIC_KEY 203 +# define EVP_F_EVP_PKEY_KEYGEN 146 +# define EVP_F_EVP_PKEY_KEYGEN_INIT 147 +# define EVP_F_EVP_PKEY_METH_ADD0 194 +# define EVP_F_EVP_PKEY_METH_NEW 195 +# define EVP_F_EVP_PKEY_NEW 106 +# define EVP_F_EVP_PKEY_NEW_CMAC_KEY 193 +# define EVP_F_EVP_PKEY_NEW_RAW_PRIVATE_KEY 191 +# define EVP_F_EVP_PKEY_NEW_RAW_PUBLIC_KEY 192 +# define EVP_F_EVP_PKEY_PARAMGEN 148 +# define EVP_F_EVP_PKEY_PARAMGEN_INIT 149 +# define EVP_F_EVP_PKEY_PARAM_CHECK 189 +# define EVP_F_EVP_PKEY_PUBLIC_CHECK 190 +# define EVP_F_EVP_PKEY_SET1_ENGINE 187 +# define EVP_F_EVP_PKEY_SET_ALIAS_TYPE 206 +# define EVP_F_EVP_PKEY_SIGN 140 +# define EVP_F_EVP_PKEY_SIGN_INIT 141 +# define EVP_F_EVP_PKEY_VERIFY 142 +# define EVP_F_EVP_PKEY_VERIFY_INIT 143 +# define EVP_F_EVP_PKEY_VERIFY_RECOVER 144 +# define EVP_F_EVP_PKEY_VERIFY_RECOVER_INIT 145 +# define EVP_F_EVP_SIGNFINAL 107 +# define EVP_F_EVP_VERIFYFINAL 108 +# define EVP_F_INT_CTX_NEW 157 +# define EVP_F_OK_NEW 200 +# define EVP_F_PKCS5_PBE_KEYIVGEN 117 +# define EVP_F_PKCS5_V2_PBE_KEYIVGEN 118 +# define EVP_F_PKCS5_V2_PBKDF2_KEYIVGEN 164 +# define EVP_F_PKCS5_V2_SCRYPT_KEYIVGEN 180 +# define EVP_F_PKEY_SET_TYPE 158 +# define EVP_F_RC2_MAGIC_TO_METH 109 +# define EVP_F_RC5_CTRL 125 +# define EVP_F_R_32_12_16_INIT_KEY 242 +# define EVP_F_S390X_AES_GCM_CTRL 201 +# define EVP_F_UPDATE 173 /* * EVP reason codes. */ # define EVP_R_AES_KEY_SETUP_FAILED 143 # define EVP_R_ARIA_KEY_SETUP_FAILED 176 -# define EVP_R_BAD_ALGORITHM_NAME 200 # define EVP_R_BAD_DECRYPT 100 # define EVP_R_BAD_KEY_LENGTH 195 # define EVP_R_BUFFER_TOO_SMALL 155 # define EVP_R_CAMELLIA_KEY_SETUP_FAILED 157 -# define EVP_R_CANNOT_GET_PARAMETERS 197 -# define EVP_R_CANNOT_SET_PARAMETERS 198 -# define EVP_R_CIPHER_NOT_GCM_MODE 184 # define EVP_R_CIPHER_PARAMETER_ERROR 122 # define EVP_R_COMMAND_NOT_SUPPORTED 147 -# define EVP_R_CONFLICTING_ALGORITHM_NAME 201 # define EVP_R_COPY_ERROR 173 # define EVP_R_CTRL_NOT_IMPLEMENTED 132 # define EVP_R_CTRL_OPERATION_NOT_IMPLEMENTED 133 @@ -194,47 +153,38 @@ int ERR_load_EVP_strings(void); # define EVP_R_EXPECTING_A_EC_KEY 142 # define EVP_R_EXPECTING_A_POLY1305_KEY 164 # define EVP_R_EXPECTING_A_SIPHASH_KEY 175 -# define EVP_R_FINAL_ERROR 188 # define EVP_R_FIPS_MODE_NOT_SUPPORTED 167 # define EVP_R_GET_RAW_KEY_FAILED 182 # define EVP_R_ILLEGAL_SCRYPT_PARAMETERS 171 # define EVP_R_INITIALIZATION_ERROR 134 # define EVP_R_INPUT_NOT_INITIALIZED 111 -# define EVP_R_INVALID_CUSTOM_LENGTH 185 # define EVP_R_INVALID_DIGEST 152 # define EVP_R_INVALID_FIPS_MODE 168 # define EVP_R_INVALID_IV_LENGTH 194 # define EVP_R_INVALID_KEY 163 # define EVP_R_INVALID_KEY_LENGTH 130 # define EVP_R_INVALID_OPERATION 148 -# define EVP_R_INVALID_PROVIDER_FUNCTIONS 193 -# define EVP_R_INVALID_SALT_LENGTH 186 # define EVP_R_KEYGEN_FAILURE 120 # define EVP_R_KEY_SETUP_FAILED 180 # define EVP_R_MEMORY_LIMIT_EXCEEDED 172 # define EVP_R_MESSAGE_DIGEST_IS_NULL 159 # define EVP_R_METHOD_NOT_SUPPORTED 144 # define EVP_R_MISSING_PARAMETERS 103 -# define EVP_R_NOT_ABLE_TO_COPY_CTX 190 # define EVP_R_NOT_XOF_OR_INVALID_LENGTH 178 # define EVP_R_NO_CIPHER_SET 131 # define EVP_R_NO_DEFAULT_DIGEST 158 # define EVP_R_NO_DIGEST_SET 139 -# define EVP_R_NO_KEYMGMT_AVAILABLE 199 -# define EVP_R_NO_KEYMGMT_PRESENT 196 # define EVP_R_NO_KEY_SET 154 # define EVP_R_NO_OPERATION_SET 149 # define EVP_R_ONLY_ONESHOT_SUPPORTED 177 # define EVP_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE 150 # define EVP_R_OPERATON_NOT_INITIALIZED 151 -# define EVP_R_PARAMETER_TOO_LARGE 187 # define EVP_R_PARTIALLY_OVERLAPPING 162 # define EVP_R_PBKDF2_ERROR 181 # define EVP_R_PKEY_APPLICATION_ASN1_METHOD_ALREADY_REGISTERED 179 # define EVP_R_PRIVATE_KEY_DECODE_ERROR 145 # define EVP_R_PRIVATE_KEY_ENCODE_ERROR 146 # define EVP_R_PUBLIC_KEY_NOT_RSA 106 -# define EVP_R_TOO_MANY_RECORDS 183 # define EVP_R_UNKNOWN_CIPHER 160 # define EVP_R_UNKNOWN_DIGEST 161 # define EVP_R_UNKNOWN_OPTION 169 @@ -248,10 +198,8 @@ int ERR_load_EVP_strings(void); # define EVP_R_UNSUPPORTED_PRF 125 # define EVP_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM 118 # define EVP_R_UNSUPPORTED_SALT_TYPE 126 -# define EVP_R_UPDATE_ERROR 189 # define EVP_R_WRAP_MODE_NOT_ALLOWED 170 # define EVP_R_WRONG_FINAL_BLOCK_LENGTH 109 -# define EVP_R_XTS_DATA_UNIT_IS_TOO_LARGE 191 -# define EVP_R_XTS_DUPLICATED_KEYS 192 +# define EVP_R_XTS_DUPLICATED_KEYS 183 #endif diff --git a/linux_amd64/include/openssl/hmac.h b/linux_amd64/include/openssl/hmac.h index d05cdde..458efc1 100644 --- a/linux_amd64/include/openssl/hmac.h +++ b/linux_amd64/include/openssl/hmac.h @@ -1,58 +1,51 @@ /* * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_HMAC_H -# define OPENSSL_HMAC_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_HMAC_H -# endif +#ifndef HEADER_HMAC_H +# define HEADER_HMAC_H # include # include -# ifndef OPENSSL_NO_DEPRECATED_3_0 +# if OPENSSL_API_COMPAT < 0x10200000L # define HMAC_MAX_MD_CBLOCK 128 /* Deprecated */ # endif -# ifdef __cplusplus +#ifdef __cplusplus extern "C" { -# endif +#endif -DEPRECATEDIN_3_0(size_t HMAC_size(const HMAC_CTX *e)) -DEPRECATEDIN_3_0(HMAC_CTX *HMAC_CTX_new(void)) -DEPRECATEDIN_3_0(int HMAC_CTX_reset(HMAC_CTX *ctx)) -DEPRECATEDIN_3_0(void HMAC_CTX_free(HMAC_CTX *ctx)) +size_t HMAC_size(const HMAC_CTX *e); +HMAC_CTX *HMAC_CTX_new(void); +int HMAC_CTX_reset(HMAC_CTX *ctx); +void HMAC_CTX_free(HMAC_CTX *ctx); DEPRECATEDIN_1_1_0(__owur int HMAC_Init(HMAC_CTX *ctx, const void *key, int len, - const EVP_MD *md)) + const EVP_MD *md)) -DEPRECATEDIN_3_0(int HMAC_Init_ex(HMAC_CTX *ctx, const void *key, int len, - const EVP_MD *md, ENGINE *impl)) -DEPRECATEDIN_3_0(int HMAC_Update(HMAC_CTX *ctx, const unsigned char *data, - size_t len)) -DEPRECATEDIN_3_0(int HMAC_Final(HMAC_CTX *ctx, unsigned char *md, - unsigned int *len)) -DEPRECATEDIN_3_0(unsigned char *HMAC(const EVP_MD *evp_md, const void *key, - int key_len, const unsigned char *d, - size_t n, unsigned char *md, - unsigned int *md_len)) -DEPRECATEDIN_3_0(__owur int HMAC_CTX_copy(HMAC_CTX *dctx, HMAC_CTX *sctx)) +/*__owur*/ int HMAC_Init_ex(HMAC_CTX *ctx, const void *key, int len, + const EVP_MD *md, ENGINE *impl); +/*__owur*/ int HMAC_Update(HMAC_CTX *ctx, const unsigned char *data, + size_t len); +/*__owur*/ int HMAC_Final(HMAC_CTX *ctx, unsigned char *md, + unsigned int *len); +unsigned char *HMAC(const EVP_MD *evp_md, const void *key, int key_len, + const unsigned char *d, size_t n, unsigned char *md, + unsigned int *md_len); +__owur int HMAC_CTX_copy(HMAC_CTX *dctx, HMAC_CTX *sctx); -DEPRECATEDIN_3_0(void HMAC_CTX_set_flags(HMAC_CTX *ctx, unsigned long flags)) -DEPRECATEDIN_3_0(const EVP_MD *HMAC_CTX_get_md(const HMAC_CTX *ctx)) +void HMAC_CTX_set_flags(HMAC_CTX *ctx, unsigned long flags); +const EVP_MD *HMAC_CTX_get_md(const HMAC_CTX *ctx); -# ifdef __cplusplus +#ifdef __cplusplus } -# endif +#endif #endif diff --git a/linux_amd64/include/openssl/idea.h b/linux_amd64/include/openssl/idea.h index a651ee2..4334f3e 100644 --- a/linux_amd64/include/openssl/idea.h +++ b/linux_amd64/include/openssl/idea.h @@ -1,79 +1,64 @@ /* * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_IDEA_H -# define OPENSSL_IDEA_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_IDEA_H -# endif +#ifndef HEADER_IDEA_H +# define HEADER_IDEA_H # include # ifndef OPENSSL_NO_IDEA -# ifdef __cplusplus +# ifdef __cplusplus extern "C" { -# endif - -# define IDEA_BLOCK 8 -# define IDEA_KEY_LENGTH 16 - -# ifndef OPENSSL_NO_DEPRECATED_3_0 +# endif typedef unsigned int IDEA_INT; -# define IDEA_ENCRYPT 1 -# define IDEA_DECRYPT 0 +# define IDEA_ENCRYPT 1 +# define IDEA_DECRYPT 0 + +# define IDEA_BLOCK 8 +# define IDEA_KEY_LENGTH 16 typedef struct idea_key_st { IDEA_INT data[9][6]; } IDEA_KEY_SCHEDULE; -#endif -DEPRECATEDIN_3_0(const char *IDEA_options(void)) -DEPRECATEDIN_3_0(void IDEA_ecb_encrypt(const unsigned char *in, - unsigned char *out, - IDEA_KEY_SCHEDULE *ks)) -DEPRECATEDIN_3_0(void IDEA_set_encrypt_key(const unsigned char *key, - IDEA_KEY_SCHEDULE *ks)) -DEPRECATEDIN_3_0(void IDEA_set_decrypt_key(IDEA_KEY_SCHEDULE *ek, - IDEA_KEY_SCHEDULE *dk)) -DEPRECATEDIN_3_0(void IDEA_cbc_encrypt(const unsigned char *in, - unsigned char *out, long length, - IDEA_KEY_SCHEDULE *ks, - unsigned char *iv, int enc)) -DEPRECATEDIN_3_0(void IDEA_cfb64_encrypt(const unsigned char *in, - unsigned char *out, long length, - IDEA_KEY_SCHEDULE *ks, - unsigned char *iv, int *num, int enc)) -DEPRECATEDIN_3_0(void IDEA_ofb64_encrypt(const unsigned char *in, - unsigned char *out, long length, - IDEA_KEY_SCHEDULE *ks, - unsigned char *iv, int *num)) -DEPRECATEDIN_3_0(void IDEA_encrypt(unsigned long *in, IDEA_KEY_SCHEDULE *ks)) +const char *IDEA_options(void); +void IDEA_ecb_encrypt(const unsigned char *in, unsigned char *out, + IDEA_KEY_SCHEDULE *ks); +void IDEA_set_encrypt_key(const unsigned char *key, IDEA_KEY_SCHEDULE *ks); +void IDEA_set_decrypt_key(IDEA_KEY_SCHEDULE *ek, IDEA_KEY_SCHEDULE *dk); +void IDEA_cbc_encrypt(const unsigned char *in, unsigned char *out, + long length, IDEA_KEY_SCHEDULE *ks, unsigned char *iv, + int enc); +void IDEA_cfb64_encrypt(const unsigned char *in, unsigned char *out, + long length, IDEA_KEY_SCHEDULE *ks, unsigned char *iv, + int *num, int enc); +void IDEA_ofb64_encrypt(const unsigned char *in, unsigned char *out, + long length, IDEA_KEY_SCHEDULE *ks, unsigned char *iv, + int *num); +void IDEA_encrypt(unsigned long *in, IDEA_KEY_SCHEDULE *ks); -# ifndef OPENSSL_NO_DEPRECATED_1_1_0 -# define idea_options IDEA_options -# define idea_ecb_encrypt IDEA_ecb_encrypt -# define idea_set_encrypt_key IDEA_set_encrypt_key -# define idea_set_decrypt_key IDEA_set_decrypt_key -# define idea_cbc_encrypt IDEA_cbc_encrypt -# define idea_cfb64_encrypt IDEA_cfb64_encrypt -# define idea_ofb64_encrypt IDEA_ofb64_encrypt -# define idea_encrypt IDEA_encrypt -# endif +# if OPENSSL_API_COMPAT < 0x10100000L +# define idea_options IDEA_options +# define idea_ecb_encrypt IDEA_ecb_encrypt +# define idea_set_encrypt_key IDEA_set_encrypt_key +# define idea_set_decrypt_key IDEA_set_decrypt_key +# define idea_cbc_encrypt IDEA_cbc_encrypt +# define idea_cfb64_encrypt IDEA_cfb64_encrypt +# define idea_ofb64_encrypt IDEA_ofb64_encrypt +# define idea_encrypt IDEA_encrypt +# endif -# ifdef __cplusplus +# ifdef __cplusplus } -# endif +# endif # endif #endif diff --git a/linux_amd64/include/openssl/kdf.h b/linux_amd64/include/openssl/kdf.h index d8f81c9..5abd4c3 100644 --- a/linux_amd64/include/openssl/kdf.h +++ b/linux_amd64/include/openssl/kdf.h @@ -1,97 +1,19 @@ /* - * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_KDF_H -# define OPENSSL_KDF_H -# pragma once +#ifndef HEADER_KDF_H +# define HEADER_KDF_H -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_KDF_H -# endif - -# include -# include -# include -# include - -# ifdef __cplusplus +# include +#ifdef __cplusplus extern "C" { -# endif - -int EVP_KDF_up_ref(EVP_KDF *kdf); -void EVP_KDF_free(EVP_KDF *kdf); -EVP_KDF *EVP_KDF_fetch(OPENSSL_CTX *libctx, const char *algorithm, - const char *properties); - -EVP_KDF_CTX *EVP_KDF_CTX_new(EVP_KDF *kdf); -void EVP_KDF_CTX_free(EVP_KDF_CTX *ctx); -EVP_KDF_CTX *EVP_KDF_CTX_dup(const EVP_KDF_CTX *src); -int EVP_KDF_number(const EVP_KDF *kdf); -int EVP_KDF_is_a(const EVP_KDF *kdf, const char *name); -const OSSL_PROVIDER *EVP_KDF_provider(const EVP_KDF *kdf); -const EVP_KDF *EVP_KDF_CTX_kdf(EVP_KDF_CTX *ctx); - -void EVP_KDF_reset(EVP_KDF_CTX *ctx); -size_t EVP_KDF_size(EVP_KDF_CTX *ctx); -int EVP_KDF_derive(EVP_KDF_CTX *ctx, unsigned char *key, size_t keylen); -int EVP_KDF_get_params(EVP_KDF *kdf, OSSL_PARAM params[]); -int EVP_KDF_CTX_get_params(EVP_KDF_CTX *ctx, OSSL_PARAM params[]); -int EVP_KDF_CTX_set_params(EVP_KDF_CTX *ctx, const OSSL_PARAM params[]); -const OSSL_PARAM *EVP_KDF_gettable_params(const EVP_KDF *kdf); -const OSSL_PARAM *EVP_KDF_gettable_ctx_params(const EVP_KDF *kdf); -const OSSL_PARAM *EVP_KDF_settable_ctx_params(const EVP_KDF *kdf); - -void EVP_KDF_do_all_provided(OPENSSL_CTX *libctx, - void (*fn)(EVP_KDF *kdf, void *arg), - void *arg); -void EVP_KDF_names_do_all(const EVP_KDF *kdf, - void (*fn)(const char *name, void *data), - void *data); - -# define EVP_KDF_CTRL_SET_PASS 0x01 /* unsigned char *, size_t */ -# define EVP_KDF_CTRL_SET_SALT 0x02 /* unsigned char *, size_t */ -# define EVP_KDF_CTRL_SET_ITER 0x03 /* int */ -# define EVP_KDF_CTRL_SET_MD 0x04 /* EVP_MD * */ -# define EVP_KDF_CTRL_SET_KEY 0x05 /* unsigned char *, size_t */ -# define EVP_KDF_CTRL_SET_MAXMEM_BYTES 0x06 /* uint64_t */ -# define EVP_KDF_CTRL_SET_TLS_SECRET 0x07 /* unsigned char *, size_t */ -# define EVP_KDF_CTRL_ADD_TLS_SEED 0x08 /* unsigned char *, size_t */ -# define EVP_KDF_CTRL_RESET_HKDF_INFO 0x09 -# define EVP_KDF_CTRL_ADD_HKDF_INFO 0x0a /* unsigned char *, size_t */ -# define EVP_KDF_CTRL_SET_HKDF_MODE 0x0b /* int */ -# define EVP_KDF_CTRL_SET_SCRYPT_N 0x0c /* uint64_t */ -# define EVP_KDF_CTRL_SET_SCRYPT_R 0x0d /* uint32_t */ -# define EVP_KDF_CTRL_SET_SCRYPT_P 0x0e /* uint32_t */ -# define EVP_KDF_CTRL_SET_SSHKDF_XCGHASH 0x0f /* unsigned char *, size_t */ -# define EVP_KDF_CTRL_SET_SSHKDF_SESSION_ID 0x10 /* unsigned char *, size_t */ -# define EVP_KDF_CTRL_SET_SSHKDF_TYPE 0x11 /* int */ -# define EVP_KDF_CTRL_SET_MAC 0x12 /* EVP_MAC * */ -# define EVP_KDF_CTRL_SET_MAC_SIZE 0x13 /* size_t */ -# define EVP_KDF_CTRL_SET_SSKDF_INFO 0x14 /* unsigned char *, size_t */ -# define EVP_KDF_CTRL_SET_PBKDF2_PKCS5_MODE 0x15 /* int */ -# define EVP_KDF_CTRL_SET_UKM 0x16 /* unsigned char *, size_t */ -# define EVP_KDF_CTRL_SET_CEK_ALG 0x17 /* char * */ -# define EVP_KDF_CTRL_SET_SHARED_INFO EVP_KDF_CTRL_SET_SSKDF_INFO - -# define EVP_KDF_HKDF_MODE_EXTRACT_AND_EXPAND 0 -# define EVP_KDF_HKDF_MODE_EXTRACT_ONLY 1 -# define EVP_KDF_HKDF_MODE_EXPAND_ONLY 2 - -#define EVP_KDF_SSHKDF_TYPE_INITIAL_IV_CLI_TO_SRV 65 -#define EVP_KDF_SSHKDF_TYPE_INITIAL_IV_SRV_TO_CLI 66 -#define EVP_KDF_SSHKDF_TYPE_ENCRYPTION_KEY_CLI_TO_SRV 67 -#define EVP_KDF_SSHKDF_TYPE_ENCRYPTION_KEY_SRV_TO_CLI 68 -#define EVP_KDF_SSHKDF_TYPE_INTEGRITY_KEY_CLI_TO_SRV 69 -#define EVP_KDF_SSHKDF_TYPE_INTEGRITY_KEY_SRV_TO_CLI 70 - -/**** The legacy PKEY-based KDF API follows. ****/ +#endif # define EVP_PKEY_CTRL_TLS_MD (EVP_PKEY_ALG_CTRL) # define EVP_PKEY_CTRL_TLS_SECRET (EVP_PKEY_ALG_CTRL + 1) @@ -108,12 +30,9 @@ void EVP_KDF_names_do_all(const EVP_KDF *kdf, # define EVP_PKEY_CTRL_SCRYPT_P (EVP_PKEY_ALG_CTRL + 12) # define EVP_PKEY_CTRL_SCRYPT_MAXMEM_BYTES (EVP_PKEY_ALG_CTRL + 13) -# define EVP_PKEY_HKDEF_MODE_EXTRACT_AND_EXPAND \ - EVP_KDF_HKDF_MODE_EXTRACT_AND_EXPAND -# define EVP_PKEY_HKDEF_MODE_EXTRACT_ONLY \ - EVP_KDF_HKDF_MODE_EXTRACT_ONLY -# define EVP_PKEY_HKDEF_MODE_EXPAND_ONLY \ - EVP_KDF_HKDF_MODE_EXPAND_ONLY +# define EVP_PKEY_HKDEF_MODE_EXTRACT_AND_EXPAND 0 +# define EVP_PKEY_HKDEF_MODE_EXTRACT_ONLY 1 +# define EVP_PKEY_HKDEF_MODE_EXPAND_ONLY 2 # define EVP_PKEY_CTX_set_tls1_prf_md(pctx, md) \ EVP_PKEY_CTX_ctrl(pctx, -1, EVP_PKEY_OP_DERIVE, \ @@ -172,7 +91,7 @@ void EVP_KDF_names_do_all(const EVP_KDF *kdf, EVP_PKEY_CTRL_SCRYPT_MAXMEM_BYTES, maxmem_bytes) -# ifdef __cplusplus +# ifdef __cplusplus } # endif #endif diff --git a/linux_amd64/include/openssl/kdferr.h b/linux_amd64/include/openssl/kdferr.h index 31f112c..3f51bd0 100644 --- a/linux_amd64/include/openssl/kdferr.h +++ b/linux_amd64/include/openssl/kdferr.h @@ -2,117 +2,54 @@ * Generated by util/mkerr.pl DO NOT EDIT * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_KDFERR_H -# define OPENSSL_KDFERR_H -# pragma once +#ifndef HEADER_KDFERR_H +# define HEADER_KDFERR_H -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_OSSL_KDFERR_H +# ifndef HEADER_SYMHACKS_H +# include # endif -# include -# include - - # ifdef __cplusplus extern "C" # endif -DEPRECATEDIN_3_0(int ERR_load_KDF_strings(void)) +int ERR_load_KDF_strings(void); /* * KDF function codes. */ -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define KDF_F_HKDF_EXTRACT 0 -# define KDF_F_KDF_HKDF_DERIVE 0 -# define KDF_F_KDF_HKDF_NEW 0 -# define KDF_F_KDF_HKDF_SIZE 0 -# define KDF_F_KDF_MD2CTRL 0 -# define KDF_F_KDF_PBKDF2_CTRL 0 -# define KDF_F_KDF_PBKDF2_CTRL_STR 0 -# define KDF_F_KDF_PBKDF2_DERIVE 0 -# define KDF_F_KDF_PBKDF2_NEW 0 -# define KDF_F_KDF_SCRYPT_CTRL_STR 0 -# define KDF_F_KDF_SCRYPT_CTRL_UINT32 0 -# define KDF_F_KDF_SCRYPT_CTRL_UINT64 0 -# define KDF_F_KDF_SCRYPT_DERIVE 0 -# define KDF_F_KDF_SCRYPT_NEW 0 -# define KDF_F_KDF_SSHKDF_CTRL 0 -# define KDF_F_KDF_SSHKDF_CTRL_STR 0 -# define KDF_F_KDF_SSHKDF_DERIVE 0 -# define KDF_F_KDF_SSHKDF_NEW 0 -# define KDF_F_KDF_TLS1_PRF_CTRL_STR 0 -# define KDF_F_KDF_TLS1_PRF_DERIVE 0 -# define KDF_F_KDF_TLS1_PRF_NEW 0 -# define KDF_F_PBKDF2_DERIVE 0 -# define KDF_F_PBKDF2_SET_MEMBUF 0 -# define KDF_F_PKEY_HKDF_CTRL_STR 0 -# define KDF_F_PKEY_HKDF_DERIVE 0 -# define KDF_F_PKEY_HKDF_INIT 0 -# define KDF_F_PKEY_SCRYPT_CTRL_STR 0 -# define KDF_F_PKEY_SCRYPT_CTRL_UINT64 0 -# define KDF_F_PKEY_SCRYPT_DERIVE 0 -# define KDF_F_PKEY_SCRYPT_INIT 0 -# define KDF_F_PKEY_SCRYPT_SET_MEMBUF 0 -# define KDF_F_PKEY_TLS1_PRF_CTRL_STR 0 -# define KDF_F_PKEY_TLS1_PRF_DERIVE 0 -# define KDF_F_PKEY_TLS1_PRF_INIT 0 -# define KDF_F_SCRYPT_SET_MEMBUF 0 -# define KDF_F_SSKDF_CTRL_STR 0 -# define KDF_F_SSKDF_DERIVE 0 -# define KDF_F_SSKDF_MAC2CTRL 0 -# define KDF_F_SSKDF_NEW 0 -# define KDF_F_SSKDF_SIZE 0 -# define KDF_F_TLS1_PRF_ALG 0 -# define KDF_F_X942KDF_CTRL 0 -# define KDF_F_X942KDF_DERIVE 0 -# define KDF_F_X942KDF_HASH_KDM 0 -# define KDF_F_X942KDF_NEW 0 -# define KDF_F_X942KDF_SIZE 0 -# define KDF_F_X963KDF_DERIVE 0 -# endif +# define KDF_F_PKEY_HKDF_CTRL_STR 103 +# define KDF_F_PKEY_HKDF_DERIVE 102 +# define KDF_F_PKEY_HKDF_INIT 108 +# define KDF_F_PKEY_SCRYPT_CTRL_STR 104 +# define KDF_F_PKEY_SCRYPT_CTRL_UINT64 105 +# define KDF_F_PKEY_SCRYPT_DERIVE 109 +# define KDF_F_PKEY_SCRYPT_INIT 106 +# define KDF_F_PKEY_SCRYPT_SET_MEMBUF 107 +# define KDF_F_PKEY_TLS1_PRF_CTRL_STR 100 +# define KDF_F_PKEY_TLS1_PRF_DERIVE 101 +# define KDF_F_PKEY_TLS1_PRF_INIT 110 +# define KDF_F_TLS1_PRF_ALG 111 /* * KDF reason codes. */ -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define KDF_R_BAD_ENCODING 122 -# define KDF_R_BAD_LENGTH 123 -# define KDF_R_BOTH_MODE_AND_MODE_INT 127 -# define KDF_R_INAVLID_UKM_LEN 124 -# define KDF_R_INVALID_DIGEST 100 -# define KDF_R_INVALID_ITERATION_COUNT 119 -# define KDF_R_INVALID_KEY_LEN 120 -# define KDF_R_INVALID_MAC_TYPE 116 -# define KDF_R_INVALID_MODE 128 -# define KDF_R_INVALID_MODE_INT 129 -# define KDF_R_INVALID_SALT_LEN 121 -# define KDF_R_MISSING_CEK_ALG 125 -# define KDF_R_MISSING_ITERATION_COUNT 109 -# define KDF_R_MISSING_KEY 104 -# define KDF_R_MISSING_MESSAGE_DIGEST 105 -# define KDF_R_MISSING_PARAMETER 101 -# define KDF_R_MISSING_PASS 110 -# define KDF_R_MISSING_SALT 111 -# define KDF_R_MISSING_SECRET 107 -# define KDF_R_MISSING_SEED 106 -# define KDF_R_MISSING_SESSION_ID 113 -# define KDF_R_MISSING_TYPE 114 -# define KDF_R_MISSING_XCGHASH 115 -# define KDF_R_NOT_SUPPORTED 118 -# define KDF_R_UNKNOWN_PARAMETER_TYPE 103 -# define KDF_R_UNSUPPORTED_CEK_ALG 126 -# define KDF_R_UNSUPPORTED_MAC_TYPE 117 -# define KDF_R_VALUE_ERROR 108 -# define KDF_R_VALUE_MISSING 102 -# define KDF_R_WRONG_OUTPUT_BUFFER_SIZE 112 -# endif +# define KDF_R_INVALID_DIGEST 100 +# define KDF_R_MISSING_ITERATION_COUNT 109 +# define KDF_R_MISSING_KEY 104 +# define KDF_R_MISSING_MESSAGE_DIGEST 105 +# define KDF_R_MISSING_PARAMETER 101 +# define KDF_R_MISSING_PASS 110 +# define KDF_R_MISSING_SALT 111 +# define KDF_R_MISSING_SECRET 107 +# define KDF_R_MISSING_SEED 106 +# define KDF_R_UNKNOWN_PARAMETER_TYPE 103 +# define KDF_R_VALUE_ERROR 108 +# define KDF_R_VALUE_MISSING 102 #endif diff --git a/linux_amd64/include/openssl/lhash.h b/linux_amd64/include/openssl/lhash.h index 2be4cf4..1ffb56b 100644 --- a/linux_amd64/include/openssl/lhash.h +++ b/linux_amd64/include/openssl/lhash.h @@ -1,7 +1,7 @@ /* * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html @@ -11,14 +11,8 @@ * Header for dynamic hash table routines Author - Eric Young */ -#ifndef OPENSSL_LHASH_H -# define OPENSSL_LHASH_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_LHASH_H -# endif +#ifndef HEADER_LHASH_H +# define HEADER_LHASH_H # include # include @@ -78,7 +72,6 @@ typedef struct lhash_st OPENSSL_LHASH; int OPENSSL_LH_error(OPENSSL_LHASH *lh); OPENSSL_LHASH *OPENSSL_LH_new(OPENSSL_LH_HASHFUNC h, OPENSSL_LH_COMPFUNC c); void OPENSSL_LH_free(OPENSSL_LHASH *lh); -void OPENSSL_LH_flush(OPENSSL_LHASH *lh); void *OPENSSL_LH_insert(OPENSSL_LHASH *lh, void *data); void *OPENSSL_LH_delete(OPENSSL_LHASH *lh, const void *data); void *OPENSSL_LH_retrieve(OPENSSL_LHASH *lh, const void *data); @@ -98,7 +91,7 @@ void OPENSSL_LH_stats_bio(const OPENSSL_LHASH *lh, BIO *out); void OPENSSL_LH_node_stats_bio(const OPENSSL_LHASH *lh, BIO *out); void OPENSSL_LH_node_usage_stats_bio(const OPENSSL_LHASH *lh, BIO *out); -# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +# if OPENSSL_API_COMPAT < 0x10100000L # define _LHASH OPENSSL_LHASH # define LHASH_NODE OPENSSL_LH_NODE # define lh_error OPENSSL_LH_error @@ -137,10 +130,6 @@ void OPENSSL_LH_node_usage_stats_bio(const OPENSSL_LHASH *lh, BIO *out); { \ OPENSSL_LH_free((OPENSSL_LHASH *)lh); \ } \ - static ossl_unused ossl_inline void lh_##type##_flush(LHASH_OF(type) *lh) \ - { \ - OPENSSL_LH_flush((OPENSSL_LHASH *)lh); \ - } \ static ossl_unused ossl_inline type *lh_##type##_insert(LHASH_OF(type) *lh, type *d) \ { \ return (type *)OPENSSL_LH_insert((OPENSSL_LHASH *)lh, d); \ diff --git a/linux_amd64/include/openssl/md2.h b/linux_amd64/include/openssl/md2.h index 21e24c3..7faf8e3 100644 --- a/linux_amd64/include/openssl/md2.h +++ b/linux_amd64/include/openssl/md2.h @@ -1,36 +1,27 @@ /* * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_MD2_H -# define OPENSSL_MD2_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_MD2_H -# endif +#ifndef HEADER_MD2_H +# define HEADER_MD2_H # include # ifndef OPENSSL_NO_MD2 -# include -# ifdef __cplusplus +# include +# ifdef __cplusplus extern "C" { -# endif - -# define MD2_DIGEST_LENGTH 16 - -# if !defined(OPENSSL_NO_DEPRECATED_3_0) +# endif typedef unsigned char MD2_INT; -# define MD2_BLOCK 16 +# define MD2_DIGEST_LENGTH 16 +# define MD2_BLOCK 16 typedef struct MD2state_st { unsigned int num; @@ -38,18 +29,16 @@ typedef struct MD2state_st { MD2_INT cksm[MD2_BLOCK]; MD2_INT state[MD2_BLOCK]; } MD2_CTX; -# endif -DEPRECATEDIN_3_0(const char *MD2_options(void)) -DEPRECATEDIN_3_0(int MD2_Init(MD2_CTX *c)) -DEPRECATEDIN_3_0(int MD2_Update(MD2_CTX *c, const unsigned char *data, - size_t len)) -DEPRECATEDIN_3_0(int MD2_Final(unsigned char *md, MD2_CTX *c)) -DEPRECATEDIN_3_0(unsigned char *MD2(const unsigned char *d, size_t n, - unsigned char *md)) +const char *MD2_options(void); +int MD2_Init(MD2_CTX *c); +int MD2_Update(MD2_CTX *c, const unsigned char *data, size_t len); +int MD2_Final(unsigned char *md, MD2_CTX *c); +unsigned char *MD2(const unsigned char *d, size_t n, unsigned char *md); -# ifdef __cplusplus +# ifdef __cplusplus } -# endif # endif +# endif + #endif diff --git a/linux_amd64/include/openssl/md4.h b/linux_amd64/include/openssl/md4.h index 4166e41..940e29d 100644 --- a/linux_amd64/include/openssl/md4.h +++ b/linux_amd64/include/openssl/md4.h @@ -1,43 +1,34 @@ /* * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_MD4_H -# define OPENSSL_MD4_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_MD4_H -# endif +#ifndef HEADER_MD4_H +# define HEADER_MD4_H # include # ifndef OPENSSL_NO_MD4 -# include -# include -# ifdef __cplusplus +# include +# include +# ifdef __cplusplus extern "C" { -# endif - -# define MD4_DIGEST_LENGTH 16 - -# if !defined(OPENSSL_NO_DEPRECATED_3_0) +# endif /*- * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! * ! MD4_LONG has to be at least 32 bits wide. ! * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */ -# define MD4_LONG unsigned int +# define MD4_LONG unsigned int -# define MD4_CBLOCK 64 -# define MD4_LBLOCK (MD4_CBLOCK/4) +# define MD4_CBLOCK 64 +# define MD4_LBLOCK (MD4_CBLOCK/4) +# define MD4_DIGEST_LENGTH 16 typedef struct MD4state_st { MD4_LONG A, B, C, D; @@ -45,18 +36,16 @@ typedef struct MD4state_st { MD4_LONG data[MD4_LBLOCK]; unsigned int num; } MD4_CTX; -# endif -DEPRECATEDIN_3_0(int MD4_Init(MD4_CTX *c)) -DEPRECATEDIN_3_0(int MD4_Update(MD4_CTX *c, const void *data, size_t len)) -DEPRECATEDIN_3_0(int MD4_Final(unsigned char *md, MD4_CTX *c)) -DEPRECATEDIN_3_0(unsigned char *MD4(const unsigned char *d, size_t n, - unsigned char *md)) -DEPRECATEDIN_3_0(void MD4_Transform(MD4_CTX *c, const unsigned char *b)) +int MD4_Init(MD4_CTX *c); +int MD4_Update(MD4_CTX *c, const void *data, size_t len); +int MD4_Final(unsigned char *md, MD4_CTX *c); +unsigned char *MD4(const unsigned char *d, size_t n, unsigned char *md); +void MD4_Transform(MD4_CTX *c, const unsigned char *b); -# ifdef __cplusplus +# ifdef __cplusplus } -# endif +# endif # endif #endif diff --git a/linux_amd64/include/openssl/md5.h b/linux_amd64/include/openssl/md5.h index 0a75b08..2deb772 100644 --- a/linux_amd64/include/openssl/md5.h +++ b/linux_amd64/include/openssl/md5.h @@ -1,20 +1,14 @@ /* * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_MD5_H -# define OPENSSL_MD5_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_MD5_H -# endif +#ifndef HEADER_MD5_H +# define HEADER_MD5_H # include diff --git a/linux_amd64/include/openssl/mdc2.h b/linux_amd64/include/openssl/mdc2.h index 06ab411..aabd2bf 100644 --- a/linux_amd64/include/openssl/mdc2.h +++ b/linux_amd64/include/openssl/mdc2.h @@ -1,54 +1,42 @@ /* * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_MDC2_H -# define OPENSSL_MDC2_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_MDC2_H -# endif +#ifndef HEADER_MDC2_H +# define HEADER_MDC2_H # include -# ifndef OPENSSL_NO_MDC2 -# include -# include -# ifdef __cplusplus +#ifndef OPENSSL_NO_MDC2 +# include +# include +# ifdef __cplusplus extern "C" { -# endif +# endif -# define MDC2_DIGEST_LENGTH 16 - -# if !defined(OPENSSL_NO_DEPRECATED_3_0) - -# define MDC2_BLOCK 8 +# define MDC2_BLOCK 8 +# define MDC2_DIGEST_LENGTH 16 typedef struct mdc2_ctx_st { unsigned int num; unsigned char data[MDC2_BLOCK]; DES_cblock h, hh; - unsigned int pad_type; /* either 1 or 2, default 1 */ + int pad_type; /* either 1 or 2, default 1 */ } MDC2_CTX; -# endif -DEPRECATEDIN_3_0(int MDC2_Init(MDC2_CTX *c)) -DEPRECATEDIN_3_0(int MDC2_Update(MDC2_CTX *c, const unsigned char *data, - size_t len)) -DEPRECATEDIN_3_0(int MDC2_Final(unsigned char *md, MDC2_CTX *c)) -DEPRECATEDIN_3_0(unsigned char *MDC2(const unsigned char *d, size_t n, - unsigned char *md)) +int MDC2_Init(MDC2_CTX *c); +int MDC2_Update(MDC2_CTX *c, const unsigned char *data, size_t len); +int MDC2_Final(unsigned char *md, MDC2_CTX *c); +unsigned char *MDC2(const unsigned char *d, size_t n, unsigned char *md); -# ifdef __cplusplus +# ifdef __cplusplus } -# endif +# endif # endif #endif diff --git a/linux_amd64/include/openssl/modes.h b/linux_amd64/include/openssl/modes.h index e190799..d544f98 100644 --- a/linux_amd64/include/openssl/modes.h +++ b/linux_amd64/include/openssl/modes.h @@ -1,23 +1,16 @@ /* * Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_MODES_H -# define OPENSSL_MODES_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_MODES_H -# endif +#ifndef HEADER_MODES_H +# define HEADER_MODES_H # include -# include # ifdef __cplusplus extern "C" { @@ -29,10 +22,6 @@ typedef void (*cbc128_f) (const unsigned char *in, unsigned char *out, size_t len, const void *key, unsigned char ivec[16], int enc); -typedef void (*ecb128_f) (const unsigned char *in, unsigned char *out, - size_t len, const void *key, - int enc); - typedef void (*ctr128_f) (const unsigned char *in, unsigned char *out, size_t blocks, const void *key, const unsigned char ivec[16]); diff --git a/linux_amd64/include/openssl/obj_mac.h b/linux_amd64/include/openssl/obj_mac.h index 0e564ac..483fc05 100644 --- a/linux_amd64/include/openssl/obj_mac.h +++ b/linux_amd64/include/openssl/obj_mac.h @@ -3,7 +3,7 @@ * Generated by crypto/objects/objects.pl * * Copyright 2000-2020 The OpenSSL Project Authors. All Rights Reserved. - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html @@ -44,11 +44,6 @@ #define NID_identified_organization 676 #define OBJ_identified_organization OBJ_iso,3L -#define SN_gmac "GMAC" -#define LN_gmac "gmac" -#define NID_gmac 1195 -#define OBJ_gmac OBJ_iso,0L,9797L,3L,4L - #define SN_hmac_md5 "HMAC-MD5" #define LN_hmac_md5 "hmac-md5" #define NID_hmac_md5 780 @@ -1184,11 +1179,6 @@ #define NID_sm3WithRSAEncryption 1144 #define OBJ_sm3WithRSAEncryption OBJ_sm_scheme,504L -#define SN_SM2_with_SM3 "SM2-SM3" -#define LN_SM2_with_SM3 "SM2-with-SM3" -#define NID_SM2_with_SM3 1204 -#define OBJ_SM2_with_SM3 OBJ_sm_scheme,501L - #define LN_hmacWithSHA224 "hmacWithSHA224" #define NID_hmacWithSHA224 798 #define OBJ_hmacWithSHA224 OBJ_rsadsi,2L,8L @@ -1856,26 +1846,6 @@ #define NID_id_on_permanentIdentifier 858 #define OBJ_id_on_permanentIdentifier OBJ_id_on,3L -#define SN_XmppAddr "id-on-xmppAddr" -#define LN_XmppAddr "XmppAddr" -#define NID_XmppAddr 1209 -#define OBJ_XmppAddr OBJ_id_on,5L - -#define SN_SRVName "id-on-dnsSRV" -#define LN_SRVName "SRVName" -#define NID_SRVName 1210 -#define OBJ_SRVName OBJ_id_on,7L - -#define SN_NAIRealm "id-on-NAIRealm" -#define LN_NAIRealm "NAIRealm" -#define NID_NAIRealm 1211 -#define OBJ_NAIRealm OBJ_id_on,8L - -#define SN_id_on_SmtpUTF8Mailbox "id-on-SmtpUTF8Mailbox" -#define LN_id_on_SmtpUTF8Mailbox "Smtp UTF8 Mailbox" -#define NID_id_on_SmtpUTF8Mailbox 1208 -#define OBJ_id_on_SmtpUTF8Mailbox OBJ_id_on,9L - #define SN_id_pda_dateOfBirth "id-pda-dateOfBirth" #define NID_id_pda_dateOfBirth 348 #define OBJ_id_pda_dateOfBirth OBJ_id_pda,1L @@ -2143,25 +2113,15 @@ #define NID_ripemd160WithRSA 119 #define OBJ_ripemd160WithRSA 1L,3L,36L,3L,3L,1L,2L -#define SN_blake2bmac "BLAKE2BMAC" -#define LN_blake2bmac "blake2bmac" -#define NID_blake2bmac 1201 -#define OBJ_blake2bmac 1L,3L,6L,1L,4L,1L,1722L,12L,2L,1L - -#define SN_blake2smac "BLAKE2SMAC" -#define LN_blake2smac "blake2smac" -#define NID_blake2smac 1202 -#define OBJ_blake2smac 1L,3L,6L,1L,4L,1L,1722L,12L,2L,2L - #define SN_blake2b512 "BLAKE2b512" #define LN_blake2b512 "blake2b512" #define NID_blake2b512 1056 -#define OBJ_blake2b512 OBJ_blake2bmac,16L +#define OBJ_blake2b512 1L,3L,6L,1L,4L,1L,1722L,12L,2L,1L,16L #define SN_blake2s256 "BLAKE2s256" #define LN_blake2s256 "blake2s256" #define NID_blake2s256 1057 -#define OBJ_blake2s256 OBJ_blake2smac,8L +#define OBJ_blake2s256 1L,3L,6L,1L,4L,1L,1722L,12L,2L,2L,8L #define SN_sxnet "SXNetID" #define LN_sxnet "Strong Extranet ID" @@ -3011,16 +2971,6 @@ #define NID_hmac_sha3_512 1105 #define OBJ_hmac_sha3_512 OBJ_nist_hashalgs,16L -#define SN_kmac128 "KMAC128" -#define LN_kmac128 "kmac128" -#define NID_kmac128 1196 -#define OBJ_kmac128 OBJ_nist_hashalgs,19L - -#define SN_kmac256 "KMAC256" -#define LN_kmac256 "kmac256" -#define NID_kmac256 1197 -#define OBJ_kmac256 OBJ_nist_hashalgs,20L - #define OBJ_dsa_with_sha2 OBJ_nistAlgorithms,3L #define SN_dsa_with_SHA224 "dsa_with_SHA224" @@ -5020,22 +4970,6 @@ #define LN_hkdf "hkdf" #define NID_hkdf 1036 -#define SN_sshkdf "SSHKDF" -#define LN_sshkdf "sshkdf" -#define NID_sshkdf 1203 - -#define SN_sskdf "SSKDF" -#define LN_sskdf "sskdf" -#define NID_sskdf 1205 - -#define SN_x942kdf "X942KDF" -#define LN_x942kdf "x942kdf" -#define NID_x942kdf 1207 - -#define SN_x963kdf "X963KDF" -#define LN_x963kdf "x963kdf" -#define NID_x963kdf 1206 - #define SN_id_pkinit "id-pkinit" #define NID_id_pkinit 1031 #define OBJ_id_pkinit 1L,3L,6L,1L,5L,2L,3L @@ -5165,24 +5099,6 @@ #define SN_ffdhe8192 "ffdhe8192" #define NID_ffdhe8192 1130 -#define SN_modp_1536 "modp_1536" -#define NID_modp_1536 1212 - -#define SN_modp_2048 "modp_2048" -#define NID_modp_2048 1213 - -#define SN_modp_3072 "modp_3072" -#define NID_modp_3072 1214 - -#define SN_modp_4096 "modp_4096" -#define NID_modp_4096 1215 - -#define SN_modp_6144 "modp_6144" -#define NID_modp_6144 1216 - -#define SN_modp_8192 "modp_8192" -#define NID_modp_8192 1217 - #define SN_ISO_UA "ISO-UA" #define NID_ISO_UA 1150 #define OBJ_ISO_UA OBJ_member_body,804L @@ -5280,15 +5196,3 @@ #define LN_uacurve9 "DSTU curve 9" #define NID_uacurve9 1169 #define OBJ_uacurve9 OBJ_dstu4145le,2L,9L - -#define SN_aes_128_siv "AES-128-SIV" -#define LN_aes_128_siv "aes-128-siv" -#define NID_aes_128_siv 1198 - -#define SN_aes_192_siv "AES-192-SIV" -#define LN_aes_192_siv "aes-192-siv" -#define NID_aes_192_siv 1199 - -#define SN_aes_256_siv "AES-256-SIV" -#define LN_aes_256_siv "aes-256-siv" -#define NID_aes_256_siv 1200 diff --git a/linux_amd64/include/openssl/objects.h b/linux_amd64/include/openssl/objects.h index 9ea91c2..5e8b576 100644 --- a/linux_amd64/include/openssl/objects.h +++ b/linux_amd64/include/openssl/objects.h @@ -1,20 +1,14 @@ /* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_OBJECTS_H -# define OPENSSL_OBJECTS_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_OBJECTS_H -# endif +#ifndef HEADER_OBJECTS_H +# define HEADER_OBJECTS_H # include # include @@ -26,9 +20,7 @@ # define OBJ_NAME_TYPE_CIPHER_METH 0x02 # define OBJ_NAME_TYPE_PKEY_METH 0x03 # define OBJ_NAME_TYPE_COMP_METH 0x04 -# define OBJ_NAME_TYPE_MAC_METH 0x05 -# define OBJ_NAME_TYPE_KDF_METH 0x06 -# define OBJ_NAME_TYPE_NUM 0x07 +# define OBJ_NAME_TYPE_NUM 0x05 # define OBJ_NAME_ALIAS 0x8000 @@ -63,7 +55,7 @@ void OBJ_NAME_do_all_sorted(int type, void (*fn) (const OBJ_NAME *, void *arg), void *arg); -DECLARE_ASN1_DUP_FUNCTION_name(ASN1_OBJECT, OBJ) +ASN1_OBJECT *OBJ_dup(const ASN1_OBJECT *o); ASN1_OBJECT *OBJ_nid2obj(int n); const char *OBJ_nid2ln(int n); const char *OBJ_nid2sn(int n); @@ -163,7 +155,7 @@ const void *OBJ_bsearch_ex_(const void *key, const void *base, int num, int OBJ_new_nid(int num); int OBJ_add_object(const ASN1_OBJECT *obj); int OBJ_create(const char *oid, const char *sn, const char *ln); -#ifndef OPENSSL_NO_DEPRECATED_1_1_0 +#if OPENSSL_API_COMPAT < 0x10100000L # define OBJ_cleanup() while(0) continue #endif int OBJ_create_objects(BIO *in); diff --git a/linux_amd64/include/openssl/objectserr.h b/linux_amd64/include/openssl/objectserr.h index 84c7501..02e166f 100644 --- a/linux_amd64/include/openssl/objectserr.h +++ b/linux_amd64/include/openssl/objectserr.h @@ -2,25 +2,19 @@ * Generated by util/mkerr.pl DO NOT EDIT * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_OBJECTSERR_H -# define OPENSSL_OBJECTSERR_H -# pragma once +#ifndef HEADER_OBJERR_H +# define HEADER_OBJERR_H -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_OBJERR_H +# ifndef HEADER_SYMHACKS_H +# include # endif -# include -# include - - # ifdef __cplusplus extern "C" # endif @@ -29,17 +23,15 @@ int ERR_load_OBJ_strings(void); /* * OBJ function codes. */ -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define OBJ_F_OBJ_ADD_OBJECT 0 -# define OBJ_F_OBJ_ADD_SIGID 0 -# define OBJ_F_OBJ_CREATE 0 -# define OBJ_F_OBJ_DUP 0 -# define OBJ_F_OBJ_NAME_NEW_INDEX 0 -# define OBJ_F_OBJ_NID2LN 0 -# define OBJ_F_OBJ_NID2OBJ 0 -# define OBJ_F_OBJ_NID2SN 0 -# define OBJ_F_OBJ_TXT2OBJ 0 -# endif +# define OBJ_F_OBJ_ADD_OBJECT 105 +# define OBJ_F_OBJ_ADD_SIGID 107 +# define OBJ_F_OBJ_CREATE 100 +# define OBJ_F_OBJ_DUP 101 +# define OBJ_F_OBJ_NAME_NEW_INDEX 106 +# define OBJ_F_OBJ_NID2LN 102 +# define OBJ_F_OBJ_NID2OBJ 103 +# define OBJ_F_OBJ_NID2SN 104 +# define OBJ_F_OBJ_TXT2OBJ 108 /* * OBJ reason codes. diff --git a/linux_amd64/include/openssl/ocsp.h b/linux_amd64/include/openssl/ocsp.h index 209afd6..4d759a4 100644 --- a/linux_amd64/include/openssl/ocsp.h +++ b/linux_amd64/include/openssl/ocsp.h @@ -1,22 +1,16 @@ /* - * Copyright 2000-2020 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_OCSP_H -# define OPENSSL_OCSP_H -# pragma once +#ifndef HEADER_OCSP_H +# define HEADER_OCSP_H -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_OCSP_H -# endif - -# include +#include /* * These definitions are outside the OPENSSL_NO_OCSP guard because although for @@ -32,58 +26,30 @@ * superseded (4), * cessationOfOperation (5), * certificateHold (6), - * -- value 7 is not used - * removeFromCRL (8), - * privilegeWithdrawn (9), - * aACompromise (10) } + * removeFromCRL (8) } */ -# define OCSP_REVOKED_STATUS_NOSTATUS -1 -# define OCSP_REVOKED_STATUS_UNSPECIFIED 0 -# define OCSP_REVOKED_STATUS_KEYCOMPROMISE 1 -# define OCSP_REVOKED_STATUS_CACOMPROMISE 2 -# define OCSP_REVOKED_STATUS_AFFILIATIONCHANGED 3 -# define OCSP_REVOKED_STATUS_SUPERSEDED 4 -# define OCSP_REVOKED_STATUS_CESSATIONOFOPERATION 5 -# define OCSP_REVOKED_STATUS_CERTIFICATEHOLD 6 -# define OCSP_REVOKED_STATUS_REMOVEFROMCRL 8 -# define OCSP_REVOKED_STATUS_PRIVILEGEWITHDRAWN 9 -# define OCSP_REVOKED_STATUS_AACOMPROMISE 10 - -/* - * These definitions are outside the OPENSSL_NO_OCSP guard because although for - * historical reasons they have OCSP_* names, they are used for the HTTP client. - */ -# include -/* The following functions are used only internally */ -OCSP_REQ_CTX *OCSP_REQ_CTX_new(BIO *wbio, BIO *rbio, - int method_GET, int maxline, - unsigned long max_resp_len, int timeout, - const char *expected_content_type, - int expect_asn1); -void OCSP_REQ_CTX_free(OCSP_REQ_CTX *rctx); -int OCSP_REQ_CTX_http(OCSP_REQ_CTX *rctx, - const char *server, const char *port, const char *path); -int OCSP_REQ_CTX_add1_header(OCSP_REQ_CTX *rctx, - const char *name, const char *value); -int OCSP_REQ_CTX_i2d(OCSP_REQ_CTX *rctx, const char *content_type, - const ASN1_ITEM *it, ASN1_VALUE *req); -int OCSP_REQ_CTX_nbio(OCSP_REQ_CTX *rctx); -ASN1_VALUE *OCSP_REQ_CTX_nbio_d2i(OCSP_REQ_CTX *rctx, const ASN1_ITEM *it); -BIO *OCSP_REQ_CTX_get0_mem_bio(OCSP_REQ_CTX *rctx); -void OCSP_set_max_response_length(OCSP_REQ_CTX *rctx, unsigned long len); -/* End of functions used only internally */ +# define OCSP_REVOKED_STATUS_NOSTATUS -1 +# define OCSP_REVOKED_STATUS_UNSPECIFIED 0 +# define OCSP_REVOKED_STATUS_KEYCOMPROMISE 1 +# define OCSP_REVOKED_STATUS_CACOMPROMISE 2 +# define OCSP_REVOKED_STATUS_AFFILIATIONCHANGED 3 +# define OCSP_REVOKED_STATUS_SUPERSEDED 4 +# define OCSP_REVOKED_STATUS_CESSATIONOFOPERATION 5 +# define OCSP_REVOKED_STATUS_CERTIFICATEHOLD 6 +# define OCSP_REVOKED_STATUS_REMOVEFROMCRL 8 # ifndef OPENSSL_NO_OCSP +# include # include # include # include # include -# ifdef __cplusplus +#ifdef __cplusplus extern "C" { -# endif +#endif /* Various flags and values */ @@ -180,15 +146,25 @@ typedef struct ocsp_service_locator_st OCSP_SERVICELOC; (OCSP_CERTSTATUS*)ASN1_dup((int(*)())i2d_OCSP_CERTSTATUS,\ (char *(*)())d2i_OCSP_CERTSTATUS,(char *)(cs)) -DECLARE_ASN1_DUP_FUNCTION(OCSP_CERTID) +OCSP_CERTID *OCSP_CERTID_dup(OCSP_CERTID *id); OCSP_RESPONSE *OCSP_sendreq_bio(BIO *b, const char *path, OCSP_REQUEST *req); OCSP_REQ_CTX *OCSP_sendreq_new(BIO *io, const char *path, OCSP_REQUEST *req, int maxline); +int OCSP_REQ_CTX_nbio(OCSP_REQ_CTX *rctx); int OCSP_sendreq_nbio(OCSP_RESPONSE **presp, OCSP_REQ_CTX *rctx); - -/* TODO: remove this (documented but) meanwhile obsolete function? */ -int OCSP_REQ_CTX_set1_req(OCSP_REQ_CTX *rctx, const OCSP_REQUEST *req); +OCSP_REQ_CTX *OCSP_REQ_CTX_new(BIO *io, int maxline); +void OCSP_REQ_CTX_free(OCSP_REQ_CTX *rctx); +void OCSP_set_max_response_length(OCSP_REQ_CTX *rctx, unsigned long len); +int OCSP_REQ_CTX_i2d(OCSP_REQ_CTX *rctx, const ASN1_ITEM *it, + ASN1_VALUE *val); +int OCSP_REQ_CTX_nbio_d2i(OCSP_REQ_CTX *rctx, ASN1_VALUE **pval, + const ASN1_ITEM *it); +BIO *OCSP_REQ_CTX_get0_mem_bio(OCSP_REQ_CTX *rctx); +int OCSP_REQ_CTX_http(OCSP_REQ_CTX *rctx, const char *op, const char *path); +int OCSP_REQ_CTX_set1_req(OCSP_REQ_CTX *rctx, OCSP_REQUEST *req); +int OCSP_REQ_CTX_add1_header(OCSP_REQ_CTX *rctx, + const char *name, const char *value); OCSP_CERTID *OCSP_cert_to_id(const EVP_MD *dgst, const X509 *subject, const X509 *issuer); @@ -250,7 +226,8 @@ int OCSP_check_validity(ASN1_GENERALIZEDTIME *thisupd, int OCSP_request_verify(OCSP_REQUEST *req, STACK_OF(X509) *certs, X509_STORE *store, unsigned long flags); -# define OCSP_parse_url OSSL_HTTP_parse_url /* for backward compatibility */ +int OCSP_parse_url(const char *url, char **phost, char **pport, char **ppath, + int *pssl); int OCSP_id_issuer_cmp(const OCSP_CERTID *a, const OCSP_CERTID *b); int OCSP_id_cmp(const OCSP_CERTID *a, const OCSP_CERTID *b); @@ -371,5 +348,5 @@ int OCSP_basic_verify(OCSP_BASICRESP *bs, STACK_OF(X509) *certs, # ifdef __cplusplus } # endif -# endif /* !defined OPENSSL_NO_OCSP */ +# endif #endif diff --git a/linux_amd64/include/openssl/ocsperr.h b/linux_amd64/include/openssl/ocsperr.h index 7e3fd0f..8dd9e01 100644 --- a/linux_amd64/include/openssl/ocsperr.h +++ b/linux_amd64/include/openssl/ocsperr.h @@ -2,25 +2,19 @@ * Generated by util/mkerr.pl DO NOT EDIT * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_OCSPERR_H -# define OPENSSL_OCSPERR_H -# pragma once +#ifndef HEADER_OCSPERR_H +# define HEADER_OCSPERR_H -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_OCSPERR_H +# ifndef HEADER_SYMHACKS_H +# include # endif -# include -# include - - # include # ifndef OPENSSL_NO_OCSP @@ -33,22 +27,22 @@ int ERR_load_OCSP_strings(void); /* * OCSP function codes. */ -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define OCSP_F_D2I_OCSP_NONCE 0 -# define OCSP_F_OCSP_BASIC_ADD1_STATUS 0 -# define OCSP_F_OCSP_BASIC_SIGN 0 -# define OCSP_F_OCSP_BASIC_SIGN_CTX 0 -# define OCSP_F_OCSP_BASIC_VERIFY 0 -# define OCSP_F_OCSP_CERT_ID_NEW 0 -# define OCSP_F_OCSP_CHECK_DELEGATED 0 -# define OCSP_F_OCSP_CHECK_IDS 0 -# define OCSP_F_OCSP_CHECK_ISSUER 0 -# define OCSP_F_OCSP_CHECK_VALIDITY 0 -# define OCSP_F_OCSP_MATCH_ISSUERID 0 -# define OCSP_F_OCSP_REQUEST_SIGN 0 -# define OCSP_F_OCSP_REQUEST_VERIFY 0 -# define OCSP_F_OCSP_RESPONSE_GET1_BASIC 0 -# endif +# define OCSP_F_D2I_OCSP_NONCE 102 +# define OCSP_F_OCSP_BASIC_ADD1_STATUS 103 +# define OCSP_F_OCSP_BASIC_SIGN 104 +# define OCSP_F_OCSP_BASIC_SIGN_CTX 119 +# define OCSP_F_OCSP_BASIC_VERIFY 105 +# define OCSP_F_OCSP_CERT_ID_NEW 101 +# define OCSP_F_OCSP_CHECK_DELEGATED 106 +# define OCSP_F_OCSP_CHECK_IDS 107 +# define OCSP_F_OCSP_CHECK_ISSUER 108 +# define OCSP_F_OCSP_CHECK_VALIDITY 115 +# define OCSP_F_OCSP_MATCH_ISSUERID 109 +# define OCSP_F_OCSP_PARSE_URL 114 +# define OCSP_F_OCSP_REQUEST_SIGN 110 +# define OCSP_F_OCSP_REQUEST_VERIFY 116 +# define OCSP_F_OCSP_RESPONSE_GET1_BASIC 111 +# define OCSP_F_PARSE_HTTP_LINE1 118 /* * OCSP reason codes. @@ -57,6 +51,7 @@ int ERR_load_OCSP_strings(void); # define OCSP_R_DIGEST_ERR 102 # define OCSP_R_ERROR_IN_NEXTUPDATE_FIELD 122 # define OCSP_R_ERROR_IN_THISUPDATE_FIELD 123 +# define OCSP_R_ERROR_PARSING_URL 121 # define OCSP_R_MISSING_OCSPSIGNING_USAGE 103 # define OCSP_R_NEXTUPDATE_BEFORE_THISUPDATE 124 # define OCSP_R_NOT_BASIC_RESPONSE 104 @@ -68,6 +63,8 @@ int ERR_load_OCSP_strings(void); # define OCSP_R_REQUEST_NOT_SIGNED 128 # define OCSP_R_RESPONSE_CONTAINS_NO_REVOCATION_DATA 111 # define OCSP_R_ROOT_CA_NOT_TRUSTED 112 +# define OCSP_R_SERVER_RESPONSE_ERROR 114 +# define OCSP_R_SERVER_RESPONSE_PARSE_ERROR 115 # define OCSP_R_SIGNATURE_FAILURE 117 # define OCSP_R_SIGNER_CERTIFICATE_NOT_FOUND 118 # define OCSP_R_STATUS_EXPIRED 125 diff --git a/linux_amd64/include/openssl/opensslconf.h b/linux_amd64/include/openssl/opensslconf.h index 9a49bce..3bd79b3 100644 --- a/linux_amd64/include/openssl/opensslconf.h +++ b/linux_amd64/include/openssl/opensslconf.h @@ -1,16 +1,192 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * WARNING: do not edit! + * Generated by Makefile from ../include/openssl/opensslconf.h.in * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_OPENSSLCONF_H -# define OPENSSL_OPENSSLCONF_H +#include -#include -#include +#ifdef __cplusplus +extern "C" { +#endif -#endif /* OPENSSL_OPENSSLCONF_H */ +#ifdef OPENSSL_ALGORITHM_DEFINES +# error OPENSSL_ALGORITHM_DEFINES no longer supported +#endif + +/* + * OpenSSL was configured with the following options: + */ + +#ifndef OPENSSL_NO_MD2 +# define OPENSSL_NO_MD2 +#endif +#ifndef OPENSSL_NO_RC5 +# define OPENSSL_NO_RC5 +#endif +#ifndef OPENSSL_THREADS +# define OPENSSL_THREADS +#endif +#ifndef OPENSSL_RAND_SEED_OS +# define OPENSSL_RAND_SEED_OS +#endif +#ifndef OPENSSL_NO_ASAN +# define OPENSSL_NO_ASAN +#endif +#ifndef OPENSSL_NO_CRYPTO_MDEBUG +# define OPENSSL_NO_CRYPTO_MDEBUG +#endif +#ifndef OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE +# define OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE +#endif +#ifndef OPENSSL_NO_DEVCRYPTOENG +# define OPENSSL_NO_DEVCRYPTOENG +#endif +#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 +# define OPENSSL_NO_EC_NISTP_64_GCC_128 +#endif +#ifndef OPENSSL_NO_EGD +# define OPENSSL_NO_EGD +#endif +#ifndef OPENSSL_NO_EXTERNAL_TESTS +# define OPENSSL_NO_EXTERNAL_TESTS +#endif +#ifndef OPENSSL_NO_FUZZ_AFL +# define OPENSSL_NO_FUZZ_AFL +#endif +#ifndef OPENSSL_NO_FUZZ_LIBFUZZER +# define OPENSSL_NO_FUZZ_LIBFUZZER +#endif +#ifndef OPENSSL_NO_HEARTBEATS +# define OPENSSL_NO_HEARTBEATS +#endif +#ifndef OPENSSL_NO_MSAN +# define OPENSSL_NO_MSAN +#endif +#ifndef OPENSSL_NO_SCTP +# define OPENSSL_NO_SCTP +#endif +#ifndef OPENSSL_NO_SSL_TRACE +# define OPENSSL_NO_SSL_TRACE +#endif +#ifndef OPENSSL_NO_SSL3 +# define OPENSSL_NO_SSL3 +#endif +#ifndef OPENSSL_NO_SSL3_METHOD +# define OPENSSL_NO_SSL3_METHOD +#endif +#ifndef OPENSSL_NO_UBSAN +# define OPENSSL_NO_UBSAN +#endif +#ifndef OPENSSL_NO_UNIT_TEST +# define OPENSSL_NO_UNIT_TEST +#endif +#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS +# define OPENSSL_NO_WEAK_SSL_CIPHERS +#endif +#ifndef OPENSSL_NO_STATIC_ENGINE +# define OPENSSL_NO_STATIC_ENGINE +#endif + + +/* + * Sometimes OPENSSSL_NO_xxx ends up with an empty file and some compilers + * don't like that. This will hopefully silence them. + */ +#define NON_EMPTY_TRANSLATION_UNIT static void *dummy = &dummy; + +/* + * Applications should use -DOPENSSL_API_COMPAT= to suppress the + * declarations of functions deprecated in or before . Otherwise, they + * still won't see them if the library has been built to disable deprecated + * functions. + */ +#ifndef DECLARE_DEPRECATED +# define DECLARE_DEPRECATED(f) f; +# ifdef __GNUC__ +# if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 0) +# undef DECLARE_DEPRECATED +# define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated)); +# endif +# endif +#endif + +#ifndef OPENSSL_FILE +# ifdef OPENSSL_NO_FILENAMES +# define OPENSSL_FILE "" +# define OPENSSL_LINE 0 +# else +# define OPENSSL_FILE __FILE__ +# define OPENSSL_LINE __LINE__ +# endif +#endif + +#ifndef OPENSSL_MIN_API +# define OPENSSL_MIN_API 0 +#endif + +#if !defined(OPENSSL_API_COMPAT) || OPENSSL_API_COMPAT < OPENSSL_MIN_API +# undef OPENSSL_API_COMPAT +# define OPENSSL_API_COMPAT OPENSSL_MIN_API +#endif + +/* + * Do not deprecate things to be deprecated in version 1.2.0 before the + * OpenSSL version number matches. + */ +#if OPENSSL_VERSION_NUMBER < 0x10200000L +# define DEPRECATEDIN_1_2_0(f) f; +#elif OPENSSL_API_COMPAT < 0x10200000L +# define DEPRECATEDIN_1_2_0(f) DECLARE_DEPRECATED(f) +#else +# define DEPRECATEDIN_1_2_0(f) +#endif + +#if OPENSSL_API_COMPAT < 0x10100000L +# define DEPRECATEDIN_1_1_0(f) DECLARE_DEPRECATED(f) +#else +# define DEPRECATEDIN_1_1_0(f) +#endif + +#if OPENSSL_API_COMPAT < 0x10000000L +# define DEPRECATEDIN_1_0_0(f) DECLARE_DEPRECATED(f) +#else +# define DEPRECATEDIN_1_0_0(f) +#endif + +#if OPENSSL_API_COMPAT < 0x00908000L +# define DEPRECATEDIN_0_9_8(f) DECLARE_DEPRECATED(f) +#else +# define DEPRECATEDIN_0_9_8(f) +#endif + +/* Generate 80386 code? */ +#undef I386_ONLY + +#undef OPENSSL_UNISTD +#define OPENSSL_UNISTD + +#undef OPENSSL_EXPORT_VAR_AS_FUNCTION + +/* + * The following are cipher-specific, but are part of the public API. + */ +#if !defined(OPENSSL_SYS_UEFI) +# undef BN_LLONG +/* Only one for the following should be defined */ +# define SIXTY_FOUR_BIT_LONG +# undef SIXTY_FOUR_BIT +# undef THIRTY_TWO_BIT +#endif + +#define RC4_INT unsigned int + +#ifdef __cplusplus +} +#endif diff --git a/linux_amd64/include/openssl/opensslv.h b/linux_amd64/include/openssl/opensslv.h index 7805942..032fb78 100644 --- a/linux_amd64/include/openssl/opensslv.h +++ b/linux_amd64/include/openssl/opensslv.h @@ -1,114 +1,101 @@ /* - * WARNING: do not edit! - * Generated by Makefile from ../include/openssl/opensslv.h.in - * * Copyright 1999-2019 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_OPENSSLV_H -# define OPENSSL_OPENSSLV_H -# pragma once +#ifndef HEADER_OPENSSLV_H +# define HEADER_OPENSSLV_H -# ifdef __cplusplus +#ifdef __cplusplus extern "C" { -# endif +#endif -/* - * SECTION 1: VERSION DATA. These will change for each release - */ - -/* - * Base version macros +/*- + * Numeric release version identifier: + * MNNFFPPS: major minor fix patch status + * The status nibble has one of the values 0 for development, 1 to e for betas + * 1 to 14, and f for release. The patch level is exactly that. + * For example: + * 0.9.3-dev 0x00903000 + * 0.9.3-beta1 0x00903001 + * 0.9.3-beta2-dev 0x00903002 + * 0.9.3-beta2 0x00903002 (same as ...beta2-dev) + * 0.9.3 0x0090300f + * 0.9.3a 0x0090301f + * 0.9.4 0x0090400f + * 1.2.3z 0x102031af * - * These macros express version number MAJOR.MINOR.PATCH exactly - */ -# define OPENSSL_VERSION_MAJOR 3 -# define OPENSSL_VERSION_MINOR 0 -# define OPENSSL_VERSION_PATCH 0 - -/* - * Additional version information + * For continuity reasons (because 0.9.5 is already out, and is coded + * 0x00905100), between 0.9.5 and 0.9.6 the coding of the patch level + * part is slightly different, by setting the highest bit. This means + * that 0.9.5a looks like this: 0x0090581f. At 0.9.6, we can start + * with 0x0090600S... * - * These are also part of the new version scheme, but aren't part - * of the version number itself. + * (Prior to 0.9.3-dev a different scheme was used: 0.9.2b is 0x0922.) + * (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for + * major minor fix final patch/beta) */ +# define OPENSSL_VERSION_NUMBER 0x10101050L +# define OPENSSL_VERSION_TEXT "OpenSSL 1.1.1e-dev xx XXX xxxx" -/* Could be: #define OPENSSL_VERSION_PRE_RELEASE "-alpha.1" */ -# define OPENSSL_VERSION_PRE_RELEASE "-dev" -/* Could be: #define OPENSSL_VERSION_BUILD_METADATA "+fips" */ -/* Could be: #define OPENSSL_VERSION_BUILD_METADATA "+vendor.1" */ -# define OPENSSL_VERSION_BUILD_METADATA "" - -/* - * Note: The OpenSSL Project will never define OPENSSL_VERSION_BUILD_METADATA - * to be anything but the empty string. Its use is entirely reserved for - * others - */ - -/* - * Shared library version +/*- + * The macros below are to be used for shared library (.so, .dll, ...) + * versioning. That kind of versioning works a bit differently between + * operating systems. The most usual scheme is to set a major and a minor + * number, and have the runtime loader check that the major number is equal + * to what it was at application link time, while the minor number has to + * be greater or equal to what it was at application link time. With this + * scheme, the version number is usually part of the file name, like this: * - * This is strictly to express ABI version, which may or may not - * be related to the API version expressed with the macros above. - * This is defined in free form. - */ -# define OPENSSL_SHLIB_VERSION 3 - -/* - * SECTION 2: USEFUL MACROS - */ - -/* For checking general API compatibility when preprocessing */ -# define OPENSSL_VERSION_PREREQ(maj,min) \ - ((OPENSSL_VERSION_MAJOR << 16) + OPENSSL_VERSION_MINOR >= ((maj) << 16) + (min)) - -/* - * Macros to get the version in easily digested string form, both the short - * "MAJOR.MINOR.PATCH" variant (where MAJOR, MINOR and PATCH are replaced - * with the values from the corresponding OPENSSL_VERSION_ macros) and the - * longer variant with OPENSSL_VERSION_PRE_RELEASE_STR and - * OPENSSL_VERSION_BUILD_METADATA_STR appended. - */ -# define OPENSSL_VERSION_STR "3.0.0" -# define OPENSSL_FULL_VERSION_STR "3.0.0-dev" - -/* - * SECTION 3: ADDITIONAL METADATA + * libcrypto.so.0.9 * - * These strings are defined separately to allow them to be parsable. + * Some unixen also make a softlink with the major version number only: + * + * libcrypto.so.0 + * + * On Tru64 and IRIX 6.x it works a little bit differently. There, the + * shared library version is stored in the file, and is actually a series + * of versions, separated by colons. The rightmost version present in the + * library when linking an application is stored in the application to be + * matched at run time. When the application is run, a check is done to + * see if the library version stored in the application matches any of the + * versions in the version string of the library itself. + * This version string can be constructed in any way, depending on what + * kind of matching is desired. However, to implement the same scheme as + * the one used in the other unixen, all compatible versions, from lowest + * to highest, should be part of the string. Consecutive builds would + * give the following versions strings: + * + * 3.0 + * 3.0:3.1 + * 3.0:3.1:3.2 + * 4.0 + * 4.0:4.1 + * + * Notice how version 4 is completely incompatible with version, and + * therefore give the breach you can see. + * + * There may be other schemes as well that I haven't yet discovered. + * + * So, here's the way it works here: first of all, the library version + * number doesn't need at all to match the overall OpenSSL version. + * However, it's nice and more understandable if it actually does. + * The current library version is stored in the macro SHLIB_VERSION_NUMBER, + * which is just a piece of text in the format "M.m.e" (Major, minor, edit). + * For the sake of Tru64, IRIX, and any other OS that behaves in similar ways, + * we need to keep a history of version numbers, which is done in the + * macro SHLIB_VERSION_HISTORY. The numbers are separated by colons and + * should only keep the versions that are binary compatible with the current. */ -# define OPENSSL_RELEASE_DATE "xx XXX xxxx" +# define SHLIB_VERSION_HISTORY "" +# define SHLIB_VERSION_NUMBER "1.1" -/* - * SECTION 4: BACKWARD COMPATIBILITY - */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.0.0-dev xx XXX xxxx" - -/* Synthesize OPENSSL_VERSION_NUMBER with the layout 0xMNN00PPSL */ -# ifdef OPENSSL_VERSION_PRE_RELEASE -# define _OPENSSL_VERSION_PRE_RELEASE 0x0 -# else -# define _OPENSSL_VERSION_PRE_RELEASE 0xf -# endif -# define OPENSSL_VERSION_NUMBER \ - ( (OPENSSL_VERSION_MAJOR<<28) \ - |(OPENSSL_VERSION_MINOR<<20) \ - |(OPENSSL_VERSION_PATCH<<4) \ - |_OPENSSL_VERSION_PRE_RELEASE ) - -# ifdef __cplusplus +#ifdef __cplusplus } -# endif - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_OPENSSLV_H -# endif - -#endif /* OPENSSL_OPENSSLV_H */ +#endif +#endif /* HEADER_OPENSSLV_H */ diff --git a/linux_amd64/include/openssl/ossl_typ.h b/linux_amd64/include/openssl/ossl_typ.h index 82a5898..e0edfaa 100644 --- a/linux_amd64/include/openssl/ossl_typ.h +++ b/linux_amd64/include/openssl/ossl_typ.h @@ -1,16 +1,197 @@ /* - * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ +#ifndef HEADER_OPENSSL_TYPES_H +# define HEADER_OPENSSL_TYPES_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +# include + +# ifdef NO_ASN1_TYPEDEFS +# define ASN1_INTEGER ASN1_STRING +# define ASN1_ENUMERATED ASN1_STRING +# define ASN1_BIT_STRING ASN1_STRING +# define ASN1_OCTET_STRING ASN1_STRING +# define ASN1_PRINTABLESTRING ASN1_STRING +# define ASN1_T61STRING ASN1_STRING +# define ASN1_IA5STRING ASN1_STRING +# define ASN1_UTCTIME ASN1_STRING +# define ASN1_GENERALIZEDTIME ASN1_STRING +# define ASN1_TIME ASN1_STRING +# define ASN1_GENERALSTRING ASN1_STRING +# define ASN1_UNIVERSALSTRING ASN1_STRING +# define ASN1_BMPSTRING ASN1_STRING +# define ASN1_VISIBLESTRING ASN1_STRING +# define ASN1_UTF8STRING ASN1_STRING +# define ASN1_BOOLEAN int +# define ASN1_NULL int +# else +typedef struct asn1_string_st ASN1_INTEGER; +typedef struct asn1_string_st ASN1_ENUMERATED; +typedef struct asn1_string_st ASN1_BIT_STRING; +typedef struct asn1_string_st ASN1_OCTET_STRING; +typedef struct asn1_string_st ASN1_PRINTABLESTRING; +typedef struct asn1_string_st ASN1_T61STRING; +typedef struct asn1_string_st ASN1_IA5STRING; +typedef struct asn1_string_st ASN1_GENERALSTRING; +typedef struct asn1_string_st ASN1_UNIVERSALSTRING; +typedef struct asn1_string_st ASN1_BMPSTRING; +typedef struct asn1_string_st ASN1_UTCTIME; +typedef struct asn1_string_st ASN1_TIME; +typedef struct asn1_string_st ASN1_GENERALIZEDTIME; +typedef struct asn1_string_st ASN1_VISIBLESTRING; +typedef struct asn1_string_st ASN1_UTF8STRING; +typedef struct asn1_string_st ASN1_STRING; +typedef int ASN1_BOOLEAN; +typedef int ASN1_NULL; +# endif + +typedef struct asn1_object_st ASN1_OBJECT; + +typedef struct ASN1_ITEM_st ASN1_ITEM; +typedef struct asn1_pctx_st ASN1_PCTX; +typedef struct asn1_sctx_st ASN1_SCTX; + +# ifdef _WIN32 +# undef X509_NAME +# undef X509_EXTENSIONS +# undef PKCS7_ISSUER_AND_SERIAL +# undef PKCS7_SIGNER_INFO +# undef OCSP_REQUEST +# undef OCSP_RESPONSE +# endif + +# ifdef BIGNUM +# undef BIGNUM +# endif +struct dane_st; +typedef struct bio_st BIO; +typedef struct bignum_st BIGNUM; +typedef struct bignum_ctx BN_CTX; +typedef struct bn_blinding_st BN_BLINDING; +typedef struct bn_mont_ctx_st BN_MONT_CTX; +typedef struct bn_recp_ctx_st BN_RECP_CTX; +typedef struct bn_gencb_st BN_GENCB; + +typedef struct buf_mem_st BUF_MEM; + +typedef struct evp_cipher_st EVP_CIPHER; +typedef struct evp_cipher_ctx_st EVP_CIPHER_CTX; +typedef struct evp_md_st EVP_MD; +typedef struct evp_md_ctx_st EVP_MD_CTX; +typedef struct evp_pkey_st EVP_PKEY; + +typedef struct evp_pkey_asn1_method_st EVP_PKEY_ASN1_METHOD; + +typedef struct evp_pkey_method_st EVP_PKEY_METHOD; +typedef struct evp_pkey_ctx_st EVP_PKEY_CTX; + +typedef struct evp_Encode_Ctx_st EVP_ENCODE_CTX; + +typedef struct hmac_ctx_st HMAC_CTX; + +typedef struct dh_st DH; +typedef struct dh_method DH_METHOD; + +typedef struct dsa_st DSA; +typedef struct dsa_method DSA_METHOD; + +typedef struct rsa_st RSA; +typedef struct rsa_meth_st RSA_METHOD; +typedef struct rsa_pss_params_st RSA_PSS_PARAMS; + +typedef struct ec_key_st EC_KEY; +typedef struct ec_key_method_st EC_KEY_METHOD; + +typedef struct rand_meth_st RAND_METHOD; +typedef struct rand_drbg_st RAND_DRBG; + +typedef struct ssl_dane_st SSL_DANE; +typedef struct x509_st X509; +typedef struct X509_algor_st X509_ALGOR; +typedef struct X509_crl_st X509_CRL; +typedef struct x509_crl_method_st X509_CRL_METHOD; +typedef struct x509_revoked_st X509_REVOKED; +typedef struct X509_name_st X509_NAME; +typedef struct X509_pubkey_st X509_PUBKEY; +typedef struct x509_store_st X509_STORE; +typedef struct x509_store_ctx_st X509_STORE_CTX; + +typedef struct x509_object_st X509_OBJECT; +typedef struct x509_lookup_st X509_LOOKUP; +typedef struct x509_lookup_method_st X509_LOOKUP_METHOD; +typedef struct X509_VERIFY_PARAM_st X509_VERIFY_PARAM; + +typedef struct x509_sig_info_st X509_SIG_INFO; + +typedef struct pkcs8_priv_key_info_st PKCS8_PRIV_KEY_INFO; + +typedef struct v3_ext_ctx X509V3_CTX; +typedef struct conf_st CONF; +typedef struct ossl_init_settings_st OPENSSL_INIT_SETTINGS; + +typedef struct ui_st UI; +typedef struct ui_method_st UI_METHOD; + +typedef struct engine_st ENGINE; +typedef struct ssl_st SSL; +typedef struct ssl_ctx_st SSL_CTX; + +typedef struct comp_ctx_st COMP_CTX; +typedef struct comp_method_st COMP_METHOD; + +typedef struct X509_POLICY_NODE_st X509_POLICY_NODE; +typedef struct X509_POLICY_LEVEL_st X509_POLICY_LEVEL; +typedef struct X509_POLICY_TREE_st X509_POLICY_TREE; +typedef struct X509_POLICY_CACHE_st X509_POLICY_CACHE; + +typedef struct AUTHORITY_KEYID_st AUTHORITY_KEYID; +typedef struct DIST_POINT_st DIST_POINT; +typedef struct ISSUING_DIST_POINT_st ISSUING_DIST_POINT; +typedef struct NAME_CONSTRAINTS_st NAME_CONSTRAINTS; + +typedef struct crypto_ex_data_st CRYPTO_EX_DATA; + +typedef struct ocsp_req_ctx_st OCSP_REQ_CTX; +typedef struct ocsp_response_st OCSP_RESPONSE; +typedef struct ocsp_responder_id_st OCSP_RESPID; + +typedef struct sct_st SCT; +typedef struct sct_ctx_st SCT_CTX; +typedef struct ctlog_st CTLOG; +typedef struct ctlog_store_st CTLOG_STORE; +typedef struct ct_policy_eval_ctx_st CT_POLICY_EVAL_CTX; + +typedef struct ossl_store_info_st OSSL_STORE_INFO; +typedef struct ossl_store_search_st OSSL_STORE_SEARCH; + +#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L && \ + defined(INTMAX_MAX) && defined(UINTMAX_MAX) +typedef intmax_t ossl_intmax_t; +typedef uintmax_t ossl_uintmax_t; +#else /* - * The original was renamed to - * - * This header file only exists for compatibility reasons with older - * applications which #include . + * Not long long, because the C-library can only be expected to provide + * strtoll(), strtoull() at the same time as intmax_t and strtoimax(), + * strtoumax(). Since we use these for parsing arguments, we need the + * conversion functions, not just the sizes. */ -# include +typedef long ossl_intmax_t; +typedef unsigned long ossl_uintmax_t; +#endif + +#ifdef __cplusplus +} +#endif +#endif /* def HEADER_OPENSSL_TYPES_H */ diff --git a/linux_amd64/include/openssl/pem.h b/linux_amd64/include/openssl/pem.h index e48d247..2ef5b5d 100644 --- a/linux_amd64/include/openssl/pem.h +++ b/linux_amd64/include/openssl/pem.h @@ -1,20 +1,14 @@ /* * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_PEM_H -# define OPENSSL_PEM_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_PEM_H -# endif +#ifndef HEADER_PEM_H +# define HEADER_PEM_H # include # include @@ -66,110 +60,98 @@ extern "C" { * IMPLEMENT_PEM_rw_cb(...) */ -# define PEM_write_fnsig(name, type, OUTTYPE, writename) \ - int PEM_##writename##_##name(OUTTYPE *out, const type *x) -# define PEM_write_cb_fnsig(name, type, OUTTYPE, writename) \ - int PEM_##writename##_##name(OUTTYPE *out, const type *x, \ - const EVP_CIPHER *enc, \ - const unsigned char *kstr, int klen, \ - pem_password_cb *cb, void *u) - # ifdef OPENSSL_NO_STDIO # define IMPLEMENT_PEM_read_fp(name, type, str, asn1) /**/ # define IMPLEMENT_PEM_write_fp(name, type, str, asn1) /**/ -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define IMPLEMENT_PEM_write_fp_const(name, type, str, asn1) /**/ -# endif +# define IMPLEMENT_PEM_write_fp_const(name, type, str, asn1) /**/ # define IMPLEMENT_PEM_write_cb_fp(name, type, str, asn1) /**/ -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define IMPLEMENT_PEM_write_cb_fp_const(name, type, str, asn1) /**/ -# endif +# define IMPLEMENT_PEM_write_cb_fp_const(name, type, str, asn1) /**/ # else -# define IMPLEMENT_PEM_read_fp(name, type, str, asn1) \ - type *PEM_read_##name(FILE *fp, type **x, pem_password_cb *cb, void *u) \ - { \ - return PEM_ASN1_read((d2i_of_void *)d2i_##asn1, str, fp, \ - (void **)x, cb, u); \ - } +# define IMPLEMENT_PEM_read_fp(name, type, str, asn1) \ +type *PEM_read_##name(FILE *fp, type **x, pem_password_cb *cb, void *u)\ +{ \ +return PEM_ASN1_read((d2i_of_void *)d2i_##asn1, str,fp,(void **)x,cb,u); \ +} -# define IMPLEMENT_PEM_write_fp(name, type, str, asn1) \ - PEM_write_fnsig(name, type, FILE, write) \ - { \ - return PEM_ASN1_write((i2d_of_void *)i2d_##asn1, str, out, \ - x, NULL, NULL, 0, NULL, NULL); \ - } +# define IMPLEMENT_PEM_write_fp(name, type, str, asn1) \ +int PEM_write_##name(FILE *fp, type *x) \ +{ \ +return PEM_ASN1_write((i2d_of_void *)i2d_##asn1,str,fp,x,NULL,NULL,0,NULL,NULL); \ +} -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define IMPLEMENT_PEM_write_fp_const(name, type, str, asn1) \ - IMPLEMENT_PEM_write_fp(name, type, str, asn1) -# endif +# define IMPLEMENT_PEM_write_fp_const(name, type, str, asn1) \ +int PEM_write_##name(FILE *fp, const type *x) \ +{ \ +return PEM_ASN1_write((i2d_of_void *)i2d_##asn1,str,fp,(void *)x,NULL,NULL,0,NULL,NULL); \ +} -# define IMPLEMENT_PEM_write_cb_fp(name, type, str, asn1) \ - PEM_write_cb_fnsig(name, type, FILE, write) \ - { \ - return PEM_ASN1_write((i2d_of_void *)i2d_##asn1, str, out, \ - x, enc, kstr, klen, cb, u); \ - } +# define IMPLEMENT_PEM_write_cb_fp(name, type, str, asn1) \ +int PEM_write_##name(FILE *fp, type *x, const EVP_CIPHER *enc, \ + unsigned char *kstr, int klen, pem_password_cb *cb, \ + void *u) \ + { \ + return PEM_ASN1_write((i2d_of_void *)i2d_##asn1,str,fp,x,enc,kstr,klen,cb,u); \ + } + +# define IMPLEMENT_PEM_write_cb_fp_const(name, type, str, asn1) \ +int PEM_write_##name(FILE *fp, type *x, const EVP_CIPHER *enc, \ + unsigned char *kstr, int klen, pem_password_cb *cb, \ + void *u) \ + { \ + return PEM_ASN1_write((i2d_of_void *)i2d_##asn1,str,fp,x,enc,kstr,klen,cb,u); \ + } -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define IMPLEMENT_PEM_write_cb_fp_const(name, type, str, asn1) \ - IMPLEMENT_PEM_write_cb_fp(name, type, str, asn1) -# endif # endif -# define IMPLEMENT_PEM_read_bio(name, type, str, asn1) \ - type *PEM_read_bio_##name(BIO *bp, type **x, \ - pem_password_cb *cb, void *u) \ - { \ - return PEM_ASN1_read_bio((d2i_of_void *)d2i_##asn1, str, bp, \ - (void **)x, cb, u); \ - } +# define IMPLEMENT_PEM_read_bio(name, type, str, asn1) \ +type *PEM_read_bio_##name(BIO *bp, type **x, pem_password_cb *cb, void *u)\ +{ \ +return PEM_ASN1_read_bio((d2i_of_void *)d2i_##asn1, str,bp,(void **)x,cb,u); \ +} -# define IMPLEMENT_PEM_write_bio(name, type, str, asn1) \ - PEM_write_fnsig(name, type, BIO, write_bio) \ - { \ - return PEM_ASN1_write_bio((i2d_of_void *)i2d_##asn1, str, out, \ - x, NULL,NULL,0,NULL,NULL); \ - } +# define IMPLEMENT_PEM_write_bio(name, type, str, asn1) \ +int PEM_write_bio_##name(BIO *bp, type *x) \ +{ \ +return PEM_ASN1_write_bio((i2d_of_void *)i2d_##asn1,str,bp,x,NULL,NULL,0,NULL,NULL); \ +} -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define IMPLEMENT_PEM_write_bio_const(name, type, str, asn1) \ - IMPLEMENT_PEM_write_bio(name, type, str, asn1) -# endif +# define IMPLEMENT_PEM_write_bio_const(name, type, str, asn1) \ +int PEM_write_bio_##name(BIO *bp, const type *x) \ +{ \ +return PEM_ASN1_write_bio((i2d_of_void *)i2d_##asn1,str,bp,(void *)x,NULL,NULL,0,NULL,NULL); \ +} -# define IMPLEMENT_PEM_write_cb_bio(name, type, str, asn1) \ - PEM_write_cb_fnsig(name, type, BIO, write_bio) \ - { \ - return PEM_ASN1_write_bio((i2d_of_void *)i2d_##asn1, str, out, \ - x, enc, kstr, klen, cb, u); \ - } +# define IMPLEMENT_PEM_write_cb_bio(name, type, str, asn1) \ +int PEM_write_bio_##name(BIO *bp, type *x, const EVP_CIPHER *enc, \ + unsigned char *kstr, int klen, pem_password_cb *cb, void *u) \ + { \ + return PEM_ASN1_write_bio((i2d_of_void *)i2d_##asn1,str,bp,x,enc,kstr,klen,cb,u); \ + } -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define IMPLEMENT_PEM_write_cb_bio_const(name, type, str, asn1) \ - IMPLEMENT_PEM_write_cb_bio(name, type, str, asn1) -# endif +# define IMPLEMENT_PEM_write_cb_bio_const(name, type, str, asn1) \ +int PEM_write_bio_##name(BIO *bp, type *x, const EVP_CIPHER *enc, \ + unsigned char *kstr, int klen, pem_password_cb *cb, void *u) \ + { \ + return PEM_ASN1_write_bio((i2d_of_void *)i2d_##asn1,str,bp,(void *)x,enc,kstr,klen,cb,u); \ + } # define IMPLEMENT_PEM_write(name, type, str, asn1) \ IMPLEMENT_PEM_write_bio(name, type, str, asn1) \ IMPLEMENT_PEM_write_fp(name, type, str, asn1) -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define IMPLEMENT_PEM_write_const(name, type, str, asn1) \ +# define IMPLEMENT_PEM_write_const(name, type, str, asn1) \ IMPLEMENT_PEM_write_bio_const(name, type, str, asn1) \ IMPLEMENT_PEM_write_fp_const(name, type, str, asn1) -# endif # define IMPLEMENT_PEM_write_cb(name, type, str, asn1) \ IMPLEMENT_PEM_write_cb_bio(name, type, str, asn1) \ IMPLEMENT_PEM_write_cb_fp(name, type, str, asn1) -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define IMPLEMENT_PEM_write_cb_const(name, type, str, asn1) \ +# define IMPLEMENT_PEM_write_cb_const(name, type, str, asn1) \ IMPLEMENT_PEM_write_cb_bio_const(name, type, str, asn1) \ IMPLEMENT_PEM_write_cb_fp_const(name, type, str, asn1) -# endif # define IMPLEMENT_PEM_read(name, type, str, asn1) \ IMPLEMENT_PEM_read_bio(name, type, str, asn1) \ @@ -179,11 +161,9 @@ extern "C" { IMPLEMENT_PEM_read(name, type, str, asn1) \ IMPLEMENT_PEM_write(name, type, str, asn1) -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define IMPLEMENT_PEM_rw_const(name, type, str, asn1) \ +# define IMPLEMENT_PEM_rw_const(name, type, str, asn1) \ IMPLEMENT_PEM_read(name, type, str, asn1) \ IMPLEMENT_PEM_write_const(name, type, str, asn1) -# endif # define IMPLEMENT_PEM_rw_cb(name, type, str, asn1) \ IMPLEMENT_PEM_read(name, type, str, asn1) \ @@ -195,51 +175,44 @@ extern "C" { # define DECLARE_PEM_read_fp(name, type) /**/ # define DECLARE_PEM_write_fp(name, type) /**/ -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define DECLARE_PEM_write_fp_const(name, type) /**/ -# endif +# define DECLARE_PEM_write_fp_const(name, type) /**/ # define DECLARE_PEM_write_cb_fp(name, type) /**/ # else -# define DECLARE_PEM_read_fp(name, type) \ - type *PEM_read_##name(FILE *fp, type **x, pem_password_cb *cb, void *u); +# define DECLARE_PEM_read_fp(name, type) \ + type *PEM_read_##name(FILE *fp, type **x, pem_password_cb *cb, void *u); -# define DECLARE_PEM_write_fp(name, type) \ - PEM_write_fnsig(name, type, FILE, write); +# define DECLARE_PEM_write_fp(name, type) \ + int PEM_write_##name(FILE *fp, type *x); -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define DECLARE_PEM_write_fp_const(name, type) \ - PEM_write_fnsig(name, type, FILE, write); -# endif +# define DECLARE_PEM_write_fp_const(name, type) \ + int PEM_write_##name(FILE *fp, const type *x); -# define DECLARE_PEM_write_cb_fp(name, type) \ - PEM_write_cb_fnsig(name, type, FILE, write); +# define DECLARE_PEM_write_cb_fp(name, type) \ + int PEM_write_##name(FILE *fp, type *x, const EVP_CIPHER *enc, \ + unsigned char *kstr, int klen, pem_password_cb *cb, void *u); # endif -# define DECLARE_PEM_read_bio(name, type) \ - type *PEM_read_bio_##name(BIO *bp, type **x, \ - pem_password_cb *cb, void *u); +# define DECLARE_PEM_read_bio(name, type) \ + type *PEM_read_bio_##name(BIO *bp, type **x, pem_password_cb *cb, void *u); -# define DECLARE_PEM_write_bio(name, type) \ - PEM_write_fnsig(name, type, BIO, write_bio); +# define DECLARE_PEM_write_bio(name, type) \ + int PEM_write_bio_##name(BIO *bp, type *x); -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define DECLARE_PEM_write_bio_const(name, type) \ - PEM_write_fnsig(name, type, BIO, write_bio); -# endif +# define DECLARE_PEM_write_bio_const(name, type) \ + int PEM_write_bio_##name(BIO *bp, const type *x); -# define DECLARE_PEM_write_cb_bio(name, type) \ - PEM_write_cb_fnsig(name, type, BIO, write_bio); +# define DECLARE_PEM_write_cb_bio(name, type) \ + int PEM_write_bio_##name(BIO *bp, type *x, const EVP_CIPHER *enc, \ + unsigned char *kstr, int klen, pem_password_cb *cb, void *u); # define DECLARE_PEM_write(name, type) \ DECLARE_PEM_write_bio(name, type) \ DECLARE_PEM_write_fp(name, type) -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define DECLARE_PEM_write_const(name, type) \ +# define DECLARE_PEM_write_const(name, type) \ DECLARE_PEM_write_bio_const(name, type) \ DECLARE_PEM_write_fp_const(name, type) -# endif # define DECLARE_PEM_write_cb(name, type) \ DECLARE_PEM_write_cb_bio(name, type) \ DECLARE_PEM_write_cb_fp(name, type) @@ -249,14 +222,13 @@ extern "C" { # define DECLARE_PEM_rw(name, type) \ DECLARE_PEM_read(name, type) \ DECLARE_PEM_write(name, type) -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define DECLARE_PEM_rw_const(name, type) \ +# define DECLARE_PEM_rw_const(name, type) \ DECLARE_PEM_read(name, type) \ DECLARE_PEM_write_const(name, type) -# endif # define DECLARE_PEM_rw_cb(name, type) \ DECLARE_PEM_read(name, type) \ DECLARE_PEM_write_cb(name, type) +typedef int pem_password_cb (char *buf, int size, int rwflag, void *userdata); int PEM_get_EVP_CIPHER_INFO(char *header, EVP_CIPHER_INFO *cipher); int PEM_do_header(EVP_CIPHER_INFO *cipher, unsigned char *data, long *len, @@ -279,15 +251,14 @@ int PEM_bytes_read_bio(unsigned char **pdata, long *plen, char **pnm, void *u); void *PEM_ASN1_read_bio(d2i_of_void *d2i, const char *name, BIO *bp, void **x, pem_password_cb *cb, void *u); -int PEM_ASN1_write_bio(i2d_of_void *i2d, const char *name, BIO *bp, - const void *x, const EVP_CIPHER *enc, - const unsigned char *kstr, int klen, +int PEM_ASN1_write_bio(i2d_of_void *i2d, const char *name, BIO *bp, void *x, + const EVP_CIPHER *enc, unsigned char *kstr, int klen, pem_password_cb *cb, void *u); STACK_OF(X509_INFO) *PEM_X509_INFO_read_bio(BIO *bp, STACK_OF(X509_INFO) *sk, pem_password_cb *cb, void *u); -int PEM_X509_INFO_write_bio(BIO *bp, const X509_INFO *xi, EVP_CIPHER *enc, - const unsigned char *kstr, int klen, +int PEM_X509_INFO_write_bio(BIO *bp, X509_INFO *xi, EVP_CIPHER *enc, + unsigned char *kstr, int klen, pem_password_cb *cd, void *u); #ifndef OPENSSL_NO_STDIO @@ -298,22 +269,21 @@ int PEM_write(FILE *fp, const char *name, const char *hdr, void *PEM_ASN1_read(d2i_of_void *d2i, const char *name, FILE *fp, void **x, pem_password_cb *cb, void *u); int PEM_ASN1_write(i2d_of_void *i2d, const char *name, FILE *fp, - const void *x, const EVP_CIPHER *enc, - const unsigned char *kstr, int klen, - pem_password_cb *callback, void *u); + void *x, const EVP_CIPHER *enc, unsigned char *kstr, + int klen, pem_password_cb *callback, void *u); STACK_OF(X509_INFO) *PEM_X509_INFO_read(FILE *fp, STACK_OF(X509_INFO) *sk, pem_password_cb *cb, void *u); #endif int PEM_SignInit(EVP_MD_CTX *ctx, EVP_MD *type); -int PEM_SignUpdate(EVP_MD_CTX *ctx, const unsigned char *d, unsigned int cnt); +int PEM_SignUpdate(EVP_MD_CTX *ctx, unsigned char *d, unsigned int cnt); int PEM_SignFinal(EVP_MD_CTX *ctx, unsigned char *sigret, unsigned int *siglen, EVP_PKEY *pkey); /* The default pem_password_cb that's used internally */ int PEM_def_callback(char *buf, int num, int rwflag, void *userdata); void PEM_proc_type(char *buf, int type); -void PEM_dek_info(char *buf, const char *type, int len, const char *str); +void PEM_dek_info(char *buf, const char *type, int len, char *str); # include @@ -322,85 +292,82 @@ DECLARE_PEM_rw(X509_AUX, X509) DECLARE_PEM_rw(X509_REQ, X509_REQ) DECLARE_PEM_write(X509_REQ_NEW, X509_REQ) DECLARE_PEM_rw(X509_CRL, X509_CRL) -DECLARE_PEM_rw(X509_PUBKEY, X509_PUBKEY) DECLARE_PEM_rw(PKCS7, PKCS7) DECLARE_PEM_rw(NETSCAPE_CERT_SEQUENCE, NETSCAPE_CERT_SEQUENCE) DECLARE_PEM_rw(PKCS8, X509_SIG) DECLARE_PEM_rw(PKCS8_PRIV_KEY_INFO, PKCS8_PRIV_KEY_INFO) # ifndef OPENSSL_NO_RSA DECLARE_PEM_rw_cb(RSAPrivateKey, RSA) -DECLARE_PEM_rw(RSAPublicKey, RSA) +DECLARE_PEM_rw_const(RSAPublicKey, RSA) DECLARE_PEM_rw(RSA_PUBKEY, RSA) # endif # ifndef OPENSSL_NO_DSA DECLARE_PEM_rw_cb(DSAPrivateKey, DSA) DECLARE_PEM_rw(DSA_PUBKEY, DSA) -DECLARE_PEM_rw(DSAparams, DSA) +DECLARE_PEM_rw_const(DSAparams, DSA) # endif # ifndef OPENSSL_NO_EC -DECLARE_PEM_rw(ECPKParameters, EC_GROUP) +DECLARE_PEM_rw_const(ECPKParameters, EC_GROUP) DECLARE_PEM_rw_cb(ECPrivateKey, EC_KEY) DECLARE_PEM_rw(EC_PUBKEY, EC_KEY) # endif # ifndef OPENSSL_NO_DH -DECLARE_PEM_rw(DHparams, DH) -DECLARE_PEM_write(DHxparams, DH) +DECLARE_PEM_rw_const(DHparams, DH) +DECLARE_PEM_write_const(DHxparams, DH) # endif DECLARE_PEM_rw_cb(PrivateKey, EVP_PKEY) DECLARE_PEM_rw(PUBKEY, EVP_PKEY) -int PEM_write_bio_PrivateKey_traditional(BIO *bp, const EVP_PKEY *x, +int PEM_write_bio_PrivateKey_traditional(BIO *bp, EVP_PKEY *x, const EVP_CIPHER *enc, - const unsigned char *kstr, int klen, + unsigned char *kstr, int klen, pem_password_cb *cb, void *u); -/* Why do these take a signed char *kstr? */ -int PEM_write_bio_PKCS8PrivateKey_nid(BIO *bp, const EVP_PKEY *x, int nid, - const char *kstr, int klen, +int PEM_write_bio_PKCS8PrivateKey_nid(BIO *bp, EVP_PKEY *x, int nid, + char *kstr, int klen, pem_password_cb *cb, void *u); -int PEM_write_bio_PKCS8PrivateKey(BIO *, const EVP_PKEY *, const EVP_CIPHER *, - const char *kstr, int klen, - pem_password_cb *cb, void *u); -int i2d_PKCS8PrivateKey_bio(BIO *bp, const EVP_PKEY *x, const EVP_CIPHER *enc, - const char *kstr, int klen, +int PEM_write_bio_PKCS8PrivateKey(BIO *, EVP_PKEY *, const EVP_CIPHER *, + char *, int, pem_password_cb *, void *); +int i2d_PKCS8PrivateKey_bio(BIO *bp, EVP_PKEY *x, const EVP_CIPHER *enc, + char *kstr, int klen, pem_password_cb *cb, void *u); -int i2d_PKCS8PrivateKey_nid_bio(BIO *bp, const EVP_PKEY *x, int nid, - const char *kstr, int klen, +int i2d_PKCS8PrivateKey_nid_bio(BIO *bp, EVP_PKEY *x, int nid, + char *kstr, int klen, pem_password_cb *cb, void *u); EVP_PKEY *d2i_PKCS8PrivateKey_bio(BIO *bp, EVP_PKEY **x, pem_password_cb *cb, void *u); # ifndef OPENSSL_NO_STDIO -int i2d_PKCS8PrivateKey_fp(FILE *fp, const EVP_PKEY *x, const EVP_CIPHER *enc, - const char *kstr, int klen, +int i2d_PKCS8PrivateKey_fp(FILE *fp, EVP_PKEY *x, const EVP_CIPHER *enc, + char *kstr, int klen, pem_password_cb *cb, void *u); -int i2d_PKCS8PrivateKey_nid_fp(FILE *fp, const EVP_PKEY *x, int nid, - const char *kstr, int klen, +int i2d_PKCS8PrivateKey_nid_fp(FILE *fp, EVP_PKEY *x, int nid, + char *kstr, int klen, pem_password_cb *cb, void *u); -int PEM_write_PKCS8PrivateKey_nid(FILE *fp, const EVP_PKEY *x, int nid, - const char *kstr, int klen, +int PEM_write_PKCS8PrivateKey_nid(FILE *fp, EVP_PKEY *x, int nid, + char *kstr, int klen, pem_password_cb *cb, void *u); EVP_PKEY *d2i_PKCS8PrivateKey_fp(FILE *fp, EVP_PKEY **x, pem_password_cb *cb, void *u); -int PEM_write_PKCS8PrivateKey(FILE *fp, const EVP_PKEY *x, const EVP_CIPHER *enc, - const char *kstr, int klen, - pem_password_cb *cd, void *u); +int PEM_write_PKCS8PrivateKey(FILE *fp, EVP_PKEY *x, const EVP_CIPHER *enc, + char *kstr, int klen, pem_password_cb *cd, + void *u); # endif EVP_PKEY *PEM_read_bio_Parameters(BIO *bp, EVP_PKEY **x); -int PEM_write_bio_Parameters(BIO *bp, const EVP_PKEY *x); +int PEM_write_bio_Parameters(BIO *bp, EVP_PKEY *x); # ifndef OPENSSL_NO_DSA EVP_PKEY *b2i_PrivateKey(const unsigned char **in, long length); EVP_PKEY *b2i_PublicKey(const unsigned char **in, long length); EVP_PKEY *b2i_PrivateKey_bio(BIO *in); EVP_PKEY *b2i_PublicKey_bio(BIO *in); -int i2b_PrivateKey_bio(BIO *out, const EVP_PKEY *pk); -int i2b_PublicKey_bio(BIO *out, const EVP_PKEY *pk); +int i2b_PrivateKey_bio(BIO *out, EVP_PKEY *pk); +int i2b_PublicKey_bio(BIO *out, EVP_PKEY *pk); # ifndef OPENSSL_NO_RC4 EVP_PKEY *b2i_PVK_bio(BIO *in, pem_password_cb *cb, void *u); -int i2b_PVK_bio(BIO *out, const EVP_PKEY *pk, int enclevel, +int i2b_PVK_bio(BIO *out, EVP_PKEY *pk, int enclevel, pem_password_cb *cb, void *u); # endif # endif diff --git a/linux_amd64/include/openssl/pem2.h b/linux_amd64/include/openssl/pem2.h index a8a5325..038fe79 100644 --- a/linux_amd64/include/openssl/pem2.h +++ b/linux_amd64/include/openssl/pem2.h @@ -1,19 +1,13 @@ /* * Copyright 1999-2018 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_PEM2_H -# define OPENSSL_PEM2_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_PEM2_H -# endif +#ifndef HEADER_PEM2_H +# define HEADER_PEM2_H # include #endif diff --git a/linux_amd64/include/openssl/pemerr.h b/linux_amd64/include/openssl/pemerr.h index c37a3ac..0c45918 100644 --- a/linux_amd64/include/openssl/pemerr.h +++ b/linux_amd64/include/openssl/pemerr.h @@ -2,25 +2,19 @@ * Generated by util/mkerr.pl DO NOT EDIT * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_PEMERR_H -# define OPENSSL_PEMERR_H -# pragma once +#ifndef HEADER_PEMERR_H +# define HEADER_PEMERR_H -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_PEMERR_H +# ifndef HEADER_SYMHACKS_H +# include # endif -# include -# include - - # ifdef __cplusplus extern "C" # endif @@ -29,50 +23,48 @@ int ERR_load_PEM_strings(void); /* * PEM function codes. */ -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define PEM_F_B2I_DSS 0 -# define PEM_F_B2I_PVK_BIO 0 -# define PEM_F_B2I_RSA 0 -# define PEM_F_CHECK_BITLEN_DSA 0 -# define PEM_F_CHECK_BITLEN_RSA 0 -# define PEM_F_D2I_PKCS8PRIVATEKEY_BIO 0 -# define PEM_F_D2I_PKCS8PRIVATEKEY_FP 0 -# define PEM_F_DO_B2I 0 -# define PEM_F_DO_B2I_BIO 0 -# define PEM_F_DO_BLOB_HEADER 0 -# define PEM_F_DO_I2B 0 -# define PEM_F_DO_PK8PKEY 0 -# define PEM_F_DO_PK8PKEY_FP 0 -# define PEM_F_DO_PVK_BODY 0 -# define PEM_F_DO_PVK_HEADER 0 -# define PEM_F_GET_HEADER_AND_DATA 0 -# define PEM_F_GET_NAME 0 -# define PEM_F_I2B_PVK 0 -# define PEM_F_I2B_PVK_BIO 0 -# define PEM_F_LOAD_IV 0 -# define PEM_F_PEM_ASN1_READ 0 -# define PEM_F_PEM_ASN1_READ_BIO 0 -# define PEM_F_PEM_ASN1_WRITE 0 -# define PEM_F_PEM_ASN1_WRITE_BIO 0 -# define PEM_F_PEM_DEF_CALLBACK 0 -# define PEM_F_PEM_DO_HEADER 0 -# define PEM_F_PEM_GET_EVP_CIPHER_INFO 0 -# define PEM_F_PEM_READ 0 -# define PEM_F_PEM_READ_BIO 0 -# define PEM_F_PEM_READ_BIO_DHPARAMS 0 -# define PEM_F_PEM_READ_BIO_EX 0 -# define PEM_F_PEM_READ_BIO_PARAMETERS 0 -# define PEM_F_PEM_READ_BIO_PRIVATEKEY 0 -# define PEM_F_PEM_READ_DHPARAMS 0 -# define PEM_F_PEM_READ_PRIVATEKEY 0 -# define PEM_F_PEM_SIGNFINAL 0 -# define PEM_F_PEM_WRITE 0 -# define PEM_F_PEM_WRITE_BIO 0 -# define PEM_F_PEM_WRITE_PRIVATEKEY 0 -# define PEM_F_PEM_X509_INFO_READ 0 -# define PEM_F_PEM_X509_INFO_READ_BIO 0 -# define PEM_F_PEM_X509_INFO_WRITE_BIO 0 -# endif +# define PEM_F_B2I_DSS 127 +# define PEM_F_B2I_PVK_BIO 128 +# define PEM_F_B2I_RSA 129 +# define PEM_F_CHECK_BITLEN_DSA 130 +# define PEM_F_CHECK_BITLEN_RSA 131 +# define PEM_F_D2I_PKCS8PRIVATEKEY_BIO 120 +# define PEM_F_D2I_PKCS8PRIVATEKEY_FP 121 +# define PEM_F_DO_B2I 132 +# define PEM_F_DO_B2I_BIO 133 +# define PEM_F_DO_BLOB_HEADER 134 +# define PEM_F_DO_I2B 146 +# define PEM_F_DO_PK8PKEY 126 +# define PEM_F_DO_PK8PKEY_FP 125 +# define PEM_F_DO_PVK_BODY 135 +# define PEM_F_DO_PVK_HEADER 136 +# define PEM_F_GET_HEADER_AND_DATA 143 +# define PEM_F_GET_NAME 144 +# define PEM_F_I2B_PVK 137 +# define PEM_F_I2B_PVK_BIO 138 +# define PEM_F_LOAD_IV 101 +# define PEM_F_PEM_ASN1_READ 102 +# define PEM_F_PEM_ASN1_READ_BIO 103 +# define PEM_F_PEM_ASN1_WRITE 104 +# define PEM_F_PEM_ASN1_WRITE_BIO 105 +# define PEM_F_PEM_DEF_CALLBACK 100 +# define PEM_F_PEM_DO_HEADER 106 +# define PEM_F_PEM_GET_EVP_CIPHER_INFO 107 +# define PEM_F_PEM_READ 108 +# define PEM_F_PEM_READ_BIO 109 +# define PEM_F_PEM_READ_BIO_DHPARAMS 141 +# define PEM_F_PEM_READ_BIO_EX 145 +# define PEM_F_PEM_READ_BIO_PARAMETERS 140 +# define PEM_F_PEM_READ_BIO_PRIVATEKEY 123 +# define PEM_F_PEM_READ_DHPARAMS 142 +# define PEM_F_PEM_READ_PRIVATEKEY 124 +# define PEM_F_PEM_SIGNFINAL 112 +# define PEM_F_PEM_WRITE 113 +# define PEM_F_PEM_WRITE_BIO 114 +# define PEM_F_PEM_WRITE_PRIVATEKEY 139 +# define PEM_F_PEM_X509_INFO_READ 115 +# define PEM_F_PEM_X509_INFO_READ_BIO 116 +# define PEM_F_PEM_X509_INFO_WRITE_BIO 117 /* * PEM reason codes. diff --git a/linux_amd64/include/openssl/pkcs12.h b/linux_amd64/include/openssl/pkcs12.h index 51d6e8a..3f43dad 100644 --- a/linux_amd64/include/openssl/pkcs12.h +++ b/linux_amd64/include/openssl/pkcs12.h @@ -1,20 +1,14 @@ /* * Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_PKCS12_H -# define OPENSSL_PKCS12_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_PKCS12_H -# endif +#ifndef HEADER_PKCS12_H +# define HEADER_PKCS12_H # include # include @@ -61,7 +55,7 @@ typedef struct pkcs12_bag_st PKCS12_BAGS; /* Compatibility macros */ -#ifndef OPENSSL_NO_DEPRECATED_1_1_0 +#if OPENSSL_API_COMPAT < 0x10100000L # define M_PKCS12_bag_type PKCS12_bag_type # define M_PKCS12_cert_bag_type PKCS12_cert_bag_type @@ -213,9 +207,9 @@ int PKCS12_add_safe(STACK_OF(PKCS7) **psafes, STACK_OF(PKCS12_SAFEBAG) *bags, int safe_nid, int iter, const char *pass); PKCS12 *PKCS12_add_safes(STACK_OF(PKCS7) *safes, int p7_nid); -int i2d_PKCS12_bio(BIO *bp, const PKCS12 *p12); +int i2d_PKCS12_bio(BIO *bp, PKCS12 *p12); # ifndef OPENSSL_NO_STDIO -int i2d_PKCS12_fp(FILE *fp, const PKCS12 *p12); +int i2d_PKCS12_fp(FILE *fp, PKCS12 *p12); # endif PKCS12 *d2i_PKCS12_bio(BIO *bp, PKCS12 **p12); # ifndef OPENSSL_NO_STDIO diff --git a/linux_amd64/include/openssl/pkcs12err.h b/linux_amd64/include/openssl/pkcs12err.h index 12eac4a..eff5eb2 100644 --- a/linux_amd64/include/openssl/pkcs12err.h +++ b/linux_amd64/include/openssl/pkcs12err.h @@ -2,25 +2,19 @@ * Generated by util/mkerr.pl DO NOT EDIT * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_PKCS12ERR_H -# define OPENSSL_PKCS12ERR_H -# pragma once +#ifndef HEADER_PKCS12ERR_H +# define HEADER_PKCS12ERR_H -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_PKCS12ERR_H +# ifndef HEADER_SYMHACKS_H +# include # endif -# include -# include - - # ifdef __cplusplus extern "C" # endif @@ -29,37 +23,35 @@ int ERR_load_PKCS12_strings(void); /* * PKCS12 function codes. */ -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define PKCS12_F_OPENSSL_ASC2UNI 0 -# define PKCS12_F_OPENSSL_UNI2ASC 0 -# define PKCS12_F_OPENSSL_UNI2UTF8 0 -# define PKCS12_F_OPENSSL_UTF82UNI 0 -# define PKCS12_F_PKCS12_CREATE 0 -# define PKCS12_F_PKCS12_GEN_MAC 0 -# define PKCS12_F_PKCS12_INIT 0 -# define PKCS12_F_PKCS12_ITEM_DECRYPT_D2I 0 -# define PKCS12_F_PKCS12_ITEM_I2D_ENCRYPT 0 -# define PKCS12_F_PKCS12_ITEM_PACK_SAFEBAG 0 -# define PKCS12_F_PKCS12_KEY_GEN_ASC 0 -# define PKCS12_F_PKCS12_KEY_GEN_UNI 0 -# define PKCS12_F_PKCS12_KEY_GEN_UTF8 0 -# define PKCS12_F_PKCS12_NEWPASS 0 -# define PKCS12_F_PKCS12_PACK_P7DATA 0 -# define PKCS12_F_PKCS12_PACK_P7ENCDATA 0 -# define PKCS12_F_PKCS12_PARSE 0 -# define PKCS12_F_PKCS12_PBE_CRYPT 0 -# define PKCS12_F_PKCS12_PBE_KEYIVGEN 0 -# define PKCS12_F_PKCS12_SAFEBAG_CREATE0_P8INF 0 -# define PKCS12_F_PKCS12_SAFEBAG_CREATE0_PKCS8 0 -# define PKCS12_F_PKCS12_SAFEBAG_CREATE_PKCS8_ENCRYPT 0 -# define PKCS12_F_PKCS12_SETUP_MAC 0 -# define PKCS12_F_PKCS12_SET_MAC 0 -# define PKCS12_F_PKCS12_UNPACK_AUTHSAFES 0 -# define PKCS12_F_PKCS12_UNPACK_P7DATA 0 -# define PKCS12_F_PKCS12_VERIFY_MAC 0 -# define PKCS12_F_PKCS8_ENCRYPT 0 -# define PKCS12_F_PKCS8_SET0_PBE 0 -# endif +# define PKCS12_F_OPENSSL_ASC2UNI 121 +# define PKCS12_F_OPENSSL_UNI2ASC 124 +# define PKCS12_F_OPENSSL_UNI2UTF8 127 +# define PKCS12_F_OPENSSL_UTF82UNI 129 +# define PKCS12_F_PKCS12_CREATE 105 +# define PKCS12_F_PKCS12_GEN_MAC 107 +# define PKCS12_F_PKCS12_INIT 109 +# define PKCS12_F_PKCS12_ITEM_DECRYPT_D2I 106 +# define PKCS12_F_PKCS12_ITEM_I2D_ENCRYPT 108 +# define PKCS12_F_PKCS12_ITEM_PACK_SAFEBAG 117 +# define PKCS12_F_PKCS12_KEY_GEN_ASC 110 +# define PKCS12_F_PKCS12_KEY_GEN_UNI 111 +# define PKCS12_F_PKCS12_KEY_GEN_UTF8 116 +# define PKCS12_F_PKCS12_NEWPASS 128 +# define PKCS12_F_PKCS12_PACK_P7DATA 114 +# define PKCS12_F_PKCS12_PACK_P7ENCDATA 115 +# define PKCS12_F_PKCS12_PARSE 118 +# define PKCS12_F_PKCS12_PBE_CRYPT 119 +# define PKCS12_F_PKCS12_PBE_KEYIVGEN 120 +# define PKCS12_F_PKCS12_SAFEBAG_CREATE0_P8INF 112 +# define PKCS12_F_PKCS12_SAFEBAG_CREATE0_PKCS8 113 +# define PKCS12_F_PKCS12_SAFEBAG_CREATE_PKCS8_ENCRYPT 133 +# define PKCS12_F_PKCS12_SETUP_MAC 122 +# define PKCS12_F_PKCS12_SET_MAC 123 +# define PKCS12_F_PKCS12_UNPACK_AUTHSAFES 130 +# define PKCS12_F_PKCS12_UNPACK_P7DATA 131 +# define PKCS12_F_PKCS12_VERIFY_MAC 126 +# define PKCS12_F_PKCS8_ENCRYPT 125 +# define PKCS12_F_PKCS8_SET0_PBE 132 /* * PKCS12 reason codes. diff --git a/linux_amd64/include/openssl/pkcs7.h b/linux_amd64/include/openssl/pkcs7.h index 7c079a2..9b66e00 100644 --- a/linux_amd64/include/openssl/pkcs7.h +++ b/linux_amd64/include/openssl/pkcs7.h @@ -1,27 +1,21 @@ /* * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_PKCS7_H -# define OPENSSL_PKCS7_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_PKCS7_H -# endif +#ifndef HEADER_PKCS7_H +# define HEADER_PKCS7_H # include # include # include # include -# include +# include # include #ifdef __cplusplus @@ -214,11 +208,11 @@ int PKCS7_ISSUER_AND_SERIAL_digest(PKCS7_ISSUER_AND_SERIAL *data, unsigned int *len); # ifndef OPENSSL_NO_STDIO PKCS7 *d2i_PKCS7_fp(FILE *fp, PKCS7 **p7); -int i2d_PKCS7_fp(FILE *fp, const PKCS7 *p7); +int i2d_PKCS7_fp(FILE *fp, PKCS7 *p7); # endif -DECLARE_ASN1_DUP_FUNCTION(PKCS7) +PKCS7 *PKCS7_dup(PKCS7 *p7); PKCS7 *d2i_PKCS7_bio(BIO *bp, PKCS7 **p7); -int i2d_PKCS7_bio(BIO *bp, const PKCS7 *p7); +int i2d_PKCS7_bio(BIO *bp, PKCS7 *p7); int i2d_PKCS7_bio_stream(BIO *out, PKCS7 *p7, BIO *in, int flags); int PEM_write_bio_PKCS7_stream(BIO *out, PKCS7 *p7, BIO *in, int flags); diff --git a/linux_amd64/include/openssl/pkcs7err.h b/linux_amd64/include/openssl/pkcs7err.h index 41735bd..02e0299 100644 --- a/linux_amd64/include/openssl/pkcs7err.h +++ b/linux_amd64/include/openssl/pkcs7err.h @@ -2,25 +2,19 @@ * Generated by util/mkerr.pl DO NOT EDIT * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_PKCS7ERR_H -# define OPENSSL_PKCS7ERR_H -# pragma once +#ifndef HEADER_PKCS7ERR_H +# define HEADER_PKCS7ERR_H -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_PKCS7ERR_H +# ifndef HEADER_SYMHACKS_H +# include # endif -# include -# include - - # ifdef __cplusplus extern "C" # endif @@ -29,42 +23,40 @@ int ERR_load_PKCS7_strings(void); /* * PKCS7 function codes. */ -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define PKCS7_F_DO_PKCS7_SIGNED_ATTRIB 0 -# define PKCS7_F_PKCS7_ADD0_ATTRIB_SIGNING_TIME 0 -# define PKCS7_F_PKCS7_ADD_ATTRIB_SMIMECAP 0 -# define PKCS7_F_PKCS7_ADD_CERTIFICATE 0 -# define PKCS7_F_PKCS7_ADD_CRL 0 -# define PKCS7_F_PKCS7_ADD_RECIPIENT_INFO 0 -# define PKCS7_F_PKCS7_ADD_SIGNATURE 0 -# define PKCS7_F_PKCS7_ADD_SIGNER 0 -# define PKCS7_F_PKCS7_BIO_ADD_DIGEST 0 -# define PKCS7_F_PKCS7_COPY_EXISTING_DIGEST 0 -# define PKCS7_F_PKCS7_CTRL 0 -# define PKCS7_F_PKCS7_DATADECODE 0 -# define PKCS7_F_PKCS7_DATAFINAL 0 -# define PKCS7_F_PKCS7_DATAINIT 0 -# define PKCS7_F_PKCS7_DATAVERIFY 0 -# define PKCS7_F_PKCS7_DECRYPT 0 -# define PKCS7_F_PKCS7_DECRYPT_RINFO 0 -# define PKCS7_F_PKCS7_ENCODE_RINFO 0 -# define PKCS7_F_PKCS7_ENCRYPT 0 -# define PKCS7_F_PKCS7_FINAL 0 -# define PKCS7_F_PKCS7_FIND_DIGEST 0 -# define PKCS7_F_PKCS7_GET0_SIGNERS 0 -# define PKCS7_F_PKCS7_RECIP_INFO_SET 0 -# define PKCS7_F_PKCS7_SET_CIPHER 0 -# define PKCS7_F_PKCS7_SET_CONTENT 0 -# define PKCS7_F_PKCS7_SET_DIGEST 0 -# define PKCS7_F_PKCS7_SET_TYPE 0 -# define PKCS7_F_PKCS7_SIGN 0 -# define PKCS7_F_PKCS7_SIGNATUREVERIFY 0 -# define PKCS7_F_PKCS7_SIGNER_INFO_SET 0 -# define PKCS7_F_PKCS7_SIGNER_INFO_SIGN 0 -# define PKCS7_F_PKCS7_SIGN_ADD_SIGNER 0 -# define PKCS7_F_PKCS7_SIMPLE_SMIMECAP 0 -# define PKCS7_F_PKCS7_VERIFY 0 -# endif +# define PKCS7_F_DO_PKCS7_SIGNED_ATTRIB 136 +# define PKCS7_F_PKCS7_ADD0_ATTRIB_SIGNING_TIME 135 +# define PKCS7_F_PKCS7_ADD_ATTRIB_SMIMECAP 118 +# define PKCS7_F_PKCS7_ADD_CERTIFICATE 100 +# define PKCS7_F_PKCS7_ADD_CRL 101 +# define PKCS7_F_PKCS7_ADD_RECIPIENT_INFO 102 +# define PKCS7_F_PKCS7_ADD_SIGNATURE 131 +# define PKCS7_F_PKCS7_ADD_SIGNER 103 +# define PKCS7_F_PKCS7_BIO_ADD_DIGEST 125 +# define PKCS7_F_PKCS7_COPY_EXISTING_DIGEST 138 +# define PKCS7_F_PKCS7_CTRL 104 +# define PKCS7_F_PKCS7_DATADECODE 112 +# define PKCS7_F_PKCS7_DATAFINAL 128 +# define PKCS7_F_PKCS7_DATAINIT 105 +# define PKCS7_F_PKCS7_DATAVERIFY 107 +# define PKCS7_F_PKCS7_DECRYPT 114 +# define PKCS7_F_PKCS7_DECRYPT_RINFO 133 +# define PKCS7_F_PKCS7_ENCODE_RINFO 132 +# define PKCS7_F_PKCS7_ENCRYPT 115 +# define PKCS7_F_PKCS7_FINAL 134 +# define PKCS7_F_PKCS7_FIND_DIGEST 127 +# define PKCS7_F_PKCS7_GET0_SIGNERS 124 +# define PKCS7_F_PKCS7_RECIP_INFO_SET 130 +# define PKCS7_F_PKCS7_SET_CIPHER 108 +# define PKCS7_F_PKCS7_SET_CONTENT 109 +# define PKCS7_F_PKCS7_SET_DIGEST 126 +# define PKCS7_F_PKCS7_SET_TYPE 110 +# define PKCS7_F_PKCS7_SIGN 116 +# define PKCS7_F_PKCS7_SIGNATUREVERIFY 113 +# define PKCS7_F_PKCS7_SIGNER_INFO_SET 129 +# define PKCS7_F_PKCS7_SIGNER_INFO_SIGN 139 +# define PKCS7_F_PKCS7_SIGN_ADD_SIGNER 137 +# define PKCS7_F_PKCS7_SIMPLE_SMIMECAP 119 +# define PKCS7_F_PKCS7_VERIFY 117 /* * PKCS7 reason codes. diff --git a/linux_amd64/include/openssl/rand.h b/linux_amd64/include/openssl/rand.h index 574592a..38a2a27 100644 --- a/linux_amd64/include/openssl/rand.h +++ b/linux_amd64/include/openssl/rand.h @@ -1,23 +1,17 @@ /* * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_RAND_H -# define OPENSSL_RAND_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_RAND_H -# endif +#ifndef HEADER_RAND_H +# define HEADER_RAND_H # include -# include +# include # include # include @@ -42,25 +36,18 @@ int RAND_set_rand_engine(ENGINE *engine); RAND_METHOD *RAND_OpenSSL(void); -# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +# if OPENSSL_API_COMPAT < 0x10100000L # define RAND_cleanup() while(0) continue # endif int RAND_bytes(unsigned char *buf, int num); int RAND_priv_bytes(unsigned char *buf, int num); - -/* Equivalent of RAND_priv_bytes() but additionally taking an OPENSSL_CTX */ -int RAND_priv_bytes_ex(OPENSSL_CTX *ctx, unsigned char *buf, int num); - -/* Equivalent of RAND_bytes() but additionally taking an OPENSSL_CTX */ -int RAND_bytes_ex(OPENSSL_CTX *ctx, unsigned char *buf, int num); - DEPRECATEDIN_1_1_0(int RAND_pseudo_bytes(unsigned char *buf, int num)) void RAND_seed(const void *buf, int num); void RAND_keep_random_devices_open(int keep); # if defined(__ANDROID__) && defined(__NDK_FPABI__) -__NDK_FPABI__ /* __attribute__((pcs("aapcs"))) on ARM */ +__NDK_FPABI__ /* __attribute__((pcs("aapcs"))) on ARM */ # endif void RAND_add(const void *buf, int num, double randomness); int RAND_load_file(const char *file, long max_bytes); diff --git a/linux_amd64/include/openssl/rand_drbg.h b/linux_amd64/include/openssl/rand_drbg.h index 6d8368d..45b731b 100644 --- a/linux_amd64/include/openssl/rand_drbg.h +++ b/linux_amd64/include/openssl/rand_drbg.h @@ -1,23 +1,17 @@ /* * Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_RAND_DRBG_H -# define OPENSSL_RAND_DRBG_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_DRBG_RAND_H -# endif +#ifndef HEADER_DRBG_RAND_H +# define HEADER_DRBG_RAND_H # include -# include +# include # include /* @@ -29,20 +23,9 @@ /* In CTR mode, disable derivation function ctr_df */ # define RAND_DRBG_FLAG_CTR_NO_DF 0x1 -/* - * This flag is only used when a digest NID is specified (i.e: not a CTR cipher) - * Selects DRBG_HMAC if this is set otherwise use DRBG_HASH. - */ -# define RAND_DRBG_FLAG_HMAC 0x2 -/* Used by RAND_DRBG_set_defaults() to set the master DRBG type and flags. */ -# define RAND_DRBG_FLAG_MASTER 0x4 -/* Used by RAND_DRBG_set_defaults() to set the public DRBG type and flags. */ -# define RAND_DRBG_FLAG_PUBLIC 0x8 -/* Used by RAND_DRBG_set_defaults() to set the private DRBG type and flags. */ -# define RAND_DRBG_FLAG_PRIVATE 0x10 -# ifndef OPENSSL_NO_DEPRECATED_3_0 +# if OPENSSL_API_COMPAT < 0x10200000L /* This #define was replaced by an internal constant and should not be used. */ # define RAND_DRBG_USED_FLAGS (RAND_DRBG_FLAG_CTR_NO_DF) # endif @@ -59,10 +42,7 @@ * implementation. * * Currently supported ciphers are: NID_aes_128_ctr, NID_aes_192_ctr and - * NID_aes_256_ctr. - * The digest types for DRBG_hash or DRBG_hmac are: NID_sha1, NID_sha224, - * NID_sha256, NID_sha384, NID_sha512, NID_sha512_224, NID_sha512_256, - * NID_sha3_224, NID_sha3_256, NID_sha3_384 and NID_sha3_512. + * NID_aes_256_ctr */ # define RAND_DRBG_STRENGTH 256 /* Default drbg type */ @@ -78,10 +58,6 @@ extern "C" { /* * Object lifetime functions. */ -RAND_DRBG *RAND_DRBG_new_ex(OPENSSL_CTX *ctx, int type, unsigned int flags, - RAND_DRBG *parent); -RAND_DRBG *RAND_DRBG_secure_new_ex(OPENSSL_CTX *ctx, int type, - unsigned int flags, RAND_DRBG *parent); RAND_DRBG *RAND_DRBG_new(int type, unsigned int flags, RAND_DRBG *parent); RAND_DRBG *RAND_DRBG_secure_new(int type, unsigned int flags, RAND_DRBG *parent); int RAND_DRBG_set(RAND_DRBG *drbg, int type, unsigned int flags); @@ -112,9 +88,6 @@ int RAND_DRBG_set_reseed_defaults( time_t slave_reseed_time_interval ); -RAND_DRBG *OPENSSL_CTX_get0_master_drbg(OPENSSL_CTX *ctx); -RAND_DRBG *OPENSSL_CTX_get0_public_drbg(OPENSSL_CTX *ctx); -RAND_DRBG *OPENSSL_CTX_get0_private_drbg(OPENSSL_CTX *ctx); RAND_DRBG *RAND_DRBG_get0_master(void); RAND_DRBG *RAND_DRBG_get0_public(void); RAND_DRBG *RAND_DRBG_get0_private(void); @@ -123,7 +96,7 @@ RAND_DRBG *RAND_DRBG_get0_private(void); * EXDATA */ # define RAND_DRBG_get_ex_new_index(l, p, newf, dupf, freef) \ - CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_RAND_DRBG, l, p, newf, dupf, freef) + CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_DRBG, l, p, newf, dupf, freef) int RAND_DRBG_set_ex_data(RAND_DRBG *drbg, int idx, void *arg); void *RAND_DRBG_get_ex_data(const RAND_DRBG *drbg, int idx); @@ -150,10 +123,6 @@ int RAND_DRBG_set_callbacks(RAND_DRBG *drbg, RAND_DRBG_cleanup_nonce_fn cleanup_nonce); -int RAND_DRBG_set_callback_data(RAND_DRBG *drbg, void *data); - -void *RAND_DRBG_get_callback_data(RAND_DRBG *drbg); - # ifdef __cplusplus } # endif diff --git a/linux_amd64/include/openssl/randerr.h b/linux_amd64/include/openssl/randerr.h index 780d268..79d5790 100644 --- a/linux_amd64/include/openssl/randerr.h +++ b/linux_amd64/include/openssl/randerr.h @@ -2,25 +2,17 @@ * Generated by util/mkerr.pl DO NOT EDIT * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_RANDERR_H -# define OPENSSL_RANDERR_H -# pragma once +#ifndef HEADER_RANDERR_H +# define HEADER_RANDERR_H -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_RANDERR_H -# endif - -# include # include - # ifdef __cplusplus extern "C" # endif @@ -29,38 +21,34 @@ int ERR_load_RAND_strings(void); /* * RAND function codes. */ -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define RAND_F_DRBG_BYTES 0 -# define RAND_F_DRBG_CTR_INIT 0 -# define RAND_F_DRBG_GET_ENTROPY 0 -# define RAND_F_DRBG_SETUP 0 -# define RAND_F_GET_ENTROPY 0 -# define RAND_F_RAND_BYTES 0 -# define RAND_F_RAND_BYTES_EX 0 -# define RAND_F_RAND_DRBG_ENABLE_LOCKING 0 -# define RAND_F_RAND_DRBG_GENERATE 0 -# define RAND_F_RAND_DRBG_GET_ENTROPY 0 -# define RAND_F_RAND_DRBG_GET_NONCE 0 -# define RAND_F_RAND_DRBG_INSTANTIATE 0 -# define RAND_F_RAND_DRBG_NEW 0 -# define RAND_F_RAND_DRBG_RESEED 0 -# define RAND_F_RAND_DRBG_RESTART 0 -# define RAND_F_RAND_DRBG_SET 0 -# define RAND_F_RAND_DRBG_SET_DEFAULTS 0 -# define RAND_F_RAND_DRBG_UNINSTANTIATE 0 -# define RAND_F_RAND_LOAD_FILE 0 -# define RAND_F_RAND_POOL_ACQUIRE_ENTROPY 0 -# define RAND_F_RAND_POOL_ADD 0 -# define RAND_F_RAND_POOL_ADD_BEGIN 0 -# define RAND_F_RAND_POOL_ADD_END 0 -# define RAND_F_RAND_POOL_ATTACH 0 -# define RAND_F_RAND_POOL_BYTES_NEEDED 0 -# define RAND_F_RAND_POOL_GROW 0 -# define RAND_F_RAND_POOL_NEW 0 -# define RAND_F_RAND_PRIV_BYTES_EX 0 -# define RAND_F_RAND_PSEUDO_BYTES 0 -# define RAND_F_RAND_WRITE_FILE 0 -# endif +# define RAND_F_DATA_COLLECT_METHOD 127 +# define RAND_F_DRBG_BYTES 101 +# define RAND_F_DRBG_GET_ENTROPY 105 +# define RAND_F_DRBG_SETUP 117 +# define RAND_F_GET_ENTROPY 106 +# define RAND_F_RAND_BYTES 100 +# define RAND_F_RAND_DRBG_ENABLE_LOCKING 119 +# define RAND_F_RAND_DRBG_GENERATE 107 +# define RAND_F_RAND_DRBG_GET_ENTROPY 120 +# define RAND_F_RAND_DRBG_GET_NONCE 123 +# define RAND_F_RAND_DRBG_INSTANTIATE 108 +# define RAND_F_RAND_DRBG_NEW 109 +# define RAND_F_RAND_DRBG_RESEED 110 +# define RAND_F_RAND_DRBG_RESTART 102 +# define RAND_F_RAND_DRBG_SET 104 +# define RAND_F_RAND_DRBG_SET_DEFAULTS 121 +# define RAND_F_RAND_DRBG_UNINSTANTIATE 118 +# define RAND_F_RAND_LOAD_FILE 111 +# define RAND_F_RAND_POOL_ACQUIRE_ENTROPY 122 +# define RAND_F_RAND_POOL_ADD 103 +# define RAND_F_RAND_POOL_ADD_BEGIN 113 +# define RAND_F_RAND_POOL_ADD_END 114 +# define RAND_F_RAND_POOL_ATTACH 124 +# define RAND_F_RAND_POOL_BYTES_NEEDED 115 +# define RAND_F_RAND_POOL_GROW 125 +# define RAND_F_RAND_POOL_NEW 116 +# define RAND_F_RAND_PSEUDO_BYTES 126 +# define RAND_F_RAND_WRITE_FILE 112 /* * RAND reason codes. @@ -69,7 +57,6 @@ int ERR_load_RAND_strings(void); # define RAND_R_ALREADY_INSTANTIATED 103 # define RAND_R_ARGUMENT_OUT_OF_RANGE 105 # define RAND_R_CANNOT_OPEN_FILE 121 -# define RAND_R_DERIVATION_FUNCTION_MANDATORY_FOR_FIPS 137 # define RAND_R_DRBG_ALREADY_INITIALIZED 129 # define RAND_R_DRBG_NOT_INITIALISED 104 # define RAND_R_ENTROPY_INPUT_TOO_LONG 106 diff --git a/linux_amd64/include/openssl/rc2.h b/linux_amd64/include/openssl/rc2.h index 2c63c75..585f9e4 100644 --- a/linux_amd64/include/openssl/rc2.h +++ b/linux_amd64/include/openssl/rc2.h @@ -1,64 +1,51 @@ /* * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_RC2_H -# define OPENSSL_RC2_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_RC2_H -# endif +#ifndef HEADER_RC2_H +# define HEADER_RC2_H # include # ifndef OPENSSL_NO_RC2 -# ifdef __cplusplus +# ifdef __cplusplus extern "C" { -# endif +# endif -# define RC2_BLOCK 8 -# define RC2_KEY_LENGTH 16 - -# ifndef OPENSSL_NO_DEPRECATED_3_0 typedef unsigned int RC2_INT; -# define RC2_ENCRYPT 1 -# define RC2_DECRYPT 0 +# define RC2_ENCRYPT 1 +# define RC2_DECRYPT 0 + +# define RC2_BLOCK 8 +# define RC2_KEY_LENGTH 16 typedef struct rc2_key_st { RC2_INT data[64]; } RC2_KEY; -# endif -DEPRECATEDIN_3_0(void RC2_set_key(RC2_KEY *key, int len, - const unsigned char *data, int bits)) -DEPRECATEDIN_3_0(void RC2_ecb_encrypt(const unsigned char *in, - unsigned char *out, RC2_KEY *key, - int enc)) -DEPRECATEDIN_3_0(void RC2_encrypt(unsigned long *data, RC2_KEY *key)) -DEPRECATEDIN_3_0(void RC2_decrypt(unsigned long *data, RC2_KEY *key)) -DEPRECATEDIN_3_0(void RC2_cbc_encrypt(const unsigned char *in, - unsigned char *out, long length, - RC2_KEY *ks, unsigned char *iv, int enc)) -DEPRECATEDIN_3_0(void RC2_cfb64_encrypt(const unsigned char *in, - unsigned char *out, long length, - RC2_KEY *schedule, unsigned char *ivec, - int *num, int enc)) -DEPRECATEDIN_3_0(void RC2_ofb64_encrypt(const unsigned char *in, - unsigned char *out, long length, - RC2_KEY *schedule, unsigned char *ivec, - int *num)) +void RC2_set_key(RC2_KEY *key, int len, const unsigned char *data, int bits); +void RC2_ecb_encrypt(const unsigned char *in, unsigned char *out, + RC2_KEY *key, int enc); +void RC2_encrypt(unsigned long *data, RC2_KEY *key); +void RC2_decrypt(unsigned long *data, RC2_KEY *key); +void RC2_cbc_encrypt(const unsigned char *in, unsigned char *out, long length, + RC2_KEY *ks, unsigned char *iv, int enc); +void RC2_cfb64_encrypt(const unsigned char *in, unsigned char *out, + long length, RC2_KEY *schedule, unsigned char *ivec, + int *num, int enc); +void RC2_ofb64_encrypt(const unsigned char *in, unsigned char *out, + long length, RC2_KEY *schedule, unsigned char *ivec, + int *num); -# ifdef __cplusplus +# ifdef __cplusplus } -# endif +# endif # endif #endif diff --git a/linux_amd64/include/openssl/rc4.h b/linux_amd64/include/openssl/rc4.h index 98ba8d8..86803b3 100644 --- a/linux_amd64/include/openssl/rc4.h +++ b/linux_amd64/include/openssl/rc4.h @@ -1,45 +1,36 @@ /* * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_RC4_H -# define OPENSSL_RC4_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_RC4_H -# endif +#ifndef HEADER_RC4_H +# define HEADER_RC4_H # include # ifndef OPENSSL_NO_RC4 -# include -# ifdef __cplusplus +# include +#ifdef __cplusplus extern "C" { -# endif +#endif -# ifndef OPENSSL_NO_DEPRECATED_3_0 typedef struct rc4_key_st { RC4_INT x, y; RC4_INT data[256]; } RC4_KEY; -# endif -DEPRECATEDIN_3_0(const char *RC4_options(void)) -DEPRECATEDIN_3_0(void RC4_set_key(RC4_KEY *key, int len, - const unsigned char *data)) -DEPRECATEDIN_3_0(void RC4(RC4_KEY *key, size_t len, const unsigned char *indata, - unsigned char *outdata)) +const char *RC4_options(void); +void RC4_set_key(RC4_KEY *key, int len, const unsigned char *data); +void RC4(RC4_KEY *key, size_t len, const unsigned char *indata, + unsigned char *outdata); -# ifdef __cplusplus +# ifdef __cplusplus } -# endif +# endif # endif #endif diff --git a/linux_amd64/include/openssl/rc5.h b/linux_amd64/include/openssl/rc5.h index a9c06d3..793f88e 100644 --- a/linux_amd64/include/openssl/rc5.h +++ b/linux_amd64/include/openssl/rc5.h @@ -1,76 +1,63 @@ /* * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_RC5_H -# define OPENSSL_RC5_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_RC5_H -# endif +#ifndef HEADER_RC5_H +# define HEADER_RC5_H # include # ifndef OPENSSL_NO_RC5 -# ifdef __cplusplus +# ifdef __cplusplus extern "C" { -# endif +# endif -# define RC5_32_BLOCK 8 -# define RC5_32_KEY_LENGTH 16/* This is a default, max is 255 */ +# define RC5_ENCRYPT 1 +# define RC5_DECRYPT 0 -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define RC5_ENCRYPT 1 -# define RC5_DECRYPT 0 +# define RC5_32_INT unsigned int -# define RC5_32_INT unsigned int +# define RC5_32_BLOCK 8 +# define RC5_32_KEY_LENGTH 16/* This is a default, max is 255 */ /* * This are the only values supported. Tweak the code if you want more The * most supported modes will be RC5-32/12/16 RC5-32/16/8 */ -# define RC5_8_ROUNDS 8 -# define RC5_12_ROUNDS 12 -# define RC5_16_ROUNDS 16 +# define RC5_8_ROUNDS 8 +# define RC5_12_ROUNDS 12 +# define RC5_16_ROUNDS 16 typedef struct rc5_key_st { /* Number of rounds */ int rounds; RC5_32_INT data[2 * (RC5_16_ROUNDS + 1)]; } RC5_32_KEY; -# endif -DEPRECATEDIN_3_0(int RC5_32_set_key(RC5_32_KEY *key, int len, - const unsigned char *data, int rounds)) -DEPRECATEDIN_3_0(void RC5_32_ecb_encrypt(const unsigned char *in, - unsigned char *out, RC5_32_KEY *key, - int enc)) -DEPRECATEDIN_3_0(void RC5_32_encrypt(unsigned long *data, RC5_32_KEY *key)) -DEPRECATEDIN_3_0(void RC5_32_decrypt(unsigned long *data, RC5_32_KEY *key)) -DEPRECATEDIN_3_0(void RC5_32_cbc_encrypt(const unsigned char *in, - unsigned char *out, long length, - RC5_32_KEY *ks, unsigned char *iv, - int enc)) -DEPRECATEDIN_3_0(void RC5_32_cfb64_encrypt(const unsigned char *in, - unsigned char *out, long length, - RC5_32_KEY *schedule, - unsigned char *ivec, int *num, - int enc)) -DEPRECATEDIN_3_0(void RC5_32_ofb64_encrypt(const unsigned char *in, - unsigned char *out, long length, - RC5_32_KEY *schedule, - unsigned char *ivec, int *num)) +void RC5_32_set_key(RC5_32_KEY *key, int len, const unsigned char *data, + int rounds); +void RC5_32_ecb_encrypt(const unsigned char *in, unsigned char *out, + RC5_32_KEY *key, int enc); +void RC5_32_encrypt(unsigned long *data, RC5_32_KEY *key); +void RC5_32_decrypt(unsigned long *data, RC5_32_KEY *key); +void RC5_32_cbc_encrypt(const unsigned char *in, unsigned char *out, + long length, RC5_32_KEY *ks, unsigned char *iv, + int enc); +void RC5_32_cfb64_encrypt(const unsigned char *in, unsigned char *out, + long length, RC5_32_KEY *schedule, + unsigned char *ivec, int *num, int enc); +void RC5_32_ofb64_encrypt(const unsigned char *in, unsigned char *out, + long length, RC5_32_KEY *schedule, + unsigned char *ivec, int *num); -# ifdef __cplusplus +# ifdef __cplusplus } -# endif +# endif # endif #endif diff --git a/linux_amd64/include/openssl/ripemd.h b/linux_amd64/include/openssl/ripemd.h index 936d4e4..c42026a 100644 --- a/linux_amd64/include/openssl/ripemd.h +++ b/linux_amd64/include/openssl/ripemd.h @@ -1,38 +1,29 @@ /* * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_RIPEMD_H -# define OPENSSL_RIPEMD_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_RIPEMD_H -# endif +#ifndef HEADER_RIPEMD_H +# define HEADER_RIPEMD_H # include -# ifndef OPENSSL_NO_RMD160 -# include -# include - -# define RIPEMD160_DIGEST_LENGTH 20 - -# ifdef __cplusplus +#ifndef OPENSSL_NO_RMD160 +# include +# include +# ifdef __cplusplus extern "C" { -# endif -# if !defined(OPENSSL_NO_DEPRECATED_3_0) +# endif -# define RIPEMD160_LONG unsigned int +# define RIPEMD160_LONG unsigned int -# define RIPEMD160_CBLOCK 64 -# define RIPEMD160_LBLOCK (RIPEMD160_CBLOCK/4) +# define RIPEMD160_CBLOCK 64 +# define RIPEMD160_LBLOCK (RIPEMD160_CBLOCK/4) +# define RIPEMD160_DIGEST_LENGTH 20 typedef struct RIPEMD160state_st { RIPEMD160_LONG A, B, C, D, E; @@ -40,19 +31,17 @@ typedef struct RIPEMD160state_st { RIPEMD160_LONG data[RIPEMD160_LBLOCK]; unsigned int num; } RIPEMD160_CTX; -# endif -DEPRECATEDIN_3_0(int RIPEMD160_Init(RIPEMD160_CTX *c)) -DEPRECATEDIN_3_0(int RIPEMD160_Update(RIPEMD160_CTX *c, const void *data, - size_t len)) -DEPRECATEDIN_3_0(int RIPEMD160_Final(unsigned char *md, RIPEMD160_CTX *c)) -DEPRECATEDIN_3_0(unsigned char *RIPEMD160(const unsigned char *d, size_t n, - unsigned char *md)) -DEPRECATEDIN_3_0(void RIPEMD160_Transform(RIPEMD160_CTX *c, - const unsigned char *b)) +int RIPEMD160_Init(RIPEMD160_CTX *c); +int RIPEMD160_Update(RIPEMD160_CTX *c, const void *data, size_t len); +int RIPEMD160_Final(unsigned char *md, RIPEMD160_CTX *c); +unsigned char *RIPEMD160(const unsigned char *d, size_t n, unsigned char *md); +void RIPEMD160_Transform(RIPEMD160_CTX *c, const unsigned char *b); -# ifdef __cplusplus +# ifdef __cplusplus } -# endif # endif +# endif + + #endif diff --git a/linux_amd64/include/openssl/rsa.h b/linux_amd64/include/openssl/rsa.h index 1f0687d..5e76365 100644 --- a/linux_amd64/include/openssl/rsa.h +++ b/linux_amd64/include/openssl/rsa.h @@ -1,82 +1,70 @@ /* * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_RSA_H -# define OPENSSL_RSA_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_RSA_H -# endif +#ifndef HEADER_RSA_H +# define HEADER_RSA_H # include # ifndef OPENSSL_NO_RSA -# include -# include -# include -# include -# ifndef OPENSSL_NO_DEPRECATED_1_1_0 -# include -# endif -# include -# include - -# ifdef __cplusplus +# include +# include +# include +# include +# if OPENSSL_API_COMPAT < 0x10100000L +# include +# endif +# include +# ifdef __cplusplus extern "C" { -# endif +# endif -# ifndef OPENSSL_RSA_MAX_MODULUS_BITS -# define OPENSSL_RSA_MAX_MODULUS_BITS 16384 -# endif - -# ifndef OPENSSL_NO_DEPRECATED_3_0 /* The types RSA and RSA_METHOD are defined in ossl_typ.h */ -# define OPENSSL_RSA_FIPS_MIN_MODULUS_BITS 1024 +# ifndef OPENSSL_RSA_MAX_MODULUS_BITS +# define OPENSSL_RSA_MAX_MODULUS_BITS 16384 +# endif -# ifndef OPENSSL_RSA_SMALL_MODULUS_BITS -# define OPENSSL_RSA_SMALL_MODULUS_BITS 3072 -# endif +# define OPENSSL_RSA_FIPS_MIN_MODULUS_BITS 1024 + +# ifndef OPENSSL_RSA_SMALL_MODULUS_BITS +# define OPENSSL_RSA_SMALL_MODULUS_BITS 3072 +# endif +# ifndef OPENSSL_RSA_MAX_PUBEXP_BITS /* exponent limit enforced for "large" modulus only */ -# ifndef OPENSSL_RSA_MAX_PUBEXP_BITS -# define OPENSSL_RSA_MAX_PUBEXP_BITS 64 -# endif +# define OPENSSL_RSA_MAX_PUBEXP_BITS 64 +# endif -# define RSA_3 0x3L -# define RSA_F4 0x10001L +# define RSA_3 0x3L +# define RSA_F4 0x10001L /* based on RFC 8017 appendix A.1.2 */ -# define RSA_ASN1_VERSION_DEFAULT 0 -# define RSA_ASN1_VERSION_MULTI 1 +# define RSA_ASN1_VERSION_DEFAULT 0 +# define RSA_ASN1_VERSION_MULTI 1 -# define RSA_DEFAULT_PRIME_NUM 2 -# endif /* OPENSSL_NO_DEPRECATED_3_0 */ +# define RSA_DEFAULT_PRIME_NUM 2 -/* Don't check pub/private match */ -/* TODO(3.0): deprecate this? It is exposed for sls/t1_lib.c's use */ -# define RSA_METHOD_FLAG_NO_CHECK 0x0001 +# define RSA_METHOD_FLAG_NO_CHECK 0x0001/* don't check pub/private + * match */ -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define RSA_FLAG_CACHE_PUBLIC 0x0002 -# define RSA_FLAG_CACHE_PRIVATE 0x0004 -# define RSA_FLAG_BLINDING 0x0008 -# define RSA_FLAG_THREAD_SAFE 0x0010 +# define RSA_FLAG_CACHE_PUBLIC 0x0002 +# define RSA_FLAG_CACHE_PRIVATE 0x0004 +# define RSA_FLAG_BLINDING 0x0008 +# define RSA_FLAG_THREAD_SAFE 0x0010 /* * This flag means the private key operations will be handled by rsa_mod_exp * and that they do not depend on the private key components being present: * for example a key stored in external hardware. Without this flag * bn_mod_exp gets called when private key components are absent. */ -# define RSA_FLAG_EXT_PKEY 0x0020 +# define RSA_FLAG_EXT_PKEY 0x0020 /* * new with 0.9.6j and 0.9.7b; the built-in @@ -84,14 +72,14 @@ extern "C" { * default (ignoring RSA_FLAG_BLINDING), * but other engines might not need it */ -# define RSA_FLAG_NO_BLINDING 0x0080 -# endif /* OPENSSL_NO_DEPRECATED_3_0 */ +# define RSA_FLAG_NO_BLINDING 0x0080 +# if OPENSSL_API_COMPAT < 0x10100000L /* * Does nothing. Previously this switched off constant time behaviour. */ -# ifndef OPENSSL_NO_DEPRECATED_1_1_0 -# define RSA_FLAG_NO_CONSTTIME 0x0000 -# endif +# define RSA_FLAG_NO_CONSTTIME 0x0000 +# endif +# if OPENSSL_API_COMPAT < 0x00908000L /* deprecated name for the flag*/ /* * new with 0.9.7h; the built-in RSA @@ -101,106 +89,117 @@ extern "C" { * faster variable sliding window method to * be used for all exponents. */ -# ifndef OPENSSL_NO_DEPRECATED_0_9_8 -# define RSA_FLAG_NO_EXP_CONSTTIME RSA_FLAG_NO_CONSTTIME -# endif +# define RSA_FLAG_NO_EXP_CONSTTIME RSA_FLAG_NO_CONSTTIME +# endif -int EVP_PKEY_CTX_set_rsa_padding(EVP_PKEY_CTX *ctx, int pad_mode); -int EVP_PKEY_CTX_get_rsa_padding(EVP_PKEY_CTX *ctx, int *pad_mode); +# define EVP_PKEY_CTX_set_rsa_padding(ctx, pad) \ + RSA_pkey_ctx_ctrl(ctx, -1, EVP_PKEY_CTRL_RSA_PADDING, pad, NULL) -int EVP_PKEY_CTX_set_rsa_pss_saltlen(EVP_PKEY_CTX *ctx, int saltlen); -int EVP_PKEY_CTX_get_rsa_pss_saltlen(EVP_PKEY_CTX *ctx, int *saltlen); +# define EVP_PKEY_CTX_get_rsa_padding(ctx, ppad) \ + RSA_pkey_ctx_ctrl(ctx, -1, EVP_PKEY_CTRL_GET_RSA_PADDING, 0, ppad) +# define EVP_PKEY_CTX_set_rsa_pss_saltlen(ctx, len) \ + RSA_pkey_ctx_ctrl(ctx, (EVP_PKEY_OP_SIGN|EVP_PKEY_OP_VERIFY), \ + EVP_PKEY_CTRL_RSA_PSS_SALTLEN, len, NULL) /* Salt length matches digest */ -# define RSA_PSS_SALTLEN_DIGEST -1 +# define RSA_PSS_SALTLEN_DIGEST -1 /* Verify only: auto detect salt length */ -# define RSA_PSS_SALTLEN_AUTO -2 +# define RSA_PSS_SALTLEN_AUTO -2 /* Set salt length to maximum possible */ -# define RSA_PSS_SALTLEN_MAX -3 +# define RSA_PSS_SALTLEN_MAX -3 /* Old compatible max salt length for sign only */ -# define RSA_PSS_SALTLEN_MAX_SIGN -2 +# define RSA_PSS_SALTLEN_MAX_SIGN -2 -# define EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen(ctx, len) \ +# define EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen(ctx, len) \ EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA_PSS, EVP_PKEY_OP_KEYGEN, \ EVP_PKEY_CTRL_RSA_PSS_SALTLEN, len, NULL) -# define EVP_PKEY_CTX_set_rsa_keygen_bits(ctx, bits) \ +# define EVP_PKEY_CTX_get_rsa_pss_saltlen(ctx, plen) \ + RSA_pkey_ctx_ctrl(ctx, (EVP_PKEY_OP_SIGN|EVP_PKEY_OP_VERIFY), \ + EVP_PKEY_CTRL_GET_RSA_PSS_SALTLEN, 0, plen) + +# define EVP_PKEY_CTX_set_rsa_keygen_bits(ctx, bits) \ RSA_pkey_ctx_ctrl(ctx, EVP_PKEY_OP_KEYGEN, \ EVP_PKEY_CTRL_RSA_KEYGEN_BITS, bits, NULL) -# define EVP_PKEY_CTX_set_rsa_keygen_pubexp(ctx, pubexp) \ +# define EVP_PKEY_CTX_set_rsa_keygen_pubexp(ctx, pubexp) \ RSA_pkey_ctx_ctrl(ctx, EVP_PKEY_OP_KEYGEN, \ EVP_PKEY_CTRL_RSA_KEYGEN_PUBEXP, 0, pubexp) -# define EVP_PKEY_CTX_set_rsa_keygen_primes(ctx, primes) \ +# define EVP_PKEY_CTX_set_rsa_keygen_primes(ctx, primes) \ RSA_pkey_ctx_ctrl(ctx, EVP_PKEY_OP_KEYGEN, \ EVP_PKEY_CTRL_RSA_KEYGEN_PRIMES, primes, NULL) -int EVP_PKEY_CTX_set_rsa_mgf1_md(EVP_PKEY_CTX *ctx, const EVP_MD *md); -int EVP_PKEY_CTX_set_rsa_mgf1_md_name(EVP_PKEY_CTX *ctx, const char *mdname, - const char *mdprops); -int EVP_PKEY_CTX_get_rsa_mgf1_md(EVP_PKEY_CTX *ctx, const EVP_MD **md); -int EVP_PKEY_CTX_get_rsa_mgf1_md_name(EVP_PKEY_CTX *ctx, char *name, - size_t namelen); +# define EVP_PKEY_CTX_set_rsa_mgf1_md(ctx, md) \ + RSA_pkey_ctx_ctrl(ctx, EVP_PKEY_OP_TYPE_SIG | EVP_PKEY_OP_TYPE_CRYPT, \ + EVP_PKEY_CTRL_RSA_MGF1_MD, 0, (void *)(md)) -# define EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md(ctx, md) \ +# define EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md(ctx, md) \ EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA_PSS, EVP_PKEY_OP_KEYGEN, \ EVP_PKEY_CTRL_RSA_MGF1_MD, 0, (void *)(md)) -int EVP_PKEY_CTX_set_rsa_oaep_md(EVP_PKEY_CTX *ctx, const EVP_MD *md); -int EVP_PKEY_CTX_set_rsa_oaep_md_name(EVP_PKEY_CTX *ctx, const char *mdname, - const char *mdprops); -int EVP_PKEY_CTX_get_rsa_oaep_md(EVP_PKEY_CTX *ctx, const EVP_MD **md); -int EVP_PKEY_CTX_get_rsa_oaep_md_name(EVP_PKEY_CTX *ctx, char *name, - size_t namelen); -int EVP_PKEY_CTX_set0_rsa_oaep_label(EVP_PKEY_CTX *ctx, void *label, int llen); -int EVP_PKEY_CTX_get0_rsa_oaep_label(EVP_PKEY_CTX *ctx, unsigned char **label); +# define EVP_PKEY_CTX_set_rsa_oaep_md(ctx, md) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_OP_TYPE_CRYPT, \ + EVP_PKEY_CTRL_RSA_OAEP_MD, 0, (void *)(md)) -# define EVP_PKEY_CTX_set_rsa_pss_keygen_md(ctx, md) \ +# define EVP_PKEY_CTX_get_rsa_mgf1_md(ctx, pmd) \ + RSA_pkey_ctx_ctrl(ctx, EVP_PKEY_OP_TYPE_SIG | EVP_PKEY_OP_TYPE_CRYPT, \ + EVP_PKEY_CTRL_GET_RSA_MGF1_MD, 0, (void *)(pmd)) + +# define EVP_PKEY_CTX_get_rsa_oaep_md(ctx, pmd) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_OP_TYPE_CRYPT, \ + EVP_PKEY_CTRL_GET_RSA_OAEP_MD, 0, (void *)(pmd)) + +# define EVP_PKEY_CTX_set0_rsa_oaep_label(ctx, l, llen) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_OP_TYPE_CRYPT, \ + EVP_PKEY_CTRL_RSA_OAEP_LABEL, llen, (void *)(l)) + +# define EVP_PKEY_CTX_get0_rsa_oaep_label(ctx, l) \ + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_OP_TYPE_CRYPT, \ + EVP_PKEY_CTRL_GET_RSA_OAEP_LABEL, 0, (void *)(l)) + +# define EVP_PKEY_CTX_set_rsa_pss_keygen_md(ctx, md) \ EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA_PSS, \ EVP_PKEY_OP_KEYGEN, EVP_PKEY_CTRL_MD, \ 0, (void *)(md)) +# define EVP_PKEY_CTRL_RSA_PADDING (EVP_PKEY_ALG_CTRL + 1) +# define EVP_PKEY_CTRL_RSA_PSS_SALTLEN (EVP_PKEY_ALG_CTRL + 2) -# define EVP_PKEY_CTRL_RSA_PADDING (EVP_PKEY_ALG_CTRL + 1) -# define EVP_PKEY_CTRL_RSA_PSS_SALTLEN (EVP_PKEY_ALG_CTRL + 2) +# define EVP_PKEY_CTRL_RSA_KEYGEN_BITS (EVP_PKEY_ALG_CTRL + 3) +# define EVP_PKEY_CTRL_RSA_KEYGEN_PUBEXP (EVP_PKEY_ALG_CTRL + 4) +# define EVP_PKEY_CTRL_RSA_MGF1_MD (EVP_PKEY_ALG_CTRL + 5) -# define EVP_PKEY_CTRL_RSA_KEYGEN_BITS (EVP_PKEY_ALG_CTRL + 3) -# define EVP_PKEY_CTRL_RSA_KEYGEN_PUBEXP (EVP_PKEY_ALG_CTRL + 4) -# define EVP_PKEY_CTRL_RSA_MGF1_MD (EVP_PKEY_ALG_CTRL + 5) +# define EVP_PKEY_CTRL_GET_RSA_PADDING (EVP_PKEY_ALG_CTRL + 6) +# define EVP_PKEY_CTRL_GET_RSA_PSS_SALTLEN (EVP_PKEY_ALG_CTRL + 7) +# define EVP_PKEY_CTRL_GET_RSA_MGF1_MD (EVP_PKEY_ALG_CTRL + 8) -# define EVP_PKEY_CTRL_GET_RSA_PADDING (EVP_PKEY_ALG_CTRL + 6) -# define EVP_PKEY_CTRL_GET_RSA_PSS_SALTLEN (EVP_PKEY_ALG_CTRL + 7) -# define EVP_PKEY_CTRL_GET_RSA_MGF1_MD (EVP_PKEY_ALG_CTRL + 8) +# define EVP_PKEY_CTRL_RSA_OAEP_MD (EVP_PKEY_ALG_CTRL + 9) +# define EVP_PKEY_CTRL_RSA_OAEP_LABEL (EVP_PKEY_ALG_CTRL + 10) -# define EVP_PKEY_CTRL_RSA_OAEP_MD (EVP_PKEY_ALG_CTRL + 9) -# define EVP_PKEY_CTRL_RSA_OAEP_LABEL (EVP_PKEY_ALG_CTRL + 10) +# define EVP_PKEY_CTRL_GET_RSA_OAEP_MD (EVP_PKEY_ALG_CTRL + 11) +# define EVP_PKEY_CTRL_GET_RSA_OAEP_LABEL (EVP_PKEY_ALG_CTRL + 12) -# define EVP_PKEY_CTRL_GET_RSA_OAEP_MD (EVP_PKEY_ALG_CTRL + 11) -# define EVP_PKEY_CTRL_GET_RSA_OAEP_LABEL (EVP_PKEY_ALG_CTRL + 12) - -# define EVP_PKEY_CTRL_RSA_KEYGEN_PRIMES (EVP_PKEY_ALG_CTRL + 13) - -# define RSA_PKCS1_PADDING 1 -# define RSA_SSLV23_PADDING 2 -# define RSA_NO_PADDING 3 -# define RSA_PKCS1_OAEP_PADDING 4 -# define RSA_X931_PADDING 5 +# define EVP_PKEY_CTRL_RSA_KEYGEN_PRIMES (EVP_PKEY_ALG_CTRL + 13) +# define RSA_PKCS1_PADDING 1 +# define RSA_SSLV23_PADDING 2 +# define RSA_NO_PADDING 3 +# define RSA_PKCS1_OAEP_PADDING 4 +# define RSA_X931_PADDING 5 /* EVP_PKEY_ only */ -# define RSA_PKCS1_PSS_PADDING 6 -# define RSA_PKCS1_WITH_TLS_PADDING 7 +# define RSA_PKCS1_PSS_PADDING 6 -# define RSA_PKCS1_PADDING_SIZE 11 +# define RSA_PKCS1_PADDING_SIZE 11 -# define RSA_set_app_data(s,arg) RSA_set_ex_data(s,0,arg) -# define RSA_get_app_data(s) RSA_get_ex_data(s,0) +# define RSA_set_app_data(s,arg) RSA_set_ex_data(s,0,arg) +# define RSA_get_app_data(s) RSA_get_ex_data(s,0) RSA *RSA_new(void); -DEPRECATEDIN_3_0(RSA *RSA_new_method(ENGINE *engine)) -DEPRECATEDIN_3_0(int RSA_bits(const RSA *rsa)) -DEPRECATEDIN_3_0(int RSA_size(const RSA *rsa)) -DEPRECATEDIN_3_0(int RSA_security_bits(const RSA *rsa)) +RSA *RSA_new_method(ENGINE *engine); +int RSA_bits(const RSA *rsa); +int RSA_size(const RSA *rsa); +int RSA_security_bits(const RSA *rsa); int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d); int RSA_set0_factors(RSA *r, BIGNUM *p, BIGNUM *q); @@ -225,12 +224,12 @@ const BIGNUM *RSA_get0_q(const RSA *d); const BIGNUM *RSA_get0_dmp1(const RSA *r); const BIGNUM *RSA_get0_dmq1(const RSA *r); const BIGNUM *RSA_get0_iqmp(const RSA *r); -DEPRECATEDIN_3_0(const RSA_PSS_PARAMS *RSA_get0_pss_params(const RSA *r)) +const RSA_PSS_PARAMS *RSA_get0_pss_params(const RSA *r); void RSA_clear_flags(RSA *r, int flags); int RSA_test_flags(const RSA *r, int flags); void RSA_set_flags(RSA *r, int flags); -DEPRECATEDIN_3_0(int RSA_get_version(RSA *r)) -DEPRECATEDIN_3_0(ENGINE *RSA_get0_engine(const RSA *r)) +int RSA_get_version(RSA *r); +ENGINE *RSA_get0_engine(const RSA *r); /* Deprecated version */ DEPRECATEDIN_0_9_8(RSA *RSA_generate_key(int bits, unsigned long e, void @@ -238,57 +237,48 @@ DEPRECATEDIN_0_9_8(RSA *RSA_generate_key(int bits, unsigned long e, void void *cb_arg)) /* New version */ -DEPRECATEDIN_3_0(int RSA_generate_key_ex(RSA *rsa, int bits, BIGNUM *e, - BN_GENCB *cb)) +int RSA_generate_key_ex(RSA *rsa, int bits, BIGNUM *e, BN_GENCB *cb); /* Multi-prime version */ -DEPRECATEDIN_3_0(int RSA_generate_multi_prime_key(RSA *rsa, int bits, - int primes, BIGNUM *e, - BN_GENCB *cb)) +int RSA_generate_multi_prime_key(RSA *rsa, int bits, int primes, + BIGNUM *e, BN_GENCB *cb); -DEPRECATEDIN_3_0(int RSA_X931_derive_ex(RSA *rsa, BIGNUM *p1, BIGNUM *p2, - BIGNUM *q1, BIGNUM *q2, - const BIGNUM *Xp1, const BIGNUM *Xp2, - const BIGNUM *Xp, const BIGNUM *Xq1, - const BIGNUM *Xq2, const BIGNUM *Xq, - const BIGNUM *e, BN_GENCB *cb)) -DEPRECATEDIN_3_0(int RSA_X931_generate_key_ex(RSA *rsa, int bits, - const BIGNUM *e, BN_GENCB *cb)) +int RSA_X931_derive_ex(RSA *rsa, BIGNUM *p1, BIGNUM *p2, BIGNUM *q1, + BIGNUM *q2, const BIGNUM *Xp1, const BIGNUM *Xp2, + const BIGNUM *Xp, const BIGNUM *Xq1, const BIGNUM *Xq2, + const BIGNUM *Xq, const BIGNUM *e, BN_GENCB *cb); +int RSA_X931_generate_key_ex(RSA *rsa, int bits, const BIGNUM *e, + BN_GENCB *cb); -DEPRECATEDIN_3_0(int RSA_check_key(const RSA *)) -DEPRECATEDIN_3_0(int RSA_check_key_ex(const RSA *, BN_GENCB *cb)) +int RSA_check_key(const RSA *); +int RSA_check_key_ex(const RSA *, BN_GENCB *cb); /* next 4 return -1 on error */ -DEPRECATEDIN_3_0(int RSA_public_encrypt(int flen, const unsigned char *from, - unsigned char *to, RSA *rsa, - int padding)) -DEPRECATEDIN_3_0(int RSA_private_encrypt(int flen, const unsigned char *from, - unsigned char *to, RSA *rsa, - int padding)) -DEPRECATEDIN_3_0(int RSA_public_decrypt(int flen, const unsigned char *from, - unsigned char *to, RSA *rsa, - int padding)) -DEPRECATEDIN_3_0(int RSA_private_decrypt(int flen, const unsigned char *from, - unsigned char *to, RSA *rsa, - int padding)) +int RSA_public_encrypt(int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, int padding); +int RSA_private_encrypt(int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, int padding); +int RSA_public_decrypt(int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, int padding); +int RSA_private_decrypt(int flen, const unsigned char *from, + unsigned char *to, RSA *rsa, int padding); void RSA_free(RSA *r); /* "up" the RSA object's reference count */ int RSA_up_ref(RSA *r); -/* TODO(3.0): deprecate this one ssl/ssl_rsa.c can be changed to avoid it */ int RSA_flags(const RSA *r); -DEPRECATEDIN_3_0(void RSA_set_default_method(const RSA_METHOD *meth)) -DEPRECATEDIN_3_0(const RSA_METHOD *RSA_get_default_method(void)) -DEPRECATEDIN_3_0(const RSA_METHOD *RSA_null_method(void)) -DEPRECATEDIN_3_0(const RSA_METHOD *RSA_get_method(const RSA *rsa)) -DEPRECATEDIN_3_0(int RSA_set_method(RSA *rsa, const RSA_METHOD *meth)) +void RSA_set_default_method(const RSA_METHOD *meth); +const RSA_METHOD *RSA_get_default_method(void); +const RSA_METHOD *RSA_null_method(void); +const RSA_METHOD *RSA_get_method(const RSA *rsa); +int RSA_set_method(RSA *rsa, const RSA_METHOD *meth); /* these are the actual RSA functions */ -DEPRECATEDIN_3_0(const RSA_METHOD *RSA_PKCS1_OpenSSL(void)) +const RSA_METHOD *RSA_PKCS1_OpenSSL(void); int RSA_pkey_ctx_ctrl(EVP_PKEY_CTX *ctx, int optype, int cmd, int p1, void *p2); -DECLARE_ASN1_ENCODE_FUNCTIONS_name(RSA, RSAPublicKey) -DECLARE_ASN1_ENCODE_FUNCTIONS_name(RSA, RSAPrivateKey) +DECLARE_ASN1_ENCODE_FUNCTIONS_const(RSA, RSAPublicKey) +DECLARE_ASN1_ENCODE_FUNCTIONS_const(RSA, RSAPrivateKey) struct rsa_pss_params_st { X509_ALGOR *hashAlgorithm; @@ -311,130 +301,102 @@ typedef struct rsa_oaep_params_st { DECLARE_ASN1_FUNCTIONS(RSA_OAEP_PARAMS) -# ifndef OPENSSL_NO_STDIO -DEPRECATEDIN_3_0(int RSA_print_fp(FILE *fp, const RSA *r, int offset)) -# endif +# ifndef OPENSSL_NO_STDIO +int RSA_print_fp(FILE *fp, const RSA *r, int offset); +# endif -DEPRECATEDIN_3_0(int RSA_print(BIO *bp, const RSA *r, int offset)) +int RSA_print(BIO *bp, const RSA *r, int offset); /* * The following 2 functions sign and verify a X509_SIG ASN1 object inside * PKCS#1 padded RSA encryption */ -DEPRECATEDIN_3_0(int RSA_sign(int type, const unsigned char *m, - unsigned int m_length, unsigned char *sigret, - unsigned int *siglen, RSA *rsa)) -DEPRECATEDIN_3_0(int RSA_verify(int type, const unsigned char *m, - unsigned int m_length, - const unsigned char *sigbuf, - unsigned int siglen, RSA *rsa)) +int RSA_sign(int type, const unsigned char *m, unsigned int m_length, + unsigned char *sigret, unsigned int *siglen, RSA *rsa); +int RSA_verify(int type, const unsigned char *m, unsigned int m_length, + const unsigned char *sigbuf, unsigned int siglen, RSA *rsa); /* * The following 2 function sign and verify a ASN1_OCTET_STRING object inside * PKCS#1 padded RSA encryption */ -DEPRECATEDIN_3_0(int RSA_sign_ASN1_OCTET_STRING(int type, - const unsigned char *m, - unsigned int m_length, - unsigned char *sigret, - unsigned int *siglen, RSA *rsa)) -DEPRECATEDIN_3_0(int RSA_verify_ASN1_OCTET_STRING(int type, - const unsigned char *m, - unsigned int m_length, - unsigned char *sigbuf, - unsigned int siglen, - RSA *rsa)) +int RSA_sign_ASN1_OCTET_STRING(int type, + const unsigned char *m, unsigned int m_length, + unsigned char *sigret, unsigned int *siglen, + RSA *rsa); +int RSA_verify_ASN1_OCTET_STRING(int type, const unsigned char *m, + unsigned int m_length, unsigned char *sigbuf, + unsigned int siglen, RSA *rsa); -/* TODO(3.0): figure out how to deprecate these two */ int RSA_blinding_on(RSA *rsa, BN_CTX *ctx); void RSA_blinding_off(RSA *rsa); -DEPRECATEDIN_3_0(BN_BLINDING *RSA_setup_blinding(RSA *rsa, BN_CTX *ctx)) +BN_BLINDING *RSA_setup_blinding(RSA *rsa, BN_CTX *ctx); -DEPRECATEDIN_3_0(int RSA_padding_add_PKCS1_type_1(unsigned char *to, int tlen, - const unsigned char *f, - int fl)) -DEPRECATEDIN_3_0(int RSA_padding_check_PKCS1_type_1(unsigned char *to, int tlen, - const unsigned char *f, - int fl, int rsa_len)) -DEPRECATEDIN_3_0(int RSA_padding_add_PKCS1_type_2(unsigned char *to, int tlen, - const unsigned char *f, - int fl)) -DEPRECATEDIN_3_0(int RSA_padding_check_PKCS1_type_2(unsigned char *to, int tlen, - const unsigned char *f, - int fl, int rsa_len)) -DEPRECATEDIN_3_0(int PKCS1_MGF1(unsigned char *mask, long len, - const unsigned char *seed, long seedlen, - const EVP_MD *dgst)) -DEPRECATEDIN_3_0(int RSA_padding_add_PKCS1_OAEP(unsigned char *to, int tlen, - const unsigned char *f, int fl, - const unsigned char *p, int pl)) -DEPRECATEDIN_3_0(int RSA_padding_check_PKCS1_OAEP(unsigned char *to, int tlen, - const unsigned char *f, - int fl, int rsa_len, - const unsigned char *p, - int pl)) -DEPRECATEDIN_3_0(int RSA_padding_add_PKCS1_OAEP_mgf1(unsigned char *to, - int tlen, - const unsigned char *from, - int flen, - const unsigned char *param, - int plen, - const EVP_MD *md, - const EVP_MD *mgf1md)) -DEPRECATEDIN_3_0(int RSA_padding_check_PKCS1_OAEP_mgf1(unsigned char *to, - int tlen, - const unsigned char *from, - int flen, int num, - const unsigned char *param, - int plen, const EVP_MD *md, - const EVP_MD *mgf1md)) -DEPRECATEDIN_3_0(int RSA_padding_add_SSLv23(unsigned char *to, int tlen, - const unsigned char *f, int fl)) -DEPRECATEDIN_3_0(int RSA_padding_check_SSLv23(unsigned char *to, int tlen, - const unsigned char *f, int fl, - int rsa_len)) -DEPRECATEDIN_3_0(int RSA_padding_add_none(unsigned char *to, int tlen, - const unsigned char *f, int fl)) -DEPRECATEDIN_3_0(int RSA_padding_check_none(unsigned char *to, int tlen, - const unsigned char *f, int fl, - int rsa_len)) -DEPRECATEDIN_3_0(int RSA_padding_add_X931(unsigned char *to, int tlen, - const unsigned char *f, int fl)) -DEPRECATEDIN_3_0(int RSA_padding_check_X931(unsigned char *to, int tlen, - const unsigned char *f, int fl, - int rsa_len)) -DEPRECATEDIN_3_0(int RSA_X931_hash_id(int nid)) +int RSA_padding_add_PKCS1_type_1(unsigned char *to, int tlen, + const unsigned char *f, int fl); +int RSA_padding_check_PKCS1_type_1(unsigned char *to, int tlen, + const unsigned char *f, int fl, + int rsa_len); +int RSA_padding_add_PKCS1_type_2(unsigned char *to, int tlen, + const unsigned char *f, int fl); +int RSA_padding_check_PKCS1_type_2(unsigned char *to, int tlen, + const unsigned char *f, int fl, + int rsa_len); +int PKCS1_MGF1(unsigned char *mask, long len, const unsigned char *seed, + long seedlen, const EVP_MD *dgst); +int RSA_padding_add_PKCS1_OAEP(unsigned char *to, int tlen, + const unsigned char *f, int fl, + const unsigned char *p, int pl); +int RSA_padding_check_PKCS1_OAEP(unsigned char *to, int tlen, + const unsigned char *f, int fl, int rsa_len, + const unsigned char *p, int pl); +int RSA_padding_add_PKCS1_OAEP_mgf1(unsigned char *to, int tlen, + const unsigned char *from, int flen, + const unsigned char *param, int plen, + const EVP_MD *md, const EVP_MD *mgf1md); +int RSA_padding_check_PKCS1_OAEP_mgf1(unsigned char *to, int tlen, + const unsigned char *from, int flen, + int num, const unsigned char *param, + int plen, const EVP_MD *md, + const EVP_MD *mgf1md); +int RSA_padding_add_SSLv23(unsigned char *to, int tlen, + const unsigned char *f, int fl); +int RSA_padding_check_SSLv23(unsigned char *to, int tlen, + const unsigned char *f, int fl, int rsa_len); +int RSA_padding_add_none(unsigned char *to, int tlen, const unsigned char *f, + int fl); +int RSA_padding_check_none(unsigned char *to, int tlen, + const unsigned char *f, int fl, int rsa_len); +int RSA_padding_add_X931(unsigned char *to, int tlen, const unsigned char *f, + int fl); +int RSA_padding_check_X931(unsigned char *to, int tlen, + const unsigned char *f, int fl, int rsa_len); +int RSA_X931_hash_id(int nid); -DEPRECATEDIN_3_0(int RSA_verify_PKCS1_PSS(RSA *rsa, const unsigned char *mHash, - const EVP_MD *Hash, - const unsigned char *EM, int sLen)) -DEPRECATEDIN_3_0(int RSA_padding_add_PKCS1_PSS(RSA *rsa, unsigned char *EM, - const unsigned char *mHash, - const EVP_MD *Hash, int sLen)) +int RSA_verify_PKCS1_PSS(RSA *rsa, const unsigned char *mHash, + const EVP_MD *Hash, const unsigned char *EM, + int sLen); +int RSA_padding_add_PKCS1_PSS(RSA *rsa, unsigned char *EM, + const unsigned char *mHash, const EVP_MD *Hash, + int sLen); -DEPRECATEDIN_3_0(int RSA_verify_PKCS1_PSS_mgf1(RSA *rsa, - const unsigned char *mHash, - const EVP_MD *Hash, - const EVP_MD *mgf1Hash, - const unsigned char *EM, - int sLen)) +int RSA_verify_PKCS1_PSS_mgf1(RSA *rsa, const unsigned char *mHash, + const EVP_MD *Hash, const EVP_MD *mgf1Hash, + const unsigned char *EM, int sLen); -DEPRECATEDIN_3_0(int RSA_padding_add_PKCS1_PSS_mgf1(RSA *rsa, - unsigned char *EM, - const unsigned char *mHash, - const EVP_MD *Hash, - const EVP_MD *mgf1Hash, - int sLen)) +int RSA_padding_add_PKCS1_PSS_mgf1(RSA *rsa, unsigned char *EM, + const unsigned char *mHash, + const EVP_MD *Hash, const EVP_MD *mgf1Hash, + int sLen); -# define RSA_get_ex_new_index(l, p, newf, dupf, freef) \ +#define RSA_get_ex_new_index(l, p, newf, dupf, freef) \ CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_RSA, l, p, newf, dupf, freef) -DEPRECATEDIN_3_0(int RSA_set_ex_data(RSA *r, int idx, void *arg)) -DEPRECATEDIN_3_0(void *RSA_get_ex_data(const RSA *r, int idx)) +int RSA_set_ex_data(RSA *r, int idx, void *arg); +void *RSA_get_ex_data(const RSA *r, int idx); -DECLARE_ASN1_DUP_FUNCTION_name(RSA, RSAPublicKey) -DECLARE_ASN1_DUP_FUNCTION_name(RSA, RSAPrivateKey) +RSA *RSAPublicKey_dup(RSA *rsa); +RSA *RSAPrivateKey_dup(RSA *rsa); -# ifndef OPENSSL_NO_DEPRECATED_3_0 /* * If this flag is set the RSA method is FIPS compliant and can be used in * FIPS mode. This is set in the validated module method. If an application @@ -442,7 +404,7 @@ DECLARE_ASN1_DUP_FUNCTION_name(RSA, RSAPrivateKey) * result is compliant. */ -# define RSA_FLAG_FIPS_METHOD 0x0400 +# define RSA_FLAG_FIPS_METHOD 0x0400 /* * If this flag is set the operations normally disabled in FIPS mode are @@ -450,101 +412,99 @@ DECLARE_ASN1_DUP_FUNCTION_name(RSA, RSAPrivateKey) * usage is compliant. */ -# define RSA_FLAG_NON_FIPS_ALLOW 0x0400 +# define RSA_FLAG_NON_FIPS_ALLOW 0x0400 /* * Application has decided PRNG is good enough to generate a key: don't * check. */ -# define RSA_FLAG_CHECKED 0x0800 -# endif /* OPENSSL_NO_DEPRECATED_3_0 */ +# define RSA_FLAG_CHECKED 0x0800 -DEPRECATEDIN_3_0(RSA_METHOD *RSA_meth_new(const char *name, int flags)) -DEPRECATEDIN_3_0(void RSA_meth_free(RSA_METHOD *meth)) -DEPRECATEDIN_3_0(RSA_METHOD *RSA_meth_dup(const RSA_METHOD *meth)) -DEPRECATEDIN_3_0(const char *RSA_meth_get0_name(const RSA_METHOD *meth)) -DEPRECATEDIN_3_0(int RSA_meth_set1_name(RSA_METHOD *meth, const char *name)) -DEPRECATEDIN_3_0(int RSA_meth_get_flags(const RSA_METHOD *meth)) -DEPRECATEDIN_3_0(int RSA_meth_set_flags(RSA_METHOD *meth, int flags)) -DEPRECATEDIN_3_0(void *RSA_meth_get0_app_data(const RSA_METHOD *meth)) -DEPRECATEDIN_3_0(int RSA_meth_set0_app_data(RSA_METHOD *meth, void *app_data)) -DEPRECATEDIN_3_0(int (*RSA_meth_get_pub_enc(const RSA_METHOD *meth)) +RSA_METHOD *RSA_meth_new(const char *name, int flags); +void RSA_meth_free(RSA_METHOD *meth); +RSA_METHOD *RSA_meth_dup(const RSA_METHOD *meth); +const char *RSA_meth_get0_name(const RSA_METHOD *meth); +int RSA_meth_set1_name(RSA_METHOD *meth, const char *name); +int RSA_meth_get_flags(const RSA_METHOD *meth); +int RSA_meth_set_flags(RSA_METHOD *meth, int flags); +void *RSA_meth_get0_app_data(const RSA_METHOD *meth); +int RSA_meth_set0_app_data(RSA_METHOD *meth, void *app_data); +int (*RSA_meth_get_pub_enc(const RSA_METHOD *meth)) (int flen, const unsigned char *from, - unsigned char *to, RSA *rsa, int padding)) -DEPRECATEDIN_3_0(int RSA_meth_set_pub_enc(RSA_METHOD *rsa, + unsigned char *to, RSA *rsa, int padding); +int RSA_meth_set_pub_enc(RSA_METHOD *rsa, int (*pub_enc) (int flen, const unsigned char *from, unsigned char *to, RSA *rsa, - int padding))) -DEPRECATEDIN_3_0(int (*RSA_meth_get_pub_dec(const RSA_METHOD *meth)) + int padding)); +int (*RSA_meth_get_pub_dec(const RSA_METHOD *meth)) (int flen, const unsigned char *from, - unsigned char *to, RSA *rsa, int padding)) -DEPRECATEDIN_3_0(int RSA_meth_set_pub_dec(RSA_METHOD *rsa, + unsigned char *to, RSA *rsa, int padding); +int RSA_meth_set_pub_dec(RSA_METHOD *rsa, int (*pub_dec) (int flen, const unsigned char *from, unsigned char *to, RSA *rsa, - int padding))) -DEPRECATEDIN_3_0(int (*RSA_meth_get_priv_enc(const RSA_METHOD *meth)) + int padding)); +int (*RSA_meth_get_priv_enc(const RSA_METHOD *meth)) (int flen, const unsigned char *from, - unsigned char *to, RSA *rsa, int padding)) -DEPRECATEDIN_3_0(int RSA_meth_set_priv_enc(RSA_METHOD *rsa, + unsigned char *to, RSA *rsa, int padding); +int RSA_meth_set_priv_enc(RSA_METHOD *rsa, int (*priv_enc) (int flen, const unsigned char *from, unsigned char *to, RSA *rsa, - int padding))) -DEPRECATEDIN_3_0(int (*RSA_meth_get_priv_dec(const RSA_METHOD *meth)) + int padding)); +int (*RSA_meth_get_priv_dec(const RSA_METHOD *meth)) (int flen, const unsigned char *from, - unsigned char *to, RSA *rsa, int padding)) -DEPRECATEDIN_3_0(int RSA_meth_set_priv_dec(RSA_METHOD *rsa, + unsigned char *to, RSA *rsa, int padding); +int RSA_meth_set_priv_dec(RSA_METHOD *rsa, int (*priv_dec) (int flen, const unsigned char *from, unsigned char *to, RSA *rsa, - int padding))) -DEPRECATEDIN_3_0(int (*RSA_meth_get_mod_exp(const RSA_METHOD *meth)) - (BIGNUM *r0, const BIGNUM *i, RSA *rsa, BN_CTX *ctx)) -DEPRECATEDIN_3_0(int RSA_meth_set_mod_exp(RSA_METHOD *rsa, + int padding)); +int (*RSA_meth_get_mod_exp(const RSA_METHOD *meth)) + (BIGNUM *r0, const BIGNUM *i, RSA *rsa, BN_CTX *ctx); +int RSA_meth_set_mod_exp(RSA_METHOD *rsa, int (*mod_exp) (BIGNUM *r0, const BIGNUM *i, RSA *rsa, - BN_CTX *ctx))) -DEPRECATEDIN_3_0(int (*RSA_meth_get_bn_mod_exp(const RSA_METHOD *meth)) + BN_CTX *ctx)); +int (*RSA_meth_get_bn_mod_exp(const RSA_METHOD *meth)) (BIGNUM *r, const BIGNUM *a, const BIGNUM *p, - const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx)) -DEPRECATEDIN_3_0(int RSA_meth_set_bn_mod_exp(RSA_METHOD *rsa, + const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx); +int RSA_meth_set_bn_mod_exp(RSA_METHOD *rsa, int (*bn_mod_exp) (BIGNUM *r, const BIGNUM *a, const BIGNUM *p, const BIGNUM *m, BN_CTX *ctx, - BN_MONT_CTX *m_ctx))) -DEPRECATEDIN_3_0(int (*RSA_meth_get_init(const RSA_METHOD *meth)) (RSA *rsa)) -DEPRECATEDIN_3_0(int RSA_meth_set_init(RSA_METHOD *rsa, int (*init) (RSA *rsa))) -DEPRECATEDIN_3_0(int (*RSA_meth_get_finish(const RSA_METHOD *meth)) (RSA *rsa)) -DEPRECATEDIN_3_0(int RSA_meth_set_finish(RSA_METHOD *rsa, - int (*finish) (RSA *rsa))) -DEPRECATEDIN_3_0(int (*RSA_meth_get_sign(const RSA_METHOD *meth)) + BN_MONT_CTX *m_ctx)); +int (*RSA_meth_get_init(const RSA_METHOD *meth)) (RSA *rsa); +int RSA_meth_set_init(RSA_METHOD *rsa, int (*init) (RSA *rsa)); +int (*RSA_meth_get_finish(const RSA_METHOD *meth)) (RSA *rsa); +int RSA_meth_set_finish(RSA_METHOD *rsa, int (*finish) (RSA *rsa)); +int (*RSA_meth_get_sign(const RSA_METHOD *meth)) (int type, const unsigned char *m, unsigned int m_length, unsigned char *sigret, unsigned int *siglen, - const RSA *rsa)) -DEPRECATEDIN_3_0(int RSA_meth_set_sign(RSA_METHOD *rsa, + const RSA *rsa); +int RSA_meth_set_sign(RSA_METHOD *rsa, int (*sign) (int type, const unsigned char *m, unsigned int m_length, unsigned char *sigret, unsigned int *siglen, - const RSA *rsa))) -DEPRECATEDIN_3_0(int (*RSA_meth_get_verify(const RSA_METHOD *meth)) + const RSA *rsa)); +int (*RSA_meth_get_verify(const RSA_METHOD *meth)) (int dtype, const unsigned char *m, unsigned int m_length, const unsigned char *sigbuf, - unsigned int siglen, const RSA *rsa)) -DEPRECATEDIN_3_0(int RSA_meth_set_verify(RSA_METHOD *rsa, + unsigned int siglen, const RSA *rsa); +int RSA_meth_set_verify(RSA_METHOD *rsa, int (*verify) (int dtype, const unsigned char *m, unsigned int m_length, const unsigned char *sigbuf, - unsigned int siglen, const RSA *rsa))) -DEPRECATEDIN_3_0(int (*RSA_meth_get_keygen(const RSA_METHOD *meth)) - (RSA *rsa, int bits, BIGNUM *e, BN_GENCB *cb)) -DEPRECATEDIN_3_0(int RSA_meth_set_keygen(RSA_METHOD *rsa, + unsigned int siglen, const RSA *rsa)); +int (*RSA_meth_get_keygen(const RSA_METHOD *meth)) + (RSA *rsa, int bits, BIGNUM *e, BN_GENCB *cb); +int RSA_meth_set_keygen(RSA_METHOD *rsa, int (*keygen) (RSA *rsa, int bits, BIGNUM *e, - BN_GENCB *cb))) -DEPRECATEDIN_3_0(int (*RSA_meth_get_multi_prime_keygen(const RSA_METHOD *meth)) - (RSA *rsa, int bits, int primes, BIGNUM *e, BN_GENCB *cb)) -DEPRECATEDIN_3_0(int RSA_meth_set_multi_prime_keygen(RSA_METHOD *meth, + BN_GENCB *cb)); +int (*RSA_meth_get_multi_prime_keygen(const RSA_METHOD *meth)) + (RSA *rsa, int bits, int primes, BIGNUM *e, BN_GENCB *cb); +int RSA_meth_set_multi_prime_keygen(RSA_METHOD *meth, int (*keygen) (RSA *rsa, int bits, int primes, BIGNUM *e, - BN_GENCB *cb))) + BN_GENCB *cb)); # ifdef __cplusplus } diff --git a/linux_amd64/include/openssl/rsaerr.h b/linux_amd64/include/openssl/rsaerr.h index ef72bc7..59b15e1 100644 --- a/linux_amd64/include/openssl/rsaerr.h +++ b/linux_amd64/include/openssl/rsaerr.h @@ -1,26 +1,20 @@ /* * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_RSAERR_H -# define OPENSSL_RSAERR_H -# pragma once +#ifndef HEADER_RSAERR_H +# define HEADER_RSAERR_H -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_RSAERR_H +# ifndef HEADER_SYMHACKS_H +# include # endif -# include -# include - - # ifdef __cplusplus extern "C" # endif @@ -29,76 +23,69 @@ int ERR_load_RSA_strings(void); /* * RSA function codes. */ -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define RSA_F_CHECK_PADDING_MD 0 -# define RSA_F_ENCODE_PKCS1 0 -# define RSA_F_INT_RSA_VERIFY 0 -# define RSA_F_OLD_RSA_PRIV_DECODE 0 -# define RSA_F_PKEY_PSS_INIT 0 -# define RSA_F_PKEY_RSA_CTRL 0 -# define RSA_F_PKEY_RSA_CTRL_STR 0 -# define RSA_F_PKEY_RSA_SIGN 0 -# define RSA_F_PKEY_RSA_VERIFY 0 -# define RSA_F_PKEY_RSA_VERIFYRECOVER 0 -# define RSA_F_RSA_ALGOR_TO_MD 0 -# define RSA_F_RSA_BUILTIN_KEYGEN 0 -# define RSA_F_RSA_CHECK_KEY 0 -# define RSA_F_RSA_CHECK_KEY_EX 0 -# define RSA_F_RSA_CMS_DECRYPT 0 -# define RSA_F_RSA_CMS_VERIFY 0 -# define RSA_F_RSA_FIPS186_4_GEN_PROB_PRIMES 0 -# define RSA_F_RSA_ITEM_VERIFY 0 -# define RSA_F_RSA_METH_DUP 0 -# define RSA_F_RSA_METH_NEW 0 -# define RSA_F_RSA_METH_SET1_NAME 0 -# define RSA_F_RSA_MGF1_TO_MD 0 -# define RSA_F_RSA_MULTIP_INFO_NEW 0 -# define RSA_F_RSA_NEW_METHOD 0 -# define RSA_F_RSA_NULL 0 -# define RSA_F_RSA_NULL_PRIVATE_DECRYPT 0 -# define RSA_F_RSA_NULL_PRIVATE_ENCRYPT 0 -# define RSA_F_RSA_NULL_PUBLIC_DECRYPT 0 -# define RSA_F_RSA_NULL_PUBLIC_ENCRYPT 0 -# define RSA_F_RSA_OSSL_PRIVATE_DECRYPT 0 -# define RSA_F_RSA_OSSL_PRIVATE_ENCRYPT 0 -# define RSA_F_RSA_OSSL_PUBLIC_DECRYPT 0 -# define RSA_F_RSA_OSSL_PUBLIC_ENCRYPT 0 -# define RSA_F_RSA_PADDING_ADD_NONE 0 -# define RSA_F_RSA_PADDING_ADD_PKCS1_OAEP 0 -# define RSA_F_RSA_PADDING_ADD_PKCS1_OAEP_MGF1 0 -# define RSA_F_RSA_PADDING_ADD_PKCS1_PSS 0 -# define RSA_F_RSA_PADDING_ADD_PKCS1_PSS_MGF1 0 -# define RSA_F_RSA_PADDING_ADD_PKCS1_TYPE_1 0 -# define RSA_F_RSA_PADDING_ADD_PKCS1_TYPE_2 0 -# define RSA_F_RSA_PADDING_ADD_SSLV23 0 -# define RSA_F_RSA_PADDING_ADD_X931 0 -# define RSA_F_RSA_PADDING_CHECK_NONE 0 -# define RSA_F_RSA_PADDING_CHECK_PKCS1_OAEP 0 -# define RSA_F_RSA_PADDING_CHECK_PKCS1_OAEP_MGF1 0 -# define RSA_F_RSA_PADDING_CHECK_PKCS1_TYPE_1 0 -# define RSA_F_RSA_PADDING_CHECK_PKCS1_TYPE_2 0 -# define RSA_F_RSA_PADDING_CHECK_SSLV23 0 -# define RSA_F_RSA_PADDING_CHECK_X931 0 -# define RSA_F_RSA_PARAM_DECODE 0 -# define RSA_F_RSA_PRINT 0 -# define RSA_F_RSA_PRINT_FP 0 -# define RSA_F_RSA_PRIV_DECODE 0 -# define RSA_F_RSA_PRIV_ENCODE 0 -# define RSA_F_RSA_PSS_GET_PARAM 0 -# define RSA_F_RSA_PSS_TO_CTX 0 -# define RSA_F_RSA_PUB_DECODE 0 -# define RSA_F_RSA_SETUP_BLINDING 0 -# define RSA_F_RSA_SIGN 0 -# define RSA_F_RSA_SIGN_ASN1_OCTET_STRING 0 -# define RSA_F_RSA_SP800_56B_CHECK_KEYPAIR 0 -# define RSA_F_RSA_SP800_56B_CHECK_PUBLIC 0 -# define RSA_F_RSA_SP800_56B_PAIRWISE_TEST 0 -# define RSA_F_RSA_SP800_56B_VALIDATE_STRENGTH 0 -# define RSA_F_RSA_VERIFY 0 -# define RSA_F_RSA_VERIFY_ASN1_OCTET_STRING 0 -# define RSA_F_RSA_VERIFY_PKCS1_PSS_MGF1 0 -# define RSA_F_SETUP_TBUF 0 -# endif +# define RSA_F_CHECK_PADDING_MD 140 +# define RSA_F_ENCODE_PKCS1 146 +# define RSA_F_INT_RSA_VERIFY 145 +# define RSA_F_OLD_RSA_PRIV_DECODE 147 +# define RSA_F_PKEY_PSS_INIT 165 +# define RSA_F_PKEY_RSA_CTRL 143 +# define RSA_F_PKEY_RSA_CTRL_STR 144 +# define RSA_F_PKEY_RSA_SIGN 142 +# define RSA_F_PKEY_RSA_VERIFY 149 +# define RSA_F_PKEY_RSA_VERIFYRECOVER 141 +# define RSA_F_RSA_ALGOR_TO_MD 156 +# define RSA_F_RSA_BUILTIN_KEYGEN 129 +# define RSA_F_RSA_CHECK_KEY 123 +# define RSA_F_RSA_CHECK_KEY_EX 160 +# define RSA_F_RSA_CMS_DECRYPT 159 +# define RSA_F_RSA_CMS_VERIFY 158 +# define RSA_F_RSA_ITEM_VERIFY 148 +# define RSA_F_RSA_METH_DUP 161 +# define RSA_F_RSA_METH_NEW 162 +# define RSA_F_RSA_METH_SET1_NAME 163 +# define RSA_F_RSA_MGF1_TO_MD 157 +# define RSA_F_RSA_MULTIP_INFO_NEW 166 +# define RSA_F_RSA_NEW_METHOD 106 +# define RSA_F_RSA_NULL 124 +# define RSA_F_RSA_NULL_PRIVATE_DECRYPT 132 +# define RSA_F_RSA_NULL_PRIVATE_ENCRYPT 133 +# define RSA_F_RSA_NULL_PUBLIC_DECRYPT 134 +# define RSA_F_RSA_NULL_PUBLIC_ENCRYPT 135 +# define RSA_F_RSA_OSSL_PRIVATE_DECRYPT 101 +# define RSA_F_RSA_OSSL_PRIVATE_ENCRYPT 102 +# define RSA_F_RSA_OSSL_PUBLIC_DECRYPT 103 +# define RSA_F_RSA_OSSL_PUBLIC_ENCRYPT 104 +# define RSA_F_RSA_PADDING_ADD_NONE 107 +# define RSA_F_RSA_PADDING_ADD_PKCS1_OAEP 121 +# define RSA_F_RSA_PADDING_ADD_PKCS1_OAEP_MGF1 154 +# define RSA_F_RSA_PADDING_ADD_PKCS1_PSS 125 +# define RSA_F_RSA_PADDING_ADD_PKCS1_PSS_MGF1 152 +# define RSA_F_RSA_PADDING_ADD_PKCS1_TYPE_1 108 +# define RSA_F_RSA_PADDING_ADD_PKCS1_TYPE_2 109 +# define RSA_F_RSA_PADDING_ADD_SSLV23 110 +# define RSA_F_RSA_PADDING_ADD_X931 127 +# define RSA_F_RSA_PADDING_CHECK_NONE 111 +# define RSA_F_RSA_PADDING_CHECK_PKCS1_OAEP 122 +# define RSA_F_RSA_PADDING_CHECK_PKCS1_OAEP_MGF1 153 +# define RSA_F_RSA_PADDING_CHECK_PKCS1_TYPE_1 112 +# define RSA_F_RSA_PADDING_CHECK_PKCS1_TYPE_2 113 +# define RSA_F_RSA_PADDING_CHECK_SSLV23 114 +# define RSA_F_RSA_PADDING_CHECK_X931 128 +# define RSA_F_RSA_PARAM_DECODE 164 +# define RSA_F_RSA_PRINT 115 +# define RSA_F_RSA_PRINT_FP 116 +# define RSA_F_RSA_PRIV_DECODE 150 +# define RSA_F_RSA_PRIV_ENCODE 138 +# define RSA_F_RSA_PSS_GET_PARAM 151 +# define RSA_F_RSA_PSS_TO_CTX 155 +# define RSA_F_RSA_PUB_DECODE 139 +# define RSA_F_RSA_SETUP_BLINDING 136 +# define RSA_F_RSA_SIGN 117 +# define RSA_F_RSA_SIGN_ASN1_OCTET_STRING 118 +# define RSA_F_RSA_VERIFY 119 +# define RSA_F_RSA_VERIFY_ASN1_OCTET_STRING 120 +# define RSA_F_RSA_VERIFY_PKCS1_PSS_MGF1 126 +# define RSA_F_SETUP_TBUF 167 /* * RSA reason codes. @@ -127,29 +114,24 @@ int ERR_load_RSA_strings(void); # define RSA_R_INVALID_DIGEST 157 # define RSA_R_INVALID_DIGEST_LENGTH 143 # define RSA_R_INVALID_HEADER 137 -# define RSA_R_INVALID_KEYPAIR 171 -# define RSA_R_INVALID_KEY_LENGTH 173 # define RSA_R_INVALID_LABEL 160 # define RSA_R_INVALID_MESSAGE_LENGTH 131 # define RSA_R_INVALID_MGF1_MD 156 -# define RSA_R_INVALID_MODULUS 174 # define RSA_R_INVALID_MULTI_PRIME_KEY 167 # define RSA_R_INVALID_OAEP_PARAMETERS 161 # define RSA_R_INVALID_PADDING 138 # define RSA_R_INVALID_PADDING_MODE 141 # define RSA_R_INVALID_PSS_PARAMETERS 149 # define RSA_R_INVALID_PSS_SALTLEN 146 -# define RSA_R_INVALID_REQUEST 175 # define RSA_R_INVALID_SALT_LENGTH 150 -# define RSA_R_INVALID_STRENGTH 176 # define RSA_R_INVALID_TRAILER 139 # define RSA_R_INVALID_X931_DIGEST 142 # define RSA_R_IQMP_NOT_INVERSE_OF_Q 126 # define RSA_R_KEY_PRIME_NUM_INVALID 165 # define RSA_R_KEY_SIZE_TOO_SMALL 120 # define RSA_R_LAST_OCTET_INVALID 134 -# define RSA_R_MGF1_DIGEST_NOT_ALLOWED 152 # define RSA_R_MISSING_PRIVATE_KEY 179 +# define RSA_R_MGF1_DIGEST_NOT_ALLOWED 152 # define RSA_R_MODULUS_TOO_LARGE 105 # define RSA_R_MP_COEFFICIENT_NOT_INVERSE_OF_R 168 # define RSA_R_MP_EXPONENT_NOT_CONGRUENT_TO_D 169 @@ -161,10 +143,8 @@ int ERR_load_RSA_strings(void); # define RSA_R_OAEP_DECODING_ERROR 121 # define RSA_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE 148 # define RSA_R_PADDING_CHECK_FAILED 114 -# define RSA_R_PAIRWISE_TEST_FAILURE 177 # define RSA_R_PKCS_DECODING_ERROR 159 # define RSA_R_PSS_SALTLEN_TOO_SMALL 164 -# define RSA_R_PUB_EXPONENT_OUT_OF_RANGE 178 # define RSA_R_P_NOT_PRIME 128 # define RSA_R_Q_NOT_PRIME 129 # define RSA_R_RSA_OPERATIONS_NOT_SUPPORTED 130 diff --git a/linux_amd64/include/openssl/safestack.h b/linux_amd64/include/openssl/safestack.h index b8de23c..38b5578 100644 --- a/linux_amd64/include/openssl/safestack.h +++ b/linux_amd64/include/openssl/safestack.h @@ -1,20 +1,14 @@ /* * Copyright 1999-2019 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_SAFESTACK_H -# define OPENSSL_SAFESTACK_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_SAFESTACK_H -# endif +#ifndef HEADER_SAFESTACK_H +# define HEADER_SAFESTACK_H # include # include diff --git a/linux_amd64/include/openssl/seed.h b/linux_amd64/include/openssl/seed.h index 2e1ba2a..de10b08 100644 --- a/linux_amd64/include/openssl/seed.h +++ b/linux_amd64/include/openssl/seed.h @@ -1,7 +1,7 @@ /* * Copyright 2007-2016 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html @@ -32,79 +32,65 @@ * SUCH DAMAGE. */ -#ifndef OPENSSL_SEED_H -# define OPENSSL_SEED_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_SEED_H -# endif +#ifndef HEADER_SEED_H +# define HEADER_SEED_H # include # ifndef OPENSSL_NO_SEED -# include -# include -# include +# include +# include -# ifdef __cplusplus +#ifdef __cplusplus extern "C" { -# endif +#endif -# define SEED_BLOCK_SIZE 16 -# define SEED_KEY_LENGTH 16 - -# ifndef OPENSSL_NO_DEPRECATED_3_0 /* look whether we need 'long' to get 32 bits */ -# ifdef AES_LONG -# ifndef SEED_LONG -# define SEED_LONG 1 -# endif -# endif - - -typedef struct seed_key_st { -# ifdef SEED_LONG - unsigned long data[32]; -# else - unsigned int data[32]; -# endif -} SEED_KEY_SCHEDULE; -# endif /* OPENSSL_NO_DEPRECATED_3_0 */ - -DEPRECATEDIN_3_0(void SEED_set_key(const unsigned char rawkey[SEED_KEY_LENGTH], - SEED_KEY_SCHEDULE *ks)) - -DEPRECATEDIN_3_0(void SEED_encrypt(const unsigned char s[SEED_BLOCK_SIZE], - unsigned char d[SEED_BLOCK_SIZE], - const SEED_KEY_SCHEDULE *ks)) -DEPRECATEDIN_3_0(void SEED_decrypt(const unsigned char s[SEED_BLOCK_SIZE], - unsigned char d[SEED_BLOCK_SIZE], - const SEED_KEY_SCHEDULE *ks)) - -DEPRECATEDIN_3_0(void SEED_ecb_encrypt(const unsigned char *in, - unsigned char *out, - const SEED_KEY_SCHEDULE *ks, int enc)) -DEPRECATEDIN_3_0(void SEED_cbc_encrypt(const unsigned char *in, - unsigned char *out, size_t len, - const SEED_KEY_SCHEDULE *ks, - unsigned char ivec[SEED_BLOCK_SIZE], - int enc)) -DEPRECATEDIN_3_0(void SEED_cfb128_encrypt(const unsigned char *in, - unsigned char *out, size_t len, - const SEED_KEY_SCHEDULE *ks, - unsigned char ivec[SEED_BLOCK_SIZE], - int *num, int enc)) -DEPRECATEDIN_3_0(void SEED_ofb128_encrypt(const unsigned char *in, - unsigned char *out, size_t len, - const SEED_KEY_SCHEDULE *ks, - unsigned char ivec[SEED_BLOCK_SIZE], - int *num)) - -# ifdef __cplusplus -} +# ifdef AES_LONG +# ifndef SEED_LONG +# define SEED_LONG 1 # endif # endif +# include + +# define SEED_BLOCK_SIZE 16 +# define SEED_KEY_LENGTH 16 + +typedef struct seed_key_st { +# ifdef SEED_LONG + unsigned long data[32]; +# else + unsigned int data[32]; +# endif +} SEED_KEY_SCHEDULE; + +void SEED_set_key(const unsigned char rawkey[SEED_KEY_LENGTH], + SEED_KEY_SCHEDULE *ks); + +void SEED_encrypt(const unsigned char s[SEED_BLOCK_SIZE], + unsigned char d[SEED_BLOCK_SIZE], + const SEED_KEY_SCHEDULE *ks); +void SEED_decrypt(const unsigned char s[SEED_BLOCK_SIZE], + unsigned char d[SEED_BLOCK_SIZE], + const SEED_KEY_SCHEDULE *ks); + +void SEED_ecb_encrypt(const unsigned char *in, unsigned char *out, + const SEED_KEY_SCHEDULE *ks, int enc); +void SEED_cbc_encrypt(const unsigned char *in, unsigned char *out, size_t len, + const SEED_KEY_SCHEDULE *ks, + unsigned char ivec[SEED_BLOCK_SIZE], int enc); +void SEED_cfb128_encrypt(const unsigned char *in, unsigned char *out, + size_t len, const SEED_KEY_SCHEDULE *ks, + unsigned char ivec[SEED_BLOCK_SIZE], int *num, + int enc); +void SEED_ofb128_encrypt(const unsigned char *in, unsigned char *out, + size_t len, const SEED_KEY_SCHEDULE *ks, + unsigned char ivec[SEED_BLOCK_SIZE], int *num); + +# ifdef __cplusplus +} +# endif +# endif + #endif diff --git a/linux_amd64/include/openssl/sha.h b/linux_amd64/include/openssl/sha.h index 3a31bb6..6a1eb0d 100644 --- a/linux_amd64/include/openssl/sha.h +++ b/linux_amd64/include/openssl/sha.h @@ -1,27 +1,21 @@ /* * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_SHA_H -# define OPENSSL_SHA_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_SHA_H -# endif +#ifndef HEADER_SHA_H +# define HEADER_SHA_H # include # include -# ifdef __cplusplus +#ifdef __cplusplus extern "C" { -# endif +#endif /*- * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! @@ -89,10 +83,13 @@ void SHA256_Transform(SHA256_CTX *c, const unsigned char *data); # define SHA512_CBLOCK (SHA_LBLOCK*8) # if (defined(_WIN32) || defined(_WIN64)) && !defined(__MINGW32__) # define SHA_LONG64 unsigned __int64 +# define U64(C) C##UI64 # elif defined(__arch64__) # define SHA_LONG64 unsigned long +# define U64(C) C##UL # else # define SHA_LONG64 unsigned long long +# define U64(C) C##ULL # endif typedef struct SHA512state_st { @@ -115,8 +112,8 @@ int SHA512_Final(unsigned char *md, SHA512_CTX *c); unsigned char *SHA512(const unsigned char *d, size_t n, unsigned char *md); void SHA512_Transform(SHA512_CTX *c, const unsigned char *data); -# ifdef __cplusplus +#ifdef __cplusplus } -# endif +#endif #endif diff --git a/linux_amd64/include/openssl/srp.h b/linux_amd64/include/openssl/srp.h index 9f6f1b8..aaf1355 100644 --- a/linux_amd64/include/openssl/srp.h +++ b/linux_amd64/include/openssl/srp.h @@ -2,7 +2,7 @@ * Copyright 2004-2018 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2004, EdelKey Project. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html @@ -11,14 +11,8 @@ * for the EdelKey project. */ -#ifndef OPENSSL_SRP_H -# define OPENSSL_SRP_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_SRP_H -# endif +#ifndef HEADER_SRP_H +# define HEADER_SRP_H #include @@ -53,13 +47,8 @@ typedef struct SRP_user_pwd_st { char *info; } SRP_user_pwd; -SRP_user_pwd *SRP_user_pwd_new(void); void SRP_user_pwd_free(SRP_user_pwd *user_pwd); -void SRP_user_pwd_set_gN(SRP_user_pwd *user_pwd, const BIGNUM *g, const BIGNUM *N); -int SRP_user_pwd_set1_ids(SRP_user_pwd *user_pwd, const char *id, const char *info); -int SRP_user_pwd_set0_sv(SRP_user_pwd *user_pwd, BIGNUM *s, BIGNUM *v); - DEFINE_STACK_OF(SRP_user_pwd) typedef struct SRP_VBASE_st { @@ -86,7 +75,6 @@ SRP_VBASE *SRP_VBASE_new(char *seed_key); void SRP_VBASE_free(SRP_VBASE *vb); int SRP_VBASE_init(SRP_VBASE *vb, char *verifier_file); -int SRP_VBASE_add0_user(SRP_VBASE *vb, SRP_user_pwd *user_pwd); /* This method ignores the configured seed and fails for an unknown user. */ DEPRECATEDIN_1_1_0(SRP_user_pwd *SRP_VBASE_get_by_user(SRP_VBASE *vb, char *username)) /* NOTE: unlike in SRP_VBASE_get_by_user, caller owns the returned pointer.*/ diff --git a/linux_amd64/include/openssl/srtp.h b/linux_amd64/include/openssl/srtp.h index d64606e..0b57c23 100644 --- a/linux_amd64/include/openssl/srtp.h +++ b/linux_amd64/include/openssl/srtp.h @@ -1,7 +1,7 @@ /* * Copyright 2011-2016 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html @@ -13,14 +13,8 @@ * Copyright (C) 2006, Network Resonance, Inc. Copyright (C) 2011, RTFM, Inc. */ -#ifndef OPENSSL_SRTP_H -# define OPENSSL_SRTP_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_D1_SRTP_H -# endif +#ifndef HEADER_D1_SRTP_H +# define HEADER_D1_SRTP_H # include diff --git a/linux_amd64/include/openssl/ssl.h b/linux_amd64/include/openssl/ssl.h index c1b6b8e..6724ccf 100644 --- a/linux_amd64/include/openssl/ssl.h +++ b/linux_amd64/include/openssl/ssl.h @@ -1,28 +1,22 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_SSL_H -# define OPENSSL_SSL_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_SSL_H -# endif +#ifndef HEADER_SSL_H +# define HEADER_SSL_H # include # include # include # include -# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +# if OPENSSL_API_COMPAT < 0x10100000L # include # include # include @@ -175,25 +169,17 @@ extern "C" { * The following cipher list is used by default. It also is substituted when * an application-defined cipher list string starts with 'DEFAULT'. * This applies to ciphersuites for TLSv1.2 and below. - * DEPRECATED IN 3.0.0, in favor of OSSL_default_cipher_list() - * Update both macro and function simultaneously */ -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define SSL_DEFAULT_CIPHER_LIST "ALL:!COMPLEMENTOFDEFAULT:!eNULL" -/* - * This is the default set of TLSv1.3 ciphersuites - * DEPRECATED IN 3.0.0, in favor of OSSL_default_ciphersuites() - * Update both macro and function simultaneously - */ -# if !defined(OPENSSL_NO_CHACHA) && !defined(OPENSSL_NO_POLY1305) -# define TLS_DEFAULT_CIPHERSUITES "TLS_AES_256_GCM_SHA384:" \ - "TLS_CHACHA20_POLY1305_SHA256:" \ - "TLS_AES_128_GCM_SHA256" -# else -# define TLS_DEFAULT_CIPHERSUITES "TLS_AES_256_GCM_SHA384:" \ +# define SSL_DEFAULT_CIPHER_LIST "ALL:!COMPLEMENTOFDEFAULT:!eNULL" +/* This is the default set of TLSv1.3 ciphersuites */ +# if !defined(OPENSSL_NO_CHACHA) && !defined(OPENSSL_NO_POLY1305) +# define TLS_DEFAULT_CIPHERSUITES "TLS_AES_256_GCM_SHA384:" \ + "TLS_CHACHA20_POLY1305_SHA256:" \ "TLS_AES_128_GCM_SHA256" -# endif -# endif +# else +# define TLS_DEFAULT_CIPHERSUITES "TLS_AES_256_GCM_SHA384:" \ + "TLS_AES_128_GCM_SHA256" +#endif /* * As of OpenSSL 1.0.0, ssl_create_cipher_list() in ssl/ssl_ciph.c always * starts with a reasonable order, and all we have to do for DEFAULT is @@ -307,30 +293,24 @@ typedef int (*SSL_custom_ext_parse_cb_ex)(SSL *s, unsigned int ext_type, /* Typedef for verification callback */ typedef int (*SSL_verify_cb)(int preverify_ok, X509_STORE_CTX *x509_ctx); -/* Typedef for SSL async callback */ -typedef int (*SSL_async_callback_fn)(SSL *s, void *arg); - /* - * Some values are reserved until OpenSSL 3.0.0 because they were previously + * Some values are reserved until OpenSSL 1.2.0 because they were previously * included in SSL_OP_ALL in a 1.1.x release. + * + * Reserved value (until OpenSSL 1.2.0) 0x00000001U + * Reserved value (until OpenSSL 1.2.0) 0x00000002U */ - -/* Disable Extended master secret */ -# define SSL_OP_NO_EXTENDED_MASTER_SECRET 0x00000001U - -/* Reserved value (until OpenSSL 3.0.0) 0x00000002U */ - /* Allow initial connection to servers that don't support RI */ # define SSL_OP_LEGACY_SERVER_CONNECT 0x00000004U -/* Reserved value (until OpenSSL 3.0.0) 0x00000008U */ +/* Reserved value (until OpenSSL 1.2.0) 0x00000008U */ # define SSL_OP_TLSEXT_PADDING 0x00000010U -/* Reserved value (until OpenSSL 3.0.0) 0x00000020U */ +/* Reserved value (until OpenSSL 1.2.0) 0x00000020U */ # define SSL_OP_SAFARI_ECDHE_ECDSA_BUG 0x00000040U /* - * Reserved value (until OpenSSL 3.0.0) 0x00000080U - * Reserved value (until OpenSSL 3.0.0) 0x00000100U - * Reserved value (until OpenSSL 3.0.0) 0x00000200U + * Reserved value (until OpenSSL 1.2.0) 0x00000080U + * Reserved value (until OpenSSL 1.2.0) 0x00000100U + * Reserved value (until OpenSSL 1.2.0) 0x00000200U */ /* In TLSv1.3 allow a non-(ec)dhe based kex_mode */ @@ -513,10 +493,7 @@ typedef int (*SSL_async_callback_fn)(SSL *s, void *arg); * Support Asynchronous operation */ # define SSL_MODE_ASYNC 0x00000100U -/* - * Don't use the kernel TLS data-path for sending. - */ -# define SSL_MODE_NO_KTLS_TX 0x00000200U + /* * When using DTLS/SCTP, include the terminating zero in the label * used for computing the endpoint-pair shared secret. Required for @@ -529,10 +506,6 @@ typedef int (*SSL_async_callback_fn)(SSL *s, void *arg); * - OpenSSL 1.1.1 and 1.1.1a */ # define SSL_MODE_DTLS_SCTP_LABEL_LENGTH_BUG 0x00000400U -/* - * Don't use the kernel TLS data-path for receiving. - */ -# define SSL_MODE_NO_KTLS_RX 0x00000800U /* Cert related flags */ /* @@ -598,7 +571,6 @@ typedef int (*SSL_async_callback_fn)(SSL *s, void *arg); # define SSL_CONF_TYPE_FILE 0x2 # define SSL_CONF_TYPE_DIR 0x3 # define SSL_CONF_TYPE_NONE 0x4 -# define SSL_CONF_TYPE_STORE 0x5 /* Maximum length of the application-controlled segment of a a TLSv1.3 cookie */ # define SSL_COOKIE_LENGTH 4096 @@ -637,6 +609,11 @@ unsigned long SSL_set_options(SSL *s, unsigned long op); # define SSL_get_secure_renegotiation_support(ssl) \ SSL_ctrl((ssl), SSL_CTRL_GET_RI_SUPPORT, 0, NULL) +# ifndef OPENSSL_NO_HEARTBEATS +# define SSL_heartbeat(ssl) \ + SSL_ctrl((ssl),SSL_CTRL_DTLS_EXT_SEND_HEARTBEAT,0,NULL) +# endif + # define SSL_CTX_set_cert_flags(ctx,op) \ SSL_CTX_ctrl((ctx),SSL_CTRL_CERT_FLAGS,(op),NULL) # define SSL_set_cert_flags(s,op) \ @@ -1125,7 +1102,7 @@ size_t SSL_get_peer_finished(const SSL *s, void *buf, size_t count); # define SSL_VERIFY_CLIENT_ONCE 0x04 # define SSL_VERIFY_POST_HANDSHAKE 0x08 -# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +# if OPENSSL_API_COMPAT < 0x10100000L # define OpenSSL_add_ssl_algorithms() SSL_library_init() # define SSLeay_add_ssl_algorithms() SSL_library_init() # endif @@ -1269,9 +1246,7 @@ DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION) # define SSL_CTRL_SET_TLSEXT_STATUS_REQ_IDS 69 # define SSL_CTRL_GET_TLSEXT_STATUS_REQ_OCSP_RESP 70 # define SSL_CTRL_SET_TLSEXT_STATUS_REQ_OCSP_RESP 71 -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB 72 -# endif +# define SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB 72 # define SSL_CTRL_SET_TLS_EXT_SRP_USERNAME_CB 75 # define SSL_CTRL_SET_SRP_VERIFY_PARAM_CB 76 # define SSL_CTRL_SET_SRP_GIVE_CLIENT_PWD_CB 77 @@ -1279,6 +1254,11 @@ DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION) # define SSL_CTRL_SET_TLS_EXT_SRP_USERNAME 79 # define SSL_CTRL_SET_TLS_EXT_SRP_STRENGTH 80 # define SSL_CTRL_SET_TLS_EXT_SRP_PASSWORD 81 +# ifndef OPENSSL_NO_HEARTBEATS +# define SSL_CTRL_DTLS_EXT_SEND_HEARTBEAT 85 +# define SSL_CTRL_GET_DTLS_EXT_HEARTBEAT_PENDING 86 +# define SSL_CTRL_SET_DTLS_EXT_HEARTBEAT_NO_REQUESTS 87 +# endif # define DTLS_CTRL_GET_TIMEOUT 73 # define DTLS_CTRL_HANDLE_TIMEOUT 74 # define SSL_CTRL_GET_RI_SUPPORT 76 @@ -1325,7 +1305,6 @@ DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION) # define SSL_CTRL_GET_MAX_PROTO_VERSION 131 # define SSL_CTRL_GET_SIGNATURE_NID 132 # define SSL_CTRL_GET_TMP_KEY 133 -# define SSL_CTRL_GET_NEGOTIATED_GROUP 134 # define SSL_CERT_SET_FIRST 1 # define SSL_CERT_SET_NEXT 2 # define SSL_CERT_SET_SERVER 3 @@ -1341,18 +1320,16 @@ DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION) SSL_ctrl((ssl),SSL_CTRL_GET_TOTAL_RENEGOTIATIONS,0,NULL) # define SSL_CTX_set_tmp_dh(ctx,dh) \ SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TMP_DH,0,(char *)(dh)) +# define SSL_CTX_set_tmp_ecdh(ctx,ecdh) \ + SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TMP_ECDH,0,(char *)(ecdh)) # define SSL_CTX_set_dh_auto(ctx, onoff) \ SSL_CTX_ctrl(ctx,SSL_CTRL_SET_DH_AUTO,onoff,NULL) # define SSL_set_dh_auto(s, onoff) \ SSL_ctrl(s,SSL_CTRL_SET_DH_AUTO,onoff,NULL) # define SSL_set_tmp_dh(ssl,dh) \ SSL_ctrl(ssl,SSL_CTRL_SET_TMP_DH,0,(char *)(dh)) -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define SSL_CTX_set_tmp_ecdh(ctx,ecdh) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TMP_ECDH,0,(char *)(ecdh)) -# define SSL_set_tmp_ecdh(ssl,ecdh) \ +# define SSL_set_tmp_ecdh(ssl,ecdh) \ SSL_ctrl(ssl,SSL_CTRL_SET_TMP_ECDH,0,(char *)(ecdh)) -# endif # define SSL_CTX_add_extra_chain_cert(ctx,x509) \ SSL_CTX_ctrl(ctx,SSL_CTRL_EXTRA_CHAIN_CERT,0,(char *)(x509)) # define SSL_CTX_get_extra_chain_certs(ctx,px509) \ @@ -1425,8 +1402,6 @@ DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION) SSL_ctrl(s,SSL_CTRL_SET_GROUPS_LIST,0,(char *)(str)) # define SSL_get_shared_group(s, n) \ SSL_ctrl(s,SSL_CTRL_GET_SHARED_GROUP,n,NULL) -# define SSL_get_negotiated_group(s) \ - SSL_ctrl(s,SSL_CTRL_GET_NEGOTIATED_GROUP,0,NULL) # define SSL_CTX_set1_sigalgs(ctx, slist, slistlen) \ SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SIGALGS,slistlen,(int *)(slist)) # define SSL_CTX_set1_sigalgs_list(ctx, s) \ @@ -1502,7 +1477,7 @@ DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION) # define SSL_get_shared_curve SSL_get_shared_group -# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +# if OPENSSL_API_COMPAT < 0x10100000L /* Provide some compatibility macros for removed functionality. */ # define SSL_CTX_need_tmp_RSA(ctx) 0 # define SSL_CTX_set_tmp_rsa(ctx,rsa) 1 @@ -1526,8 +1501,6 @@ void BIO_ssl_shutdown(BIO *ssl_bio); __owur int SSL_CTX_set_cipher_list(SSL_CTX *, const char *str); __owur SSL_CTX *SSL_CTX_new(const SSL_METHOD *meth); -__owur SSL_CTX *SSL_CTX_new_with_libctx(OPENSSL_CTX *libctx, const char *propq, - const SSL_METHOD *meth); int SSL_CTX_up_ref(SSL_CTX *ctx); void SSL_CTX_free(SSL_CTX *); __owur long SSL_CTX_set_timeout(SSL_CTX *ctx, long t); @@ -1631,10 +1604,8 @@ __owur int SSL_add_file_cert_subjects_to_stack(STACK_OF(X509_NAME) *stackCAs, const char *file); int SSL_add_dir_cert_subjects_to_stack(STACK_OF(X509_NAME) *stackCAs, const char *dir); -int SSL_add_store_cert_subjects_to_stack(STACK_OF(X509_NAME) *stackCAs, - const char *uri); -# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +# if OPENSSL_API_COMPAT < 0x10100000L # define SSL_load_error_strings() \ OPENSSL_init_ssl(OPENSSL_INIT_LOAD_SSL_STRINGS \ | OPENSSL_INIT_LOAD_CRYPTO_STRINGS, NULL) @@ -1678,7 +1649,7 @@ __owur int SSL_SESSION_set1_id(SSL_SESSION *s, const unsigned char *sid, __owur int SSL_SESSION_is_resumable(const SSL_SESSION *s); __owur SSL_SESSION *SSL_SESSION_new(void); -__owur SSL_SESSION *SSL_SESSION_dup(const SSL_SESSION *src); +__owur SSL_SESSION *SSL_SESSION_dup(SSL_SESSION *src); const unsigned char *SSL_SESSION_get_id(const SSL_SESSION *s, unsigned int *len); const unsigned char *SSL_SESSION_get0_id_context(const SSL_SESSION *s, @@ -1691,7 +1662,7 @@ int SSL_SESSION_print(BIO *fp, const SSL_SESSION *ses); int SSL_SESSION_print_keylog(BIO *bp, const SSL_SESSION *x); int SSL_SESSION_up_ref(SSL_SESSION *ses); void SSL_SESSION_free(SSL_SESSION *ses); -__owur int i2d_SSL_SESSION(const SSL_SESSION *in, unsigned char **pp); +__owur int i2d_SSL_SESSION(SSL_SESSION *in, unsigned char **pp); __owur int SSL_set_session(SSL *to, SSL_SESSION *session); int SSL_CTX_add_session(SSL_CTX *ctx, SSL_SESSION *session); int SSL_CTX_remove_session(SSL_CTX *ctx, SSL_SESSION *session); @@ -1703,7 +1674,7 @@ __owur int SSL_has_matching_session_id(const SSL *s, SSL_SESSION *d2i_SSL_SESSION(SSL_SESSION **a, const unsigned char **pp, long length); -# ifdef OPENSSL_X509_H +# ifdef HEADER_X509_H __owur X509 *SSL_get_peer_certificate(const SSL *s); # endif @@ -1851,12 +1822,6 @@ __owur int SSL_get_all_async_fds(SSL *s, OSSL_ASYNC_FD *fds, size_t *numfds); __owur int SSL_get_changed_async_fds(SSL *s, OSSL_ASYNC_FD *addfd, size_t *numaddfds, OSSL_ASYNC_FD *delfd, size_t *numdelfds); -__owur int SSL_CTX_set_async_callback(SSL_CTX *ctx, SSL_async_callback_fn callback); -__owur int SSL_CTX_set_async_callback_arg(SSL_CTX *ctx, void *arg); -__owur int SSL_set_async_callback(SSL *s, SSL_async_callback_fn callback); -__owur int SSL_set_async_callback_arg(SSL *s, void *arg); -__owur int SSL_get_async_status(SSL *s, int *status); - # endif __owur int SSL_accept(SSL *ssl); __owur int SSL_stateless(SSL *s); @@ -1872,8 +1837,6 @@ __owur int SSL_read_early_data(SSL *s, void *buf, size_t num, size_t *readbytes); __owur int SSL_peek(SSL *ssl, void *buf, int num); __owur int SSL_peek_ex(SSL *ssl, void *buf, size_t num, size_t *readbytes); -__owur ossl_ssize_t SSL_sendfile(SSL *s, int fd, off_t offset, size_t size, - int flags); __owur int SSL_write(SSL *ssl, const void *buf, int num); __owur int SSL_write_ex(SSL *s, const void *buf, size_t num, size_t *written); __owur int SSL_write_early_data(SSL *s, const void *buf, size_t num, @@ -1991,7 +1954,7 @@ void SSL_set_accept_state(SSL *s); __owur long SSL_get_default_timeout(const SSL *s); -# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +# if OPENSSL_API_COMPAT < 0x10100000L # define SSL_library_init() OPENSSL_init_ssl(0, NULL) # endif @@ -2020,13 +1983,8 @@ __owur int SSL_client_version(const SSL *s); __owur int SSL_CTX_set_default_verify_paths(SSL_CTX *ctx); __owur int SSL_CTX_set_default_verify_dir(SSL_CTX *ctx); __owur int SSL_CTX_set_default_verify_file(SSL_CTX *ctx); -__owur int SSL_CTX_set_default_verify_store(SSL_CTX *ctx); -__owur int SSL_CTX_load_verify_file(SSL_CTX *ctx, const char *CAfile); -__owur int SSL_CTX_load_verify_dir(SSL_CTX *ctx, const char *CApath); -__owur int SSL_CTX_load_verify_store(SSL_CTX *ctx, const char *CAstore); -DEPRECATEDIN_3_0(__owur int SSL_CTX_load_verify_locations(SSL_CTX *ctx, - const char *CAfile, - const char *CApath)) +__owur int SSL_CTX_load_verify_locations(SSL_CTX *ctx, const char *CAfile, + const char *CApath); # define SSL_get0_session SSL_get_session/* just peek at pointer */ __owur SSL_SESSION *SSL_get_session(const SSL *ssl); __owur SSL_SESSION *SSL_get1_session(SSL *ssl); /* obtain a reference count */ @@ -2125,7 +2083,7 @@ __owur int SSL_COMP_get_id(const SSL_COMP *comp); STACK_OF(SSL_COMP) *SSL_COMP_get_compression_methods(void); __owur STACK_OF(SSL_COMP) *SSL_COMP_set0_compression_methods(STACK_OF(SSL_COMP) *meths); -# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +# if OPENSSL_API_COMPAT < 0x10100000L # define SSL_COMP_free_compression_methods() while(0) continue # endif __owur int SSL_COMP_add_compression_method(int id, COMP_METHOD *cm); @@ -2177,7 +2135,7 @@ size_t SSL_get_num_tickets(const SSL *s); int SSL_CTX_set_num_tickets(SSL_CTX *ctx, size_t num_tickets); size_t SSL_CTX_get_num_tickets(const SSL_CTX *ctx); -# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +# if OPENSSL_API_COMPAT < 0x10100000L # define SSL_cache_hit(s) SSL_session_reused(s) # endif @@ -2459,6 +2417,8 @@ int SSL_CTX_set_session_ticket_cb(SSL_CTX *ctx, int SSL_SESSION_set1_ticket_appdata(SSL_SESSION *ss, const void *data, size_t len); int SSL_SESSION_get0_ticket_appdata(SSL_SESSION *ss, void **data, size_t *len); +extern const char SSL_version_str[]; + typedef unsigned int (*DTLS_timer_cb)(SSL *s, unsigned int timer_us); void DTLS_set_timer_cb(SSL *s, DTLS_timer_cb cb); @@ -2472,10 +2432,6 @@ void SSL_set_allow_early_data_cb(SSL *s, SSL_allow_early_data_cb_fn cb, void *arg); -/* store the default cipher strings inside the library */ -const char *OSSL_default_cipher_list(void); -const char *OSSL_default_ciphersuites(void); - # ifdef __cplusplus } # endif diff --git a/linux_amd64/include/openssl/ssl2.h b/linux_amd64/include/openssl/ssl2.h index 428ead0..5321bd2 100644 --- a/linux_amd64/include/openssl/ssl2.h +++ b/linux_amd64/include/openssl/ssl2.h @@ -1,20 +1,14 @@ /* * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_SSL2_H -# define OPENSSL_SSL2_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_SSL2_H -# endif +#ifndef HEADER_SSL2_H +# define HEADER_SSL2_H #ifdef __cplusplus extern "C" { diff --git a/linux_amd64/include/openssl/ssl3.h b/linux_amd64/include/openssl/ssl3.h index efef3cc..8d01fcc 100644 --- a/linux_amd64/include/openssl/ssl3.h +++ b/linux_amd64/include/openssl/ssl3.h @@ -2,20 +2,14 @@ * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_SSL3_H -# define OPENSSL_SSL3_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_SSL3_H -# endif +#ifndef HEADER_SSL3_H +# define HEADER_SSL3_H # include # include @@ -220,6 +214,7 @@ extern "C" { # define SSL3_RT_ALERT 21 # define SSL3_RT_HANDSHAKE 22 # define SSL3_RT_APPLICATION_DATA 23 +# define DTLS1_RT_HEARTBEAT 24 /* Pseudo content types to indicate additional parameters */ # define TLS1_RT_CRYPTO 0x1000 diff --git a/linux_amd64/include/openssl/sslerr.h b/linux_amd64/include/openssl/sslerr.h index 25e304e..b6cac4f 100644 --- a/linux_amd64/include/openssl/sslerr.h +++ b/linux_amd64/include/openssl/sslerr.h @@ -2,25 +2,19 @@ * Generated by util/mkerr.pl DO NOT EDIT * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_SSLERR_H -# define OPENSSL_SSLERR_H -# pragma once +#ifndef HEADER_SSLERR_H +# define HEADER_SSLERR_H -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_SSLERR_H +# ifndef HEADER_SYMHACKS_H +# include # endif -# include -# include - - # ifdef __cplusplus extern "C" # endif @@ -29,434 +23,432 @@ int ERR_load_SSL_strings(void); /* * SSL function codes. */ -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define SSL_F_ADD_CLIENT_KEY_SHARE_EXT 0 -# define SSL_F_ADD_KEY_SHARE 0 -# define SSL_F_BYTES_TO_CIPHER_LIST 0 -# define SSL_F_CHECK_SUITEB_CIPHER_LIST 0 -# define SSL_F_CIPHERSUITE_CB 0 -# define SSL_F_CONSTRUCT_CA_NAMES 0 -# define SSL_F_CONSTRUCT_KEY_EXCHANGE_TBS 0 -# define SSL_F_CONSTRUCT_STATEFUL_TICKET 0 -# define SSL_F_CONSTRUCT_STATELESS_TICKET 0 -# define SSL_F_CREATE_SYNTHETIC_MESSAGE_HASH 0 -# define SSL_F_CREATE_TICKET_PREQUEL 0 -# define SSL_F_CT_MOVE_SCTS 0 -# define SSL_F_CT_STRICT 0 -# define SSL_F_CUSTOM_EXT_ADD 0 -# define SSL_F_CUSTOM_EXT_PARSE 0 -# define SSL_F_D2I_SSL_SESSION 0 -# define SSL_F_DANE_CTX_ENABLE 0 -# define SSL_F_DANE_MTYPE_SET 0 -# define SSL_F_DANE_TLSA_ADD 0 -# define SSL_F_DERIVE_SECRET_KEY_AND_IV 0 -# define SSL_F_DO_DTLS1_WRITE 0 -# define SSL_F_DO_SSL3_WRITE 0 -# define SSL_F_DTLS1_BUFFER_RECORD 0 -# define SSL_F_DTLS1_CHECK_TIMEOUT_NUM 0 -# define SSL_F_DTLS1_HM_FRAGMENT_NEW 0 -# define SSL_F_DTLS1_PREPROCESS_FRAGMENT 0 -# define SSL_F_DTLS1_PROCESS_BUFFERED_RECORDS 0 -# define SSL_F_DTLS1_PROCESS_RECORD 0 -# define SSL_F_DTLS1_READ_BYTES 0 -# define SSL_F_DTLS1_READ_FAILED 0 -# define SSL_F_DTLS1_RETRANSMIT_MESSAGE 0 -# define SSL_F_DTLS1_WRITE_APP_DATA_BYTES 0 -# define SSL_F_DTLS1_WRITE_BYTES 0 -# define SSL_F_DTLSV1_LISTEN 0 -# define SSL_F_DTLS_CONSTRUCT_CHANGE_CIPHER_SPEC 0 -# define SSL_F_DTLS_CONSTRUCT_HELLO_VERIFY_REQUEST 0 -# define SSL_F_DTLS_GET_REASSEMBLED_MESSAGE 0 -# define SSL_F_DTLS_PROCESS_HELLO_VERIFY 0 -# define SSL_F_DTLS_RECORD_LAYER_NEW 0 -# define SSL_F_DTLS_WAIT_FOR_DRY 0 -# define SSL_F_EARLY_DATA_COUNT_OK 0 -# define SSL_F_FINAL_EARLY_DATA 0 -# define SSL_F_FINAL_EC_PT_FORMATS 0 -# define SSL_F_FINAL_EMS 0 -# define SSL_F_FINAL_KEY_SHARE 0 -# define SSL_F_FINAL_MAXFRAGMENTLEN 0 -# define SSL_F_FINAL_RENEGOTIATE 0 -# define SSL_F_FINAL_SERVER_NAME 0 -# define SSL_F_FINAL_SIG_ALGS 0 -# define SSL_F_GET_CERT_VERIFY_TBS_DATA 0 -# define SSL_F_NSS_KEYLOG_INT 0 -# define SSL_F_OPENSSL_INIT_SSL 0 -# define SSL_F_OSSL_STATEM_CLIENT13_READ_TRANSITION 0 -# define SSL_F_OSSL_STATEM_CLIENT13_WRITE_TRANSITION 0 -# define SSL_F_OSSL_STATEM_CLIENT_CONSTRUCT_MESSAGE 0 -# define SSL_F_OSSL_STATEM_CLIENT_POST_PROCESS_MESSAGE 0 -# define SSL_F_OSSL_STATEM_CLIENT_PROCESS_MESSAGE 0 -# define SSL_F_OSSL_STATEM_CLIENT_READ_TRANSITION 0 -# define SSL_F_OSSL_STATEM_CLIENT_WRITE_TRANSITION 0 -# define SSL_F_OSSL_STATEM_SERVER13_READ_TRANSITION 0 -# define SSL_F_OSSL_STATEM_SERVER13_WRITE_TRANSITION 0 -# define SSL_F_OSSL_STATEM_SERVER_CONSTRUCT_MESSAGE 0 -# define SSL_F_OSSL_STATEM_SERVER_POST_PROCESS_MESSAGE 0 -# define SSL_F_OSSL_STATEM_SERVER_POST_WORK 0 -# define SSL_F_OSSL_STATEM_SERVER_PROCESS_MESSAGE 0 -# define SSL_F_OSSL_STATEM_SERVER_READ_TRANSITION 0 -# define SSL_F_OSSL_STATEM_SERVER_WRITE_TRANSITION 0 -# define SSL_F_PARSE_CA_NAMES 0 -# define SSL_F_PITEM_NEW 0 -# define SSL_F_PQUEUE_NEW 0 -# define SSL_F_PROCESS_KEY_SHARE_EXT 0 -# define SSL_F_READ_STATE_MACHINE 0 -# define SSL_F_SET_CLIENT_CIPHERSUITE 0 -# define SSL_F_SRP_GENERATE_CLIENT_MASTER_SECRET 0 -# define SSL_F_SRP_GENERATE_SERVER_MASTER_SECRET 0 -# define SSL_F_SRP_VERIFY_SERVER_PARAM 0 -# define SSL_F_SSL3_CHANGE_CIPHER_STATE 0 -# define SSL_F_SSL3_CHECK_CERT_AND_ALGORITHM 0 -# define SSL_F_SSL3_CTRL 0 -# define SSL_F_SSL3_CTX_CTRL 0 -# define SSL_F_SSL3_DIGEST_CACHED_RECORDS 0 -# define SSL_F_SSL3_DO_CHANGE_CIPHER_SPEC 0 -# define SSL_F_SSL3_ENC 0 -# define SSL_F_SSL3_FINAL_FINISH_MAC 0 -# define SSL_F_SSL3_FINISH_MAC 0 -# define SSL_F_SSL3_GENERATE_KEY_BLOCK 0 -# define SSL_F_SSL3_GENERATE_MASTER_SECRET 0 -# define SSL_F_SSL3_GET_RECORD 0 -# define SSL_F_SSL3_INIT_FINISHED_MAC 0 -# define SSL_F_SSL3_OUTPUT_CERT_CHAIN 0 -# define SSL_F_SSL3_READ_BYTES 0 -# define SSL_F_SSL3_READ_N 0 -# define SSL_F_SSL3_SETUP_KEY_BLOCK 0 -# define SSL_F_SSL3_SETUP_READ_BUFFER 0 -# define SSL_F_SSL3_SETUP_WRITE_BUFFER 0 -# define SSL_F_SSL3_WRITE_BYTES 0 -# define SSL_F_SSL3_WRITE_PENDING 0 -# define SSL_F_SSL_ADD_CERT_CHAIN 0 -# define SSL_F_SSL_ADD_CERT_TO_BUF 0 -# define SSL_F_SSL_ADD_CERT_TO_WPACKET 0 -# define SSL_F_SSL_ADD_CLIENTHELLO_RENEGOTIATE_EXT 0 -# define SSL_F_SSL_ADD_CLIENTHELLO_TLSEXT 0 -# define SSL_F_SSL_ADD_CLIENTHELLO_USE_SRTP_EXT 0 -# define SSL_F_SSL_ADD_DIR_CERT_SUBJECTS_TO_STACK 0 -# define SSL_F_SSL_ADD_FILE_CERT_SUBJECTS_TO_STACK 0 -# define SSL_F_SSL_ADD_SERVERHELLO_RENEGOTIATE_EXT 0 -# define SSL_F_SSL_ADD_SERVERHELLO_TLSEXT 0 -# define SSL_F_SSL_ADD_SERVERHELLO_USE_SRTP_EXT 0 -# define SSL_F_SSL_BAD_METHOD 0 -# define SSL_F_SSL_BUILD_CERT_CHAIN 0 -# define SSL_F_SSL_BYTES_TO_CIPHER_LIST 0 -# define SSL_F_SSL_CACHE_CIPHERLIST 0 -# define SSL_F_SSL_CERT_ADD0_CHAIN_CERT 0 -# define SSL_F_SSL_CERT_DUP 0 -# define SSL_F_SSL_CERT_NEW 0 -# define SSL_F_SSL_CERT_SET0_CHAIN 0 -# define SSL_F_SSL_CHECK_PRIVATE_KEY 0 -# define SSL_F_SSL_CHECK_SERVERHELLO_TLSEXT 0 -# define SSL_F_SSL_CHECK_SRP_EXT_CLIENTHELLO 0 -# define SSL_F_SSL_CHECK_SRVR_ECC_CERT_AND_ALG 0 -# define SSL_F_SSL_CHOOSE_CLIENT_VERSION 0 -# define SSL_F_SSL_CIPHER_DESCRIPTION 0 -# define SSL_F_SSL_CIPHER_LIST_TO_BYTES 0 -# define SSL_F_SSL_CIPHER_PROCESS_RULESTR 0 -# define SSL_F_SSL_CIPHER_STRENGTH_SORT 0 -# define SSL_F_SSL_CLEAR 0 -# define SSL_F_SSL_CLIENT_HELLO_GET1_EXTENSIONS_PRESENT 0 -# define SSL_F_SSL_COMP_ADD_COMPRESSION_METHOD 0 -# define SSL_F_SSL_CONF_CMD 0 -# define SSL_F_SSL_CREATE_CIPHER_LIST 0 -# define SSL_F_SSL_CTRL 0 -# define SSL_F_SSL_CTX_CHECK_PRIVATE_KEY 0 -# define SSL_F_SSL_CTX_ENABLE_CT 0 -# define SSL_F_SSL_CTX_MAKE_PROFILES 0 -# define SSL_F_SSL_CTX_NEW 0 -# define SSL_F_SSL_CTX_SET_ALPN_PROTOS 0 -# define SSL_F_SSL_CTX_SET_CIPHER_LIST 0 -# define SSL_F_SSL_CTX_SET_CLIENT_CERT_ENGINE 0 -# define SSL_F_SSL_CTX_SET_CT_VALIDATION_CALLBACK 0 -# define SSL_F_SSL_CTX_SET_SESSION_ID_CONTEXT 0 -# define SSL_F_SSL_CTX_SET_SSL_VERSION 0 -# define SSL_F_SSL_CTX_SET_TLSEXT_MAX_FRAGMENT_LENGTH 0 -# define SSL_F_SSL_CTX_USE_CERTIFICATE 0 -# define SSL_F_SSL_CTX_USE_CERTIFICATE_ASN1 0 -# define SSL_F_SSL_CTX_USE_CERTIFICATE_FILE 0 -# define SSL_F_SSL_CTX_USE_PRIVATEKEY 0 -# define SSL_F_SSL_CTX_USE_PRIVATEKEY_ASN1 0 -# define SSL_F_SSL_CTX_USE_PRIVATEKEY_FILE 0 -# define SSL_F_SSL_CTX_USE_PSK_IDENTITY_HINT 0 -# define SSL_F_SSL_CTX_USE_RSAPRIVATEKEY 0 -# define SSL_F_SSL_CTX_USE_RSAPRIVATEKEY_ASN1 0 -# define SSL_F_SSL_CTX_USE_RSAPRIVATEKEY_FILE 0 -# define SSL_F_SSL_CTX_USE_SERVERINFO 0 -# define SSL_F_SSL_CTX_USE_SERVERINFO_EX 0 -# define SSL_F_SSL_CTX_USE_SERVERINFO_FILE 0 -# define SSL_F_SSL_DANE_DUP 0 -# define SSL_F_SSL_DANE_ENABLE 0 -# define SSL_F_SSL_DERIVE 0 -# define SSL_F_SSL_DO_CONFIG 0 -# define SSL_F_SSL_DO_HANDSHAKE 0 -# define SSL_F_SSL_DUP_CA_LIST 0 -# define SSL_F_SSL_ENABLE_CT 0 -# define SSL_F_SSL_GENERATE_PKEY_GROUP 0 -# define SSL_F_SSL_GENERATE_SESSION_ID 0 -# define SSL_F_SSL_GET_NEW_SESSION 0 -# define SSL_F_SSL_GET_PREV_SESSION 0 -# define SSL_F_SSL_GET_SERVER_CERT_INDEX 0 -# define SSL_F_SSL_GET_SIGN_PKEY 0 -# define SSL_F_SSL_HANDSHAKE_HASH 0 -# define SSL_F_SSL_INIT_WBIO_BUFFER 0 -# define SSL_F_SSL_KEY_UPDATE 0 -# define SSL_F_SSL_LOAD_CLIENT_CA_FILE 0 -# define SSL_F_SSL_LOG_MASTER_SECRET 0 -# define SSL_F_SSL_LOG_RSA_CLIENT_KEY_EXCHANGE 0 -# define SSL_F_SSL_MODULE_INIT 0 -# define SSL_F_SSL_NEW 0 -# define SSL_F_SSL_NEXT_PROTO_VALIDATE 0 -# define SSL_F_SSL_PARSE_CLIENTHELLO_RENEGOTIATE_EXT 0 -# define SSL_F_SSL_PARSE_CLIENTHELLO_TLSEXT 0 -# define SSL_F_SSL_PARSE_CLIENTHELLO_USE_SRTP_EXT 0 -# define SSL_F_SSL_PARSE_SERVERHELLO_RENEGOTIATE_EXT 0 -# define SSL_F_SSL_PARSE_SERVERHELLO_TLSEXT 0 -# define SSL_F_SSL_PARSE_SERVERHELLO_USE_SRTP_EXT 0 -# define SSL_F_SSL_PEEK 0 -# define SSL_F_SSL_PEEK_EX 0 -# define SSL_F_SSL_PEEK_INTERNAL 0 -# define SSL_F_SSL_READ 0 -# define SSL_F_SSL_READ_EARLY_DATA 0 -# define SSL_F_SSL_READ_EX 0 -# define SSL_F_SSL_READ_INTERNAL 0 -# define SSL_F_SSL_RENEGOTIATE 0 -# define SSL_F_SSL_RENEGOTIATE_ABBREVIATED 0 -# define SSL_F_SSL_SCAN_CLIENTHELLO_TLSEXT 0 -# define SSL_F_SSL_SCAN_SERVERHELLO_TLSEXT 0 -# define SSL_F_SSL_SENDFILE 0 -# define SSL_F_SSL_SESSION_DUP 0 -# define SSL_F_SSL_SESSION_NEW 0 -# define SSL_F_SSL_SESSION_PRINT_FP 0 -# define SSL_F_SSL_SESSION_SET1_ID 0 -# define SSL_F_SSL_SESSION_SET1_ID_CONTEXT 0 -# define SSL_F_SSL_SET_ALPN_PROTOS 0 -# define SSL_F_SSL_SET_CERT 0 -# define SSL_F_SSL_SET_CERT_AND_KEY 0 -# define SSL_F_SSL_SET_CIPHER_LIST 0 -# define SSL_F_SSL_SET_CT_VALIDATION_CALLBACK 0 -# define SSL_F_SSL_SET_FD 0 -# define SSL_F_SSL_SET_PKEY 0 -# define SSL_F_SSL_SET_RFD 0 -# define SSL_F_SSL_SET_SESSION 0 -# define SSL_F_SSL_SET_SESSION_ID_CONTEXT 0 -# define SSL_F_SSL_SET_SESSION_TICKET_EXT 0 -# define SSL_F_SSL_SET_TLSEXT_MAX_FRAGMENT_LENGTH 0 -# define SSL_F_SSL_SET_WFD 0 -# define SSL_F_SSL_SHUTDOWN 0 -# define SSL_F_SSL_SRP_CTX_INIT 0 -# define SSL_F_SSL_START_ASYNC_JOB 0 -# define SSL_F_SSL_UNDEFINED_FUNCTION 0 -# define SSL_F_SSL_UNDEFINED_VOID_FUNCTION 0 -# define SSL_F_SSL_USE_CERTIFICATE 0 -# define SSL_F_SSL_USE_CERTIFICATE_ASN1 0 -# define SSL_F_SSL_USE_CERTIFICATE_FILE 0 -# define SSL_F_SSL_USE_PRIVATEKEY 0 -# define SSL_F_SSL_USE_PRIVATEKEY_ASN1 0 -# define SSL_F_SSL_USE_PRIVATEKEY_FILE 0 -# define SSL_F_SSL_USE_PSK_IDENTITY_HINT 0 -# define SSL_F_SSL_USE_RSAPRIVATEKEY 0 -# define SSL_F_SSL_USE_RSAPRIVATEKEY_ASN1 0 -# define SSL_F_SSL_USE_RSAPRIVATEKEY_FILE 0 -# define SSL_F_SSL_VALIDATE_CT 0 -# define SSL_F_SSL_VERIFY_CERT_CHAIN 0 -# define SSL_F_SSL_VERIFY_CLIENT_POST_HANDSHAKE 0 -# define SSL_F_SSL_WRITE 0 -# define SSL_F_SSL_WRITE_EARLY_DATA 0 -# define SSL_F_SSL_WRITE_EARLY_FINISH 0 -# define SSL_F_SSL_WRITE_EX 0 -# define SSL_F_SSL_WRITE_INTERNAL 0 -# define SSL_F_STATE_MACHINE 0 -# define SSL_F_TLS12_CHECK_PEER_SIGALG 0 -# define SSL_F_TLS12_COPY_SIGALGS 0 -# define SSL_F_TLS13_CHANGE_CIPHER_STATE 0 -# define SSL_F_TLS13_ENC 0 -# define SSL_F_TLS13_FINAL_FINISH_MAC 0 -# define SSL_F_TLS13_GENERATE_SECRET 0 -# define SSL_F_TLS13_HKDF_EXPAND 0 -# define SSL_F_TLS13_RESTORE_HANDSHAKE_DIGEST_FOR_PHA 0 -# define SSL_F_TLS13_SAVE_HANDSHAKE_DIGEST_FOR_PHA 0 -# define SSL_F_TLS13_SETUP_KEY_BLOCK 0 -# define SSL_F_TLS1_CHANGE_CIPHER_STATE 0 -# define SSL_F_TLS1_CHECK_DUPLICATE_EXTENSIONS 0 -# define SSL_F_TLS1_ENC 0 -# define SSL_F_TLS1_EXPORT_KEYING_MATERIAL 0 -# define SSL_F_TLS1_GET_CURVELIST 0 -# define SSL_F_TLS1_PRF 0 -# define SSL_F_TLS1_SAVE_U16 0 -# define SSL_F_TLS1_SETUP_KEY_BLOCK 0 -# define SSL_F_TLS1_SET_GROUPS 0 -# define SSL_F_TLS1_SET_RAW_SIGALGS 0 -# define SSL_F_TLS1_SET_SERVER_SIGALGS 0 -# define SSL_F_TLS1_SET_SHARED_SIGALGS 0 -# define SSL_F_TLS1_SET_SIGALGS 0 -# define SSL_F_TLS_CHOOSE_SIGALG 0 -# define SSL_F_TLS_CLIENT_KEY_EXCHANGE_POST_WORK 0 -# define SSL_F_TLS_COLLECT_EXTENSIONS 0 -# define SSL_F_TLS_CONSTRUCT_CERTIFICATE_AUTHORITIES 0 -# define SSL_F_TLS_CONSTRUCT_CERTIFICATE_REQUEST 0 -# define SSL_F_TLS_CONSTRUCT_CERT_STATUS 0 -# define SSL_F_TLS_CONSTRUCT_CERT_STATUS_BODY 0 -# define SSL_F_TLS_CONSTRUCT_CERT_VERIFY 0 -# define SSL_F_TLS_CONSTRUCT_CHANGE_CIPHER_SPEC 0 -# define SSL_F_TLS_CONSTRUCT_CKE_DHE 0 -# define SSL_F_TLS_CONSTRUCT_CKE_ECDHE 0 -# define SSL_F_TLS_CONSTRUCT_CKE_GOST 0 -# define SSL_F_TLS_CONSTRUCT_CKE_PSK_PREAMBLE 0 -# define SSL_F_TLS_CONSTRUCT_CKE_RSA 0 -# define SSL_F_TLS_CONSTRUCT_CKE_SRP 0 -# define SSL_F_TLS_CONSTRUCT_CLIENT_CERTIFICATE 0 -# define SSL_F_TLS_CONSTRUCT_CLIENT_HELLO 0 -# define SSL_F_TLS_CONSTRUCT_CLIENT_KEY_EXCHANGE 0 -# define SSL_F_TLS_CONSTRUCT_CLIENT_VERIFY 0 -# define SSL_F_TLS_CONSTRUCT_CTOS_ALPN 0 -# define SSL_F_TLS_CONSTRUCT_CTOS_CERTIFICATE 0 -# define SSL_F_TLS_CONSTRUCT_CTOS_COOKIE 0 -# define SSL_F_TLS_CONSTRUCT_CTOS_EARLY_DATA 0 -# define SSL_F_TLS_CONSTRUCT_CTOS_EC_PT_FORMATS 0 -# define SSL_F_TLS_CONSTRUCT_CTOS_EMS 0 -# define SSL_F_TLS_CONSTRUCT_CTOS_ETM 0 -# define SSL_F_TLS_CONSTRUCT_CTOS_HELLO 0 -# define SSL_F_TLS_CONSTRUCT_CTOS_KEY_EXCHANGE 0 -# define SSL_F_TLS_CONSTRUCT_CTOS_KEY_SHARE 0 -# define SSL_F_TLS_CONSTRUCT_CTOS_MAXFRAGMENTLEN 0 -# define SSL_F_TLS_CONSTRUCT_CTOS_NPN 0 -# define SSL_F_TLS_CONSTRUCT_CTOS_PADDING 0 -# define SSL_F_TLS_CONSTRUCT_CTOS_POST_HANDSHAKE_AUTH 0 -# define SSL_F_TLS_CONSTRUCT_CTOS_PSK 0 -# define SSL_F_TLS_CONSTRUCT_CTOS_PSK_KEX_MODES 0 -# define SSL_F_TLS_CONSTRUCT_CTOS_RENEGOTIATE 0 -# define SSL_F_TLS_CONSTRUCT_CTOS_SCT 0 -# define SSL_F_TLS_CONSTRUCT_CTOS_SERVER_NAME 0 -# define SSL_F_TLS_CONSTRUCT_CTOS_SESSION_TICKET 0 -# define SSL_F_TLS_CONSTRUCT_CTOS_SIG_ALGS 0 -# define SSL_F_TLS_CONSTRUCT_CTOS_SRP 0 -# define SSL_F_TLS_CONSTRUCT_CTOS_STATUS_REQUEST 0 -# define SSL_F_TLS_CONSTRUCT_CTOS_SUPPORTED_GROUPS 0 -# define SSL_F_TLS_CONSTRUCT_CTOS_SUPPORTED_VERSIONS 0 -# define SSL_F_TLS_CONSTRUCT_CTOS_USE_SRTP 0 -# define SSL_F_TLS_CONSTRUCT_CTOS_VERIFY 0 -# define SSL_F_TLS_CONSTRUCT_ENCRYPTED_EXTENSIONS 0 -# define SSL_F_TLS_CONSTRUCT_END_OF_EARLY_DATA 0 -# define SSL_F_TLS_CONSTRUCT_EXTENSIONS 0 -# define SSL_F_TLS_CONSTRUCT_FINISHED 0 -# define SSL_F_TLS_CONSTRUCT_HELLO_REQUEST 0 -# define SSL_F_TLS_CONSTRUCT_HELLO_RETRY_REQUEST 0 -# define SSL_F_TLS_CONSTRUCT_KEY_UPDATE 0 -# define SSL_F_TLS_CONSTRUCT_NEW_SESSION_TICKET 0 -# define SSL_F_TLS_CONSTRUCT_NEXT_PROTO 0 -# define SSL_F_TLS_CONSTRUCT_SERVER_CERTIFICATE 0 -# define SSL_F_TLS_CONSTRUCT_SERVER_HELLO 0 -# define SSL_F_TLS_CONSTRUCT_SERVER_KEY_EXCHANGE 0 -# define SSL_F_TLS_CONSTRUCT_STOC_ALPN 0 -# define SSL_F_TLS_CONSTRUCT_STOC_CERTIFICATE 0 -# define SSL_F_TLS_CONSTRUCT_STOC_COOKIE 0 -# define SSL_F_TLS_CONSTRUCT_STOC_CRYPTOPRO_BUG 0 -# define SSL_F_TLS_CONSTRUCT_STOC_DONE 0 -# define SSL_F_TLS_CONSTRUCT_STOC_EARLY_DATA 0 -# define SSL_F_TLS_CONSTRUCT_STOC_EARLY_DATA_INFO 0 -# define SSL_F_TLS_CONSTRUCT_STOC_EC_PT_FORMATS 0 -# define SSL_F_TLS_CONSTRUCT_STOC_EMS 0 -# define SSL_F_TLS_CONSTRUCT_STOC_ETM 0 -# define SSL_F_TLS_CONSTRUCT_STOC_HELLO 0 -# define SSL_F_TLS_CONSTRUCT_STOC_KEY_EXCHANGE 0 -# define SSL_F_TLS_CONSTRUCT_STOC_KEY_SHARE 0 -# define SSL_F_TLS_CONSTRUCT_STOC_MAXFRAGMENTLEN 0 -# define SSL_F_TLS_CONSTRUCT_STOC_NEXT_PROTO_NEG 0 -# define SSL_F_TLS_CONSTRUCT_STOC_PSK 0 -# define SSL_F_TLS_CONSTRUCT_STOC_RENEGOTIATE 0 -# define SSL_F_TLS_CONSTRUCT_STOC_SERVER_NAME 0 -# define SSL_F_TLS_CONSTRUCT_STOC_SESSION_TICKET 0 -# define SSL_F_TLS_CONSTRUCT_STOC_STATUS_REQUEST 0 -# define SSL_F_TLS_CONSTRUCT_STOC_SUPPORTED_GROUPS 0 -# define SSL_F_TLS_CONSTRUCT_STOC_SUPPORTED_VERSIONS 0 -# define SSL_F_TLS_CONSTRUCT_STOC_USE_SRTP 0 -# define SSL_F_TLS_EARLY_POST_PROCESS_CLIENT_HELLO 0 -# define SSL_F_TLS_FINISH_HANDSHAKE 0 -# define SSL_F_TLS_GET_MESSAGE_BODY 0 -# define SSL_F_TLS_GET_MESSAGE_HEADER 0 -# define SSL_F_TLS_HANDLE_ALPN 0 -# define SSL_F_TLS_HANDLE_STATUS_REQUEST 0 -# define SSL_F_TLS_PARSE_CERTIFICATE_AUTHORITIES 0 -# define SSL_F_TLS_PARSE_CLIENTHELLO_TLSEXT 0 -# define SSL_F_TLS_PARSE_CTOS_ALPN 0 -# define SSL_F_TLS_PARSE_CTOS_COOKIE 0 -# define SSL_F_TLS_PARSE_CTOS_EARLY_DATA 0 -# define SSL_F_TLS_PARSE_CTOS_EC_PT_FORMATS 0 -# define SSL_F_TLS_PARSE_CTOS_EMS 0 -# define SSL_F_TLS_PARSE_CTOS_KEY_SHARE 0 -# define SSL_F_TLS_PARSE_CTOS_MAXFRAGMENTLEN 0 -# define SSL_F_TLS_PARSE_CTOS_POST_HANDSHAKE_AUTH 0 -# define SSL_F_TLS_PARSE_CTOS_PSK 0 -# define SSL_F_TLS_PARSE_CTOS_PSK_KEX_MODES 0 -# define SSL_F_TLS_PARSE_CTOS_RENEGOTIATE 0 -# define SSL_F_TLS_PARSE_CTOS_SERVER_NAME 0 -# define SSL_F_TLS_PARSE_CTOS_SESSION_TICKET 0 -# define SSL_F_TLS_PARSE_CTOS_SIG_ALGS 0 -# define SSL_F_TLS_PARSE_CTOS_SIG_ALGS_CERT 0 -# define SSL_F_TLS_PARSE_CTOS_SRP 0 -# define SSL_F_TLS_PARSE_CTOS_STATUS_REQUEST 0 -# define SSL_F_TLS_PARSE_CTOS_SUPPORTED_GROUPS 0 -# define SSL_F_TLS_PARSE_CTOS_USE_SRTP 0 -# define SSL_F_TLS_PARSE_STOC_ALPN 0 -# define SSL_F_TLS_PARSE_STOC_COOKIE 0 -# define SSL_F_TLS_PARSE_STOC_EARLY_DATA 0 -# define SSL_F_TLS_PARSE_STOC_EARLY_DATA_INFO 0 -# define SSL_F_TLS_PARSE_STOC_EC_PT_FORMATS 0 -# define SSL_F_TLS_PARSE_STOC_KEY_SHARE 0 -# define SSL_F_TLS_PARSE_STOC_MAXFRAGMENTLEN 0 -# define SSL_F_TLS_PARSE_STOC_NPN 0 -# define SSL_F_TLS_PARSE_STOC_PSK 0 -# define SSL_F_TLS_PARSE_STOC_RENEGOTIATE 0 -# define SSL_F_TLS_PARSE_STOC_SCT 0 -# define SSL_F_TLS_PARSE_STOC_SERVER_NAME 0 -# define SSL_F_TLS_PARSE_STOC_SESSION_TICKET 0 -# define SSL_F_TLS_PARSE_STOC_STATUS_REQUEST 0 -# define SSL_F_TLS_PARSE_STOC_SUPPORTED_VERSIONS 0 -# define SSL_F_TLS_PARSE_STOC_USE_SRTP 0 -# define SSL_F_TLS_POST_PROCESS_CLIENT_HELLO 0 -# define SSL_F_TLS_POST_PROCESS_CLIENT_KEY_EXCHANGE 0 -# define SSL_F_TLS_PREPARE_CLIENT_CERTIFICATE 0 -# define SSL_F_TLS_PROCESS_AS_HELLO_RETRY_REQUEST 0 -# define SSL_F_TLS_PROCESS_CERTIFICATE_REQUEST 0 -# define SSL_F_TLS_PROCESS_CERT_STATUS 0 -# define SSL_F_TLS_PROCESS_CERT_STATUS_BODY 0 -# define SSL_F_TLS_PROCESS_CERT_VERIFY 0 -# define SSL_F_TLS_PROCESS_CHANGE_CIPHER_SPEC 0 -# define SSL_F_TLS_PROCESS_CKE_DHE 0 -# define SSL_F_TLS_PROCESS_CKE_ECDHE 0 -# define SSL_F_TLS_PROCESS_CKE_GOST 0 -# define SSL_F_TLS_PROCESS_CKE_PSK_PREAMBLE 0 -# define SSL_F_TLS_PROCESS_CKE_RSA 0 -# define SSL_F_TLS_PROCESS_CKE_SRP 0 -# define SSL_F_TLS_PROCESS_CLIENT_CERTIFICATE 0 -# define SSL_F_TLS_PROCESS_CLIENT_HELLO 0 -# define SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE 0 -# define SSL_F_TLS_PROCESS_ENCRYPTED_EXTENSIONS 0 -# define SSL_F_TLS_PROCESS_END_OF_EARLY_DATA 0 -# define SSL_F_TLS_PROCESS_FINISHED 0 -# define SSL_F_TLS_PROCESS_HELLO_REQ 0 -# define SSL_F_TLS_PROCESS_HELLO_RETRY_REQUEST 0 -# define SSL_F_TLS_PROCESS_INITIAL_SERVER_FLIGHT 0 -# define SSL_F_TLS_PROCESS_KEY_EXCHANGE 0 -# define SSL_F_TLS_PROCESS_KEY_UPDATE 0 -# define SSL_F_TLS_PROCESS_NEW_SESSION_TICKET 0 -# define SSL_F_TLS_PROCESS_NEXT_PROTO 0 -# define SSL_F_TLS_PROCESS_SERVER_CERTIFICATE 0 -# define SSL_F_TLS_PROCESS_SERVER_DONE 0 -# define SSL_F_TLS_PROCESS_SERVER_HELLO 0 -# define SSL_F_TLS_PROCESS_SKE_DHE 0 -# define SSL_F_TLS_PROCESS_SKE_ECDHE 0 -# define SSL_F_TLS_PROCESS_SKE_PSK_PREAMBLE 0 -# define SSL_F_TLS_PROCESS_SKE_SRP 0 -# define SSL_F_TLS_PSK_DO_BINDER 0 -# define SSL_F_TLS_SCAN_CLIENTHELLO_TLSEXT 0 -# define SSL_F_TLS_SETUP_HANDSHAKE 0 -# define SSL_F_USE_CERTIFICATE_CHAIN_FILE 0 -# define SSL_F_WPACKET_INTERN_INIT_LEN 0 -# define SSL_F_WPACKET_START_SUB_PACKET_LEN__ 0 -# define SSL_F_WRITE_STATE_MACHINE 0 -# endif +# define SSL_F_ADD_CLIENT_KEY_SHARE_EXT 438 +# define SSL_F_ADD_KEY_SHARE 512 +# define SSL_F_BYTES_TO_CIPHER_LIST 519 +# define SSL_F_CHECK_SUITEB_CIPHER_LIST 331 +# define SSL_F_CIPHERSUITE_CB 622 +# define SSL_F_CONSTRUCT_CA_NAMES 552 +# define SSL_F_CONSTRUCT_KEY_EXCHANGE_TBS 553 +# define SSL_F_CONSTRUCT_STATEFUL_TICKET 636 +# define SSL_F_CONSTRUCT_STATELESS_TICKET 637 +# define SSL_F_CREATE_SYNTHETIC_MESSAGE_HASH 539 +# define SSL_F_CREATE_TICKET_PREQUEL 638 +# define SSL_F_CT_MOVE_SCTS 345 +# define SSL_F_CT_STRICT 349 +# define SSL_F_CUSTOM_EXT_ADD 554 +# define SSL_F_CUSTOM_EXT_PARSE 555 +# define SSL_F_D2I_SSL_SESSION 103 +# define SSL_F_DANE_CTX_ENABLE 347 +# define SSL_F_DANE_MTYPE_SET 393 +# define SSL_F_DANE_TLSA_ADD 394 +# define SSL_F_DERIVE_SECRET_KEY_AND_IV 514 +# define SSL_F_DO_DTLS1_WRITE 245 +# define SSL_F_DO_SSL3_WRITE 104 +# define SSL_F_DTLS1_BUFFER_RECORD 247 +# define SSL_F_DTLS1_CHECK_TIMEOUT_NUM 318 +# define SSL_F_DTLS1_HEARTBEAT 305 +# define SSL_F_DTLS1_HM_FRAGMENT_NEW 623 +# define SSL_F_DTLS1_PREPROCESS_FRAGMENT 288 +# define SSL_F_DTLS1_PROCESS_BUFFERED_RECORDS 424 +# define SSL_F_DTLS1_PROCESS_RECORD 257 +# define SSL_F_DTLS1_READ_BYTES 258 +# define SSL_F_DTLS1_READ_FAILED 339 +# define SSL_F_DTLS1_RETRANSMIT_MESSAGE 390 +# define SSL_F_DTLS1_WRITE_APP_DATA_BYTES 268 +# define SSL_F_DTLS1_WRITE_BYTES 545 +# define SSL_F_DTLSV1_LISTEN 350 +# define SSL_F_DTLS_CONSTRUCT_CHANGE_CIPHER_SPEC 371 +# define SSL_F_DTLS_CONSTRUCT_HELLO_VERIFY_REQUEST 385 +# define SSL_F_DTLS_GET_REASSEMBLED_MESSAGE 370 +# define SSL_F_DTLS_PROCESS_HELLO_VERIFY 386 +# define SSL_F_DTLS_RECORD_LAYER_NEW 635 +# define SSL_F_DTLS_WAIT_FOR_DRY 592 +# define SSL_F_EARLY_DATA_COUNT_OK 532 +# define SSL_F_FINAL_EARLY_DATA 556 +# define SSL_F_FINAL_EC_PT_FORMATS 485 +# define SSL_F_FINAL_EMS 486 +# define SSL_F_FINAL_KEY_SHARE 503 +# define SSL_F_FINAL_MAXFRAGMENTLEN 557 +# define SSL_F_FINAL_RENEGOTIATE 483 +# define SSL_F_FINAL_SERVER_NAME 558 +# define SSL_F_FINAL_SIG_ALGS 497 +# define SSL_F_GET_CERT_VERIFY_TBS_DATA 588 +# define SSL_F_NSS_KEYLOG_INT 500 +# define SSL_F_OPENSSL_INIT_SSL 342 +# define SSL_F_OSSL_STATEM_CLIENT13_READ_TRANSITION 436 +# define SSL_F_OSSL_STATEM_CLIENT13_WRITE_TRANSITION 598 +# define SSL_F_OSSL_STATEM_CLIENT_CONSTRUCT_MESSAGE 430 +# define SSL_F_OSSL_STATEM_CLIENT_POST_PROCESS_MESSAGE 593 +# define SSL_F_OSSL_STATEM_CLIENT_PROCESS_MESSAGE 594 +# define SSL_F_OSSL_STATEM_CLIENT_READ_TRANSITION 417 +# define SSL_F_OSSL_STATEM_CLIENT_WRITE_TRANSITION 599 +# define SSL_F_OSSL_STATEM_SERVER13_READ_TRANSITION 437 +# define SSL_F_OSSL_STATEM_SERVER13_WRITE_TRANSITION 600 +# define SSL_F_OSSL_STATEM_SERVER_CONSTRUCT_MESSAGE 431 +# define SSL_F_OSSL_STATEM_SERVER_POST_PROCESS_MESSAGE 601 +# define SSL_F_OSSL_STATEM_SERVER_POST_WORK 602 +# define SSL_F_OSSL_STATEM_SERVER_PROCESS_MESSAGE 603 +# define SSL_F_OSSL_STATEM_SERVER_READ_TRANSITION 418 +# define SSL_F_OSSL_STATEM_SERVER_WRITE_TRANSITION 604 +# define SSL_F_PARSE_CA_NAMES 541 +# define SSL_F_PITEM_NEW 624 +# define SSL_F_PQUEUE_NEW 625 +# define SSL_F_PROCESS_KEY_SHARE_EXT 439 +# define SSL_F_READ_STATE_MACHINE 352 +# define SSL_F_SET_CLIENT_CIPHERSUITE 540 +# define SSL_F_SRP_GENERATE_CLIENT_MASTER_SECRET 595 +# define SSL_F_SRP_GENERATE_SERVER_MASTER_SECRET 589 +# define SSL_F_SRP_VERIFY_SERVER_PARAM 596 +# define SSL_F_SSL3_CHANGE_CIPHER_STATE 129 +# define SSL_F_SSL3_CHECK_CERT_AND_ALGORITHM 130 +# define SSL_F_SSL3_CTRL 213 +# define SSL_F_SSL3_CTX_CTRL 133 +# define SSL_F_SSL3_DIGEST_CACHED_RECORDS 293 +# define SSL_F_SSL3_DO_CHANGE_CIPHER_SPEC 292 +# define SSL_F_SSL3_ENC 608 +# define SSL_F_SSL3_FINAL_FINISH_MAC 285 +# define SSL_F_SSL3_FINISH_MAC 587 +# define SSL_F_SSL3_GENERATE_KEY_BLOCK 238 +# define SSL_F_SSL3_GENERATE_MASTER_SECRET 388 +# define SSL_F_SSL3_GET_RECORD 143 +# define SSL_F_SSL3_INIT_FINISHED_MAC 397 +# define SSL_F_SSL3_OUTPUT_CERT_CHAIN 147 +# define SSL_F_SSL3_READ_BYTES 148 +# define SSL_F_SSL3_READ_N 149 +# define SSL_F_SSL3_SETUP_KEY_BLOCK 157 +# define SSL_F_SSL3_SETUP_READ_BUFFER 156 +# define SSL_F_SSL3_SETUP_WRITE_BUFFER 291 +# define SSL_F_SSL3_WRITE_BYTES 158 +# define SSL_F_SSL3_WRITE_PENDING 159 +# define SSL_F_SSL_ADD_CERT_CHAIN 316 +# define SSL_F_SSL_ADD_CERT_TO_BUF 319 +# define SSL_F_SSL_ADD_CERT_TO_WPACKET 493 +# define SSL_F_SSL_ADD_CLIENTHELLO_RENEGOTIATE_EXT 298 +# define SSL_F_SSL_ADD_CLIENTHELLO_TLSEXT 277 +# define SSL_F_SSL_ADD_CLIENTHELLO_USE_SRTP_EXT 307 +# define SSL_F_SSL_ADD_DIR_CERT_SUBJECTS_TO_STACK 215 +# define SSL_F_SSL_ADD_FILE_CERT_SUBJECTS_TO_STACK 216 +# define SSL_F_SSL_ADD_SERVERHELLO_RENEGOTIATE_EXT 299 +# define SSL_F_SSL_ADD_SERVERHELLO_TLSEXT 278 +# define SSL_F_SSL_ADD_SERVERHELLO_USE_SRTP_EXT 308 +# define SSL_F_SSL_BAD_METHOD 160 +# define SSL_F_SSL_BUILD_CERT_CHAIN 332 +# define SSL_F_SSL_BYTES_TO_CIPHER_LIST 161 +# define SSL_F_SSL_CACHE_CIPHERLIST 520 +# define SSL_F_SSL_CERT_ADD0_CHAIN_CERT 346 +# define SSL_F_SSL_CERT_DUP 221 +# define SSL_F_SSL_CERT_NEW 162 +# define SSL_F_SSL_CERT_SET0_CHAIN 340 +# define SSL_F_SSL_CHECK_PRIVATE_KEY 163 +# define SSL_F_SSL_CHECK_SERVERHELLO_TLSEXT 280 +# define SSL_F_SSL_CHECK_SRP_EXT_CLIENTHELLO 606 +# define SSL_F_SSL_CHECK_SRVR_ECC_CERT_AND_ALG 279 +# define SSL_F_SSL_CHOOSE_CLIENT_VERSION 607 +# define SSL_F_SSL_CIPHER_DESCRIPTION 626 +# define SSL_F_SSL_CIPHER_LIST_TO_BYTES 425 +# define SSL_F_SSL_CIPHER_PROCESS_RULESTR 230 +# define SSL_F_SSL_CIPHER_STRENGTH_SORT 231 +# define SSL_F_SSL_CLEAR 164 +# define SSL_F_SSL_CLIENT_HELLO_GET1_EXTENSIONS_PRESENT 627 +# define SSL_F_SSL_COMP_ADD_COMPRESSION_METHOD 165 +# define SSL_F_SSL_CONF_CMD 334 +# define SSL_F_SSL_CREATE_CIPHER_LIST 166 +# define SSL_F_SSL_CTRL 232 +# define SSL_F_SSL_CTX_CHECK_PRIVATE_KEY 168 +# define SSL_F_SSL_CTX_ENABLE_CT 398 +# define SSL_F_SSL_CTX_MAKE_PROFILES 309 +# define SSL_F_SSL_CTX_NEW 169 +# define SSL_F_SSL_CTX_SET_ALPN_PROTOS 343 +# define SSL_F_SSL_CTX_SET_CIPHER_LIST 269 +# define SSL_F_SSL_CTX_SET_CLIENT_CERT_ENGINE 290 +# define SSL_F_SSL_CTX_SET_CT_VALIDATION_CALLBACK 396 +# define SSL_F_SSL_CTX_SET_SESSION_ID_CONTEXT 219 +# define SSL_F_SSL_CTX_SET_SSL_VERSION 170 +# define SSL_F_SSL_CTX_SET_TLSEXT_MAX_FRAGMENT_LENGTH 551 +# define SSL_F_SSL_CTX_USE_CERTIFICATE 171 +# define SSL_F_SSL_CTX_USE_CERTIFICATE_ASN1 172 +# define SSL_F_SSL_CTX_USE_CERTIFICATE_FILE 173 +# define SSL_F_SSL_CTX_USE_PRIVATEKEY 174 +# define SSL_F_SSL_CTX_USE_PRIVATEKEY_ASN1 175 +# define SSL_F_SSL_CTX_USE_PRIVATEKEY_FILE 176 +# define SSL_F_SSL_CTX_USE_PSK_IDENTITY_HINT 272 +# define SSL_F_SSL_CTX_USE_RSAPRIVATEKEY 177 +# define SSL_F_SSL_CTX_USE_RSAPRIVATEKEY_ASN1 178 +# define SSL_F_SSL_CTX_USE_RSAPRIVATEKEY_FILE 179 +# define SSL_F_SSL_CTX_USE_SERVERINFO 336 +# define SSL_F_SSL_CTX_USE_SERVERINFO_EX 543 +# define SSL_F_SSL_CTX_USE_SERVERINFO_FILE 337 +# define SSL_F_SSL_DANE_DUP 403 +# define SSL_F_SSL_DANE_ENABLE 395 +# define SSL_F_SSL_DERIVE 590 +# define SSL_F_SSL_DO_CONFIG 391 +# define SSL_F_SSL_DO_HANDSHAKE 180 +# define SSL_F_SSL_DUP_CA_LIST 408 +# define SSL_F_SSL_ENABLE_CT 402 +# define SSL_F_SSL_GENERATE_PKEY_GROUP 559 +# define SSL_F_SSL_GENERATE_SESSION_ID 547 +# define SSL_F_SSL_GET_NEW_SESSION 181 +# define SSL_F_SSL_GET_PREV_SESSION 217 +# define SSL_F_SSL_GET_SERVER_CERT_INDEX 322 +# define SSL_F_SSL_GET_SIGN_PKEY 183 +# define SSL_F_SSL_HANDSHAKE_HASH 560 +# define SSL_F_SSL_INIT_WBIO_BUFFER 184 +# define SSL_F_SSL_KEY_UPDATE 515 +# define SSL_F_SSL_LOAD_CLIENT_CA_FILE 185 +# define SSL_F_SSL_LOG_MASTER_SECRET 498 +# define SSL_F_SSL_LOG_RSA_CLIENT_KEY_EXCHANGE 499 +# define SSL_F_SSL_MODULE_INIT 392 +# define SSL_F_SSL_NEW 186 +# define SSL_F_SSL_NEXT_PROTO_VALIDATE 565 +# define SSL_F_SSL_PARSE_CLIENTHELLO_RENEGOTIATE_EXT 300 +# define SSL_F_SSL_PARSE_CLIENTHELLO_TLSEXT 302 +# define SSL_F_SSL_PARSE_CLIENTHELLO_USE_SRTP_EXT 310 +# define SSL_F_SSL_PARSE_SERVERHELLO_RENEGOTIATE_EXT 301 +# define SSL_F_SSL_PARSE_SERVERHELLO_TLSEXT 303 +# define SSL_F_SSL_PARSE_SERVERHELLO_USE_SRTP_EXT 311 +# define SSL_F_SSL_PEEK 270 +# define SSL_F_SSL_PEEK_EX 432 +# define SSL_F_SSL_PEEK_INTERNAL 522 +# define SSL_F_SSL_READ 223 +# define SSL_F_SSL_READ_EARLY_DATA 529 +# define SSL_F_SSL_READ_EX 434 +# define SSL_F_SSL_READ_INTERNAL 523 +# define SSL_F_SSL_RENEGOTIATE 516 +# define SSL_F_SSL_RENEGOTIATE_ABBREVIATED 546 +# define SSL_F_SSL_SCAN_CLIENTHELLO_TLSEXT 320 +# define SSL_F_SSL_SCAN_SERVERHELLO_TLSEXT 321 +# define SSL_F_SSL_SESSION_DUP 348 +# define SSL_F_SSL_SESSION_NEW 189 +# define SSL_F_SSL_SESSION_PRINT_FP 190 +# define SSL_F_SSL_SESSION_SET1_ID 423 +# define SSL_F_SSL_SESSION_SET1_ID_CONTEXT 312 +# define SSL_F_SSL_SET_ALPN_PROTOS 344 +# define SSL_F_SSL_SET_CERT 191 +# define SSL_F_SSL_SET_CERT_AND_KEY 621 +# define SSL_F_SSL_SET_CIPHER_LIST 271 +# define SSL_F_SSL_SET_CT_VALIDATION_CALLBACK 399 +# define SSL_F_SSL_SET_FD 192 +# define SSL_F_SSL_SET_PKEY 193 +# define SSL_F_SSL_SET_RFD 194 +# define SSL_F_SSL_SET_SESSION 195 +# define SSL_F_SSL_SET_SESSION_ID_CONTEXT 218 +# define SSL_F_SSL_SET_SESSION_TICKET_EXT 294 +# define SSL_F_SSL_SET_TLSEXT_MAX_FRAGMENT_LENGTH 550 +# define SSL_F_SSL_SET_WFD 196 +# define SSL_F_SSL_SHUTDOWN 224 +# define SSL_F_SSL_SRP_CTX_INIT 313 +# define SSL_F_SSL_START_ASYNC_JOB 389 +# define SSL_F_SSL_UNDEFINED_FUNCTION 197 +# define SSL_F_SSL_UNDEFINED_VOID_FUNCTION 244 +# define SSL_F_SSL_USE_CERTIFICATE 198 +# define SSL_F_SSL_USE_CERTIFICATE_ASN1 199 +# define SSL_F_SSL_USE_CERTIFICATE_FILE 200 +# define SSL_F_SSL_USE_PRIVATEKEY 201 +# define SSL_F_SSL_USE_PRIVATEKEY_ASN1 202 +# define SSL_F_SSL_USE_PRIVATEKEY_FILE 203 +# define SSL_F_SSL_USE_PSK_IDENTITY_HINT 273 +# define SSL_F_SSL_USE_RSAPRIVATEKEY 204 +# define SSL_F_SSL_USE_RSAPRIVATEKEY_ASN1 205 +# define SSL_F_SSL_USE_RSAPRIVATEKEY_FILE 206 +# define SSL_F_SSL_VALIDATE_CT 400 +# define SSL_F_SSL_VERIFY_CERT_CHAIN 207 +# define SSL_F_SSL_VERIFY_CLIENT_POST_HANDSHAKE 616 +# define SSL_F_SSL_WRITE 208 +# define SSL_F_SSL_WRITE_EARLY_DATA 526 +# define SSL_F_SSL_WRITE_EARLY_FINISH 527 +# define SSL_F_SSL_WRITE_EX 433 +# define SSL_F_SSL_WRITE_INTERNAL 524 +# define SSL_F_STATE_MACHINE 353 +# define SSL_F_TLS12_CHECK_PEER_SIGALG 333 +# define SSL_F_TLS12_COPY_SIGALGS 533 +# define SSL_F_TLS13_CHANGE_CIPHER_STATE 440 +# define SSL_F_TLS13_ENC 609 +# define SSL_F_TLS13_FINAL_FINISH_MAC 605 +# define SSL_F_TLS13_GENERATE_SECRET 591 +# define SSL_F_TLS13_HKDF_EXPAND 561 +# define SSL_F_TLS13_RESTORE_HANDSHAKE_DIGEST_FOR_PHA 617 +# define SSL_F_TLS13_SAVE_HANDSHAKE_DIGEST_FOR_PHA 618 +# define SSL_F_TLS13_SETUP_KEY_BLOCK 441 +# define SSL_F_TLS1_CHANGE_CIPHER_STATE 209 +# define SSL_F_TLS1_CHECK_DUPLICATE_EXTENSIONS 341 +# define SSL_F_TLS1_ENC 401 +# define SSL_F_TLS1_EXPORT_KEYING_MATERIAL 314 +# define SSL_F_TLS1_GET_CURVELIST 338 +# define SSL_F_TLS1_PRF 284 +# define SSL_F_TLS1_SAVE_U16 628 +# define SSL_F_TLS1_SETUP_KEY_BLOCK 211 +# define SSL_F_TLS1_SET_GROUPS 629 +# define SSL_F_TLS1_SET_RAW_SIGALGS 630 +# define SSL_F_TLS1_SET_SERVER_SIGALGS 335 +# define SSL_F_TLS1_SET_SHARED_SIGALGS 631 +# define SSL_F_TLS1_SET_SIGALGS 632 +# define SSL_F_TLS_CHOOSE_SIGALG 513 +# define SSL_F_TLS_CLIENT_KEY_EXCHANGE_POST_WORK 354 +# define SSL_F_TLS_COLLECT_EXTENSIONS 435 +# define SSL_F_TLS_CONSTRUCT_CERTIFICATE_AUTHORITIES 542 +# define SSL_F_TLS_CONSTRUCT_CERTIFICATE_REQUEST 372 +# define SSL_F_TLS_CONSTRUCT_CERT_STATUS 429 +# define SSL_F_TLS_CONSTRUCT_CERT_STATUS_BODY 494 +# define SSL_F_TLS_CONSTRUCT_CERT_VERIFY 496 +# define SSL_F_TLS_CONSTRUCT_CHANGE_CIPHER_SPEC 427 +# define SSL_F_TLS_CONSTRUCT_CKE_DHE 404 +# define SSL_F_TLS_CONSTRUCT_CKE_ECDHE 405 +# define SSL_F_TLS_CONSTRUCT_CKE_GOST 406 +# define SSL_F_TLS_CONSTRUCT_CKE_PSK_PREAMBLE 407 +# define SSL_F_TLS_CONSTRUCT_CKE_RSA 409 +# define SSL_F_TLS_CONSTRUCT_CKE_SRP 410 +# define SSL_F_TLS_CONSTRUCT_CLIENT_CERTIFICATE 484 +# define SSL_F_TLS_CONSTRUCT_CLIENT_HELLO 487 +# define SSL_F_TLS_CONSTRUCT_CLIENT_KEY_EXCHANGE 488 +# define SSL_F_TLS_CONSTRUCT_CLIENT_VERIFY 489 +# define SSL_F_TLS_CONSTRUCT_CTOS_ALPN 466 +# define SSL_F_TLS_CONSTRUCT_CTOS_CERTIFICATE 355 +# define SSL_F_TLS_CONSTRUCT_CTOS_COOKIE 535 +# define SSL_F_TLS_CONSTRUCT_CTOS_EARLY_DATA 530 +# define SSL_F_TLS_CONSTRUCT_CTOS_EC_PT_FORMATS 467 +# define SSL_F_TLS_CONSTRUCT_CTOS_EMS 468 +# define SSL_F_TLS_CONSTRUCT_CTOS_ETM 469 +# define SSL_F_TLS_CONSTRUCT_CTOS_HELLO 356 +# define SSL_F_TLS_CONSTRUCT_CTOS_KEY_EXCHANGE 357 +# define SSL_F_TLS_CONSTRUCT_CTOS_KEY_SHARE 470 +# define SSL_F_TLS_CONSTRUCT_CTOS_MAXFRAGMENTLEN 549 +# define SSL_F_TLS_CONSTRUCT_CTOS_NPN 471 +# define SSL_F_TLS_CONSTRUCT_CTOS_PADDING 472 +# define SSL_F_TLS_CONSTRUCT_CTOS_POST_HANDSHAKE_AUTH 619 +# define SSL_F_TLS_CONSTRUCT_CTOS_PSK 501 +# define SSL_F_TLS_CONSTRUCT_CTOS_PSK_KEX_MODES 509 +# define SSL_F_TLS_CONSTRUCT_CTOS_RENEGOTIATE 473 +# define SSL_F_TLS_CONSTRUCT_CTOS_SCT 474 +# define SSL_F_TLS_CONSTRUCT_CTOS_SERVER_NAME 475 +# define SSL_F_TLS_CONSTRUCT_CTOS_SESSION_TICKET 476 +# define SSL_F_TLS_CONSTRUCT_CTOS_SIG_ALGS 477 +# define SSL_F_TLS_CONSTRUCT_CTOS_SRP 478 +# define SSL_F_TLS_CONSTRUCT_CTOS_STATUS_REQUEST 479 +# define SSL_F_TLS_CONSTRUCT_CTOS_SUPPORTED_GROUPS 480 +# define SSL_F_TLS_CONSTRUCT_CTOS_SUPPORTED_VERSIONS 481 +# define SSL_F_TLS_CONSTRUCT_CTOS_USE_SRTP 482 +# define SSL_F_TLS_CONSTRUCT_CTOS_VERIFY 358 +# define SSL_F_TLS_CONSTRUCT_ENCRYPTED_EXTENSIONS 443 +# define SSL_F_TLS_CONSTRUCT_END_OF_EARLY_DATA 536 +# define SSL_F_TLS_CONSTRUCT_EXTENSIONS 447 +# define SSL_F_TLS_CONSTRUCT_FINISHED 359 +# define SSL_F_TLS_CONSTRUCT_HELLO_REQUEST 373 +# define SSL_F_TLS_CONSTRUCT_HELLO_RETRY_REQUEST 510 +# define SSL_F_TLS_CONSTRUCT_KEY_UPDATE 517 +# define SSL_F_TLS_CONSTRUCT_NEW_SESSION_TICKET 428 +# define SSL_F_TLS_CONSTRUCT_NEXT_PROTO 426 +# define SSL_F_TLS_CONSTRUCT_SERVER_CERTIFICATE 490 +# define SSL_F_TLS_CONSTRUCT_SERVER_HELLO 491 +# define SSL_F_TLS_CONSTRUCT_SERVER_KEY_EXCHANGE 492 +# define SSL_F_TLS_CONSTRUCT_STOC_ALPN 451 +# define SSL_F_TLS_CONSTRUCT_STOC_CERTIFICATE 374 +# define SSL_F_TLS_CONSTRUCT_STOC_COOKIE 613 +# define SSL_F_TLS_CONSTRUCT_STOC_CRYPTOPRO_BUG 452 +# define SSL_F_TLS_CONSTRUCT_STOC_DONE 375 +# define SSL_F_TLS_CONSTRUCT_STOC_EARLY_DATA 531 +# define SSL_F_TLS_CONSTRUCT_STOC_EARLY_DATA_INFO 525 +# define SSL_F_TLS_CONSTRUCT_STOC_EC_PT_FORMATS 453 +# define SSL_F_TLS_CONSTRUCT_STOC_EMS 454 +# define SSL_F_TLS_CONSTRUCT_STOC_ETM 455 +# define SSL_F_TLS_CONSTRUCT_STOC_HELLO 376 +# define SSL_F_TLS_CONSTRUCT_STOC_KEY_EXCHANGE 377 +# define SSL_F_TLS_CONSTRUCT_STOC_KEY_SHARE 456 +# define SSL_F_TLS_CONSTRUCT_STOC_MAXFRAGMENTLEN 548 +# define SSL_F_TLS_CONSTRUCT_STOC_NEXT_PROTO_NEG 457 +# define SSL_F_TLS_CONSTRUCT_STOC_PSK 504 +# define SSL_F_TLS_CONSTRUCT_STOC_RENEGOTIATE 458 +# define SSL_F_TLS_CONSTRUCT_STOC_SERVER_NAME 459 +# define SSL_F_TLS_CONSTRUCT_STOC_SESSION_TICKET 460 +# define SSL_F_TLS_CONSTRUCT_STOC_STATUS_REQUEST 461 +# define SSL_F_TLS_CONSTRUCT_STOC_SUPPORTED_GROUPS 544 +# define SSL_F_TLS_CONSTRUCT_STOC_SUPPORTED_VERSIONS 611 +# define SSL_F_TLS_CONSTRUCT_STOC_USE_SRTP 462 +# define SSL_F_TLS_EARLY_POST_PROCESS_CLIENT_HELLO 521 +# define SSL_F_TLS_FINISH_HANDSHAKE 597 +# define SSL_F_TLS_GET_MESSAGE_BODY 351 +# define SSL_F_TLS_GET_MESSAGE_HEADER 387 +# define SSL_F_TLS_HANDLE_ALPN 562 +# define SSL_F_TLS_HANDLE_STATUS_REQUEST 563 +# define SSL_F_TLS_PARSE_CERTIFICATE_AUTHORITIES 566 +# define SSL_F_TLS_PARSE_CLIENTHELLO_TLSEXT 449 +# define SSL_F_TLS_PARSE_CTOS_ALPN 567 +# define SSL_F_TLS_PARSE_CTOS_COOKIE 614 +# define SSL_F_TLS_PARSE_CTOS_EARLY_DATA 568 +# define SSL_F_TLS_PARSE_CTOS_EC_PT_FORMATS 569 +# define SSL_F_TLS_PARSE_CTOS_EMS 570 +# define SSL_F_TLS_PARSE_CTOS_KEY_SHARE 463 +# define SSL_F_TLS_PARSE_CTOS_MAXFRAGMENTLEN 571 +# define SSL_F_TLS_PARSE_CTOS_POST_HANDSHAKE_AUTH 620 +# define SSL_F_TLS_PARSE_CTOS_PSK 505 +# define SSL_F_TLS_PARSE_CTOS_PSK_KEX_MODES 572 +# define SSL_F_TLS_PARSE_CTOS_RENEGOTIATE 464 +# define SSL_F_TLS_PARSE_CTOS_SERVER_NAME 573 +# define SSL_F_TLS_PARSE_CTOS_SESSION_TICKET 574 +# define SSL_F_TLS_PARSE_CTOS_SIG_ALGS 575 +# define SSL_F_TLS_PARSE_CTOS_SIG_ALGS_CERT 615 +# define SSL_F_TLS_PARSE_CTOS_SRP 576 +# define SSL_F_TLS_PARSE_CTOS_STATUS_REQUEST 577 +# define SSL_F_TLS_PARSE_CTOS_SUPPORTED_GROUPS 578 +# define SSL_F_TLS_PARSE_CTOS_USE_SRTP 465 +# define SSL_F_TLS_PARSE_STOC_ALPN 579 +# define SSL_F_TLS_PARSE_STOC_COOKIE 534 +# define SSL_F_TLS_PARSE_STOC_EARLY_DATA 538 +# define SSL_F_TLS_PARSE_STOC_EARLY_DATA_INFO 528 +# define SSL_F_TLS_PARSE_STOC_EC_PT_FORMATS 580 +# define SSL_F_TLS_PARSE_STOC_KEY_SHARE 445 +# define SSL_F_TLS_PARSE_STOC_MAXFRAGMENTLEN 581 +# define SSL_F_TLS_PARSE_STOC_NPN 582 +# define SSL_F_TLS_PARSE_STOC_PSK 502 +# define SSL_F_TLS_PARSE_STOC_RENEGOTIATE 448 +# define SSL_F_TLS_PARSE_STOC_SCT 564 +# define SSL_F_TLS_PARSE_STOC_SERVER_NAME 583 +# define SSL_F_TLS_PARSE_STOC_SESSION_TICKET 584 +# define SSL_F_TLS_PARSE_STOC_STATUS_REQUEST 585 +# define SSL_F_TLS_PARSE_STOC_SUPPORTED_VERSIONS 612 +# define SSL_F_TLS_PARSE_STOC_USE_SRTP 446 +# define SSL_F_TLS_POST_PROCESS_CLIENT_HELLO 378 +# define SSL_F_TLS_POST_PROCESS_CLIENT_KEY_EXCHANGE 384 +# define SSL_F_TLS_PREPARE_CLIENT_CERTIFICATE 360 +# define SSL_F_TLS_PROCESS_AS_HELLO_RETRY_REQUEST 610 +# define SSL_F_TLS_PROCESS_CERTIFICATE_REQUEST 361 +# define SSL_F_TLS_PROCESS_CERT_STATUS 362 +# define SSL_F_TLS_PROCESS_CERT_STATUS_BODY 495 +# define SSL_F_TLS_PROCESS_CERT_VERIFY 379 +# define SSL_F_TLS_PROCESS_CHANGE_CIPHER_SPEC 363 +# define SSL_F_TLS_PROCESS_CKE_DHE 411 +# define SSL_F_TLS_PROCESS_CKE_ECDHE 412 +# define SSL_F_TLS_PROCESS_CKE_GOST 413 +# define SSL_F_TLS_PROCESS_CKE_PSK_PREAMBLE 414 +# define SSL_F_TLS_PROCESS_CKE_RSA 415 +# define SSL_F_TLS_PROCESS_CKE_SRP 416 +# define SSL_F_TLS_PROCESS_CLIENT_CERTIFICATE 380 +# define SSL_F_TLS_PROCESS_CLIENT_HELLO 381 +# define SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE 382 +# define SSL_F_TLS_PROCESS_ENCRYPTED_EXTENSIONS 444 +# define SSL_F_TLS_PROCESS_END_OF_EARLY_DATA 537 +# define SSL_F_TLS_PROCESS_FINISHED 364 +# define SSL_F_TLS_PROCESS_HELLO_REQ 507 +# define SSL_F_TLS_PROCESS_HELLO_RETRY_REQUEST 511 +# define SSL_F_TLS_PROCESS_INITIAL_SERVER_FLIGHT 442 +# define SSL_F_TLS_PROCESS_KEY_EXCHANGE 365 +# define SSL_F_TLS_PROCESS_KEY_UPDATE 518 +# define SSL_F_TLS_PROCESS_NEW_SESSION_TICKET 366 +# define SSL_F_TLS_PROCESS_NEXT_PROTO 383 +# define SSL_F_TLS_PROCESS_SERVER_CERTIFICATE 367 +# define SSL_F_TLS_PROCESS_SERVER_DONE 368 +# define SSL_F_TLS_PROCESS_SERVER_HELLO 369 +# define SSL_F_TLS_PROCESS_SKE_DHE 419 +# define SSL_F_TLS_PROCESS_SKE_ECDHE 420 +# define SSL_F_TLS_PROCESS_SKE_PSK_PREAMBLE 421 +# define SSL_F_TLS_PROCESS_SKE_SRP 422 +# define SSL_F_TLS_PSK_DO_BINDER 506 +# define SSL_F_TLS_SCAN_CLIENTHELLO_TLSEXT 450 +# define SSL_F_TLS_SETUP_HANDSHAKE 508 +# define SSL_F_USE_CERTIFICATE_CHAIN_FILE 220 +# define SSL_F_WPACKET_INTERN_INIT_LEN 633 +# define SSL_F_WPACKET_START_SUB_PACKET_LEN__ 634 +# define SSL_F_WRITE_STATE_MACHINE 586 /* * SSL reason codes. @@ -728,6 +720,8 @@ int ERR_load_SSL_strings(void); # define SSL_R_TLSV1_CERTIFICATE_UNOBTAINABLE 1111 # define SSL_R_TLSV1_UNRECOGNIZED_NAME 1112 # define SSL_R_TLSV1_UNSUPPORTED_EXTENSION 1110 +# define SSL_R_TLS_HEARTBEAT_PEER_DOESNT_ACCEPT 365 +# define SSL_R_TLS_HEARTBEAT_PENDING 366 # define SSL_R_TLS_ILLEGAL_EXPORTER_LABEL 367 # define SSL_R_TLS_INVALID_ECPOINTFORMAT_LIST 157 # define SSL_R_TOO_MANY_KEY_UPDATES 132 diff --git a/linux_amd64/include/openssl/stack.h b/linux_amd64/include/openssl/stack.h index 031b672..cfc0750 100644 --- a/linux_amd64/include/openssl/stack.h +++ b/linux_amd64/include/openssl/stack.h @@ -1,20 +1,14 @@ /* - * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_STACK_H -# define OPENSSL_STACK_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_STACK_H -# endif +#ifndef HEADER_STACK_H +# define HEADER_STACK_H #ifdef __cplusplus extern "C" { @@ -56,7 +50,7 @@ OPENSSL_STACK *OPENSSL_sk_dup(const OPENSSL_STACK *st); void OPENSSL_sk_sort(OPENSSL_STACK *st); int OPENSSL_sk_is_sorted(const OPENSSL_STACK *st); -# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +# if OPENSSL_API_COMPAT < 0x10100000L # define _STACK OPENSSL_STACK # define sk_num OPENSSL_sk_num # define sk_value OPENSSL_sk_value diff --git a/linux_amd64/include/openssl/store.h b/linux_amd64/include/openssl/store.h index 7b2561c..a40a733 100644 --- a/linux_amd64/include/openssl/store.h +++ b/linux_amd64/include/openssl/store.h @@ -1,23 +1,17 @@ /* - * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_STORE_H -# define OPENSSL_STORE_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_OSSL_STORE_H -# endif +#ifndef HEADER_OSSL_STORE_H +# define HEADER_OSSL_STORE_H # include -# include +# include # include # include @@ -191,7 +185,7 @@ void OSSL_STORE_SEARCH_free(OSSL_STORE_SEARCH *search); /* Search term accessors */ int OSSL_STORE_SEARCH_get_type(const OSSL_STORE_SEARCH *criterion); -X509_NAME *OSSL_STORE_SEARCH_get0_name(const OSSL_STORE_SEARCH *criterion); +X509_NAME *OSSL_STORE_SEARCH_get0_name(OSSL_STORE_SEARCH *criterion); const ASN1_INTEGER *OSSL_STORE_SEARCH_get0_serial(const OSSL_STORE_SEARCH *criterion); const unsigned char *OSSL_STORE_SEARCH_get0_bytes(const OSSL_STORE_SEARCH @@ -204,7 +198,7 @@ const EVP_MD *OSSL_STORE_SEARCH_get0_digest(const OSSL_STORE_SEARCH *criterion); * to the loading channel. This MUST happen before the first OSSL_STORE_load(). */ int OSSL_STORE_expect(OSSL_STORE_CTX *ctx, int expected_type); -int OSSL_STORE_find(OSSL_STORE_CTX *ctx, const OSSL_STORE_SEARCH *search); +int OSSL_STORE_find(OSSL_STORE_CTX *ctx, OSSL_STORE_SEARCH *search); /*- @@ -236,7 +230,7 @@ typedef int (*OSSL_STORE_expect_fn)(OSSL_STORE_LOADER_CTX *ctx, int expected); int OSSL_STORE_LOADER_set_expect(OSSL_STORE_LOADER *loader, OSSL_STORE_expect_fn expect_function); typedef int (*OSSL_STORE_find_fn)(OSSL_STORE_LOADER_CTX *ctx, - const OSSL_STORE_SEARCH *criteria); + OSSL_STORE_SEARCH *criteria); int OSSL_STORE_LOADER_set_find(OSSL_STORE_LOADER *loader, OSSL_STORE_find_fn find_function); typedef OSSL_STORE_INFO *(*OSSL_STORE_load_fn)(OSSL_STORE_LOADER_CTX *ctx, diff --git a/linux_amd64/include/openssl/storeerr.h b/linux_amd64/include/openssl/storeerr.h index cb7304d..190eab0 100644 --- a/linux_amd64/include/openssl/storeerr.h +++ b/linux_amd64/include/openssl/storeerr.h @@ -2,25 +2,19 @@ * Generated by util/mkerr.pl DO NOT EDIT * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_STOREERR_H -# define OPENSSL_STOREERR_H -# pragma once +#ifndef HEADER_OSSL_STOREERR_H +# define HEADER_OSSL_STOREERR_H -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_OSSL_STOREERR_H +# ifndef HEADER_SYMHACKS_H +# include # endif -# include -# include - - # ifdef __cplusplus extern "C" # endif @@ -29,46 +23,44 @@ int ERR_load_OSSL_STORE_strings(void); /* * OSSL_STORE function codes. */ -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define OSSL_STORE_F_FILE_CTRL 0 -# define OSSL_STORE_F_FILE_FIND 0 -# define OSSL_STORE_F_FILE_GET_PASS 0 -# define OSSL_STORE_F_FILE_LOAD 0 -# define OSSL_STORE_F_FILE_LOAD_TRY_DECODE 0 -# define OSSL_STORE_F_FILE_NAME_TO_URI 0 -# define OSSL_STORE_F_FILE_OPEN 0 -# define OSSL_STORE_F_OSSL_STORE_ATTACH_PEM_BIO 0 -# define OSSL_STORE_F_OSSL_STORE_EXPECT 0 -# define OSSL_STORE_F_OSSL_STORE_FILE_ATTACH_PEM_BIO_INT 0 -# define OSSL_STORE_F_OSSL_STORE_FIND 0 -# define OSSL_STORE_F_OSSL_STORE_GET0_LOADER_INT 0 -# define OSSL_STORE_F_OSSL_STORE_INFO_GET1_CERT 0 -# define OSSL_STORE_F_OSSL_STORE_INFO_GET1_CRL 0 -# define OSSL_STORE_F_OSSL_STORE_INFO_GET1_NAME 0 -# define OSSL_STORE_F_OSSL_STORE_INFO_GET1_NAME_DESCRIPTION 0 -# define OSSL_STORE_F_OSSL_STORE_INFO_GET1_PARAMS 0 -# define OSSL_STORE_F_OSSL_STORE_INFO_GET1_PKEY 0 -# define OSSL_STORE_F_OSSL_STORE_INFO_NEW_CERT 0 -# define OSSL_STORE_F_OSSL_STORE_INFO_NEW_CRL 0 -# define OSSL_STORE_F_OSSL_STORE_INFO_NEW_EMBEDDED 0 -# define OSSL_STORE_F_OSSL_STORE_INFO_NEW_NAME 0 -# define OSSL_STORE_F_OSSL_STORE_INFO_NEW_PARAMS 0 -# define OSSL_STORE_F_OSSL_STORE_INFO_NEW_PKEY 0 -# define OSSL_STORE_F_OSSL_STORE_INFO_SET0_NAME_DESCRIPTION 0 -# define OSSL_STORE_F_OSSL_STORE_INIT_ONCE 0 -# define OSSL_STORE_F_OSSL_STORE_LOADER_NEW 0 -# define OSSL_STORE_F_OSSL_STORE_OPEN 0 -# define OSSL_STORE_F_OSSL_STORE_OPEN_INT 0 -# define OSSL_STORE_F_OSSL_STORE_REGISTER_LOADER_INT 0 -# define OSSL_STORE_F_OSSL_STORE_SEARCH_BY_ALIAS 0 -# define OSSL_STORE_F_OSSL_STORE_SEARCH_BY_ISSUER_SERIAL 0 -# define OSSL_STORE_F_OSSL_STORE_SEARCH_BY_KEY_FINGERPRINT 0 -# define OSSL_STORE_F_OSSL_STORE_SEARCH_BY_NAME 0 -# define OSSL_STORE_F_OSSL_STORE_UNREGISTER_LOADER_INT 0 -# define OSSL_STORE_F_TRY_DECODE_PARAMS 0 -# define OSSL_STORE_F_TRY_DECODE_PKCS12 0 -# define OSSL_STORE_F_TRY_DECODE_PKCS8ENCRYPTED 0 -# endif +# define OSSL_STORE_F_FILE_CTRL 129 +# define OSSL_STORE_F_FILE_FIND 138 +# define OSSL_STORE_F_FILE_GET_PASS 118 +# define OSSL_STORE_F_FILE_LOAD 119 +# define OSSL_STORE_F_FILE_LOAD_TRY_DECODE 124 +# define OSSL_STORE_F_FILE_NAME_TO_URI 126 +# define OSSL_STORE_F_FILE_OPEN 120 +# define OSSL_STORE_F_OSSL_STORE_ATTACH_PEM_BIO 127 +# define OSSL_STORE_F_OSSL_STORE_EXPECT 130 +# define OSSL_STORE_F_OSSL_STORE_FILE_ATTACH_PEM_BIO_INT 128 +# define OSSL_STORE_F_OSSL_STORE_FIND 131 +# define OSSL_STORE_F_OSSL_STORE_GET0_LOADER_INT 100 +# define OSSL_STORE_F_OSSL_STORE_INFO_GET1_CERT 101 +# define OSSL_STORE_F_OSSL_STORE_INFO_GET1_CRL 102 +# define OSSL_STORE_F_OSSL_STORE_INFO_GET1_NAME 103 +# define OSSL_STORE_F_OSSL_STORE_INFO_GET1_NAME_DESCRIPTION 135 +# define OSSL_STORE_F_OSSL_STORE_INFO_GET1_PARAMS 104 +# define OSSL_STORE_F_OSSL_STORE_INFO_GET1_PKEY 105 +# define OSSL_STORE_F_OSSL_STORE_INFO_NEW_CERT 106 +# define OSSL_STORE_F_OSSL_STORE_INFO_NEW_CRL 107 +# define OSSL_STORE_F_OSSL_STORE_INFO_NEW_EMBEDDED 123 +# define OSSL_STORE_F_OSSL_STORE_INFO_NEW_NAME 109 +# define OSSL_STORE_F_OSSL_STORE_INFO_NEW_PARAMS 110 +# define OSSL_STORE_F_OSSL_STORE_INFO_NEW_PKEY 111 +# define OSSL_STORE_F_OSSL_STORE_INFO_SET0_NAME_DESCRIPTION 134 +# define OSSL_STORE_F_OSSL_STORE_INIT_ONCE 112 +# define OSSL_STORE_F_OSSL_STORE_LOADER_NEW 113 +# define OSSL_STORE_F_OSSL_STORE_OPEN 114 +# define OSSL_STORE_F_OSSL_STORE_OPEN_INT 115 +# define OSSL_STORE_F_OSSL_STORE_REGISTER_LOADER_INT 117 +# define OSSL_STORE_F_OSSL_STORE_SEARCH_BY_ALIAS 132 +# define OSSL_STORE_F_OSSL_STORE_SEARCH_BY_ISSUER_SERIAL 133 +# define OSSL_STORE_F_OSSL_STORE_SEARCH_BY_KEY_FINGERPRINT 136 +# define OSSL_STORE_F_OSSL_STORE_SEARCH_BY_NAME 137 +# define OSSL_STORE_F_OSSL_STORE_UNREGISTER_LOADER_INT 116 +# define OSSL_STORE_F_TRY_DECODE_PARAMS 121 +# define OSSL_STORE_F_TRY_DECODE_PKCS12 122 +# define OSSL_STORE_F_TRY_DECODE_PKCS8ENCRYPTED 125 /* * OSSL_STORE reason codes. diff --git a/linux_amd64/include/openssl/symhacks.h b/linux_amd64/include/openssl/symhacks.h index d3eacc2..156ea6e 100644 --- a/linux_amd64/include/openssl/symhacks.h +++ b/linux_amd64/include/openssl/symhacks.h @@ -1,20 +1,14 @@ /* * Copyright 1999-2018 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_SYMHACKS_H -# define OPENSSL_SYMHACKS_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_SYMHACKS_H -# endif +#ifndef HEADER_SYMHACKS_H +# define HEADER_SYMHACKS_H # include diff --git a/linux_amd64/include/openssl/tls1.h b/linux_amd64/include/openssl/tls1.h index 9181e0d..76d9fda 100644 --- a/linux_amd64/include/openssl/tls1.h +++ b/linux_amd64/include/openssl/tls1.h @@ -1,22 +1,16 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_TLS1_H -# define OPENSSL_TLS1_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_TLS1_H -# endif +#ifndef HEADER_TLS1_H +# define HEADER_TLS1_H # include # include @@ -34,9 +28,7 @@ extern "C" { # define TLS1_1_VERSION 0x0302 # define TLS1_2_VERSION 0x0303 # define TLS1_3_VERSION 0x0304 -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define TLS_MAX_VERSION TLS1_3_VERSION -# endif +# define TLS_MAX_VERSION TLS1_3_VERSION /* Special value for method supporting multiple versions */ # define TLS_ANY_VERSION 0x10000 @@ -115,6 +107,9 @@ extern "C" { /* ExtensionType value from RFC5764 */ # define TLSEXT_TYPE_use_srtp 14 +/* ExtensionType value from RFC5620 */ +# define TLSEXT_TYPE_heartbeat 15 + /* ExtensionType value from RFC7301 */ # define TLSEXT_TYPE_application_layer_protocol_negotiation 16 @@ -327,14 +322,38 @@ __owur int SSL_check_chain(SSL *s, X509 *x, EVP_PKEY *pk, STACK_OF(X509) *chain) # define SSL_CTX_get_tlsext_status_type(ssl) \ SSL_CTX_ctrl(ssl,SSL_CTRL_GET_TLSEXT_STATUS_REQ_TYPE,0,NULL) -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define SSL_CTX_set_tlsext_ticket_key_cb(ssl, cb) \ +# define SSL_CTX_set_tlsext_ticket_key_cb(ssl, cb) \ SSL_CTX_callback_ctrl(ssl,SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB,\ (void (*)(void))cb) + +# ifndef OPENSSL_NO_HEARTBEATS +# define SSL_DTLSEXT_HB_ENABLED 0x01 +# define SSL_DTLSEXT_HB_DONT_SEND_REQUESTS 0x02 +# define SSL_DTLSEXT_HB_DONT_RECV_REQUESTS 0x04 +# define SSL_get_dtlsext_heartbeat_pending(ssl) \ + SSL_ctrl(ssl,SSL_CTRL_GET_DTLS_EXT_HEARTBEAT_PENDING,0,NULL) +# define SSL_set_dtlsext_heartbeat_no_requests(ssl, arg) \ + SSL_ctrl(ssl,SSL_CTRL_SET_DTLS_EXT_HEARTBEAT_NO_REQUESTS,arg,NULL) + +# if OPENSSL_API_COMPAT < 0x10100000L +# define SSL_CTRL_TLS_EXT_SEND_HEARTBEAT \ + SSL_CTRL_DTLS_EXT_SEND_HEARTBEAT +# define SSL_CTRL_GET_TLS_EXT_HEARTBEAT_PENDING \ + SSL_CTRL_GET_DTLS_EXT_HEARTBEAT_PENDING +# define SSL_CTRL_SET_TLS_EXT_HEARTBEAT_NO_REQUESTS \ + SSL_CTRL_SET_DTLS_EXT_HEARTBEAT_NO_REQUESTS +# define SSL_TLSEXT_HB_ENABLED \ + SSL_DTLSEXT_HB_ENABLED +# define SSL_TLSEXT_HB_DONT_SEND_REQUESTS \ + SSL_DTLSEXT_HB_DONT_SEND_REQUESTS +# define SSL_TLSEXT_HB_DONT_RECV_REQUESTS \ + SSL_DTLSEXT_HB_DONT_RECV_REQUESTS +# define SSL_get_tlsext_heartbeat_pending(ssl) \ + SSL_get_dtlsext_heartbeat_pending(ssl) +# define SSL_set_tlsext_heartbeat_no_requests(ssl, arg) \ + SSL_set_dtlsext_heartbeat_no_requests(ssl,arg) +# endif # endif -int SSL_CTX_set_tlsext_ticket_key_evp_cb - (SSL_CTX *ctx, int (*fp)(SSL *, unsigned char *, unsigned char *, - EVP_CIPHER_CTX *, EVP_MAC_CTX *, int)); /* PSK ciphersuites from 4279 */ # define TLS1_CK_PSK_WITH_RC4_128_SHA 0x0300008A diff --git a/linux_amd64/include/openssl/ts.h b/linux_amd64/include/openssl/ts.h index 1229838..3b58aa5 100644 --- a/linux_amd64/include/openssl/ts.h +++ b/linux_amd64/include/openssl/ts.h @@ -1,20 +1,14 @@ /* * Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_TS_H -# define OPENSSL_TS_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_TS_H -# endif +#ifndef HEADER_TS_H +# define HEADER_TS_H # include @@ -29,7 +23,6 @@ # include # include # include -# include # ifdef __cplusplus extern "C" { # endif @@ -62,61 +55,126 @@ typedef struct TS_tst_info_st TS_TST_INFO; typedef struct TS_status_info_st TS_STATUS_INFO; +typedef struct ESS_issuer_serial ESS_ISSUER_SERIAL; +typedef struct ESS_cert_id ESS_CERT_ID; +typedef struct ESS_signing_cert ESS_SIGNING_CERT; + +DEFINE_STACK_OF(ESS_CERT_ID) + +typedef struct ESS_cert_id_v2_st ESS_CERT_ID_V2; +typedef struct ESS_signing_cert_v2_st ESS_SIGNING_CERT_V2; + +DEFINE_STACK_OF(ESS_CERT_ID_V2) typedef struct TS_resp_st TS_RESP; -DECLARE_ASN1_ALLOC_FUNCTIONS(TS_REQ) -DECLARE_ASN1_ENCODE_FUNCTIONS_only(TS_REQ, TS_REQ) -DECLARE_ASN1_DUP_FUNCTION(TS_REQ) +TS_REQ *TS_REQ_new(void); +void TS_REQ_free(TS_REQ *a); +int i2d_TS_REQ(const TS_REQ *a, unsigned char **pp); +TS_REQ *d2i_TS_REQ(TS_REQ **a, const unsigned char **pp, long length); + +TS_REQ *TS_REQ_dup(TS_REQ *a); #ifndef OPENSSL_NO_STDIO TS_REQ *d2i_TS_REQ_fp(FILE *fp, TS_REQ **a); -int i2d_TS_REQ_fp(FILE *fp, const TS_REQ *a); +int i2d_TS_REQ_fp(FILE *fp, TS_REQ *a); #endif TS_REQ *d2i_TS_REQ_bio(BIO *fp, TS_REQ **a); -int i2d_TS_REQ_bio(BIO *fp, const TS_REQ *a); +int i2d_TS_REQ_bio(BIO *fp, TS_REQ *a); -DECLARE_ASN1_ALLOC_FUNCTIONS(TS_MSG_IMPRINT) -DECLARE_ASN1_ENCODE_FUNCTIONS_only(TS_MSG_IMPRINT, TS_MSG_IMPRINT) -DECLARE_ASN1_DUP_FUNCTION(TS_MSG_IMPRINT) +TS_MSG_IMPRINT *TS_MSG_IMPRINT_new(void); +void TS_MSG_IMPRINT_free(TS_MSG_IMPRINT *a); +int i2d_TS_MSG_IMPRINT(const TS_MSG_IMPRINT *a, unsigned char **pp); +TS_MSG_IMPRINT *d2i_TS_MSG_IMPRINT(TS_MSG_IMPRINT **a, + const unsigned char **pp, long length); + +TS_MSG_IMPRINT *TS_MSG_IMPRINT_dup(TS_MSG_IMPRINT *a); #ifndef OPENSSL_NO_STDIO TS_MSG_IMPRINT *d2i_TS_MSG_IMPRINT_fp(FILE *fp, TS_MSG_IMPRINT **a); -int i2d_TS_MSG_IMPRINT_fp(FILE *fp, const TS_MSG_IMPRINT *a); +int i2d_TS_MSG_IMPRINT_fp(FILE *fp, TS_MSG_IMPRINT *a); #endif TS_MSG_IMPRINT *d2i_TS_MSG_IMPRINT_bio(BIO *bio, TS_MSG_IMPRINT **a); -int i2d_TS_MSG_IMPRINT_bio(BIO *bio, const TS_MSG_IMPRINT *a); +int i2d_TS_MSG_IMPRINT_bio(BIO *bio, TS_MSG_IMPRINT *a); -DECLARE_ASN1_ALLOC_FUNCTIONS(TS_RESP) -DECLARE_ASN1_ENCODE_FUNCTIONS_only(TS_RESP, TS_RESP) -DECLARE_ASN1_DUP_FUNCTION(TS_RESP) +TS_RESP *TS_RESP_new(void); +void TS_RESP_free(TS_RESP *a); +int i2d_TS_RESP(const TS_RESP *a, unsigned char **pp); +TS_RESP *d2i_TS_RESP(TS_RESP **a, const unsigned char **pp, long length); +TS_TST_INFO *PKCS7_to_TS_TST_INFO(PKCS7 *token); +TS_RESP *TS_RESP_dup(TS_RESP *a); #ifndef OPENSSL_NO_STDIO TS_RESP *d2i_TS_RESP_fp(FILE *fp, TS_RESP **a); -int i2d_TS_RESP_fp(FILE *fp, const TS_RESP *a); +int i2d_TS_RESP_fp(FILE *fp, TS_RESP *a); #endif TS_RESP *d2i_TS_RESP_bio(BIO *bio, TS_RESP **a); -int i2d_TS_RESP_bio(BIO *bio, const TS_RESP *a); +int i2d_TS_RESP_bio(BIO *bio, TS_RESP *a); -DECLARE_ASN1_ALLOC_FUNCTIONS(TS_STATUS_INFO) -DECLARE_ASN1_ENCODE_FUNCTIONS_only(TS_STATUS_INFO, TS_STATUS_INFO) -DECLARE_ASN1_DUP_FUNCTION(TS_STATUS_INFO) +TS_STATUS_INFO *TS_STATUS_INFO_new(void); +void TS_STATUS_INFO_free(TS_STATUS_INFO *a); +int i2d_TS_STATUS_INFO(const TS_STATUS_INFO *a, unsigned char **pp); +TS_STATUS_INFO *d2i_TS_STATUS_INFO(TS_STATUS_INFO **a, + const unsigned char **pp, long length); +TS_STATUS_INFO *TS_STATUS_INFO_dup(TS_STATUS_INFO *a); -DECLARE_ASN1_ALLOC_FUNCTIONS(TS_TST_INFO) -DECLARE_ASN1_ENCODE_FUNCTIONS_only(TS_TST_INFO, TS_TST_INFO) -DECLARE_ASN1_DUP_FUNCTION(TS_TST_INFO) -TS_TST_INFO *PKCS7_to_TS_TST_INFO(PKCS7 *token); +TS_TST_INFO *TS_TST_INFO_new(void); +void TS_TST_INFO_free(TS_TST_INFO *a); +int i2d_TS_TST_INFO(const TS_TST_INFO *a, unsigned char **pp); +TS_TST_INFO *d2i_TS_TST_INFO(TS_TST_INFO **a, const unsigned char **pp, + long length); +TS_TST_INFO *TS_TST_INFO_dup(TS_TST_INFO *a); #ifndef OPENSSL_NO_STDIO TS_TST_INFO *d2i_TS_TST_INFO_fp(FILE *fp, TS_TST_INFO **a); -int i2d_TS_TST_INFO_fp(FILE *fp, const TS_TST_INFO *a); +int i2d_TS_TST_INFO_fp(FILE *fp, TS_TST_INFO *a); #endif TS_TST_INFO *d2i_TS_TST_INFO_bio(BIO *bio, TS_TST_INFO **a); -int i2d_TS_TST_INFO_bio(BIO *bio, const TS_TST_INFO *a); +int i2d_TS_TST_INFO_bio(BIO *bio, TS_TST_INFO *a); -DECLARE_ASN1_ALLOC_FUNCTIONS(TS_ACCURACY) -DECLARE_ASN1_ENCODE_FUNCTIONS_only(TS_ACCURACY, TS_ACCURACY) -DECLARE_ASN1_DUP_FUNCTION(TS_ACCURACY) +TS_ACCURACY *TS_ACCURACY_new(void); +void TS_ACCURACY_free(TS_ACCURACY *a); +int i2d_TS_ACCURACY(const TS_ACCURACY *a, unsigned char **pp); +TS_ACCURACY *d2i_TS_ACCURACY(TS_ACCURACY **a, const unsigned char **pp, + long length); +TS_ACCURACY *TS_ACCURACY_dup(TS_ACCURACY *a); + +ESS_ISSUER_SERIAL *ESS_ISSUER_SERIAL_new(void); +void ESS_ISSUER_SERIAL_free(ESS_ISSUER_SERIAL *a); +int i2d_ESS_ISSUER_SERIAL(const ESS_ISSUER_SERIAL *a, unsigned char **pp); +ESS_ISSUER_SERIAL *d2i_ESS_ISSUER_SERIAL(ESS_ISSUER_SERIAL **a, + const unsigned char **pp, + long length); +ESS_ISSUER_SERIAL *ESS_ISSUER_SERIAL_dup(ESS_ISSUER_SERIAL *a); + +ESS_CERT_ID *ESS_CERT_ID_new(void); +void ESS_CERT_ID_free(ESS_CERT_ID *a); +int i2d_ESS_CERT_ID(const ESS_CERT_ID *a, unsigned char **pp); +ESS_CERT_ID *d2i_ESS_CERT_ID(ESS_CERT_ID **a, const unsigned char **pp, + long length); +ESS_CERT_ID *ESS_CERT_ID_dup(ESS_CERT_ID *a); + +ESS_SIGNING_CERT *ESS_SIGNING_CERT_new(void); +void ESS_SIGNING_CERT_free(ESS_SIGNING_CERT *a); +int i2d_ESS_SIGNING_CERT(const ESS_SIGNING_CERT *a, unsigned char **pp); +ESS_SIGNING_CERT *d2i_ESS_SIGNING_CERT(ESS_SIGNING_CERT **a, + const unsigned char **pp, long length); +ESS_SIGNING_CERT *ESS_SIGNING_CERT_dup(ESS_SIGNING_CERT *a); + +ESS_CERT_ID_V2 *ESS_CERT_ID_V2_new(void); +void ESS_CERT_ID_V2_free(ESS_CERT_ID_V2 *a); +int i2d_ESS_CERT_ID_V2(const ESS_CERT_ID_V2 *a, unsigned char **pp); +ESS_CERT_ID_V2 *d2i_ESS_CERT_ID_V2(ESS_CERT_ID_V2 **a, + const unsigned char **pp, long length); +ESS_CERT_ID_V2 *ESS_CERT_ID_V2_dup(ESS_CERT_ID_V2 *a); + +ESS_SIGNING_CERT_V2 *ESS_SIGNING_CERT_V2_new(void); +void ESS_SIGNING_CERT_V2_free(ESS_SIGNING_CERT_V2 *a); +int i2d_ESS_SIGNING_CERT_V2(const ESS_SIGNING_CERT_V2 *a, unsigned char **pp); +ESS_SIGNING_CERT_V2 *d2i_ESS_SIGNING_CERT_V2(ESS_SIGNING_CERT_V2 **a, + const unsigned char **pp, + long length); +ESS_SIGNING_CERT_V2 *ESS_SIGNING_CERT_V2_dup(ESS_SIGNING_CERT_V2 *a); int TS_REQ_set_version(TS_REQ *a, long version); long TS_REQ_get_version(const TS_REQ *a); @@ -421,10 +479,7 @@ BIO *TS_VERIFY_CTX_set_data(TS_VERIFY_CTX *ctx, BIO *b); unsigned char *TS_VERIFY_CTX_set_imprint(TS_VERIFY_CTX *ctx, unsigned char *hexstr, long len); X509_STORE *TS_VERIFY_CTX_set_store(TS_VERIFY_CTX *ctx, X509_STORE *s); -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define TS_VERIFY_CTS_set_certs(ctx, cert) TS_VERIFY_CTX_set_certs(ctx,cert) -# endif -STACK_OF(X509) *TS_VERIFY_CTX_set_certs(TS_VERIFY_CTX *ctx, STACK_OF(X509) *certs); +STACK_OF(X509) *TS_VERIFY_CTS_set_certs(TS_VERIFY_CTX *ctx, STACK_OF(X509) *certs); /*- * If ctx is NULL, it allocates and returns a new object, otherwise diff --git a/linux_amd64/include/openssl/tserr.h b/linux_amd64/include/openssl/tserr.h index 4684dc2..07f2333 100644 --- a/linux_amd64/include/openssl/tserr.h +++ b/linux_amd64/include/openssl/tserr.h @@ -2,25 +2,19 @@ * Generated by util/mkerr.pl DO NOT EDIT * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_TSERR_H -# define OPENSSL_TSERR_H -# pragma once +#ifndef HEADER_TSERR_H +# define HEADER_TSERR_H -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_TSERR_H +# ifndef HEADER_SYMHACKS_H +# include # endif -# include -# include - - # include # ifndef OPENSSL_NO_TS @@ -33,59 +27,63 @@ int ERR_load_TS_strings(void); /* * TS function codes. */ -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define TS_F_DEF_SERIAL_CB 0 -# define TS_F_DEF_TIME_CB 0 -# define TS_F_INT_TS_RESP_VERIFY_TOKEN 0 -# define TS_F_PKCS7_TO_TS_TST_INFO 0 -# define TS_F_TS_ACCURACY_SET_MICROS 0 -# define TS_F_TS_ACCURACY_SET_MILLIS 0 -# define TS_F_TS_ACCURACY_SET_SECONDS 0 -# define TS_F_TS_CHECK_IMPRINTS 0 -# define TS_F_TS_CHECK_NONCES 0 -# define TS_F_TS_CHECK_POLICY 0 -# define TS_F_TS_CHECK_SIGNING_CERTS 0 -# define TS_F_TS_CHECK_STATUS_INFO 0 -# define TS_F_TS_COMPUTE_IMPRINT 0 -# define TS_F_TS_CONF_INVALID 0 -# define TS_F_TS_CONF_LOAD_CERT 0 -# define TS_F_TS_CONF_LOAD_CERTS 0 -# define TS_F_TS_CONF_LOAD_KEY 0 -# define TS_F_TS_CONF_LOOKUP_FAIL 0 -# define TS_F_TS_CONF_SET_DEFAULT_ENGINE 0 -# define TS_F_TS_GET_STATUS_TEXT 0 -# define TS_F_TS_MSG_IMPRINT_SET_ALGO 0 -# define TS_F_TS_REQ_SET_MSG_IMPRINT 0 -# define TS_F_TS_REQ_SET_NONCE 0 -# define TS_F_TS_REQ_SET_POLICY_ID 0 -# define TS_F_TS_RESP_CREATE_RESPONSE 0 -# define TS_F_TS_RESP_CREATE_TST_INFO 0 -# define TS_F_TS_RESP_CTX_ADD_FAILURE_INFO 0 -# define TS_F_TS_RESP_CTX_ADD_MD 0 -# define TS_F_TS_RESP_CTX_ADD_POLICY 0 -# define TS_F_TS_RESP_CTX_NEW 0 -# define TS_F_TS_RESP_CTX_SET_ACCURACY 0 -# define TS_F_TS_RESP_CTX_SET_CERTS 0 -# define TS_F_TS_RESP_CTX_SET_DEF_POLICY 0 -# define TS_F_TS_RESP_CTX_SET_SIGNER_CERT 0 -# define TS_F_TS_RESP_CTX_SET_STATUS_INFO 0 -# define TS_F_TS_RESP_GET_POLICY 0 -# define TS_F_TS_RESP_SET_GENTIME_WITH_PRECISION 0 -# define TS_F_TS_RESP_SET_STATUS_INFO 0 -# define TS_F_TS_RESP_SET_TST_INFO 0 -# define TS_F_TS_RESP_SIGN 0 -# define TS_F_TS_RESP_VERIFY_SIGNATURE 0 -# define TS_F_TS_TST_INFO_SET_ACCURACY 0 -# define TS_F_TS_TST_INFO_SET_MSG_IMPRINT 0 -# define TS_F_TS_TST_INFO_SET_NONCE 0 -# define TS_F_TS_TST_INFO_SET_POLICY_ID 0 -# define TS_F_TS_TST_INFO_SET_SERIAL 0 -# define TS_F_TS_TST_INFO_SET_TIME 0 -# define TS_F_TS_TST_INFO_SET_TSA 0 -# define TS_F_TS_VERIFY 0 -# define TS_F_TS_VERIFY_CERT 0 -# define TS_F_TS_VERIFY_CTX_NEW 0 -# endif +# define TS_F_DEF_SERIAL_CB 110 +# define TS_F_DEF_TIME_CB 111 +# define TS_F_ESS_ADD_SIGNING_CERT 112 +# define TS_F_ESS_ADD_SIGNING_CERT_V2 147 +# define TS_F_ESS_CERT_ID_NEW_INIT 113 +# define TS_F_ESS_CERT_ID_V2_NEW_INIT 156 +# define TS_F_ESS_SIGNING_CERT_NEW_INIT 114 +# define TS_F_ESS_SIGNING_CERT_V2_NEW_INIT 157 +# define TS_F_INT_TS_RESP_VERIFY_TOKEN 149 +# define TS_F_PKCS7_TO_TS_TST_INFO 148 +# define TS_F_TS_ACCURACY_SET_MICROS 115 +# define TS_F_TS_ACCURACY_SET_MILLIS 116 +# define TS_F_TS_ACCURACY_SET_SECONDS 117 +# define TS_F_TS_CHECK_IMPRINTS 100 +# define TS_F_TS_CHECK_NONCES 101 +# define TS_F_TS_CHECK_POLICY 102 +# define TS_F_TS_CHECK_SIGNING_CERTS 103 +# define TS_F_TS_CHECK_STATUS_INFO 104 +# define TS_F_TS_COMPUTE_IMPRINT 145 +# define TS_F_TS_CONF_INVALID 151 +# define TS_F_TS_CONF_LOAD_CERT 153 +# define TS_F_TS_CONF_LOAD_CERTS 154 +# define TS_F_TS_CONF_LOAD_KEY 155 +# define TS_F_TS_CONF_LOOKUP_FAIL 152 +# define TS_F_TS_CONF_SET_DEFAULT_ENGINE 146 +# define TS_F_TS_GET_STATUS_TEXT 105 +# define TS_F_TS_MSG_IMPRINT_SET_ALGO 118 +# define TS_F_TS_REQ_SET_MSG_IMPRINT 119 +# define TS_F_TS_REQ_SET_NONCE 120 +# define TS_F_TS_REQ_SET_POLICY_ID 121 +# define TS_F_TS_RESP_CREATE_RESPONSE 122 +# define TS_F_TS_RESP_CREATE_TST_INFO 123 +# define TS_F_TS_RESP_CTX_ADD_FAILURE_INFO 124 +# define TS_F_TS_RESP_CTX_ADD_MD 125 +# define TS_F_TS_RESP_CTX_ADD_POLICY 126 +# define TS_F_TS_RESP_CTX_NEW 127 +# define TS_F_TS_RESP_CTX_SET_ACCURACY 128 +# define TS_F_TS_RESP_CTX_SET_CERTS 129 +# define TS_F_TS_RESP_CTX_SET_DEF_POLICY 130 +# define TS_F_TS_RESP_CTX_SET_SIGNER_CERT 131 +# define TS_F_TS_RESP_CTX_SET_STATUS_INFO 132 +# define TS_F_TS_RESP_GET_POLICY 133 +# define TS_F_TS_RESP_SET_GENTIME_WITH_PRECISION 134 +# define TS_F_TS_RESP_SET_STATUS_INFO 135 +# define TS_F_TS_RESP_SET_TST_INFO 150 +# define TS_F_TS_RESP_SIGN 136 +# define TS_F_TS_RESP_VERIFY_SIGNATURE 106 +# define TS_F_TS_TST_INFO_SET_ACCURACY 137 +# define TS_F_TS_TST_INFO_SET_MSG_IMPRINT 138 +# define TS_F_TS_TST_INFO_SET_NONCE 139 +# define TS_F_TS_TST_INFO_SET_POLICY_ID 140 +# define TS_F_TS_TST_INFO_SET_SERIAL 141 +# define TS_F_TS_TST_INFO_SET_TIME 142 +# define TS_F_TS_TST_INFO_SET_TSA 143 +# define TS_F_TS_VERIFY 108 +# define TS_F_TS_VERIFY_CERT 109 +# define TS_F_TS_VERIFY_CTX_NEW 144 /* * TS reason codes. diff --git a/linux_amd64/include/openssl/txt_db.h b/linux_amd64/include/openssl/txt_db.h index af169a3..ec981a4 100644 --- a/linux_amd64/include/openssl/txt_db.h +++ b/linux_amd64/include/openssl/txt_db.h @@ -1,20 +1,14 @@ /* * Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_TXT_DB_H -# define OPENSSL_TXT_DB_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_TXT_DB_H -# endif +#ifndef HEADER_TXT_DB_H +# define HEADER_TXT_DB_H # include # include diff --git a/linux_amd64/include/openssl/ui.h b/linux_amd64/include/openssl/ui.h index 56fb6f5..7c721ec 100644 --- a/linux_amd64/include/openssl/ui.h +++ b/linux_amd64/include/openssl/ui.h @@ -1,33 +1,27 @@ /* * Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_UI_H -# define OPENSSL_UI_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_UI_H -# endif +#ifndef HEADER_UI_H +# define HEADER_UI_H # include -# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +# if OPENSSL_API_COMPAT < 0x10100000L # include # endif # include # include -# include +# include # include /* For compatibility reasons, the macro OPENSSL_NO_UI is currently retained */ -# ifndef OPENSSL_NO_DEPRECATED_3_0 +# if OPENSSL_API_COMPAT < 0x10200000L # ifdef OPENSSL_NO_UI_CONSOLE # define OPENSSL_NO_UI # endif diff --git a/linux_amd64/include/openssl/uierr.h b/linux_amd64/include/openssl/uierr.h index dbc6432..bd68864 100644 --- a/linux_amd64/include/openssl/uierr.h +++ b/linux_amd64/include/openssl/uierr.h @@ -2,25 +2,19 @@ * Generated by util/mkerr.pl DO NOT EDIT * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_UIERR_H -# define OPENSSL_UIERR_H -# pragma once +#ifndef HEADER_UIERR_H +# define HEADER_UIERR_H -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_UIERR_H +# ifndef HEADER_SYMHACKS_H +# include # endif -# include -# include - - # ifdef __cplusplus extern "C" # endif @@ -29,29 +23,27 @@ int ERR_load_UI_strings(void); /* * UI function codes. */ -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define UI_F_CLOSE_CONSOLE 0 -# define UI_F_ECHO_CONSOLE 0 -# define UI_F_GENERAL_ALLOCATE_BOOLEAN 0 -# define UI_F_GENERAL_ALLOCATE_PROMPT 0 -# define UI_F_NOECHO_CONSOLE 0 -# define UI_F_OPEN_CONSOLE 0 -# define UI_F_UI_CONSTRUCT_PROMPT 0 -# define UI_F_UI_CREATE_METHOD 0 -# define UI_F_UI_CTRL 0 -# define UI_F_UI_DUP_ERROR_STRING 0 -# define UI_F_UI_DUP_INFO_STRING 0 -# define UI_F_UI_DUP_INPUT_BOOLEAN 0 -# define UI_F_UI_DUP_INPUT_STRING 0 -# define UI_F_UI_DUP_USER_DATA 0 -# define UI_F_UI_DUP_VERIFY_STRING 0 -# define UI_F_UI_GET0_RESULT 0 -# define UI_F_UI_GET_RESULT_LENGTH 0 -# define UI_F_UI_NEW_METHOD 0 -# define UI_F_UI_PROCESS 0 -# define UI_F_UI_SET_RESULT 0 -# define UI_F_UI_SET_RESULT_EX 0 -# endif +# define UI_F_CLOSE_CONSOLE 115 +# define UI_F_ECHO_CONSOLE 116 +# define UI_F_GENERAL_ALLOCATE_BOOLEAN 108 +# define UI_F_GENERAL_ALLOCATE_PROMPT 109 +# define UI_F_NOECHO_CONSOLE 117 +# define UI_F_OPEN_CONSOLE 114 +# define UI_F_UI_CONSTRUCT_PROMPT 121 +# define UI_F_UI_CREATE_METHOD 112 +# define UI_F_UI_CTRL 111 +# define UI_F_UI_DUP_ERROR_STRING 101 +# define UI_F_UI_DUP_INFO_STRING 102 +# define UI_F_UI_DUP_INPUT_BOOLEAN 110 +# define UI_F_UI_DUP_INPUT_STRING 103 +# define UI_F_UI_DUP_USER_DATA 118 +# define UI_F_UI_DUP_VERIFY_STRING 106 +# define UI_F_UI_GET0_RESULT 107 +# define UI_F_UI_GET_RESULT_LENGTH 119 +# define UI_F_UI_NEW_METHOD 104 +# define UI_F_UI_PROCESS 113 +# define UI_F_UI_SET_RESULT 105 +# define UI_F_UI_SET_RESULT_EX 120 /* * UI reason codes. diff --git a/linux_amd64/include/openssl/whrlpool.h b/linux_amd64/include/openssl/whrlpool.h index cc8802f..20ea350 100644 --- a/linux_amd64/include/openssl/whrlpool.h +++ b/linux_amd64/include/openssl/whrlpool.h @@ -1,36 +1,27 @@ /* * Copyright 2005-2016 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_WHRLPOOL_H -# define OPENSSL_WHRLPOOL_H -# pragma once +#ifndef HEADER_WHRLPOOL_H +# define HEADER_WHRLPOOL_H -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_WHRLPOOL_H -# endif - -# include +#include # ifndef OPENSSL_NO_WHIRLPOOL -# include -# include -# ifdef __cplusplus +# include +# include +# ifdef __cplusplus extern "C" { -# endif +# endif -# define WHIRLPOOL_DIGEST_LENGTH (512/8) - -# if !defined(OPENSSL_NO_DEPRECATED_3_0) - -# define WHIRLPOOL_BBLOCK 512 -# define WHIRLPOOL_COUNTER (256/8) +# define WHIRLPOOL_DIGEST_LENGTH (512/8) +# define WHIRLPOOL_BBLOCK 512 +# define WHIRLPOOL_COUNTER (256/8) typedef struct { union { @@ -42,20 +33,16 @@ typedef struct { unsigned int bitoff; size_t bitlen[WHIRLPOOL_COUNTER / sizeof(size_t)]; } WHIRLPOOL_CTX; -# endif -DEPRECATEDIN_3_0(int WHIRLPOOL_Init(WHIRLPOOL_CTX *c)) -DEPRECATEDIN_3_0(int WHIRLPOOL_Update(WHIRLPOOL_CTX *c, - const void *inp, size_t bytes)) -DEPRECATEDIN_3_0(void WHIRLPOOL_BitUpdate(WHIRLPOOL_CTX *c, const void *inp, - size_t bits)) -DEPRECATEDIN_3_0(int WHIRLPOOL_Final(unsigned char *md, WHIRLPOOL_CTX *c)) -DEPRECATEDIN_3_0(unsigned char *WHIRLPOOL(const void *inp, size_t bytes, - unsigned char *md)) +int WHIRLPOOL_Init(WHIRLPOOL_CTX *c); +int WHIRLPOOL_Update(WHIRLPOOL_CTX *c, const void *inp, size_t bytes); +void WHIRLPOOL_BitUpdate(WHIRLPOOL_CTX *c, const void *inp, size_t bits); +int WHIRLPOOL_Final(unsigned char *md, WHIRLPOOL_CTX *c); +unsigned char *WHIRLPOOL(const void *inp, size_t bytes, unsigned char *md); -# ifdef __cplusplus +# ifdef __cplusplus } -# endif +# endif # endif #endif diff --git a/linux_amd64/include/openssl/x509.h b/linux_amd64/include/openssl/x509.h index a2d6e44..39ca0ba 100644 --- a/linux_amd64/include/openssl/x509.h +++ b/linux_amd64/include/openssl/x509.h @@ -2,23 +2,17 @@ * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_X509_H -# define OPENSSL_X509_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_X509_H -# endif +#ifndef HEADER_X509_H +# define HEADER_X509_H # include -# include +# include # include # include # include @@ -27,7 +21,7 @@ # include # include -# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +# if OPENSSL_API_COMPAT < 0x10100000L # include # include # include @@ -372,10 +366,16 @@ int X509_signature_print(BIO *bp, const X509_ALGOR *alg, int X509_sign(X509 *x, EVP_PKEY *pkey, const EVP_MD *md); int X509_sign_ctx(X509 *x, EVP_MD_CTX *ctx); +# ifndef OPENSSL_NO_OCSP +int X509_http_nbio(OCSP_REQ_CTX *rctx, X509 **pcert); +# endif int X509_REQ_sign(X509_REQ *x, EVP_PKEY *pkey, const EVP_MD *md); int X509_REQ_sign_ctx(X509_REQ *x, EVP_MD_CTX *ctx); int X509_CRL_sign(X509_CRL *x, EVP_PKEY *pkey, const EVP_MD *md); int X509_CRL_sign_ctx(X509_CRL *x, EVP_MD_CTX *ctx); +# ifndef OPENSSL_NO_OCSP +int X509_CRL_http_nbio(OCSP_REQ_CTX *rctx, X509_CRL **pcrl); +# endif int NETSCAPE_SPKI_sign(NETSCAPE_SPKI *x, EVP_PKEY *pkey, const EVP_MD *md); int X509_pubkey_digest(const X509 *data, const EVP_MD *type, @@ -389,101 +389,89 @@ int X509_REQ_digest(const X509_REQ *data, const EVP_MD *type, int X509_NAME_digest(const X509_NAME *data, const EVP_MD *type, unsigned char *md, unsigned int *len); -# if !defined(OPENSSL_NO_SOCK) -X509 *X509_load_http(const char *url, BIO *bio, BIO *rbio, int timeout); -# define X509_http_nbio(url) X509_load_http(url, NULL, NULL, 0) -X509_CRL *X509_CRL_load_http(const char *url, BIO *bio, BIO *rbio, int timeout); -# define X509_CRL_http_nbio(url) X509_CRL_load_http(url, NULL, NULL, 0) -# endif - # ifndef OPENSSL_NO_STDIO X509 *d2i_X509_fp(FILE *fp, X509 **x509); -int i2d_X509_fp(FILE *fp, const X509 *x509); +int i2d_X509_fp(FILE *fp, X509 *x509); X509_CRL *d2i_X509_CRL_fp(FILE *fp, X509_CRL **crl); -int i2d_X509_CRL_fp(FILE *fp, const X509_CRL *crl); +int i2d_X509_CRL_fp(FILE *fp, X509_CRL *crl); X509_REQ *d2i_X509_REQ_fp(FILE *fp, X509_REQ **req); -int i2d_X509_REQ_fp(FILE *fp, const X509_REQ *req); +int i2d_X509_REQ_fp(FILE *fp, X509_REQ *req); # ifndef OPENSSL_NO_RSA RSA *d2i_RSAPrivateKey_fp(FILE *fp, RSA **rsa); -int i2d_RSAPrivateKey_fp(FILE *fp, const RSA *rsa); +int i2d_RSAPrivateKey_fp(FILE *fp, RSA *rsa); RSA *d2i_RSAPublicKey_fp(FILE *fp, RSA **rsa); -int i2d_RSAPublicKey_fp(FILE *fp, const RSA *rsa); +int i2d_RSAPublicKey_fp(FILE *fp, RSA *rsa); RSA *d2i_RSA_PUBKEY_fp(FILE *fp, RSA **rsa); -int i2d_RSA_PUBKEY_fp(FILE *fp, const RSA *rsa); +int i2d_RSA_PUBKEY_fp(FILE *fp, RSA *rsa); # endif # ifndef OPENSSL_NO_DSA DSA *d2i_DSA_PUBKEY_fp(FILE *fp, DSA **dsa); -int i2d_DSA_PUBKEY_fp(FILE *fp, const DSA *dsa); +int i2d_DSA_PUBKEY_fp(FILE *fp, DSA *dsa); DSA *d2i_DSAPrivateKey_fp(FILE *fp, DSA **dsa); -int i2d_DSAPrivateKey_fp(FILE *fp, const DSA *dsa); +int i2d_DSAPrivateKey_fp(FILE *fp, DSA *dsa); # endif # ifndef OPENSSL_NO_EC EC_KEY *d2i_EC_PUBKEY_fp(FILE *fp, EC_KEY **eckey); -int i2d_EC_PUBKEY_fp(FILE *fp, const EC_KEY *eckey); +int i2d_EC_PUBKEY_fp(FILE *fp, EC_KEY *eckey); EC_KEY *d2i_ECPrivateKey_fp(FILE *fp, EC_KEY **eckey); -int i2d_ECPrivateKey_fp(FILE *fp, const EC_KEY *eckey); +int i2d_ECPrivateKey_fp(FILE *fp, EC_KEY *eckey); # endif X509_SIG *d2i_PKCS8_fp(FILE *fp, X509_SIG **p8); -int i2d_PKCS8_fp(FILE *fp, const X509_SIG *p8); -X509_PUBKEY *d2i_X509_PUBKEY_fp(FILE *fp, X509_PUBKEY **xpk); -int i2d_X509_PUBKEY_fp(FILE *fp, const X509_PUBKEY *xpk); +int i2d_PKCS8_fp(FILE *fp, X509_SIG *p8); PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_fp(FILE *fp, PKCS8_PRIV_KEY_INFO **p8inf); -int i2d_PKCS8_PRIV_KEY_INFO_fp(FILE *fp, const PKCS8_PRIV_KEY_INFO *p8inf); -int i2d_PKCS8PrivateKeyInfo_fp(FILE *fp, const EVP_PKEY *key); -int i2d_PrivateKey_fp(FILE *fp, const EVP_PKEY *pkey); +int i2d_PKCS8_PRIV_KEY_INFO_fp(FILE *fp, PKCS8_PRIV_KEY_INFO *p8inf); +int i2d_PKCS8PrivateKeyInfo_fp(FILE *fp, EVP_PKEY *key); +int i2d_PrivateKey_fp(FILE *fp, EVP_PKEY *pkey); EVP_PKEY *d2i_PrivateKey_fp(FILE *fp, EVP_PKEY **a); -int i2d_PUBKEY_fp(FILE *fp, const EVP_PKEY *pkey); +int i2d_PUBKEY_fp(FILE *fp, EVP_PKEY *pkey); EVP_PKEY *d2i_PUBKEY_fp(FILE *fp, EVP_PKEY **a); # endif X509 *d2i_X509_bio(BIO *bp, X509 **x509); -int i2d_X509_bio(BIO *bp, const X509 *x509); +int i2d_X509_bio(BIO *bp, X509 *x509); X509_CRL *d2i_X509_CRL_bio(BIO *bp, X509_CRL **crl); -int i2d_X509_CRL_bio(BIO *bp, const X509_CRL *crl); +int i2d_X509_CRL_bio(BIO *bp, X509_CRL *crl); X509_REQ *d2i_X509_REQ_bio(BIO *bp, X509_REQ **req); -int i2d_X509_REQ_bio(BIO *bp, const X509_REQ *req); +int i2d_X509_REQ_bio(BIO *bp, X509_REQ *req); # ifndef OPENSSL_NO_RSA RSA *d2i_RSAPrivateKey_bio(BIO *bp, RSA **rsa); -int i2d_RSAPrivateKey_bio(BIO *bp, const RSA *rsa); +int i2d_RSAPrivateKey_bio(BIO *bp, RSA *rsa); RSA *d2i_RSAPublicKey_bio(BIO *bp, RSA **rsa); -int i2d_RSAPublicKey_bio(BIO *bp, const RSA *rsa); +int i2d_RSAPublicKey_bio(BIO *bp, RSA *rsa); RSA *d2i_RSA_PUBKEY_bio(BIO *bp, RSA **rsa); -int i2d_RSA_PUBKEY_bio(BIO *bp, const RSA *rsa); +int i2d_RSA_PUBKEY_bio(BIO *bp, RSA *rsa); # endif # ifndef OPENSSL_NO_DSA DSA *d2i_DSA_PUBKEY_bio(BIO *bp, DSA **dsa); -int i2d_DSA_PUBKEY_bio(BIO *bp, const DSA *dsa); +int i2d_DSA_PUBKEY_bio(BIO *bp, DSA *dsa); DSA *d2i_DSAPrivateKey_bio(BIO *bp, DSA **dsa); -int i2d_DSAPrivateKey_bio(BIO *bp, const DSA *dsa); +int i2d_DSAPrivateKey_bio(BIO *bp, DSA *dsa); # endif # ifndef OPENSSL_NO_EC EC_KEY *d2i_EC_PUBKEY_bio(BIO *bp, EC_KEY **eckey); -int i2d_EC_PUBKEY_bio(BIO *bp, const EC_KEY *eckey); +int i2d_EC_PUBKEY_bio(BIO *bp, EC_KEY *eckey); EC_KEY *d2i_ECPrivateKey_bio(BIO *bp, EC_KEY **eckey); -int i2d_ECPrivateKey_bio(BIO *bp, const EC_KEY *eckey); +int i2d_ECPrivateKey_bio(BIO *bp, EC_KEY *eckey); # endif X509_SIG *d2i_PKCS8_bio(BIO *bp, X509_SIG **p8); -int i2d_PKCS8_bio(BIO *bp, const X509_SIG *p8); -X509_PUBKEY *d2i_X509_PUBKEY_bio(BIO *bp, X509_PUBKEY **xpk); -int i2d_X509_PUBKEY_bio(BIO *bp, const X509_PUBKEY *xpk); +int i2d_PKCS8_bio(BIO *bp, X509_SIG *p8); PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_bio(BIO *bp, PKCS8_PRIV_KEY_INFO **p8inf); -int i2d_PKCS8_PRIV_KEY_INFO_bio(BIO *bp, const PKCS8_PRIV_KEY_INFO *p8inf); -int i2d_PKCS8PrivateKeyInfo_bio(BIO *bp, const EVP_PKEY *key); -int i2d_PrivateKey_bio(BIO *bp, const EVP_PKEY *pkey); +int i2d_PKCS8_PRIV_KEY_INFO_bio(BIO *bp, PKCS8_PRIV_KEY_INFO *p8inf); +int i2d_PKCS8PrivateKeyInfo_bio(BIO *bp, EVP_PKEY *key); +int i2d_PrivateKey_bio(BIO *bp, EVP_PKEY *pkey); EVP_PKEY *d2i_PrivateKey_bio(BIO *bp, EVP_PKEY **a); -int i2d_PUBKEY_bio(BIO *bp, const EVP_PKEY *pkey); +int i2d_PUBKEY_bio(BIO *bp, EVP_PKEY *pkey); EVP_PKEY *d2i_PUBKEY_bio(BIO *bp, EVP_PKEY **a); -DECLARE_ASN1_DUP_FUNCTION(X509) -DECLARE_ASN1_DUP_FUNCTION(X509_ALGOR) -DECLARE_ASN1_DUP_FUNCTION(X509_ATTRIBUTE) -DECLARE_ASN1_DUP_FUNCTION(X509_CRL) -DECLARE_ASN1_DUP_FUNCTION(X509_EXTENSION) -DECLARE_ASN1_DUP_FUNCTION(X509_PUBKEY) -DECLARE_ASN1_DUP_FUNCTION(X509_REQ) -DECLARE_ASN1_DUP_FUNCTION(X509_REVOKED) +X509 *X509_dup(X509 *x509); +X509_ATTRIBUTE *X509_ATTRIBUTE_dup(X509_ATTRIBUTE *xa); +X509_EXTENSION *X509_EXTENSION_dup(X509_EXTENSION *ex); +X509_CRL *X509_CRL_dup(X509_CRL *crl); +X509_REVOKED *X509_REVOKED_dup(X509_REVOKED *rev); +X509_REQ *X509_REQ_dup(X509_REQ *req); +X509_ALGOR *X509_ALGOR_dup(X509_ALGOR *xn); int X509_ALGOR_set0(X509_ALGOR *alg, ASN1_OBJECT *aobj, int ptype, void *pval); void X509_ALGOR_get0(const ASN1_OBJECT **paobj, int *pptype, @@ -491,13 +479,11 @@ void X509_ALGOR_get0(const ASN1_OBJECT **paobj, int *pptype, void X509_ALGOR_set_md(X509_ALGOR *alg, const EVP_MD *md); int X509_ALGOR_cmp(const X509_ALGOR *a, const X509_ALGOR *b); -DECLARE_ASN1_DUP_FUNCTION(X509_NAME) -DECLARE_ASN1_DUP_FUNCTION(X509_NAME_ENTRY) +X509_NAME *X509_NAME_dup(X509_NAME *xn); +X509_NAME_ENTRY *X509_NAME_ENTRY_dup(X509_NAME_ENTRY *ne); int X509_cmp_time(const ASN1_TIME *s, time_t *t); int X509_cmp_current_time(const ASN1_TIME *s); -int X509_cmp_timeframe(const X509_VERIFY_PARAM *vpm, - const ASN1_TIME *start, const ASN1_TIME *end); ASN1_TIME *X509_time_adj(ASN1_TIME *s, long adj, time_t *t); ASN1_TIME *X509_time_adj_ex(ASN1_TIME *s, int offset_day, long offset_sec, time_t *t); @@ -524,15 +510,19 @@ EVP_PKEY *X509_PUBKEY_get0(X509_PUBKEY *key); EVP_PKEY *X509_PUBKEY_get(X509_PUBKEY *key); int X509_get_pubkey_parameters(EVP_PKEY *pkey, STACK_OF(X509) *chain); long X509_get_pathlen(X509 *x); -DECLARE_ASN1_ENCODE_FUNCTIONS_only(EVP_PKEY, PUBKEY) +int i2d_PUBKEY(EVP_PKEY *a, unsigned char **pp); +EVP_PKEY *d2i_PUBKEY(EVP_PKEY **a, const unsigned char **pp, long length); # ifndef OPENSSL_NO_RSA -DECLARE_ASN1_ENCODE_FUNCTIONS_only(RSA, RSA_PUBKEY) +int i2d_RSA_PUBKEY(RSA *a, unsigned char **pp); +RSA *d2i_RSA_PUBKEY(RSA **a, const unsigned char **pp, long length); # endif # ifndef OPENSSL_NO_DSA -DECLARE_ASN1_ENCODE_FUNCTIONS_only(DSA, DSA_PUBKEY) +int i2d_DSA_PUBKEY(DSA *a, unsigned char **pp); +DSA *d2i_DSA_PUBKEY(DSA **a, const unsigned char **pp, long length); # endif # ifndef OPENSSL_NO_EC -DECLARE_ASN1_ENCODE_FUNCTIONS_only(EC_KEY, EC_PUBKEY) +int i2d_EC_PUBKEY(EC_KEY *a, unsigned char **pp); +EC_KEY *d2i_EC_PUBKEY(EC_KEY **a, const unsigned char **pp, long length); # endif DECLARE_ASN1_FUNCTIONS(X509_SIG) @@ -554,9 +544,10 @@ DECLARE_ASN1_FUNCTIONS(X509_NAME_ENTRY) DECLARE_ASN1_FUNCTIONS(X509_NAME) -int X509_NAME_set(X509_NAME **xn, const X509_NAME *name); +int X509_NAME_set(X509_NAME **xn, X509_NAME *name); DECLARE_ASN1_FUNCTIONS(X509_CINF) + DECLARE_ASN1_FUNCTIONS(X509) DECLARE_ASN1_FUNCTIONS(X509_CERT_AUX) @@ -564,7 +555,8 @@ DECLARE_ASN1_FUNCTIONS(X509_CERT_AUX) CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_X509, l, p, newf, dupf, freef) int X509_set_ex_data(X509 *r, int idx, void *arg); void *X509_get_ex_data(X509 *r, int idx); -DECLARE_ASN1_ENCODE_FUNCTIONS_only(X509,X509_AUX) +int i2d_X509_AUX(X509 *a, unsigned char **pp); +X509 *d2i_X509_AUX(X509 **a, const unsigned char **pp, long length); int i2d_re_X509_tbs(X509 *x, unsigned char **pp); @@ -580,13 +572,6 @@ void X509_get0_signature(const ASN1_BIT_STRING **psig, const X509_ALGOR **palg, const X509 *x); int X509_get_signature_nid(const X509 *x); -# ifndef OPENSSL_NO_SM2 -void X509_set0_sm2_id(X509 *x, ASN1_OCTET_STRING *sm2_id); -ASN1_OCTET_STRING *X509_get0_sm2_id(X509 *x); -void X509_REQ_set0_sm2_id(X509_REQ *x, ASN1_OCTET_STRING *sm2_id); -ASN1_OCTET_STRING *X509_REQ_get0_sm2_id(X509_REQ *x); -# endif - int X509_trusted(const X509 *x); int X509_alias_set1(X509 *x, const unsigned char *name, int len); int X509_keyid_set1(X509 *x, const unsigned char *id, int len); @@ -623,26 +608,21 @@ X509_INFO *X509_INFO_new(void); void X509_INFO_free(X509_INFO *a); char *X509_NAME_oneline(const X509_NAME *a, char *buf, int size); -DEPRECATEDIN_3_0(int ASN1_verify(i2d_of_void *i2d, X509_ALGOR *algor1, - ASN1_BIT_STRING *signature, char *data, - EVP_PKEY *pkey)) +int ASN1_verify(i2d_of_void *i2d, X509_ALGOR *algor1, + ASN1_BIT_STRING *signature, char *data, EVP_PKEY *pkey); -DEPRECATEDIN_3_0(int ASN1_digest(i2d_of_void *i2d, const EVP_MD *type, - char *data, - unsigned char *md, unsigned int *len)) +int ASN1_digest(i2d_of_void *i2d, const EVP_MD *type, char *data, + unsigned char *md, unsigned int *len); -DEPRECATEDIN_3_0(int ASN1_sign(i2d_of_void *i2d, X509_ALGOR *algor1, - X509_ALGOR *algor2, ASN1_BIT_STRING *signature, - char *data, EVP_PKEY *pkey, const EVP_MD *type)) +int ASN1_sign(i2d_of_void *i2d, X509_ALGOR *algor1, + X509_ALGOR *algor2, ASN1_BIT_STRING *signature, + char *data, EVP_PKEY *pkey, const EVP_MD *type); int ASN1_item_digest(const ASN1_ITEM *it, const EVP_MD *type, void *data, unsigned char *md, unsigned int *len); int ASN1_item_verify(const ASN1_ITEM *it, X509_ALGOR *algor1, ASN1_BIT_STRING *signature, void *data, EVP_PKEY *pkey); -int ASN1_item_verify_ctx(const ASN1_ITEM *it, X509_ALGOR *algor1, - ASN1_BIT_STRING *signature, void *data, - EVP_MD_CTX *ctx); int ASN1_item_sign(const ASN1_ITEM *it, X509_ALGOR *algor1, X509_ALGOR *algor2, ASN1_BIT_STRING *signature, void *data, @@ -670,7 +650,7 @@ int X509_set_pubkey(X509 *x, EVP_PKEY *pkey); int X509_up_ref(X509 *x); int X509_get_signature_type(const X509 *x); -# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +# if OPENSSL_API_COMPAT < 0x10100000L # define X509_get_notBefore X509_getm_notBefore # define X509_get_notAfter X509_getm_notAfter # define X509_set_notBefore X509_set1_notBefore @@ -736,7 +716,7 @@ int X509_CRL_set1_nextUpdate(X509_CRL *x, const ASN1_TIME *tm); int X509_CRL_sort(X509_CRL *crl); int X509_CRL_up_ref(X509_CRL *crl); -# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +# if OPENSSL_API_COMPAT < 0x10100000L # define X509_CRL_set_lastUpdate X509_CRL_set1_lastUpdate # define X509_CRL_set_nextUpdate X509_CRL_set1_nextUpdate #endif @@ -1029,7 +1009,7 @@ X509_ALGOR *PKCS5_pbkdf2_set(int iter, unsigned char *salt, int saltlen, DECLARE_ASN1_FUNCTIONS(PKCS8_PRIV_KEY_INFO) EVP_PKEY *EVP_PKCS82PKEY(const PKCS8_PRIV_KEY_INFO *p8); -PKCS8_PRIV_KEY_INFO *EVP_PKEY2PKCS8(const EVP_PKEY *pkey); +PKCS8_PRIV_KEY_INFO *EVP_PKEY2PKCS8(EVP_PKEY *pkey); int PKCS8_pkey_set0(PKCS8_PRIV_KEY_INFO *priv, ASN1_OBJECT *aobj, int version, int ptype, void *pval, @@ -1040,12 +1020,8 @@ int PKCS8_pkey_get0(const ASN1_OBJECT **ppkalg, const STACK_OF(X509_ATTRIBUTE) * PKCS8_pkey_get0_attrs(const PKCS8_PRIV_KEY_INFO *p8); -int PKCS8_pkey_add1_attr(PKCS8_PRIV_KEY_INFO *p8, X509_ATTRIBUTE *attr); int PKCS8_pkey_add1_attr_by_NID(PKCS8_PRIV_KEY_INFO *p8, int nid, int type, const unsigned char *bytes, int len); -int PKCS8_pkey_add1_attr_by_OBJ(PKCS8_PRIV_KEY_INFO *p8, const ASN1_OBJECT *obj, - int type, const unsigned char *bytes, int len); - int X509_PUBKEY_set0_param(X509_PUBKEY *pub, ASN1_OBJECT *aobj, int ptype, void *pval, diff --git a/linux_amd64/include/openssl/x509_vfy.h b/linux_amd64/include/openssl/x509_vfy.h index 75529b2..adb8bce 100644 --- a/linux_amd64/include/openssl/x509_vfy.h +++ b/linux_amd64/include/openssl/x509_vfy.h @@ -1,25 +1,19 @@ /* - * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_X509_VFY_H -# define OPENSSL_X509_VFY_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_X509_VFY_H -# endif +#ifndef HEADER_X509_VFY_H +# define HEADER_X509_VFY_H /* * Protect against recursion, x509.h and x509_vfy.h each include the other. */ -# ifndef OPENSSL_X509_H +# ifndef HEADER_X509_H # include # endif @@ -55,7 +49,7 @@ typedef enum { X509_LU_X509, X509_LU_CRL } X509_LOOKUP_TYPE; -#ifndef OPENSSL_NO_DEPRECATED_1_1_0 +#if OPENSSL_API_COMPAT < 0x10100000L #define X509_LU_RETRY -1 #define X509_LU_FAIL 0 #endif @@ -67,7 +61,6 @@ DEFINE_STACK_OF(X509_VERIFY_PARAM) int X509_STORE_set_depth(X509_STORE *store, int depth); typedef int (*X509_STORE_CTX_verify_cb)(int, X509_STORE_CTX *); -int X509_STORE_CTX_print_verify_cb(int ok, X509_STORE_CTX *ctx); typedef int (*X509_STORE_CTX_verify_fn)(X509_STORE_CTX *); typedef int (*X509_STORE_CTX_get_issuer_fn)(X509 **issuer, X509_STORE_CTX *ctx, X509 *x); @@ -96,8 +89,6 @@ void X509_STORE_CTX_set_depth(X509_STORE_CTX *ctx, int depth); # define X509_L_FILE_LOAD 1 # define X509_L_ADD_DIR 2 -# define X509_L_ADD_STORE 3 -# define X509_L_LOAD_STORE 4 # define X509_LOOKUP_load_file(x,name,type) \ X509_LOOKUP_ctrl((x),X509_L_FILE_LOAD,(name),(long)(type),NULL) @@ -105,12 +96,6 @@ void X509_STORE_CTX_set_depth(X509_STORE_CTX *ctx, int depth); # define X509_LOOKUP_add_dir(x,name,type) \ X509_LOOKUP_ctrl((x),X509_L_ADD_DIR,(name),(long)(type),NULL) -# define X509_LOOKUP_add_store(x,name) \ - X509_LOOKUP_ctrl((x),X509_L_ADD_STORE,(name),0,NULL) - -# define X509_LOOKUP_load_store(x,name) \ - X509_LOOKUP_ctrl((x),X509_L_LOAD_STORE,(name),0,NULL) - # define X509_V_OK 0 # define X509_V_ERR_UNSPECIFIED 1 # define X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT 2 @@ -200,13 +185,9 @@ void X509_STORE_CTX_set_depth(X509_STORE_CTX *ctx, int depth); # define X509_V_ERR_OCSP_VERIFY_FAILED 74 /* Couldn't verify cert through OCSP */ # define X509_V_ERR_OCSP_CERT_UNKNOWN 75 /* Certificate wasn't recognized by the OCSP responder */ -# define X509_V_ERR_SIGNATURE_ALGORITHM_MISMATCH 76 -# define X509_V_ERR_NO_ISSUER_PUBLIC_KEY 77 - - /* Certificate verify flags */ -# ifndef OPENSSL_NO_DEPRECATED_1_1_0 +# if OPENSSL_API_COMPAT < 0x10100000L # define X509_V_FLAG_CB_ISSUER_CHECK 0x0 /* Deprecated */ # endif /* Use check time instead of current time */ @@ -288,9 +269,8 @@ void X509_STORE_free(X509_STORE *v); int X509_STORE_lock(X509_STORE *ctx); int X509_STORE_unlock(X509_STORE *ctx); int X509_STORE_up_ref(X509_STORE *v); - STACK_OF(X509_OBJECT) *X509_STORE_get0_objects(X509_STORE *v); -STACK_OF(X509) *X509_STORE_get1_all_certs(X509_STORE *st); + STACK_OF(X509) *X509_STORE_CTX_get1_certs(X509_STORE_CTX *st, X509_NAME *nm); STACK_OF(X509_CRL) *X509_STORE_CTX_get1_crls(X509_STORE_CTX *st, X509_NAME *nm); int X509_STORE_set_flags(X509_STORE *ctx, unsigned long flags); @@ -377,7 +357,7 @@ X509_STORE_CTX_lookup_certs_fn X509_STORE_CTX_get_lookup_certs(X509_STORE_CTX *c X509_STORE_CTX_lookup_crls_fn X509_STORE_CTX_get_lookup_crls(X509_STORE_CTX *ctx); X509_STORE_CTX_cleanup_fn X509_STORE_CTX_get_cleanup(X509_STORE_CTX *ctx); -#ifndef OPENSSL_NO_DEPRECATED_1_1_0 +#if OPENSSL_API_COMPAT < 0x10100000L # define X509_STORE_CTX_get_chain X509_STORE_CTX_get0_chain # define X509_STORE_CTX_set_chain X509_STORE_CTX_set0_untrusted # define X509_STORE_CTX_trusted_stack X509_STORE_CTX_set0_trusted_stack @@ -393,7 +373,6 @@ X509_STORE_CTX_cleanup_fn X509_STORE_CTX_get_cleanup(X509_STORE_CTX *ctx); X509_LOOKUP *X509_STORE_add_lookup(X509_STORE *v, X509_LOOKUP_METHOD *m); X509_LOOKUP_METHOD *X509_LOOKUP_hash_dir(void); X509_LOOKUP_METHOD *X509_LOOKUP_file(void); -X509_LOOKUP_METHOD *X509_LOOKUP_store(void); typedef int (*X509_LOOKUP_ctrl_fn)(X509_LOOKUP *ctx, int cmd, const char *argc, long argl, char **ret); @@ -499,11 +478,8 @@ void *X509_LOOKUP_get_method_data(const X509_LOOKUP *ctx); X509_STORE *X509_LOOKUP_get_store(const X509_LOOKUP *ctx); int X509_LOOKUP_shutdown(X509_LOOKUP *ctx); -int X509_STORE_load_file(X509_STORE *ctx, const char *file); -int X509_STORE_load_path(X509_STORE *ctx, const char *path); -int X509_STORE_load_store(X509_STORE *ctx, const char *store); -DEPRECATEDIN_3_0(int X509_STORE_load_locations(X509_STORE *ctx, const char *file, - const char *dir)) +int X509_STORE_load_locations(X509_STORE *ctx, + const char *file, const char *dir); int X509_STORE_set_default_paths(X509_STORE *ctx); #define X509_STORE_CTX_get_ex_new_index(l, p, newf, dupf, freef) \ @@ -560,7 +536,7 @@ int X509_VERIFY_PARAM_set_flags(X509_VERIFY_PARAM *param, unsigned long flags); int X509_VERIFY_PARAM_clear_flags(X509_VERIFY_PARAM *param, unsigned long flags); -unsigned long X509_VERIFY_PARAM_get_flags(const X509_VERIFY_PARAM *param); +unsigned long X509_VERIFY_PARAM_get_flags(X509_VERIFY_PARAM *param); int X509_VERIFY_PARAM_set_purpose(X509_VERIFY_PARAM *param, int purpose); int X509_VERIFY_PARAM_set_trust(X509_VERIFY_PARAM *param, int trust); void X509_VERIFY_PARAM_set_depth(X509_VERIFY_PARAM *param, int depth); diff --git a/linux_amd64/include/openssl/x509err.h b/linux_amd64/include/openssl/x509err.h index 2653870..0273853 100644 --- a/linux_amd64/include/openssl/x509err.h +++ b/linux_amd64/include/openssl/x509err.h @@ -2,25 +2,19 @@ * Generated by util/mkerr.pl DO NOT EDIT * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_X509ERR_H -# define OPENSSL_X509ERR_H -# pragma once +#ifndef HEADER_X509ERR_H +# define HEADER_X509ERR_H -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_X509ERR_H +# ifndef HEADER_SYMHACKS_H +# include # endif -# include -# include - - # ifdef __cplusplus extern "C" # endif @@ -29,74 +23,67 @@ int ERR_load_X509_strings(void); /* * X509 function codes. */ -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define X509_F_ADD_CERT_DIR 0 -# define X509_F_BUILD_CHAIN 0 -# define X509_F_BY_FILE_CTRL 0 -# define X509_F_CHECK_NAME_CONSTRAINTS 0 -# define X509_F_CHECK_POLICY 0 -# define X509_F_COMMON_VERIFY_SM2 0 -# define X509_F_DANE_I2D 0 -# define X509_F_DIR_CTRL 0 -# define X509_F_GET_CERT_BY_SUBJECT 0 -# define X509_F_I2D_X509_AUX 0 -# define X509_F_LOOKUP_CERTS_SK 0 -# define X509_F_NETSCAPE_SPKI_B64_DECODE 0 -# define X509_F_NETSCAPE_SPKI_B64_ENCODE 0 -# define X509_F_NEW_DIR 0 -# define X509_F_X509AT_ADD1_ATTR 0 -# define X509_F_X509V3_ADD_EXT 0 -# define X509_F_X509_ATTRIBUTE_CREATE_BY_NID 0 -# define X509_F_X509_ATTRIBUTE_CREATE_BY_OBJ 0 -# define X509_F_X509_ATTRIBUTE_CREATE_BY_TXT 0 -# define X509_F_X509_ATTRIBUTE_GET0_DATA 0 -# define X509_F_X509_ATTRIBUTE_SET1_DATA 0 -# define X509_F_X509_CHECK_PRIVATE_KEY 0 -# define X509_F_X509_CRL_DIFF 0 -# define X509_F_X509_CRL_METHOD_NEW 0 -# define X509_F_X509_CRL_PRINT_FP 0 -# define X509_F_X509_EXTENSION_CREATE_BY_NID 0 -# define X509_F_X509_EXTENSION_CREATE_BY_OBJ 0 -# define X509_F_X509_GET_PUBKEY_PARAMETERS 0 -# define X509_F_X509_LOAD_CERT_CRL_FILE 0 -# define X509_F_X509_LOAD_CERT_FILE 0 -# define X509_F_X509_LOAD_CRL_FILE 0 -# define X509_F_X509_LOOKUP_METH_NEW 0 -# define X509_F_X509_LOOKUP_NEW 0 -# define X509_F_X509_NAME_ADD_ENTRY 0 -# define X509_F_X509_NAME_CANON 0 -# define X509_F_X509_NAME_ENTRY_CREATE_BY_NID 0 -# define X509_F_X509_NAME_ENTRY_CREATE_BY_TXT 0 -# define X509_F_X509_NAME_ENTRY_SET_OBJECT 0 -# define X509_F_X509_NAME_ONELINE 0 -# define X509_F_X509_NAME_PRINT 0 -# define X509_F_X509_OBJECT_NEW 0 -# define X509_F_X509_PRINT_EX_FP 0 -# define X509_F_X509_PUBKEY_DECODE 0 -# define X509_F_X509_PUBKEY_GET0 0 -# define X509_F_X509_PUBKEY_SET 0 -# define X509_F_X509_REQ_CHECK_PRIVATE_KEY 0 -# define X509_F_X509_REQ_PRINT_EX 0 -# define X509_F_X509_REQ_PRINT_FP 0 -# define X509_F_X509_REQ_TO_X509 0 -# define X509_F_X509_REQ_VERIFY 0 -# define X509_F_X509_REQ_VERIFY_SM2 0 -# define X509_F_X509_STORE_ADD_CERT 0 -# define X509_F_X509_STORE_ADD_CRL 0 -# define X509_F_X509_STORE_ADD_LOOKUP 0 -# define X509_F_X509_STORE_CTX_GET1_ISSUER 0 -# define X509_F_X509_STORE_CTX_INIT 0 -# define X509_F_X509_STORE_CTX_NEW 0 -# define X509_F_X509_STORE_CTX_PURPOSE_INHERIT 0 -# define X509_F_X509_STORE_NEW 0 -# define X509_F_X509_TO_X509_REQ 0 -# define X509_F_X509_TRUST_ADD 0 -# define X509_F_X509_TRUST_SET 0 -# define X509_F_X509_VERIFY 0 -# define X509_F_X509_VERIFY_CERT 0 -# define X509_F_X509_VERIFY_PARAM_NEW 0 -# define X509_F_X509_VERIFY_SM2 0 -# endif +# define X509_F_ADD_CERT_DIR 100 +# define X509_F_BUILD_CHAIN 106 +# define X509_F_BY_FILE_CTRL 101 +# define X509_F_CHECK_NAME_CONSTRAINTS 149 +# define X509_F_CHECK_POLICY 145 +# define X509_F_DANE_I2D 107 +# define X509_F_DIR_CTRL 102 +# define X509_F_GET_CERT_BY_SUBJECT 103 +# define X509_F_I2D_X509_AUX 151 +# define X509_F_LOOKUP_CERTS_SK 152 +# define X509_F_NETSCAPE_SPKI_B64_DECODE 129 +# define X509_F_NETSCAPE_SPKI_B64_ENCODE 130 +# define X509_F_NEW_DIR 153 +# define X509_F_X509AT_ADD1_ATTR 135 +# define X509_F_X509V3_ADD_EXT 104 +# define X509_F_X509_ATTRIBUTE_CREATE_BY_NID 136 +# define X509_F_X509_ATTRIBUTE_CREATE_BY_OBJ 137 +# define X509_F_X509_ATTRIBUTE_CREATE_BY_TXT 140 +# define X509_F_X509_ATTRIBUTE_GET0_DATA 139 +# define X509_F_X509_ATTRIBUTE_SET1_DATA 138 +# define X509_F_X509_CHECK_PRIVATE_KEY 128 +# define X509_F_X509_CRL_DIFF 105 +# define X509_F_X509_CRL_METHOD_NEW 154 +# define X509_F_X509_CRL_PRINT_FP 147 +# define X509_F_X509_EXTENSION_CREATE_BY_NID 108 +# define X509_F_X509_EXTENSION_CREATE_BY_OBJ 109 +# define X509_F_X509_GET_PUBKEY_PARAMETERS 110 +# define X509_F_X509_LOAD_CERT_CRL_FILE 132 +# define X509_F_X509_LOAD_CERT_FILE 111 +# define X509_F_X509_LOAD_CRL_FILE 112 +# define X509_F_X509_LOOKUP_METH_NEW 160 +# define X509_F_X509_LOOKUP_NEW 155 +# define X509_F_X509_NAME_ADD_ENTRY 113 +# define X509_F_X509_NAME_CANON 156 +# define X509_F_X509_NAME_ENTRY_CREATE_BY_NID 114 +# define X509_F_X509_NAME_ENTRY_CREATE_BY_TXT 131 +# define X509_F_X509_NAME_ENTRY_SET_OBJECT 115 +# define X509_F_X509_NAME_ONELINE 116 +# define X509_F_X509_NAME_PRINT 117 +# define X509_F_X509_OBJECT_NEW 150 +# define X509_F_X509_PRINT_EX_FP 118 +# define X509_F_X509_PUBKEY_DECODE 148 +# define X509_F_X509_PUBKEY_GET0 119 +# define X509_F_X509_PUBKEY_SET 120 +# define X509_F_X509_REQ_CHECK_PRIVATE_KEY 144 +# define X509_F_X509_REQ_PRINT_EX 121 +# define X509_F_X509_REQ_PRINT_FP 122 +# define X509_F_X509_REQ_TO_X509 123 +# define X509_F_X509_STORE_ADD_CERT 124 +# define X509_F_X509_STORE_ADD_CRL 125 +# define X509_F_X509_STORE_ADD_LOOKUP 157 +# define X509_F_X509_STORE_CTX_GET1_ISSUER 146 +# define X509_F_X509_STORE_CTX_INIT 143 +# define X509_F_X509_STORE_CTX_NEW 142 +# define X509_F_X509_STORE_CTX_PURPOSE_INHERIT 134 +# define X509_F_X509_STORE_NEW 158 +# define X509_F_X509_TO_X509_REQ 126 +# define X509_F_X509_TRUST_ADD 133 +# define X509_F_X509_TRUST_SET 141 +# define X509_F_X509_VERIFY_CERT 127 +# define X509_F_X509_VERIFY_PARAM_NEW 159 /* * X509 reason codes. @@ -107,7 +94,6 @@ int ERR_load_X509_strings(void); # define X509_R_BASE64_DECODE_ERROR 118 # define X509_R_CANT_CHECK_DH_KEY 114 # define X509_R_CERT_ALREADY_IN_HASH_TABLE 101 -# define X509_R_CERTIFICATE_VERIFICATION_FAILED 139 # define X509_R_CRL_ALREADY_DELTA 127 # define X509_R_CRL_VERIFY_FAILURE 131 # define X509_R_IDP_MISMATCH 128 diff --git a/linux_amd64/include/openssl/x509v3.h b/linux_amd64/include/openssl/x509v3.h index a400486..6c6eca3 100644 --- a/linux_amd64/include/openssl/x509v3.h +++ b/linux_amd64/include/openssl/x509v3.h @@ -1,20 +1,14 @@ /* - * Copyright 1999-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1999-2019 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_X509V3_H -# define OPENSSL_X509V3_H -# pragma once - -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_X509V3_H -# endif +#ifndef HEADER_X509V3_H +# define HEADER_X509V3_H # include # include @@ -34,7 +28,7 @@ struct v3_ext_ctx; typedef void *(*X509V3_EXT_NEW)(void); typedef void (*X509V3_EXT_FREE) (void *); typedef void *(*X509V3_EXT_D2I)(void *, const unsigned char **, long); -typedef int (*X509V3_EXT_I2D) (const void *, unsigned char **); +typedef int (*X509V3_EXT_I2D) (void *, unsigned char **); typedef STACK_OF(CONF_VALUE) * (*X509V3_EXT_I2V) (const struct v3_ext_method *method, void *ext, STACK_OF(CONF_VALUE) *extlist); @@ -473,7 +467,7 @@ DECLARE_ASN1_FUNCTIONS(AUTHORITY_KEYID) DECLARE_ASN1_FUNCTIONS(PKEY_USAGE_PERIOD) DECLARE_ASN1_FUNCTIONS(GENERAL_NAME) -DECLARE_ASN1_DUP_FUNCTION(GENERAL_NAME) +GENERAL_NAME *GENERAL_NAME_dup(GENERAL_NAME *a); int GENERAL_NAME_cmp(GENERAL_NAME *a, GENERAL_NAME *b); ASN1_BIT_STRING *v2i_ASN1_BIT_STRING(X509V3_EXT_METHOD *method, @@ -556,7 +550,7 @@ GENERAL_NAME *a2i_GENERAL_NAME(GENERAL_NAME *out, X509V3_CTX *ctx, int gen_type, const char *value, int is_nc); -# ifdef OPENSSL_CONF_H +# ifdef HEADER_CONF_H GENERAL_NAME *v2i_GENERAL_NAME(const X509V3_EXT_METHOD *method, X509V3_CTX *ctx, CONF_VALUE *cnf); GENERAL_NAME *v2i_GENERAL_NAME_ex(GENERAL_NAME *out, @@ -635,7 +629,7 @@ X509_EXTENSION *X509V3_EXT_i2d(int ext_nid, int crit, void *ext_struc); int X509V3_add1_i2d(STACK_OF(X509_EXTENSION) **x, int nid, void *value, int crit, unsigned long flags); -#ifndef OPENSSL_NO_DEPRECATED_1_1_0 +#if OPENSSL_API_COMPAT < 0x10100000L /* The new declarations are in crypto.h, but the old ones were here. */ # define hex_to_string OPENSSL_buf2hexstr # define string_to_hex OPENSSL_hexstr2buf diff --git a/linux_amd64/include/openssl/x509v3err.h b/linux_amd64/include/openssl/x509v3err.h index 6e73337..5f25442 100644 --- a/linux_amd64/include/openssl/x509v3err.h +++ b/linux_amd64/include/openssl/x509v3err.h @@ -1,26 +1,20 @@ /* * Generated by util/mkerr.pl DO NOT EDIT - * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the Apache License 2.0 (the "License"). You may not use + * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ -#ifndef OPENSSL_X509V3ERR_H -# define OPENSSL_X509V3ERR_H -# pragma once +#ifndef HEADER_X509V3ERR_H +# define HEADER_X509V3ERR_H -# include -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define HEADER_X509V3ERR_H +# ifndef HEADER_SYMHACKS_H +# include # endif -# include -# include - - # ifdef __cplusplus extern "C" # endif @@ -29,76 +23,72 @@ int ERR_load_X509V3_strings(void); /* * X509V3 function codes. */ -# ifndef OPENSSL_NO_DEPRECATED_3_0 -# define X509V3_F_A2I_GENERAL_NAME 0 -# define X509V3_F_ADDR_VALIDATE_PATH_INTERNAL 0 -# define X509V3_F_ASIDENTIFIERCHOICE_CANONIZE 0 -# define X509V3_F_ASIDENTIFIERCHOICE_IS_CANONICAL 0 -# define X509V3_F_BIGNUM_TO_STRING 0 -# define X509V3_F_COPY_EMAIL 0 -# define X509V3_F_COPY_ISSUER 0 -# define X509V3_F_DO_DIRNAME 0 -# define X509V3_F_DO_EXT_I2D 0 -# define X509V3_F_DO_EXT_NCONF 0 -# define X509V3_F_GNAMES_FROM_SECTNAME 0 -# define X509V3_F_I2S_ASN1_ENUMERATED 0 -# define X509V3_F_I2S_ASN1_IA5STRING 0 -# define X509V3_F_I2S_ASN1_INTEGER 0 -# define X509V3_F_I2S_ASN1_UTF8STRING 0 -# define X509V3_F_I2V_AUTHORITY_INFO_ACCESS 0 -# define X509V3_F_LEVEL_ADD_NODE 0 -# define X509V3_F_NOTICE_SECTION 0 -# define X509V3_F_NREF_NOS 0 -# define X509V3_F_POLICY_CACHE_CREATE 0 -# define X509V3_F_POLICY_CACHE_NEW 0 -# define X509V3_F_POLICY_DATA_NEW 0 -# define X509V3_F_POLICY_SECTION 0 -# define X509V3_F_PROCESS_PCI_VALUE 0 -# define X509V3_F_R2I_CERTPOL 0 -# define X509V3_F_R2I_PCI 0 -# define X509V3_F_S2I_ASN1_IA5STRING 0 -# define X509V3_F_S2I_ASN1_INTEGER 0 -# define X509V3_F_S2I_ASN1_OCTET_STRING 0 -# define X509V3_F_S2I_ASN1_UTF8STRING 0 -# define X509V3_F_S2I_SKEY_ID 0 -# define X509V3_F_SET_DIST_POINT_NAME 0 -# define X509V3_F_SXNET_ADD_ID_ASC 0 -# define X509V3_F_SXNET_ADD_ID_INTEGER 0 -# define X509V3_F_SXNET_ADD_ID_ULONG 0 -# define X509V3_F_SXNET_GET_ID_ASC 0 -# define X509V3_F_SXNET_GET_ID_ULONG 0 -# define X509V3_F_TREE_INIT 0 -# define X509V3_F_V2I_ASIDENTIFIERS 0 -# define X509V3_F_V2I_ASN1_BIT_STRING 0 -# define X509V3_F_V2I_AUTHORITY_INFO_ACCESS 0 -# define X509V3_F_V2I_AUTHORITY_KEYID 0 -# define X509V3_F_V2I_BASIC_CONSTRAINTS 0 -# define X509V3_F_V2I_CRLD 0 -# define X509V3_F_V2I_EXTENDED_KEY_USAGE 0 -# define X509V3_F_V2I_GENERAL_NAMES 0 -# define X509V3_F_V2I_GENERAL_NAME_EX 0 -# define X509V3_F_V2I_IDP 0 -# define X509V3_F_V2I_IPADDRBLOCKS 0 -# define X509V3_F_V2I_ISSUER_ALT 0 -# define X509V3_F_V2I_NAME_CONSTRAINTS 0 -# define X509V3_F_V2I_POLICY_CONSTRAINTS 0 -# define X509V3_F_V2I_POLICY_MAPPINGS 0 -# define X509V3_F_V2I_SUBJECT_ALT 0 -# define X509V3_F_V2I_TLS_FEATURE 0 -# define X509V3_F_V3_GENERIC_EXTENSION 0 -# define X509V3_F_X509V3_ADD1_I2D 0 -# define X509V3_F_X509V3_ADD_VALUE 0 -# define X509V3_F_X509V3_EXT_ADD 0 -# define X509V3_F_X509V3_EXT_ADD_ALIAS 0 -# define X509V3_F_X509V3_EXT_I2D 0 -# define X509V3_F_X509V3_EXT_NCONF 0 -# define X509V3_F_X509V3_GET_SECTION 0 -# define X509V3_F_X509V3_GET_STRING 0 -# define X509V3_F_X509V3_GET_VALUE_BOOL 0 -# define X509V3_F_X509V3_PARSE_LIST 0 -# define X509V3_F_X509_PURPOSE_ADD 0 -# define X509V3_F_X509_PURPOSE_SET 0 -# endif +# define X509V3_F_A2I_GENERAL_NAME 164 +# define X509V3_F_ADDR_VALIDATE_PATH_INTERNAL 166 +# define X509V3_F_ASIDENTIFIERCHOICE_CANONIZE 161 +# define X509V3_F_ASIDENTIFIERCHOICE_IS_CANONICAL 162 +# define X509V3_F_BIGNUM_TO_STRING 167 +# define X509V3_F_COPY_EMAIL 122 +# define X509V3_F_COPY_ISSUER 123 +# define X509V3_F_DO_DIRNAME 144 +# define X509V3_F_DO_EXT_I2D 135 +# define X509V3_F_DO_EXT_NCONF 151 +# define X509V3_F_GNAMES_FROM_SECTNAME 156 +# define X509V3_F_I2S_ASN1_ENUMERATED 121 +# define X509V3_F_I2S_ASN1_IA5STRING 149 +# define X509V3_F_I2S_ASN1_INTEGER 120 +# define X509V3_F_I2V_AUTHORITY_INFO_ACCESS 138 +# define X509V3_F_LEVEL_ADD_NODE 168 +# define X509V3_F_NOTICE_SECTION 132 +# define X509V3_F_NREF_NOS 133 +# define X509V3_F_POLICY_CACHE_CREATE 169 +# define X509V3_F_POLICY_CACHE_NEW 170 +# define X509V3_F_POLICY_DATA_NEW 171 +# define X509V3_F_POLICY_SECTION 131 +# define X509V3_F_PROCESS_PCI_VALUE 150 +# define X509V3_F_R2I_CERTPOL 130 +# define X509V3_F_R2I_PCI 155 +# define X509V3_F_S2I_ASN1_IA5STRING 100 +# define X509V3_F_S2I_ASN1_INTEGER 108 +# define X509V3_F_S2I_ASN1_OCTET_STRING 112 +# define X509V3_F_S2I_SKEY_ID 115 +# define X509V3_F_SET_DIST_POINT_NAME 158 +# define X509V3_F_SXNET_ADD_ID_ASC 125 +# define X509V3_F_SXNET_ADD_ID_INTEGER 126 +# define X509V3_F_SXNET_ADD_ID_ULONG 127 +# define X509V3_F_SXNET_GET_ID_ASC 128 +# define X509V3_F_SXNET_GET_ID_ULONG 129 +# define X509V3_F_TREE_INIT 172 +# define X509V3_F_V2I_ASIDENTIFIERS 163 +# define X509V3_F_V2I_ASN1_BIT_STRING 101 +# define X509V3_F_V2I_AUTHORITY_INFO_ACCESS 139 +# define X509V3_F_V2I_AUTHORITY_KEYID 119 +# define X509V3_F_V2I_BASIC_CONSTRAINTS 102 +# define X509V3_F_V2I_CRLD 134 +# define X509V3_F_V2I_EXTENDED_KEY_USAGE 103 +# define X509V3_F_V2I_GENERAL_NAMES 118 +# define X509V3_F_V2I_GENERAL_NAME_EX 117 +# define X509V3_F_V2I_IDP 157 +# define X509V3_F_V2I_IPADDRBLOCKS 159 +# define X509V3_F_V2I_ISSUER_ALT 153 +# define X509V3_F_V2I_NAME_CONSTRAINTS 147 +# define X509V3_F_V2I_POLICY_CONSTRAINTS 146 +# define X509V3_F_V2I_POLICY_MAPPINGS 145 +# define X509V3_F_V2I_SUBJECT_ALT 154 +# define X509V3_F_V2I_TLS_FEATURE 165 +# define X509V3_F_V3_GENERIC_EXTENSION 116 +# define X509V3_F_X509V3_ADD1_I2D 140 +# define X509V3_F_X509V3_ADD_VALUE 105 +# define X509V3_F_X509V3_EXT_ADD 104 +# define X509V3_F_X509V3_EXT_ADD_ALIAS 106 +# define X509V3_F_X509V3_EXT_I2D 136 +# define X509V3_F_X509V3_EXT_NCONF 152 +# define X509V3_F_X509V3_GET_SECTION 142 +# define X509V3_F_X509V3_GET_STRING 143 +# define X509V3_F_X509V3_GET_VALUE_BOOL 110 +# define X509V3_F_X509V3_PARSE_LIST 109 +# define X509V3_F_X509_PURPOSE_ADD 137 +# define X509V3_F_X509_PURPOSE_SET 141 /* * X509V3 reason codes. diff --git a/linux_amd64/lib/engines-1.1/afalg.so b/linux_amd64/lib/engines-1.1/afalg.so new file mode 100755 index 0000000000000000000000000000000000000000..5d430eded20a4d42766f35618afbc8d6c3d34cdd GIT binary patch literal 15904 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 literal 0 HcmV?d00001 diff --git a/linux_amd64/lib/engines-1.1/padlock.so b/linux_amd64/lib/engines-1.1/padlock.so new file mode 100755 index 0000000000000000000000000000000000000000..948b9b6ecc74339a4568068db57732ed1ccef0aa GIT binary patch literal 37032 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 literal 0 HcmV?d00001 diff --git a/linux_amd64/lib/libcrypto.a b/linux_amd64/lib/libcrypto.a index a0e6361fd4df074a38da7023472dbaa3285eed7f..30bc826c31adb218349bc2dc63a20e61165b3228 100644 GIT binary patch delta 1382785 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

    {@0w@s#4!T_T}Zpp4wVgK0;@^ zZHC?}0$$sa9Hwq=a!&=N_wk>ekLb^IQtL=2wGJRwI^X1#SP0*3Hiz%FDejs5gHzq} zz2vu!yl?kPtaQHD>3)ey7Q_bJpexrujJBm`J=CEFo5R_$8+4Yz)Hsg2%{dgC&9xX9#TL4_!&+#&_j@&7(tjN!$B=Q4vGBVQZcv{49gQft2 zM~kBpvX1t53eNTy@N{u<=QRZ^SioCF`dUG9w1W0{j^wXjfRuhSXd#emd)D>VSLQ%06Dfp2qrNG zM6;BQ>w;L+gC>6*nqcI2-yCR1SQ??T2-{@{KD!J=JZ45S{T)%l$ggG1LJ$ao-JOIh zOCUl0DHJ0j|5zIYx%nHBZE|QdTl~x#Xi*GII#70Ys)|5nz ziXJ;U8m}cQis^mSc=qUt>|yMOM-q((CdOjLArmyq#_85*S@&@!~NZ)Qpg?M zDR$4sLvsH7q4^NKkAgyjV&jZp!L5K!yXx zwzB)7gvbqq)84P*>mmAxf>-#<@Kg!Dpe9$(2gD-4)BDD6nFF_yGv5@V7{^nao?^iW_uH zxiuY29%37BONZL%dTQ^77Le~gvWv>vo=1anD>>YKG*4J|2l`5no5d3XE7k`_nb^4p ze2|JdK;+}dG5*&1&@bKUtyEJwi-SA7JWJ<*O=eEv%2@IGJl@YNK{ta3Qg((@YG~EM z7aWJ^GokLmA=Prjxk>P$J@;p;lZ=XMr25_yiqo_`{1uackU^uIEm+fO!7<0Uvab2u3bp|Vp5E1b;Tln?!4 z*cOsH+?7P%!6q~%f}tO!LI35Y1@aJm;m9sRdz}i)C%MqZPZKa)U3EZE>)bOvaq_)p_C@%`qr;fZsDP>&uHx@N~c{ zG|5M4I!he73^g6*4v?vV9cAeuB~IGyqu>_$D!4UkP$S;V_p)7sV4?P+5+VHx>(FQ= z);$CRnam`yo=S9jZmcMy3U6E|tmu@dx3s~T8yk|MU}}6)2)YDxu)w|Utm`U#F91KU1WCX5v2G|h5=*z*65AWlTcTF#KS1b&JDE)J_jFx2(rC5M4F{n zoLN1^VLz9(0}cHK(gYcd(wl%2@;k`&19zkJJ@m{dd`@c6qeU-Z+d;vTu+C4(f0G&( z!*W(gtCx;7r|Tl5@0?ldK+wV5RdGKM-Jx{Gn46{TAR2sM=z*Xqx(Bi zqQ_BSt#iX!w82xT&qO3VCT&mmG)ntWooZzJBCHj@iR!+J^psCC?74pm4Yw9F!yzvt zOIQX2Os-ZKVEPu*aSc**;`c+)Jr07T19yHU>_HA8^{B=ENlT=jgnA53BTqQCmMX zX_eOW|L@@OTwSRT+$z&P9lLI5Sx<(G7K`a?oUj=DH{^}4-8qa+YgOCVrKWL z-}g5Ls`%d=!`}3Ei(ygU%=UNk)OfI2^|}w{Rd!fsY%bKorijh(sx+|zzSptutv+1& zb$L~*VG|vR4X=L4o!%K!t2^z(I+KUBCXYX1xc_b7A!E^Gp>=9-k0-C^>jp7U<<`1jVoUiIPH0bS%WyO#}? zT=|Z+vJ;Hs(NutnyEU4UA1W`)sq8|W4sqoO-mSI2`L%3!>*0P9|A*WN zDD?ut%l%RSoqB;B z#^&XoTD#j}!=^5rV|g3VN!Eyl?OMPgNeCb1{dsEDxA+PGqP=521j7)-`r3W-M8w#d z77|c!uO7mCUjxHUdIj&t!@9_yJ@G$K2ws45bqXUZ=EHMU{SKA&2exk0-6UzZv-a(} zB6uq&zH_sUs1jrBy3dwcy#m~VAJ07kepHE{UD)KY=bY-A$2lyVBY8L5)u4Mkb58R_ z5Cg+Y@j`USOy#cpLGjN>{4THR`7q=Cw)a9BWoWgggx<{WQDttYBQmcVKO3JrW(Ya( z0@J}|)vsmxICiBt42sr`x(Mxq?9h6z;P5(So z&ahaBKCt=^q~pFP+1%d4LQX|PNNvolc((H$og6s~Nc@~d8Q|eYe(`$~{u8_czw|ta z;%)H{X8W90nitSurAVvDor(I?3b;dNGJsOz*@6Fr?=WeQ!=W0@(*o|WX>fvNj>sLy zjpPjbM8sLe^zBIVy?{F`_l>~WKQzS08AYHhS_S&8to*KtA>~5_*dZwI_!#2^++nI9 zTa+kGz<1;7iXO)o$`tTc0iUNtYsldjZwXle*aZAuz|jfVUxl-Md>RB&u|OKncKra$ zdR|_$XOR)HMtIW-IPR7Bb49=}%52f2ItzRJQC%J# zh^>$59??o$g-xC|vNOQV+`Kr(2o}InY%F<@`}k{@Y@Y1#K%5RD8(`Om+x$7NSf-JF zc3~Ciu&Ptojy)|mW>EP29Gv>1anio?M6Ti-QF_jmJZQsVxhu2Yu^0!XtuVS%Hhwbf z1nf;wa9GdVP#fTxHkV=#%T4`cY{W@}yAy5=vc-0B`^^1IQ*23l5>!BLAWj+foFTA{-%42+SoFHl&1@b9U_@wV|dKg- z>RZ63*s~hy?X6H(pgkPBQVJ7zOJlHCQ&i&#wzCjczUSSKw|xi5CD42r{CG7SL9Pq` zRAaW#dv_&=-$mQUxv`@$@VynhZ54KNi=hF}_19g8AvSF}NIkX8f{gyilv(_F4{o=! z;*Zfr#gRC-%z0%Gwqcj@?LKVFCpZC_wyrg>)0C1s68}{=8l>BI_>3`MfN7qwZmRte zw?zIoU~c^f*uB<&q?vH+LoUQCuOmSo2c=CoJl-8Tgtfz;xEB6id=rMSeSy%CKi>%_ z;;q)-;29-kxvjnr(9n)}6&-WnEVs+RQ?02Eg4U&&xUyY25k#h9297%Ny`x zsCo{gHnlbi_bbVplLBxr@@#koB50||x5H<2-P;&F_RUG*cYzz5ix?hdCrBwFCE7Pv zh1UykIt403Aljaj6dq0vlFfuT-(Fju8g93PkDEx&ka1^`&V2xP0$*dRK3e^jZNvAJ z*s!qxg(72gX2PBiqjh5Sv)2mp!;X=4I$Ws8GluMN7%J(oEokO>egb$ zulys_Q1t^|QjxHp^u7qO3k1oOTz~UFlp+a;AX$o%#o4OAfb+$>Q0|EUd2hTVkZp#f zqqfR#t%%67Z{{w5{`CX!6BVGQZ;uGzgpAFv)Bw@R;^7mlF77{F|{x8o0mp#}(vsLTX`js2% z%8}R9jo%tJreR7|)|!;fK@sJlT`!_Z`YzP%*cRKz zKg%%;bq$C!yy`z(Y2xye%6(+*>wEy=I&^BxyRep-if&*|#rRUTV~$J3R21GDj?Vd~ zB0uE7IjVd&M+dIOO`DyZdsl@=piy$|qn!swplF7TuBb1W?gBKa`Z7O2`P^z-Y|DIW zX+8B?-haSgcNG#y`&ec*uDXTBU zv?^t+?(QlArlXVa*0XPZIeZh(Kxu+hZMWT0UBzKMRdV&)T-qfcU$a@u&YaW-jHr77 z`)B&hH0wCNa6S5GE_KgvL^?j2NRd=m3}9-l@)f9Rsaj<|a>oQ@s5*}Romz{5j!{oe zI_n+^qv6sq=RIfEH3tA>@cS)PGFv`vuD#NHCv^FGHpGmF$ks5Dm^>j!V94*T6c>_7JM3Fr}q%B2`4$<;^c#y*L!G`-{3 zE(UbhWn4XqdE{>fNY^uH6NlN(zl*Q!7cYh&Zi5xU%&ya%b|U-gB!+C=Duh5Hm!`H~ zk&H$Fs-o#q9D`Qjm4BILx(mV-13H2tZ)-=1l`3?N0k!JGT{CelPUqCh%Q#TGfodfV z(Hmbz2XoAMI8%QBg6!*)df)Q84&XatG={ot3OZ&chqv3`46kCY;h8!{X;&i8M=4`( zBias8`5gu8+76t4ap)I)ad#jt=4yGrXkPUkp8wqN2z+6hTEG22YCMkPD!osjAyr>l zyYkQ^XtdrudJFa!H3!D0xtu01F`uDz|85qmL9uJO@Z5tap<`a}(t|c9@y`?-CVsoo zGgX5}43_of(>L7hEP*cM7$~2qlu?}tfSAwE`C?rM#9sN9cKj(rofc5C(%8SM{$}xA zHnx_3?5JLHbr-Mlw_PSjJ^!hY7?zGwQrG*3Qrb~S5*sm8IrkNk&Uz@Mp^wr2QiEKFy57UnNDBrIu6_{udnkAp0jD!i_E{I`VC40a!I9c}U2g5h9 z(q>(-)rATSHeATMuO_Zv*D1CfnE0xi5F=KZ)H<>j?AWZ>YW>4Y3=@>iiD9PLq+rq7 zgr0ld-Xs<&d%MHYOAs2Pm3SVxk`~*M-of%MVyWCe(g<*rn`F-fViNiywm86`S*+_h zp!ZG&dk|1cYjkhK9NzU2{)pm7)NMp=RBT#Wsg#b19JID*2s;-DBDr@50gM3fW^R^f zX*Px=0>HbBGElyCG<#P*<*Xo;|HhH<)qq6XonEBTghbc>*L}qG3ARcSHLSB^7D7+) zqK<4E9~5q=iv@&c87gsKI&8A~b>|NpSx}x)e4EvE^jF7%hXuiGt42v$W8URw9FhQo zK*$erp{DZ!^M6A(QhSIcy`h_-)vyQN&;=MZxi=2JVN|X)fBB7rm*-lS-&jzz6h3y| zc|#X{;Ey+SA4o2PZ-|Lo!yec+Xab8mAI)n*bVFkKlv}9oCa;T<)1OW( zbeOLx)u~hKby=G4RpFG1UmHb*5o9qSH{o|OAV^CB8cz@rJVWRY_|WsbA|`u9CvyP} zihrAZ^QP`2L$@czYczxLA5szQE310|>v3MTh?Tz=0F_JIBnxW@aP@}K*UUZ1Ch0~E ziRuNBaZuu80`8^xo__q8Dgb$6>S4EmNfHX8W%e z1hBasb9|X$Vg?+|b-MYwQTvc>%R{U@-y^`!>G!^!L_OYvfEjER`ETYL1 zVgH9XuP7sX;OCS87QEKQ9|l*qyrVO*dtKoQAh;2dAI;Msno%>=5UqH$%XlXV1|-R| zbIU{UpVS-xiw?o*7RY<}&4^|R9h1lcH6kLtCjhp(#2oeuibNcyXmMZ4zcF&XD&SdO z?BY>fSYBM**fEMxF>ax1lxFFQlBl?GMhJR?99v45m}zqwxH~Z+6S9kzhaV zb@PNn7v%=O0`@$)phok-KrX1^sl^p&b`I|HJ6s`9Ledt6@4)b5_XTJCVc~*OQ~_98 zN8X14%)Lt>nZQY8yfxn}r8#jwIXz?vn>+StYw8eAa=K`~3t01?ZDIJnQ= z!nwEy;-zff0*d@Xes6OgXg@juqA`16w6kmk1Uv4$XM*AbT3U`vPjXVdmmKP~)f9nc z*WsaDdrOC$6=$(2WcIWDP!_rid^}47;Iw+`QWN`pEUbF&^}P+`%B|q?ZCvHa)_h?@ z>pg|G;#v!~*!O{UOW%YSs( zan0@#kb#of3ChrYX%jb%-vYQ2nB;@|!q2M&2*;;mZq0W7J) zg*Au-P86~!+=UYNP+g!`YPRmFdUR)vq@TuoHTLqnVR+?%A548N5fq7>+Z8~0M-2wd?j^w zu=GR-cnGK5>t~}9{3}3|BfZL#)>Zazs$Jtd>C@rsiC#C!)CXY%qnnkLL$G z8$xa~v1QBYdy%BZ5l?0fL(!pU#l0`-FX_=5Nu4RMPDCrqLtg=Quw96j9)ok6lnA5t zS=d+w_A3IrUPbIRb`{a=3gz06g5rM4Mt*|j;wxr2ywIe*$TAURPnQE=$*Q zq+#Us#PF~o?D;g=#lN4E%wCQ(yE-=4!hD{y#7G^BS;u8BqZ>CdUpuM!Uk%^r{NZCZ z>kFN~^pF$tsU1Jyzyn|COit2ZC-%Y2T==>&J?4J&re%@b5G_`JdOY4b$(Ooz^E=f+ye{eY z&5N#s{niY*n5e0_f$WE`bTLxNoovw8y208TSn}7p5t+DC-GVRCT!cR@bc(+2LigN$ zarat{SjVlh4euysUkYBIb5D^P!qt+6j>f8|#)^DERVI7w-EjDFwZsE$k$|&KZ(BUb z628&hsGV})u5WZdYPB~XDEv;Bua!ph9QgRG?mJ0xxpd%Qmu{U_`=0}&&gpWsf%Scq z?X?pWI<7vBaf7DI%f0HxzN-$>Z zwTX&q+-+?4kGeS#2MJbv0cHH@7eR)zyT0!XMc8r3{8eHD&g%lp?*PZ0<|CX}pj}3; zX27wtlFnZQL3z=Lbt+dMNv^%4_lDb0rR7-{BWp0BY0rfdn0@nHD1RI{&kvGWJhuxF z!r(-R7hV+(Ji1>{G(^Bwn`qeRwx}A1*fhlNc5%V2wh*`5C{i0 zn+WZ{*H9M;6tq`>*2nu(YPF8%lPWT5Bnlt>b4DdZ!NDrCHJv2%|EM!$UmZ_?Qzd1T z$Fv?o+dvs|mJm(gZTZVjy|wG|1I<2?r-|fyYLW;m9jNO&95egXp_bp;E7fa5l&y*Q z9nB}{Y}VIG{aYcqb{>R7BclD?cu8(WN%$wQF5}7HLUPB4B4PhNBJ9iso$1Cgl)t06 zsN?S!sTW)j?MDt)o9WXE5?ya!)8q$U{GV>W1nSZO*qg$I@nJDg+2DG zt~J8eRM1D5C#LC#IulRNOK@)Q(kOO*(PSeWeCzJ@BI7l<3iQPsVW@hKCHvUD~63T0Jm-U^D%rwL)BG4 z4O?hc1!y-19W`pxZ)H8-Md5y9Qu-=X~$3cAkPh z;{VYqU2mXG__wU5OW)+`UvTdW`5;{VdecQxt#XlMXWki$+}u0Yev9r$Or}NbqpP|^ zug|H9wPG$kzCBd7N}IpgK1EI*Nrj|~Cs64X+e^gSHx!>v8N(<0*I;{_99I6**L|HE zee!;>42DsXMh`vN z%8%w={1W`4fIs8L5*u976!$D?W8FtULX7LMG%~{<9wzNB_WYxzChZdnSLA7SA;{yz?vdrjjx(p+W+mt<4S6_IQo zzGwf(nUewkNCnq#Uzuqd<;`PdE*jN8l~JT3z4rc3kd|5Jj5TV*SV&})iJhOj!j;XP zGu9V!Bt}ht15K$EsqyOw({RTGKmi2D)=-3Kc<2c+nXAiL@WD0vjzO5 zs*v*)_;k%>Rf5GLfuAZtE{Dq+Yk%r^FBJGA;GAvCApdd~%{W!cbpnIr8TvnW33#Ro zeh-Jsy~ZOQX=t}VRa~ROSB`lun#}|s?7+q^-IY*+Q~b9tq7h7=`)3&~w8x=%$H~uu z@sze<76kC0Wh)bxn!;WbSR++bngl#o%T9nVII2Vy|F(#4Rl(Z?+#T-fI_4NBzpje^ zM8tomf`1|4CsgpSwd{2tIf_M?4`#IGTlXyZR9Xq#Y4-)<>^9 zgg~3>GgB~&*QX&@|3tITI|Ac`Nx^u9Z8!On3wGO_8d}#G2^z<-=%p2@Zqg>A1O!7ch@112j zu*oE+N+f*uL!f+*mg$XP&y)=STTNd8A2srThvdqc-ROD6#QDz-uR15X|x--pW1?g3CIBwVeQ8iNm^kQ?$(jldk4du=Om&Tr8s$k+T77UI;1G>7*Z4 z^BWO;57K)|YjGyzO0?Fp4U0tcaK>bJ(LiXAai(ZH;ZUB^XHX}5(P(7)5Jwp;#CYW8 ziSLE=Y_{`KfMy7Cqz06VTsWylLgGcJ(N03yZbq@*BP4=J4GL0EFVf!2u_)(DR0}H- zQnO3nyRgK7Fz8H?W2HihYx^2Cqz@sPU0KJ6i6*F+rN4k;c9SooGN&A9y}jax%6&!+ zLrhOz^)?c)B$)J|D=%F4PhgQ1Ru6^e@p}?QTUh=FZ9`t*y&8y} zYBEYkzzn@Wj*KP>9LcEX5b3z`%bJrwho{c4g8$7a>P`8A4m7>IpEVjKbWfrqy{h~& z%lBY6@>K0%V17mhWfJp{vSjUzU~Cc@DI1I=BxcUVr;e;?LSoo&+k zuoENT|J{dGT+E~&VpB`?P}@Rs){}x3*9U{W{Iw6O{~b9NzUGY5e2Gss6dGHUMZ7Od z|I&=A+(pV?6tmKo7rgn_QjyoceOU!ir1yPURxokFNy&?N+LG+25ETEwECf)AW@EItqM|@i{icyJ=$GgIlg2DkfJobcMv4YphQ!)KktLR{!{z^t6 z{+wKtKkmh5q61Y@ucR5NXB~L5yf0$5sz)iM_5Ka7qJCRM$|jzYS#GC~Kz;Tje_j^p zltB1hL5SapPpUU&ctVbp=&7)l6^HjPIq3BS~j4;Wefetf;=Pr4GuMs>QUS|!MO>=+6hp&1a|FGz2iSaB1G*L(ocW|}Ug zA55&C8cH&=6Q1Y@g;Dsrd@_LY63-6HB+UjAmd32F@fAzWEIQ4_q&2hsY%=|{QhOgV zbIQ`&<_46JwcF@ggyxhpW~F|Yf$%MogVo4u;}6v-!p!KxJe)zZ`aqZAgl+e4l@NWoS=;@Xo+6#l$+iOV7fgGNK`c=V%)f$|^(^Y${PAp$?HNEAG?1MjN|6JV1{^m~ zDc=+r3qY5WW(-trROX6s?m*ta(lQagYasJJhAy~4gtuZ3^4Kh7D8j7>zn^T<4&+nC zj{_UBkXg?_UTi}!tM5c%^z&)EK|NzwFpDOH=wOykUn!Vf1cG!^uu_;)!Afs#T#cU7 zhDA>D2~nCoE`(XTfH^5d!AwW^DHP*o5zY-^^-D*Zv?5p|&?R3tg&1YD7^>4SbtmQx`SAsjNEb)0z*=^-Bh4hk@owx|<%^*itR{sSZny^1X zvY+sK24QEosr=chYy;`wFb)5~is4U>m3jXRJY0WVd|{SJ8_Flyp`m=0k|u@nrj+J{ zvfX>pPzytOnaV;NenFahl+fcqx`Yo@vo1yHEpLT3JOkttO7s_@ESiGfDnWf1&%qGJ zKlMZrD;? zi@!uADgvSNJlQCvqiGsv%w-i`(cWzT$BSH9!W8*I$uqo96P5*EG0W0rbU0Fjoe}=G zIvCf3`SlpU7sp_ZJT!cuj{W%M$T00t=3VG}oqlZoB9=N;PLSpgWfx~oH?qtV&N_Ct zr_PPNI2Beq+GoLP#~~M37ue@K1mXjJ9&mBmSp@ZwVtX94-DaIwWK#0r_h~7|+{~n7 zv74yS>@wUvM*-oEiU{f z&CO@!NGm>3EOqNH-+nR1c{>?W0;YMt(V=mg7h7iItgg|ViUIezQD<{wl^Z?U`~EnzKCJ$;9f;5DL8ZCe$ETYqx%(?0-OQ- zLp<2=Ke1_T+fVy_@?%?bH^e8nSW5dZm@3*LpyFL?f^Z1e^{O$`RX=HA9e0MJy6Z)E zm=YlyDea@ZaGu&7;m)qSJPC#vw5;O-^sqACN4;w1;}Aw9ad~{m4JVVx`y=7_^c9fr z$p-tN{T)cPaBsL}BNyW>1Y#pIcfk0=`ZG6~*;D6WOX1K#tDWtd;&dNdS2kOi9$oAX zc0}D7yR401As5`nNrlqij=t-`do6PV!E=v35F`fQjZZEJWv)?i5$yQ51TY)ut>;o= zAUhX|mgM6t`Xk&$w?Q2WlgfDLhkfK0=jQO&v58GMI(eLQ8JEr{;JTELXFk@BpGq`K zrBJmZ^(VS)4j?Cc*SkPZUk0x^S6`kyoqgyv$d|o-iyY}o4mxlb%)6;={87W^aCZ3? zc}xHqytG%J;c#5;arSo{v(1;2++G7S2iD?Vb7dP6v;5g(^W|_{pK=&0Ps}p1Z|2Lv z+LKILAP>Q}7`8yR1=^Z&XowK+wBLq8Us;c05k1Ed9w32Sb3SvW1K%*897$xYinA8 zY?YZrsUdrAfgC)sYX-k{#3caTohXyU-&GN6Rb1#F+DasSj>*CI&)&%)l|2z|hQZiJ zXGgKqi=dO(0h1Nq3=VZo@+x);kXUxx5|fitjFxTqN*};FQl>bwX}4m602)mY+8D*) zQ!Hnevt8Z`T_JEt6I=f$k@L`5+v#X48}eDEw=@$Baq!1k$i-V+S@_(Mz7j+my+=Z6 zj;unlq98a+x9p6yvo=#GCK4MgLN%^h7!6|^@pjf6?-|Y7W1#)m7zy)FWjA@4eO95D z&-;x3Br6uy6(qLq(3xT!CQt~JUC)i$q+O< z02F;LU}XabfXcJrVvt5Cizk?#yhjgsWTLR>)Oa-#vMg;7rfK^TM-auf(_fg?IA^21 z8CA3B-bXFNI|J$iX$!lMEhLMAhPJlEEGBSDPD%DJ&-fl%df{$*|^e@Z%KE)w3`G z!<3XKlJT;1FQK!oFKWB64gyrXww866k$I`w+rekx*}N?9+sOYmC)H?56ZLOSSm-E> zvtj_Moo07FYsbgfc**C2Qy6Kf}5C=Oe7u;f5 zM#nmDHtBDSI{#e+-`k`(vuA5Pf?2|o3#`&Em@*;#(vO_g6LiX53j<*Usx@cQ5M^>L zk|6;}lPil#$dRRbCuaQ#1z5k@2UbZw!#3>N$(8L)!!p!-bh6a~XR?{(!S{OY(uT~i z6t;d;t{XFL@b_l-t&ry~E?Jd~xktve?i;8o*Jrb3Tf-=*t-DYbt z0$-U-j^M3#y2Lx5lFzlIRu5u7MGZ2RH-!>vG5)mtEh^<|;ko)#u8=`r2&*EB9a5+T zKn?^TPE?pqr~)ZmI5*L?#Q#-h#n>x* zA2UPYI*hoT!?7a>erO)X*AI65xrm62n_(!A+mPdUjbyeB`thLma4Jt5&dSE2D;L!V z%51&fWfZHQ;?%%gAJF#=L2ThK1<6u6ZvSWix^7w+!S%V7H$KEJVvlv)If|uCb@G<< zk}|{+uG<4~74Aex**%yjjt+fWnZ+Nu!O8hI7;Rp`5wi9eyLxuUB=*Uq*>NnmG6*AX znv>N+?!)QBUO%u{dYNpJqT>|PF-K~~`ybd>CV%TRz}7^!$VwMog|~h^i2ZeMzQsMM zx>MNOtv~Sfdbu8EnBeF4z}8B+Q>#7B?%XI_^>;Wdb7&4cxlz7RiczkAHJW@-q?>3f z?qBFJibd;oyc0YT>a+AjvRgb2A*|)AQCJ9F?7?jRChX&})yDRFI`*A4>DU}c-V2fV zw%c)^RW<}0=Ejy`c2@Hpj3$;%hO}W#mK@D`s_`ddHP%l{wrrLfw5+%^*0|tNv1V2{ zvQu*97l70c_X~KefWPZlV^#QMMwRfbvVs`PcDW{pu;$k3X11hO&S$4;bx1^IH@UN{7>tVT3i`xx$luzTSeB-ZUGx z5OrAJX%&((oD{l|TR?->N@=}-WDw+hESBaJTF)ZuUc9kMFhKt(Nbl|>($|S9ZL9WTEM(JP9tm6@wnK*`DG6a$E4z5Fr zw#-G+d$9iU^7ov=`me0J!`9#pYcf;p1Crgoo(km6Z3}kSf&eVZmh(yuFl(BT(i9t4Xmw@ktFP zil~8*g^zv2L)fcutp!iy3B^{Mb`Se#8}@89!-nId4MLMFF=IxGe^AC8a$g~meH3P9 zXFvCZ(TWeT3ut^$?qug*hw#Yy;j!2mkm(86kKAFZ;tjygwtB%j#unsuwmldr?vI7K z!RL58eZ~mb7jOm2Oi`J`J%(F!#;e#9}L;rodP5H(b0! zr6!2@4uLHZl|8WeCT4Z@PGG@Rn1W)X3~|Jm`E!Syz|vk`62Tg;!dgz`?_m+Fo!-{Z z@PkP4;bQN;bJ}(b4$@cZz$%g&vC#%AyZVIu zcWexPK0EiCJenOZUo5jUQ?UozH+qVz%e#iE3mTU9keuqj74@~(&XFO98gq#+tj*1A zcR+!eefJOqacs=%Vc8mIYdQ!#WoF!jw|+CDvVXve8V!Twm>psAD6!WFH(UR(Y}RgJ z>|uG3_7QgQVcD*Io;g1v57w3_xlDcp9F_5`=n>g$wl%Ho&856wE-X7O*Uy;WYYlUTvd}C5X6c+y!~0qmT<^O zxCcl3K8$2Eh3^*0P_9Ie+355qv81#;M61acVD%IpnjXaV4e|45g}c#nuRI}}Z-5Td z(#$n$mo6N_mnf87;h(*V_>Djg?KX&kfye+-$P?4ciVFTDONCeE_(LWO{I zixw<>DDS-YpCPzM#*RmNQOmp!(4}26CNEC9@hLjlz3&W-sZdz>;TgxD$Bi!0muBIL zmGJd0qe1g|oCy!+L<_7!S`-$K#;jV`20oYmE0Byo2u-95ZO$fXG?oU~55lnrdoeya z7Cr$cQqKoipWI{o!HuHz>~klDe%ni!YB_J~bP6VeSD#+w!`z+MVV!dK4QGw7VZ^t5 zj>&3g&oFQv*MSjv{`b+a$@5b_jQYf4dW+gN9kCy#k8b$)WH04F^y(5El0pItyczMC z+#FuZIytL})fEJIunB(H5B8l$uJ|qsWLpXX+|?1ZTcZ@1Esr}#u$I$yADnsUM8slC zAZF7?g7#|cv_Dw6^PZEf%84j#GZGFNI3><4&Xu~TMzfn;9TPf^1wRRMKufO3acq6Y zO3=n$jqQ3<*7*rG>@|$o-P%ACn-Cf|nk}wag8C21_26dyvfq=9Y8B z0%i>vJ5-JaNhHhueKLgDxuguA)nEW|m92>eQ1j#X)6$4P*Uw@&+PI~TA7rTV#Ry~n zosv0_ZJv_pZ822+27HCCAXl;_8Iq^o%>AHz(?oB3Woe?OBo(G7xc;k9Cw929u@Tcq zm>U6e3@&mw5xCAVR1Icz2W4}Vt%*-aq;dN9W$Wt36z344-kvx!;07^~aW)XO@js*+ zjLetTABcTjcGuo$Yg!J>=6@4937ucp1mGG?M*`L1D0fsrX7Oq|8sUWdYzXFrv{Vo2 zI0n{njO>c_Yn@@=`+@gH`mWi~Nyt{HgoQZ47JiPl}^dCvFYE zEW?jK&q8mr@Ex#wnrFh>(%xN|V7foYq|=R{FCB7ef^vv^jm92!JC0BB&-sDd{3dwZ zN8XgvXg)E#EQhe^hvi+!bPF+S_gb*GNz04yXU2QNeAw_&Mu@|tqvxm4(P!st~MW&J!M#cId8e>72xrSD83fc6hBYt7c9U|is&`>fcwH> zg-ftavV36&rzZvKl4-xuwvzZYd_%|Q7kYDx5z}oXd;Z@ELm_R3yXLlVDjM0$UOXHe z@8(xPiWjJ*1>BmQXQ1NBw_PbWkHe;H8s?MX39u~2%hwZ4aSF3Ua)Q=RU_mgS8CabhB5RxYw4j~BR`q!Izic@T&sWz&`SEQE7=@+a8uH`Y zLNJgpA7DXN5x|TP$evG%)G^mzoyClBzI3)Ywb7&^%?BqN2Dp?HTWrkm>$W$OZ$+=@ zn`AIYxCE?qoaU~XB{~dHCmR>TK4`U$f{knM4gMyU^PX(>+=l+6Ob>>t``D)Uq?v;85ZY1KEUCJkI{^yp<>)-G&n|e4IOG| zU!eU=VWmXgjje#fKzRjp_&97NMlIiJG=GGIDc`5yf+-4;MjUVNgBYbXZ^<}@o(d9K zSys^YVak+w3ZLXs!KgTCz6<+eW@G}hbc71V2!Gp~fcs2szky{^_#(`!dX_8u;R>9F zs@Rx($@Q8RgKa|{oSw9i!8=?z?{4)-a62aEmku^k4j9K0mPX3jXCVoLtG>SLor@6a z!}X3OZ(Z>}vPqVCU`rFte)>Fl6!W`zm7kN3#+$i(CVz(W0Piq#L(y^{{`3wIyxU$! zw^Ots&b{4FA%;c(Gq%eohm1a_cU)b@{Ag=hNqvu#y0+!g25&nL(7uSvarr5Beq@f3Rh)76 z)doQ%JwKD_hfEf%mG~i(z2Vn`6`z`prDfa9Xnv*X^C}8Mi%$i9>Dj1Z%mXyN&77my9Dq`P=E|Is z%z_ej!&h<_b>gV6o&xYN9&TbEO1&#QdqH#$~JJCA>L4dD08J4A3bBIN_Zyz?C>;5$Ou#olnSmA;& zObfpQn<;G&eVcm6{Kw6BX>%l3B!GUaKr#zIk9dWa=OA~V9SkYmeh!2N&;O(!;GHcIS zWo0!-@e#a^Ww^0zX>Q}#y&tZNV8Msr>*EN$kyrt1X@;5e*luiHYbdzW&qJ27G%PXD z9P3l+td!4T&DOv|%H2n@#Z?n!>1nM>u7I6>3M=ls78k2!DeOFy^sQF?r3>g-E{%?1 zZ@w8mitXBJ(808Ax^gl<@bNi$tM>m<_9bvpR_p)F%Qo-JG6S*<$n2KwPrkLPD>0m%PAV`@Uua#Q2%&e={?J7|rYN=6~ZB|w;tqzo0-AJkA|9#GR z2XN{3`;Q-)cg}nE9>ql+YD6%^P(ivc}H{;4s z;3qm>TwrGVPra>C#+JiyF-7)$$mIS0HTY#QSN74G;ZRMl+eCIEwVHTc*%jOs zmdY8DspOL6_?j*b=V>o#)>!8@ryVo*g@fzzJ9P)<^+gyw46uyME<3-~mD0T`ayZC4 zv_N)?|F}z6b_mVG%@ADe0O5Dui9q(*{>xe~uihwUh7&Vy$JgxGW$lodf_u&O`{D4+ z?iS@3iJDBcchevqzI718u4s+skC4T3+>PLyi(?c0z+^^SDh9xFXSBthudT&Ax;XyD zYvQ2GbZbrfQIi|_&0}9((as@u!XOqmgnXQ204=TmNjp)K%XEWXyRrD6wX$?r!!$b} zj~xHA_C!0n+=oS!hIzQU!|_b~9mYTwTv+Z= zxQS>NqWX77j|eC^KeM3M(dIG8e}bBxtG>#G`~G)j;U$^XnZShIHVbFC^(2l*t667A zI;<9OdPwG0dr13OO+Tfcj!69GAF=J{vix7QRVtkyz)sH0^4XGQ(y|dP+TOg1JHdKMzU4FRG$Di})WGRJ^(2-O~* zIni5s7g!}x;L7VEQS8k7Kp6ncqM33TJWo#MhiZD`rY0CzH=t0U`qFhlkV}w3Uui^K zhQVO|orm^p?`=^kY~1!K?tD>xARs4|mmY)KKCuakszDSG1eNxq-2O4}mf{aVFK;7r zuoI8pa{^onj+&RZf}zR1^`71hV*OGnd<#@PJw%mgp2=R6bTiq$EhHh8;ZHQpZx0$aara3Y)4C7=suDIQF1(+<&S z>bBf3Cq%;46X4dLfLr(ADWL(+cj+E&0ID0n&A=~iIVp!~q%96PqW_D?VYXiY^a|k6 z>l}XL!08Eky{9=rW#BQ;sM|zFUF1TwRL_QJCAk+2`CgRd zfXMri}>;F}fBS(D0LBdSR!hy>TS&%AlcK|JI-7Nehj-)dcRQE16 z&sFXjWkV%qSiuG~pEcDI5Ee|=8|q@OyULN86n4%PG&Oeg_q9 z%(fp9f;+sZa{v;d^ArF?6C~^&yTVv8QpDvFoWea_dgvt`DD6qUgZ#761A-*N{?El_ zifheFsB}*uU|Gs*A6kj(+(f zV8@)OZcR)8j&pjI`ZKnF0+1APFtq174i?W+wHcZKjlZsf1ry;hXWUShAN+0q3I{G8 z4$Z5_J{|*dm{d8GP#`_^A47c7N-7dOjg!rnfPFx-8{{?NR+1G$dSVoQ-VKaGep;&( z;8Q$*YtI$Hg-Cs)ZZ;$%O21@aO5+jFiDOEN3`-P|k5n3XzMLIkA@H=u9l)}9zSe<| z!|=4&FF{dULKrA%3WBlxF%L|wYamJLUW-zNsvJey?k%fOVDj_YB)L{g`@_XWQ0dI~ z1rmf%Olmw?m`9WxEvWEMR6PYR_nY+;IF&Fa3_Qd^Q}a2M5W;@{N*=+gHZDfYlHKMc zHuIF5mOWK8C25NVql4LwP}ly%77VZ<-i8bJaSbUw9Ah*TjJH%& zH=x57`>$|ST;RoJrEOmk;t&3q#ibyD9|2gv3*xyT2uv~O1rDOzWPg)q=p<$})kdH~ z!LK5|UHg%Cap~b=dcA|vc;_aL)uP0CD#t2C+`RP-UA(*7Q3V+kSHc^dVWTVP(Ffh8 zwHqei>9t&8*2P1+b9z)`XYb7b{nRuh91-YA*LJPoH8d89CmJs!noj&wc2YGS%|V&6*n z2pm-JJ)Did+|MXNee?D2_{r~sw_qsT&XTzRvWHl-N*1;UU;j&!^RfO8Z6`^SV9}l~ zff#OY1L*DW*fnCVEERml5 z*y0xp4oiWFb5{zAh_fCfK>{g5v*jt|0>pYcAd*qvO|VqxCV@^I!8V0K6^xv-tZ-h%}5psqJi7^NH(h~O)FK~lc0 zjAZ5jRkV;Eu7z=PS$V9SLU8Je$It+FC03rL@l_cJy#We1$6#9u_#Axw_Ut8I9<5*O zSimTboD44kxx@K|jiFG%R1SlF$ow}h{kmgXbxj}aY3#hFsSpB3L9Ew0*Q6e2{=`@E z=gups0BNI@JT`8*x{@F49|9DBnC-r<#42e3p|h@Th@K772F432=JZaiX$RAcU+ZK4 zrB$zWXp}6Tzs7l~-@rrL-y=JdosE~D3RyY--W7|MEp?f_s6lMTpZm-IWh;MP1z$*7@1!mMi@;qSYB6X=vvXPy zJ9!va39NdCr+0$~i+6p}1g^UMLyrJNOuIZ#4rV?5Rt{k0|5zEoJl+NK@d`UvfB*~& zw)F?GJtYywrvLUZgplDk-A1XjCGhbUUoKPGxj}Mp2$^Bi>s&S2`TBmK+Gyg~bTE`c zYX$5L!7Ox$9LBPDUxOg&K)*^WK>M=JA*Q{-b+)opB zaNiKw=Eg2rmKa%$1DkL`#*%1u>3JAb?V_jhO&K99!q?xEVGRMRH)R-DPm`R=!gc;y zw$vmiNhdsNx~_yc`4ynjmrSxTbm@u}^OtulXJ;altFWKCb7X%u%Qgqge--kg@-#WY zzru%R$3cHMV1^yqTMw^{kU26!$t=}^$toNv2eL1_1k3HrmpLLR6z8_&+_|tbIN@ot zY$?;(0ka%7$T{zN)MllI@adeE%TqeiDDq2z3%m01{Bm|C9VdwIliY8>zS}u=rGZ7o zF7)?|M<$Jn2a6o&wH$8SRB5Jk58PQ!NeuGafY*L5Dx!<$B)0F7@CX)KDC;%eY?H~o z2m5M}9KcroIa=sju84ytQre3TDIq z^a^ACM=^?}e|mw(-+zgP#pOb$Au~|Utfp@_m2E;2 z1(p`+o#dCVG9W290)14TN%%~}AZh8bJPAQezz`xfNl5;{S^0D3cWmKyLW5oYaCr#J z?;emS#UnEARo~#h+POaMJC`;zdt#j2TPOIFPFGQh?EP_aHy>Xd&8)d^a1x}6{XR~P zQL-tCh>G7>+<4j8%_3YAaYt6|ZfNXBf!ydy&#)!quN>u;>l&e9;|9A1>PLGKMNrFMLRbPl>e&lmBRCnC zFlRr2+E~Z(cLfBo?y)ccN+}wmGFkJAa8F$yC}Z6(xrO=Ma8$SS>k;917wY7chFUjd z)X$l4Xba#IW>6D6Lwa#%4@1sZ z|L^IlUR;g?*mK^+?(u$iVd1H@cy)`Gu!ud85iIi`P)n$4z5{jiQw-rQ>h_%LlAV^G zZ5nUNngxJ6tDu1VyvDP8rpr<6+2=?5v8^9M#p<8a<*&P^j~_p)0}~u?8e^U{XHCKU z6)xGMM^50Ioi!B60h?c~fc$>;Xn!_hH_-Dx?n0c-xTj>TJMAAZx1T8t?yJKiH23+Z zhdNIFx>I_8XFA(tl)I|jknS+ftseo@Z9yZbr99H3h~*rQ&7g=p+N1=9s}f^<#F)4=@m*LTS=dd({Zgty`3Fb z0L1Hg!oIdUDXQ>ylF=7ZW}i6$5b{o<0bA!$tD#UnU))=U%ET}$o`S)$=9JvJJ953Z zY@36A!(*riv7F#6H~z}PAURSUw2@u*>=(>-eXG^WJ=HV|+f)oMm#x7uQ`x0q^NpY) zbD>C)-~rXK;)PeGe|KhF=PII<0sgZ{Q*7^_(;$CgQ@RTpt>Y(wRq^(tMQQ#51`Dr} z&jVnBZ=K9$1%mMczI8I|=Kw>ye34fOya^070@B*1E%W3iacs6Qpby8UGJ}8+il3h4$F(F^Zeu@^g#i*gjyQsB93s@L-sT1o+Y?xNNaow8veD zp~xZhLe{oOj`#TeY3II|%k`2w1`^Nr@XKB%Gx}QI^ts7)o-$uk?L0=AGE%tP{ z^aI2$Wt;Ql*a3GPO22e#wF6X^wHRP@*3(@*``vIcJj6Lm#mGtkpEpF%{&gfbKM1C{*@Zo~ zSRM|aQx_M@nVM48e~FwiCuzOUe&j)*gsb&oty`U0A_*E0hq z!%g7;B-YWjfQdlZ9^n;{XXVoXnx2oZc{69!i%EspTCb|Q(74xjOb4<%7O=K^Sl zA+;8A_c z<*JZPc1E$lp!Z~zjn-tYB!08J@>T+B9=~~C!&vCkL^p3wX_JP%Z;c7|wIE50m8Z{M z=%*F=N4mmRi>?24nn9c9MHuu%DBT~N_Ed)$z>{!p@>}osA*>QN9&_{eBxVYwBoqL> z{h>}5dy^Pcy`fWvgu!h{#CITY_Kby5)`QzP7Cq~iQR;>K9dZb|4D3KdBB2+zqsz!V z?}nQmzv<(ENBco?Pzc>Xw7T> zpzTn0E?cxlj%7R7$Wfhk-KGyigV^ac@_1M1O>C}Q8zL<#*lb@rlG%&oN5P9YIPg9> zOM|WM%61e$D<>{H2c&+1UavvqYf4ym0QV6kaGHZngZ&n#IT$pOVwZy*k%uQ~1?Ula zR~OO)*DLn6U`ymwftC(B2z}-hQf=V3cqTb%3U8Q->$(g4Q0<|cpTZKdqGw2(U5|kG zn0Q2NXQBPNsIS8BonVlj#8ppi6m18Kgx}eXC+94b&;FI||pk$OG6eZ{+4 zVRi=h6-CcCwA zGHuJ*g_{3_dE72aISo0DLY~N51Bo;HD%_KVKa_z{ybdIWyOB@1Ks@4!s6LOFw{=V5 zUuego7*Ft7z#=Orp%5QD7Y~tozf_N~-UWK#JwwqPALi12gF&861|Aa{j5>tk>Lv7U z+weHBqL(Mb0S&bfx&cjdgd}e+u%Vn!fv&vz*(z0+w0saqMPKqs-%9T8X&@}qlUUm{ z_>?PPBXeKpjcY+0W}X`hJG)<@9m;*zUjrN2)!LnnaqSJ)@ONj!rF0P%HHVnzXM^zP zdzlxslEZpXi5HTs%o#oEJl*X-@ z(}7Bnv>)?RDtm`(aUgfnsl+E=eBoG-D>)aJ;R4x`dgA`5!hr>r6~#{eG7gFgRoEbT zfzUL#{>wP9>9_at_N5XjY7JWf8P-BkWm}mnUJ&4;PlNiRZg7E~-5Vboz?#;A3-83$ zirIrK+>d!SAoTd9;TU?RSGP1l5_^QFbtZ|oKdRG8yWyRIJRdB*g=NmQ4Q@^5v@w$V z*unS(Z5+ZzoSEp!cJ1;)jNU_wW%fNija>y!+pZbWLhFF^|8u7n!bx~Nn2|ppb}Aku z9&sujR5d|ez;_$YbJdWsm>lwPfZ*XfJ;{vVu|%!BL4`6Z1sykZE);$|Or2SL+*rF7 zerw>*AQZ4?1vhF_QM?;5JOjMUU-;KZC>?z2$yq{v|3{j7ZKWLVR|%Mu=aTS2hW(v{ z7CgMg>MP|?csxkP@;I;JuklQ%7kQU-UgY+pltST~_`U2@ij`}spYrzQn42JkT7qcY96AO@aAo`U*}z-v=t%^;VoZ|D#j?);sgAP6E zY^@!819l3Z-JP*hC@1pv1xnbQR!xdi4<;WR0aq_^Fco%;K{!1h5z<&=_ z%XipH8_zoTykj7eO|`Spf^((_TLhLXCJN7du^j7o<%A8> zGJosHbRv%=8lFP&Tw6?&GVJe?ci%rIO|XB65J#&!Jp0Dk+E5u%EZ^YkHQ3#jsK+M%< z3!!=5)~P*mOmb^`j%CipMR^02cg}o41A&5s4>(9@%X4WfK%d|+KAvK1CZQ1wOQd336W7~0--4F7dA=PbtjiYpUN)yo zNHkkEz{8W}e+0)G*(a=n2;WvZVfRo@Gzc|CP5^wF69lD<)?P5bQV9zAHo}tt-(2*; z$#t9IR`V$M)m^p%Fz%4pPYvb}PwwFO6oh*v(*jxLp`igDclz$vNUyRdizga-&GW6* zSbQ5aX5SO|e@Zg}@1`Ja6w=Z<(%AAZdl^Z%2_7AMx`4-^+Yj@+;U0w^OmAM4#*PF< zs{FbIN1z|V`E@Ot$eZ|eY}q4YddVCnpx55a);BUjQzaxe#GRA&s;s<jzxNb|wsF zz-a#J{O)Y{J+LOq@y&&Ssu!?z&V1*-9XM7WTMk@)Y0g|Ae~*J7H}k=KFi>6qE?$%i zteg;fmJlg4_?hp(b{oo?tVK2Scq za;ASc%gIK~N-^;L%mL(6VoyA12ul0Tb(X=Kka+bXoy#t52b~zYLyq>CFmn8~?1}8q zft7*mi4Q}y2Pf{3PishknD(Un1Ne1-{rtn(bexNq@c+fdLt!1;u_HQIhz1n09^eWD zp`QZtjwM7nmRNLLv9pfYc^tJ@$jak6l)6sF8>qsnS`||89SU^i)*E^We{rdxEG{S z5lS?E22LP1FRi+~5XC4|)Y8krKuc%1>wPHhGkwIgwDs!}EO6Xyu}f6EGlgueTE7Hp z+O-tHf4H60K`22#7!PZzP4iJV;lw<=ln4t&8ee>76tbeC;5=*_)gi(gaWa5RbGiEp zj?ZU4g|YJzMQ_ERs_G?V$-Dn;H<*e&he%1GKfuVhf*e^8A}rOp))Yafu0C)kY9}^m z&Mb_J6B{A0SLJ-rt4QW8@3{X zK;9d_$A)NyYfrYVh^CXAeEu6~Jau;4Pcv{<$n$H;(OeJ!KSS-8i=XoLO+f#+r;@cO z#COM;y)d#}+6dWEE2UBIr56Dr=1e6ousk#p+_h3LCqZ!tJ-z==j%-(zBO4?3hKrH) zb8=)gactAP#0Z4q!cI%ej0REv0BEneZ!xqYJzU^{Owd07lkj#jVU}76$OQhvNf#Jd z-aCnUwhq32*_kX4K@v!(Jvuay*-V|MR@&+*xVVkQt5vByeKeX9E5X<$H)gM~*)L*AJLGO$-+24` zC_nk#5khb#C3R&R$I8PMts(}I>JC)|V&Ogve(nI*n{*X%Y@1fBFY+=2e&c+_W717TK0Wt}*4_>O52Wr@y z`=J4>zXY!$I~!y~iHK(JJ&+P1B-gi*W^>LGB;G9Uda1D z2>kjfH)H|a*5T;p$WeGA&eE9x9PIl0Cd-&!boq89{7= z=>Z^V4>-!}`4fko74vcx= zZb+8o-oPdHLQ=VH29#;4+#yI?`VjQ8xG^r+48TZ|A;~_wSC-j`mD&tp)$o|66HFOX z6R(vP3X=xb(gem*@s~gWJKzA9zu)c!XEb~cH!(fodo3mN9wQrmZ4`VJ5b{{GKmk)y zYvq#oBv$nUgkeEzQ2E&h7QzSI26Xg;UVu+kk?|`0L72%KE&Dk986!b^sOPjoRd8S5 z2z}rMyTQL8Qz3b`ip0R|rpNMlHsX^=Pj=_aV{Ya-u)Q0n2)Pm)ds5c=JI!}Hzz`f5 z84kYomRzoc7TgG`IxDJ>KJmd-AIXb#$h9JW@gk>m>IU^B{jeOv!GLe%J@B!&(#t(? z-u$`FeC-VmWZV$2e?KLZ>3vpmE`(LalaxadkrdDl`gQd=>>jR^Pn zije{M>QgaNkFRLU+>r*W<^;V-YB^G@D;ojKr9#BV1s$>>3Du}SlaXCl>WPF}&_-?P zrJon}CL2E2W3C`6@^G)$?M7Sm3-RZWmPBMkVz9P9LPK0ZQvy?y<82mDN=ZDv)-hL& z{RoA>0pTpr86!W8N}@jSyzBuh7~@1|TWgKH6YMXHVU+9#!hfLeaKm?pqek zPnIDYqlzi5$^&Vp+R5mGld2*6K+zNG2u3H!w+ZMg>eM>=qXZ}RF}P~vz~K7m$}WOJ zq9G~Brqb@b!!1WNg)^ZxQJ}S-Dmkw)ZSc&3x~E6US4PtYe>UX5a*UMa!Xmw(eGgZ5 z+MX4!MHQn`i~WQ(=7c2%Dxdd9#W$B*(GSp~h%rvWpFZrl|H_Fr`w?B~6;89yq$ym0 zavdF4hjS5$xNg=vOqrfC)&N`SPtpD<0PL5R3LEbmtk zUB7Br$**#+JE(I;GU$%avR}2@9YpvhS?vX!utlTxBc}CVvG;zJW0QZxMnE-`Ioez~ z5&^I;+YetHMJqwd>AKQ7^pa)|HYAvaD;Y7zN%5r0!V+8Lo^T&JtwoOVm>3nND}95N zw8*0Ze?Wl@yLXhS4psBco9(CAxfZzx)KC6qw5Hl?IK_3uRaNJ#J`c|w%#`$m51KbY zj229jY{IMhjn4OK0kfTgxgpWTj16gU%*0Tv_MeKu#jxQV-O2ZuLdES=yuJF)YlK!D zy^yh;)nlq9SABIm{$~l2+o{{lR7(Qkx;JmkA1dU2H}|j}MC9NWYdAJyYVD2O1KINydTS>b$ zg{wFhiGZK|u+=^VfU=XT+rlq#pJ(@2FW7MQb$|})wsm2>NiwC!Tfz@4hiD?-Hej8TAYRx zd?pp$LyQ&wDM!Q}M`bjj-=lm+MZeOwbY<@#3G@dBZ~ZBUYZBQ- z6tiLUVOUsNJ5w#iAF9I%`pfO+IK~62{SEx$dwC6VilyO)GYO6G^nQ2{=~*ym98{H# zrN*}7c)z9cuBfQyJIF~QPWc;nQ$lYz%smguMMlhFDpcjizPK(MydOb#Igrn?pQvfW zVC+ZkC`RuK=d@pR5C{PNmwW}w$|5w3i?+E;@Wt&Xt@ih7QrrN=>rt=+ieu_m@ngm- zG~?uiIbPqQQNktN^(~P~@bpN$<()Cm!|`-2HSF->W%y>rQ3}_Ujzw2Xeh({DOf3zr zy0W=wHLD_y>)f2jE0cYOo4U)Mz*sUMO{u$g%Vs53y0>l1A*Gj``)gYp?afJBE-R6m zdzha_3DR6=(HbSf-`X)^fFxbnml`%rqx9@ff%P1FuxX*qfn%#Hn~bVyV<+hjphXYI zE9^;)5@0)w9@Ehz5WrEPm?p46 z`@`%!luq?j(nZX$dzf)Z9pnVqdH1z6XdpeHmTk2ZAGhxGUpDQ?=52{3g)S)NrW^V8 z9d&d^Zd2`H%Ed45_FdKaKEdWnY^8j$uDCzy2rc}J>OMj?`?>aU(Lf*%gPc!SN~JJ1 zhlWq!53~q;0&jZ(qQ%2l1XJxn^i1svUo#t~tiHXI{A|!aO;m-^f<*v;1%pgHV#YARzS4P>!6OdkE1-g`a zQK8tkxFJoo-La?~lc#g>3z{pr3V`${4j{b#6nL3h?$o;J$}$0@wU+n5|w3vp_r~} zB@G#~Xdz4OXrKu6%3!r$G1<>rVattC9L=!*XtjTAp@hpwGV)yjA)MC4Z$XRwGt*=% zL`1tWGY}bPz_JW@tA$Q-^u=Ka4lr{TUxE+Z(Xl!9whVid850KV57uaBtrcj6<}CpI z&LD(0BN>rZJusm3(l%Y$w@5bC%2?F8O|;ckRp8H!wX^57N`k*yZMv==Soj4<{V=myWw4EQ5a1`e zNCIkJ8@afli2(_cp3s1-6WZs6X5`|tGDQ=0NB}ja+MU$sTemcd1U|uzSh{STj>^%= zT{H#r+VcnBjO997389K(!|Q{CZR2?p{ZT~izJS2DpFEPsVX=&ShYLCP?e{(wP~H18 z=t9QUw~(eI-v*8_fHr4;b1)D5ZSQoKV>n=%j2J-liBU<8r#ZMZ)2vev1|DSg##wKl z01EQ#lz=C^g_TRg%B^5_Md_L|h$g?5s0sl`Z$Gf3fPEk}E%q<@3B@Hw>H_Pw(Aq4C ziU*u@tVeVF3}eA8z+QFG{6d^zES=f4d$93EePHI4?i@+Auq2nk_DJnyo zIDl<0N7=UG*))ZN81+0-tv_Jya!k`5Z-G*B0s;aimFXG_mdR3bG#X1~v?Mp_Hoc9u zIsqXLfgBNZ@u;Xx9F2bq+PQK3NVrH+br;7=l(`xpk&n?-`zI1_z!uy0BhSFqVb-CH zqZ9+eAZQFww#fs9Z;qPC-9=?o6ynTaGhk4dCrixFyeMs%C`_R^kh-!RHvDiLz#miX zB!nw8w*AO# zsnA#|aO3@n;LR5M+a_#dKnkO2{e=ePZ+Syspb*;%x(_&IKnyWQTI_{}5_s+L(3O^< z3fyF+Z{i!=MN(@p5?3pj^c1+h1VLmdM`&SR2#*Nkvh3HOg?!N+p`dMqG4Ml)!u*aB z$iqDdla0#@Xn0`{$1t2DzAv0urln#9KqV*-@C5l9IbW1D*ghvs3x3YG)48O+TG4Ni zl^@uaJ0v=i)%=F27;Q{Xh<}UDA!a)sBPD*|Y7^&gpu%kQSfA%|G55bT(QiPD1N63r zE%sBw=LR^d=2ti!Rx5#Tf+7VKrsCl)g=MB;U?n0^H_El&^%vb4=1ChmHk`s+^N_pf;(G>0flm=VdGm^vG;-i zHZMqtVIK!7LsH2fo`o~$GLk>mRi4IA!Eygz3_4dA#~(D)SS6Mlq@>#J;l=)j7vi8W zGvG5fpi3&#ECVStZW&x{^}51xf@`KL`vtk^z{gt&m4-)!-I%dmlt{3I21zIe&JV^& zmk5RoP@he}&Tx?d%Fdis*1#c#u9P?`gg}91eb^dv%@WgSD)|;P>29hH$9!FAags}6 zVDV~=OQDY7uwygcIIpj7X}0-}ymi{Fx8%>f^?VE-=-kz z=3x%8S?#Uh)n&wd46leh0*`vx0u&Xl0KF-2!Mo`gsg?fCBx52SfxI`xXc(RNlE$vu zm+;fv-WLE|RgDu)t@E-%N-dNvkXH$bPvs7V?sbj4MiL{CD4{pGBgVJ9hidO<2ZnLP>=N_ zgSFxwkTI*xmaUfLQ)`D=D&2~aDXVhHn>cMkQ;=u}Ri)NqZ>pz@)Tu~ksSq`YN#pcp zIs$K0h`W`;`9)fAI9)@PKvxuET|*U!Y;eJ=#MJ@x1=mJ~{Ywj>xwtN>x&nu#dNYzg z(Upw>?w(%SqAN>6HGfY}^}}o=;4;HJJ3GN?ozfP(-~=P?SoTGz(%W|E42S8lL?}G6cOD&@HsX|rGV(}1t3deL9!g@vkHg2c%;J>42s(hrssEp*#3~} zd5ARtgX)flsyebDzfmKw=hAt!fj}>(vWFF=OXe4-_3udq5o)zxU6`GzS8A+=WtG*O>&(GbSTNdsN!RyH+EF$P+b3qcELP|}HL z({gPJ15c1H2mAnWukIQ!F0dhJbxWVd`q0X$v_KN}27%-P0*i= zlB0B|r=U6%(Uqn$O*h48+k#50bAdQ;fwdq%fgimTf!&Kt?J|nw4uwG$Yg9AvQ*+NH&SQ*iYI{ld^((zF0I-m zIN(2o?qcxVK$B+xl&!^O0dxrXz%eerwWx*416;cz&L6&S(;BJfRazbTZ5uGWLZaRUX zqo$oG{CjRe4o!ADy9Af=P_=XES`gIEwfztef@Zb-FQV0#Dih#9h22oL{Z7 zu6=~!9Pu%lYKhT<*(*DOnm9tZpxSxq{1tI(qg}>}b7@03DtEk%0d`QQ;yei&)k=s- zHa}MvOFqM%C0ctFHkEos5EFwRKTAb?XVTRZ)zSedqqq=`kMPGywh{{T7bN0l)XSk8 zhjqHLY#P-rv0eC-0s=Y$km#gS9j&1HIb!PQiy^3lX)kek>dNv_)Kq&DVVZXHDRXqA z;c)20r={dXo8vr6I$2PTe`3Kpv8LhKy|IU)*N~BE2sd9nc;*fzUgJv$6oEqe{0Q^7 zte!pGiZ#+p+>e91*~=N-&&}c`)w1;n4jODlR^kcJr-2{|ye@5$%q(F?L@0ZxmlEMi zZ+W-yeTNs*Z#UoJ>KZM4L%5l}q>p&*k(pjge0OUyp@g0WCG<2^3Ec$6^fA6WHHiDf zvqg>eB7&?GyM{hN;>#rfzqhJsQxv8j?An7(iB^*04{Ln4YDS}infNyOR%;|19>yUd z4XvfAt(no<7qW-*@?_TJ(^cV9C1D8>yy9|OFM&7K#=swe9` zX$jwvRngCgR0t^#yvTJ$me&cTc`&LADal2R$~rSGrZX zZj$EnDbkPfa>INl;ku>I*D^DnP3*yJu}WZE1qL|^Gh)IFn=!-b>Uz=)yL!@`(tJ7R zl%-k?23M2UJoaU*GO_nOnqewEhEEk{xB(Bef|Jz*G#8Ek(0IM8w{k4;M|H+&-%>o2 zE6x>Azv*71^!)_h@xd014{#07*@EuFH;_v)PsJZ~`;5jT<%g0c|4dQD_bfHt7$JTe z)S(xs>A77+dIS8U9`Qt|g15#P*@9PfdQA;GRD&q@kFl|1!&Rq=>ylt0&0VJQ@LYKt zV1*ExjbOP==U`J%L=h{w8dSoT7K62dMdC_yYTQHcqrplP!T=HHXQ zg#3OjT{eGp{w$a(vx-EeAK52=kf{8jk&eO?g=}z}y26m4+#i9pUR{eBDPID8aUNW1 z+oMxdozBK#Fc0Q7rB6bmp9-byKuS5cW;hKK-`GnQ^=B&uFrcg~bWnz>mfjjXMwmX3 ze^p+*$RD0T$a^)#Bcb~0o`JF{uP^5?!cy_}n@GoAv=L2q!=)xf<+K@92O%jFVKuVO zEmO@BcP17-^1^5NvB!$~t6A#yLE)cQ75gg8V^g+v@qq#^VEWvv6D zMb9&ryTOo}w|o6lsF_}Re;yQHA3_{Hp8sbpuR;1vD`KFfe1%?${sv=EJP%@llN(x= z@-0Sn=5BbFd47Z1DJdEN@jq~k_Ip_zckk^3M`R7JQm~rIFs$81cHTuF#Hc#Bq3=WU zw!Cb*4|{t9vhz;mgrXU0P#T8A^C4o|d$IG&#s{yv(UGS%*Cps@usC+#ga+i`0xN{Y|kS}LiJaw_7yd4@#Qs1wd(KJ z#c!7PL@f5N$;TkUwL3+JlYDfnVF%V$89QAl4NFD3n%Abob7oI?`s5R}TgOh_9U81r zOPth+)lp7k0%D(V_rVKVF6nnQgO{FcI;0VLkuP)EaCN0(YjV^{Sq4pAYJIcFBW=~Q zor&SW8a+Et$;Z{AMbX%k)Q7|$)$>Xaiq6;lbi(jirh*)2I)OR*{M#S#p5!3um_N%c z!n&pWGZrO3ClE~DV{R~F$~W9?rZ3|^ zF<*$~&gU%{9`k9`y@OcpZY)J?ml0w^!X$!Tux%sIgxE8Ep>)lA5iG`cHdu7i1{-LM zQ!2+dt;I72R{Y_zV2wdE@d~L_* zvrj=f_4Iyx&%h1{WyNLK8jGLwRR+-c+(UY ztm!IpkLfDL7n%jT9&#rj4GZHA2BdVvv4Yu))DXr_QGdI4<0Tl>T*Zcvx`vB7jNzi{ z+2QQe1ax(?NN0@}%o(5j7uA&V5KL?16$I7|uYt{vZbPrw}hD?~HMt5w@9_&ieoS@KG)eFbD_jCEqcX9cm2ir+gf%r6h zPx#`S!1tbbz$7y8lJ1UT*)PuwMlkqO^;pm6$H5$n&y{;m(NPu{F~*aGy>4u< zCWh(n!t4GqBHQX1mhG2D$$SDHjuCA<7EhQ-_owX#jxp zh=?Gm)|;JbH3UgvzHH}Px*%5d1cEE9L^wyu+qWic5E5o0_F_w!j+guvp}Fey@Gso+ zL7ou*gm;kisdr5UYD@}bx%BgKKX#=7zc2c;YWls=kDYHA7R+=H^@IP*Fr8kS2WUnm z_WRXz(*Sxs zSatcJU~JF*(@a#?{*5TSESl-x;Z>ifpYk2-)VJDj#=}fsT84-a4-TIXhd>`^c(Mnh zbTGmA7LMA`4$Lin?++utYtiuF7HGi0dv@0|-`NATu|rink~Tj5PgM_sS;beK>A<|I zw`HA`iu-ohj3}puievI=AiFZycaYT3_hxs_+&9Io$=qZF$?+GpFd4ZDYbV>=f$;C} zPm6HgsO%Z`3lw%; zMR>z}V|&8tWNUnqV&rTl7niGUZ0NQ8L6RYb{jhZOa8_lD!t^|%7=@|E{H3>=Y7Ah- z1%3u-kgk8zH$h4T9C&t2@WI~}Di-(Qh48{S9t=6KBWV&ZZpNfSc<1N^44Kp@N=AT9 z7K|UH$XVKh9x4`bCb@)Xc4VoN=%?Gzi2j?QZVxktBY0$gE>-%6Zom^Uv`f|+ARsK% z+vYp|&1+3%S3ARX+bK19shVy>8zPv|zLqc3L7Nyst5_dKqF6tj;t zc`cZ%q`s%JDcdd5!4xap1cntvM^Ga?(Mi90sK=`B5ulQ0*D}}b0gL8T+j(%36B=5M zYy0T7G?X-uGDn!>Gw^H@Ae~qesC9!cC2h6nQID=t!Vi^)#@@+S`YIIRj0(Paow+Vo`g+%3Fs71gkPdFV z&W0{m26&`3uf$rimCKbLxesFkEl|_dLjq44B+2OpS~BX3#N5uSOV$H zhe;6unlEv{qqm@NyTu!z<>ID!yUkUXkey5Sv8lSFk-dQ~~ z($h?gt-;*uUWl(tD&FL)Ild4j<580BJTWqeou4<-gH@&JmaskB;a7IuS|wV!qViZ! z-KjC*V-Tw@-2*<4;n9k-i9&zW!v+1Fus}Yu(+tPq_xlI1*h=t)8n=T@v}bO2ga4~& zlDIQY2Xh#XF*ZD$#gey-ly4>)`~uM-%E9SPonkGkVX@m#5*ef8TuP+7%YMb2) zPVL;_LYq9}`O!L18NEube!*dy-3wOY4;h zt_Y*RPI-HW!S zpX44Pv}F_+8R4Kjxihyt#NQ!L3oOr`HrvZoTx8>Zg}_pic}!4$ZD@KvI~2l=R{+Dzl; za0gqyA`%`ZE+7_sEOBps)Uw>4Kw1rw1zJ5%{VtM4XrJ=)pskxI=dDKmq2D7(y>7 z4m_*-PGwa|$ME7vcSI1HsuS}hRrs)KFoUFLd_+4<3-891QT&o)KBC$)pJRy1Q=vW@ zAKq)}XK-JrOUkNbO#49?UZ?a&i!=__v>BWZZkFA2Pp%*VSY{MxSK%MzyV>wGcd;8H zCLRPgi2H&l?*@vC7F2?3lH7vv#BQOuM^XZ~D!af7Rez3B`87qaW0aZw!ioDrp_ruS zv9D+ZpX=DpO#J>D--zzwbVQ(!eGbW=M$}X*!==~!SSo#= z_Ul0NCB^^d1_;k*OV`8soX5jTl9begr9P|-R~pDI0zSE}EdJ%RL5LZ?LMtH(!i&AT zflKrOydH6nb0>P#JfigE7(T0hTygVL?Z4Ztu?Mj8U*-lMobrfLt?A0Ok_e+GkDr!` z9E5FyFm@;uTRvmbqe?H$i!An0rSBc{aC15}1WKBt$q?YOQ@_=zA^Zzl`>4`GbA&zl zsA6MdpY(V4TnTcarQkH{y#-ZOunAj~?ue_ta*GlR4)K#)l$fr1TsxigM}Y+ov~0~7 zVvaJbW#4X5?nG4jJ~c|Dt`avWlq}LvA#i6KyQ@a&38qm=jj|pQU)xA&hctHnJ81&6 z0$>{E0SznD`ftgjMS-WqJ~S%B{{3!`f;q6COZc4BH?_^tLWFBSi?Ng(6}k=?z*3B6 z!sxjIr?AF$-rUJY@27DKl;Ai)M&LSc7}%#LCivhk>nPjCwlifBt8b04va??%!aep@ zWx51eAjyZ=2V0deO(wg%RoNu%gZIQfaFn6HFjC9%ze){uP4}9}X0L$Tj?{JVsRYj$ zt9c0egZFMziZz%G-Sxo{Ea$49{$TgVm3)acJ{cx}7t34+=SrDZ5JrhkDa-o-aD>Ne ziX8(MG>?xGI-GoV&M6#D z$Y0&5jDV`sdxw-@=KBtOrG!3-^W|HKr(JJ>5?}Wb+%Itc!wQM>AFdx#kkDnSA3TGC zhzCS{Qi&G@JSxDZuu6jMumaAXz;-y8_>?kLBk9~boyPD1;WB&spUPlq?CpI*-kQwm zZX{>FsSH1OuAl z3qwq`{cuGKB7?NZ+KCLdykb(IO(hwNhkLB*uRGw;PC7cVR!ha5v}FrMS$=cz02Ny> zQ|vm6*gr?{-bn9(>8Fx&?1Jyw&T}$PP5%VxJj2Nw(hDz^tkY@=U$LQlwB7S)C&7P3 zzR|IiBXh;HLxn<{$^I)HkB=rnk(!?n=h@)O(^^uV)~2=`(-fxuc8m;<3e6V#FC|}l z6y);V&JW#7K*r(1o9}t9#|P?}g=09MYjVad45i0aqqequLwF-~0vToWP6Dh7lE0j2RV!NvGy_ApD?w-@CE@;mr%3AhRM3sm4=b>;+0uX@mKD?0)06ka{ZD4Jg#Q!PkJiaX zh3~W1;J(jDS{4}YaNaFl*Ik0Q}% z;^basqD;zu^s|V52H6TG6Rph|GUzQSy=)+@Rly{|MiIN2*i4p+8Hl}Ff|u3AkSHVV z2FFSaTR1ocSH>M&7TTFaA^+_0P&R61qx)Q|Td5bTnt}KvN;-wDG zkgk-hdWhZgGZ;h(Z7OT%1$3P+2HlR1^OzL@68J9Cm6A(EZev*XCY~I#@JlQ%JSD8Z z-WGXtg$21(S?NEJxnt_cebz(!6=Q;EvurHhwhx`=?k|rYJG@Wnl1+vRN5OGBrV&bk zcPyX?CbJ zVl>v4ugdqrGNu%? z`N=U88k1-wO-*l*S;Iky6@EXcM0&<8T5<2}xOk@7s10Mqp6>3fc*;UgmRqazA{ui? ztx_wUgqP?!vB9isKZH}~}%rJ3!E?jI}#!DBW>hTRjMqEdu8+?0TOHnT&zf4e_a9OW6#=d}QCt>2JPFf00qafDjBx%tYPyLp?5Gv%H&eBUSNL=Q` z_73tzEUZ?8UV>w1E_GU(i#1>RQ-ognLSTJ7VHb&^UUBDWpY#pB%R!u3FqtG58s|<@ zCsuzQ{;(E2;jKr=*UJqc@vgcHu@lPWlAx%}jhzb91#Q{u0|^fyjBtil{616#Cb(3+B#Xid%2tnCQt+(3Kpq%N54t3afe z1^0P@z}&kUuD71XQ}~0Z?fN6;G}drbsgZt=+fiCXhB>ZyN)XNn0#mt}{^Qc5KDQ*N zapy*a-+=)bEAUg$|SNaILC*-D#20v; zQ^z5~if7|yMM82W*O+b5#}rmEgiaPn0E z+kyf^*G1mDzJVS(`=&tTP=8&qG>xcIBa0dNAZ>XTIw6_xOL zk;7HPc*pu%l zLD7UfHb2S>084ioU6PNl)!xKX7-i6HOvDISLSbQmZPRRIcTA*-aH7u9Vr(!D#gw%k zqN_@6NLNb1>p2n?i(*)E17>BEURP!3nP5|z&_YfN;&~Ndp$vdy1lpiUU`askz~yDa zMS{RUZJ46cPf!=EJd&>PBx?Sk_B z0PdOz!V2s=VDOV6mvs(GS4wK(Hx7(A;V{(VQ>ZJOPKfvz)Gd&)cBk@=m+_*5tmIX6 zECh;Q3=thG3!xgkQG-BI-J;UTG-xW&zmc4B?P{%?Xc5u^suMlr@-iJB~X>@fuPg9SJC=MaJ@2 zD~F!Kp5nRGIe@2g?uFy>#Q+FdsCjNaO$zPpfC08(y3*m;IjP0h!BOJ^A7QzcYSSG! zjg$7UplA4TI+JC;2>OtpsG;Z`b!!ofSaM*ZV$y9n?%0R<7I^+QPI%Q0*Q~nq20pu@ zesyG(*-{5M+w@;7k>hS&NwFR?qfQ8##hftH+qLOY!^YSI0mSVnGRv*TpZE( ziCH(p!+^R5=%E#G+Ki1b6-LOkLtT-H7TsC_2t^59IZ#R!$JrM@=oE_{wv)=jSqhnz z<9roXTPkf%aB_V1QnBR3QoH{ngM!e}ndN_}~WynYz`J?DRt@>ZoO8$9n+*mdm z7?_|mx{Ed#7t=^$k&T9BC0ms&*-_Ak_LbEh7Nyo)=-JT(-zQewRVZ0?1+z(;zmLca z;9{|#!8&vJViKk>?;sCGPes7n+=z9ewS+-W#bQ0IH*qc?Ppu*Y5YC>p*gqtHEPC8~ z)Kf#VneTWGN?<V^yYqDYE^d0nzpX zK{dUjFFHsYUmPE{KgSqovp!%INEb%qO_PTF>M48yS?L5~Kj8!-NJAf-Kw&2-TCiOqzmKq7`vUOAya?ngcIDugsW}fKxLo}s>}%#I>7{5tWL|gX0Ia*ncJ^Kx&RGzy-?wy zX!c_Mv@Rx@IKeQKC6-AH&87)|>ItfKW|?$`^H_xD#twrKw*C{Pk+nTO+}$QHqjxy3 z&Wa$XB|l8fg6*%){3+e;aKi(ZhgZv+nnL$1^7ui#AER(DQ~(3We8Ae40v*BGc-kgO zv}aOr_Xk9keo#1{m|X;A?Q}Ltvg`t$51vadAn|EDm=o>SGwh#Yb~%^-;**zY8u{^| zlR$PdSXmWf>UK0>;8U6AGbPX~+NI!mU=zBBTqPEX1Rz=+rp;#iwF%%j!FL{&uDYUH zNp5M-9S~J4Ly0i%c0@vp)Kn8@kI*?|i!0a{R+fF$5@dUmC$<#C(2c|$l*Xf4=WVTW zvvwjAzpg244d;ys9-k-!slOH(FbpuwOqHV~d`HEAx9_33BsBVM10yY>sUJ2^8RmR>drQvpoMJO;Q2ltIwhBlQg6X71};ZKWO?< zh~pAY+)2RO83Lav1mee6*3pQ=ax1b%pwrQR05Vr+VEE#cf5*>N=c+Hh_cLEHzL<_n zc#p__=XT~p8~Jmk3+vf1OCRgl%ag^eih1YPY7`FjcYG`HvB9&+F-I};`!7PvTIb#i z0uA@kTtY<94Pq89sK!<(?9JJjbI>a~-tl~xvWDo{b3b2u6hW5pll3q2$?$ z!h;3!?~Xs!2o_R2EJ#zsbic!G{bL9OKA|6o_SK_3*t}PD{+eglp;vXm(jGMTRYFkc zeqPkw<-U$8_|pNrUq37;^ELJTBR9Q2qNX?8lzu`@C#9FpAF!o%+Q$V+AGt8&zTBXM zGyJ8y%hJx7@O)lP|M;f#@7TGqhTw=F)Ym`V^!jI!&K~|HGf*gpq^zc>CEl>+Df+?< zjJY>q8^rB}>Y@$tLYJfdD6~5ARziP-;uDJ~hcjDOsF6|XG7uT1F%fLLCVI+QiRgDh zKZbyBXEPZ5NP&^~b~}AVPbM+jv7r&{>_BT+9OvihL^>%d(T6nBDBY;0(>|ilBj90v z8Xc6lOMRcJzUQPZ-oLJri^}P3hrkdi71|gVgk$ zH>HnJ)A!$$zCffaE)D97Aolx3Wq@l!;y{+@Q2McahcYQ`5QTP5=+FNq(ci=b{+!I8 ztJk?;;q?yr5urho`5WKPP1Yp3#x6+ieBUD z66I3!8kkAYh2qu~XMTWQ4G(h?`vJHpdBi1aTm!`o-?LyVZu=5UNB%a49NzP{c|St0 zhMuG-*nd6_?%_5{;UQ4ADHbp{7r{X1?H^&PlbM0QghL+8@M4#K#Ks}B5SAmYMC?F{ zwitT}#ZImUNAAr1Xp2WO$)Pk}xsNNi$zbJ_vh*N~nqt3(evK033T~$}7vrW|mncMI z6QzarfZoZOc`%&fPobm)~39wuIO4=;rc(PeZ@Y3Yxr++YNRqyZOEKIM^kQWZ+^ z5)m7Dbd_)lmRPxY1ij8}^aGq;TGN??rvtQrn%6WAYjqC?skChpF> z#R0aRGx3;%ZZ$Z^g7un%+9#X^Nj-;MiHB|pswE9_qr4DQ@6tH%nw!J8PmVBy^;uvC zc3*-Q&aD;(W`UFNA`w=_6wa*KvEVz4wB~(~rB}qb$Qi_$kW;P`BH835b_a;DlN@O{XMelh;glm{F7ge&N z#({dO;+p0hL;bjeq;YyG4F$cadZkmc3L+F-s-bAvgO|aLJR#tM*^M;@sD3ae<1CTT zisI(Sz()8#{!rQJ7L7OY%WNoLZ3uyB1C!53p2j>F?M%&3EA^3@>%Yjwoe(`O!#-#V z(1gGf77TpEh?m-0D4>c8Ic@gXo_NJC%uCWgv~6?fKeH$FD*8S_ZGNI zoSGF20`BBpqKloJEMB5f6j(V61D9ioR$395NxZ#pys94>1GB(xS!$nj^A>#~#d$03 zS?8^^^9gTdkksOrM^Vj6ux&-%{d_34`y6oYKklQxk5nI}ukwAAJo90C#?~^g;snoq z_7;A*{m~EDX|T~AEMV%OkhNcuo&-C)0M=Prp-@HVJ_Wb@!X~iS_qdbwbrAYk<#(@k zXMQ&|GCO_PW*}h5m!87gL7&C4!3XA?*taoPV(N%xOOGcEbd4=NzSGmSXYrmNkgG3f z&C)J!IyDg4uA2UqZG=e&+FTArul?SXav0d7VSC3qT*pk5{fRs5kh~O=kCiv|DHM_f zrIOjq%ZHv@_AYeI77qMAdkdR>M0SR1*N5p|tkd>9=7+{#@o}B*ilk{@!zyH$G~0`E z-x`DKdQ!`o5Hp43LN{!86tF_tkXBtY;#27~VzdOz z3xNiitH1tKxbnI`l?CIT8aqP}W3EQP7!dH#O#gpaW*?}+y$pTt2;y#@iZJH*ajp;Y}sLl zuA!8!rhas_ccHt{s>+nuZ$T7oEg#>57Jg-NmzMn@PEk|*Z4EKMCHZ$_-dD|>=C2t* z(>>O+8_ z9E3l|-T!zHW+rJQWk-#)(!ddkUi9XuSQAZhH4LJkR_goHxgb`}9XU-NG!>MbY#ydE zX`+X9wBEyH^U$VZQ_bII3a8<+@01v3S6&snBr2I79!^)JU@awuO!sy51;Q?TOTHoO zroqTt>OB>n;ABG~jO0C`K4hhM(D=+*(ZP|X55 z|4^nSt^^QHtrBTUt-fWRgu8ETJ7L!7l#u__VE z_HnqiYy0m&lO~TshfnE8Z99kK+n590oSS}wG1ec%r?llvA)@A-T!zqM*^83s)Q>3@ zns>+)FfUXY`7P=W69)q8Rb4#g)Q2KMPcl@i#hp;Ma@A1F36~hk8VWBGp&F_R4^E=f z)2IC*z)nSs>@Q8!(5anr1U1LVR&tB5_SfO-7S}J-Q|s4{1}6=14B0N^POB&j)6_6$ z)qJV={-V3cor+#`_1E;H={qLINmd)R{NiB=spM}0vCVNQENXGmu|LyvlcDop;e7wU zz*+6}*L1wR{~G7%{{>E*&tKCy{J+2%<@?ukzW86@Eb{wnIvVp|<2?MozzMVbHJt;% z`LnQUVPg8UzkaYx{xCe~-G`Tj{{MnD^e^kyVJQEh?wnpXGuUuMc%CuP_RgL9vucUf z;jUe5j9Cv0q+@_MM3?Fg@wZSYh80Jw!y}L#g~4}wL}~DK*d)O%O*Y{^NyBZ=iEe7O=0j7+4gsk5SJ z<=9?Pw0CT*FP+HD_QkHe7Z-DDY-}XB9yxcC-l$G3uC(KeoX8Scp(YlLf2v82HTl$z z?tsVs@%eJh%W9GxVZJKNkzSMvQ)hb``ejbv5=R7%Uci@qIpFTtbQj_~?*e;8g*nnY zb{BeQ@61~wTF)VW_;PHOi#pdk6100^ajaku70)qm%3WY%??P{`3$Kv490@*nm&{dn zf$h2rto|;r<9C7C7cyBbU-ZI{cR|#uHFIoT@LgcBcY)b$iXHP#?0{Fo?|4B6Aj3-U z0(uswHyy>S=Vsk^|wc6G|<-oN9$|8f^ZnXOej;92hi>vIHaOfx^YkvyT-U~*ezvWGRE>*en?2gPy#$5NGae@b4g4fU!3 zn0Hp(ReZ^G@|mPiFLo8rU@OCL>1oG1?xC80)5+tp7Bb)L=O3rRB*G{u0-?R_td7hD zrPvEn(>v4oc%3DVJ*RQDJQZyJEK*f?kqTFP&uKjM{7;T0pg^Sx!s6<$qCG?lC-$;< zv0*J!-Km20G%|jcg|74+tnI~;0#0jE)9l0Ogi5kWEy_;v3v8t(_QH8sL)p*F!r4lq z{XcXwXM|wNVmkbfFFPGpfe=00fsUOEY3hJK3G|pQ9LmRT3o*y7QR$|1z~gvUq9Z%d zeVMjS>Sd9R!vJ7^4xD93RK;X&sboq!knzTx#ANJqgT0wu=qi)x2jiCmIp!G|K;zc! zSF@{yI!#mIO&!QCQpq-{AG@7wnTmg^1Aa9WGoMAPpLeE~?`E1y-c<3}@ZGUDKT_$I zcA$Gn#kX&3?Y*x79@pEd(y@;xo?;mutHSN=iB;g;ol-g!Y(s+RZv66PZ_p@c%(dp2 z<2Zx`6U^&S&=M71)S;ktbSo{=QnFno>(qhlK{Z=dhiaTu;X6ANb5Vuw?@)|{hH;Z%nV!&G=nhk~c7@M|3kUaG=7uG(7w=YA{|a; zRCtjJ2YGRgLca7!bFW;LuDxOQfv`Z$SJj~&D`7>K5oxApMhE$ORjWw*?MSpW7LMIt zQNc}iuv+F@YFVXf=i19Uq2izFfX}{lxlJt{;FnbRwGQxK6*yLBb@?JI|>@ z!6ATi0j3W4aVp%}0iLSD`Lp87PJf~bPZ4mGZ%>$u1TMHqogeHiUan@y?m%dR3eW2R zCly}Q0lr6tmpa0Eck%`j#JKEG@JTg8m173rf2G2Ac7VgDtLUNq9pExVhT=o)0PhTV zi5REcKe+5I?x$ur)gi+O72eVTJ`Hg3$`mrU=@hE?*E-;rsQ9Iqz>rZ0W}uDkEHg=HqUdBsj_w7ql5 z%&=`GWdWL*e;YMDoUt0ql8~?Ho|*haa;hPTW~3Sd=ujtv>$ZJs5wX5_Th-bT&g|>& zYN{cWpEc_e#dFqBP8@7!s z58w(6FYmRjs@#_jsp+-phNNwyE6lVk*x=>NGzv2eQC3mjn4x2H6~f%7N^MlwwgYQ? z$a*PLyG=sg-_s3V+b)!wC?S4^Oz-@VMdQhna{s>6LXSL_;7jpKu?-c$ zwG)<_@xY(UOU(s~yeJGd5PYN_iA7W2CDG5hj zfU~izy{rH02&a*~<1C6jQQORs5ZmjPm3ArxTL2RUMF*sSvQCF7-b1#~-uGe3G5c6@u#(!GXHu(?^iSl_ zueKR!-@lfr7E*yvpe{KF0DJFWaQhdt3r-WRq%J_M9vu#nKn>(NofC{0}+%Iizoj~eXG7Pf6OM#q`kyma)^F`aX z>;$r?)%-6FYOSIZQ4LY6#2t|6U-E&B@;y!!^qRLqZYhea_?cVeHQGq?7r|^v(9?eb z;dsHnd%{cWNwi4d1@40>lPI^~d6q$NUwyUEqGTynLrpHzA-v8(o--zl zhTZPdO*8`t9-MBtJlmcddw#x@WX~xmG{Jp33cUlK%y7}Y6|93(F%?F04Y)HZJ*<$(qmrpH z7HYF}n@Cp%%_^nB4V^x%JNKD6TSLQw0wF&;qJ>=(dk<`U-3lr494y#d!c367J_SkH zG!{DV)S#h+lqao<_5@`^PdI1@4Ae@c zFt}V1W~O1QBD^T{*U|2@`{Q&7$7@Ym=?xcZl17+m{M&;RcMj6m7|ZNt1!LOuQM#Ef ze3ECP6CWo)xc*!u8VAjQ>*wH6fPMn zsg>5ke(xN<*mysGliq$v`Uik*z0Fb+tp4U>2lWwLH*A4B%j(mp)~bq5S_zVbyi6Yy z&egiPA`BZVuU;r=ZD+029|zjdAhVR|MlDR*Tsrp`={J{l$vy3bFBK^dnhR$Ccxm9> zy-55KEX0}s?>AuD5;Bo{G+tqJ?iE+9R1aq}zxNMOB>LA>aeO`W?;5TBDEZbr=o|E& zX@#1XAwbigHf8COq$m%%R+N^cnL?u;2zGSqm~jmAdeWQ8T4|!2gHOkb0z-gqfHHJT z-JuV0Z$BN2t8ra~l0|f0JjJ}6fngdu#8D_Ce86l>q3lL@W*xcApu3Czm+bji)yjNg zd(#Iy7WmSt-C)-GFEF&+W2@)Qo~kgb2<}--CIt7kvg3-Gj0j~9IV$zN&ycSvqsQ+v z4AvZ_v-cUg1+!|WU8P_14x9F01Oz$*=Nq=MOMr1vw)#f_P-ri~oug8Kz*P+C-=@8V zhCL-vfxkAU{6i=iz@>}%`Vr^iC25s~*0f4b#M^;6;6RNCZMF`CN-t=NRc95CrLj2` zFrcs8RO}_9{M|ZbtN#*c04zgX8ITwXcN_1n8YFx<#(i+vONfTc-a;6Trr5Lr?-z%s z4OkGn^a>uK)BR8X$x~UUL2VAmU*4(6l7}LAUsJJ3MFCm1c3Jwbb)PNO2?cM?Xsf@$ zjoyVnjjW~mhepRWUH*u^IIH({URu0>zF(;yM4Ru=>`EtQjPv!gGrRjBXDa^l^(}2! zWa#Plpz`Fzfw1`U$NwsNZ;>HL_YVPZaym^{7a4l^&G7Ia;$a%>p-o4`0Vk&(Nc|B9 zmc@pcksSSmFPwwLm4d(hRoG>QK-*%yl5`>#Y5-fGtc0zBBxp{ zdwUN6o8j3id=%}I!a}{?Q^9ub@M+pguKhY+QNea5COg#N>lXeC>Tpn}m(4n>x;kRR*ljy1Lg{EdJoA6K%rJ_TGlnlWJV-6e4H3LRZlJ9LM~AcC z1s3lDY*Z44KpV4SG}dz7ph)*?XlHSlg}VQU4M@d7C^^pmJqbH4#;WD*Z}j!$IED^! zHc`e)*tgUeP`KDt)tdcOYRw7Qf{5*o*snGFVq1IZ0(Lbw!l2E^R@~A}Y`2Cu<1ni3 zQIhheMbU}(@~yO9#&i>}$Kq006`-X{|4lK`cCn6yd15+;xp%=&MOdLKF|jXuwisGB zPt5OK{oG&=+A+j=11(F&G7=gv4+|ocqNHDRlsObSBLywX9Q8GXa!3c5m`{hhIH-xt zLX-fgiAb>C?x6L=N+J~U+i0w_@Afr02&m6|J~#lL-S%&qkW3|%&d8OESkpuN@*Sqgz!kaE7tC3>*seTc?cf!-gNP?cwvzK znSwyl|3g_l>^3R~@pu!e2UT^8R~xD{dQq2o#dGglLYgvzABB~H^&>>Se+7LvLN0hbNbaYa;&daiaQlh8#bRD#BMk zE+7Pl!ha=qbRMRb>U47%^WCBwai;Lbf1$r>ju9o|0Iq6qG)qvxuE zyWOom{$AsOa0mO4Mm`b}ZWNyvlK7J8{A;eEnyqxc7*69ZBqRpY=n1``#8jj6?`8jV zQv_-|BbIlecVj1Ba-x=ao!N`s2XP^JYCcaYIq4PZ#qNk1Y?ssRr+vG$p{%{1rps5; ztaQ~CR{!TZ$7wag=+Lo+p`;J)Bnr@#(Qt9gC=ukTIZ85@yApD2k$v%?usky=s zNgkDOaIL$FW0mpBD1|jxodZYB8I^{-ZI>(cE@PNScBaxw?^YT<;gE9T;%QOgLEXbI z%YJ4KS5g%gl>@xD9Zp*xgFlBmIabEm_Eh|OQs@U-D2$E5`DE1q97BYE!P@CKX|G%v zjuYTV?3a;K3;1~4+?WHE>)+wFL%$N!)rlF0pT(Dgl9_~duHbTSY=GhUO;xqDL)!(`Q=rB(_#WQ9^_ zt2T;w(9&8x6}%U0?26OJZg*3E+WvK+R=Vaac6(Bkjs`a5hS15jNUh@P zF9rIr*ydqEn=x-r;nMr;Gn&JM)^rAJhBppR?L}GTnV3y)+~ZZZwc0RVBDcrE(VleH z5auwQh-pVpb5|(-Tk&Y9>sez+)@U+m;S+}8GA7S z@_J8Sd}4>)u*}~-BN$Oc3@{zKe};cu%`=8w8a}_wp@rJ%3n@5nYG-MJ(<455j1gl6&fPXyQ9O0vtVx6m-tnn_T zcn5U&P$<~F>1YI+4Xd{z~_95DWNwV`pLze z^^Lvs*z`B>iRVztA5Cn{fGdZHTE<{4IQ7_)=HNueLA*)LNBoWjfuf@w*)Z(e(yy4SBzFwe08dd z@Aw{2_-m&iw0l!D6x#}CkL~js^n9_On+8RG=__4-U6s23I3|>RrHPo~3VJ!rY;^M< zKxI{5F=~qA``jKj4s#njZj|EsQQXr$y)+h~>Radj3KXRyZ1q;WBV~MS#+~E%5GOcz zE4lmu9e>r3fCDLu8x`EjKgFFLLnrDC$!@TLPlt@kr{2)BB(;mL?fTFtsdz9)KlF#$ z>AH77009#2f5}$Q3$gtq&2v{HZ$U&wFhE^IEnqI}a=A+JRsnP8r4S|{o;c7N_@vsN zK_w&dz+iPU@Zg&TUmPxY&!OpcFp4-|Z!q=y%Z4L62L(`FRHXfUrj=c;(CIqEJ@75+ zQg0YF^Hor7!2ePND)!uPmCN|~)62Ws4Wrpp`yK|P{{9Ut0RiT+GF$yeoKv)Q9`63o z=_s3H9#lD2SuTkJ=zmjfZ{XRhJqY(Dp6jop>UX%htUtyz5S{mDHFyts?2c`0_5b3n zZ$k@mHU3!!_LfL74Td7hIcu;w40W+s3fRKm2g6Skd*E${wSN-rus`DEDMUdfkHoqQ zt!N_Hqd5ZdR z?Quw;iSq{vXR>)z(VzpbugUN!tzR|Yl+dJNi;|GL4FB0fomG_#W~=F2RCtlPYXxZUMzDJ#)nH;IN{l#ksQjYv8cl3Hd%T-ppNM(9)6pfgP4O*@9p?kNqy7-0jwiZ8Jv7gms~ zo`ESBn_SW(K8OH#X#ozC!UFR}O!zWFAiaKQ5^ORX5f|;V&De5p8B>hSYPg$;YW-nv zQe#5G1FQH%Pz)*3`EPoIyUeL=#n?KDb45lA7BE5bcZtKkQFJFb_Y+0dya8EXZ3gOm z!grcVwk>c3GTs8&8$l@+DcMD7UYiawFhQ^REN`~B#to~iYW9W}oM!|qVFGGZdlA;4 zHy)a$7?V=YPmqwU95xL#9Rs^dQ5U1Ds7ua>XrS}XE#n;ag!&Wla9>~Hh8^P$)GFie zIJ1bm8cVi%7kv)9!%LIlh;Zv377jD5Jg#K;JC*>%iieZ1vrj8v(SqUZ5!iG9`6H|_4q_>UBvqaY!&yO zj)w>5otdhX0U{aT+l z@Y!g=!ooSXw-1iHPOCqHbe@_~*h_J!ci|VD5kL6U@ar%ie8ceNycTP63T_7??zk1d zWtYGkKB6gW(|T?#QczyIg_6_aj_oOhyEz4fr?NJINTeRtM z$1-(IWo^#Ivl-^>2y-bO%`g{7m}_wo!(1IUqcB@cCcY zAO)^;b^xt43(Nh_r$k@FSxoC=pi-LTw8D$~d0igw3l6%q=HPeT2PJaa(I(v8YGogH zuifHJQtKpM!UNA5Qph@VNeG{9;lzO#^M{saqRFDuJk1|>?@vz5HDlin`(8|sQE>)(fupHqm zU>Oc9=0x5Tyof(FUttysOw{?;9l@Q3E(+iEg^Ut%#@j4leLXY``GR#I z3)tY4e^DDes<(g4e5&{(RLmHGaMycZdIZ(12ne7DX4pJw?{2Uq3J-u+!5kH-1$x+V zus}YyW^RM=4uiFVKPw+gNbZSlaYsh(Ji=FhtSu5(99gpS=?ez7pH7rpSj!G}WXv$UGY zly!Mg0A**I+^G4I;W=N2jjg(gZ+wv+y$n@2oI?B3sz<=wXRB7~^{t_c_Zsd-c!b#` zNvRlQ8HPo)`X{dtX1H9WRkJZ$o}TI#OCnZHpqF2)*HYj+ayQq|LiZqWH#cJK5L_1h zh#>*m6}h4r`E>4z;ehV;&>?u~>x6UDzJ%xxo7+P+t( zr7Ht<>bZ3B*RlNto1b^F!nE|#*RdPv;EK^$#@LWFLpfz?R?(u*BOS*SpEJRK^Bg@c zl8s3HrE9MA+n2f|x*6%L)hI@!9B?Sl-R}=Ffi0T2+lR{~^BmR&$Hif%2JTr*?z4K) z;!)wg|Dznh*q7g%VCu72^l4*wS8BYDcihJZQXKIefb}_p=NPbgZ`<1a3CG@Q^k;Io zSUgrrC&!z?S-x#WqodI1xyz{`5n2Q{`=U49rg{e(@0dSmUngCtV8rv-U@CmUdiYV8 zC@)gD?&c52T50?Q$j~o*AM4-kc_1)y3S;83SAms699bRywD3Dfw^p6?^tFJ&!M&I7 zG_h~&fZQ?Z_vS8{wJ5ikGH)2VYV9!E`eC41Fu^z8FqA{TXU7IV3l;nw1EzL^pZvE% z-U4j!GiiD&DXV77*v3S}sSIW?JHS?E2D2Dw1r|(TXWoa<>@Gaxocu{9S`#cojbg}B+R9Z zqPPH!6P=pp9Rd9tla;O~=J(fR)9ayf^52qj-DpMQVh@^@rR$*>$3K##>rY#@LO)~g z<`wD-|J_FpqriS~3a6KnR$<7Qdv>x?ZA#|=M62F35@U7ynqaN2NIhtI($=3`dQ#GC zFpH~S>*pY_;%NzxD&6VZn{s`8|7Yn{*d3$x zPla5HuK_W*vxbfxGsKoXGe5%9eF-ya?qOmNqI;(m@ADz+zHl02D>R=f)FwGy~cF$|& zPKwkiAp$BnV*FRX6{?K?6dt&^aN#`VcNC8V&MvYV5BwZu?}j(AT!f@&o@@F z>>Dx9LMx}^yKGL6k~KxNqr@E=TtALdRJQDL$(?k|ttT|T?C>P@MI57(jGy%I@I92Y z0SrhiDf21&R_=Wik~h@~=?}ih6Dy$41Q!{+DWTa(x{b8kTkbDD;2z1k1j>44hO)_^ z-O0KXx?;ltYPXNvpEbBxQ%Bk*breersm&f(va#<1meol6^_2II#Yy@+l`Vouu0k~@ zYdPf3>$RDnX0QusmQ7#KzL#)ZYg)kmW+&MP<__#dC!OI;9A^=)KQmu<6(24=W5$qb zI6Eqew_;IL^n75{UoS4cbo1j`f)S(|W&U4TP9Q#${ds-h7OU&Scw45rK714?tLp<` z?dyXnNS^fn)%x%wgpgu=cu6c5{3z4{Ma;0q)&$mf2%(+zxodbTa#aS^!Q(?5w!O6K ztBJgBRR7ScAMJk)E}0U2oQ)lJz3g(&&@q8GzMO#3mLFrKns4t_Rv5Z6?mjG5p%{TJ z_-oji9L0l#dxGG&kca8n<}75 z`eve5CnA~RyYZxxF8yO^VbAXFnuD~TbtP^G4I?pJ#o|&DE*m_>;?mA(uZ!IlK15T8 zB$5b!-F%A{E}6GN4CZz$Vy`ij79qcm;N32f@*GWk-GWFNd>oNw`8>O)nf5FSVUb>U zPn`U)pzi8-_pd|^OdR%dQXIvvbM?_+!()s)c#VcF=GiYsQ`4+nPyfm5;4(VP5)?dOqx>!CkMuvbq$YbsrQPaNHFR zZBh|0v}_ZA0tW#=Pvcw(-LL4h%Gaxs0T)FuwxA+>;N0;90=9Z)F4*M)qK0!s4e8{! zQ~dOA-}W#|ZSnGEO;6g`Pwr(BK9~h{6!-6jOghz14j!HYO6BKN=hf*Pn2DXHvJ=zv z^7~9faxg%Xtpcfc|o4=fsB5G_AkvA7HB=iko>?)LHt7n#L12?8|7XGMBJk*<>ekRCQmsa^E zcV|N$EgELElr+o`C}JjKcd&SJYF&UgsB-vi^;w{1?6)c`0o_eKiW@{ew!8@$HmyB38mGw&f1oWK1vR4eh4Kv7)AV*AC zDrzOF4gaM|wO@dj(JJ&9m(4Y8uclgmfz~kYE?MtGRvwV_Sb`ky&hB8NQp+iB9|HPa zN|23X&m&J}rOybA!r>#ziN~n8A6mJFU!$$;7iZ74dMrJ-1IwvOxq}P%y|_d49Yp(0 zFR$Zl7uUj1Gr#KNG(1rbN2v9MiE?0n0Gd(8i1H0${38z1+Rj{N`F|R|LQ^s!sxqni zoT3$(5c!zW%S-8SqHHOtL@7!TDUmp$QcxLDzMqL@vSa&OBg*$waq(}%doqe&myCC8 ztN$-(U)DjL(pG2@T7#&XOM@#v|^3@tF2H0Bh;P^>-uH_I~4N*w2ySCcMm1aaGsI}+X z%Npu6NRAFa%$V`*m}sNGgG90Qex&gUaP=TL*i*~_t=R(Pgb(Wju40M}<%fZBK_21m4czft@xzv&@2Wu+n_hdQIi=D8yyV`~qD0;q+ zoF0&etoA6DcCY6=_VKm%m1DtQ7}!@HqDiOkyN&d9T?=F7o)Jn*4v#gRx%KeQr6 z{+Ss%y=m3sau*slSne`C7|5BN16Kk65qzCA5C8SfHVDG9LDE3UAQ!Zli&r4 zOS55y*|-_TLO<|=_+}WK0<+ewlam$bd&p;q93FO@v*NPyA22B=Af1c-nxAns(8)yC zPEU0JVyu67HF)U^PMujlCGQI}9JZW?E@D-n#Rk@MX`sbZ+7 ze>AHybJ{hvepb$hi+S@5H>rnhg!{TSNr%|Y$EP8v)&?&)Uag6O5amDM$F;o(b=umY zIP0AG7=JRJkA-H^a-F|7hlXb&r(6`GgIy`*g|HB6P7Cw*>Z2xF^-AJJ>RIC&S};Qe zn+ytA^eb+ctMC*RZa?vCR^g>8+}^=ERd|&OPf^G@aZE;0Cj*^Lmj}BSEnK(&JWD04 z*S-vSaLDu}_ZQ~pE-9YAxHxzA(!zYFp`%CV-ev-B+q=a=yN1i((LKYVqOtQb#C`H` zIhc;W)YF$9&Xl`SNQNA^ZOj(mZNF}rNwF^`2GW+SMUaI(H>(RJ^_&ZR;Ss<;Q`f~v z-C3hbD5%u1DoWr0ocP3JLnGXLHdc=W5Bk55y%m(g7;E@;*oz4!VZ{ShoKY_(%bF+Y zkj~X2y$U7i;V}1TNC*E~Xj$ofkXN9zQ0QxT-SHQbO`6|m$GPF*R6889#f%$XU~aPx zSIr>UaS6?>z@KnfEnxn4U^(olg!-dC5IiJBH|qyBQ{&W{J}@;CveJThJzVcvV5lWx zXp0;x>mZ7bem&A(>glZ1E8%O1OIc3IW^H+hp-c&WaX8D)S)dZUv>H-JA)RcCSc34c zyC9+rWFxiaT<}mUx4=QFNS*ebH%tqgp-Nn_48C|aae@ZFiIeIa;!9dX8LUqD+6Uq|l-9t!Z67Q_86jj+HAuc%*+CRVLb z;QfoC4f`Dy^@5 z4DX^QB@vvtczou7xxX4tOsno28lVBE&TnybbBLG9aFS05@kYhlJ~IQ%jGYpQH|w zOH8Zw#6mRjCAdy4Y=-9O%Co3UV42L^NQY&}ud8 z;IMRPfE1=vJI5Wi;8`=Hbu|A=1UeTzKTl0-_+mQpC4*Mb?2+*D%4)X_k3x6z(mfIKJItpa{ zFnlQq7*ix-ek4TDmyhqO^I2nBAydthX$_yv6~^nq)BfWSVXb_HBI zZ$hmauJks7WhZ(^Kb{8<%km4pSPn|;5BY??nxndZqUX0_VNApwr@-lxlqypJ=Mmp< z?S>c-e$p5HI0^y>F^NQnWvQuW{-cgblEM=GrSA<)mICL^hVpDWx+CW)`0|{*88vFV zXE^S{VQISMmAMf5uML9lxT&(03YUWsmh>~G`f0kE;LUyjN#M;2Px#J!6mLlw0PgM# zp&px<(FG0M$e!N}?&av%>QxOcLTbL8 zc8{{kj3v!>5o~t@M?{uTX`SSgqgPA_|IunIpcRGFl zOVC51tWm0g^fiwYag~a{PEPF77I1q1tEm=BsY8fPQ;!zq>;Ba;v z5x7IvLkcP^fuPZhFK8KdD3=oO{jCZxn*x07$m%cecvun}O}VRrEt+`B?U`cHq*3Su z516pKV~k&47G=`RrG*-IOTaQU*Paf!*Hh?6Q!Ig`f{%4behyk)4@TvYsh`JoiueFx zn%i<<+EO`RE3JU^u%Aafjo;#TckR-^ls7p&Mc~d-S4^K_*{su$r72*e#6xeCS`-G+z$XMB3_k zj4B5j-sb<|Km$e7lb)eChti_1l`rJt(=W70&Xali)Pl2XM zt5$Cfu~_g#!Wl-XVfASJd8`WpCUo%&2F^0#bzcj!TIjtk2wcjs?WG=y$r~knfpu6! zyASb#ImY^IXA{)jwqjpNZM>n%*gt2Wi1$f_ZTCULovq-;e*&$o6BT+a1peum;4ddb z)>eyS%Js*fyC!Vm%vW^BXiZRdfBhbHQ$AOfS+@mcmrDPECd1z+B}p!dO&d-74n`bX z@`gFe@pz_I62|{4*(&7L8WU|@X-cM;qTJiuW7im{-{Kp3;jcJ7C7_ z-2B-y+O?u@4_rzByk|0oQtLq$UWKiMnpgW2W6&=%@Rr9Ad* z_1*DT`TDAGcgTuAD$}8(9l+7Lg>T8fNRm}UhtG8mpf&HvKbb=@!b=f2%*k`@S!Cs4 zQ*#17XrbH0|3nhL`+t#WOb{y6{5OzZ8^l`E%2#Y|iM&omeMA|c6# zt{#y+HJ9nu5!tG_N!Fus5Y*8%AfQxpJ@PnK^CF&|LWo1BQhWA$dQq#ZW z;3T1sSN5xZX%n;TWKp+NFvesser@Id^jxb&!;$6kKfzTk`&F|PLBH&H4gD$Tgxo{= zSwrb3_Dz@LQ5!d%R+_Sh-8kJJ_J z;I@Siq$|#@T}(Wtu+6m26f89-r@HI!%f1>-r#i!j@>Y$MhWOft28Ow&dZb9}MA&-g z48tr6>udBwfSGF_LE;=gD8rLR{42)Sb(lvfGuXBsqye)V^Tcr^5UH*GD7iz&ii){ zwXMb@gG*I#ochbtEW?}B=U3I=?JB$!7L4!} zNy&Yugi;%drHsdevAh@H0GMM8iS>G2MQy>%#MfwA__%A-bly?(lk(%l!Zj{vrwZp0 z#g~jR!SMYmT; zH6?6C&1Ic0Ej!MfuMOZ`G{4T8swIIq=B%3x_e`%3fR^Dm(As|?8yfl{OMPT%3REkO zLV4^mbI)oQ&j3GYkh^NXESO)+z>`+H(9V5>5iG|W5qLsU27xMvhhqAgU+DaME*8lb zvEyHd(L;_6+z-LovZ;_-j!-3BH>|wBH}1A$?-~6fSW=g+VozDH24^pDQeeTk3NeyI zmD|eU%TMG8w1RUYc!KXJrUV(*2rv>fnL4VRiKZ7s_x7bDue+I~KsUh!NpVxE5qP|t zQVk011>S{V{Y1~2qxMNot-VTTm|rFeEm&_av|%5Z8UiLFRS7o9rANTt5qz4!ZMZu# zB^{=&ug9VW&!B(CAeVh;Cu_$y#{Q z+B?=$mImoWW@)gFir^E7F0BRQmW!7jQXx4{LYbB0c}XXL%MQO12BET|iVYj5fMO`p zMk78wDj@<`ah#%+e*=#y=M8X>pJ)O57r}#=JO`-~b#1r+o|fq3f~n{YZU+TE2KLmM zP?HhfAX+|#w!dK`T%n1Bz*z%Tp=7DeAY6`d%%Ya3P?JlqqO)?IpJ9Yrm?$1xUeS!2 zVJKe22|JSu`l7Nm>t`utN`s9Go2vOoXi_Q6(L$Kki1(DRAWy{)?4niicNrDxFB=u= zfi>XLiB9@lfk(oCotc4`#5^zQDJ`8EgL>MTR7i6T2SX}*5u9z9pci@Y z31%-X(;}Qu9)c0>?%LVwZ~G#^l-jIU-9pV~zaGK`RP_vKbF;fA#r8dkeI_kqhE~Y0 z@Tzh8=h3kB_^6*dnWy*lBF{}=XdOHgf|HN1VQB(GD`eXuoQAr4!diY)Jn#-PY81iAkYQA!Asf>j>0r9UM+&El2~CAr1#7j}~}Fbt{L5tfWoMikh2dlJ;w<$^ieV z9#vqnoo07fdw&DVjE_~4vxkF?^NHu7!m<&esSs*LGo+)pB%w_H2dGdcAL8NQTVyKi zK;TjfuN;%=nc9@L*^evH$V-wUvL)0fT>)JU4X1T9ul(po{jQ{8U6pR+LC=^ca7#iUAOD<2oIdkiZG|E+z`j}Szi(g?{Tzft4o|@nntBJ?y=B+ zU5uUXS%nIxReGmax^zh!@YeDfY3r_guKhOy2fS6h5`UJ!b<+qaU%czNHi2xe#t@u` z`e8v<_E6Qp6x%GvEtJ^G(ZjCBu3eU{Pg~t~>&C5;StiZr15Y zqjRoC|L!}|Dt*M3m{no8I<4{8=(d}!qAH$i`U2FNNS)k_k=POqbu%VvKB-&nX51!e zI+35w*jf6)nFi>Lvos56ht9YM8<;e`@hMFJUCUJM*^t&B zDbQ#P@#+Dw_|WpBtzGbY5iNGA%P<;~G@6&G+`~9oGqdg+593jdW(K`zGA2NM>Y~Y* zqPalbyo|$o?hrACmwtwg{m{5~`2hMD2sj)--^S(w2hcr$rj{S8+wNtI(C9XGX~DCt z>9V(5t$4)A=DC}n<+_lPA5$fFb8b-QP>(}(6zcEUeEsFA7yPwYa8@uSj)yFb2 z1Q=89IdfUjj!8hi%mFu+{yVMwBEA_pv;4dC@^@P6v7;BwR|e+l0OQ1{7tt$e1HSiM z!~0XdS<6mN;W%trNO~oL!DqlV84fZAi3j9@a9@ zA9hl9t}1|Yo4YJefL@Y#&v58}l&>E&HAB~;faL&ii`U+dO)yss@6)N(igw+BmTgCy ztyj>*==v4K-+|W6jy7(ripL*J>jx^HDA5f#>F_jH&y#&?onz8vd zodX0f{Ih{$JU4uJgRTV|{V3Rq2`l*m9k3dG-F%S0buPVUHI5C+#jwtqw62MpjZpAo zyI4Kf{T-#Xw%wrPuq>g`VaC6OP54Ub7zKmXvd*KB);=J_#kRg*r|oPE*60Jj6rbmj zR#%D%H{Q6{?+Y~_e~?xl-9O`d!BBNe-#iSR3BdZF)Xv^=pue6qO-RGs$gnwW4Zx$`6C6YxedMcBcP4# zbH9=<-A+ICV<%D1rMuckYqMwBGSmsBwcbNvU5x>n$0)I@@mKGan1T>jU7NN!Tbous zL5oR!SOli&F|<0uSfKfizKt+u=(OjQDda~=jx@$W&ax=dxL5xgCU4t-e|xUqPu-%7 z>H6bmMVB6Jt)mB{@X2?rdnL-~rE&2=0ChUw4e$0`H{(Q29`%dHSG$TPM;q5@ZqT`C zV~k|{o;7UI2&GtF#f}Z=cHxhWypXm8SPG-UA`*);`9Onu~P4k1<91MPiPFzh+cj zLSN%fO~%vQ@whDb&kTnB>hnhRm>i1h-FzewyVYt}lO~ChKkaS7=5J(NKFhEUS53C)vIHTm(?l{|o8afH zb;_gcX;FSbS|_bYY5$X}Vy4mlTl4&UwN7)})5P6;*h%`inFAK7h}j*|my>O}8J2Mf zn2xXn)()v_)Lc;=;2TwVYzH{IPGIkftn%e}G5d(&DdM;NPmQ?MDwbRHfa`oiAe+H5 zs@*P2JmSwTsJVR+XI8p(??#w%X1r*CB1#2(z?}Jq56m@|#|Wniuo^s#$8(1>;2No1 z8|=YciIfP1&VTU&UIt&F27HkL>>)uUMk~(bAeiwC6dv4_5Z@Wr6t#rF?OoKio>>bRho+XkQer@3*y9j<<|5oh z8773`z{&xyYreq=TzDZUgA0*J9E{)92`>kdo4%R@5chy~2LFb@hb%`E&+q~fpmYBJW&3s3?SOA+`j7huyXVVugLo~21D)^vn7{@cXcnYJL} zFHZUrq8y9gJxJ!b)UT?)Z+VOO)O2$tPLmfxQR-Q57%2dwRsD_gp_UI38yF%M@tXtZ z0^IUK#6W(0l11Z7*}L%=;zxOFCxidvm5ebE=_Z%Nsu~x(-@uZ5`y0yb0RKoG&>=k6 z;j-g*;Tv52JHY3v@V7g_*Q)T#3Y>m=($!14W}%%p+e;t#Q`2fs3(gZtSopzH{iRs} zN+jqn0?72H2d8n^`M~BtrCfVG?0isNCnef+bYE~B61sq$GC52Ms=XkLV!NQrrgv3- zdqybmLlJ_pAf1X(y6n>kvUZwd!8wEZ4N|8_GMNXV%kG6sQvFyA)}DyO%bodlB&GZS zU;UL2A`-ZW(w_BNm`OTmrc;Ly^x4NkrOBaYsS$1z+WgJZlW63-2$^QBY#OuiKR6rw&q;agpa#~ttu!H>`S(zPZ$Kj%wT{QLso zkD*ojkS!S0Uk04<>wKy7eT0~P-Itp9`H*ilN2Gom+4=D(emVPlzSSI<`XsP8F!hJX z&D1`@b0<*y3{*A&{k$*jM6XL<`NF>ip8w-3Vq;5}eW`_?ui}{_WB(WF%$xezmm_0K zH+(5&Gm@VTRN`Vg`zdj;e+^XPV#A@Qh>N|>Ux|zD8HfS?vC7CN>4u}E_QDW?n54Csh?l96?ISaBU1%_lkxijdSVEuaT~mY$oe4K z*e8VY;_$m2ras)}XZS?`f47;kYw;p#@gDhkubHkfy_d|C$6a_3nkiv;Zoo5#|4wQg zr2X4LBOH#uISA^Cm57>s#7tE)5YW3BC=a0M6Uc(l+|mbTDy>9>@6#wE9yL9KqPfQB zPy|=uOSmHQ!t({JS)EbDCE#ts?-er@@$(O6YT@p^j;iu=o4Fccy``I|DL+aUy2j+7 z@3^0f(Oby08E~k$RB<)Dp_9YUSiJMX@q58adHnW6kj~HLR@%ww5g55#y=Zs|X~Hl3 z!gFMCsh5RL@#~BSybJK)Uo#e-$fYEtbB}_toX5|@ke|~tfPWVC$U=Sic{I{F9Qt^; zBje{Bl*{FV|844u=Nb5&-WOv!h<5TDD*%0NU!jGHI30dqcGgTcOIVb4^7BfR!}VK* za`<@-=yJQ)TdE`QSb=K&h7WHG&`>?vz5%XZj$8^dN!4ML#~Aa%FeKnoeLxsh@iVNF zo47)|Er>df=i0F9&p~f5`jsDFLj5-3`JkoxLsYK;&Ejs_25bx@+Wu)CICdMtO%l8e zltv;$Gb+RtJONC8)*z5J(?5-8)JPLW$(jg@bPjZ*kgN?6!Pccd!IZ+!7elGY*<_X; z4WJ@^ehgFKVUSxNN;~;^X8`R#YexL|06K-|z&!!VoS3T4vHZjT{}E8#%@cv)t<1Ch zEW{+e5TIhX z1&e(5d<68tG`D|UXEDvCd=?_6xl-=!C($_>VwSV+jsyYp9e-t*=9-uwrnw?6G8IEv zycB#rRJ~?7Tq~HX%TYqe2&mwVNBjV3EWUyuyq$^oYKF`(OH=SQFv&bT-{@_o6P)$> z{g`s+nyY_}GD{2andPE;i}1O8G0-d(qlzPjo23=_eJH{#J&5mQjyJZ_oN@NH;U;M< zJ|tA03V-dbGGaG@#>z0@oXCfk2|^o4kD?l%qYEB0lj-4ZXdr$cS&H7r$BGI|yFfz| zf!N!X#)~j}ChUJ@M8cv*e5EtPT0!K<)eonnEE7Yt?p7>`*r5%@!^J^JWqE8|KZtr_fH!n>*2;V&0_j?~k%ioFk?v6DJxI*sRjD z2miG<_Jq0mEXEq<(fx?F!1L&}2z2QgbM@&2F^%r$A&6--kH-V1QR{lt6w|2bhq+=J zJ;iSl(`b{FEv8YEVKPsnv=cqf^XPsaV3fXg3M%Z2pJ?1T@?}6VDQ^dR) zJE)(SS7U2Nm;+a`!3QpTs9}4)5PbGL5`6J}KZI`r^K8*3^iVXu5pH#iTAn=|u{|H= z-6oV57_X*(-Jz!wFt2j?NxTieiE>rve0ATcdBft-GeTHHYBgl&N6<8-T+Nm>_5*^zjozXwxM00zql zOm#e5DVVO|6$kECGuZ1QF!1%6@O-jHev2Qbs`@hHM*X= zY(^*A$>m|@F8UZF3o~~fHwH7eDQ=EAP{T)gT%{f8U?#V2N4}Mv$eM&c!c?B}8-jK4 zRL(*=-@uo9{XZVyTs;U_= zmiE6C;!Y(qjZa9;QSCw?{my<$ZT9FCr$TVHbS=oy0gR9X{Q)ZEK>BW!_b8lSJZI8rMG`_`XlCIrT-4&KWxg-0!)339Q0kl_M zq9ymU@FsG|6+*binK0U3^*d(MBN5J4S~fbbx2?3L(y5d;J0=2Rnk5VK=igPckA0$2 z$(P1H8VqHdvxSz=Gal_e5|J{xTx7CkzevUNguKO8&-{yq`S=5!7&}Y7fL0V3L!6;Y zMyHm?cA|X+#y;}nj8OJq7p=?EEp)ZO7!oopuzmC?+mqalAt@^NkrX zA{tZT0DlrCNJ##{JN^?;5!V^y++Lm|oRjgGnjnMa2fBT%2s1V&kwI zshl^(Auls-?0H3NL_ut94MCVaS1Ao%VC>>P4RvL!%;{InKD2RxG2Cpce;fH5x!cvs zuofE~{$i$?{K=@p41`O$`@l<9)^t^!{LS2sN|IG_%myBWzIGQ87c=>e-dP zBFUNsa-uFwlbQ;RmW1h|>UL!)=#8b99}zWexFyOKhQ#TcA9RzH`jL$G5nO)YPkJe7OOHVu81;za8g8oLg+)nDgE zYVT|$oyWLHU+C=)u+!lRi8v@GevxYd=65-tGi}1{-7{VOm*_aPrg=baGy$1AwikZy z)H$5aw3x8^F55|p{Fm3zyv4>&^yTC3eJSQ2p>P&rL#&OPFF*oZzQj0yj?~TZrPE7{ zJ|1~`4=ci)C@j-7`gw^l6xNHDVq?U#xpyQPavUFr89JnLT}`MJU+RyrkYwvbzW6Ip z>_HJTMLXOum!2p#4$(BiH4_AoJvH=n{!BmeUusP9JjbXo4dwVNR%tp7s>}{!Z%|Dd z%oakS%aUZ0hJv4YE))t~-$9{k9C9#2&d$_yrIW2b;UauW9#g}mGH;!h;+|291k}mN zO1G+A5%6S)2Mjd#jESX!jc#zj8UjCw&67<2j4JS1AC|9y8oIW^Go)LH3O~h*6)rW| z$sRquMTMu+))IZFH~UCsTCwUXp9pimqn$z&r#V6|D`S{vEIea`#CpG{;ug6mq#HF* zfnFR>4NWjGtS~`=qPZT`OS<`gnEUd$DylaAdx!0E;m%wZ;c`V5MMW$GR75o7DjFan zE}5YLilCwa?uI6qO9C#G>ElbKw!G$Rg}zHcR7jf|mP?keQ7LUESnAtiMy0>+b7n5! z)%yMO`{Oqs<<30k%$YN1X3lxm?=urFP3Z#xQT|_lM8F)6uy|$Ts^T)*?GB(3zo%#e zp^?JWMs@bE%PNh2mR6Kmf&ry@m&He?O}Du^PXEGxqN!%3X&bvZO?$}XFS%=t^n)_C z9;|5m-w>_QCMN*oZ#dk`3K$}-;f|peIyMy?s0iq&e{wkDy8?hf+P!fiw16D8n0^A7 z*X$sq!i+YrndeKd6ixKf!_EAtGeWcCp*O9Mm>WhD-PJ~OnHI=oiOiSGh4QgiGWOlAE z`wD=ZmCb>`i+u_z*wkm?f+L*j^A8z9Xgfj{_4#xz1)ANG_t0i@(@^A-cq0G`q~{Y5 zQ^$#D_^zb4G_U-KeP~<6^R1c&#i{DdpUvJ&9OKtC0XJja7+|6s4+2!Selr|$L}+OH z_>r2cOB9+2RuRtLiL}+zln9a+nSJ6 zQN3KNcB7IBk&K2^#5XRd6b^#+-Kmk zp|@s_BIzr{SaRB*3$EL)q`~KIBjPi~y|?ej@W(&k1-0`g(1f4VFgMEhG#O8M8lE!0 z0MdPKlrsQ4_OMT9Vq8B4rtR2qaK96&hK}WX<6V9=0^eGtDN&7@JOAkbBz}tm#_t$* zElQY&_j}5=LND4<38NddEv#{Zjm~FKE0_c5*ov z_dsVD=S%Y+HJS7#DtXk@9eyd>AB8P%8ol$VDN_GF9oHl0g~wy2@WHk^jw)-AJDa#3ke?E+C zv#YP{a_z0y@4OvEfmL=|qqPBgnp@-r=e7g%3<~Obf#y#4I%vEQHtH^}^{j&GFLPjRE3^zUt^=wbJ3z2LZ)1_gf{#p zdi=2uYb8H?U&yN_gR9E2(~RvVU-#3ttM581>)Lg+YP%_XQX{UMR{o2)%$jRPWi5MY zCzZ4BkLJ7&Mz@T`3TesR8k|reUM2B}>OStgV8>h6<-!GmL2M{PEv>ON*KRD?tKE|k zS88zUY~kit-UFre%Q{ON__=jHtJX6euU_(|v@mB<@T!mh5=5=_Z&Cfv-vq97(+B0y zdY*U-$+p9EXX(?Ojj}-S=Z!K)RlfmMI-UXcyL7n~t}dGNq;>MjU$*x@l-5_U66a4E z{M#SoRqEwKlmBL#R66L*i%#W-%g?SkuNST3xh-LbBkoX#AKH>7@IhnGG!{o})8Fo# z7BDBA)OyvMAB>^%vNu1NK75z6I!haPUOE`k6Mx0|7b}y>zqP&IG2gTQ2E=ntWmau@Vk;x|7vs2A(M${t|b4 zq~W4_@t?PG;5mH)eTPROOukE{F&ozYIZhQ9?&chfDe?imv;fH#ljz1S*!c%OWuh)oqQR#W zS2_^q)Fn#Piv<$FymL#~*5jQ{98U$0V8v^54zze@fyfoAL@~!RP}Bl*5WHgnjl$_{ z5Gw)(R)AJFL&)%cM>}CRPw?0iDm@@XS z()f&^V0K3UH~SHI*qVP1u^5Nqu0>xB^x4y<09i2IBU8o;okt%1ugo*RQ#%q7=2ZF^ z)JgC-IQWd|M;h>HaxewuB5?YAJ&g1TMldby`|J#7NiIyLMwd`6)U>?SuCdad8=u<(mZt=@iP?HGjJ+ zq~U_gL$tdwa@uauV0-IO(7H_k{~Co{RpNBxV02LQym=5qQn-NQ_23lV;*925z!wpv z5nIe!7oOHw{|e^jMH_9i$7;1Qne`X6_FcGV5osY(I*8UpN{5IB1TMVBS-dMgO=iAc z+`j-aQ5&lS<1Hc>tgF#+4Hi|lew z&9O7ITNZ4*dV7p|QoVXMgPMpFtE=q&k6;#DJo$nzSq2fA#D73=hd41a1kYP^t(pNy z;x8g8dSwVkNYF|+d_zUu;P8#i8$+1G=L<;7khyqkx<3wEx1X z;o3X)0>DxD^0jVixW#+wF{M77r(IzmL1s~Nh&+Zd5OPdvAiQY=?d-Z<;Z)Ovgi`W7 zOSJ6P`DRZ95qunvfPqbr2qJ5i!zvTTduhE=L^3ML$I!{=8ylH1#dbpT_n+jL2|}>? zw@|_A2OvI8T|1QV#1-qZn8$j9TFW;-iT+^j_F-U?nHYSd)51i#rwLwWk zDDom?<(^-J#z{!g$G8|AKRt5^K*Mem(wvhQ6hN&FE-`TAZHaRCuN_ivTI6JU96Z*V z>phf5DzQUeUx7(F`i98|-hAiYFwKLr_t*wgfVmk{W91|SOs+5>lhWo#Y8N+{()9Yf zkUq`SLkgB?L8HmfO@ednCP_VTb%Oux=5I*wpdS>1Qz z{RQg2f%hk?`|i9yMBO*?zE$kIdGP)pI`zt)e9)pExSIIjZ5sBbDRB56JSY8?JXJzz({RUszmSxL+J9*RMFeUoK3qvUE zEz^0|mvBbw5i-ARTH@Z}PD<-Qt$`xl;1$vCdHr9KQQI!Nu-B> zi}s^W!87P-I`@HT0F_L~)icM0Lj5)o7-bQaX8c)>sGk}ci4zMrf)RO%11bG(tY+-E zNAZ2(;8(xOV$o;Qmg9I+){k_7v){wX7CL?0G@b^YFrDLdGUB9ZGBgTiXDLEQAy<$^ z=82Vvv=XzX)eXy&m2>Gdu!COesQJFM=VG=OeOdz)p46Vmn&@#aW+zdl=^zwu6)#}! zO?}W6>426(RUnXF%s7Y2hQyG3K;uzLoz89$&3A`{nN}Ju(vm+kC94&gk?<}-6qRtx{ zh?MaStaV~8-1h_Kc@Yv8v3jw#SMn~F8Ky}u8U$`q^AvPaM2n@~0opws{PfA9_ z-2`OrtKSi!-Sqt$rR^7lQr29=dXTva=NV7NiZHre=m&INqCfvaSREf5P3kRW64ngy z#4}B z2p_Xq2H|5i2eFm#F{8~~p-(K*Dc$%D_)v#>VEt=g+WL(+2`i%TG+T-F3!Y{A2{hzW zQ-5k!Ft!QxbFuVtKBuNK==kCvH<)XY-l{E|bQ4?@8#JXOJ!tPa z6Ec3978`0KTTF3!X?G}HF)d1<$buMyyPY8iV$YGxD7w5S#7$ari-obOr~#! z^R;QR1<0WttHf%YU|%I@M*1v^2kQ*P1i$z^o&4Gq9ePSk`q1?p9wR)`xqXBl!L--_ z=}OnSl6rk(>LW8~G%lMw^pLU^XdU-{V;Zb)qD|jm_2^r>{~J@3UY|)V=S>llY;_}W zp1Mj=m+NC!6;2rwG`exx{S4up#CkLQ`K$W%qX8Q}yqkU_9sgohx7xkmnkG6?#6{By z2~WG_tDb>m`Ob8oZ=O+(8YPDVGqgiw98K%KgUA0T^vidqAP-cqj1s`0ch`n|ZvqlhLN&n77IJ&-5IPK21;|;%oFqjn2V+ye-0iuD{z^ z9O^b}vLGuwK#$Nxu?hy8{lZUTpHIlp=<%Wy-dpNo*ziS6GBwqX(^3Zu+f&mrEO~5u zg7O;6TSV)St}9^bH}_+qK`w79xf`Oa`~>Vj)h|QjVqqM|fs2fO!0EMt4|FvY}yB~P&T#0tq zW2z{q!#cxrr1Z2Xpm-LC#Ntx$1uk{{5<8V6TZ!5w08e7^55Qs>pN=^6d7lACP_29! z^+X@4E8?^UuGhOF3fB*FMSGNwT^i_N@9X9#Kx?>!6{&d+q_PsHTmVTPoQ9=jY9aLg zPfmfn!PoG(VuS?t-vN-oxaSnXG4)1y2}@+cE@gcdvFhql{xwET73C)5aWs`-Cg$x>pPE6aHj$0g$nI_(ZxVPoGkD9_yytg%5+#TM$7}G(IG~EN?+d#!}#3@ z1WZRLK=xxx$EuHDt6R^wf2%5bxYP61GZe~t8}L!CeOT7n*aIQaTpD>QHI+{ESN71J zx6qUTOI!8q(f}%*zR-=CNs*jlvjNMS<>H-PLyTGOq1zR(l|wC<^88T5FZ1O8J7l{F zcs897g1jb>+#4yfVy^X!BQ@3DNo6Ro!hYXjNFX5*ZGPAv`3G)bwK?>#e>gSsUeMpM z?j@`nAF|CVTO`;3cjrZppv!LK+}!QoKj7DLT?R$pZ4F0j=puQIEczvx7KtFymi~BV8ulu^Y)!?P?2?yf%$o-2Q1gS zF_IO>QKcl>ElOlCrFPb$Rrq9B^cc=1Fmf7Cz+^4vtwIkul@58xn|Lys=P7TImViBC zn_t2d7|W)_P4=RB-;ae-pa-UeLf@s@Y)~By?S-J#EM=t&PgNx^f*+6M8L0`r+mt#K z3~=`ck@izeRRu9N?E{SGbmW35x2B>|!D6?MgXSZWd2gX*O1~Eu5)+h|xn2f($SfoV zs~l!W-4M)qICjs~#M>2!4^b2dM=)fH3V@n7DpKhK@Iv^F-FUB?8(kX3 zI0<18-ah;_B%G?f%mL)n9@3YZv4YipSh}85DR#6l#nctaJri=BF0Ss#aVE8bi`sWs9{|OLWWAkK7 zZQ?Mwr#BtEN4_n5n=oSz989)hax@*AhXFc2H@urOKtMxC1py7q@TYF+@_c$UUA|WP zkMVL3eeW5$#fuqqdU2kP!D2WQdiJt~Gm6EL9XbYyVokxpqehL+m@HsJS<7onN}AYl zFmrCJ*wjj^6DY`knck#^VXyt-ZN+CEzT}3TBuf? zKX=jMyh3r-{Gy_HONzVfX6G%}@yI+dV_sf%@r=0(McD&+i|2G)p0oAx74e%rYxcq! z4`eUOU0h7RK0LB#-$DUvDoS}TO0BqT;auFYpo-lnngEa|MBB)ITjy^#(3dM@Ul(@X z%cDC=O=0BvkV&R{s$`#1?us}CO6|pY3k!9ud&*mwox6D9d|fVXzssIFuAMy+9qw`{ zy4K}b?bWQJ8N~~;igE%4#SR@Pb2#4ZaGc|CeBh?zQl0LA!v%{Sj;}Zz zSGnChA|VbPY`p0L@GNsEKhd=u*VnZ;Gew;zWn` zG8~R`I_hiJPjqN7#Nh<9!*Ov(18Sc$9M0eEP=3JSILBU}>L$qxZ$UJUz7n_2Xy<9F zfK+-G>Jsag!B}q>hi|0Jc6f7*q|)C<453Uf*n}GHk$sFBZZRe^N=)zRM_=9}_i=6VU_EXc%P-^afbDICQoihzo|K&`x{sFqYG~8cbs^S?xrJm4Xvb8r@ zBk+t<4{F6nv|oGiG41$_1D(AOc)OtfboB2V2#L=v^V9!Cmw$}&*LzY?>q2A5$=MlQN1#vs}U=4AZRn5UD?P*UGWO7}Oi7cFlaAhSL>#xG(= zm!^1NwraFUvr?lYYeeL`{iQp zS9kTeRA+H0h}Mqn>BsCR*dw>%9O~QO&SVEVC(7W>9&KxH=V6V$T>Mg+vzyV%UYxvb z(0=W8p8%@eDh$$Ijc)(7m;YO%*EyW`rgnV9fo^wmJ>x+CTsywtKtHb@XX>sw6xfdq znr6k`A!qH_;z0M+j>8@3J?PxNS$GdMawz{n z)Sssv?{J_$s2%Thpg*D>`{?Q%3Lb~5{#u-0&nGqd8He)y+VKS>f&Tj#ztU?C74 zDDS5oZ*ZUw)sA;K(37;|y$4s?5W z4D5c^Wn7+9>rK;H913c*2ErZauWIx-2fDrE$qw{0aN>P>jGwhtJ8zCd`OgrXP(Jg9 zR=&ZZ++91~;Xn`2j`upy!?oi&2YQSPUEzKV*XU;)%E!3W0uEo+J3`?X8pa7I{3>q< zmA6B@7uucM6)+S&ucf@DyQl#`e_XeOQsjKttk+MMWsvF& zl<}}X1lVKFuvKtelJ%{n0a%}+eV`WVbezoum3H|eHNhU)Elz^i*&@3^8x-2z;BH@X zWGXs=M8vBWz@Z#njFXUdV7KB1gE&N#`ExrF#XF?U!SMZox+(4Z$zv%uTlV!{j^2x< zGo}0;fr53K%CqIj$@4T~QdluZx%5x29F@#FB>)4vaYDdl;mqVUE0T4K^V5VMnLYle z-iDHf`S>FgL$sTMtZ-WQ_4R|ElY6=!tsE`TpgyM1eEH5XqjBPr(e>zGS<29l z7OhXqJu+_Hd#jY>N~h$ZCzLe{(N;?No5+}#RQ^R;d0WH7s0yQx?ZzowZB?J-a;J;^ zs;D|&4l4~u-Lzr77UtHWhv@A)7B$ofzPT{5{9lF_UbjdG$^)xCYKQT?30V5#Gq)L7 zcu01AO8{k6EeuO*(HR}Bo-J4E@2WM;k-O>fuo-Pweb{9v{ga0siW{=kP2#HJVgE(d ztGHC>D=D7fGMuM+_m=;`v3G!0bQ8~V2BSUVVKS2a6zu-R!=$h0%00Wqi=eE|(Nym! zpg`{Jen@+qzwzVjMp*^2#q}P3ruWdw0(oe+bUYyOI9kWxW;CY@I#M8qlx6~ZOxe{a zo)i2-y0}sQ89lo3?f>h@Vc6diFFp_3O^>o;^wdY`jd5p?@Ycu0Q{qy3be>%7*}?@6 zg{*_0_YyMAmk$Mdr2)gtkg^)UXLzxf12~a8jSg#G-#^Tk`V_A2j>8-~K^gthCkb;d=R~(s28Fxb%(I9Q?7>J%oKy^^9SS} z-9O@C==_e~<-;}0Ds-lyBQT5PGZ>??ex~plMdZRTRvU2`0={4R{l7Ad}T1l^6 zRV-)g5uxA;wpi`LY?R(Ip2>$B(dLbdk9Nu6Sle@@KpK{l zi{x*dC}@S;owjc6HIyP(VBJbxDSO^ojC*4z+f7osY}u&hXq1+~wyOH}!q*qRzxL3; z+BGZXqk4Tbjb9}f>Ce#du|a|3*sB<3+72J$B#*o0f|D7fuT-8%}shnlvk8-NUoPI(@y)A+Br#YOOa`RQTb-7B4TD8N?d5lMj=wT<} z?L+T>FiK8bA?TSI9l*tj@@5g;30ud;3a7>&yB(RdLpt+`eJvM zMvu_wd0I}(l^T52_F8JC!jt~)GMAJ{V9k75&} zs&3;BZXw@z1WOhNI(d6_L-nri;Kj77%yWpEoYVRuYSq7z0l+v$l8e}_SYrOE)fe9g z_BmvPH(uhooeb@@wU5hTgg@8HegPk8<;7aLeVD%xNdfei=(1D1f4>`At=$f_%=jX? z^#k_SY5ZLg{zL7~1RP4h#VuN~_K0+YHTo3?dJ-LccDcWGqE>9yUUGY%bM(Ch-^TrApF$&rvzpBw)aC@Ma>JDfx)hAkkw_2dHX9^9{#(_08q9IN9Hb$d| zX>{?j;ez*y%OaD5;ubDi=+~KXN_7xJ{Mryp`8%LlM1%c>W^-pMlaLo z_Scfrfp9xj4)l*S`fiOrS!;)rCy@84@xI23T8)rybl}0BexXtPg<*?Ue{?Q**xYil zM!!nC?nw#m$NCyU_EYPHYt`d5`fiQxPRjAZV6Xc%@_`QW{ZUaHXo0-E|Q(mLV)`z(KIDuBgYRLIgi==c2q9~sf3eJdBjvdw<` z6?@SmL3<`1?y(i0rK63lz9#q{v)4a<60g7k6;^)Xl%L@tj;SJbn$|$c2w401))Dk6 zs*E$KRoYL&yRv-%!md36hpW-L(i2*p-6pz%J_0Qu=jUboBQ8?M-WTvfdP6(@N;|%w z9m6Lx=c$4IG_4{J(I>75h44~42^3d!lIlZ-qf-n$_?4FmH5likdQZLJKV6F#j_0U=F;gs-oaz{CJ2OkuGfjq!B!*0A;lOM}I$ecWoMqprg_0-O1?TZPEjd#|$)} zzW&>vM^N+8FX6&0E(++#s-#GN8W84+@bx?42vHD$dwCf!PCxkjN#6r=$-_I6>WxTX zaLh0buVWVc!LM)VVc7OcA1@mJoCh3?4gy1r69zEES5TvjO5RJ`5c5}k#J-< zz1Ir2qX@V(SRb+HcwkI65;-1TS?TIU!M{#~^Ad2wD5wP9ID7Pc;O?{$uC3=Q;W=CQ zK(ayl8mDWGodVCT_HcuDnYK1z zw$t%{oj2`%9ymxDfZ)6n1D)eTW#@o<74$a1boN}&MmMwJS>^Z00J9VYphVQM+9zE* zfUv!-Dqku_IsCL2!Ha4mMn3Bo_!=133`LB|$q5)oS^y>&|y?N^a>LVIB^xY2|Y&H#Em740rk z0veacsO!KHXKK0P9&0=htR9De!$T0d@kAf>_(vy4fS|-7TIdS?!ViisYB{N zWb~uqp+PZ}rMSVV+U5i=<(K5+NLt3>psI?DSI}F;usVoPH!glauKVR>zFji!X##n} zV@SLscdLD6zx<`1(^|$-xsNoNtJU8X_Q3sKpb$n%;{HJ?PS_@>uW%wG-;) zb9yOHC-O2kJdF&ShZ^7x+3qq2>+ZTJq_BNmhA$@P_H26aeoTPtkW1yz>u4r|Q@&ek z@uy-Khp;gUieD{!Cu`n7NJGIdK3MsO7sE^SAVN-_cqSGc0$P#4zME??6I-_=Sfq!v zgNR=+wF_ViB$OA$BB8u+?zIj=FT{1MBj7r_?~!hvrd(}IBQP=w6`cXTZOxNdehWR} zKx}PEkD{|r6rd*@@|KSIpBg^(Gf>65_aWr1!ste)pX;mT4sE*MQ%fhk^awba%ZHG& z=MbNm#!7@H#MMCGIsXY&jgW+zSkTh@ z^9;`G%6hJMJ!&BKxSm*H4rRIEYDM5_Vjm2}O0^!TsLyjfHH9fBr4}oU$mX-T9M=`u zd_=~eJ+r-$(E2^NxWZM=M#n<~H_(8*+#yu>f{Q^4m#Av@{X^j479Et-jbwK?#a{Uk zQnzE{O(Bhg)8onlpwu|RCJgHDSxiT3^+*Key2I2`VeyQTpo&Kt1-`o zg-|o6<~jFJD3b5M1^$Zr5O>_2lhHfIylbLbxne+@`x9$ zJS6ur8#zSv!J&3W+M{Ijm~~TAD-O#5S3fNGmf4IC zqer;V*%s3Whvm`wgXD8WUW)kMiX(DSk2*y1+v;|4ON_kk&{FUBpw_d}z3<6kA*y8~ z`n}dZ(2iBT%Aay;ch=L10QuIf^yGVTAITqc@gX@Bpwj2xlLzQ?$*)Ns7jHv9F5m>@ zR!|KzU*W{G@=Jgp6J*i9l6j1ai_bWa9kR-eMe1bFIzXQb)1YTvr%?Uw^-GL+d#Av5j^g zl>_}g0CimXcdeh{Hh^u>`UZ}HW!8KY!|)U`ddfx8o$a*Zeffw!w>IemdAOwi2dzFX zC+H7Q<8e95```SqRP;5`r~3cYMxBtoBz+!@{80Xg?mQ)b4M^Om&L}}2I+yD?t>-#) zSoKPlIH&mC9U*Fx)zCDfrLyD;zX~jqPu|O~QY@@Nv=6T$5rV5xX(|t^!xOmSwPFzVcuX zor5LAffmWhszq)B>q?HsugU_<&JOrKw~dF3yYQTD-T(-Ii1qMtEjTzfkZSt)_^QE< z0vn)YWGu27{9G7Fkyj#osp)kN=Xf4*Arb$>I$pg5;Y|DZuxTj@A{Y{^VgS^-ZSUhk z^$)^CTDW8+3I@VOySbDj6N?Z@(liWLE8)Gu*^|(X@qsw>=57o}K~P_Gt-1`Ao0-;L zKh6?*TwDEeGy&TnMgrO}jb2PEl9druy$>(M51-53jGaEPbmv)l66JiZK*G4}43MP@ ziO>$dexI`@LtAP;KPyj{Bu~xlJ0dR}5*<5A*Tf@od1(*K??LS1&1;>0pDJHx2E)@@ zcz+k@TJ1Pu5fKRn(+kYPnP;{Oc~aItjX?L>|5y8*n_NyL|2@|_4~ z{{=`knT#92QG?qGuvUxgg~xeO!7^X+9At7{$2nb>pj6+BxQ_aGgxtR-@2QaZ_45)P7nG(+++;&)SyvB@l$M@}?>%Z+cPC?)Y z*&oOskau4|Fw4^W@uF7G#lsN8EiZ>Vn|K5TlR08jFhq}HEStIi?WdBUG8ls_m@61$ zK;%7a{()ZuMgeQP2mKeI{3Q|~&cyftNr3UdsBHxR9JnmzUF}Q9ODeusRu%Jh&4JGI z6K|6cNYA+mOV$lUzwhJge1);Ah{T;PM3P60zO>9;ME*zwoka-h8t=r*V0|8$H^#0+ zq=9%Y9?0RybdISB892oL?qUaJKcww~+>7B3S| zLA)`|8Mt4;yG2-sgRjGjK^26ju+MuWUeZAb@)cJeiTKvWOvw9(fvhL$$8*+5(S~vO z679WN=%Kzh&5wZl6SX#1->3EhQFyGX;*X_%8lH+M%?!mO6yuQ^RiKUsRlGb0Pbvf> zgCMS)XQ0?HmP4_@DJ~JejWhWPNV%SBu7`qZJXd2V$_hRlho-;v@|1RZQplzy>`0iy zgC74ls)$6CA}%)Q!wfYpmbTZke01qn?EqJ<#FxZB50}v}aE*}i%$B46f<*u1tdN&aV8;FXWYvBt_avWV7 zhGXPf02qAfMx(!U2jZw1qE7@&y}}`}gCJ}NDZq0!P}By*z~k^`o4=Zj@)hKWm6F^z z+k!rsMr=X@Y3R@i#7v7gt5~GGl&WzeP)(Vbfuq~ z5X$lz&qG_3aOr?i1yC*++f9=#f=13n7~8n%ZnPf2c~TToI3sBRo#h~xK2fuw8~Orr zhudQd%ryQ>KXCZXLD28~0C^(+u?1c~q&Y@4wt2sgcAIDsr9C0Sq$#lnaVSPlrSy=?o8$A-JusGS^Zf9Q9cr#;$rZ6!& zsy!&EIUZL;$eDE}L;$!c*(HFGE{YF`02cjFRS39#W3HhVLO`aZZz0=naviiEp0hK@{y+%MX6klb9;eTs-0SileO0aT284{#YMcl7U91LbJ8byB1+Ek!t=`&RRI34ds^7MBT9QVU+Eqk5$ml1VPa5J1XFLHEKJr{*h{8*PeLQkc0l zkenqYBG$wt#cPzg^#{lgwz`!(WHwx-;m?MQGZE6|Iqrcp;(V@a?NgF+pC0ek|MX#1$c^WM_rD z((>V^w(GW-{YDQY=?_Nqjcbt`-w{T(6Ldq(d=|@i9%27Jr!|W=hX(CMO zIPgCuwxvk&&eBU;3OGJi#nI-qFsKNckx|AfIMP1i$RIFMtm<1j7V5GUJ2~?k7qrbB z1%?QxN!y`9Wz4d6j$0Lcazqbs{3@6BY91s#Mv4(9#ZLyK$RVpFV&TQ<-JDf+&$=N6 zCvl)`d#q8b|79K|w$v)HUMim{fMaGrlIZ`pELiu1v2QXW;a^(==oC?9-xR(%v?84X zb`}dH0yB&6PnvB|DaIaP7{!$`e}XlT&yyMr0%eAb_l9a0vmOI0*v5j)V2!zs$1jjk zq)GU#Ln5>8`Q!a*-&JtfDxBAF8@R}v6hI7c{K3Euz=1+YL47?bRlF^XV#Jvib7}0^|Y={k_w0&-lS}JAYvV3Oz zRg8$Jb-f&lO~lZve6CcF^pu=YY!lctWE3OoFMS}Or}^NGVWgM;I5VqD&0oy4NUuAq zs4op4gOg>{7ip`;>OSO38TH6Wr?R?Ip{t7dGF@eKDJv5px%nK~U(+32;^{yrMI(c| zYq&4R;zMAu`Y0ATIR&>%av&{mQ0Tt*f(>8nBJ80EUOt$SKY-*9;Eleg0w)1>i!+W4c&T{dWen-^}J^blhGqRqr5m<7@8_y}W43ONB zNQ;i~DN~+fe2Uqyf1ci?zARzrt_ANml8+%5FRJ*ZO-G=7Ekj*w#+5cVVrWP z#wp2YGuL{BDUcsHDVcr{o#STW@Ex#>bcrjB+0X-67oVaxelrF`&VrL1=Os(VrTDhb zp2Ej9<~IO<6+M3sdd%kNRbe=9Pj56l6@5pa_0#EiZ#+wZ?9EW$be5~I#afz!Z;`Xa z%tuwWl<(x{%^AvoK!G~>sDrmf0E1uu2-n&(A`d2%y^OuVHus%e=@2)x!Icx0(N6xB zu7W_DJtn)8|3;HS*SV7GDF|0PfPBhNU(5-IqVb6fnMqj3v-+Uc`o3stFVIN1+b`1o zz8H@Km>>A-`43J;7o|GLfyj16m-qxfHkpWvvXBMU+lX+SvH){4(v~5yO%WeDxr?l2 zc&&Ev;Wz+0aYnJPA&DbtS->F8UTqJ3V?KxfN74;(HUvseFZK(@yq^-GB0oWlG*d)O zmYG~@qR?gq(IiVl1HEWh^;C@YwTXE5cNMtNlyyDvp?rZ)4w;GY zvd@SFwtIgb1IBh=KL{VdWiDOHw8H)vq3zY<(rNearfLZ*yd75|fR0z%+@uqjwEQfw z64qRYKons_zm?3Arapy=?t~(B^Q$&|38uxj2%5`#&=s!m=?wf4vft83WhiZV8euKX zSLHH_9RT4o>JBO%fC{B^BHZ)_y75!Y5J~5^y%*-dPLWsGj}F{PQBgo`xR|WC+wn>q z1V?)A+XbogVU#j9dR9uV^DAlkD>qsotU+vn$NjoGJWX32b6oYToo`r#KOMX^-5;$) zD4mY{I-T?C&aSm(k7`rI-9Y1R)r&LWFVX7djrJr2D*#i}&04YJE0cCN9T*g}U;$kc(64o1*3(sxRzP$D!3$$dR_X zhxyu~a~;K657kHWHvKVJ>2v3ksNBUZzRGqF!gm zj*nH===IZUPYqGt*XwuF?xD&s{qywMP-TGkKky_waWs2hbz9pzi?H%9)b4}&!L`Ge)<0TUu(Y} zuB7Ve{siS?hVN9MHwU^*r|fzz*L50j1QlNi%v)HZ(%VpCl;iG}qmszW?SABWJ{#j* zyDU-Zt2gJNb@oSxL%$&zQd4b>OBn3IDnM98F-eYZ#}ibngyh+#_5YTYeYGwmEfq5Y2kq!&|@F z(fZbY3J}|X@s6T4uV8=@aaJGWPXkmjl?r>q;w4bHGZ|y8?HgFoB9_5_$9f)nK^ZWk z6|j9RYeY0aj>ass(3tT~*xLt$(#)eME$LAZMVCBb0@|klD!ge6T*xE84?qJfSf{>k zwRqi!4}nEqyXcxn$G6`f?8PD8OtyP0-$x^sj#TsXlsVYicG;_HbbtaprIIm1oD+P2zfX7}2!Qk3ozNok5jzk<#!nAuB} zDBA}hKA_}x$ejY;bl;nRFo-Awu%_@t74l8}5%_a9y$_@!VP!-(=}4?u)A?YzeXrwq2W zQH5WSy`zR6xED53HO-!{-FUqpe8l3X48h&!T072(zYBNGHzzp@Bsj^#Sp^a`Iz!YH zl6NYnR_D=?Vj&W_gMox;P3^b7fDXP7h_=iO#)aTkHma>`wYTDr5fiPnO$2yc>e74E zdiryGqV|N0LsBe~2e^K=mNYG!1zQRm@Y*Iqo)(GZ3mB_g9VaK03T#&6^LQ%lOZqUN zcLsyJA`~RU)8eNeO#@zl%-ha*+}8R1kie+Nawr}+<@}y!@anfe%DM)=K+~6KLKHMj zg5{Ajx>Mv`&_9TW*mN0+3~}2}8H5pW-xTymm=5EQ!Z%kGoe@Qn&Ru;10t>d{12^{n z6^|r!3#92w!T_`$rZ+YKN{Q~!nvV6&%1=`JTE`XKj&}4AS z)tRZ<&A0QOxcTa^K6pvEu~|mCf(-4{RF2yf!qcz*#Qw57P?#$9mU+oiEee+vy#+NP2M8=>M-@)H+-(c7XjmO{&{@Qtf z9*SpC|7f;mfBW1+jJs+zTM4TMqsdCX0Nh}0LJYk5I6wJi&2qLwQY~lqJ3*b`uh&u3 zZx%MI3AFq7%e(&a{&pl)bZv-2Rs#HDYetTwR5|%;>7x%Vadl_A+lAb8d1!2u+-O z+zP1-1~cSV-p}^4o)8t;TGj`042mi8Bwhejd%#j4YY(Ww1~q}J+0(3FqT0;Rf7TyJ zXCdNqSH8qATg-3+LU+)HuCWe7!0NK@KzhbaSj=z>tT>Ryx^jwgO5ezWCfmz!6T)8R zih+XCz}@cAYoJm9v(U_=G2tY&7y8o9qcMR}l{@7OMsj<+Xu|yU7yuLtx6e0A@a%2` zwi_G9ip_F5U0TyqQ-iQdf#i=}`f> zNYxL_8L67eE_VtqSmbsr=rEP(2hhns z;3wWGG_dS)D^(cD2AGf?epC=OxR^tv`S8z|p$~AdlWhp2CuhJamIzLntz(9M)N&HP zz*7`fvX5?OC8HqDSheS^;w~AhgvIPyKMKrM5-7cTx`8zjd-r<8(k0*z(0K(WzRq5= zs6$zgLt+!)jKM1uqge%Kbd+@l%~I0zPtfXF%542h$V)E!*8VX|DUq;NE}%re+Rd{S zcRh@GIPkCCKS!DGDt)1&2}YZ>c1V!|L265b;?iwahY_xe6|OdCoAR)QE8I@f$|y1T z>*J`Z{qBKy*ITZ!9;ZghDdjw)<-ajATX{DE%@>y@m;aKy?&{)Y$(3W{l5;<7V6Ic+ zAXmg83zgVM#rwpLt!^921@3PbCLg3OK4iAK?I6^Hy|4=cA}U?*sVbX!(bOqVKvV*E zYtS;?< zQh<37$0soOLAZStZC8Pz+Z(8cuL?%OcxSg&vea9C$)1i>$byqmpABho(N_WF(1F1qdMEC=)d0~ey7WVw zD2TAo{lZqY^7&z5YK04YSh*NCd3AB94WZc~>)u<;s0E9C#2Fp;Ccu@;FO0*faUEB( z-=*5tlPssMdrw)rnRm*Es?_z@qcz{e)|H^A7h=!eqkQbI`9{+28F#O&r7y;0 z`zXMkrThY56X>x1{!n*BK%?5lihTOt`7Gbk);n+)s(kOoS7ce{ zmMc0)T&=OVa`L7>dETwfe_8rEN`)zS6N^1`O##={@^7WG)K)i|udUug*IP&_e^ppZ3JJ%OqAnOY@0a3`*#=5Io5_!_6X zk;ruuvNws4YC2!5l=V+zQBee+1LS+76J*cz&Ued+E4pTzvUwzNvMGABPPtQ`QhTrt zs*{v&_j`GX9HpcxBRr|2nh@bn-REWAyI zsG7CS$KZZI^M@Nv*%6V!WDJBTB{0J`H$aYj7k@(S_E3h*Ebd4KJ6L3d-tE zTw{2D5Iy}=U?5F9s934&F}WK%dOmYdnNHH1-F@ic@u}W$Qd2Tj`JoMs>OUZL z@}YDHM&&2&^M{jp6{mODcN$eh-qezF?w&G#e^J_SZ3TEd=c7odhS5z3wIcPakQWL{ zaUqr^D1zljA#fQ7BJo8;K_B@39gKm$Bs)2#E(Nc?>U1l%dz{EQd6|4})|4v#{|_dlS7D zW=fGUird%spc_3nGH?V0UUB2b65Mn1=zOHusDgb|&??ICL>TCps)Je1HqAq}r+eTF z+suxGLgp-)vIx3^?vN>kJ7>jzFf3xw&JIifcg`YP#R`ZoFqNG5Px0EezYnB| zAjme4BmRUXFGz|ZuR&UR5?6Sl01=~G$GQozisbkCo*|7$+c8EgS-prahtq?IFdbo+ z{SPSIq3Z`BGYN0RJD@{c8RloaOZ(d3HQ2Hm`WRvEN#|@Mv2Fu2b5G-5vh`} zXeqkv4ixYktB|$)P~E&RYS;|zgRwlt%;4B9rkF^IlU0Mx&#tOLC;j?}0Cz1+yb&@f zOggN!zfDfwTc|=Rf-7obZ^W7kVdM=Lb0{7A7yO zd8LaylrhiKpK{;L7)bSJJbY^tK2jDls?HHSzIq$}G(3Sng7;wdh2Gq6^l<_=MEZvf zef8%l;IxuLZmkL0(1`J53>Uz8%SJrs=3GGTcvHMuV2P_)^<(EQOg#ld(MZ z<=}{mmDy9VNAVhvB|g$61(z`r!#Q=wxe{^(!}XaymdF2(mWu|=`aQaxU&OTA%Q zu4qwq!y6Z$B0C^Z!iSi}8v4hj(0(s@7j4%^Yxx zTAOiRIqt$<)!!*+r`qbi#$%~pg+C2T@TcST#eNrwxb*?>!M3^zeTNCrHB6`WX8AgwSOL*fV zvJ(Pbne9x37rD{XFEm5rN9}BBu$?W{2;1n~a#Jv6ErkK4EeV#I)4wQ53ZtnJn27$pLzSEimcr!)jn0+&%kli5_OkJi0pJ>JLSU8?VA}44YTQoA= z!;qq85jYPKH>CR9jfcw~w<4`kGujkmzhNN7WlO4X zD8BB9X0*v>5vfhhI@8>Lp*G``aI(*~SB8M$90zVo+(X-Pa8bg~Z;gw%guv`*+XJV) z+3OHUP`?U67@}rDEVS$m&%r_gRjv6YX#bCXi2xIo<+k00d;PT#^A88qh>oN_$ZQpx zN7^pPm<-?Q3ARdHqU3ALWkMCdZzPo3?Tv8BtLz=2CDLmuLyttOC0S6}@B0K+q}M)z z6(;pv*kk7T!KY5NYK=ocN=4*YIPv8}6Iyb9prl+>``qlnP1KI{F`x3b&YX|56EU~NQthGzrJ}nL>yrBJB2PLNw!p3SzV>31 ze`$1M^n2``o?PCZ53Spgu z6uP6s@f(icDEvm@Hx9pX7kAS#{{_F8UKfp_IsC4q%a#Rq_hEVZh(Pu3*Xoz*ec(VGqTlAr{e_fJ4oXhqsuplkUTTH9Bru#_9zTWs6 zOjmyc0Lo>USYPm`98UfdQ5}a_6L1bvs)fNIq%!sAQ}FqG7!k02sUec8ZAiJLw0a?7 zPB56vtdIrx_Iee2(Yb7wMEY&ms4dd!fDZ363%&AF4BX>tgQKK318zH`+)8fWImIHK z2%rh%g2I-n!;1b03*nWO00-w$oLXPY)3Smg%>t1A^0y+&KgW(~HnRGDCxYrO(S&u@7 z^jq!gUHehkf)=k*e7hn1rIxqjlMc6kJp8@3@B=JA!Moy3=AA1{OFnG>cJJnw&;H>i zFL(TEd0ue%X!(OQbGkzHTd6?PkfMymlJ-+nH8_G_{c5`m}7A>ou6eDKF4yW%F)i{qnzHE z9H`NA*fM~vi4JBDAL5mbU9KMGBdEHkDOd^(rqnHA7K8TvEuv+K3xc!{Y*E)wZ&BAz zZ&9}6r`JvT$xHq8k^zH(PmkiCjQ|7oKKL!2kDA!~Uf?n%M)>P}C?m)>fvyLPgfuj2 z0c@|{l+!obpGFMHgou*uGF1K4PWp8D)Q&|!sIK{>2u$K-_b32?O~~tgi#7BXDt~R% z&=X$uZcW`3*h4+t#rH-dhZTg2kBuJYJ^sFEb3Hsg_cXhO@E2y0GA!yRc6~*F0hz9| z4+jsSbdSZTGS?C!Qea6309@Wt3HiiD}_J- z^GbYzOBtTTmD=N<#ZS{?SoW92`vX>E|J-+j$5+Q&`gV3A7m1a4W?WJ{i!)!%mu8{wS9@V%E&Civ#5&a=^;c0K7ho>jzCJ#VWG6tr zpEmT0ql9l@VfT9kG&RB5B!s4Ro+eDmk=@~8u>FzvkdB97pYOVGJhy!a6qFyIq%Zq_ zJo<|w|9tcp{pIM}KPq*&7iHfx`r5bHIr@uY2FL#YH2TZqVzXlh-8nlqS6yy8Mt?A4 zefigp?_-|lXPsG?jXZ1}3sUEbG>FW1Wm@#H@Pf>Xp`urk;5z}mL2dk9=8ss_Rf*4` zeir_yzQJs$5~?l$NC)6$p6p6fMwlz5=&SU_2&|z%ABVU5I2)fZ^ilC=#W?y_?tH&bk`+Sh!5rsP4 z9vF}^23zR|n>jXkq8vV^3*<1Wuz7HhCd|J`$`fwgY34|CB2VZSs9_WYf+<$tD9YS5 z#Ns^~b;TsEH5~!(pb{mBn#Q{k&3P5EDPKP=7f znlv$sol(9VAHl)K3);=MEC;txg&O!pSOw++S5biDy`{lI#ZDPx=`yvnok|X%q5=I8 ziSQC8w5CY70`4>csBZhY<9i{<$?v0Fbwwb#214TbF-~B<3NcS2 zaiINW@A5$i=4%kyCiIG-(l3Eo8B_;FN9;b2o|KVh{y*$}d0bT0|M$!V*_XM)GQ+-# zI4ZIUh>DEsfQYyoZn!Hdl7b5^V1Nm@kd~*Y)RwOnwrGp+rBbZi$jsEz(A2a{pcGro z$n<%C&OL)T^*sMPe>~40zx#r@_k7NB&vwuGoXJjtU43p_y5^lZ#@f!5%SgFq|68t>&B8NuxBqiG$WVYSUDq9{ zIx@nWh6CloD|?U7%+_BrRCZs~&$Wak z^HVDNhVoR8#+8mhT+?9QbgHE?04ZhGp7)7$|#aGpQsmjmg!bQ}IEdWDQfza~yI_GDB7&(;r zkJ3O4rFJ?}DAR=$DgM!sQT5Pn56nMybYM85funzFHxZ5oSotW8zt@RMyhv|ZKKg_m z8l?$RZ(-L)X~L}MqOL5+2%3K9(VA2U)8>xWBt{x*H@3f-7SMmZnO;Rs$&HiXM+L^O znn!DfkZs1^>}RV^omtpejc@l0R40xR52e#7OxWXe3fXs(P%ydJr909|6&}W60Dch5 z8LOG8p3L4pIzrD{#%i9FB#^p?ckRrAkEMHRpvp}W2k(g$cr-gWPUG*Ehy02Gd7~q@ zAoUZh@qOwS!raDdLgiVOhU1xOyrxd@G-5|CkVdMu9iJ1Y;9hlaIO=6;DJ|StxYKok zT^`gop0&XxZ`aomrnqEL1uj|w7@d^~ZWe^_WQ*q520W7;qc>=fl%jG)7FQ&ttEYe$ z3HW4K2yb!oXVw3OXh7zu$0C`-qQ$<>l=X_(3GCVBYtaGn+ajmg2%|k)G}1pnItK<2 zOo|(R7SU!SjGRt`7m}I}l}0-HbV<^-vI%jJ)(3gHU^sBcax!7HX>2b$he(lUw364uJFkgtS?sGvw)$9H5DqI^3XP4ptx=b92UZyFj?)W|h6qU|S;9XXd>z zNO_XBpk6RA%o;uq6Qo`)5WnWiWDnKgz(XAMY);wt^3_wKXoWafhfYDwbW>1yUpTlSG}iKjRKEr~4>98}}ey zX3yV>hy43hQieVbvF5~X2_)5?bq!*wd+yqSp-%+Ww|;@dL)<`+85_tey2D)vgwMYL z{b(-Y+-C15-dsH$LhgzPK$2NNz}u$}^puyOv0OYNvkhG`B|ZhgXTja#!paT-Y3S4O z*vxsaWxg7YQbsNYlaBB0%iY8-?>!4UI+x*SdkRln)V%TfKqMv}S!QP(?ixKtx`QAZ zB{QFHAYSv$ylyMV(;Q)_dKrrFywL2I!4Km&g&_)LZr%{K!;>5iZn#Q;6<6wc}-`LRqfO7ofBiPSfK1$#pU%@sJ%u+)7e%d}T z%pM+Y$_eGTzX5o`9aDM-X(aL835|6Zc3vk2r@LF3MMXShBRr zyAy|1Zl4l9d>7>``8WHNMd4ODP=z9o1;oJib*|A0#*Y?gk{!z04%DMq)5d-)a|o7&rHzidq0!1s`;7h zA3RQn>7Q-ur14n1DYLM=`qLh7#^{`_GYVo}8ymFevTxnYpZ+Sfo^auoLwWP#<0soV zt$vremhSrQ`=fh)e`~`9`O*b`1peL zrA>cEY`W(jaG+sV_^QW-rq8dR{MLbIp{L~uV z?D6GdKdaxKICnB9@BW>y3a8}u9P+Hw6Ysy4998M)yZx~rj~5;|dgIrS*9+FfomhXs z)o*akg9(|3hn=;3r<-w1^@+_3*Bmr`ci#QPl+&(7@mF>;kDI?de=XeRrLQV#4mU3S zJ)^o`dBDNe7OxZgUUBZ+!8LDlcI7!SZ`U zf9|~W&er*_hR#mhGvkHK?|+{g8}eRWx7){;hivxz?AnX7dR+Uv_Q1W8@^6BJBdlMw zT4n3jGX6F1kk+HIOYY5F&>T5`*k{Mq^(-#^w(Z4Xg)i4XS$Jc`+!(8$Cw`k~)2;9C z@4mcz*FuBa-Ts5__P8A7awTt1cHCfgFVF2&IpnvNCwFW~wjWqw@?CIleU&QWtD6bkj(a)px+mofeP+V< zL&q&^s@@)%adqjqr!OB17B z0p2!K%?$aEFJSj4c`SEu0+I-(g{mGZlerqt!ej#AD&oH?RUh0bzQ|Dl)C)Mt{d2g` zK}UdJMEWAQ*<)FefESzLLU0OFRQw__NS+?ZB`ysPv;0BzE^dfm-z5imu_YVMC1icS{s?&6*x;8_-Mvp=sQ3-|(&ey0U|oq*R{z;`Ne z2h|mG1bch2Caf?vHc~Ze$iV2>$lg;kMx_iNJT)pZIyRzLY-}vSV|qo$nc=-+;s~B# z0gsN1O#r-Cv;{mSGCrE%aTajAiOPxN@9o~<1#wZa^x`@?IsaJHd)Ak+#r;f!yXLPu~)*SHZU zZT{r22~V7wopcVW_(?ZX1EIu_o5ga5O+s+5A(>rz!M#%b8`F5r3t(?qP4@!l@8Spp zc=?S``ki#&Cs=W2@GyA&xQCZLCI(%B(B}L*!Jln9h|}rGgYfT=^bweEjj}r^(A(YN z07L5@&W6VDC>|D zq&aag%v)}zR|j@v&g>1z(5oZaA&q@B3-B9g%lu7?oLrq%PM{*f`bIe_b}*S+-vF<3 z-Lsm|zOFJ67|HU+AhNqbW2DfevnefgxX`q+&;n~Y4%)KwbDAI*?rC;65*o+W{iR}Q z&uOMW-F44%nr`ZM*tzF4OoH9|+m~%Uw8`YkpkgIC|1DihFLGh5O4D(jd?9{BZ4OX=UOk?mcwnr$$pz~jZwBbDrj72UNC9b`TRZ{1wrK_%@x10h za6i1PVkjhX{sP?`{)z`z4Au7;>YF#W?Bn9At^f>WJzs!AE|^p!UeNf53Zo>ZiV=43 z?OJQ9C|i#bOl2eNTJ}IotYT5$x+GTdg2p$X8gDHA!45?4w2ga+T06y<{Ug})B7M^ z&rWg8Ih9HD_$#97@1eQzStdrKx z1cKr6rXNsr$HJK=!653oL(|7$1A%eHf?#(d+?%c0p$YdtufSBas?(K*|DX7iN_ALB z+CJ70skN6bDlSF`v)k^z!JNw`t%mTpe?T0oa-5~_N;zpYFA}+VE$}==z;_DxKGw6Z zA%v}2=I!f{MZJRyRjLop3TAJ?5@+zv4jTivTLn?s?LjlJMiGHj@d1|&GN;DXL_?$+W zxd??44^bKqEfb=(7Hk+JxQdy_AYjX#>$H6jsvsAPy#Q4lN>!HxgCh=WMu4{YO`w^! zdB+*%EXXLmLn~N^Tzk;9^=gR^wJAhl@4TC-prG; zwIER&A!)j)QwZqAqv6+Q${g4k^B)WO(uiNM=uJ7)4^QOKX4h$mylq|yM{1XXG)A^# zpw*Mi;i4N@e93+7)HhhbE&F)(#6`DUcJd^w@ePI%0yFDSJ&|n=@$D~d?qn&f1=5`t zJNUab4AosR2oTbkv)$C1^g&y8b@WxtuqzD_Iq7_w4- zV|@-!DZ8Fl_6Prz)5>l`XLpbyu}HHEi*z`9>CFf?#@^Qa<+DkG>gPtQ!7hOttW#aW z*L51|l99#T^$w_cbFb!ewYC_UXv&|W+_+Mq{&&>cpKWa8=07_u)OPh@)?I&ETY??HB! z%aE*_6r51wz1s<^eZhVJ5B!cHoPEbPffTNiS$Yz?^o}pc>=_ugO&jK8iiRuf*O~2( z#{wVO%)oxt!3yEd568r?x4XkColUK#mTkMJ4P@HC-NcVY@av11Rp}n{?b+zR(Y%LG z2fXML4AaUrZ`WyTW%kk&a&Ol2yoRxH-)J=4F1uP~qk_QCmGc@;wvK>f(QO`<~51<>nfIv zc(1?A@q)3W7sY7UqDJ&b=b9%QHMVMXIoo_eqx0HI?p)M()javFrjNSN0|f=*pRPduOP!!N zp$Sxw{B{(*9d4^6%(6^xuKy~k$~4@S6T!0zUKA)d$88xL|DE!<7l_- zE~fO}RiOh}qQ?D72hF2#S0O-d5<@yy%_hn2aaMs6yw>e<^kC_KCumrm3{3OnMh`9! zAIRDel*YJOE`&F?&w$|myl^}9YwXqlYZyM%!9ydw6Fg*dkPMf!*Ne4Y({KcI=Delt ztKLHdv={qV1e6^(Yj0Px?R!nHPU;GFqDeD*nz8mfbcDhLpO2@Gm?mEUTRs*T={dv- zbf<0(o=FA2J%^H%MMU(Rv3Nyp-lCqn)mn3fp+oH}6X*m(zx)a+6ja(rY84O%>S zIvEJ&D)}Yyj)fe5GxW~2XHY3xXf=Y#dP&7HmOIC>hFeg6ZMX@KCRcB2Zp!T@u#udu z&I&6viCC#$PlI6H^*XZ2HnC66wW|P*Hg> zc!b$Qr+|g}CzzYtk6~l4TZ65eZ|rrqQ6AqG>Uw$NX_hy(_}g$V!&Pvm!~%)nxQe%R zH-#lDeF+mmggTUyA~I*vCVd@=9pqOHOtoX?NoMp=>|+}-H)-H{f}<@FlPQQ^Pl_6)JeUg*q8Nz(d_cPa5uIl-rwF@)oN?S zzWBo@ghhvfCwTY|%{_MZu4bHedd}i$IWvKQ(rqe!=4?IqVi>cTs&UYq+&sjz6a*C>0i_l+{VFegKGsZ)%s zWuszbNK7R|M)c=s*;X2mzV+{yd|1&FvZKGqsuVQ!@%(u+=9`OK^7!Jdr*?ZRSeQF6 zdU_5)(FJtN7%?J^nnusO&%~W~+AM;O8ayzAcYw&TSg9x01H#jnEm}Nt2_+jn#yD^o z)Z~`TrBMEo{ORnw*EY4>P2+2+x($|63)B0kF^ zoNEy-dNf?9s(cinx?=HyWXlR#q}N!a-)j*cXc_-Vd7uduJpzCLv_*z`i|{FnaHK^z z*&>`_5zguuCYn@kM*zY_7U4>Zu*Uw;A<436z$uF!sJDpE=n$r@Ms=zKfWlWS!xjbZ zwWv_8MfysMaE84V^IbZ~uTWzV5oytqK#TaD7U3+*^cG>2ML7A;W~ht ziE}?WA{^v6jon@nUhHI}$`Tk$AjDwa4ulJ5HOtj`u3@u34$!Cvu!;NnL!gTG%h~rd zvd!%LoEdpb*rIzNWsQ!5ghJpr7Y}wd!aLl4k|-#gEjnSXWB%*X!~xYiJ{UXBQfz$9 zi8y|&@$%Gom@(vVsuV8D3l-fF!8$)$vbz%um%zT1XoMj)duEbOJ%&x~nXH5HnSk*y zB)5p&S{klXZ(xhmwmL78JEZG1<<_3{O%`x=k}mZF0X}9CP3SaT=apM~Hu5`3*A3;? z4hK$u>eXeQ>f7wruL(NoZydqm`g?l0nL9z;dApD`nDw84s>ZSYFPU`e(d@yXbe%({ zNVFbZ{=yJlSBpGrMEEreID^pKYMp1{n*x5!BK{*0K5qd(CBio>;Ef`D*8={%2-^vY z3k7L#$S4@DLY3Yk;(^EzZUJ`?;RFk~PJ~SsaDNddn`CsEUu+QJx%`eJfH@+H^|!Xw zd7BOVt+&WGQes(a&|z}~{56Ys^5{cXtp(g%&M^!4vm$)n0&Xt%h6S9PeO9T4sqR`t zG>Wi!Z85i}S-|yT(KEyU67X=yPrp0_F59bTYP>u}B9lepFy^{vrmiqqfah97j}_tN z7Vudjyxs!7OoX4cfUgtb*DT;Wl(3ts)*|9vE2g=d;2F%%1?ctj7V%$*@C__TyM}lc z-nEFoBEoj!@M-Rxp9EZQ0sl?F!!6*F2q##;wIXa%?uqTQ%vVHAu*lF=gy&koOrv}<)9rbYtJO0;*#_|X+af(*;w^jtq zdZ^`Km^a$H5t@kwvtgupjrUR%4{MygQGEJ))5BT%yO85F{23e$x|}}}42OiHXEyAk zB;^5%+hQ6EdfWa%c2bd=rR{=B#(`M|FfMGugiO8vbV&d2x&XbbgW0l;`@i7F&@lm7 zj4j%19U~nZ$uw)-^)&lB_L&W{bc0||(9T$VL_G)!i0d1W4@b?W9n8x`_6>Lu!6t(+UPrlULN%oT3gP&s znQV-U+)sUmZE=x%uq8($Wp>O(?(LUstR>!-`S?13+JfWjO56{^E!`Ut-t5YI%N$ux z_ZZuurV8uOl-`G3OXxtEQg+nT`xDoaqm*6nFjC5n3@?4)TJj3Pz(Xmi!h@w3=5_2j zSJ@|ogwPR{RwnEfLa06ya_>%RBVYIn-J2@eWmkDj)B`ku+h|nyBzSLASI$Q%K?xA` zr*@i4A->H#Hd7-n^@iOJuJk}nIzS|`_5(b(YSRNna#Qza!;j#qz-RkYvtJ=g+LR5Cx_HOF{4U;m6-a&2ro7zSPqOQ zUbLyq7YYOLRyP=_D~4-Gu3yhHHl>yQ!mIy98Z_wjycjB?n$-r&!E@-b7=1=|H`Acl zpzlXE$Xz$Ti{E~?P)*m(Tk(iV>$?-Xhx?T6uHzp){$ z>}31Pf>=t392;rwT&Oo(gez`7C!$bjN=4qqyFAyQsBL?$VD?Uk92Mk=6dY!%aOW@3 za21LpB3)h%vkjHIdlVrVv@pQ(axIBPjmXQyXl4qPgHqARXX;(|*OPKS^-?LR)i%*= zoLy(RMy#ihK~#C6}LlWufn@13gqv! zvOBy|yd&|_(lWF4NGN~M*zs8EYQdsIhv01r)H<|jrkNoqX0bwA$ETnp%cIJdQA-oN zDUqjCnQQe_XIVe5(sa~16p^rK(DWs~5*i^Q)X@kLsi$cbYD2(40VIY&(;NUz6_Y}t zN73{=a`ES;r$l}`k(4%proKpuRDLWlOm_Dp#44r2lbjl8Ock&#AesI+Zz@w4|E*rL zij54D!yGeuTHR~oKy}x{uItI;BI-?bQ8m5AUg#q0J5%qzOOPGnhs!}Bc}nvFDP7csrdy8&uOL{-wuH+=f_fWk*P-oo z1CUU$5JZzg%oZ9qwr~9?A17rkqHjq9K2%qEM35`eQP;rE0&31@dUt@*FcFGdB-iyr z*v_tUq7*B!i(O?e$xC8?bj5!6JM%Wk!{Dg>LRZ-vJ}%c9WG~nWf8HQZ=(-ZMrSB^+ zN||NKOn88<L~}GT&};K$L3`wpVzz zLX1aywzP`aP$et*M&WN6UiQZzGEaLwtztoFcuMgD3}6;2M&r>L_q4M6=EVvl*gFk- zlqTu{x9EzM=&Jb(L7bn7zE<8KQyJovMg^lF{;is@`s-D$CF`iaANfpJR_+K-D6wtA zz*v5_`AE%IcHS&}w@uscG3)MfSRt7dutO|;9l2&7c@s%p? zq=`Oo#lSDMmS$he2h;<3eR!+QUn?d73Q}6f8%8`bBfXlkokveLwc-bXlFxAGJ@9Y? zF}J_z1mfCVg{V}OHH&-5vf3xfSnGhV+1zlNn1iDp99V-pdow}~V4p|Gdi7iEdW4+e zIMBQmH{~&7Puaha){#Gq2Qg5}lFI$%pv{A5YK{rT%6g7BoCm17TaXmfI8ba0IS7hv zAsvr=TPWcV*cP6|3QX$@Ef%nFxQ3v9g;wjjh$Y>zz$_oi$3P>lyZTtn3$D zs3>oNbqNJBQV?^T;1Ztd64(w9Wu{(ou(U~Hhbl+tJJrAeOA1@7 z9pvS}MU+tNtGogspdX()(Mi|I`LmuPMt_!xQIE%$x|J! zpiAk>h2hU-BXq1H4m8d~1IBo&hp>Hd@*x=hiwkV$3Up`V97p+c8xHK!T#)~(VQ+<1 z@9Xc&{D}u}@+55NRmJu5WiFm$y0h}jAaipQUj^IaV2U;j7H8{*K>NQfQme;eq_7FD z2sRd+%5_f~!4kV5)&2Q4dIOP0h>x&Wu%`&~rOPaumLbR?X&Tm=jcPfpM~%vtOpavL z>AtWt5H=0Sd$9=`LKLiC0Sx}Yx?BXm0T1NTuc%vFEqu6S+QILM;UbLu6)eK53qD^4 z*oYWBz42 zIqLSooP*76$V1e{L$8T5Od2U0XP7jefT=Jp{opVVFwQV3w}#$YIk8C+3C6Y0?%%;_ z=m_avXA_L)y{QLdg~O@{W+1C&qu@b23LYpv8%VA(*N+Fgq$EbLOWG(^<|v4O^w|+= zHvL83I=If5!~2k{sLF(4un#g}1eO>q>VfQmZ@&PxbUWUgxe+oP+#yWE`Uo@{{_f#z zgB$TMIHQpAALqh%%aakv3UeMTl{{*4-cjN=&@`iFOZy#JQHGVL^fA13*1^_m;`(HB zhmcQB!wZm6m`DyYIN!!$2w+_0tFIHQB>OzvO?|^nNS`<<4qI-H#A48}I0*6~u9F}i zLdF`acs6=!{tfaWRsQh8aUnPz5+E-kapv4Pq7|7&t%Re4y50mSzsE5wfQo1 z%XsA*k3rXu#z%_Ra9hLDs~YamMfzUDDxK!*U}GffWn?M;iEN#b@!(fvwsSNfRbA5+ z2y^g2|8QNqr2Gu<+a{&RY8W$tIaetMcgmhUf;0)&8R6FD0bG}IS2ju#)_9kikrd$! z2|y}XGPp5KbAPgs(t1s%8YNd=cUDGwyyU?G zUqLqLRZ&G)n`0u-!X?{T-x`sX_DI<_fDN8E?m9|!5ley@p zQwQ?dE}akLBf%0A(OnHM^>Kz#uiP$kbhy!HCmDnI*upCj%H!UUehpGu-x|y+C!=Bm zLRgXAVx2lfsn-c{&k1E&jhLaKN@wgqP&0snS6)P>PeYZSXpF@7&3ob=AleC#GEtiE zD(<d!`!0kW(hOqPNW7(?VMX2Vrj&E~b;7sgr< zC!GmnksG?`)LmHeO^j?8mbDDfMO~QY@7e9aSG(}8`lO4}_9oo>VA6(Do$1DB!?bW^ z?yd-@xhp*lFpbaK;k**k84-5u%3CPS>&hw*LvOQUf`ga^6?$ufJP$7y+!Y6QgLhPks`x-0#oaPFD zRafc)d!4!~I~9n|oq!%lMecXHZle*%wdrLpSp0QP7AUb|I5-PQ6aE#M` z4XmJ&k639ZzMLmRJf-ANY-q^Z8qRip*H_1O?Ct_f8aM5aNs$o`8Tk&XzREVf-kq!3 zvNeCl*s*vw=tn=~!*hb=zeNy3U&-_P_L7Nen8A@^ zW7*oB?$OvJh)BuqPL@9niJ)@=kayVrgYy!82JHqAAh8NMzv)AEd5Y|-Cy^E7+WQK* z=N+Kk#^U>+_n4U5R5?Wb28*96_k^t+LYwMlZ;b1tiyJ5wGdbrAa{Nf_w` zcpSGG5y~dak$qqpVr0CP2fG(Kz>nl{UtL!bcZv9V?1CJIs1yE5SYmx<^xHXcC)vQ6x;Ba2H5Mf$m>!A zVl=QmM|Lh-<TFBj(GCSw=TE`>mIDhqJ%u%Nq4K=6X6PM3Jkl>M=!#u4JDDLc#Uf zxv)Qfs`CmFFfR5_uxD}-Ac^=p5M3@6TlGFxC@w(L_A{7{93L#-V1V*^F%Xi5Z?Fw2 z(y;E>WjQ{W`Wi4ZUV1q>$;-@w@&5U*!yy6BTOH|+bgsa1R`!J(^z#3}%5z5>0tC8>%mVk>iVKM(ZhvGar zdpg-kb~u(n+ny~w7ay+ZNbn~vwQ~{HXQy=%TJ^ueY&Ep%r7r)l^IG>?su%0OMD8MN z`j8{4UG-$DJ$j&>R4Zh1)5}8e?c0TPTw~}PXE{Z1>Sh+voin4|xX&XWdgRs+{kFV5 zG3sFY$i3P1JUPPc2^@Clh}}-vEzM6zNRT%kq-|Ukn$c8_PfUF1 zZ1GY#w%1+&sF=XCvhP3aahd$Ob2SwsKqr~JT-K3}1T{Cthm&Y5 zo7;&);bw|fOwG~3T+Xp#7$>Ly%yO5@dbdvn$>w2yZ(+|bmpl8!w9|A!<+|Uo_NUob zNT6QM{#q{ksn;;C6>^~ZbC$S5_65^?{0cd!kccUd`h&7y%V{Si}v_acW&O_}WW3c0gFAL1Zh z8^yL6GUUDgkGWC$E*ANg7a#I3ENY-aM>VEMuq#*o@Wace1*MTASe2)qvxHJj0mHqvPM-j{OK3RA*BOm9r|oKZdHnUCAWPHh_)+M<9i~AE=>hRogO7Im z^aw27ME&zPwskN_?Rq zGsqH+=XJ!(TD(3opuvRE|{`M9P2)E^dsBBn`>WaZYQBNgw*1&yGgy|oW4 z`0NM=cu6J~$VA9vC!d8gC70)6D~dJ&LY%S$&5zd>wIdQQ!S@O{jKFA~>m6rL5}mYL z&0y!&%d6ScGWiF>hbEQFeQ?6yrkAQ#0iED-yA9h&}B4C^5lS<|ENP$E&Q{qg2 z6k6DGrY$?U6o&uG2@&9gFm5o2BTY#|BC#bm;FYQ4(}=PNv-dor`Zkcos$FIjgIg@* zWUum*pic1?IZQx~MsLD&qFkJr>yA8uLq+U1ixO9V0EPricbM`k@+`@4`_)%PSC^=H#*hh|rLwqw-DY zR*pe6lK*1`3t}+Uq%>d+2t2$2hA4DM^-B$D^P{X{x0dB_WVr|?bGSS7dB?wEG z6E0;S!K3B1nAARiO$=O!~~4ALp2%4N`T@@t9kQ&t;$>a^~ysBL<0k3o!f_ zh#E)o8dsp{%F{KJ%Mnup8I9sk4ul{!Cqq4J{s%pUmw zQOSk`C~vKlK&jy-pt1{43P&^R+H*Lh1G(hgQ1t|6W`k84c|3rvZdSJz-IBR!5d0hz zCxehh&Zb94NUp(D4Vy{p&xpJ244!bXRS}cEt)+SaF<5IM=cKKto&&R z!5cmW-PUI-1mpQ@vVXvw9mEG3?L;o76K^_j0q1mG_!*n}D?15EywdHu^nFb@1FH3_xmX2mkEgTRU> zP)I2+!K6`6+(lR$W#rVgSs)CP&o~1EggbFgYV3;-y6Q0;H5jsSSY|oqhWD4Lm>V2M z-p1fAEjQ3Ng4I2S*81Kq8&v)`>1>3?Z?5X(Aa4~Nfz z9sMt!bb7JeH$k52&2k~!q)uT)){gp`+!y3~>gW$~q^KBfmr{`gF_KN+@B_wJ)u4?j za6>QvZV2v@8v@sL&mqEC{3qD^n`^djmzPL{T+1)Xz7Zb{E;|-g-;S!9Dq=r2mBk)4 zl^rn^*Q--{x90!Uv=Tcz71^|y8DG_U)J%U#enD%e2uh)xOYeeN z)CZXJ`?663X`6@a%a)6kY|8s`kHWMvI&#qQWl-6w(C&~5G7|5ajtNo6qfYbPp3Wf4 z1lo_o1B80o5si|mfYV_}9DPs_QYg_J@#~LxBkYl?73L#wM$Rd0qSFiTe$MIQTx{ZS zGu?hUP*%h>=%r1-U*HIonf3$y|AWomFAtAMkfK9(O`=nn!Y=QK)Rzok-|d$@ z+{gziUh@#~%3sZ#Yh=BhH6kieZx&S}M~x!;9L8GGW~+M~)jaSde*TH+y-dg{q+kq` zj?}aNH|bU*UCr4VSt6^+n+Sc(ro_b^3uX6f!GQMvue=wgJ1@1TDeagB&wMmm-t2&v z!E~ofotyw2|DkoVpL-o@juzh9m}~CD{IA){IysPKbPcj$+v{*}`iND=hQSk5=qSf+ zEW&~5YoTh|RtF-KsV4FR`Mj0)BAidaelC5GUqRUQTrgQT*73k0d2a|>k7K2htK?sEy~+0N4t8VjeJocY_3`%9W&fJ`eI@nx^S)$Kxqld2eH5g*DS|zHD#E7b zouiO*l&Vy0XJubscK#SR=;PQ=$7FBrD)9Z_&aB6Ac_bXO7aqs4cov+xn%U<#x8NQ1 z=ybZyu!G0tC2Vb1ckp$-)7r4~2G9aOVF%a7hp{(5lf5`cz7^f4q`uVv$(Rn&tl%@* zsRN*={Sfj$3-bD&B~g+C4~-BsDz&L2WZ*mLPr~R)*4Scp7yd~zm<>F zvR@KF&At332#NJ09utH_m)=(H;5)p161_^JggBcs8Y{i(ZZpXn3GbNmj*fJ!T)ECE@|ElmNqHW0oh1ZYIaERUWf_ z`%!F`kCN#v<)(U3FeRNCo~FQ4RFz$nh)K## zHQ8K{fYULKuEzyDD_jY$Rcb+Fi$Gx7^8@vJ<> zmFr*4SeUCCJZcmavTEwj%GPQrOvTYhex%^|2|p?{5-0tFeq&?RSgh4)szGz(xlAAGPh3oQ2D1Ds)yg>z zkAibcPkXW}DZukm$ACS}k04dsT~HXE131UFS&jGU6gF3Xol-EG$$7z3blVCXJ*B1a zOfhhQjy>NQe#Gi-|F#!1?yG|p%qEmU zPttHNg{L~pOY!lu3}JL0Yn-1d(9)`Ts3XU~FL-f28Z!(e?3|<=8dd?brzZ(!{;4j~ z6!4xYf1(G-{5%)@cIBQx%pPxrvwRQ^dPw@AEgYCB$6D_p?;mbDwU6TPxFHS5D;Fg& z2}sqMQ9!9zjCNN0Z2Q5En9`ibKiF5PbFMGXDCHweq5w6%eAJ{*d|6~RoHO}yhB|9= z3B?P~;uz+56^4cBpdtDADOm%-u%@gNM0hgvlqtLw3~ib$&-*E3`kvpmHE@vGtvkjt zdpqPcE)2y8(E&sH4n@$k^8iQCPLJ_6AtrOtC}$ArsQaZjaUbZEDDX)&C_# z;qenYo7x!@$|?^|*X!>vSGg@_!|?f-{%MPGdQL}=Hq)>@ucVT8BG<-v&J5?ro)MUsG;^4D z0j4h<(xrefrD73bO2r0-DHWTBJF#Y$i1_7UO2u9i;Wxoir;1$*Qz~{#!0(H4+`1^` zM1gt*VHFy}SBNs65blj}r<8j{%JV3P#8WCfxp%IJSG_dst*_xAuxf@gj&h|i zgR|5zQHGpM;MrguE3|?L&biL6u2LY}f7QEqO7&QJ{?o;iMReO&@l}8_ zmkO}5#_j6e(S-DUH3aD*o=V}aW$V-W#@qK)Y6|~|t*-WQ4!N;Pxbz=Jq?1!vmW@XT z-Zxndo0pR}YjKXy%W1b&1EUSoqV(!`X6)k<#Uff@0B6cx7$YL14b0`19O`VW?S}Uh z-?edl5=QBJ-;x7e$Y#Bfc;R#)dzsC-CC5uZ!FD39my^$+is(UQ-)=NMFa{m@@-FDS zp{5z1lznC*E>O!L&RK$PgeG-kY*$lnP_|vyZD4=hlDm13z5SGpgC7irFNqrCog#E{+$Rq23=U2T;+2NVGY z+gb7WHH-KT!t;Sm_<@`+i@7Za7giH%0+Qs$+F1bCwI}$;>8|CYN+liPr!8MoLnv(O z4Hnnp{#|leP4O@34$CGUzu@p8L0tY&&FR};6 z=EN&JeoiZIDClEiZIx5>-cO?fgo~P`X>pF?*A7^|7}M2L-Xr2klZLJ+=DIXEgu6a4 zD;j39smJ^Sx{{;>m9$f&G?(IPZ)I3Xp9vJt+Ap0iMeaj_wuUL@1}2+cQ|( zU3oDP&4a%3b!X51DQ{4FDU@>u@{WI_! z!-?KN^xCje^4QEFKrMN!VSi7jX9{eAV@5;VloRh9R$&#~mQ(ah%or7i@Yw zYf=HE6?nQS#CXpE0b6=s;wWyx@vcZz;sAVXGc0d##M9wF!1L-F;Pv(S@j!O{iK1Lb zq-M_4_ufM!&Vg3gV{U-xSoJ>8(dRz|Jv2h+feKcEs>aiCiyO^5(jd<>-y2Tq*M&qf zo9kq2Yo#MZA);&$QH{mwP9R)cpOl6}inTmWW+Os#6SwUi;G!7VDi{_Ae)}f4Zv9&A zoWQDIi<`^%qPHA^zJ7y}q^GPE_WfaNO9`E}JIP*9Hr#o|5T-Ejp=^jny#T&fH|_3i zC!I1I)oKo~lLFKhCh*}S7^^k0?^%C)?Y|1?>{NT{nFcjwfzI6RF879T8`I@&}x6RRf_!&=Bg+*)gDYPGPRhDC21GnN^x|= z`#%-e(18vC@=Kmi-99UJVB&!AnycPgN!{x-@^elpEsdNFY=^o-ZRCI*!W?Lt@t5h) zk5*V2OG^N&bK({m-8%j3T5?y#qI|U>K0SGAv$9FbjJ!}M)1m9glE0EI@zsVw+h`Em z>8sVn6VXpF=Z&=zUS(cc7o%v>Z(NQ$ZxDZXQwv|oir9T$t=HI=Vo+X)=V{I~@82`M zf=tF*mktSy|DLb_30c;svaaTNKkZQUBvaX4Q|~|WGTI$bf>cwnR4^LBd3QI>7z?Gg zLLE7Y91W+D@Gc2Qu<)@nnU9RAqK~N}Uu8OU)rwcYVys=uS!@u9EUK9jp#9CNW_pO$ z#!6PHEX)qE$5S#q$aqLc(=#wRc1klDRVPb}vlT;&s+xu_+FVI9R)D7hJlGL(8>t3u z9;CMp8nl6qPT+MGtK#+ucLkMZKP$hqA(NAtbr5 zc>Fw89id&$-ufKh;akOCE-blnp`I&3*b~8w?3?LXx5LwVuq!>a26j1aoY+77^ED{$afC`pUkFy z86Ltec|a|r?njev60Zd46m*$0(cB|=pn#84qE$522wo)MQ7ZV?u=X$PBH;A`9w5@k z2)KC@G&iP?fJcfwYO6>;K)}s=SBQWU%ERj^_C7Obd$IyAgszH`l2nrDS|l>G3OFf7 z(?xoJR8X=Q@+TFrid2pWeoDYy1>8)qx+3604MX*YNUwOI14SM)lV3F=BG6U|o2_7c zBH$!~L06q}Q++Pr^#UF&;NJ>(tAP6p_>Tgvu~z^_x(&krFCrpKLYjiX3AnkU zju9u4qf-+@^YLgSB-$0~%>*GXy;VluV z5=uYjSxUwocqRd7q77DC+0v;sbfdVe*tRTShaz?2lMTDTBs``lx z83N8%BfM*{fbSJ>+5_lH6Yxk;lULY-tD^%7rwH&B0TxFu)j|Oe#M(qxUo?d-GAO~@ zi{+LsQdOg?SipB`mGCg-rm7V1RsrYh9^zh9;329EF?qs7K_t^gFDRl#6IYm;t%}oT z`Nj8&jZx*yTQEH*BEDCAf(jm5r%hdyGYg^EXciK$UG~s8?AD}L18csC*DjLS*hFoN znAR`|TlgUqf!;~fz6XpB%P3nX5qW6;#%A2Iy4lFW#0$9weNe>IDq|T0@ECDkA+B6`@ zlrKFSMz1|5k;%Je7rZA3sWv#W$T#}Izi^<9PWlikNm!`iE^H@c{-qaO*xnyyPw6mrQ%L5sRDZJoiT77H2V^csb^ml> zS(|f-E?u-69kFD)K_|WE$|8S7{$(1aoQoP(Pht4;iu@XCLfrz15@4ZrG~BsekTr7Un`dy|KeQW6DOrq?7faq5WP&8J#3J<(*6 zCO~EBN$77VnoBG-6o(w1q;3?%e7F~~%olLnAuS?Sehfug@0i zIcxK!I%9yC!}m5$Hct5P^ib$?jt2XGFc6QMM?i(Ro;3wVe}iyLDPIG+h=08cC?wT5 z#N?2h(b*cZsZP$r!d`WRncz04FkU(Vle4?*^Wcs)DXzUN}#4a^d zEOHhi$GSE@6!v;2RKE;Q+pFL=d4EM5a@+&uYur4OhNVx7KzaQj!e#R{EbVUJL`78% zhi6$#u{B|y?EVUn&*Cnj5;v!ypd5^+*4lX=R~ zAfsv7-pihz-saVFgV^D)8>#5O2)b_Pv*xhezr*G*|E$S@(k_n<6t=zLNP{cVo>gjH z;?&pKm)7By6gKIG2UA~!=!mO*h%IY99c9njmL+*%vcb$_lBDuv>IM%F=I=F6X3c$} zx_Wah8vXS+bVPvHJjhP5NnYT1cOQ<#3E->{!7ZsWPA@I+v^<_R_jA)bmkc61KQA*4)Yo_sViDx~Zu(4I|WqX#)iI-ZT4a0^dN%e8;RJUMm3l&xn z|JBwF*)L}OulUDEuxbVgb6w5m5!xNL;FHtlQr7}OZSbTHRThuuSx2gEM}rMSv`y8P1H792s*;cht`fQ-WlM_8f_ij*}DHi!m;hz zKt1$H7rg}AXz8qQvR239o`$%h_hlHGEngQDDL;dE(_Uysb>o=p2=4%|_XXHY&N1)V z^{oFCtdU|&YV3|+rAbhzLswV}fIw`I-PYK*~3%gtz9nS?S zX?SMTtj^L_s);VtdAhbU_%U3VGW{ATAN!*gYM9}1koc>g1QEr1CM9T6JxGIwk?N9J`T6yh4@xm9w;{rZlj&q!G$0r@ohP~ z&>rg|Ibu%y&RQ?|cj7u_teI@AHs*z3&kq4Ts+sTLL!*(M3k!bG6Hnx`x$P+f^06`R1LtztIV*RKG*;IYkH z(BpV{D0}PLaI9r-+1u^DKU=G22fog-R~$=E7uqK2_xpR<3nVW=(Kk`QZ0Vel6Yl>3 zB^nmeelbtmQ;{62Rn$;e(qbHUQ_p1wvZ^BkyjZ~V(IDq%w;PPDFv6VwH;dr)dKTnV z@3-1}v8lTqZ6&;(TZs2}f#c~T6OI4SMmcG~YHQX;S-2>t-KAqk+Ehk?olc66W`}f( zqrq>>4N3^8S-C(PZ-e!s37?ZfE22;IAL~WS$qp1E$o~AYSi47E&9*Pm`g(3e25yPz zp?H&P=@;zO6099dnVhHfAu+S=d0Jncu3e&s3~sb5BCyBuv@w)u0}^+B&Me18RQ5o8 zm!_jfkQ(Ae52e2rvlB?_Jq}=F#W*ZwrKi`}q*U0LDnOqfoPnYqF<;v&>aaovhjK;VP~HxnqG=fi<8a6&*E>Y`u|4@(|M268Z+e_3 zDnSpR4^UOm#M&!adX-X)sA)~M`HSewf zW$B^#3$$$I`2&DV#@Yzk7l$tTSXMsUwmVDI1>qaLV6E3aju+ArXQplUgb>Q>DXLgP02iX|{tfIBO(?QVy63b^{UnOM%_Eh{7S*lAWfY^~l{1*Dium|B%v#vmTt}gsD8ee*cKWnTQ>oCygA2YD2h#1b5J_$e^c2rd9Gxq38~`%UC* z!{CL}-Tmu0>oikdUa~_0)@X$@P)hHB$p}cmq#y|x&x}iWPoYJ=kwjyvWh#9cz6F9DLfrC9Z zkQy9;Bgh3D^y+3q5c|UQfhd%^#6W`G&3SgtYFl;%Tzq6(j5b01nQ=*Psv$hj(|*FZ z=3&7WXsbKKVAu55gGchYEoc5ShmRuBTO?}?44EHQ?6}A=-)E|eQT@-x!<`C0>=tYf zMd_h7PU>e^z$+-YoCLx7W>oMUHlEas2_zDJ$`8zHtvw5T6NeI?Gc$1{9ZlWUi3CQv z%|R>HQ-{o_uIYrMAK#FhM_`Z7e0>s(APfeVhr<%f(CPfJoH`ggTw5ke$tGC#Of5J> z6?9(RJ{EmfMxBnM5UX2>_GPXI%jYwK@f_Z(08?Bz^YW7W;K;oNh(JN0Zzu~pHCZrg zw$}jDzgdF4gr9ggU%k9so6ELW;Eb@193uO7kF#gXtTe955oFtnAh35f!qE8||4~EP za~0a-9BY=&17VoeH=ez+LHjlvcLir17wloow!y=d9q8m_-+^}>iKBZv?|LS?Z4V0Z zLycX7w=Dr{0HxP%1j*8;(FO6u$$-Y?4$`eW_)TB2cD7#z_F;?!-BYKwjP2g zk8rKo=4Z6FZe}Izj@u;}l9b|mG4&f`quCelOh^B&1w+raQoBjrgKet>P5WDRpi&!% zlkMe7?Kq$=aZhO@b&v9b=VB2Y9QE^oT(;pUtq(KRq{>#VrCRpkQ(Es)j~Z{xHYdfs z19O9P>I5@ncqLKZRzTy*A7Ol_{xeq zU4?3vWvBIL-tR!cDe-xzkEC831LoT^S_ii487)_{_TQ$}t5xiQ!O4eJt-|M_Fh|b~ z!iQpnj8ZqRWXET`6M(oA>4|&pA=5AH`S+nh!kLhbu7vW^*IwO=RvB_lp86}WOdjjq z3jB}9)|KO=&z-GZk4=J)wy7S`ta6~$Hs(gf*PCw8LFI*G0Oa;ac2_LtgC`^##H zGZ~rZhoBYpf7AdfB>TPC?7^7K-Ht`3hQa-5znUF@r8bq{{UgA zbP5?NtDpyrnv?aofvio(#5z~^hKKhm0P*^#Fl z5}4tzHk??RIrAQR0`K@81il!puPHgKZIrlC!;bZAdKWV0t^qaq$FxmW|BT(r)kJIZ zPiT8v|1;K2$$R*e_Njk~tx)nV{7O6RUt+H+u|IsHeacyTQgo1+Px6H|%lIqB->XHy z_lgsnyFh{dVh4Z3snSft-zhpUNksdwTNG`k<+lp5t)1xK6c%s;(OCka(0C|tbM!Jc z0?{x8IOhgh9Ul`P$zHvo?PeVx8yUsUC{NM7nAF5!y`or@@`Q9*P1r0x$IWW zo!i=DY63>}1bXacAc zSX3;$PE7e0$E1UYwXlN*YSD^&+S!F=Cyir`V^Ye_l9Q>?WxsMpG5Fo4w05R7n4-Rl zSy&JrOfW|{QCMa*PURfY1N1SO&j!Y_!(a)YG6#{jfn($VKp%xame#M?PqtHE#USV* z$>UlYf+wtwt|ik^6j;o|%YI}pIfS{hkmtL)bqBzN%7pXGFmlTUc%DW|!tJ5Cq1XuI zP=A*5y_;vDEy|-vXef7xyp0*fp}fMPDy}7Dxx5ztcrj_YQ<-IxLL_=Z=OS>aQYOE_dET#CUWZK9NC@H;FQ-ydlru>;9reokgtHqv)ux9$b% z3Kb&>=wkX_0(mJS@W{tgT8ZKiq4X9{*4{-;y*eCa{ zn6db)^|qie`)LZq^IG<|`vK!pUD2CJ!-dXNg^YDgW5gD}c-&?##A6A45S z8}QhHmI3Rk$D)oC^+QElZU#j8#v5U9a~!O$nwPb-vcsg5lLo;*vr>+Eal)6G=M{DO zzvzF}AhIEGIi>6{?+z?sogt~h4!z&kgYB)CJFz5t8@ob5i1-d_^AAmv=6%WyZ*)-1 z&wB^@`+1AG@r{n)=hHU!pt`1Q>_xX0S19(Wml{%vk4VFN-^?3tbghXqlVK3`Apdd` zw~=Z#Pp-#T3pKh9MdrWHEsC;*4oP}V{^q96=ulz&-0uNf8!qd%dCj*Te{byQG>BIg z|1<%5dy!>hAi7iL6iO?+e(iml_l2X^-skgt6GLY}-HzMEC+i?;V{J0(T9{b36t@FJ zE^4PQu^xWTUQyKZN*?-_Owig><$GgAawO8#jH9 zvM!Fs>y!ytc9<`eBnAOn)dD8;18Mc=v05xLSmz@7dW|Kf>`T*`E2iQbYW`Z9^$8mX zJism1wS)}8Bdrq|sJ_RHpY?IuRvXcYE$Rv)Uh6hIo!BwKZlEF#O2`M)CSiTIeQ_>* zf!E{~3R8rGxMe3=Sn8+~Ov)HiEbISS9}jlh&%urD*b{GCxc0uXG?bvwwf8rp7}w1t z)v@-zvI3mt&&pR%=KhQC$GL7^fCuV#`r<8&(ntLaanJw7-J8cnS?%%TGs89v%M8rI z49KFQA|?!|2x!O%;;@LgX1D+%3aE$(N>+dYB@jw^^As&o_udvO^WM5*REjNTluLWj zO=&aHo6=@oOZ~k+=Q$6IqxbuL{a&x%U%%(2%=3KC=d90p&iS0rTFBR|I;5hZ@EcCf zxw)6u@39{Z?LAYm`oXf2yNZy!iO^z7k-mYZj(G<@*12C@X>-6F(>C0TB7xLMn-P7z zd?>Yz+wqNacfzUYvo#e?Gm>eM2#d#OYR6_}=bud%dPm=m!(LL`@G@nUrh0noGS#`D zl}#?`^>4{*IgH^{SqW#f4PRn_Fz2fVHzz*nKR|CK_MHN4o=8hWnD|J=x2bKI$rqsc zNRWIT!;iV_nMPaN5Gj_YF#ZJ&@eKV5j!8{^j=j-azLh)h{2G1~OObQN&pDiX*%{hZ z-vm%_4Tpd)T*mm*uz~czh|#dwX|%%Zt-9aTs5D#o=!If3u5~%3go@YSll;;4)ckX|;TmFo=_Av6MGqnp?DY z^?!sV6%IKKcw6jnlw0Aq9NhNWt`vsOeerZ3G z24Lvp8Nd+P>fgq$hCQn4KECwyf5FGCj;f-OrQN^(4mdwSgK7ytyMF%~31F+gnp_)+ z5z#hu0xT_U_=e-{V-MMzj?m{EW=}X|*QVhSUl^1ofi|n@t@PHVSNQwjC0P0wWBzg~ zU~urY4dk82-pY?L{8ec?YbR<3-&g%5<)-(u65#Mgd)Isn8GVK4o}mV+se$joXA3_it1zNtn}%D)_c_#CCz zZl~9d??YPLonL>WA9~bZg9_OrI(-!9s&_WS=vBv_xXW)c^F3J}9=H$y&KHs<|e&8D1`bL43UjvI4?^L?^~a2pgARD06+s zy%GrO=m%f$9|6NwL_&Wq$mE|61uUxMPm%8HA*s+OUrhIKh0yR;Hhhwg(QT%eOOlei zpxHUv41*0rYCcQsg&eT?_wnF({40D3)0V*Omg~`Tb5}E4S2{eve>BP^-b}tIADzgl z8WATspXvHXf^eD#N77)He?eYp$jY_rb6@zPSv%Fr+B@JH_5s(;0;`ggAK(9egl^iakQurSFot*XW79l-e!W`RH=T z8ko2)`!*J-#IWy)g@B^@8+fwm`2zBac00rx*>=502o9lzit>t*wM84`c-eU~DUM)X zVZoX;Qb6Gu%f>=a;Xiu!9pQiX*KI6VQ&mK|Q)KT6b5HiTB?UvM&phVC47TNOxb6gMtjMty;tSEMOhkZ_;abeD{>!w6dzTdCN;Gc|<=7 zdMIN4m2Al4Z9`Z>vI;1#Shu`j`I;gDT){*BQS?A|9D$F`tBT5sDhd!jaWIc$iORkz zTw|Js)=D7+V-zWKZ_SxMJ8xx05$^=h5lxW-Hv&hBVi-fW2v5l44AP5kkc14)r@;E+ zy#L-=;N)|!96g8ULn4w2ZnMNO`)rtC_P4)l$4nw_TWQe|_FWFEg#X&kT_hp)<_n0d z+8hkw$t5eviQk8jSH?!nlVd?E!C1MPgcj97Ah9cYG8p_5@hNtFhCVbGp&egbfPYsm znpo>9ne;ZtL43f6bhi=uR&=M@4uLJ{MeSamFVcERR>Nf`n*U(5_+8igV8?ORXV0b; z;;y$1cwD^E-Uhz{n)~o53DAF}5rjyC<&G@{3W+&#$^8yjxa;}>g>nf+Z|^ei(KH%z zuM@==D369bO1B7+er~{Qyo(>fU2V?`gqNTTSa3>{A#B*}mCi*g;k&0tOE}s@)#KlJ+0aJET^tpcc-1e(7txIX)H;s&GipD!ku7ipd`73WH(@N$%7J z$g&dnV&V3mT_Z3gk_)0n2&1^2W5#xfSokn?oq`Sk@sL&bcyjN&u{(vF&$)BEo#66d zya}0%c`iBFA?sSkbrB_r5eY^zCMJO?y*LAJ7$P3kEgH$FwmAZVCJkwv^)A39r)eDf zH?a&lSA5(FE?4}$Mw)x2ub>{TK(YBVbX9txU!iF37rO>3iR2afet2CcyVNJVB=^nm zrrt*LDYp&$K5855C2#79&!j-P;ag}t@VCbK!W4|5dq za5V~FXDBxX@`X}k_1q*?vhPk(-Qq!~n}eZk6hdx!R~~nbS5<~Mt6ynC+{~(K*c3m% zBuTYDhP6GfPSSiP6zlsCn&B6(I1P7?i#7#2+BTm5XQl;?H2O}sjwY6IzU zepl_ji7{!~ecqnQTPu{QTQym&87g~=9!Jnb`=RqzThmX;+I<%fU2(P5)_<+F7hcrv zGsH|sEMY_Jz5+M~Dyzji2@$d|R`H&{Y8#1xB|XwuZ#jJxSlY$`{FR_Ipc1rJ z+xW~Na@ZhP+xXESG7XSi#OH&!Gz>DdV-S}*D?@!SM^c-PrZyeh@*QtL!%RTZo8Ipa z!LQ(y)gD&iwDqPL)<=gGs(Wg6@nMw}4xEyP zhfwT(EB>ssHMv8;*|m{%+)OLO8h3-^=iz0{Oq+&MOde{vij38Et$79$-taE$2M zJd`v;xV1jFT^q`7tJCdK9%K<)bi<&lHDik|CXg6Zj-|+~wElNl+ZNpmDI$BT>!Uza z+}sUTiFUgSCQfVlG#*y#&=vP7<=)!ulL3Q4G9BJ;;=?6J`fBUE>n>fCQn{b~qh4oF z-pLNv>$Z~WQ+9(cK=(OHMNw2r6-rUFss>%6(vAJILHDKdd)C$nuNlv?ryF%U+@-PY z{QERLSc^ToqcssyV0sXa(Ech^SQVqzR4GPTV-oN)9+YatsLfS3;Xk~#Z?c84&r_E5PJ8>*gQ84nlTLpPAS$$bu_NWH!zHDAOxS!>#vy%;&9jNp1pRN{R2dpcC?rJ_8 zek40Uo$1BTK^<(}J-STgf7mPdQ9**$_R=i)NZP6!;hu$@)k=2L41Koh2rMCH=wsc@ zRGf;vG(#ULsX*c6Q_VF0DuSEkH2s5YVH9+qYu`0O73$oIK$iB|1Rdm22RDIyxEYqk z@N>ug2GNO#E$sKysm8jnoC%3>Y>&%2sBbnB9d%&rFn%79X+yL=M->{vHggZ0$HQ<6 zAy1vnIZ##I9D*n|A?*{){`5WbQ;ay{AnKPjTOGoV$?8r+N*>vaFgIl)v0D%)O%e{qL&_xE0%btkaI$BJUyFcu2+Nmz zcF^P=%DTKkutmAAhGrK+`y{?9uoQyIy+xENold0LV8>ylq^zVeYVyRG1a4`9yI6ML zqr*%rXUPN&d;DI!DCn-bw(4q!WRNf9WEk15R^2QkjvjnwDW<2-&f8Q`Qc0&278Wo+ z+6PJN$}3COm2JRbm_-LF6)<^wn(?Sx%IFIxtJ4w|Q` zKLsQ*WH=}jI+jG91tH514;f7$`$$uWMedp^N_rMSTd9QhUn+q=;Dxiod?;l#CoIRg zfP5WFXOt||%yaemmo6T-!Bj>0r4;;q;6x^MN5TFE;R?MW83XMWhlnag#{n zidDR*-ZtG-siG10>AKn37L><*PhPrD*QQ#o=4wq(+^_3at<|tLIL2UI`L}{thlUaB zv7jsMd8>V34a3Le3omwJCpu*|P<^hx?=6TAt5h`VfoLCYEF9`U@TAIt*D zXU~MrP>KyCUj!6qzgR+=Nf)DVK#D1q@KjbG$%zS6b17g6i~L}bnNxQW69QmO5_T~v zK{qKX&KNiZ^b70x$i0`Ca~j1b^H6?eA6e0Spz$klMSHIWIzf^t8WH*1No z8Nad$r+4>fppp@CH_RpC5HLcrW?1+qj1WSSCd0Vro{@g+m36CfB!cr6tpmY%hA%1# zMFb)Vkjo9mls6?ilbos!?apj{5`I|QQwhSCMexTNBgj0a!Y@hnBiuF}cTG}_(m7L@ zkvoQ4*z7Kw2Rr?6Y&<)8zZQDl`7!Y<4mohc3G`eb_YyUwBsG zci;zt?2NZVA_ER87YI?n&{S;ClDA}8yqAp?f}D-NO-?T=`Thtpb=wOl25}>lRi)$) zBj$&!*2?f`zFVCO5wye9+OeDNNIC2pO+GV}#0FGX-V70!V3o=|x|(9`zSQvOhVI*r z&uaXk^1~E7Mqf?Y>Kc9SZHWmiDy^9Yd5RfA-uiDm8b7Em&^A1bMo@syFQ_qfvz2vR z9&j#GG$3T^yiJYNfUEttgQQv6M(rfo^wpQi@QxkIoEKJ`3>m<_fYwaqejenAp!gwg zgstgK9#iubyrb4~k|4_Or=f$YYy7ryv3BcPq}pC179zbG90Y6#o(Tv20Na~tAV0D)^|6gA{`}@+icSi&LBWgzCi`f;;~zmAbNxs~|}&s{ap) zp2CZEDEYQ8C9&Y*r6|L;#J1G747wW%TWe))_+^J?H)f)8Tm74e1I*hCp+X&MPz+VT z<&ScMZ<{XOWaKLH7go?*Cb`R;0QU=&l~lA3G~>^8 zRBL}3$0Ex2+-Ee9a7>=gKlP@g_}ZI3o=0cO#*0;H^_Q+zsVP42aGC{9O_Iw6mEBik z3979_d5Y?{ntrAa+ZA32x>8$HJou6!)(G37-(6-E_R%uoEelyvNm_#M0V{^K;XF!6 zg_2Cu+Z;zs(?c=cGaBEiS&WaDW78M>gLdmbfUIrYfxrA4VunTfp!gYB1jJ_t0UFA} z_sWZ*qc9H^>hKLyJB0j!z2CGT&;?V4ywX}c`Al#8qG~>Sa*;l~R{9vFgTUY?C|(IK z9TKZNyg*rCb=|k9MWTc3ALFaW_{P)tx)%w9qXvRiAD0LD zunkfeq%^(XgxJkjxWC)}*B~3=U2qJhd-7EL!;`3`d{{Qz^p7Q^}D`zwE^*32y z;zEXSU7%5~{T|u+&tmmU`D>zA!__0s$6UoC**_KU&tbZ>;j5%6(~_pcYU&SVH~1q? zZ~BE#J?u08=PHIdRdEn39|hI&4&p1Y$9I=mSa$eW9s9&L)3=tC>E_wD{6|fEA?TDr zMeVn&)>p&3k%zW>NSCw1BUad3Tt`K4P(%3dSQ}!xd0VEXw4*f=(+c~7z4f{9I;2VUg2b5G<%&mn$B^rmpDEl(?NDTtu4Le1 zv5=D;mU+l@r;>IC*De|RQ~jl6?aUKR19lg5t^SgFL(Rq4UA2uf(2B+nDh=9wRf^=T zR?2kob(OYp7U0UCpvW?H3d+#lbu-omNEW?GvUsZ$u7+CCD>a+8ndhh_SSKU6xHSel z4&t1g#4f>6&}EzUFK_nKnNHeS?JX~b*Wn53boM4|(G}Nk=tVw@1Wm*5Ef$4vR?|cnZx1#A2ZD-b`D=U$Bg(p77P8Y$D zXV4KCwBNO}ZVh#fulJbGP8Q4?=9`af#grEpn5uQk)x*Z9HcFc1g8_JFdQ|{o^9`FJ zYoDijsV=jEKX1|dRwLtkJi9{iF&r0cMugrRw;&Hy&PFaFWfwm34pL^aE!)MG&q#_ly2e;0b?K(b2(QgmCo{%-{;t!(?}s}U;G)y=II+VM5ud!+Cn z!f9UchXcPjh$jrbib63A<4M;l`hz&b_Y&viZkOxxz!47R(E%+-_%K=_B zhq1P={7vk@3+{ey-L5Vh5tn4FzlG%tLkLc=Iy^`;T+N!hJavKO>Vz%}{;P=bAf7S) zZPQ&K0v-dChw@>Fws!YQ7)YJH9r71RTi?$J#>I;`f(1VBWo6mb5DQ1nU5@x8V1e9v z9K{hILqXpvu8&2rpW>eLH$*@9zyo$#!1IN$Nyh(Kz?0Ru!L@?T&It+4^+s`2%w7TJ zBZ=ft0S^-#5_z9|pBNE;rFT?;l|{as10i=8gwE~%L3ohf zb$Y*`sPck}$|x%sByLR?7ZynZG8;JK~WhwXTJx9?8hq!0+3lO``mmXfmaf)$E+ zcH5+w*t~SGVdVP-<#75@BtNBO^oCc7mtEr8T)9KxD}8E`Ecz8)<>uaQ7PGfsq-7hT@~} zpsl^bz;ltr!xnHRxXdw^g4B`Jj%}U?9t!8C9D9lEb-Czv0q)KZKp3P68i^{`z>H}1 zdYB;b)GJ-NB1Z-VI^lVHUIjOY-vv@wlS?E)-rT!fz!IlHA0coGjCM<>!5XAx8?2al zgGx#4+p{XwN9iJkqYeBtTWYIn8rU&#EGvaSA!OBUuB=1j1=b09GvRWuJve^D8!t-? z#lY}h?=%I$u;~JPH}v|00V9QIp?D^|<$)BZgpWz$n{!1yo^a+&g3r=ZXbNvsS2cJ^ zgipc4Daa}FdIB6Lp4K}YW6n#sEh(yI-I$-E7l zoAGi=KaYk0mg4Agrz*Q&z*szdAp!5%-73GUpCFz+NwU$i-=IBb>22&Ldo#+W`T??3 zk{WJBxDbkqvRN(ish;(eg1Elp$+~xe71Y}g>3!n9VR&zr*)TwR9bN#xSOc>=&c6z5 zT7s5R6qU2h)MmQlJ~sGW&yTCYipwGyN(roIw8$w!cp4}W>Dz!$63eDe42c(!Z zhCDhnHxO^%j&hsH)yfxBTu?t5#g*Fp40a6JUD z6m9VD*OkBnib5`%v#Y?w@=mxyZcff1dMM6l8y1|A>ytF)f`R)Pyul;7C_Cw@15fF< znb#Sy)xlM58hlS|e?Wgj*M)sw=0iX^V(tVLIBMlKbmc&^z8aAYXp@l6PdjmU9jS5d z1S@IL=Xs2)`!*!~)p7 z%IY@_EujsEwr{#tvpltbDAO25N?sj0I28V0*|ZAvWWP2%@@-ClQ`zw+l0tc005JQ* z%zoVh!HNxtu4;CCmO7LLQpB#@8Q4mjk3&SASRH8gC;1TH>jWyg(RWdc*rwBBu{~u4 zSqFVm=)`9GJk##U4uvTlMDzc8K);X}^CNfa?JVjeEaP|W)Whz@Ecut{$%YaRw}m?k zJ6_4HLf5DGpaM&(g;`xv9&8~$*#L)}wFlB+^7$UV+iewC`}r5V`$byL>055Uh&7BC z)jS2Z!F(6EbP%gq_QI+7v?)3lUoA^X(Z}~T`c%sy1wpJ%EaF|@$MY}u{Jq#C`1;gE zdPMYHE6=gem)%E7QIC2bL)l!nC*)J`&3TDDAS&M*E>YQ%>j?^yO64ebvhCz1K9}O6 zCS}Zrh6=gjmo$U8I?T8=B2V*g&{hkah6aMcC7QGnNZG#>=il%Ma{Ow~rh) zjg@@}=CSWzp;B|bF(af_l)AANRXZ(1`MRB>!;)C`_i+B>e{@MaE8CX}U)hVwkA#nC3fW-?D+%wA87?5wvY?XP3+Z!`suK= zefS2Y+|R*K;Tf3X{|%c=d1WI~?g=qSDdXzDQOIV|I9 zv{(VS^B5_rR|WRzQobsD1pyqb3aT6zp~q#_i=3O|pu0zSbua zr4aQ)L5H(@k>z{{JoIpJ&oUi+moGb_Pi9H~SdJM zVhg+ac&P`A%2=ajyE9|0s$@_CTK^<=;NuK6R0Q^p3x>C+53pZzbIFinpd-0)??EV_ z8U`gf*NAdfdz(A^-qZK^F(BP=m#&L&2~fpNWPZMGu`Jqq1Kf#0;KRCI{9V~ir}S^v zK7z9pG}L9L%DEkgjWo#UuS~T!eo@I}Kz{*o6xyzpSCnJspnwB(NE`aD`t3j!Tm?Bh z7+QPfdgNcWhwLYJ_UR`<*#2Ihek9hHfj<3B$~YGMl|I~$>zIQhG?lCqtXWNOu(@C9 z$Bih#+~xeA2%KbLi~wtpKjvy1?gSWjM(sV1v0Y#3hlSd){mX2N{wa9iAH6KHitOzD zN}r|7=mU@6w*OXqm0j!5i=nPK@_qYPBD>6VSpyykouSFfZE&=-4JoYd8-0*+4144o zeX!XR8T!*O4v20BuFq8B`dGD%3)%bM=uOHm*cl)tz6QC8Y-|q(P$L;ZlEDWIC1JbC zn@fBlis*YS& z52h=JGCQQpk~nR{R~RvFhss|IbqowE7{JH{G{(*n{SYi>+-%6JAojyeQDqHuRK1}&AYx_<=BD5MgxM_?-wxJg0viHB!2iHyo zQfkxX{!4fleEe*h9j^V=)a0T4&t2Q-~-!RI4j~@w{8D7sJTCyT|KQIZaW4{ z8r?zNzlIvT9*RpRP3L|k@^brL(QHx->i4HtM9jSYCRX~rKGc0LTG3y^wtue=qJ3)) zOWFY)*8ugPDZ;-0GpXyZLz`&hkS}CCvBN!%dt^gc9dLR|UFHpAWkJ3MDHv_w39tsb zY@nBVtFXv6!<`Uo@ACrrbRINaPdw<%o;;xJHd1QZaM%dEyA1wyWG`!M^K|6R?S}@; zvM4C-lky8|k4%T&%+3XPG*gbdKt3J#4~W=L|D$hpDX*$zb>`6{*sdS+&$3zP^#QbL zoqB(GC_CK+F+V3@yZXbz*%eomc;FX!J>(H%dtU;zm2qVS^d3B*`pvhm$YuFZJ~zX4 zj3yhTEZ?*=*`%ZVN)@~`x)+01e1WufX%EY7z&?dN47#$9WWnQo3;eGoc4Ugw^B>KJ zPp+2vh$!+t6b&v?WZA$4@G`V#BbXeVEUh^KqL%Jl?tq-Fdqc3BgckJ*ypq@A`lIuJfz&+YbszKl8%YX1~efLF$Ke)(y?>pL`nSIa$bhTH@zfRnwT*f}h> z1C8Qi+uQ;27+e83qnWFP-ZUr=m5-a`74%Z8U7RBVT>B5;+4!rb>m#&H-;Y-0*U$36Ny+o zrFZ+|uFnr~iQgXK!QxU}bS#%V*0tl^ss41ANRr)Sm!b*v(7^#eX7MDb*xaX<9M~zN zx!XDwv^w(dwt{i-2K0fbOYpUdIkWkuYRaSg)!(Fg51xJO)k3H!b4y~~V;Tj`hup*2vJ{si^a&5~8R~=@*ItRwpuFXV&g8Cxa%$!lcqS@vlc*V0ndD9GdT(?R zmqESrU858fL4`habbBYU8u*=44S;}C8{^o49=JZeTb&ip4lJo~pzABjZ%E1zH=*;? zANrsG(p}lKuHuHeD+rem!0OlNCa|*UiE7rh69=$kn^XKc>-B~yAen;DI#Vh6)r0y>WkGo&gdPFmo0(5n2S+e~LEdU2iEA%?9=mi^LlHT$5pI=<5sW=K{_ z{)84~r8qAg{$w}~Dw{W=Ys*GJ4QC?wLunB%T;ZlVVM5Gc=NyhK)HRjW%D$Sv zK9+_0dO(@yB{!%PjW7h&LPJAV#i+amr;~HWm2FikooxFm$CIW5-z%VR!M9kL)N;F4 zm~Skp`o37gL8D65z0Ndbpui`4<*E%CL4}ILWNa zd6Qtbi^>kfqE#|Auyr|h->OVbYh1gvH{J^Js6SaO`kS>XxsArRphB0 z#$rYr0%GcLuXz6t=*hqgpDP5#ywh|tz3ETU>?-KF!<3RgojU+pmaSisXMot0JbP4r z+?w*J?X@!~9a2u$b7Md?pXK@nG6_=oqD&betd46<7%9_K?uvPb*F^M4;3 zK*E;d;NK~g-5X&DQ9Y|--6QoQ+3^U&H07^MJJv8t3g+3Dk>bj-#~LOmbJt~FTIxmqGmZldbcYJz>~LvR^pyfxdf$| zSW=g`xP`Z60(fkZ7vT{cLJX{oK?5_uR{S#(A0K;8elIqLra^?Ou&BCVj&WD4eYx!H7Uj!AqtlI#I0n3ip zLGpYxy$#JT9m}cpc9Qpm+2uR10BV0xYR%|HPJicIKb*$JN5#u>n!fBlur@XpBjhFG}t{MUj=b~rjk*STkbVU3cR?f@gO*_H|q z*|!+5VE4P<%H3JBnni|qmc-_%J#+40*A0oNo4`BB3q zGf!`J70F6q{b?B4nRo{lGKVqL)EIDb3FFvY_D^?W7!OgMaf7sY^TlRO6pG>qkKbDhk}MyywR9vK|YU8Ua9p7EhloxRubiXH*CH?Cjp zIKBkkYLFX{{%LIb6N9=}SC13x(0R@SxxClmW+I<;l)JL! zzQ%A?^LNARe3;o?Pa4+Hp$Dg-b69zrZ6K0Eo-(934A;(0&`jQ@jB%WDr#5Ze#X7Sm z!l(N;i`1;FVhT+(K0+Me{;rWG+VLI9W+mw9_fn=Yt&5)r+gZ3QjBT@dnpFe%K6lOw zaqus8{v(70yLJ%dE)M!CcIYBeW#HK5-=an*!{JxY_f4xepHM!}8rEw&AL}xlS4y2c z_Nw9Eqsih@o=W@F(u<&}Tly{p8eOk}1IR}OYnC?~alo*_VN^yR#D{p` zlMJtJRrEolyUK)0okP~Fta>we2N=yOMy4aT6Z(;Ee}UAQJ}bJIP{(PW?pyvTt-~Q=dvh~V{p42x)YyE z`&CRIzTn`FdVC>GZGPZk;~4rV_Tr-u+3NU5;a3+Ym9mv;!sW?MJ+F>dsS}uPk2*;e zHq~iCVY6M0H{^mnp9tPp<>5>SeD*_IAu;af4jbyPq!HKO@8H3nwK1S`1 z=U*^;%$hNaO!GNwcmxoo`o-Tir{^4Z=67y*D-gSsjsso5H`=aGK}l?*$4JXauvvU` z-Vd}xIYRRnwYM8hWFI#B(Bc3F6{9eA@-^>7R({0j!J<>tZY=tn^>;}d$LJ3rJR0Jc z*W9{Jt*Tb=FbHhnHY2vNYh7BBF#CoHr{6J}m2I%H4Umf4b`YM4(*Cv)EbQt`IE&ml zFN~#Wqb)3@GIk7$M1%uYmN*T2>ckac?8^2y^8-n66My2B$Pqj$0@J)28NnzJ0-IhH z8^Hq~uw%6IpZ4{L_iGa?=!4?dm#sVD8m)?e>DD%55zJi8us1!8&-vN*=Mv_YD`4K`Y47<#!EV}uZ?esM!``7`b(*s@EEZSZ@j9v9L>Vs!odty;6LHe5<3)+1g zZ|Yl4rBmSt*PK{W}08gaJy$l?@LlHn$M?5(v4Yz?$P{n%=`>#c^hL0(?N6_ge>Df`>>7b5Z10&U z%5DD}YUTP<

    X31a)FbewCkps&Gjoz83Op&%IiZrO-(!L!x;3lz>JFT@)xU5fpE zbSC=sUV6q%8oK{<`R;HM#2~zMZ9T?V2^?Z%CKdR{B|3ahuNsw(I*c53X92%!^9~VdUAl zHrS{P^|04pQfM0vv)iT`vy{)U!&8k3%BwqXHpck00{5JkU~+UO-fWzxV$)}>x`}m7 zGya!N@R$?glj7rko7QcU)qP~VOA$MnY}~_cdNwDLrOnjqI#1e+u__jSug5Z$n27D` zu~g&VBzoeLRAU5-s|h!g`-HkFvqvkZve0GNO0O=d@bK*BZG=A;cCgkxfYn^Uk?w_@ zOsD`u($rNQ=lOfMgyAffRUx?fz-=j`S?C<2yJ6*EcvhLDnmCD-KkpXM89meZt_LCA zhz9S@U1#YWKide>78vlNbc@mT1|A@Il-H$G7NmC`8{v|y>^!^BSnSGk7}u6;D0Dh0 z$~D(7Hr~!_c4J{hH!c^|v*73jS)F$l8lQJ#r`Ft?F3QJI>uOG*RW3fhjQur;ym~WD+y0cen z(h4&7eEXW=>~=rXWVXk+*72CbPu4&AnFNiCJEC!quUuqSP9v`&qe13wZ^uG^YHPHI zY5?Iwx4FWeJk(9?DHAN7Z2NthXjXI2Cg{^V5G;BAR+-U-YmUx=g=_N)))rM3%R?mh z9dC#eyQ^M`oWLG4;arlK0#4OV1Hw(UCnGrYY%`8crwpbbRSnjpM^^{3oFiFr&VLXM zb`+atG8MAswrp?2vWkAxXXM~cm(L>a!Qu0#<|H#qi%kp@2|>O~*kLy}c=QVPH2aY* zj-MQ_1NUaO$!wafPMKv($%E%BcHV3A|gok-MDME;WZ_Fhr{Z|qAV<_{P9WW zSI(=y;$0cFAAItwum-DiT?*R@d&^9+u7P92mhy-pc5>xR7%|4YbIvuZWu`jjgCP;~ zQV@^aEKV3@+F^|r1pC+kd*KH>3w(;4`(TLSY>(+iHABxtpGEXjM}=Mog(f}#`U31{ ziPMZ<7>yW#!KuCdNK&8(7E+TKsF94G>@C$1Y&hK2#yXTt9w9-D{vpwbO)2C=wbJ+P z6e8mkyp+XnfPQ6LhQp`YESE7JMhRuKKtZ5m48Ys$h0iyd*oq(4``0=*l@q*V4@*9D zB$vzSO>f3@!`E}=D0|BW_-&LOK~|1LOApk5W|F(bTL2nbN4706%S$D_kMGH%kT;lH zH4dfLq0JNEDHARzpTg~empSbZJ1)udiM?sy=O?x7P~GQ>hIc9#)y1!_90!l%FMF^p z$@%))s`aS#0CaK`l8Y2j)pga%qN?L{)vDX7-l?m0QB=L*jM4yfYVN0E0AWQ*FV|vk zxiccGWd@%GJV~Ab6e1diTvA{7tXld;VM%#$k-9=rTvUyvwzK!Osq>YrEYjDzmKV=` zcPzmnHpOc_{?7I)gw2WMq!8o5FG1TN1fmGkjNdVo!t)k!{BS&05)4-i{o$4^uzb0j zB0(?pHRGsE)-1!2^a!OZ6om@PM1|C=mZ55!R|*iU0KH0ZT;wo-N?ot*`&^_)^M2yibFfnyyiPRNe&z-BoSQ)=}!i^ zG*P8#4wFgHV)~iowFW2s!*(R>9A~|YFOAX=0-ZP|WI)qKd2z|Dh`>F;I|zu24;y}o z|3UB*1jNOM48Jq*pWr&t7Cu6N%@^=w0p}y5P>jPMii$;oTyd3vcL;cif|Vz@hWOnr z;E31AuY>Ghpl-JEA-3gkS%4DSRcA*H9e#nL0d+!^r)JBl5cP+Z-R)6cvPTa{!@v%~M70n9YzW?vQ<5~*XiK7?SPyVt_+ zMGO5oT%hzb@b>U_(}GVuicv_RfO<%<#LpFbUPUa>(Ig_-JPv9lT!W+eYsjyBx0U1g z_XJ6FD0W`rVW=1IyRLsg3_~&-)eB(zZ-g7;T;8GkeJ>tp=SN?&M8|hG}MnPtV zFhQ*M+ai?k9*#Y|w?cZwwKM|z-@`M z=%mLu6h0pkri*jdMzB3S;OnF{K-VJeWrRqbc6&?!JGp5%a-0S=5%mmCRm(hAsM� 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

    YrGR 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 z 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ⅆSQ*fl=gcL?afMLDv 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 z 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

    v$jg2D&u@eIKqu^n3e<(61oQTe5xYC>&EhptQfC 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

    ycij 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

    K`sY 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

    (4(wf8}bwCGCrQFG&#PQ~Qb)%U5VH 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 Verw2=5sCaJKT;;+9(`@FV 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%0AkOk=*kFAo77oV3+5U-9>T?L+hVt)B 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Ⱥ(fvws7tlJ)Ue*6)C|7?eZ? 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%0D4P1+vRR%zWVz6ZP;1xNh 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 x`$8q@N+%< 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%0DOX&^ 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%0A@1NhPn|25-B3HJW=bn{qb4krd=VN*?3Him zhu31TRF$j?T&Jwly`f^V)M&KC?gH0;>*N*_L0pRt$A$Gc93F$^3HzmNFyg_|4nzNi z?DTAVFdZ1}doFc)FVuPxYak;y#kf71=McLtln?UkuJNHVe*s z0$nA3ce#+i_jui#1>oZ2yCm&5^qoB%XKw}uZifHZS%Ik^UFO;%6Lmf5puTb2@QX)R zt~u^Kprb+uY7T{t3r9ie!v{$g=g8(*>SnOr)D2LlV?ud1arP0NjzJy5{H8=&vb4C= zRO%A=q)$s+>90kc^!J)?0t8|#3RkLyE(-8jSltl*vS>D>6j-;5vW`v}4*&TyP= z##Z2@-$DX79rp(jCce|5GWG~RCODFubK{QCZv04(f6lpaMrc2NR;QxUC%ga2IuhDj zh8V#^(UCa8)vt6_ImzKVss;Yk{os>wX%3bvf~*30>J6Z;FmVl1$0QDaX97Mq0biJa zcO~Go%^g>6l1{}J6X^dT0jC{>IQ|bM;IthT82&d{%HXhoBto&(uL?Q?6QQV!hMll|fMiCy5N0H$E9UZLK;*`AbX$2RWc!Y=E zExMC%N8G6>Do5bSUlK59)&5jnKcg^vwmZJ(88zFnsC~ieB`J-yuUfToRiP9fO&6M7 zIK}l>#Ovh3;Icruq{?JY4{*K5Ofxvw3YDSiGc@-v_6$=uT*U2}B-cke;%WSp57#?7 z*5_3G6#p?nxDbEZ!;a55gq5Bz5YdJ7ZxNj3T6*dR(b41Cpz?XM;G}1tD9&%A&=Ie~ zPx0x75AWlOXAN%KMO`8~@)?hx(zhA>41?cba6Y~&{WS>Fk&iu#zT2T5AB(Wk>k7{9 zAj_RXr|ZAsdLOBlbj7zwye_~cT4GzhPZH(@^qms#2=EGtcL#Wl#McLSTH+f6+%*nZ zzrlI8(ECW54T7U*?;>e}aO@lDau=WM{ugkqXEwmo62CgYwf;8+c&Ehg2=G3Me~pusF7-@+vLkkJ znPjXKpVuz&K*W>U5tJ+Bj#k6;&&7{C4>v#eqbxs^U26H^^Po(Vs2-Vw{JW(7Azy93 z^0`#_r=k!C7 zeNLS0g`tNa`|LK8HsflN!Ct)Fzs-LLvd=@dDGoVTHvioL7D*Wx-kL13DPDgWK7UOU z8joL=-LSF@A~={S_}7B$ZTkIPr!b#+=evizn)tde@aFupp5=Y+JKX>S|%dVxJ9rL?7iba>`++r7AE8!X)Ubo?rrF$slDocV! zoxPnXfLn4VU`T7^fko6S&c9931laWE}NZBZtTD@nfER6RW z-PcwzgM0t5AOqEVywme3l7W6mMW9ZfI4c*#M&WVm@R^i>!jks_F9Le4}3Z|7vTRLe#Cdfr*q@#gW#{N5dhw|@FP9{=ybdvMA+3|a5v__9u>Sr za5vt-ej@l5!QJ=*qf3@?+NVKJ>*-4;!1FG-bai>r;ic{Rz0jBDV0~m`aAmI z;UpPnbprkQ2{`*Jj{o}-@Z||Ojs3*&`Dg&k-O^W7<nQ%01mQy5?Rf>a zvd=Q97t7@usC@MO*ASm7^yEL*&|jIrXGH@2Hx0dQFW<+cBmZ&uX?=cZaQ30%YHOMF zRR$l)io?<4Jz44PcONZ(m6ejuctd{!!gR!WZ&N-y3BnP#GS1hUdZv-4^m<=oGV7EU zI@XO&alKzudpN>f09aj!OFSFkyCps^z@t>57G z?llnLdf&-Nf6%k^X`yGI@u!YYUv!FV{k0zyPdloDKDpxBu0Bauyhq|c4)EO)|4o4F zxY+B6ywcL1(AKYxuYdo#P=D>WmrL*S)ne0E&myE-OYW&$^LUMAltBC~vh|_aEINwN z*yUx6z*TzBeN&lu`1}~kT7_JPQ=^G8&!Of|l6h+WaEB$+CaOmUH6a$tHdW7%{H@dW zDAwCe2kiwOPvV3^Hi_m9Phaxb}xKOSYd=QuAy3$v!L_ zP)cQ%n`L5B1j@6%FhA!udJ$hAuAS{0tcmTFt-w(~bei*nMAou1Ci>hkg*V;V&KXaYg-aD$u1oj$F z8DEXW@^$}!|1g2dG9&YqYnczy!55e}-Q0UoP3=S34Rfn1@8RTt;kN^Gs!{ekVMVyC z{<7x$&s~}LMq)L}b(L@>zxPUtlZB#n2wS&hdvd5}pQBM5n|w*ENY{`yGXEN2 z!A53n|DFqw&t-Eq<*tBvLD&_{zlfg8e~+JA%s(-wIe$Mzhct&+##T6TF`x%oEX0J( z`2z=_ok@s@6nlfag8)Nw8&7?){-w|h4L@{q zp+3JI_8iy!080|69JFSCru=qp;p=-|I*$e(X(8BcAyv9v-mr^Ty61rGw_l9xyu@I; z`Jy%bCp45d?W_OJOEB&H?6C6nmof3`sd>0z-l~0jZ*=ppk>*(+0fv%_O%JocA0#E*jfDC&+lO(=`D_i-e}D4{5@xNvWS&eu z?r5Jat6%fd{_?easB6eSU%zzwbI(5e?6w1lW*_@`^VpwfAA6>u{2R}_V+>sRt&6Z2 z-174tq~<<@IBoSKIfAbgnkiO=D zYQHEt>z``FcFi&v+GdB9q3-$nU|iL*a$Jz`*Zt++=-+!+p}Z^>NEn8GpxTe*RnimJ z)b`h3?d^-Yr`CdvRvBu{p$Zsz-t%!7Z05S>h6+5I^1IxGa2Hr}FV2$c-!q4Wq+J!T z`W9E87gnJ*unBwxa$Me&f63i=uy$tizm_^-1uPs^ae(gR7_9qI`P#1{&~!J)g|4yo zK+|0u4Z6Lr^Vf3|2EBRu@5|S&0c~@Be^dEazuP>0_XplK3r1&OA9Yp1Uh9XO;y~D) zopIp8@^8$22blaeE7#BT{Uukxj@o|d^PAVA$G!h6-ZL>=J{4A$b8`mX`QQAq@k=<^a)!b8GxiH8++(C&C1>HLKH47xx;Qwhby-xs z@Tq2LWdjzVy|j^5T`uZxBqpdWTxm_8RR#+fm9Z5$pQO$?8Y z6b80}Z&S#el>4BJ*WUkY2FvY#j&Xf&LU$ffec5MlgTC+4)xK)!{ACbw!v1X`3}wsZ z%U76FaYc4rd{@nh&O>n7>U1^Y-Q$;apXI?5Ay46kJT<;% zV)yy(e+pg~QUQ$ba#eEw3f6f#S1-7>{RUVHTDiP+D_4hyc@b~`h5ohb+mr|z+`mWD$0xNy)?4`Os zzr^=VX86}p@{E!yHH><%D+ks|tr1oBeKXq%=j3+>9n;}`NqtXVDtkFnUK#LuO6v7_ zgxT)fIoCFDuHD9Yd@Jq5t~nkbnI68P)a)v(!;(j}2nY_B2aAq#9ExLkhRibK&T?N5 z+?}^w@Per}W=Spijl^V+)(f z(#>Mw1*qxMYo`se@3e$9b(S#Lz*<7s9W7E$n8c{VoLSLnj5^Ds(;2F*asS=RS5p|A z>f$a_t;V1vuv5&bb0H{#w%N!F1hGZ z_x9DL7rwi7#nMF+xmou#o!r1faiK=y#d(}Ihke;=-jtf@tu2>bNUqfGuyJznY8^#z zU`LdC6DV`}lI1zap)kNUWspqx+Q-UOIXj4}@EP&eW%C!bFKb`ax?t&&6|0x0F1(}_ z9%8w!)PfbQ4*Tn{OK%tn`Hthqemgd@- z<$Ao>wyN;JvvlI3R^QKH>3d~P)5S=K`P)KTai5d2&?$yT}D6Oy^)7Z)&(;#&*+5L4t$9wL4Y%Id6>+rn<{AUIqXXu|d_~{1c{g)2Q zpF7{Zz{Rj99p(eXxz1_1`koz*WQue_^jV2G?=4DC-84GlXW*y!6$U@k;5Qk(+Tfot z_*n-3mcebi`UTf^>9g#^2Dk0{zTs14_&;TE+pgyf&Z874+E6`PNAn~`{8d5AKMS^t8buXxwao@ zTbz#g1pJi0zAqH=x8E_h{ct<(YjmXNo>lpL+u$b~ykBsZ%RRKxKWuQGdn^7!gL7}K z_-@1hbq4>vp`U8-(JT-yESCqIbgcg=_$mLl8Jy2tioe6~nP%`W8G5U;^^Xbk_ZoVu zTedxc{{Ic1%cOu@tYf7H-(Em8VA66p6DdRzY&66l>`2l%p{wtvcG zUmMmZEja0U5~%e#+u*jnwFbAkbQdJ>Z!`3^{_P3$C(8bq^|b5Zn+(opSFPuGgTLM2 za}CaWk;{G-7w{c#ENB#pdu9C!ZI-6R3URZjDGfU7(vE%z^_*XPB_0j|%B*#Ot)#j68c zpBMK9xIVYFNTs!0eQx_)h|72ngt+wYxn|uai9RPCnQk8*NxZSf30=8WwG;3_@@li) z_20jP?zsA$v@j?i~egq^{I=;uuQv%PIV!#ju0OR`~M2S z%wH4Gox~1@1|%-6 z;&e}Pv-hI^VSei3)rmDkp6ErocnP)>r%s+MntMan#p~ooP+Z3OUKcOh>t^>JLSE-$ z@VNgzJ9P2n=$P;4uK69mLyuOi`5nGGKN|slm;F(2Y^;5;_D9g2h|Ya^O#HwA3&Vly zEPjRgM+`&r!qKZfP&WVXqM(7pt4*gsX5Z&(DP+7x!WZlVDj$@ z99)4+{wpLyi!UZ+EvpeJ@EDe#a@sBLFMlg3NCORxKV!%-ZG!dzj=4|O1~%bq$0%ss zD5xBi>dY-AgJL^_GXPngIVf;YU!$O`A-Xu|NhufIx#ufT#ql~Q1$<98%H;R2sV3+K zh%aSR!NvDC+kZPNfRp(Rolp*ZuKt#nDDuml;|TJNDQF6wv%PTy*O#rFq)qtT?)Kvt z)e7BTAiens&sWSSeu%7X+o;!A53r!usGW3GttzA3U#uJ1b#NZgjqId4hmHqdJ^#&R zoQ1A7=q3FCFoxx9w6&R^mfr5GiYDvqLnlK40o^RR2SsgRH-#o4*_=(q%`rSC9Mk%6 z+8$DU8nWq@)eDv_U3lJ1n4@G2k}iBPDT>ZtHGg?~4!Q_X7&srA1&h)Uyg{*m%MYbu zq=nG$dW#G;PK^raDaE#j-?kk92-QsRXkaIPR| zV>$#|#mOdr=PG;!YgKzI>DXLOt|DCrCxu+paabx0L$c*4w_hjg(0jAR8eEME@2F=H zpC=gKTlDAUh3|_7Ituun=5e!=&hVR&{Z8Ta3;MwsG>+15rM|iYW2e9k0ZhH7gQ# zM$CIY&y?Fp0LSNEx-@?7eP~ADPV=7ohLSzA*1Zd#6YbfwY?)oIfA3;+BcbY$w?1;~ZwyZ<9o?E$`6@X-N&t&7Ws z%%pV+y}Pv}fNmW?IO#i@NoT<~B=BFCfd54TPFZ(cJ^v*E|Mvv^ z=LtBU+2i=X1f2b_6F!|=!{EOO8~r%?vlH-X33y`yemQWK+Yg`4ty}O{B+%cIfPW$Z zr>vX&RhFUr?OCe39~MqF>!wYt!6yp&CUR@*gjz)FilUS7!9 z)183215bAhD#xXTJE}d;!(Efdh4HUWGp#Sv{f%j z#5Mxwjkwb{WO=TLGtVfrr0CqSP*I-Ixoq~((DMn-EhC=XtDsjR*4&&hK9uv|LcyiG zmijrD)V9u176tqxPvMkx4;d#Qjv+@5;_^HfM?~fsVx+iz?TTB0b!AHO!Yxwy4ftMGI zGx#SAJ$Y)mpA#IH9o{@E;F|>}|0;vuD>&&XK2Sc}1t`lkgC>GvCY zd**~C!MTwBWWmY*Wc-x>n-b{tJ$}-&&z1h|hW-qLQ}>9D<(`S3($6<|wZS_CCx42! z{JsDWkp{PCQM?b)k^fovDgWCH&N-p@KN>z1St$OX!R^_=e;PjL8v5f|K{%Fs9)8NF z*5DHi{tkoN_BIGkkL|qxKRPQ@w(aHjnd!pzb{O2Yx6|NnLq4r1?<;iVW9y^u7c<$` z=MJH#XY2D>!^igjR}60J^REWC^Wh1DQ(mg|R9QLeInm%R82U*De~l~5~Vot#T&K=L{~5IzMziaPAWiib=hJ6C%dR@*1UZjU~^+&ChF$Jb6u7r{(7?h_IHg zenzk`f1lJpe4f?zYyPCOmYtHnD=1&*yTVClEikOOtoe2R#Ffn~JCFAn_e($W ztc7{P{I3BP&K>65!9^eLzMx@Y`?+U|%fC<5(wnT5ui9 zM!_?JyYWPr_kQx(Ex3-&BEk0w?#2h<>jm$T0=2K#3EpS>Tk^)eH^-znS+~b|M=f=6 zX9u4J8Ru5$z6u}?zbgTMC;@*u0q0zc<6o74Q&tg2e+lq0(N{GJ-;};i@HUiB*W$g@ zCk5}9xZ=gKR)0E(6G+Olcu+_w8?0y+;*@(80X&b4sQLcDqWQV`1q8bGMUgO>;z&c_ zrIX|kFKsOn_&KQ@kzz%EEB{2z4p-`mtRg)vel;PIHx{ISkx(`2h+KO&ENn)vxjT_` zZt2PuU8b#gBVuq0_GT;v#*oi0bbS6j89#k?)peKGJGX&~w;@bN+{%(V9O`i^OZv9p zA^!&ry_KnzVSdqt20|@!=WS2HB9Tj+2FQaTMTabJDm;TWBH#V8wK*O zH2nE2Mn~MX>nVqp)+cYuwS06PWU}3pkcLiiy{4-@9O1e?)&;n(k2+q;N64b@8Y-^* z*9Uy|Nql2~@0R$E0GDWF8$9Gc5YT5NzCXaz5?7ynWBX^aq${rV&jz^W4`nMEq1znL z@0K{%Z#w0#{h;$!aqWM7pGI-*|HF{Ev@e@Kfs5jVRqe~5&pLsh7F+i6Nm+cm)9^TU z@@VQo{Le^e92;t!_P;_&vX&mXW&kT0QdEv{y{WRFLl4v|2oem`XAfG&Gx!YcJqcyq2PFNU30JF zvh6hRXcp;&*PEmsYte&0zP3$kiuseOnjsPK+JpsRiZ@jS?atbM8uvOc+xvD1Ops3P z&yy)t;XpyEQh(q{h*icytTF}lEQ2Pyvb{H}DYp-$w>7c?-u|2;hfL?1Z5I{5J>*f)o4m{`@Jf!tw`jzA zC7P9E^NQ`@)vtjW#}P0+wR#jA{uX>*W<>53tFwv$>tR97y&V zLK>5wQIXd1qsmP}Mle}b9xfq(oDtinslWbmOk8f-0 z{ZOiKok05dYrRgK^l_Y*KKknsps;{Py@mL85uV{X z=XZ5=cC4D;)t_7^c+KF(>M6PqU(pEc>S_$_mxRO)W}PQK@Ke*^nu zPJT!`VpqnR?}Gf0`;V={YZ`s`J)(B^y>^!KxTL*EALVQqj&g20&e>R-NgHeU8c}y( zQVmwYZW~<<67vBimXnr7okL#kn@CGtIc(zvl4jf3B3M7^kD!g@|2g5MbCGS^BG|_w z{&6izt`tXS><-SEv`Zl3=a}V@i7CvpV zz`1z@>>Gmj39fVKKEeA1??;^OG5pBCM;0!f6F(DNpE=yTUf&sU@fn`iK=_J8Yz3aW!tS5j`C2wSjmX*XBQ@n`Vij~8+b_!`)IeF!$kYH@? zP<|YlH!V;cb@_PX&Jm?s4}#Y)|^%M-=&x=+NkFOt2V zFV_RtZL5FQWbn5jtg`M~1n2!LZScIo#~S?O1|Mhe7X)XymOtOmpbP6$j`fC)-9-!RB{=)-EW<~?3qw3@@GXYk)@Q51 zZGFa&0USNnN&EA1f^fv`eCB~I#P_vDQMo|gFL0N4H8)&ST2+(3Z0NqhDOcv{-8XCI7`v`uh5n^Rn}NAE8x-Y@*? zB%k8CPwfbBtxtD=Ykk%SxYlQ5fNOm=2Y8z#Yz^=l!PDZi+ER6gsO(*F9hYoCpO$!d z_N4qf1Nt_Jhi6aP-d!QR)SJ2hbXp(nw@iR*KhF*DerepM0N43Lo2Hh(&Y#0L+gj-k zww$q+NP)OuyX6%=`AVaaY-;%AkpV{cRxSX>>9{MDbmlcs?kV=ky1;9n<&;UrO7VG5 zAueQsrc$jzxtbuuqS3@Nuc7AWnH72RdD*%)DgT`oL|E&u^~eB=%l}uBpKH8znos?? zNMtx{f4}7C^N@9E8$tL|{79O?&$?YapodfW2K%3Dtkz%qe+e)aq1PvZ&h^QJ(Cc1t zt&aMwpuJ%TcJH-z)j|2N|^fO4x%yT>IBk(E%leZn83(G%^HeCz{~BQ7*a1pa$jwe|3=*RYnv;0uwwZz*I4gf(Jj{9Y9EbD>mf6a6F9FTPWFS^irE+eH5e`TsHMFY^{h z8MZnd!_x)lxX~#E_c%@l?@<38aR%QZc!m+UP3}MJX2B=@Zi(yIaNJ$F!g!OUcL=^o zaJdDhRtv6skxvLcy|}XikL#V*5IcI_aZ6pCZ2qGl(>|~{{!aq_^#uI;3HYxQaLS0{ z$~`XupOt{~o9S_UZUG*r*Zenvx1nBiE#6DrCwRZa6%S?1s~3n?Gb|Apfi7ZJ3XG^q zjD4^m-9=n=nSHQ0iPC2$_hq6JMLRv{gNb-4Q$&suDQ>ChgMv&`q@Kw3atV0j${vcq zl`R`o5t^Mfn7CEi7%PtT1J3n;j&hlk@l#n2<8<`-xS+VM>s(K`#wgx~FdcDjPZj5N zPeTrn1;uuh9ZRwFuDuvWJO%(r%S{??pt_mWbm_YK(-Rq zlArr;mZR5!&igY2=Yx-R9|_9UG#M6+Cd#OWntv)dk!M)`CMmxnC@>wB>;sf>#kIde z^m@~hpY0!sU)cU8U?i!*&pJJWIGBuRHZlcObZnjq8zjs_T9r|S-8~@r+ky;Qf352R z1mfCXBOBCyA!PeGB{aW|KiP+6GmCy-V5=k^s$RAhL|bRp1<^zq(LSmFbv84?VSdVp zrc4{UjA-g%=w)~FMkOxe{3Ej${9jJp*nL>M(%B1MgH}0v!3z+ez2IM?6tx$u_IKf{ zaw&rD6W#-?3@r!WabK3&$ari1yXANEm)%#sZnsPMRr%T{5hyh!4834uO8CReX-4=B z1vA10wc*@s>UbkbO$eK$X$AAa1|93ZeH^qv`jtUckqw=Q=13U-2NKlpPo_JjBK(gpz(vrC)d-u2(} zc4uE$O$$Fv)54EMhIgsLJxS~e!`OfuC2vvqn)>Y{sx)j+;>du8~1_pA=wiyd`dtCTp_y4f$7I)1r7%oN==n9XGi@N4J#VLKzjZNp%VuF3+ z=y8~QA_K++{_@1#HUF>-81s3IZrF{pQ^UF|hQ0Zu6UzFq67xc(RG&_^6Ash8g2fs< zSwxpbe4b#BfS1wl#bm)~3$5Kz3uX=EbFA)491;po`n7j4x%wU(^~omS{01+_Ww-Fx^X(fG=+_B-r#$PqwGQ?9s|5OgO2F?+z<((G-2)={D*qzc zxVvv#o5>Svi%cj_oL&^2Tx?)@iZh%%xPfK&iCHnQ4CQD03ELu7WZc_nt0P`y&K<;2 zu(J#x+6EXtgN`1^VXIl1Y4;iFt?1R z#u!oN*f{embLwMKgRavJ8#K0C-R944+M=FVVn)EF7dC%K#~w4=z<#kiO1aG3nE>Tx zD#NCHosKeZi=Xb$Qk;)wbdWf?cZ#DGx zOyf+!L;jZ=dVAJ!m7zb=l&kvU^qtiVm+r>SY(tpSz;M#H@Fy+1t zd9*)&Z}4#jKVB9B^0(LN7=zau`VSi1&bM_2pJeFyAt^fYpNyZ@=L-g(VsL&_o-Q1( ze!kXaNBRASRfoddwsp$;I>`*ja??&c1<$$wp~pIxAQ^u z4z*p{KdRSC+_r0x;bYtN0fXCil_5VJli6p=UuE9J?fWnsQ##^l{FMG$({JY*oHTT- zCx7bLCv=MI-ZAUp2v18~*CC~^5qxt%uZ5_dkJ9g!!WWtKgplqhHwL(CAbC&dx?wrq zv4fvm<^2u~!A8;i2|Tn-9U`NOrDxJ(a(yn8SxS8*8zjV7L%4K+X4Ci0vZ zar6Pr&oe3Ow0!k5NQ}#0DUZtGbGo))^It0YW%@-$wMqV5g!n+%|5r$Uo$pHixa8OC zNO3J!{Wi(3>FSq-6G9R+pVD!kMl7tq=2x8trPuaryc2=A`BTT6JY2u~?`4K3BCPp! z{=}8dEIUu|8Pz5dkH9GF3G=@OSUC5XQ*9aP_Xdd3h3)4aE;hf^e+YJ?>!!!qLQ2xh zo-{?QOb=ZzyN8VzmvR2k^s@hCH~J{qxsEZ({3pB7IwO<)@LCJk7_JA_abI^R?x^#B z73f{_nTalopO+#3$!@gkkeGiQ|6_TU!FyDk-Zl5{#PwdT^YHD0r{UA-ST-R{`V2w1 zJG|$fy@~IZxZc~|k2vvtf^QK2LxT56fqGkDI_Y^%NB0Tux&O&$FoE7Zr{Jg0 z#BB)E5$Cn8cn3i^;#Su6ZHIa}j^)qmf{yf7=BIj}VY!_DbYZ!b2Djy|G`N+qZ8o@V z*A|1@b~!~IDcAD1GC8i9+7Em-qYK;hl!qN|>ytO-T0Xi`G1=}RNJFQ%t_js1j&NNs z>jGTYOC2xeBV=Pk#IKkffeUs?PAFk~=)5c|{kh=={|2Pm;a#@u3z@Wmeo5b8hN&p!5C=!Ncd*1wpwWbB;W$qa2Ss4>$i*l8?wON*}_*9Wc*83n|zmIr~fRG3kUL&ElRUqzA{{H*Jf3LQ*#LfKH*C*<== z+mX(S5<@>L1IPArN`&oa-Q$K@WhR>>k?bhv2=kL?ICg+iYDao|&^bZW@r=t~CL7c1 z$jrDfKlGKSPllXC-ND{zpE`Z|A)m?%!EI%;5C0hLNOLtK*~Fyd{Dz`619LF_?GSGQY{=J*TaX+lfyxRTTERO&NA-zM}g3jJ3Vmj&(|!S5AZ z?Z)YK^046jLa+6t{ut}iBMXja$kOylU^ zfbovQ&rHB)B;eFHi{sOkfPWNtoE_=E6MVOHey8{k3$F8A@e&!d--kHqDRn>9YP2=# ztXO18+V5XhVs!+}kA~3PT8XCG_N&jbbQivLspC3`trI0l zwsxWv$)fs5Zh_08NG7lPI$Y2H3_q1cQ&vPr-0HjC;!uBIOCzlGd4rEN_{R-C&fqTy z9`gU4!EJr4zOc2&dluFwI^Jhb$4~3?C;QTTP4>WnGzT1x9``cZKYy(DrRT`LBAi$6 zHMpHuD+TBLIm`6VpX^JcGvLBAnzTbxsmPejWrfZTO^VErlY+t(XsM(jMG-(f;@#?cL&8iKsYJ=IA{==$&+*!?m;4``U%}=%Q zqvn~SZ+=d|$2t!@fn-_)!WTcIFXOr|epdM}e!|WTJ`36#_sP!&*e`lC&bajUlDQmQ zDkZiPPUP?$f(x&ekblVUXrEOaGXGZ@lJu2=Z;}GFuRkQX z?ltT^EAEVd?BZ;cc>Fc=N?e>wz7JH|2R6f(5^$a!#L@3gz$wFzqvyNfariqE@YV$U zrUd-|B;fx9JWlWVF~Qr=4!RcarG6uLzr+Tc% zfb7FY&I=&Yb@t&Pv7qP7KUV=pUV4xAud|FgaHIY5#|M-P-?$A>(?5rC5Fh)9^TFl4M!>%}P&QdJpIR zhu20%3B<2B(FfF437->Kj$Q{k?~`O%H`|Luc+w*e>yl(yL(M-G%*Zp8C-g}96+wY% zTR6g$g~heM?j%o`mi%l#H5~yjP5!ULc&;6)|E$J(**F8`4qWh&% zY(ICYVf$J4xS>|P?wyjz?xfr&%uk--*a1rIr{E5b-^R8s?5iYMQl-dmuCtjD4)ecl z;-s2MQ->}~no=`esE7Vee6`*bP=3bM$J?Qg@%~yD%FJJIB4}k(=6Cc7~=$R1FB0h3R4!&gPFR%BcDFK4@$Plb<&e zoPWVpgc=T5`_Isvw_sBC%T&b`Mof9<2N5WRs^A?hnzf&n?Y%fdQP%`#og6VV~$0N7K7`8dp&AZ?Pc43tYUkKMBXl)_Bfm?f>55@~2Wa!#B5NK~t$uCE)*mM)0-viB@I?vussy|TIP237pUz#U@M&K$uKr&Zdfjuo z>l5_fNual~IKO^cJGQlxiwxJ6nze=YWWjpv6e?3rE!L=<#^~e}7g@g45BZjp=&2pp zctf?_?v8O3Y}F28RzOS&bmML{XhDVLzi>-guym!DA1*GrPb{0ipnX~UqSghg7pEF$ z&vpVm`qX1x)V^T#5{EL@zG~IVRVIIM9}+dq!ma1 zHqLFGGk12=B^Res+$GUbCRB-^%3yRo;B%IhwOoNX9dRpbS?ExY^Z8Wyd{A)m=Y34^ zuL#bqG9OzMzuVw^98mm8gO?lpr-HLSR`2pfL(loId|op2Z#B5Jqsr$KrLU3eiS@Ly zI@K%<@Oq{ry_FFzGxWAT)>c6pd9*%#h7a!w7vM*y?~;%|?@dbodBcCK z!BuaF^&DsLpBes^kJ?cseU+gf#scApr}5Kr%LJ##dg>lVZ8;FP{7*G}Y(394_&CGA z-r#A2(_T0oJzMTvgWGaxN1TrJx8*J~_&B6#yZ+wbXBhlD22UG&hv4*BALaA7!EJqL zN1QIK&o2!=4(ZBg*l~`$wEqQXHe2o~2Djy&YWUcGIM?8|+_W#&^|MsXA?~iu| zxZbCJ9N<05?2p`T<}~S7X@1E)I#I?ayXHDh5ID+chT&Jn2prdNI?hevK{2ThgaC=* zNNe4>h>&MUKGgiR$V;9R@v~0zUv5E!wS4t6f`$2aN`>6RpW&hH*Zh}Cew|KAS|R;5 zR{`UseRnZ0j}k$--dJzThfhEzQq_0X;%vt)?f4Q4;X0s74AfUMP(Ea zKg*jHT$}rU=yo&vC{Tq{eQ(~o-+-T%uk$ZSMp(xLxF>@K2hl{^51Xa_d>*ha%ugBN zv_tq--Lxsw4p~OHksBj%8Rutk9hcgEprj^$X-!l9(b`9w^B31O_qtAO-f$^C!Sy8d zxbCZc=$89V#CYu?oBAu7@{iPCJ}duVJ-&M8J_q(2e)a745dPHl-V700b5(VA!`!NL zc0;bJa)5dGowu8+s#Ce8+1|Gwm|ImTnowQ%ZrnY*X0rM1fU6-fYU`bmVMRVz)4X9O zYS5(>a@tSN71hV_R!y@!^``RAflXResOtO&(fl{XCa8?4wtw&AR%S&RWw!U`3dbzl z`=RtUK8=c?&x82>*tT~UK-UeC%!x8r@c1vu;d%leL4zF6XGWWH&<6`7hxPnQ-w1rA zZ}lk3$=`~^E1kFr$U#k z_JCA#Mg@5d)z-tRLW_L<4Kp!rU1=zqZJ&{5(MIO_DU9F)WmlDdqu+gs?f$~I&*p5K z;7ETjExb32Xw>vE*?i^pOeKVD2exN2NJ(9Fzv+E^tL{+p^EwLizpV3j`N8LJbMGk3 zUw;w#Ia}XbpP7}vp=MV8x;i(1o7Q}%Os^@|Q$w7?^3BA(yG#%EmFOp4j;|V)UYcpS zG%I;&R`Al4`H6{GnaZ8(8&)P4=Ie?t%u0N^@2&h;qPxB-Fcs1b`F(nML44Z~=_fu1 zGHFwN`KKP-`|x4PK%KPnP;5zXZdsRbE3+gnEVqmj{BVJAtq<>!pRy1d%U58D&A_Yb{&M}2&cp}uUHbT;>|x>r>{3k=JKa}V%;oNlT6-k{j4 z=p24~tZwYgQSP~-&$CKRqwmfD+DEf|mZS04Tb?2pN0{c?FKI>X7i@^_|3qy2FZQ~@DtpoS z&c3}<_`AMABW@oK-Qx|%HI7c-HUeiew~mB8kTu6&j89HpdZPPaBbtlT8{b^$91rHm z`dFTUyb=7Z-Y&7`>n%E`{#cIKiRX4{tt8gHFTRCwE0mH|1<%oOf!x@^;+U=Y4F>H#CJ=Vb&7wD;B6>} zPVpY47rezMr@kzB20oqAt4)sn01wV&bU)_~2q^hi`x}WiIi^l>2QEBJcly#%PHNvS zqScECQT6Hw2n=q>QH*0Hn%VBi!~#)Xs$bhkP?kGNF$4t-?87m_5fxOTmYrm0gE`_3 zpwakaIMeg0MAIm)&Q>% zd?3JEWW4tWxYkF{TA55z?f**2r?~dNo{=i9{PmlaiYxz)fRDDfJHVy-sr4Z)^HRS} zsrG&#?bSArr3L|heGM{)R#;z_S2*-Of9oJ;yLPp5BEkU`8%W!El@mq#N&7X88 ztNGs*mE;3jf2~IbFvI#h?Wt0!=cN9;cUhi z>g_zmhcrL?pZ7AYzxMwUU@X4|KkHhAP_J)I(|W7li3ANR4gIxRkOdJAY1auRmv2P9 zUh?a@uL&XB9wfxIUnf|Z6v+1TKCk(;{Y(za29)X)(S+(0Q16O!Jgvr8YAI z-17nRu>HJD;_{ctIqJt8m%_g=KhAV(Cr(O7?qK%(r%X9?d;XP1h>~$t@$Y>!<@dW| zp!(iSnH)V89hCYL%fgvmec~BW8INxh&WJ8AJ|lW>$r(}Z;@%l$!Qq$G1E)g%40(Xn zUf0jFp~Taq6sY(9%p7uUdnYo<`C`}>z9%wg+gT*Q8MJ>{$+L~kb$yF7*>HaFh#aqW^xiz!^f=d#=O9Oj>7paVY8)ZD!{qw+ z>3cJ-68_LMI7Zxo+8y@$6nrB;dZ)rM3jT%HaB7Ke+xm zhG%AcW~R&Fr+a}f5*YOS=7!Sqn+AU_lw)2v*#^4X@p=!X&Y|zlu$D$=Sa&9*aY^l$ zG+W2V1v`>D>N5oQ26U7;oGX*!lLX@0F2`2Yc*`d`v&s&BWs>EwJhP%)$(_}(&T!gK z;}9lZG@g!vdybJ3DtMEGez!n6b~6Om&6^uPV3!GABYmcLyWnktYkjU0yif2iB2M=a z{8-P7EPy&5eS+&VpBocqfQz$7@A22T^zh$tC97#F^#w;%+7F(OyK@(@*^C(HW9aSy z5QjgRfK#RuN6%;BI6UdB>FfmhnF%;;*^Du7*tbYS)(GAvamBwVcz=NNC0_DL!>3dF zUkTn5;A1eZq~9IjC1*A6e(BC8ytNa5-XWGx3TH0>^yo!JSvJN%H{`zp34y*eU$%6GJiw-4T6)8JrlSff&QWddi`c7W$Lz`-!}BNUC#?1 z(w`*jDC=Y2N4nAAmd}$0=QFOhcPzqmVgLNf!w%S@buO5m?6EVGeB?<3)} z`EI1qReKM23Qw>1g}MOO`$$KCEC22Q-!1X=0j~F{jRD>!?c5RI%70gY@0R#LfY(TT ze}GH0RAw*b)`_qEuv;>yj8k##pLqej_RsnNcO45}8v|VVZw_$npREC|{WB2Y%71@= zEB`W?Crozp0X|)2fO|BRN=tyrLgEmWSt+jltmCfuZplxb89K$ao|`=!;X1w#1h}?W z$6fho|M31zr+9_|IOV6fj@OaPm|t0wK54X#O+Fq!>oOA2vqnv;(17?!GUcr&d4e6% zpNukCCiyDGPm(F09w%rM9+K60=i)zkhU7!dUyHn~S11#%7KRinS*P`vW~CaD$Z%MG zj{r3?f0RdB1L9}kbIqo2U605lb^fvcI7V8&_TM~UEMKo11fAO=TV=hz6xVvIKOYGi zRvP+G#c#DsXs?(2K{HbWlD{KhuJzZl_?!{f{(hNgdY!WU6!U6+Z9mzEWdlmJ$YHRR zsh<*)pHCp+*fD>P$dso9%!B5*XXd#48^@3f__+Ute_?*ggs0X;BH{EwWx|t`dg!)* zx}`3xMaESnlNyb;mb1O@U`#}MnS;jbuc*&INxQ~)c>r&;$QwP?G}_{ZC9>YafE%Cz z@()cO-JYip+=j(ok6{w_4vr$@bn&pT_ zBk|6JV&!YQ@fuA1J)9+IU-{Z)h>{E)G6fj=vOqcuY3_xKpbFXieNsgE+Ot68xJ4Zl z@v&sX9V=~gp)5=Dlb3|m;AGzfS?!BzA1a>JCqYwx53j5}cd?}#K0M6WRQhQ{{&(7d z+dDwoz%KIR!1n&s)+)>5`jMkhQk3^xpI7T!lJ}%R^6vXzRB^-g2ect2nI8c`WBw(r zSpD<|%Ws>6ZuEn<=bw=bnewuw3mdyTSFUJZkvl)NeC49m%T{-tpDIAJ6l#gA1f8F* z9=|BPU}^3w*b0JXBkTKiPmH_;};bO z7&a7)de`DhJ8x$D4N)b|O`|f7MHlLmIxMLs*Il|{H_lEC>#i8~=95k+<9>@v{An)5 zzsJcSF};^@&8H*Q;6equEaJTP(YZAq^1qK!cl~ziu5TD|;ppnysJkA0%d&0w0CeN= zwm|*p>I;oL5Hipt$E)yI$^uz#oNUkI;f{C1c|_#bC`#~%fj^5OHOw=7u9#E->D z*WWf}tc#3v=l2%p-i>_BYoreGvc-{+om&UupC8wesS6bl->q!mGbh0Pyd0TQS%D_| zbN-R3g$ju8=g7#^iU5DNi;qm*5a2C>-x}bT3m%^5UM=`v2K0=^>CGJ(vJnMJba4(Pd!i4*9fS4so4qiixcp! z1pK23_@@)_q;Fq-Gl8D6&$xCyoq$^z=c=yxI1h9-eTtN}o$a53DIjMB$l3m>Bk^?p ztF3YWYu$fGT06;wCmY!yWs29f->`hi@?0y*a`toLWtU7<%7O-TL856nC7abImqDxq z4U)v1Vnisu(2_*lF7S;^HY!EtE&|zU zYo|BeZ8NQ2p1Sao))lLlx8jCqzdmV96B+uT8NMQssiLJzz{u9=`uWRNw-@&RXJejQ zncC}Q-iP?<3AnCDBal80Kb5szEA%1Wm4N@P!C98_*=F!6gFj;M@dp2~!MRo|pQi=q z28_=?ivPyoxYtMce+$m~pJ{NeCv@b)yQuPcqu`{kHn`d-3h^@&=&kJ4)_;~Mmur}o zd!^xH>uGHl@w`guRWF_O=i|2G-Gdv$FLw68OB`;FiyYh7YeP ztNxIeEdR`*@Fa`|#R zGNmT0Sea{|aPcLVo!6C{zwlbnQAXR|fg9-j<+xuQsY`$+&2;_K(Js zWUi{(FmI%%0npHq*1B^MAchLK)7+-*TWd9aHbT8qF`PtON!bmr<*I2cC~e~k024}kSOClgH9*x07L&e56YY;* zHpg2Dm0gnz(l|5rgK4C_rNRW-xjlD8mJ z_}JZdeQWaDYx`$GetRDDh4Dc<8b3niPBve?t3Lq4Qme<}vv(uF=obf`=p9joI#;Si z87F~7e`SHw43u=`(`r^{!)yO9qkrko)1MbwxVD{UlTkshI)kWZ80l3z+fJeHCdR!P-Pztt@!4USgzuz}bAk;#Cy?(C;51;($cskTEDmh@TsUeOkc&pA z@tFW*fo-3rQOzX?Rz9$NSoq&9{6EI;8^}3CV|WhHGW^O|8$Gb4!!1XpG-euk1vZNG zeaRQ49QlsIVc96^k#f$Fa@Gv@`rYiq&qVaJUGaB*i&p9M~Ol|i}r=cq{^KB=Zse<$=hZf;HjyH9ah=-m7Q z_Nd?)!L|NB6}(e$H@|>AFL;e~jLsEy2<+|3uz(#4&@c>F|{9{!87UF7X^mELu{ z?TpfXc#G@bH7+|CeUw8z`vY;e>VYt zDghsf>pHIfw5bt?k4?a*C*bc+z$q(?4tN#7HEw+vXP_|FO6hW?;a zJUCm@eUomXhG6SxiaRXvM;f9(FS&8pqB`~wKWKnMNuV7^D(&ukNzPVmx>u`@kP;Sw zg`|kk77pcn?f`w&Bogp-HP*UcU!t(j12dkExg)ZPsrWN6e*6LFMlD`J0s0B%BrVAb zQgqJL+0~^-OT=2{%xP_@pItv|PV3TK%6(E|X^vH=s4xD6i%mc5qcvuhBeGY$0VdS7 zFjC21!HuRuqB*39BJoWGe|ccd_70a#k&M1caNZ}Ztl6HKrIDtx=D!ts-WJ9h{F??J zXYg9NK1qMN!KWL%%HZ_|A8+t42p-n+UPEtfE&b5oXBa+v1ZO{RAE@n88%C_BJ*#*r zf!?0kPPqi5d(&@-Em{szOx*8fumKMTB+|34c3_H6Z^4ZW?8 zJyWs$@Pwha{lN8>j`idiXt}4!#A34LbB5rg=iWr=uM|8S$B!HO(+&M+4PIsN&l}v% zljB$*T*&{eg43g1UF$Q?;I`a0gI5{)4ujirA29fNhW>Jd>6mQi=W(V#Z9gwI?XvZp zp1|KR$3IR}QDt@z$C^%Y-5;&@u)|pey?1X6@U+A?2e|GNw+47d>NgPJ71Eyl0j~Ss zGP%C!x%x=I=<}K4lD*{p58cn!1$=b>t9sGON9)ra&})6x2e|ILxqqWmK0b!CgaEIQ z_|^cgkql|^*-UAwL-Z^}aUGXzK%bU)(pjDEgOpF3(C-vqajj?g9)|XV_Gd)T0Nh$> zSA@&>ZVGVi|E~qOj+ZuG`RKgTGjhdsULDyPB$S5i86=M+U)k3|Qfc%hyC!_n$pE8! zRIVo3B~eE@Xt9JGu0c%;BW9j%yQn9&Y}m zv&l*+-|HS0O4RymJu*mQcw&LXg|3kNe-_}HPyM+_XE>~XkL1_uK-r`=(>QQbNW7ot_O;1z18P+u3@F2zg8D|3nCoSt`m&c znRV+W|GXeU>#wvu2*kC&k^&kyT|d}<3l|Q311qC&O#>O1mnOHa?FX7kY|ccLaO{p2(3@bI3{TtGIr(kM3c$<*fJ>>OXw`C8h_rmt4!?brecxPh?XL!G&`@ z3dF_aRLBoeoWfh!%-wz0nOXsuKeo&PIynr2!QaHWFD-8-c9GJi(x{*VdNH zE}YqTCG_xD9%CtKOXI9oFVv-yzZ2QIqD`@`3GNL8ZRJ6Pm24j8(B)`!;#UC2k*D<<1}yKH^2f_c1xnc=Fv z7vZ{&)dje&V;uo5(NuSUEC2NYzEk2G1H512I|5vysa*lC{09QOM&kPeJS}nc**CU- z^qEX?<)4*&ifjHP8O`Q^zF*>Z1-SM@nT(_I*ZvP>H`@P)AuD->r6IoIX?SdEl1$`) z^n<4^y_Y1(L@MQ(vP1H7zsg{lFsc+kNhb0xI|+oAUQnGxyURn(KUH`JkFJpoxQd{_ zG%H~oWh%VZGX`T&Z7ifs`zhuK+usC?Bzk=y=v<3bNaw%eS{?PdFVe8m&|e!iND@O@ zm5GGiyt~GC-zqYOkJ;<&+xFoSwm zK$F)A&S0)#twT%Vz4x}Dy;&$DpR|V*#qdRPkDY1FwF_lZ8VaOl08jrY~*y_*g7VX8!P7c6?xuH(E+f*tv0(`n^C z&3s$8xV-wy1J!YS$@X1R2sPQu*ZvN*6hj(~wNEwmPF0f&P<(A_TJylLrZo>%G_Coc z*R1{zpKk;AEUA0=6oU-e4ewyoCDlH9&y5Jz_TM{Qp}lYN^=|skQzK+HT)p_6KK-Nj2nu;XaR=-M)r6o#QWh>{n&;fA1#6h7UqO_3XBZnx5@lMoS(a zoB>7LZ2lQ(=HF-8lWQKR*h*fi;C{ca7h13<2Yvi#{KXIk={b(|SJz(y>&PJX^Mm^M z>``bIH|2jL<8v7_gR{5%lIzqWD9n$qMmgF1+A0oiZNF6GyRLX=kfq$=^)EJ73@cwd z9FfK4&-F(ZI>4-%W?7my+*H-F7)t(`=KN$R>BACB`B@EB75taxzZ(8);lDQi>nuNO zZB-A7rr#(2Ch@n3-!DG*7^K@R{yy=!kQ1*EKP`TZ_!;=ppr>8OW45SXH7=+&+L?KS z8@z2~g|;|qBsDhYe+OeMH2ARuYUw~GxgL>u-Futsu0`2NC%OJxeQNfW2im|whQPg$ zkU@9uecW-B>xz|N~hu3FQ{@*yEo^TTiGwHj| z?oYIAt{&gqJF~1YKX6rZ{%84T(1X|19`Li$uBWaF*^O+%BiZTS&Hc+&wf;NNoV*3I z^LU?RR(`w4glG9TVSaD z@za5S|DBtR^L^9uYvy6j$z-U__Wm;$n%YNQVtu~f)vyt5E%(F9fxuFq!Fw{_W=7j} zF3c;te2iPhm_wJ8=zhc1L|#&8Giygf)x6q%Sb1_g0CxX5oUw&_d`m$v`Gb@HQ;EU!bp^Vk1bCBxu18#_Z z4Yo2wd$$xOkZ+)yXWwtg|2jMUzSVtuw>#9oUp04IGds|~;KNyUFYma~i1;PEd@W^O z-#QQf(ADgtZ2l)NWWSi*o+$&CDj(Cs+VNJ)#=lmYmb;Ef6IVj1KU2MlD2&M*1=qN- zNHyi}sv?`*c$dE^?^k3Q-0>LPXvmQJ^&Fq({O+sjuQuOSZ-NafKkJ)%?{X`Y=YY>{ z=DhG?8&(HbH0S-FBay?)E^9z5Dt)D*%bFuz-!%P+Rf~$RO)kw@A+o_j)e z?&-iVEi+*TUlYVtMy_yp#$=909m#8zP<*QkMW{STuL$CNp0kefHR~uZw2pE->)c-0 z0F(<_C&%IziVcVT7E5#lU^os*td3eej^Wvy&LNIvjWon!4T4cFL`S-LF68acD7GvH z>j^L}$9D);{r{2oF7R~~)&BTNQc9pDCn!kpA|9Y(D^QZYNTf9l&T8Pi$c+-Vkk{EIrI!`ru=2hl zoQTkJU`ZK(nv&w#ZY&>%Bc-BGH!NB8596L zQ8`JFj*(7gIpev!dS|A?%3R;rv$0#O-kc4e8n>Wi;w)o%&heTryzUTQ)`p$SpF7{a zwxqIe|2ZX%g|qY8utP2>m)bSiPF@Sb``mDryF0_aaJje9t!~^3CsuZ!ThQn08HEpv zTvDFU`-U;O@~kb{SWx)EK<(j!;mZ;4c$qYEHrJu24TW=A_fjQ^!fONlVq4wm<1TTk z#_fE>X_PqbELr!B*X^Zq)peTkyuY{dHuiVuX2BpvISoHtQZ@rvav)_7) zMGCI9Ex-(2qm+A(;GB>kJ?ko+(w~WY(j(A0>WJ=q{79dm2TuEv%WzM;njoCwSL2>| zBSARDZ^b?FUV?Cn^FH6V-tPe?{V)mOCI%Pxjf40O@w@&8_q*{UUM_9T^(Vky5?tH2 z_9fhZ<@gJ|>rX&C5q_r!+|z9gF0uDITqZJs+2?7#eQWi?|9R1;>sJu3S@7O50b}ha z)(So>xa%uG!g!RkS{_`kF93d};A(&Qj(}b43xapbM}+NyvtM$2Bnz&+A#8`>rBV^} z+ydHya{82kiEAgqD|-K%FcCVvOPjKHJzk9{eEp0=j)$$v)#zAXZ$ zt*Lx`{%-`%GY<37zZ`+@kN!9x{h<-~j0k*o1U@$cZ;8NrBXI81$S3EQBk;Q;@E=Fu z|2G2vLj?Xx1inA|k$iH#Edrkyfu9_K^L;8G|E0hW#&cv?8cU;VpYX_=X7JjVZd%sf z($Jjl(G7FwukKj4nlFT-LinPH9fG6qAV$8BQ8Dn2Dccey$fX=cLrISc$`e7B%{Y$w zI^D2xHMaT@(p5CP58kdDxp)tu>944 zLxb>AJh@_OMfr?aLj$dGHZ;%+1D`evL9R6F=nzMYoLNniDi9-J1*zQ4XeqOqksuMi zb>-@&_8>}kCyLOI-4GC9t7TxHl$$Q61UoPDFZ|(d#ksY43t56@En320Ek!{?MJ5Go zA~4^Ah7V4v#pX=td`(MhjJGVRn2Bfo?%p23M7mlxTe3JPLy6ehl5TEOE-SklnqqYe z7P!5fyi)e%Ez7!BIF!DYHETN7IL&2eT2?NHO}Le;XzSGNEp5O_P^d}`%^j;Tfn#vyzB}Do+0d1SmDCleMb5@tLv!2t4XsTp z+bwOt!y**1qdATL65ViSnB`0zN`(?-bglewi&L$;an%yF42>hL8e)NRqiar`^=LT_ zEjW37Wq(KhN9i11FKvQs2TCTOES3)1I2SWGg93DHd1b$0-1E=FI#no2C z^+7PkKH>eEoN=T>_ZH)Ht*%M>H96Ump-%v3I&?oW^wZ&2db=N#>oOF7!SJ#B`Se}Ym*)Tia7^zc{FKiT z2Cp>uiGuTzFu1khY4xzu@Zr0S^3NEY?*fW{!Qdww{D%g&{PE`J9D^qq`U!$FUo#Cp z&(Oci;4ehb7fV6#!VkzQ=P?m@x53|U=)WU4Du;qgu!h+*tk@>G{z>>+Pouo;3LN z2Cp^v(+0QoXRJ)HlfTvfIR>|URvFyVUv6+)UMveb@}GpC%0HJN9P#(yr}!#@aKw+p zPw^pwaKw+tPjS1p)#~R`)1OZ@^cS1th=09@H;aF>!CAM4#lOYFcZh$xhwHq` zQy#ALyF6UyXZCow&chT_0dTxf9-WWU`E13@rM_|=icWFmQ|aU4PkMN@^e;<1T<6Ey zJY460dOUoX6%TH`hX?5Ba{+sWezQkkDiOALc(35wJ-kuyr#!q`@Le9B5Zoyj_YAh* zq#CJoIK}n*mab`3JfMoj5^}?664fCbQ_(4|`AP>72{5N^H*3aK~xR!e{GYY5aYCZJVQV$DV+N0O`%sV|?%YBE3YyHu495r2SFN+8m zd9>XPd$`vB-*~vz^YWrFAFa>JJzU$@n^+?rHsbB?r+1#>51+69fp9`@4J0I4qOja);%ukksyAWuFMt=l2# z>+?#(RDPAC8Ugv@|5f7aw^EI-@$@=R;!8DEvRLQ1;5ME`f*Va=VfGi~Br~e+Y=E;EY^6qyTsBI&Nx5+2O}(B{O37{gu5!ZWdHl|xdwjf8(0HBb!t_`6t`r4 z-`Bub_GXipeqx{3zz-v)Tf;O$7P+mK_RjpA5c#dT&)>w0CV`xpY ztH*=iCSjKN3B=s}IP5+Qew#8X9@vKej$Kd3hmP z*nf`joJh0inGNrJTQ}2lSub;YI^G}N)1g}cw)IhNb?YEA4g!?yKSA~KyWkIk+>@Bfsb zxV0u&{O?c5QvwPb+@K5Vz^Ye}h%WiLDdDn02pO96FwB=&3 z!kS!1X9SXZ4vl;S_2I8*7rLVTJDWA}(fNF!2CrB9Fi_j8?b9BeLFs1Esa}uxeS6TC{s}jz zEJk&%ayhMY9}gFHV=vExeeP{dxAd@AqQkQIVO)YT%6x#1U!|ejVwlmX7@Y(UP-?X9h%`)-urXp64CqYnG z@!JPL0gZA^`mIM!6fnXk_Ml9aXQ`_X3op;=JN#7kT zJw)qAd{t;EShz9f*|}`VmQrziA#DaM+!`|-l;PGra5SJ$EBq~VJ@Rps?8aQX z#fBC(+d8B+a65zld-3XAn@;0DATyn_!Y zmmnVl{ZmKWi~+YiH&@W`U>$M+E@N1;J*b`fA7c`s3^qaTCnzX zv)LE#2iT@(I}o(NEf8xj8{)maKaTZ3hHeDX-F_frVw>qUmjwHYk;RC+1*I1oxraia zsA40x;w~h_FOU)R$etWu_2t<1GB~hz9O(v!-aGc-Hr9=eX(tEWc)&B$$8n>3bA1~U z$0&w$GQ0`)XpMA&Q%Hh+7&(k=&qfLc>5jqfkA=n)eE7+p*lSRHqxQtU@jaB^WM=Fh zN^Q2-p&k8>Pkq#olO3fDD)p7j z?a$2axx;43>^@h%+y05&Z{OWaIW{-*Aa>T(4qi_2;{Ck{s&SJFzl0xm`=yhC;4+T< zFUGaQysdY+3Ffv~EleUd6Wq?AJ>U;@G+Y)ZB-dh^toU)@n09a7m#D zx`N*oYKJ<}FZD4_(Cy4^{@bbXTgFtfay!Z@+{6c*#eiV^uBJU5lOI5xNH z_wmdB2oF?EPOi2F<5=wH3*O)FW}mjV3rD&Aq2jTcGb>)4oB0Db?M`&;K5z~N;vvJS zW^5-UQ>b~OYgpm@Wqy##q(rpaInSaGujW0DQ!?W+lg!-fTF9rJRM;PkU8}_-FQ8S+ z_=nob{1NKVzCP8wXJG4v0|65$h+jGW#t6Yym?7X;!j{3vI&jrJ{JGb@P1!w!BWF2+ zUc?Lczjx(h&-M^vUls`6&*8IC@#B1F6#U#hR>^tC^92|6yYSaxBDxwZM>D;tx zD(G~bIH3Q;bAGEh39_L-4;}+X%j|waT0Wl*BP*Zu@2}f6rl(V9BRhPR#Ho^mk8%m& zNGJ3VQXdHb9Ub3)pB?$QiJ#op{Kfmvgt#t`OI=+F`cK*| z#u<)yBGWL2JFWH4FpQDcMg>a?HY!jTx|0}h#QV9SDOL6B_~pN22-GJv4RaxxXZ1Of zY~D5S+xQg^gSI|%V({KIvK0~Bb1=839UPN`Fm@5|XB}~D`5`LU;Qk-5vk@Qo68$pi zU`{oaIR`%1gIAh@_yE@$uor>p39*C$d1R}7vblZ25v*g&{Q?Z^0Ga38=~VRnEB(fTGw62+zn=)sFzU1 z8S)a+?r}2+ZEDhVYrW_*_ci)hC@hdSl>Fxqf8>7Ds@9FU{+mWWo)P5-qwuWWf8)39 z<(>d&HKUsKP{98i?1KCLx;On!?Y;4E;|{8Utv%zVgZ{)!_~miKp|tzBastyB92|y9 zYJ)F1IC>Pl4r`msjZ~vwgDy1)b5n!g2*z%~445+$J%V}-lP<1*3pCJo2Z_)ucE$S- zMYeJy_dyqulnL~aJ+9G00<~y0w739uyK2XpWvJ4w&*o$LPBNqF0+pFpU+HOwE-nZL zuj|LWhfR*>A_t?)Q34HgptwdZLBgTZnny+0(ez_?eFLe6>PaG3LR_&O3%XB#Nco@} zQt~Swvo-QXlu$N*ui4?!{7-z~5Wo428u$dm9xGWWCksdCq{h$5S;)Q}$5lOW$yq_o z8ToE5lkP*@UH#xUlJ?P_(W#7jvOn*?;a-49yB`Wk%iN93Weds;PjmCp^0EZ09a*DR z&M-~yJen18--oS@nj?~dQJNQUx;CGs)+o(!e1>3xgjQ+B$Yg5)+7mjgw(v-;bz@+V zCg@Yq9^6ooGqTyCVldB*{wH1QhKjqP;83iO3iOKmmJ$6S9_m)V)h zjD!ZG@&22kjbH>j@^RNcW$S-(Q+?Hg@qr6mn~=A_KjsF$>4)4~5Z+J2%JkBFOJprVKnq7RA-&%!gzD!M=o<=746F?`WpeCH!$8f3nk&k8^@#Ib-a@= zzdBybW|!kdzMH&}@gfJnA^mW?IPw#hTmN~tkK?Q@>^k;!e3kx?%WJvcr|sjbLCWu? z-3aptKT{ly?!GaU&wU(p?$#d4^ggH;+4&mje@2-}3im%{C>4I?j`yF8(#0eWjH$V& zE7ytS%p>6)RG(ld%YN6d;|UQmjWkS7ZZsM1=gFhFk)Rs}Caa!^U&>_`!MjR72S2s= zj9j%VeR3%O`!L9=!%-7gfEDtacldZOg`{o3?C|kCW`|GLtQj?9swq2;Sr48eS>DL_ z@iBJMG}5G9^tXa8x~Dd?BlI%ei&SDz$C`)bc@NdrX7)-i5u_iCvH4zFpIH^FxgFxi zc7M_3SH~McAD@9CO1#PqvGZttARw%Vv8j>Ou94b){~0QTt9Leond|!-fYjzp)5)aJ zz79TXIl3R=5K{XieN^o8`13)uhp6#qKf^W-<{ck$Nr-)b{GQnlMosLnT@7}VPp>sT zWF?_llGGq(?R0P$9KGTOhktm@!69F|at{Y@aCk~KU%BUvvkdo&4xo+N_3hEvq&RHDf$doHsvLn-@^QH&JHf{V&IQegDm|g`cIpW(WBNNUjtjS6QU2s`)83ohpt6ZIyn~mFn;}= zUjVM33y-X8ptZke{2Ju$QFPwYbLAv-K^V?1m*MQcL3!C(YHeC>Nc$^<Vb_o zoLextne}mAP2K!NXVY?SO-`)tNGF=w+dI~^EKjs{tVxib_=$;NGcY$Di(4|eYHCH^ zi0fctE`gI5PQYQgINxI7!bDe7d%C@4b)vaxb)sW+`-O>REs3tqmS%2@UY=Olnjn$N z(ALz2a8TzcT34>YM(DuJWBed-2sr=rSqqP;NUW`xJUz=mGBAq%_z*QCn^d!roP5Go zMe6GA?Ce;RhO91cb8E5pJ-fx5#`HjV!m5tt*!>?E-CMPywc-T1#|gqGhyr4(ntEbQ z-RX|lyAUU5n6LBv=B|oZS6BPmDN|#sJ65;EI+|KKV;wC`ov|LMIR+jv8se*nInE~P z!nTg?_T^OQyOtlHSk|3RtUwupy%Ta@?EB5FoetvZCph+VYp1|7Ew-Q@2Wiw+%qV{& z=Kq|=c_0R>ji}$9BqBS>9fY0c*z}!V*4-LVkY0=stZ8ZPz^%s2g?rWxLIjN8+}6^3 zKI{UxN-Uwo8Bc8yY9uEgaAT)JgYsUhJ@oIjVaRC~>%8oaS|?tBhHYJg_29nS^Z%>c zNF3|QyT9iz_WTEUetrSBZk+Yte!S;D$n%$Yey;hquGD&P&$av3y~TQP|5nd`i05|` z9R_=wx##U+o!ntZ;U);aC9`_{=md5KIVi+%n99Onj=jY$|`+D@- ztL5eH|9@Z$lYPRClJR5YT8``ea_`PB57~e$dal42eoU4m`id?qbo;E_k{ZOr1KqQ! zS$JC3sAf&rsOB_~au%NM38euulylf{c>~oLi*(82>pNo`vZLVU2SM zyd102{YiL6+TARAFU@0)GQ4>aK+p2#Y3z?v`0W(lv)G|W+G0GNwkhY93>Ou3(-tG_ zReH78<;~jC?8s|5a@M%Q zYf9SYlyuH7X{#w|TnwVwqp~z>9A(!BeI*-UF1@;}ZBlEyv$}9)ly=A~C5=4I#_M>& zrsx$#`FS-Ky)(b6Yn@!1gx8v|T={Hh&M6r#C~U|p*sO7^1J4PsMs^~(Jm%*Gdz_c% z7wk3dak85IPuk)fmOQ#T2w7;ahBg*UaiwGRr=!gS+Mw)}dR8Xw<9y(xPvA<&y}ERl z;pc2SI$sXwd^Pb#59g8w;=LYD@84sK^BCb5@EQFycmV-Smw$AwFT}OjLHlRVH`I2^ zk5|;gFzXjwulo->Jiy6E_38RYgq8PL34=p|Wqjy0oB0#5q*x~EkJ z0#k%u*sIBxSdGx{I5G%v{RM8%Q9e>}T-%q(|4bXB9Y{ByjZv;M8h!d&EOw#b{`J?b{z7p7J$gj=XnWCUoQY;V*{OhBUl2Z*d-z|3z7*}xx`HD5#>R#%hzb@=wFP$ z561H#pWcp)z$+r~nGtwh1b$8gz9Ir&8-Zsc@Xtoz*G1qrMBrN^@b5+7Pei?lyeR@t1E(!u3>BQ~)qV~WtN5ZI)2WKz0eWm-^R)pcL3VEkab45YBuDO|RH7aamoC;&al9(ZM(CAz{ zKN|;_3WX z$$vBW?dzrY4R^j4RxHwQQ@F|XRN)XF2tO)oxmN+(vG>*d* z7k5e!_oUdrhE3$0Azra-Yz+SHgL&Y6F?MV?`X+==t)JJ>wb~uF-s+nnrqy7c%`WDD zdF!k)^9HT4ya6A))XuZm1|DrGSZxi%jIcEvY-|aSvieN^&VI3&e{ODXX<8F97CqYL zGwWaWW8WLF=ghR0;Nx8bK4`Wz;3J{Y)xH{dHc{9~QEjl@obG5xnQc z?q%&On_;KAdCi5LSxe1M1z^^YYs)dw$SQsaZFV-PS9Q8F3L2xiZQ$3@iUxc=ZQ$2P z7lLA5OOw?wa_tfd6b<{(H4D$EXqY!^QQe}3g^L!{pE1XgyAOm;zTlf(11>(>dGqVe zph;|&(dw?ins=@HyqYy4P4RR6DJ`n!w-G%FPpYdij-=D~Zw~8;U*yL3czt@M8_VOBupJnhL7v#c2n_F`u7=n%l`~RZ}q=0f_}N7=l28UzcPaUc7yZV zfYNU>IOh%&f85}-+p73`L{H3@ZAX01qT|K3qe~5L)4kT<=OT{s-yVVg+TcqK{aB2j z=@@(-e#+-qgWG&fH8|%)l)l>F{06W1+z9+^gEt!b^9A?y(`D$J4E+@m^q-HQzsuk@ zU*9#j&DWC#xA}TD0^e&dEOemUR{sYZ-0J@n zgD*FHmK(gq;1?Ub)!^3{-0ESo;M70$(2gJ7O$N7ma3(?!PWi1K9x?o_9)4(Wo3B3` zd+n}&Y6!D|kH z2af4l`b7p`i7@5U6@g!Ea9f{$XK?OlRz727L5#1rae}Mf_}z%^FoRpY9bx#`@;%Yu zR&O6PeC)WT+0a`(e8JGqfE+6Sod!S2;6E{VrNLh@c$L8ql@A}x?|ThiZt#;0eulwk z8vF)>+i}IW1^3JMw}#%wa9gjcBk&I! z+}5j)8{D?LPYUkWpRXAD4;eWhHMkuQ{Keq5y&qnJ$Z&qWO$hF%d%VGIy{#~OY`v{D zxUIKm8rV{%2`s%TnFuL8Llel6ocDw#Y}@+IcEv3?M3xD&)` zgLfGEI}L8fpT978r=dUmt?2DkEz7(NRP|5pue{ckpW zY<;-N;8xDt3?D1!BL-h&(tXO{Hr@XcT=jnh;?V6jxJ~zY!^fsubZ8Kd<+}(!)x)_4 zx9KhuT+0V*ztvuf}c%z|z$lz-X{*uAF3|=G)bNu>z zpx}PK-ez!{uYWUqY`!KN+{(Yq;I+{*Ki!L2+$ zHn^4N8Nq#do;SFa=LN&Z%CrArC=59AvF+}yg8TLGRD;|8d4a*LoaY$+Y>(ra7~HoE zz2)?*8NAWRQysxSY3S{9t;OJ0 z{&vI1>gOX7^p{4^e=>r8lSi-p(pL>`>&f+okJZoJ2Dkco)ZjK>PZ|C;U%xWAP4_p3 zk4<;4!EL&S93GS}%h8rgLU7h+%YUMwx8>4paLeZggLi|M*25CVPa z=}QHtoc2Av+Td#q{Q`qqeV$|ZQ=iJe#o#u-A2NKbJ})-7)#o(^x9M&+{B6278Qi9O zo8e>AeZ=54-2-KTH1%WCJy>w<-!#APFt|*JIT=7=h}M>y_Kil;8vdbhL6?5 zQiEH0nhYN+Pn)5iW6JSDLvQ8D7~IOU(eSbIY%%of4FB&M-12!eg3r$kZu9l5;bZgl zg2Ao)XG@2}^6fG5bQ`?U;DZLY?e02*Tl$*}exc#>fWa;OZiCzRnimaj-;a)v1;Uiy z%5##ztv=r`xLzt_;)e(ySiTRz{4;B%Xyw|pKo zxYdK6MW%WX^~Roy;6GycSUtRIaI1%cBT*o5e!o#HxTdT9#vul``aj(8vFRRfaGUP? z3~u}XGYxL_utacQo)r=Ft0U+?Y;Y_8C5Dfc|5FCH@?ULmE9aLDf7_q@X9WE%9=(?D zJKmWqmk;As^?#YcZMs8(tA54@(PN)AxXteu4Ii7|>kPf^=Wj9eRu8{4xGl$H6FK>< zoF@qG%Q@5FR?Zs1SwF3u3k`iO!c;#EhTh8AZ}2Wdf1SY_4Suh|*BJbd2DjtwzZu-- zcfX?$8P3n|!3MYaJzQ`M+Td26euFn6 z-&!skBlvGJ^tL~I#^6@Z2Omvs2K`kUSLJ`C!EJuuCAgp8stEe(2>N*jxB6LR_*ng{ zFu2uE+Te{w{@w`w>kYlt&vgd3`MuuoVgEB8Ke{ajxAJc_e60MB8{EqOGlSc7pELYz zx_^qGe@k77tpAq(L4p?oCx7iHk1)8+*HMO#&DS)8+kCy>;O*eA_3E1jxBc*a z25&U_qTX_yRHm6T3 zPpRO(e%2X!``+;>gIoP?Hn=UXdkt>sA2qmr@A#X+?fX~hyYtI`nBczr#~9q|bE4s6 z^?9Lha4Y|S!CN7kwxf*(Ut#cD4Q}=Gw83q^@e707^7^&letusxxXtfh3?G}{ z5>`IAG5Fd19&PYOglWDe3C?sa{~3nfKBrm?Zuwjg!RJClZ~1)E;8qWt3?JU=bKzQp zTRFdG_*gyMX>hBDdkk*V-ER2vR`v5kgWGhUHhgTlzcIK?cmGLX3deG>^iorY4|Chxdh>epN^m6{ANu@JcXa)Lj>W7Gp^##5`-f@4?o3^8%s36n{ZXU*rCC; zFn(HJBYv5Vb=$>=UnjU!hb(@B;FWSMz?Jm3ia+V$TgAV`!ygiVn}>f-{OsH5l>d`~ zH@p8|@gEDmNv?_yi+{6+|6KfAJbah>#Q&6szaoB(r|A~)299dGzTE8L z%4ds*E1&H?F7pmgdAQn**yZ5~R(QBQ9_|zlyqHRdW3b#hf0>7GWaWjM=-~p#Dm}c{ zQDZ%lhc^mNTitY;Zng7at*M761n)IC(>zG<%^ohF`C>afyhiBvc(_cj#S&6qC=dB_ z>_V6HaOu9Xc0H6nppM11d-N*j^B%5pmPz?2AC;%t!!_N_9?rgxZi|Pr&!yA-1>d|YzF^vj9sv-`%+x{lPf)XwZAe(>Y>tWe>mU6wO`eJW=gO2QE1=5%A@^TY;xCy ztFZYQSM2O_*EYRd)6(8FIo;Bej!jS6z=RaTCjJbUV|6|-I`wrr`ugA}ie*iGQ>;T2uPUZhtY=hS@{rqznmoNVCB`$jG zs^F6S@5euJ%G9Yd$`e^vF}-qX#f+0?OqrfY1aR=bqP%>@v}uXN)aeyd0^-I4FR4q- zE-c7#EPxfIoG+VXtWx%Z5UF->b*uyLXSI4*fzBH29V(qzGoy*tH*`rH8=IDI#` z=vjJmN|SxtN^xl3_v-q85+Aq{LH$2T@1M-Lw5t1mo8CW_amm;9KNlbP9K!1Y(204j z8`QdU{cs#;HO>a#+Wifj&s^*d_TD|5J=0_0#qLih2iFz5&A_|Y&mDNIyDv3(cCj4x zmByN1#!o`NffexZD9##3JhFt|j8n%*qtK-od?z(LQUz$E6XU*=P<;SU_za7rsBmCw zdd%LPt)tFh{cj8}+`H4AyL+FJa3fBZe+rr50T<;-9M)Nxf|>Se9^0Ah-Cv3$vIn+O4r@O*lKhG#< zmzf0T(j*S8Nbs;Ac2-2ncHxF+ty7Hqct6^`3A?F>2$zBnFNhWNlotHk`2CAFqS$JI z>%71M7UKs>N{0#;mXvKMI=v)u*%%n^?Ax#KBL|iwW|x$~4&$jM#dYHfdrFG$d+?F( zxxmZDY$zHkWQLYY8gG>=G4`c&7TXX&A#6AgrsGAGy$m$lh3*r)&MDbhP7Qxik^OIh>#YMBRF=03u716~OK|FjPVuR@Cm-gKPH~nG@dQCQ#d)94He-NWDk6a^ z%39!4MDhK@0DKGadyDBgUEKiIA$TJd3#a9J8SY8n>)~G#eAvTp7JRFRZx?*0;9B;a zBXRP`L)Dc(us`9ay2NeHEnC^qz|#z1Sg5&yp0#36B=9-=9>MLJmZs$mEj>a8(;yA2 zT2|4>d=N~ab!9sY>%+>vW9itnuIX3><1$^HP3h(~FDxR8VIAhB5`U z(^NjJFLcUB)4eHxv$*m(M(T;uYq~s?o=$PiSF?vJeV>P`JYV*3mFGSWSN^~7aFsK# z0U79?ZANh?q{vBGizUADBgWrz_|a+0R(wYQXTM=9o)%o&hT<{dpOEk@F8($TZxs5A zJiJ%%jUGNM__ZFsRq!nyzEki=JltiP*c*Sx<=d;i%Kmq~vc?h+m09tI#<6N(bf2K2 zjni^bDC(WHOuFVxq9+dBd8_q6pBGW@tZIuy)6uK2Q*Y!utIq9B%u)t7n!dt(wIEL~ zo7uTRZBI(C^;`XX=OtFHfLw2sgnGo!{Bsnn>1+Pq4~*%T<7eG-BG5Do;$HKw*Et5W zq-FVDWb)8170l1S#@}g~;$G!fIO?5uB45VfHU}4HbC;0D*Zk+xJ)`Uq`AbDG_Fwwm z%y5k#_0Cr;75V^G6eGcTUU$|-K2_}y`CEf%+5digzVlVi$iDI=Uhkc6#{{i92Fse3C)9`*?_uYvgC{1%=)uuOE7EQ5Hr?KpXl`GL2{xXX z)U~o>b!^${M9Z2r9cyCCI&dx$PYFsitzI77(4bfI%FecyHHnVSmNo8_CY2(vd1sGg ziUsl|mUpk=p-ed8iAJ}Wh6JQLvO?yN6)mgDxrO;Ogs>-u6O%aCm&TDhIdW*i;44=* zt!-bqJkfprD$VA~)oYswH8m}d>3ws@YRn=c)1rzj-rbe%7!}jaWhzOK%`7L$wZ{k6 z6Gb`A9o^8GMqarVgvRHm&nzn~?kzD(J&&ISsWDbHHRtYO=`67-mt%L@Qy1y*-91 z+{N0`+;TpS_F9qiyK0y7N(p8Gs!rol5!w5euCAsPEt;ajolTgURu6NP^T768i}j*~ zWeLFy^)~_QcnYO2>}<(;dYV_zdLGWiN++_1a5-O3M{5E{c&UD%5SHBP4sFe`j_!0P zPQ$`0Kr32TP9LTe49dZ~YamcAn;cp}Ol}jaQ67-Fdv(*Yc4{`!-T~sSwx)_a*p%rr zfI8cyXhy-QYA#FNtFsx%mW9Q%=ny+c2*oEx#a`XLY8g9>*2Ee#hUHx`w8!oi>15We z=|EvS%bAH~nDRegYgZ5u){3(O*pu!`utg@iSFcPbR(3h9v^T9;(Gqh(-JP%?i2lRr zrz^Iyy}e~cQ#+M!CDpvT8t=Mg?;pEn3w_h`FZcXIp8pEZe~srK_WYQp45f!>SIB>Z z=f_w#6#gHc|3c5d!t=Lz{_8ydr#yeV=l_D|$2)pRo-WV-VbA{+&;Jq6k9Ua>zg3?9 zi=MyR^W)ti6n~}X$9!-o{Hvb-V$c6k&yTTDDE`+xf2Zfi+-Zn@wdY^!`M>V@zv21u z4iw_|dCz~f=kN9W|L*xe=J_x6{C%Fk-}7(q`~#lUB+lRt2w-fSXt{~+9vgiM#=l`td&v^b#p8w;X|9sCs==rbo{Gajswy$#c zZ(_cd@${X^pR+vzVf@j#Pdc?FrArPhDXty2_2wI}B>b2M-^~S(565#UFV6Eh-6^UK7`JY45kw|n>>#s8Ft7s}knE)PFc@I4-`c7}^3oWZRB72>z+^@zV; z@QEJ%Jn`H0dZb@2xUMHs{yl;(@%U^If18I7i(lg@pX&u*@6q2O{!JdPbA+2c{8{mD z@$f&2f4heV=i0<#PkH!TijZlzT^@d<;Cnp$J%Sg@Rr6INew|ZOT3;Unl-09{zFhw|V$g;_vbBuZn-YhuH{zKxg^ze_0Kk4D07XK0t-z@$% z4}U=XJs$q3_}6>5+IimO;YIs7^~5wCmH$Y=6G5<>+m@;tAaDHJgjs)=U2vCMj`uIV z?oP)^qK;8xpQvvbr3VEuk`j?#>bO|^WpX`MaH)=h#$s!;ci|iIuVE|=%2JM>b;B~C)Nz}JsoZ+)M1bBa4X;1c0jULX@6!$l7HVU_ zo|5>LUVN2b;a=S2%YUQ1NNGNqe||^O_=-~=KW#vY|G@~&7r#g3$9r+e`SI}$Wm?4>_=Zw3qr5y=Nw@Fo=BnSD6QSDOR^!`G zDZY`oN{Y`V{SK`;yFT-ynzQC+zF)I=ZsviSMKzf}Cx@mpY;iL4*M-TBivYj4 zysb9#%VcJo^VekV=OVl+P(imh!7)l9%$ZTg9; zr!v1w-t)U6OU;*q2;Qm8i#|1`;$p#aIDR~;&FnnaEy=6-U`+#5Q;TOX2%s$Y%5>L> z?*4s*9A5F*U2V9p*m^hTI~=t8RxBm-I-xk3xi8-TAIL;<;3w&` z;DKug^L25Ghq8c8aM3gedt*dw}*>}-|L@bplu8CiH zFABf1HnYPPK7`v`n4X_Hc{xQo$cp6Tc_x)PVnQnOYZV9{6=)9y+E(Yf<+%mFn45WK zWSm=miF%P5go3b`wEHWY3*rNR{@dQYyRUZZH>)6feBdPj^;JKOU;abzNKN_$l~M(z zteFRu#Rqej=^`oOBf5?jrjg35s z)V05GYSqN=1o7^>Tz&QB+KQl&W|wF$Zo}z*7r^ezTs-zaFV&n?&;G~Nz9-P-`~_W3 zS^SncsDvF8Q5qkh&M>=<+A*h`9ZN&1YFB)q7=<&p>V^2_m$*`z)sq}rxFnSsL9dg{ z{1>W=bWocabK5LeE|1hv3`X_(FsHa^XZys9d(9IN9uS&jYD1_l4x2jCiO3qoPtXqoW4p7f9l!R=CCi z`CFK(dT7mw%v3V-1oG(A_fR%#i$`b8mp}Q&NEGVqc|)zbbb<*n*33nT@c`v`FX!} zuxqB}%XX2U@({=ztN@oj=4z5+C=n=MDo)LL_c85M=2x1wqwfBgOGJCoHsp18nd~nJ zg*4^Ub6cpggoZEowT9aZCkmy14)I+>JWo4XO8g45%wF2l=+Y|<_(7GEpxNY5dct^z zxcsG;;fXjNkLX)wRmMMaZ{Nv>@qd5?f zDw531Dzhx}mH!7=slpF;=E^?YM_SNTni6CGkgPg8(S1OD=7-6?S4!8uFO=2K=2KNV zq^ff(w&wc7-g%W{_&^@Iq%E0wL0Ekx=>~y8bIR^$LHAUR{;59mXL)mY9FYsLK_xx5 z?~>Aj?zHQ~<_#5CPD^up|iR>n^ed+S` z(AIr!ZAWW+6FzfcwF=iDxfLeCX_9UwmaGDaty~+!DiyAviD5+?SBl}Xa&7C%9xSAB zw^+EtU@{3P5H$$FdNo%#_&0g-iTV|;>%^6-I@?>gb=56->pC%5H>X#w5$;%x?{u%_ zf+#p)6f5FzDkhJ!g`_#>h4Vzy+~K((^TPGqV7H8}Yjk)(o@4LF$49@Grd2ou70Yj0 zNapc(+LiNe9hbb}x#)g;=8tEFwyar=oxeH$YjNgjP=GvRIGjb7j{ft~V}7%FRhoQP zfBvO79}zG&+Yk|E;r}T*E5jSP-`D*Aqv`(9dfHd{_BGvo)uEs6n23mPmM*G3MkF%| zezWODeTc@Vm(mTyMbmFNXc0pD3&=DZ8Smt|T!urmke-hW$=2DZgxNZAoR{{&PyI3x9rK zNo8$Gc}>a0Q%e%3>W1MtOG%_7N7alNVB4Q8b(K zVms@G{c5uE)|PY@j^vfMW?YQCj%S|X&dBo0<^9w!uQ?_23$Mt_>-2HXrdE&edYB9$ z*M`EHlCsN+YD*G*W7-caDZ>&kY`vW`?u_hx?YK1VYaCuPZk^sDI`y_)_{pcAST(Sp z3U(vzO&T>!<3on;x-8$>o3YP;yW{@dFLQZDkn@TlUbPB)SxHmFk?{VK4vRZ?k$KVrWa}Kkd^VSKE zn}o;BVIEF*b4tqR+c>9>E3C2pBzSN-UDqJEI+)YH(@kMD6f#Q+pt+=Mw!01FFP9HC zcV^Ruv{G&?pE-`Ueq2{pr>Biul)bMXSB-e-zmo^cTh|DjLOEW;vDp5Z`=KdI0lthi zN(cYEk>!o70X)I+**{h;b@uJTXQuKOohkno!FNhs=n?uW1g{o+Sn%5ghp^67%XO#X z0UT5QV-e1^javmjLav7jJ}iEI1E-rHc(3!tV(*YEr})UHQT%U{>#2fQi~mTuo+)_3 z!y5$$Gv|(y@D9brulzqM_)fu99(tqKT53-(k>nD+)>1xn8uB40-{`0Mrv&#yt`Z#0 zGUTon{4F6g7Q04pEe{R;io?gMH+%ht&>x*ef}0x!e~*XXEI8|v z#IF&2hlk%U_)ZW1wcyWt_%KRd=`WKP`fOSp>dT_#~vEx@RwVT@^w9O`+c@^cP9G_X*x8UB{h* zKc)OdF^d0I`3RnU-USm5*|{8Bd9?Nxoq}j+XzgCz+|V$&V(N^la)0i_ zi({s7yh)9K5c41b^U;K6w&Znbn`njNb(1z!`O-BRJ8Al~nDx$>8uFeL_EuJfLaSz2 zZ)JIyRe3nHqQVlNH07k&)@t3zO>kgLR z(--W|9W7*3mCy;qe5EH`Os#nhDpwP-${JnwT=;9mS3!cALYWDKos)J4#L{c9p&9!O z+=g2(dvu|8W&S|7=g_YR0jZC&{7q)Pa_neMBfK-c#xKht zK(IxWpplV!8N-_!Ygz8}C2w|ssfIQhI2KjpK_&|CeyYH-VE zl8j%N?(v3?zQ>UNVGI+xnQ|qbz)#byF?=}oRD6-aCmWofbm{zb`4O1TPxrzI`rZio zPe#yhilF~m1br~h9xacxr&9)bmr6x`-0&y5QG@l^i94Ii5>$Axsf*mP?QZtHVWa6et`Zy0Rpn)kA0308v2PQUsoI4KF7ah_#9>EZ!z?i&vy-O$4fso ze2zAJo-_28&t8M`-B$H~5H}aVv0RS9Pw}@1&T_GQjyAZJ=On|&j=N?Wddp|7!L5Ei zV(@As&*cWU<$i_WTHj_O4&5~o^qV8-Z!&lS@l_AE89uh2JYsNLPo6Qjm2;Qj&-$ry zz8pcXQ-FTH4wm^9zn>`++^4THxUFyXhR>-czvmi!mcc(}_}F@~!O&YiUo^Po^N_)< zes&oC)Xx$4(f!om3HY^Ko-urEx%}DSwpe~89V{M%5$6HWA*Te!L1(tY;c?IUkrbjZZM49 zyZ?Bm9`p|hTs7VCg8TjUI}L8rJ;mU5oNz`2{w;$aZ_?c&xR%#X5k_~v!4vSSoDUg3 zRzE*AxRvuIgU>d6E;tAtIKSQX2=2?%Z}0@-sXT!J>wu4y=W4^>%5$s1tvr;4t^hv{ zNwnUwkEK(*BJjrM%T;l{lhE}9mn{8E@eh0W9Pv9s+$$fcHnE8W46gFb_i&X%ze_8h z_XN>n!ydiLuiu@O{%oPwd40v31g~a+z$t!o;0>KkL%p#K=r(%vny;N6u6&A%f_Tbb z`80aC@>%cUs-GJ@T>1NZt(Cv4fJj=?RlPN`Vj4W~#bW+mWtHbfk6z{B{5YNR&wdw^ z_X5Sm8%sFqpnnimIfUQ7>4@>C-wb+jPp9}+GK9M_xMcAif^YWlor2%#;aU%Nc(`K- z>^TqD?>ptfPvz0?H5YlferI{a!}U9h%B6htJIe$DaEj}9mb8cKcN4XVp!E73!11Z&XPb+`d{m*`lI%qZ+}-n zu`wQ8$%a*A9CwWfEatv-X{)aqV)7NV? z!t=%7A@XZGS2mh|jXzJ~OZ8Q%focm(ye1jza^FpMTAcUip00dlNl2Mi)?6Fc0mJ zV7~r}CH{6#F)F{ZU5}f5`QLd`K%vi7=AT0!jj#Eq?0(vex#MvDkHwznLlln1$tK~) z=j)9pB9K^YYrgotrx9d2AY~Ij`n}p)*FX z8U9Y@A3N?c_st#T_R#ck$-%MM2va{a4ZNRRcYJcNB3Xc~W%ur)pvl3aWC8a_Iu+}V zCEaThkjS3$Ss>517qAw1Zrf6h1#l#td2-T&$*LV)ha@N6TOGgUMWj8#gxy|2D?Ink zaF<=O>TTWYYU8)m9)_)!r|zAbxd*w3_kRmhlbWeTN_V{HV zqqlEYLG63T@1OovNbpq*vYV2)31>OLoYWOtv9qZ-y!Y{g`J#n0E77uhcaoX0Zp)Bk z=I>!_1HTcTg7YT!kTke2pxK=y=A$T>Vx6D;rW$*b3v|Kf5XTMum3Nj)C2$=dQgK{Q zc|~Eeq->}tS(4Z=2CHr_`mGR1sr5!qE2;4MwZ z7CPi&e@R@Oj?L*WGPs5Zc(L_n?~C%B!4f>1ybe}kThfQB)*Dzks ziNG6ylTRnEbgtZSWlPM*r#k}gi@-kz+{r1TYW?_R1pOwV*Rj5x9NUN%1P5zKEWE! zV0>ZI4c2f5`L*d@Cw$1?ru!{}+jL!L3|c?k`;9y{-G>Yxo9<5yZqqFwV>my*#e)0k z9%lG(_^5hFkO>^=C93mt>`SM(wx=rtIE!nO-R$97-~YaMyX<+M|7{0#CXf%RD%Udx z8LJL1vA0aQ1IwPb+N0{2_gKN*pa}Qs&hpY#T-d2M@||s8<5z$a zdHU~cOC)`M*R)RMS2?N?$a`PhO#*P<+B%J|SQ0mkU#@^$Z5YR*CPEKQF*`C6uc#e-m)F$!ZDLOPdfj3c&K`&|Twe`RCIeqv&3Ui6RI4Pd>~2 z_)+gX`VIZdWM-V7fA(R1-6Q#SNl5zvW#Px?J5S}5;4Oy#U+>J5itwb-1JcRqUuYMi^*6L(U(>E6Jk1p5pyzVrhUKVsdbP8AkfACj0h`k6->B zuzK-cSkJi$H?UbznjCmBePqpxV|Iq4CShR+2TsOssUBaCvmxD_V9om438|X+t+f+QZ@p)0 zacke6{o|M22FCGQx7Ndw6^;+xRqP6&dpzFc;+KAb!c5xXh-+Z^>hxqY-c(^H!YODy zLhIq1nA2Wx0%)KZ>To<>f}9QqXh=BO*Hbno-hV&hg>=`?WYi{) zwS(ijjNOlTKX4w3hUQ2@@vnC3c_01keq40; zR)mk1iy02d^{{JNL4G-x_C(fbOK-e@_D;@|S~jP+zG`baFo~qy@)O_|YP;+>*^T6M zdS1m=&ZaqgFfbfL`(A2;rFU*@3@yO4rA}T|mOeG4ouB37%y-$*oOAj~4i2zZIkRRt z+c7og;ml$;Cw88DX%TU1@stba_uYT{-=1ICcXT$m7IMr$%VBflx4_)XUpE)V`@c$! z_g#|Mi`i3DgSnXpQ-fCp>U_9+6(x_?LKL=9kxBBu@7g~4So^H zm7tsBE3*a{gXeRq>cQ@}CI`>PLCdG1);$#OdlvCpH`a?KzEDm1Yrb?i%FU(2hj(BL zh|{{xs%I|2((EQI zR>DvqhA@5GOV`)MXpQhW@+yw^FGX-_aBgX8s1BBOV6u`XDA_~qU65e(nF#M~iT%P= z!+MyT8+kSKydf{X93&?_UOzb23B%M=Lm%1WB!NJgI#{xMS>@S{=x9Y4ge*>g5{dp^ z+Q8oVIF>x#|6LGhtAJqjLu-rchamflbun1nWFwn9H0B6!M9jVO%NXS<7o`rgwfkde zQx|j6jw}ESQ=WAwvvAH_q-B91#krgv4P-9Hm#0Io2ROTx?Yw3LDGvjKE9mogH|75a1W0@ zd_Vx)8!uIpk*IiqMAH93AOB{DNi1}!^2@J9sE&?QRf z#rOc90x#Z+0b@TZ;oO1W#{2KZ&5QT$L(5nI!uTzVrDc4#bp7JsRpT7seb1t8RNyAm zHeh+~;C?H>J0d|()vMMXm&lXQK|rJn%M z_bi&=3k=CTT|f9Xwm!D0N%y3NF5HvMES?rrL3Rrm?86MMG{yAd*Jy_6%27=a@o9!D zXolZIdUJEK8Fqbr2FfBBOKTO!rh;SJz;HkbF%G@#%Z(PU|ysBEnwG%_BT?E2xxXCnin>^ zf#U#UF^+#3us&HiV6Z|_?+j5iF&oV4A0 z778yGpUx$}+0Rdh2p|936JLFgkg&@*DU!1df)7n%8w3_$ir!J+SprFpgT0ZEZ4lbz zs0534;kO-c`o3+Dq73+mSrAw$$==r^E@jy)ad-3TWPxp#4Ya3n*_gu9Kpq%WsT)@~ zFY7sd+?lusaa~DqavV&R1jaiYKMq0Y{t^5d!6%6>hwc#3)hB32<%%L$#TgotvmH}I zyE(P69kU*`WANq9vzwC~R|s1om9z2$91q^tOB!EcLdlZS%kVufQ8@d+lG52F#dYJ( zEGeCZL&F}#x53K_`EslC=l@6a{W>!JD6dR4ER4J&72cdTV9vNwq^)zN@20G;;h3fW ziEo1xDc`p~wg+p^gWnzKj=_(3H9c^ObFP^9M280Rn!K$MoVuWUOK@@PK}oL;)jR9* zeH&z8QFf*?OX_a&*{cZXE!QAUgS(9WCb?YjF#%cjKc_rsmG8hT65OnIm$4oii*-3< zKllB~2C^QKkM<=RcCp~pt96$;&wep8&FPTK1wX+O<9>tlYi}41%=c~flOVC*T3z1; z>{|S^tSlGqJI#kb7J+k+m5=`S5%^0H_@`S`pQIOX5Seg@9eQWagF1^gPpOUJ_l=lUjG*|(98 zu5Zis8^J?Xz7+@0VDqK;q^gswv4YC-=^<}L*s{U2@=)k>d}14A*}&N|$eA~=mJL8$ zmG8lv|6{b-Umn_bE+45)u-QqzFJG(k3>^%!{6-RFqq?Ev;3B+>9wQFfqmDb-n9fm1 z$TX=NmjsCH@&}0wgc!!L4)*iMxUP+kj~>=b{pQMVgmmn0-hrRutpwqS+kM|3b!fnc z-)EG*PjH{lXAExli*W{&j`FZCRz6P>g!B3QE`S}Lz`fG*1%QrxScR9;16P3hOGiEl z{FJ^}aGzekNfYO@MCp$(e2y~si3UH~;PnPi7<|6qe!5EyZqr?E_#9>UtTVVxcRU%x z@xo`O%Kvu3eSN;q;0Z%tYxr1w&NsM~Q^ytLZ{IHTEg-)(T4 z?(v3?P4^Uo+jP$~xXtep!{4TRK?J>BKX2(jYxvlH;5x%+g3-er2Ip*v*3TV=&!Gl? z!q8hjzcjez^B2SCZHABQ0N|(oEuVK2fa8T@87#f zX*cwi&&39}d_H0L*nay9hTih|gTWIf-93g6%W)=tbo=iYT$x{6-^L5hXtut+)8Mwg zRTw;hII7P|!{4S`YjB%xz2RfiwRQO|B}J2oYxvYR?b@u zZsokk;8xD6f`d@cW@BIqYZ(4S;*tB09}kJZCGgIhfe z7~IOa!SJV?6Y!(kWN@4A7YrYp?u`bw={{_5JD&M3gC~%l*4tkSu6k2>{%CM3&r61n zmFGYipR-)7JlzJj>0TtbpYD2t+jNHvADiy5!EL&C7~JaN2L`wDJSn&@&$9-%^8Cv1 zvGTlPa4XL>@}AAw^VRH-6ITc(>==Y zvFT1TxJ|c!Yi#nQTP(PytM%{@gWGfuH+*cm#~a+H`$KsFApgVhQ~n9u(-G%SU8meA zuJ5bg2lZeDuBa?_1NE=Zsk0uNUm< zYwk+popmx_cX7N$Z1U=kbj##9XDmLUE8Wz5zHIAjX=`X*)3mBZRPc9Q5{OL|NOzLu zRV{Zf>5H8B{W*rHHJ>{;2!Sh;hQw;ZbfkH_?moSf__;NYlj6#T9FIHll;Kzw-`DsR zh(Vs5$Fol3pJYMYYx;Vv7R-;|De_l(@iqS%f1bpb>XxOxQQ~)Hk>JMH|Jf3s@3hvH z3!zW1e!a31QI>KW8TZvfFwMhNZoRHXxZYdRv?gG|JhXj+`T6gW_-$T*>QC8net>;y zwE}Y8H6gg!Dt^{KHhGON)ziuDCE;T16opojIUJh->$)GG-L7Bv0L98Un1^%UDuY}1 z-`5r2W%9+}{H`Fc%pZMuD9ecR^m zB7|>wS8m0}$l~}dTjh+rP`G}yEzX^}6bk1m#?NFKxNnm+JZp4*&7!%PM;2q#UTV;t zJ%l3wxxp@26Xa6G0i8%RIq=)`nEuDQ4{%%b`0YG6d`gcD<}A=cVQRB0mv2;Bw4~606jD`=Ht&Z{JR2-v<@3=3e_>CUR zEM07OpeXW`{yI;VFzc*`a~auL3ry6}JWw?fYU==}cManJo>3rdRJ zypZ-Et~nSyMLIY)9|(LQ=t;ZWp|RK+Ufp-T+1c-WJU0OlP8+Bl$FF?BmpyDh1L@Tg z?Hw~slg-EH9TE5m5jdCH=Hqi_1Rmbs##!;UbyzwO%-aX& zjbZj3$BpIxa4>7ZIrA6IYXEu0lu9lF0Hqg~$EbzLh*%B zyyn8rv_~o^rI;}-f7obN%UklX5>!~tn_qVZO*%KXw=}KpYEjnwDzd6meMpsgSAGrn z2!Y{mLv!2t4Xv`FQJt(A{xey7xT4Ayfx;^XmCyq+K&aX!x#XID)}oaL9L6O67l%!L2-38r;rNUSn`O=XjIB*+!Lr0{3(r-`Fuu zr9*RgLj3bRyjuKi9^NSaVGrLa{x|-P^xyZsLlG1BQDuHlTMdlPAG7&wKkA)lt1wJR zd2npV+hQ_>D+?}e{+GBv?%N~rge-gU;o}iPo^Lk3zVno4QwVM}eSKzYu%@q9?t{~N zrQ!8>Tggm-PaE~lQ!eq@pIfK;Q|vU{u#HtKAlIET=fmd^9raI0I7^4Q~o;EdSh;4CaIPVEO96rFo|3vj|ZeShO!CGY;q zyUDzJm3I?(_ZQy1op-PB4)GW5_i}GxLHF32-rDK0f^D|jCSw%O%en3&4U zE(7MKkdm3RisJ`gb|c8Fxee&6KJxf||PYfi84+f%)+E`E6f2d}KbOSgBf_|25Z z?(=x;F3uO(O-5jzjqTQV4|Su~hZNLA=_3^s+I@CpB~jNLpSri#Hw$P%f@v4rySuuZSns1A(Gp=#@#O`z!U6hJI2BD%P{@G zxBdHH*}Iq10H3*kg!?eF>!w56{&$y<*G}62=Gv)IRxbhqIkla0vMAp^wDrWlGI}4* zH;7*`8ow6!NEgN27?STc;^z{doNM2q%I-RUl$G6gJO|~O%sk_^1mEte=ujV3>^84D z{?ZcmuzC-UnZT)_{)a*F;w%)%=SdmL``p(orza7~ zZ&jn423diP_q@VB*X-K(L2NY`q$;t)I5T)1Zn(ube(X7axnV zi{H8f`@Z*3x7{VKHCz@43~Uz(nQ<0UYsSS*ZkshRD6`SZyBlOwUV2$bORoSHEwSdq z2MtB+n%3OqZx6pg)ZI6^`k5MRbQ?tL`(8yuoeI{iF11^5FeLr|GGhtPZa(o&2HKmr=gmfx&DihT+Huf4BSK;%d=nF@ijN?MZs zJo;W%ljhMC(k3Y@X&O5*0rIorxP>?^NeoF^3%?}LG=#t_df#`>-ZOj7+>0#-x=7oz z*37;4yZh|3&pto*{OxlJ#rk|a_-ry4cgfFPwQ2b2HxIpdR&sQU5}6R4`9;DkF_*|z6;YLX_QRPAv@allxUDbmgKYJsc#jUEMs4I5Z=~| zFG;Oh@U&xx41P}yQ~ca?DgT#2IC&j{4$Airh!2;P?-IFwi1+3Bmfr$f1SVG^f?7Xd zqW~1V_uk<67{yP1z{NbFc1mmzIn%?|(Z^t_&Q#5Ro%Vfq{vOz~)rsa3nojvI4?jH< z7E5(g$x*JY8#$C)ICkyE;TJ1&wb`-1p_)ezB}aea7+|23c60Mluc$mNQRUiwHf*`3 zzPEu@vEF?MTA4bww6s1v2ceXu(@o|6Sdxvc64Qg?x?!WMmq#&R`Km2l;2@P;%r5D4qS%cj#sKS7#^peiL_8!G|H~@R2uPh8+8O zz8t$6m1GlAhF@D)7C}>){DxCskY*)}2DQ=7!8=F+6{4Jhtc5mF!w=8Ojt?AVB-V`2 ztY166;o?MVezG7s#RoQ?kiTj>!;cAv8=&hhMBp?mYw&WTm^mhHI8>@v$$lfMxS9YvH>4Q+PGh zx@neE3?ze+@t(Sb{y^vhoW&2#2uQ6OCpRE<+20s$Zm7sz`T1Gu_2@_cm6oDl0&k;t zL$b+Pj&uYRkk7<~R+6Jj@pAHfaQFJ5q?5aVl@#1(!i;+8@BRkNY^eH%)GFuZ3(Td}?QDpKxF%`x(W{VT6FfIjYNrf>FRl&9iSBd8qh%T7Def6p3 zm2#R-&BO`U^tlI0LR;;s#Na#iae(FDsSg1ac_#lH6_IbRu^wV6ko?5zJUQ9~z*p&o zNlfv{3NMVyWFt72Bve^F#t$`Xvf_t2Rx^`7hir*Oi!SWz@4aou*3SNc3wPYo*WJm5 zHk)%hdV2;g^mYt-6`Pao&hFD2nc`Hw?#`YB=23XTyiC!glyfV1+Ho5WViedvZ`-k} zbF07I(Q_MQEpgzk<`WL*GuRX`K9^cxlz30L_pe|l%J)%rro^M{QqL%5pLn(BinHLa zbHzVnSXc7Qc{j%kW5&HRS5@Q8c^vXS!-kBRNDuyU8uU~-Z>M0jt}fk@8TY>VxzmJ zIz8h>Z;*?V?A33%iSCSV23EUkswx+Tw!Mv2)V11`y0!Pnf1M=7HnM)N7|J( zRbdO-hSg=JuFX|5{Wz)nZJQ8YmO6rKU|fSZ7V=9b$Q>Eltii`x^IIO_vCSw5HO!aZ?yR-N%{DrPBp$#pvRwmY5A^0gW7bGS?t8t!`p58vz+ zJgk@5E#nL()5p3A_i$=qt%kn)u;B9)kn2YUKQF-lr{IeM{A2F9Tt6IcqC9Rm#ohbA zPr1vfg>*EpFo$Myhkx@~Tr>?W?bl;)4wZ22$FoArx|Qzx__?(xEFf^M86npw{`4P( zbEqT==LiM)hjW&15j@4Z1kTm(xbhs?C_d9&TXKu=uaS)6>V5DZis64>49+zJQSy8( z20sj(@ohVuu}UP=?usq4C_XO=eS!-c;9T8}YZdBRmo8F3U7bsU5<6eCPOxAG?H1ph zG6uiPu^OfLxTLPm?i9VGuDEjY->+4Q7cXv_8o0r-D!U(wDd%-d3&Dr%U z8nf-|SFgURX+!&l#ueG7_JkPtY72|ju)O!SwI^cWOKNX_%e$cUW=wcb+SHe9gUvn0gw~MS`-ryi{eD$-OL+sY~G~s z)3q)A$X|3JZqF%x8{R9uUH{K4nWJa8zZE`g0`Oa+^!p9}T7&0`&E6)LgTY0R# zstxz3(DP!$RXbMVHr!ts{x;m%l^}$per&jl1gAH<_G+o2pO1H{pJszEF!(0Jhu>DE z-)!hDpMHZ|K6e^EZ#I1HGW3?uCk<}-{H@_**L)o?^p?*L4gNM0?lXoD_0M)S-LDL8 z_5ZTrWA%R~6%QBcf1bf@xbp?qbk}f~7~F=t-0-PIII91w!EL&C8T{>r{&v9`?%4+a zfT6c~`+b93{eQynnPd3;rJ=WcCJk=odCBmx_E4vt0;X_$ZTVbbaH~&UV-)IhtI!j- z`rKjo)Z(4$Q_st0xaS%CLx$dld!ONN^Uq(z&_5VMZ|zboe`}X&`P*}`ExqpP9qQq^ z7`I%JBoa4`o2SO>W6(4)!P*Yzrf&o3?Ezn>^1b3&mS0kk>T@qhR<&q{HuoE z@_EkSRzEKoKGf%B_|eUju27gyP7|E*wfSVO!Oz1x)q_2E+lHGq{B5}F4Q})22E*Tm zyWQY6Tx*xgb(kv8ONRekgICVN16-JnXB*tg|5m{@U#Z^SZg4CAV#CME-(+wr|7L^R zaJvkDt2cW-bqev&_#QI!>~kxA#PGNIS4s-Ru6g}H08O_$Yalaw({&V;adHC+wiyahhylUi=lrZhW-uG-wDghY{4nNjqkYz zxAE2Uph=%H@wMkNTlwv|%#1JdG@U({+3Me(%WUPb=Q3M)Dr6vp^4M@^39jj`;htr1 z8}2!Vj}3RB!ELy=&34gn`H<_7H6NZL100mc=7&!j+{*cB!BtLSoA{!^t(;#re5{<0 z8{EoyuJlhsc^;F_E^#Z*LBUlXjn|U~xAHt?_*i-V&EQs^r8G2v3*~7gQ^Bo1`wed8 z+%34usd^hVIB!+{-!puyoPT0)D`$$rz>ziXnH@n_|EB*4?sU;2jt*KroE_n}ih zI?mD^;5t5XB*1n2qD_QTJ~~eEV1TD3A57n-q2HX-S~$yR5&FXQiwb7oFz9}r+I@dX z(${Ode2gc~2I9fDdLIu;x#ERMAfKh<+CWSN;cEDjjQSXR*3XIhXIUZ7#RZOXBLmG1 z0j~0^9BI6d^4}o-TLS;;Pp|96zht)p^@RA}Q$YNUR0{?4THKLWsIHU@2#56gtk+KQ zUsvGhZ|cPVk^on^_1Yu;1G2#AI85+{I^vqrN65F6}|E=7c9LEwLe$8D8 zWELcWpIdb7!{Z{)+_`R*v15egt0`uAC*t)g-`G_t_x5_n)ETT7S2V+>$ zAWS(()~x~K`X@bE_GD+=IQS|r5;GYCeJ`=doxirW13;0Fx`DP6M zG;s1cf-9ZN8@vhUe!RW3%u*cBP8wuIJ8AlXDRlc_-`35!f^o5s&_;EHn}REmgl|z z*ZiVar9UEc({EG1zU+kGQ!LUhMl~8QxyH4ThfeVXsu#8;$cl9Yu?d&xTI>h(|;YmSOr0{l~QtCnyx$&-|tEAF3s;ji~3T zo`9Y3(#78J_k`Mr7cX8Wr&peM8}U90DK711}nIK z2M5isZ^&YEor9B&!%tOA9V|8>b-ieF!;I`$5;VE9j*_pXSXI{WoG4jWjRpDdpWm|l zTRZD;YzahoJd=M3M^|M<0>}a(E`Sit5aKZy7&IO{+Bkd!awnUcf8y8~vd(^NjIn7MU$PKKV_uNRR{VQ5|Fx+%wJiVXzz>f-G~o^5zJqvY$5(dI z9&T*qWf|`YYhTZrx+puIt)1(lhPAJA^LRUaAmzh`U3HoNniBuBu?oFm>Y{^3A$8j; zang0?uQosKjWp$t7=mWqYW4JKTmL1R4F3b!+T#?!TV;m?tb5SPWT?-?y zZk{?iv$h58>ioZJ{4!(XL-05?hz0Nej2)J66jwuQ{<+rt(UyuQGoL3@xS^JcA9$TP z#a{e|}DudsbSCsUEDts&E*sPlLl=`hZ1N(`QhW4#tO<`Fq;(Nvy8U^fEV*0Dbv zLMV+>%UY4=8=1*7`=72nIEg%d1p|Ru!MAx3REkOF&&%8R?qeTgAHe6$sbwrJ$RXo`;9# z-qx1E4pV2fiB6CmXZ!5v52(7HcJWge85+p^k0o8Ow6o)C$-hkV5O2!$1*SIKyO8(i zXYy3=^6%bu6VmbYmi)Ie`ERyp`tPG5D2#-7Fc4RPBYrrwEXO01ewm@kDP20V;F-*V zpJprkk))aB-`n}b`tjKpX6L=svVZb&p2;-4zoKRTQ7sq?@sbE7GS1+O@;6@N;w8r)vN!mPt1`>?@BD3^2zZL~e7y@oJ8(Wd zG%Kf%o#yPCmp|EmIGcaU@6^?@;7LTTrQ&;;itjlN+2ucMNj5);6XymW54jC7{;xNA zSl|9;r}xSAv)PxX3(reR0n4B#~1!QI2ZIwtZQ#=S0-2k?(zetq(e;ss zG*UjotCJtScYDr}UHjcPV{i4YZPh~+tE+c4R`=Z&85`{7R=w*g5N&is>#BFH!@~{L zyH->qzy<`9lQ1_kd>7BFt5X|Y99Fv}-WW&V5lE}5aMBVY=0P84UHA26`Yq}k;}CK# zQ&HY^)i=(FRXFwX|3r>Fd1WKUG{9^4)HV!iz;K~3hOxTpeWid)3)*PW{kpue;Gt(3 z{JL>;0>%6>>c0tNEgU}Q7=t=j7V)qEzZwP2^<6Re)iLC!GjO!l3HE35R zfqfLesBj+?`m~7Z${n!BV(4kI=f+?H`sZWlt3l_+T7=$}SI~09gD834DfC0qS=g^$aV;PXd<@0;n^`h1VuzY@Gn`oyk00ROt+y3R-Wl#Uhoef4(q zb#?Y*%m_YdP(eI27I=TjXZtmRL zPK_6ZDWKc7G(^KxSUJ6Dk~yT6e{jq$c8qMZLp_eqU||evKJp74>FpSqT_?qBSr&MUg_le%s_DpfDr|u&Fr?}Qrzv*L||I5tzF@9m) zA3LVWLIn5M3OyI;be?wIC%oUnlV zk(4|CRGxmUlcWk%5_fIj3%C;*)4X^Z^WNAgaoS^=_fvV|((al@U0Rc1kM{{~XosD^ zG3X_G2kG?iQBra^TT`K`O5U~Utt&EZJP(XbIuT|Z!-?Q zaLh>%bosQ!ZbWrOaq{*L;^i|Upv z@NjBzUH$U<`Z~WlDQ?VxeLo#@sA9Q8|JKg4uhn_>K6FW8U0;}IU*T+{advW{lj_Wj z8BVtdJxi{ybYYOMeV#smXt_@+^=B%>m*mPxC);`3A1mTEVTeMXU z^?YofsYURRkA9m&J~tUYwr|lJ!{_}5w|%2OGq~*=eZuhPr&;6m8G|!lE3R_}l#}gF z#hDN3h@XR>;!hETBW}ZGKBVJ!!iM`RhnCa3hFt_b&upe6AC`Fymlz#i+gf72LyNf9 z6Kw%bUDKu9zvpkiX?+2%6%{?2Z!Y+l6T(fuEH znicgxU4}Jf8W`OiNeBN_UKhsoZ5|bdkBWbm72aySbiBUJ#voh`KZF+w&#--bqW-mS z<68|H3ic(JfLQje)A040#!KFZ{`-VriS>+ojlcR|FaB*Fq!;ZI>i3u!UHC291dP1G z_#cq~?#DapQuYD&{O+*~r}49HLIlkS$n+zm@@x9BzG6^y_*pk35enn4@z(1uc+z|8 z|1+UNJ&Ub5bK zBYqmb`ez*(rX8TfKB?T^5JWh5jNKQ178%3+p}!RVL;qM4y>vQjqU)DjH0{2jj{8uE zw3EcIcbRneC)vPDpP1L$igH!*abf&9tQY0KLFB*A_~mWrA9eb&`e}^!Evs8n z=N3Co<9x%kMi$|xDFpt{z!%c3nHzh*KZ0Rf@@Lp=bET`Bl4n-JmSln>f1vrfHx9W2 zYpJGkXB?$}i~`QhjJ+3YnXv7A9{VhhRc7+HV~gdc;yT9bZ?Ff0aE%bh7oV3gLc7l{ zmI^tpE%^f+U!04b$YSlo>i>$8R!D)vaPQ4xhr(d)zXI*(olABJc(p5xf<{>JT( z4}wod`)hLk#u+8?H;AQdPh+ssJ@R~%eK;3o9~8r2&d1;NJZO<4lQeaC4@6A+s86oO zqAI_JvZWY$<*{#Uo5+m4!Kwt$%{3PI@AQD_luO6gM|yA#n6s2}BjSExT>hoZp8q=s zr8t|pz~Pm-;WVQ{3T$;`=-Un1i+a*gH83qndjrKyEcWp9u#IUZ^^Gt zwQ`T>(&2i_gUp{C;e0d;O>*Q3L<9Tu?m0lMn5}u4-w|zW6OKSd>PuVX=o20yI+epq z+5a|QS-7P}Mt_Q(agY6ll>4G`JsXD4zP>B8BgMDbv0YN^T}6@{9RZig3Hf#C2EyW{N zvf}QJq7qy3er7{Sks7($bR4zgI=YYRL{uW2De~e+m}`+cM{kC&EOe1R zHp{I6ZN>UkpFvy4cOq*&BMenFSm%m(o{gAqa$0Futu&`5JHQLv2R{`dgsa7qqaSB* zV_h{|C!L;L;5ce*{V_gx8p z+6!yqToy+`__eNME9X!-r%oNj|G7Ad15v7M96nHiMZIaP8-6&EJQFK!c^n3E%kWoH zEY^dMws!nz?fA^Cnepz26Yx=$JhK&4{)@?i@)b1X`#Sq`J30pvoju!k^mNLa5gF@E z+_Jgjq&Fx=qQ&*O*c{M47v~QAn!`=b_OTX^4aDFY-CuRh-Wk|gceoNWEdAAUus*R- zY#?vsd$^bR=jLXzw1Hef8^}h^&A9b~vMFt0Dh33*$)dACHue0yW`0|7xf3-t0lYc&tPRAk}$Lnl0|s;3ic$6bg*7CILCKQ^}!jH zZ^0JD4cMO-`h;E!N?gfV8ulG@K6(%C6W3JN+%*IH0q?EE+}H5T8CzU(!SIwX;~hnM z?fcZKg;F`<`_$z^v#njs2}M2}V<#TYT(NIQoMSoGrQE|QZj9XG=LzoL+c#|EmyZds zFK_3eTz&-Bh@Wdmm$GoB$$Mxk_;v20h_;_#F#e(dkWKCCfAQ%%>jwXbYx z%QRitzOBEr(~ND2=Z@aK-3dcA*w^0QxviY8yB8MG+xmNN(OJ;48BE#iwP{^*%etm^ zF&$g@IlygA>sH@x+06mC@}Rw><+yy#i~5i`Pp=QgsdZHtYauDb z8Wd$Q7MijcE5{PiJ#m@n!sC{$Mr^^##6}AQ`}?++g=aL}fs-Y2{evAjGU+Ykf_ir*mhKoEagKd1sGLBxS?>ePzDk6o{7Zt9 zo?$8eh~Odp_YH36t^dW~cK(=MNjmbkW4BWd_4TfmhkJF?FB^FdJJy$w$tENZ+8mL3)=`P z=RJnr%Jb(2xAFa~!Bd9MFAP4<;Opc&z}IZeXt>vz?}-if0Yh)){G6d@8%6opy=^Uj zySJ^SUqD5|Q68H=7YQEfx!d3z=hkp{8vJ(+zSrRM4gMj6FEIH35uEbOHuzr~daIwu z484u-<1zFeKE$%eJ8E=Uzkq4ugNp;8t&cFL;ji=IV+_pN_v}5sssf3Q{YQS{`{%C zOl}lU$@A6#?~~`xgt*j4j|RB5Kc5V6ZGXNH;M&ei2|txbh3yM*DW4+&uIiuV^c>Da1CS*$2v~ewD4K|^BWeXJ>Pec7*6-__fO@zVm6ENf0&ITxGsMw z{D->c+})Dpem0K($J?V03!Y`Sk`v#5)Aun8Z74AxJ!uUtYP9N(3uz1&cEUe4o>Y_FYXi;hKzWf?2t}ePm{QI@@MGv9; ztc#|#Hmq*>wD-%@^`Vp^?L_f)k-PmbSQl}PS7cq(x8>%o+ZJmbg!^_u)YJ!~6tF0I cy;Vd1T?hT=u7lY3wl1tg;_9H?Cs+sle}<~&G5`Po diff --git a/linux_amd64/lib/libcrypto.so b/linux_amd64/lib/libcrypto.so index e6d0d80..88520ea 120000 --- a/linux_amd64/lib/libcrypto.so +++ b/linux_amd64/lib/libcrypto.so @@ -1 +1 @@ -libcrypto.so.3 \ No newline at end of file +libcrypto.so.1.1 \ No newline at end of file diff --git a/linux_amd64/lib/libcrypto.so.1.1 b/linux_amd64/lib/libcrypto.so.1.1 new file mode 100755 index 0000000000000000000000000000000000000000..06b33b27c98681f1d110cb4a362aaf2707ee1e2f GIT binary patch literal 3350520 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∋ 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

    Gj&crl3yit4IBB_dk@o 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 R53xaKkfLZIxvI^nb9nL?m| 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νpK8zJ1HGzrJI>b?!g!dh;J|w7q*_mA7))^7i*e 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 RV%yl*TPv3FN&-4uT58Tg| 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

    b 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ՍL>6Uj zg=c&_YwN*ZbSN|fGQF$pGVr9v?H&F$FbST%lSg52Tc9PlbG83 zXi#Av3GVE?&N{7aWn^?#@b7l+gwsvhIq#crL~NE-64(q{Cx>Ugnn^s-c{<1!9Aj!%^_E9{Ddbu#53l(hDe-j zJxrgKB_AK{!5vQaQG0CHvC{U3n69n4c%8vBPGIdNBn8pr98WyL+F>D-Q#cHpmtM!8 zh^5iHP3jqc&tACG;{f!_btP;0A`Tuh;! zpZxnA6ZH_sg@#{|f%5vua8)07z2`aorBoG3tFR%~L@=C~)fE`eh-UWct>jX^TM);D z4as%+pU8dw+ZonchWnQ@j5`~rV}9K{(DX`ze|6D@>0c#8q%1Ok&bBQDPh4!|yS^M@ z^?nTjcxNycq1%qtPm7`cW0mY0(J*+=s1}=JEe#y@Nd;YBOwwXO^Vx?_vmxqk3(#di zz{UzZo%z`X`CH&bX}9b`mcDNVM@$V_pXp{`rn8W3I&cfC3$7%(w2d&;x&@s0hg4GC zD-VAfCX4(H2*yRy=3z#`wb=bz6q@&l;Rn>z5fBrbyBG1p=?BIj_HN}Iy*StJlWAv) z3l0J?8dvbQL48c!!wuwS;ibUN$Z_1_R|4?n{wMz3nMkzOJReKpkYx0?OCx5YO}b^X$EdV zY#&Jy-&b1Ag><%~0=IvonBfz~I8l;G{O-WI?kGe9O1+7Ican@ma0+qs`CPC3cP<#< zTaWs;9!Kmp{f7&z6(&j^d5&e6{OlPFrI=dqE)r z1jVm{AA`b>e>uMV{DNo1nAH<7Z__fU;e;9b^Ib2V_#lE!U6IF%t1qDOc8a}TEXQ}e z+e;J@i@E1>ttt6P0H~hZ9K^KvvjI1aNb2|rvgA-BcVGQ8{LG*def4>Yt?G=2yxddx zMtTs4crL)d8}uU2KeOT7_6(CLn#SP4C-+F_0a+r<<~-Xsew)Z{l|;Jk$kOdU&hpaU z(?IoPI?%nnmMr;giipK-fT(4ulwyDr+_+&4Qm7$EdM3`W753qLd=ZNFrL;2h(xZS| z=ozdqd=j zqc@Z`&3cDUu+r?Jqy3bnk{x6es{*>jRnR;2udoZiEr9$f-w&zGij@^8d1nE9=!*4nr6}8_Dd0G zm%Ky%vsLF`OD7X&@|38=9pBLZ{7qTOAP6?TlZw_7`;7d+%ahPwrz^b&nt! zMy~YCo3~WBBu}XKzNS3W*7IZP%1DYyARn~x0K<)ov$_vP(dMtKh!&$4#JqfGe#zSR zESRf|nM?2EZL-P$I_V+E`h;`i>y6PpueNb1-9ORJJPNsbKAAO^aEHnk@5a1zV&UuB zHgE?S!iWM#_#fYWxc-?4PVsLRG7stnGygoseLlv5*FLLrA#W6!@g+~eoQX12(Ljrz zVy_@K6RPkq^9*zsZo>{1#c@I(JJ>p=jEk&!jJGtDles%npr3`On8k`;aGirr;QQb^ z5V5DPS4ATsS5x@DAAYc-n>`?nw!-Jj{sQ~YCL{aK+yL*L z{Km^9zJ>BXtsq)mFER2akJzhb8|k`t7fHF-DBY*pg*E0IvoF>SFinSd@ewP!c&ep_ z2;Hz7dYIaeT+~tKN9R@JUw;In*|vqCq`5e9N~evEJQcw1RxO9MJXT7#vjLIJL1T|%Y3BOAxC^?IA+;4+1p8B&A z+xTS`*ENLrE%QPCc%1+nVKr-L!Cd1e_}vFQw&WHV zSP%hf9xlhh!2nj9DMJp7^kI5ID(I4uX?~-&81bSig*UbyrB&5CiTH>zqHpXS_WQ+t zK54KJdf&SY=`zo!JipM8|L+YX_A?Vp(~2fj_4>)1j4vuwn!>vm*buS$hG@;Ye4?$oR0wdox)= z$b)TGUXSX`wQOh2rP=r;uc6g;mhjJ`Ldd(~Bt9MfkCz)Qho-Kj5`P{%0XG^=!9LHT zncTbIpoJ;t_#@KQ?ADqj^!&LNY>{0wJ0FsxGUYKYsI-dNTG7IZ=PNO8EDGeSwqlmo zW5I!xa$;|?8=E}*npUC(%cB4fB@aEe>@>%yiWHRL!v;JTZyYUo;dG#%X zr(eor%LnU_M+wjQzQh0FLMD?iG9u2pB%MZmH_ZcmMGmv71w5e``I=qfE`nz-|A*Wg zvqRSHh$VD@D17x+Ys?TEaUOoYd5=*u}TuK<60rEbY%P7 zrc@Nun&;0yA9f;k^7SYfy@1Wa1<|gWPM|8iiti}|@v%3>{G*_+ERVc{{%HrpxVi}c z$UF>tvObZO7(jv82$pjTxeU{{CfK(FGwg)uAz<2a6InZI$lCALA?>$Z#f~-IN4fO# zT(0LAT>5Ydz33AHh7Yx3uXn`2hvP0Izgp|5nqxxD`rY?{mDj|gaxwX( z%$*0F+(!NyR*x?S0oab1&TQptpG=cd+sx^<=n3Neg;Y-K!U+2{OB>tV(N6w5sZKp{ zzeu7ZOM$`ja?sPhk9^unBV=sXKDzy)7gv343J&YJ%heWIfIV*K!L4`JQC0d@44J9K z#rHj7G!?b!Z(cIE#?5oUZs0yIX)F)T&UAsA=0WVh<|thXn~(bW z^GL~DN3PDu7%Oy4gL0fgsWE+&G&!;z)I!ejvB5VXwW|ocbFU=S=O0cTYS~5HU3;4D z7<|o^rr5v+eHd^RTtja&9_IF|0kD^DKGrw4Bc1<73pMw$$A^EP;m$Ro#Q-=#aZHZ`So#P&>9K&j2@^~r1ukhLlWq7j4&?fGC)&}m}DLG11G96XeJLewx z(?y;<=S(Zyjz>*gT)uGpeIW0sH994e8oUF8+0m#<#Wyx zLA8>Uqv0zk^{*uUCO?4sKJEt-VKtCUX&`g3j$o^%tnrLpGnAraE1?zolTk=W1c%3- zGsnljV2loiHWiy8KA)2D>02^TZ@~z+b)5pXN?H(2du;;iyXo=wH-*#RH)OI7U>^6Y zq7y0|UI9wpH0DzG&(H%gkLbeorA##Rg8Hd5!bELKLZ-%qm}p{@`<5uq&JOA!l+a>q z^;kFeS12CTnkt9SFm0d^^n$OoiwC`*Y(|_LG&nA%fwaCGfyJvVt znT=~DsOKMZ(B@QC^1{_3$~8HjG~=$)PkIvB!Vf;o=Vz-~$=W$D#=&Xk+O8tj@#H8T zU)E1ocF8e+1(GQp-ElBNycp*@EP+oBYpK@BH-z>6Afztx0%el$2|h0}&U8y0<}>~d z@}iA8B&Dm&Pj_M1`PwV+xl=7D?4?ECzUjj`hJ|DPCVf0ND$hpfN`g;kDw!XalDyf+ z(_pld5L(@FjwveWho-MdVh-CT$zRL@z;N&om@sL;TP*>|pSw@u-GA?4&hvf(^}(ZT zG_C|6-Ka{RwcLlh7uNC{o^QsRUax0rB9-WhQjV}`QK6-*)sU`wA$+vnaqb(Yfz@w0 z4Bb8}01O5{!-W&*u~tu5wCge=I` z^#AZ6^fF-KgwW9ZCcH0a5Btf>2v3@vb4hIZjo!~sfEM(45<+GNiHDK~Ov)QINcW8m z9cJ*F-)-}c%)n-F*-Q1X)_M@g^XrDjqCaBpZLer8ZIaBJaMH`2yngcsRN{Ssxfqko|M>l$&@&Wbw#`UG zL8*I4$uNwO9=;3ciG{K)%WI+k*?SMLCYr8ccth`?D2g?RG?iWiRHPTF(!@p#5Fii| zNJ146tYGhoV(%5K*n8y`dqu@AA{LqjMflI`X443IKkxH?|94&g^)GC8=A1KU&di*d zIa79a)Sa%1X^(xhdo``o)_b3(#Cxzydr0YYmDQ{fDl=OsN)aorXpWX6Szlm|R0(mXNIOU|)umsYcepAx;hiad+9L~|Oi zT3O*>7==^!RQ-p+A^EH-KWyt3y0Yy+s^UDmeANlhR;rEI@FVY;CTc9%6V7_YMsTlQ5 zh5fYkGRG-v7rmoY^@Q*28Qs$Us?3yAe4wv=|8$kY+JUJm1r599FD|*RqVPLZ{nFO% z3jOYzfp#-F=lVeu%<`Z8$A=sA{Ta_v%8Wtr;`rbaHD{sk|1o`nE@ki|5*EtiIrdEwL$5 zo1J)EtMSkrIr?vX#eY1MmCib=Dy-0r!BULB$!{q?t6Vkyr$TPTYn8S0Cu^mwtdgrt zf&Cn2vlR^QUeuU5?3K3GlQ&AYXYjP#ixRMvhFcVl-}91>EkCPe@Nk{#`pG^TRtGYb z?^c;~Wr`yU&E<5AH>vH>$ye~IIH@&si>X%EnW1vi zCLK{q*sh^`_wskFN0q*OIf+Fb;H9 znP#f3H0c$rbKlNWul+`qClNs%5_Uk zy@tmDv~jv`=@nz|YNr2OjBK`IR_J8bI7ehLryvz5j$Rw%8DUP~E$q(F7*so~hj z`5Za3MVl1TcMnx^U-MAy{k=x)*rbIj7gxQ;zJzPb_e(6+Uh~uddmU7x$@x~Nyrp)Q zeE7S)3MK)km6T@kwO$NcC2!o|rH~Z8MYHeFn+i2Ln-$mY@Km<-U8Ma+qmg39ey3i| z=4*}U&eGmLXfYPxc|di_L%Oz3Mx0V*aW^cCncx*?XXhw=E-2}5@{HQOvDUC67e7)~_RmN%y!hFpvfOYkt;G4H(lr0K&rkhtgvWDL)xXH7hs#;j~lE z&cebnmYbc*=U6gg;opYFiRD|wVjaM|lvGwnIE|jd;3opy%fmCw%{+w8MF0kuhZzmx zrKZO?tKkkVGXq>+9$0WHgB=zYK=tyV(pd={E|Z^_LX=?H{g3Up;6_jE0r4~yJj>we z`tW0W6x{i6lVvXcTn67bUj>=?-{zw@&;KvDr3#Wp=drEH@}h6 zy~bjxP*ik2!=I52h!Fn}w@|l0uW+x>Ff4=4N@rNGp?u?LvFY3lh5(W(DszH_37W!; zW%60s9&U(xkU;HrAxBg?V}SSdIw~2&3XrQaKq6E|pHTwzi?h zF!@wGQ>b`05g`!$zaf=DXX7Y?r3^X;t4`=-$tjZPHZr6K{g53Bj?+g$qzYOVwG28NTc?g(I}<^6 zuE;DuYg?Rc43kagW|KOJibR%P*b@06Ni4HmtYwl4^H~;i2U(H;bJ_f5QVaP@<*`g+ z*?gU3Ng?DbLvCn9WaJ<&wv75h7NcYq3i(UQ4Q-EX)}7Ep8}=X3Lu)6SUWWcbi`kJ@ z7Tr*yLP{i17M+ufxMk4USP>1}-}uSQSXumr61DSh{A{g=w&JgJ_A>HZM!dET|1KSN zvMP?Ou0%$0V6y0BHAXV%WH$L7>14O#YN~!AVPJat`FmLg)00_@Y=I&h+6wzVd;1Rh zW1*%R#NktU=}bO7hQ*-9bGTqsf(;6Y(di5xpUGk42u2p4!RCRFXrK&;+J#}A$7?5y z*YW>AyrJG6RC@<#ktMr#nR$q0?Sx)d(~l=jHofe;@0@>Uy+CL3*xJal5jyAJX?NO5 zdhI(if3UDXsa~-Y(N_ot22>CVIbr-qe5wQ-8?qUQO>?i|7H04+!H5TJp24CXZKw6CUM4x*9PA; z)c^4-2+dj<;{VabVcX!!pN0x68Lr>Fu$hfjFTKtig&ksKI285N+BBwTg1bwc){O~W zvu5`=cJ8>+Kj*i#9iKU4VAQ3Q>b3jR=R2LX9x?6sXx@Y;E?bIsWp014%sKA+=0@5p zj?&@YyNp--Tx4H0KFt6A@~@@Zo31Vy%9^p~<%u9G{c=6Kvt6vam+X_jQTuqQ!Hm;i z43Z!AZLE4eYnzD``({hZiMe}Tt~$~W`*G0bFX>N>aGBs1u+v!IZ5CaB>K+}RzWeVM zs7$PSc6j!RX(c-`rg+&P_y2bJWLa&to;zt+(JPxYuRVqVmzMqWZ2pKAJ)IqPZWSL^ z#hx_(G;!PxBj=5377f?tuD*JBYL_0{2RB|hR&#DoU}o#GivNW6sftU&D%X(m=;Lpn znW~M)EZrz(7 zayxPI(qmI-xhWw&u1V2}bL|JHo;>zrz?5poiIK53AJ2X`v-4)wfZvU(-?4#PC->Tb zT^e85zo5&3r`3L=Xui?oEBqhLF^S!GyJE2Aj{0z=tjd1c&W}`<{GTcxD<~^ef94(Q zH*K?HimCQQPF~16x98n0(^Nl&M;_|Bze;~f0-AwhyLjt^6_UKco+t zI(psS?WcD1eq{V)o6lnHdHzeiKh3MW9OU2YRG0LW8-1z#UB<%-^Cx^twI64DDD894 z>Q!at$2Kc9mR54@zYi){lfS!b-Gi_m12ftxy$9`Xzu2zddsz}K{L!slmTrYA*Nt{7 zGGp#4jo#R;^iKM?yAJ%ROMS-Y^sg9J*mz`<%JnwyWhzmD=MOA4PCqk#U6h$=C-NWc zug7NXQ83zm)A>kg^3)4D!wPNWY84m^q|@RTso($8{F{7X+T{`Rx@!#Qs;J#iEZuPa z^ri*D2TW$`E@pf=zPLqu&enoaAS=)bl$%=eqrbEz zKK1BUpBsk{wKWg0lMh=mzV;WT^zyGjmnnXWDB1;fD!X-9!K(k{y~s+uuFGk+9rJDA zrrw`IV~;!MnE1M!iBEg-CFg`y-Dj1cs10SAd)>EgShcoaP4C`o&U(?x?p%-|-_|1w zyKXl3wYc(mR#fe*#S!B@FD>mt>d$|gewWwkkqeKP{g{5e?q15sVMjM@x7Ynzmt7UF zuT?g)eP{EMru3atW@#M?RhhnQ?eCNBclYYga!s7Wc{$R}Zh82j)z__`Ru+0W6>y>t z?OC|LVVlRPyw$(L9vuxWI(c!y+cWPPDMN3ospK80ncZ)Y&eq~9I;Hb9on9$*>Gu0p zgxAMDS9iNE9XK`9BwE>{{Zp5;X&-i8$;#ZdC+W)FP_Nreiv=(L)AUmX<-haSm?s-Q z?>y-eueNCI^!Z%&uy2Oh;znIC$MTq`Fl259eynCKJhU3%<>s} zW)r@@ypeqUY0vg~%17qj*>~)pyfOa_@%OcCEhsNNR&Da~^(n*i&YoeXR^PCR3D5gs zf1&E)@0CBidv&Aty>>p+OV|9?E>Fjq>+_pj5}N07dU=j?VFd&JKg)YHl+ z{r1DzW$Ts4tgI^fns@bV`yX(v{({E=dMEu;s!wj-x_#+-5EsA5^7%LNCvJT=WakZ5AG1~R+s=ilj}GcN z=uw%%ps^Kq)_WM`e;a=Djho|aW!?Qd4VkZ94D9d3KRL*CWVxzqE;8FYByU2qor>Xs z9aApPTNm)UM?gRJ@6TP&PKnwT`JH=~%Ncn2=(?cFJp=9i*A-W6{&qK`n_T68B7aXv z4bra*a?O304sxj6zS-Mq>FxRD3vc+OyxbA9vJ?0+-TR!MAF~qsCAL%_8fJg`{IA4t z3zMSB+0M0Z=S}-I+{)CVf6a;Jk=uuOCVgwB7nrH$4T(%RKfrm>pu-iOYq1&SZx2@I zUZ=oUu!Qkiu3NV_dHnkZxz!ijIN#C5SO>>$d=h*Www`CW%Y~HEGPJe4W&Kkc4X14 zq*LRM&ZYU9p7X=x-er#5^wVt3!oSJaO^|=J(W7X*)Ui(|J-@Pd`N2oJ%e%*D%YbR* zL?ox|3mZRq^rs<#Q+DO3Pl#yB-(S3c*c!Vp=bZB5j@K#fInQV}%-Z`PZEkL^KE1xU z_l$uanFgWPUhEa|8@u>kh?(oUNv*25GRpWN^Y2gc*=bFFwJE=j|LQdTcol!*%J<(d zVEv+2&s^?q*Ht%om-(rW%db94h>kjazf|wT$fV$yrSrV4>&AUQb@Isty@Y>!a(XSe z;Mn5h7GJV5R{r_f1&T)2r71pu{nV1{ z`DFb->had?(WHDR|K#Bo|E8oX!Rg=0rfdsuU39o6cYt7&t8%-@>q^s=!rr%LE!@HC zNJl_O`Lw~?A^+s0M3eSX;Ira>Be zPhETVjapV$taNMnR2Jt$B|SXxxlZ7#6_pEh9v|BLSYgWC?jB=z|LQ$8d}did-K=Rt zpIxi2S~VzP^|-}rVp4)ac0A+t*2yW3aqNHik@6Yio?W%iP8^=FbL~s|on}?z0c{nj zz2AJ*_K8Xhnlt-E;arv8>H7DQnPafOfWnt2@f67hoD(M%x~W2!GWO!mXCu{6 zrLV8Hw0s({zP}MWd&8?k5i2$4Yt9<~*eB~!#sf>W^3f%ggL*AWdaa4IcI|P`Ms1PT zkPNk`PnA|zpDC>wZs+AVbaT*sjl+IDUY_q_KI3*=v*(ZRKC={(FrAsN(!&a#UVnWq zBIl>h`TDcxr$u^SIylNH;N;J_=aL81)D+d4oHpRdz5Jz{M8hV#>_7GNc+CAr2Nc(Y zj#=5tn>J*uVo8j%SG%LfjrTutZ_gZ8wWHr4<&dM=Rfak!v5Q8V?=0n(P4{~|XX3pp zWnmT-qi@K+x~)Ad=Ti2m*|nn?*WSD_{&9jZ(Gm`nf2i)7!yN$kV0%Am`M?J& z-et^=?A{}4{6<^z%lQER+Xd3#7bP+wA&KEnO%Jwb@1*v4>>Ziwoe&Y(usm{ux8C7| zJBC|dL`MD!U!=D)K62}rf!tTO^mF|jM)t4ydgO`n#Ly$lrsz(bx5X=eqSHycNMn^1 zv-yK#&1#hL4fP9$8!c#3$V{mD^rGSSuI#GMj&2S~x)yrQH|~8JNO@k8{Iq)2`x@o5 zIRl*bm#qwY_+qA6c&cyLekIGBvim+#SmET`6ufV8bI=Y$#?!3CwlQz^nZN2{HO@6n z;S{CRG`XTzewK0pff2V(# ziZb?FlWFa@vFEqZ@1DNPr_LOjM=Lb%JzCvU596OR&ChZeC%@wAy8`Ugla+5HwyG^! z;8E5md%@PKZCMNZZORU6{hAhk^qi~Hq<#_8c&?{0{mIHRqSw57ob*JSHhk)k_ER}7 zM~}2!m@xIhRO4sgOvl9q^VN*IVK3L8E@x|QOdFkd)3tYq>6-d(IyQx&IcwaKbfWW( z)x+06?Y-nIB#=V6A30{w?mhV;hn)F@#m{<-TzHsXl~}Cj>7m${$Okh0XyQ=m&-G7G zHPx}j8y43Oqa7c0;CgdO(6a&BWu|H7?x)iS4{=ouJYIQt)-NiSmhk1;-~+F36R+T8^>jrM~1(ng$(_`a9eS+zH-`ubE7P8T8#XW89MW@7uQn$LuI+YY0IskMHuty zQ=bhp?bg;_~Wl=)pR}XiW`6jc|v$~GS+LMv3pwjrcs%c3Xe0<`dlciO&O|Hh~ zrv4YEUmUP&p5B-xsjGf2wa8UlargK5RQC6`U(ZFpOwP-lB|kH?wlDqB=a9?`BR_s? z*qCfQ{|)oP6@JjpooR9Fuk579DpDoo(GGNPf9W^KZ)rotgZMW-B$BM3y#e4WqkR(D zYszF0SEDa6(dL(Dkop&rurDj6f4*c8flrRYqA2@BsxBTd zKqqo>pUj7OncFjKYHFtblh)R&#rWoo?4mDU<{ujSEq2*sZJWI#yT2bgG2m5jwTEX> z^=$8&9^fQLw77=R;dPtDu4j&z z&T-i+E{?eTNWWClzF2+{^{=O2Jf6@!Up#=&Ek|+HG0hCj%)C+_pQ0Q8!GoG+5?s_y zsp+XiRhVyj@|66MfhEN~2j|Yay%M_+b1{kHsCuCMdT-O~<7O{O+B^NXY1X=eSJz&j z(dpsgF)JpeTho*J9+Ms$IJ@*|%K7LqC4LT77#D_xgv>j-o?$xhMKT-&D0Yd3l z-HLD%Pcr`_EKOF=n~^U@FLKIJOyk2QCnSW%CMAAlgugU)HA#+J_dPTw!NLpPSirJ4 z31uq1mo4A?I6UTSwc5s+9~}->{n%uq)N--0_~C(GB@T;+HeMa|a+hYt_!>LggDugv zW;Qiio4hIp_WYpLlHc=}t0*!|VUyOP3yTu2EILU)_nFq7c-Z<;?L~VdHec`jtb|oZ zu$KC{hjzT5)MPgA#i%i>FwT~+67#*!9vnZcH-&!4;pOAO`;#Jvpgv|v7;ojrE#JD0 zDSj|mP5*{coAF*kN-}@DgBRs*$UhB_C+rk9K@CX`n~#d>C=mvJDay)QjW3UIG1?Tl zL7BNe+~@V6H<5?6Q9NcpR-=1#j}N|eBb(CZ7LEA2TJe^=U_=9Jl)XN8)9#|yzCyRtkuxESwESTO z0g9SJ{fN@o@@oBWnetOq4zA0*xL@V;k|W?$IrM_X*Abykz8-XSOq`>T6~%B1Rs&&{Nghs%^-*~t5_N2uMF0WY#vq&M4K zU1nb$>W*C-Jw@sMK+WOpj#vDtM=Aq3YwtZ)E@iG-?yWN-+h+as5&S}J+Y|5Q|Dk*| zH0V7xe(#6ABWHjA5aqkCzPw^RY9NS<@=p8ev_4k?_m!R_L9(Bu{Jwxj`ZH)l)OTks z+ugp&+H?h-OU_eu4RvJ5FPqsPp$bNSME`pvMXp&ZZ-7DL@@liR9_39BEGHzbZ2xE8 zmxjvZ9XCd;?zwkH`|eWp62j}>1s=F-&s!Ep|%x1FZ5*cpi`&bI)yZ!y|c9PVVBM06Ml6o z-Zx2pR<{PHQD-(Ex*GD>< z5$0s@e%lOp7mwp*bH>ChE?wx|`@oKaVSOzXW}aK4_o`tu+wj@&UcM%!z2}@8FH%2Y zJ?h|iN59dtJz^D4MR85fM8lc=t~@K*sMoi4#AyBl_Vj7BCoJCw3Hxr8rKo(-g~}K2 zKXBiF`}4n6mjA6FWO#}kyL`vkB_mHx>$$@Eht9}1drCH~#Jb+UH)&wLFJ(rbEgq@M zXDmIS_|B)wD)7*avUw+NA9wQe$@sNuu1}A^ioz?emW58=(5Hwi@Aou+YVet%!J|G@ z535*i9e97<$Mse@;q90EwPGoAhOG6=KD)d*K_sSN1m(r{%ns!M;nbbE%pY*-!p=HTKTPZm#gb39`8$p7sFC&zw^s}D_R%Ul?n zt3x5{ryVduJY9JDS|RlR8wUk5*n0lz z=k;|H{8y(Bo9vT3^?|!ZL({VaANtSY2YXDe?%cTY0C$=t>wZqeuHcY;){}L^X_Se+ zlWrA0JLs3JF)1!RW|C*0>QN1ueFMw-w~e=ZyHftC(YRT2y5x_Jl;5{|Qg%@IiR=~I zG5Y?SyOZBG4L-Ad`oK>*Nf{2uE^R-hKc5n{D>%IH)%q3JO}5IXX9{(}*&H*4jF zdQ)CA71eWt-1i*syXTC8S&7}GEX&0UwwS!L8O^Bup!2$l#&WN{6xw}P$)=pB*pI%C zUYI6hQ#&*}0zeyW`hj~NsIFQUBc?>(eO*&A-haaMqc8f=Zb}PF`bqsA2mq9~nXk%t zsdd`Z2c_IUV%}OA&|cIvYuTe|S>lCMT+0JvugJ>z2|v`Wvi9R;>J;;bpac z)7Aptao>zxtcPW9`l{ICWHi70*`k+AgXg7|J^yI&$>?ZA-ky^DS1(uns61UcYdZ3cR*9_&}hzgIeV>VWz!O}ujUF${{E}9{vjKLD2k%I!N{x%&%%+th84s#6uu3sG^QDzi_FoR z&D1SBzh_{SpQ!`odX=MgpLN#r7qv`Oe(TP8pXYV(O3yT&*gkccS3jkGdc*0$Sfw0f`qBIbN`Jl(?<#Z&9i3NVAxWnWirI!EJ7({k zUdvN0+&0@}$AR0%7X!{;pFD^Wp>JjXG{ag&p}``2%@ax=9jl@md!0Q8(p#+uO}t#r z2&=E4O0pf7-F7+mNNxWl7vM6isnC2`jCF}@2{_)n(Q`0YoouNKXua+ zg*71;WVIhv@eX4PW|UP{P|ed^H}G~pmmMJiCEF)`@S?QolpiAP_R&MHZsgpm8qh^nnt>E%H)ET|jUIab zhRe23vl8^x)i1hKGFN8GrLMuQomf|7a_>RF(7ZthW+si-d;O*STVD^oec0n8Q}iw5 z6RyfPt?QLHt)knu(e`Tl=y?k%HoId-UCyeNqnR($zE5_YU9CFj>dr3D zC&Mv_zx>X;yRc*Zp1r$r`i(!Cd+z+(N7g=t-6+ikCu!P0M)CKuo^z_3&(O1D!nlvl zUV4ccy)JHCG_>pWrVs0!d)=N|c97aT>HCe|isJHPSDHp;F7$N1zC`P|pGbb>BFC?? z`hsf&spKz3PHmFD^3iKy72OKzbVgfd@kiMx{+6$=+ZZ!z)BU^+#a$Bb6?+eTZ|CBG z-S2;rm9{}OcvIzlul;={Xk_ySHV7*qCby(5vqq!q7Q+Br$taMI)c-%qr+lPv$gVFt zf|rN4&oDhz_{#fE)}U9)x^(l(r-#&bFH5d6t62Qqxh1Ofu{?9-ij})PiZY8L6N)0I zX60mMYzxOcqMx{bDLt@i?dZ1F*H={woBRKmF4n>L?mAL*zGSw;zVgXX* z+H}u`O+MLW&o1SMORIxYq9-i-{9dj|S-WhaV|$cMe~WxYhx?A#t6*JF$W)G^vgyTj z&Eg+hzX)MM2U)+m00imbs_}RC9=}Icv2g~6oL9b>L8!;#@?#ilOqj0-4-^r&ofFrD%ay| zq)wrK?6J#N%=EHa?z&+G$6NY8UuAnyyQHVCN9^=s<$3J9&GWGSysNtYy@Og_hLG~f zSsN~QUKV#aP(m!Bhm=nnAb9)KaeiTBQomPd?_2(|qv!?5>C_*z($)AJ>>o zzIVpq#n_&~l&v{QlZ`8)zgkuv)$>`29o%~@=yqE|fYQ6=$B*|F)K-d0)|!DUN|%cI zH(~rWhP%6w#TVIjX5l}6JEh~dDm2pAR&%8-uH=0b^*i?d^qae{jFmlm&V5mP#SmM| zqjT(=cXv~MXdiP<8{2AXWs)8BdB$z)=({~mTPhz2%7ZCzJbsq)icFMuA34 z;l%gJw;fVco2j92aQ9a?o5&E)vhs vwGPck(cdXg^f0rEx0x(3z<=x{HpDl0SDh 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

    L3x7o5Dvjuq40{c~4Xh&#QXm98s=xFG4=rhoz z(3Q|N&`r>y8)UruK^s6@K-)q)Lc2nHLkB@eL#IQZfi8uvgsy>Zf)?F~_Mr`+Eud|o z9id&Jy`h7kqoLEG&p?+#S3=i7H$jVTLi^AL&=%0P(2mfq(B9BN(9zK8&}X1ap(~+l zpqrpYH=})M1856qTWCjUS7>kOAn0i5bm%kCrO=hoHPB7aqF!hp+5p-D+7{Xo+7;Rx zItV%%Ivx59bSZQtbPaS9w5T`QhcMT30(u-1TDG+ z?L!+tTR_`FJ3_lcdqW37M?#brsZCKt)|@2bV3=}vOIi+Q4BuMjP{QuNiUMAMx`W7mm>KM?g=iYA_yd^{f{ zhJqg=>OO<^-W2r)OL_Pn(d5zfY)5&WlH2PYcaes;QlKJL;7bDPCqigfX%arwMB*{{7#l92 z*B@TD0Fgf&Jwob*PLnIn_^G0ib41f;qa5A=mjai8I+qHkTj{OxM|Lv5zaD?tzfSgJ zP3igh&)@9F^B2hYQWwjWU-}}^Bs309K<&*0E0;sPXUlH??2giY@zc_7?0HdV9#plF zDv|Ouv`~NI7fJr;n^G^7g1(WPzxZ|WC2!@Hv-!+&DNns7>U}JEy$zzy=`zls*X=`R z@s~!JQIzGyi2K_wwiUwr0QV6&-t3B4BY56l9SzU>kmKQbAJQ6Lj^>VY20X9t&x7ZE z!bR}1w>i$!@Vle^E8wfcUjxtku$$mr#BYVK4L<Ur-w^RB@NzVEoSE=P zApRu$@$ie_PlkURJ`A6RZwxF^2hc*LXP6ZA3h9Va555Z|8lOT=GD zpA>&7eM)?H`n34zQ;;tsejdH!uV}~VMZQ>ke|lH^1N0&Br+g!?dpcq9qZyBgf0*7A zKa(CG$e2POllTmJ>E71=T3~Kzd>22sxYXNSZh5J63 zxr0l+-Q}8TRNPOTFE&T}yovKi_So-W~!T zDD{W=@kyoL9unr1dVAnqQ0kBJ`DLX(dV9#(4g0qV zHTUBOlzQI=KKz$o{0-om|9#!1*fal{M}7IbACUud|NckFu0BDw{ z=_we;r2PG}u=yu4K7V`!^80h|KdRW4%Tn1zjQK{`HOj z@aNQj@O3x7?!?#8{9(>AN6MHFmGQ_dlGmk@)Wz^qMIS*!#o5beQ(*oZYUbU4xE~6a zSuHB1juT#`%Hi4X^hs&WVS%evq6 zoA7%q^vO5n_0ZxKqNx|)-w}5kQ3aEV;k zWM1B}`Wx^&0I?mce>i?WEcN1!wLc5jQSoIvR{zdNWu3%dllp0Fwm(n+*4UsT6~{7J|k z6lZySY5DTbHWg;ElF{h0vgeQU@78i{t&?}>9n@Ay%+u^;g)7{d;0EMk_HSp|B5)nR z^;euZw95mW2kvf`Lo3mP>j~~ImP74Dvw5C5)U_qIfqM#Z3h!UZ4F&fE0jRym_MfBO zG2jL&E{b_m#aZhX`2JQFR8KPVTw78+TU3R&u@B&Ta+9GIKs*8e5|rC<1^gFKoDQ9z z;VagWb-?YkFMM4nw@V1VHI&=o9Qck<&iiHXJ)oTDzVP=zx7iQ38F6j_*W)LRq~9Dr z*WY+-KaT&M&+FL)SEHQcABpy-LOK3f@J~QF{^#Idf^z(?!oLIM_*cV!4=ps#;_kI& zpw!%9JDF}0PeWBWYwO~3>Bmi|Z_7A8$Kd-Vr=gtl(+1_|K{-E{!F%92KR2TMCX{o2 z?m&4zlyiPYqI?9(xel73pHorJ*OR7!UjXInN^ioih8CL7?1bQnH$sk&iHV|BCW%I& ztDxb8l+S<`PZl40Of>x$vm8D)MamuY+eJIxbmW_cIK~-6yGisv&hfGTO@yx! z5{*LLzolQ!y~v08_tzoUoL`iFSJv}~*pI)00=F#JqF~KQSKZw}fvC?tI1bxIsRS z@%|g!WtY`q$f~~|ZJj^${zjGG-@mx;`3cgPpF6}cDAn4Q>1TH3}&$rwwU4rL>`wBBk-?{$Z z$A2E*Prjb_+iTu)%{6o8%sJ;i4QWeJU+_5npx|5j&q(^8{KIDvp#M=}K^gt3Mqy#; z&H9g0rS(K9EK^#KPhr9F`WHPE79Mwq{wOMS+^BJr=x4`;d$$bzv_IGCMu_RZ6j18R z@NcCC=|2hzAEQ5xE2H18b9_PRg8B4k!C3`Y(H~|rg;UD>Ok76aCo56k4{Rpi@=t<@BJIKkGj~Y+s=r z#Z+jlbZEGT3e`nnZ$~Rtqzja{Poz&VN>`d({2YAH&CtA4GpK$B6%d zu9Jn|e5A*?7r(zpDLJT!q{{sBfBsd^|NXCen$`06|M^$l|M$P@E>-_O{w$)l+wgH7 z`Bz1B@TX$ENXh%={`(&k(V1G_Ul;Y`l)UdO>c=a2e_Pb)tc>@uMZJuY_s>PWtdjTH zMV+o<@IIxemsd`#S5TRl_d^t^ib{FrBZYq4tEA-piqU+!#qXT*-xU7;MRW%^(MF#Z zqf3#hqS_pZ^AnW3|M9>7MUkqi{kWXyJwN#;MT+mu$=~JAqW>H-BK&8O(%(}5zn3Bvf6t^S z{MP8Wdgp(kJ~5V3zaBGxpwFI#wBH*V`(3}^Ij+7R>Qfcz{7y@Q@W1^1*g7WzKU1%e zmTT#M+Ow6ozH_KbO`tyuR5g`4k;gLyzlr|T^|{Jie>ePgcsjw}7p{LE=EL>+^s^{<6WuiwCBp3{*NF3-|`9rSZMyqYmS55v>na(z`?^sXY0>+==V*F}z8 zgYP2O^T&CZ=TB4ga{!)#kEFlrrGWa<^|?p5zL;56hr4**Cf=AluAkG%!+B*KFK5Ej zhF=0NF}y!{!GE1k(54z4`u{%f-GiLGk@IL+|G&?l8_DDPf79Y0Sp4%azp`@AKZQpO z`zt5jHtOGsw~qP`;-^Plf3C1V{mi>v0ih2P}B)wi& z9>1^yjw6p7x5^f;W$}gTA%Z$ywK|nUSS^xZxGIxipu*Ejc~bYP9C@3 zF39m3aD(OP>408FO8)np^AAlKz1$2}Wx0MN9*Q55`aih-eDw1Yc>(pQzKiy=jy$fP zkC5Y@%K7qpg!aIF!+(RT=3JlVHdPUgpB|sI;Z@-|_*~RCkowa&NBm5~>N`k| z;XU9%ORm?CD|#6M&$f#CM7ZCZUC#5f#Cxy@$XNhS^}uI))r?EZ3)yQs210((o{9xcP*3jQjynhwvy|AgNI&t1nk_2AEv>+P+Nda&9`uIH_Xempu3 z^|GjU{5X6Z)>l?e*XVg~r}!mN-z|Po)V~n#9QB;|mF)7k`8|2uemQ9Ie=J^x4$rup zgvD!HyphFQkn8!7_j&v;#C$m0QtzVPU(5A!Klw6v2|U5OMHRyXxV}lFmpF^kHC)k0r^1>&X;jM z1kb_cxI2cNnN%K-KC(vK@c4ZE-KL~F`e~laGBd{pRkJ=2S~w+%fG>E(LzxISm1KGm1& z8*;gt4R;LJ-_xh}SMF-APon-|xNrEA;>eNuRpfE~the}Pi@$5}T^9eAT<^zh!{~lF z0M8j-n##iS1N?eyZw+#N-JUnb|CG>cDi8b1NBx=Paoc-ASYJ)Km70f@4$VKkbcH*m z+4cEOF9R((4Yu<9$)83Aw7klHsB7s@-M@1#!%diQ6X0$e_K(7UrPPh^lC#OZsiUgUT+xt}BG z^EdKv96HngL(5Ne>8F=tVSQzFY#h&L9M-A~J&}*=vnsjHN%!HLi#SF#fCun1;re4C zx?Ww)_2TW}E_`Ys|AWgVrytj!hw<+tIoGf^g@~1mH%QK% z?5CoBHn~2If(ktUQ}FxAoa|kkBgf;j;`7+2BWEMLcs~0p@VDTJyV-ldcaz7h zcaO#QS^N)jy$`Z?roVd3)u$u?~6MdK*~0rNz&&xNGrFp{h6qDDz^wb_tF0)k^`6hc$Fn*h~y+VXB%>+TIy$!>v71u zz~dm-fpd|gs&J0<^SJm)ydPy8Hj>AU!+3Vne^Fd4g<5GWw>kF}6n=SS4 zqdxZ!*I$cq`vzW2FI?+oG5S0R&%^g%d&|@Pp}6g>L9WLqTbgsOL_e*__4t=e=kc$O z{C22MmgRbVe@ZXi;a)}d@5``{3Ug{IXLXAZWFB5m9@o#!7QZXZsiu6)bIDl(&l&!T zC1R=(`D30f^!gV(i_amqMn5y)^7-a-;IrZKdFJ}?`{439X>lJepKor7`sd*C zxoPqBaQWPIZ`5yr%jc=ZvvB!5Ha-rgK7-5WtXJUp+Dop-KWB_{9`3x%^U%e5|00hY z{~~%KA0EH>{PnY_uK<_NW6SgX6XEiCZaOW8ivusg=eKeAs#D?eIq#p)|C!|B{4x4G zk36o=ju!6{=Fs(?aeVc+)DJ_wQH_kP}dU{>22|w<87>6cs4=&r= z){=9H#k*U)uf>O0e4NFnlIzEvU?xBATt@R=FP^1-4taQ<>C5AJG9K?9vD80-dNqve zYjC`pNKYhnjswSP)k;gwI^;Ola?TPQ7hB-j(d@HvJ@5`ZHG#bxU8m~hLwNco_8({- z=w%mq-2VOA;y+vbgsMC~-crt|zlO_bxDVe0KM$T+#`P7jU6)J!a(24i8ZOP@*~i(} z;{HrO$$5@lo`2l{Pdv~5A#(14=U1}RU&CdY)R(Z!^VvhRz54Mwh2uAc`chOMH*S@X zlR}Q-DtG|zhki!DotHRAUZ1)iu2!?p$9m_(Gi##j zeGFa#mvLB09zK6D#^H7HxN&#~IcjY*KL>XV{~7KYei)vDcfj@*&{N0oc!Upwmxnw0 zh6yeDeJy&a0r%lAGOPOV)OxP}8Qy|CyiTjm=gAcOJo32hy;yQyiEi)JaL@3eaNqFp z@Bl9R{RX(RA-Y|+Ne+Af`dmP+`}d6gA0vOtu=Yv_PXTZdUx}B zZ^O8Cf~P-YZ;2acJ>ho~WeirHvz|;DM zCoLagJ|BS>|HHlp^@a4nt>;PNU-o<872wV>cHRo5s>4g*cc8u=x!#YyvAs$1xc%5p zauf|9EoUL;5_lfo7v3FST)_3Sa6QnUT(4Id@An&x`g9qtKO5t4J-kG}kDQkGkUtCV zRbbx%pGO|o|02|@6S%$s>X*Qi@Fe^hcnba~e6{3M<(!W20A38g9R4=khxdRVTEP2J zRpXp4*xrw+UXM>;jL$dZaoe>I`KnfQyAHvVaCzMP2cCwvML)-%h~pH#51t^`*QL%A zr-YKhad$H6{o1_VQ&HbItf%|BHKWJT8RT*O_eD+)IXjWl4j$Cue7RqJG2A_ zxN|bQoM(2HFAR?tA6^ZQ3s*^gJ+9x0oWXG4VZRL9I|iPw&wd(wDtUN5G`4p#+%x~m%&v-u9x}z96V|G8h8pW`FB(*4EuL$MfcYxs*mgQ9prdM z{wMGfco~e(SMUHgI6GsUem6=c??j8=Xz@ENeh;}m&v>i( zJd@&KQ~KA;YFBU%z6tKW#PtFEQ}Gws=^uy7ukc_My9X~@i}Qn(s4wLD`r^;Ralo_{ zUjfJCdw24<`P0|pLoGgaC->vL9L=xrDtvvkpQ9V#8{viA|AkM$Ut^c;-M*RK4^WSB z81pH76T8DPYT0h~050QM4eJeFkLFZ*4)t$Db4IOX&%q^U$D8oY(VRo?!nd%~?hBW{ zwy>+M>>hmN3+$fZV`!Yi`GfJ4`+Jit<3GdVw}&}&Jf6YFql5WyA6%V|;}qk$%#!mg zxxRi2X7F*k4%bE7;ohw{elf4UvE=Nt_#ulQvv~R1@$HSXVQ~VBiAGqxI`^n>u(?>17f?V&f zY-PT2wHW(7u++b0@eh$xT#s`OV*efxZ^*9S7ps@bb$Go>zran)zu|wCYDFH`e_L|> zc;Vpp>c}|sf(M5851r1dAMpOY4EZBbuZ;Rz;lAN_BFD>ej*FaysLvVu>qWR{P5uKbXq- ze__3q>7#UU<5tV!r;vx|y>EDYT|Dg{Xx{XhXGB|4dPsf1{uO*U+1z!as4GY&wl~;zhM6s{roKc6?+}j|7FRq zN^fA+`^Ep6>wmzwH51>*{&{KsL7VUm&vc*j5If3M7pec3{eJvl5bCc!8m+$`^{Hd* zdu9Alzotq>i4OmK2%f9PJ|90_B{>D`@4&ag-9q*^(f=;EQ;xkG*1HG!UU_y|`4RHC z`B3Qa`QK^7*A*`QL6y+y`N*$4ALP7OpFA$-REu9muJ?;mm-~4e^JEY_Q$OlASaNQ& zc*f!nS^PFB(&6fK2EWXp?hsgD~x%v%bv^2xGm8#F~4P)O6uOdE@ zy&B&JRVTy!3GA&ff11N{)7Y=z%WicJ+`WzcES#S&mHgT4U9jG(B}cy@jg~$9b|p1j z{66+MSnnkAxN)0_`t-wGkEaD{4%~yw{RI6r&2c$PQSYPv*03w3R>6~xa6Z~pufkn; z6V&TpJEO-x4L=?J8N3AE5U#(DN!RD#o#21MlaEH%TmBU6U-&50p9C*~zXoqb9=E+` zlk4-jcS3`((m{PkOMN%w7eCGY$bC!w@dVw!2TvnsI6M!36h0Q7d4_Y&hU>TO>6|S5 zG5F2o`a07)m(MeDy>~BM)ou}1PDTAwQV;jx8{kfzX#EbjdtNmEC%BLLV&oLiaOr;3 zNu1LZUJvdXejeO|OU{*2-;UQSIm4wMF57zpJSRB?yy69tQ#aa=4_D_$w`-l`qh7}C zBY4muT7OV->T&)^thX{v;PCqYqG)|1xaUO2`2x5y>ide<=XxLGIRWm&x54j}{8PAI zd>P!mAUdAwq#iEg`4K$TfOBNO{0a}?($5KvczaU~qkXo7yX~Xn&;hO*alMRlf4B#i z{%61g%&%tH8j=|j~(d~5_^L7Qum-Su%R~JUtI|%L@Id@2X z(`Y|W!9BS2vlX6$%Q$~8IUS?xJtjHLqWSgc#2X%ur$)D{Ej$I!WBzm#Zyv25CppIa zzZ)JH^)JDl(>SLlj*GY99&%(nzks_fqU%*up!@d?uLD;txqch^Zv*#?@#ziEp+9F==>5$2 zUL84Jx*#Wm@9&YEev*Ul`H`H_q1RN($eD_qEOPL2nYtaGhnGR03*hp-L-pYg!V~yj zqPFmraQQx?!SMBPAKzaz2-~|&axUfZ&*C`x050Eugi%u8z~%dq&P4tJcn1AkOSeMx zauhD#kMuILDn-*QZhuuK56^quc^-P`vmV?jW>3TQ*Ez=J=*u=ePm%+8yJS4|=|Z~; z=btLopIpE1=rY`wllrtJ|3-`7ft)@@&SH46;m=ue)}lUz`cfFT?Uwo-dE?j5OB!4?Jyn>C=#NJ?F^%%oE`re19RYpb2^0_@7R$_hYIDt%w%cj~(C++zo%K zRBubpps>D{nre*0I7|H$ay<^-P27L@n+s_jvn}-t!hE`J@6CM%m{*U%b3NG|`16(= z{q+iZz0NJXUitis{(8B%@%aSx?gFl_hwx$_>JUoecnp0&)cbUqUUY>Yl7qI z^{<}_>)UeuOzg+!EcN|c#^cjbS3A>ELy>K5czohpeOa9{)FR}P5F&08hfp z!oPsK@QU#7;KlG)aGp5~Pc-Lz$tl+g=P|?Uz>|hIfxGaISZ_Oc27Uv)D?D*pW82&xNOxTt6ZFS4uqy&%^20JA}&$cyI>SKZN=h z;i)s(uf(`*mHO7~&%k%U({0#S!oP#3&S$?01AUM@?s)kd^s$bL}u;ldb5Z}*ZVNOl;l5w7V%91mbZp`ZAPQDkj9Jcobs@E>xlPTBj z8{qPNn({nlRttWgWDeh}`8~F4B)y=cbL9ItU&TCm8-2?6d0vL~eh3fHzg(AoOCC4= z`z`*5#S5{${z#s0C!(LK@BkO`g>VO+9mDk(q0c1T8OtuepR+wYIiCF;*e#^<>?8s?#H{4eJuK^3(v!w!B2%dGq`>e`~sZWL)gWw6nua$hm-$4IK_$}D3#i$Qva()%ehbi!!{@^w(y-({1x~v^0;}m2leSYI7iOUOU~uTJhRgRKABRRuAxFL^c|>X6-~?R0H~Hft_GaYz z`rp-0OlXnEg?4cHUglKzQ>CsTkJ~R-BR>=He3tvwqv0i+*gN7lod#E%*{?zV9C!+T z8+;)=5B~)I6g<0ybL4f{^->QXiu!GmuYd6ZEpy?!q#nKizLz|1dp*m3oM-X8CFf6z zAJ-c50pBBi0s5&4m+zsjjd|Vzp4`scC7%~NA1>c(eIx2GgUk0-uSWjWaQS}gsi+?g zm+!@1h5Cu);r(IEpFZ$el?$zsf+pW5ZoEfp1^vavE-~K49BglWxceph8#qpz!V`Ph zSKzpA2@if^uY{a7@a#VJdB^h(xCoy5jlCc0J4?i+%o^^$5$5Nc$nla5 z!(4ft;v-AWSEvtAFa67Qsna<}{Ci7Io?Q2ndzbsEkK^>HjIcF;J?}aC7 zu%CeX#(1VdIz38iM=BH40!Hj_9x&MNlrcX4w$z+$m8bQHRO7J=C0%G0h%7+G69}4e7@9= zkJdj1_YHqm>d%fo@7M@;&tdnm-Vdc7F8lF&c&ZK8=TU!D>h%kMv`GII=mlTBUB2OU z;HkEpBl#`iIe0PhJHQ=d9D2dsb2%r4`fK4nTpk~%Nj_ZGyIAUt{FmXW^Ef|){2g%B zj$QKi!d$9Z*fJ#GPVT$~3SxHEyrS;qgg(CK>MdOpv~dM|`~lcU}n zo}0veE4FJi+%?>T`xCid#^HX+(Qh!LWjS)5hC7D82KTPxdLQ*4!-F(?0RK_^CiZvW zf5UU**|YE}=j(B!*STh}cf|475bjTBm-GKQ;xpM_LQZFR?uMwR;Ev(f!`*3IzY95c z!BbPCz7+0FiTYY`?8k4B^Pc!vuJ_=3;L7kL@YEQtzYFyh>4}vdpI~&s6!=m+D#fP&0fSldp zL)ia@AAqL@v&-k}3)}Pfs6p)gF@I{n-GS@@{8V`A8upLj7r_1g?8~vIdL{Z+02~QZD9Cuc+6C=Xypx zDc*zqTl9a4_?7IkU;4xS?(An_JSV_Y#q9EX4`#zvH};;We-!R@Wgnw>c?zDwc|-gq zcrcFZWuCtVSMaqQqqf6yS8)Ao_!n>&?!$k9`(2{-MHgbe8Ga%>bvf5dPIGwBIqK~t z2QGc~fV-WzUVMb)U&fwApVQ&qrBT0I{1SFLiG<5C@r$Fr2JUubPojQ1Ty=>0SMbz@ z>>1Sm1`patz4S#qZaMu%Xj-KI>f~{cr*$pfB+Q}vGgI(*ipSa3aAzXBQz~4I>S)Qi z!s309qb}v^gsB{(#)V!}HC@ME20qJ@bEn1cxA>zLe~LVOezA(LOXd03dU);y_WtPS zZMgd)drOSNPI!6^`-iCC3ol;F-UEIJUIPCFUaAAGx7Ts~8}KUd)OvO~zD|MX;n$$P z6}?Ut;lR$@TT2hj}H}GpqlP zdbbnLH>nRS_3vB!ON;Nf_&*juxg+oQT<2=x9(Qya(L7lAT^A4wo@- zbrrij&$mpLE+@iW_?7S^+`EqJ`@k=S=ipbvQ<5`*>o0{*g8Ojka~@nxyY zIsFU$XgP-dFBYG}F5`0z+?~rV_y2E)2Y0exf&Km%JTZ^`((2)A)PL@qEsFNP2KCvc zT>pA0uK$=^ACKzt=<)R>dEB`DU~xIFgD%mW-z@e2l85K>pSd4-oxL zhBxN+)hTcvems1{Wt>w2uM2OD`m9mk0iH9w8$1uMh@5NSY9IGM0zMp`hR?(Px?buJ zaQ$%9&ysrhY}7B1`aIV+Lj9BQq~Wi?Q*b%1cfd>Fy^-?^Jn<{%?}RIiTOKZtch%w9 zgIs?V>YKuozeT+*JOiJL`c81?cdnlg9}F*nOMV)jIK=gjqW%u4hfDtp;hDo+Fa19a zPyfMQ8soec?j2#D0)G>({$ihl<9Daz>tAR|i`@V0iSZ2nWj}(P?@=G%H(7Z&{~v+7 zMSS4OelOjL=WVtW`}L?lkv#5rtZ(t=$Vn$Shfa6l(ve)hU$n${-K`Jm1F1ib>&IL2 zZ?O2Sl5;Yz7sI9&z_W0^s!{4ucpg3oeXfJ2>T*uEviyUseyerw+zvG`Zf7+l>7<4IaQ{eCAv77o&cck@GY>YxpbVdb|8{xu4U~&-?Hk zTz@aDUcM)f8=pg{cQ4?a>$zN&yPWd_IRBKsRtBDfH$i=Kc%nU5O8vR;Bz!gM+mq{Y ztN8&xPL+XoLcOPdkt{9q;Qipm@FaXRJdb>NzA!n(`DKj!=~!>V@Y%>oT*&L~ig~gK z^}ieYaTz>s_;c_aJb^x6Lw>3Q=gax$ebkpiKQd2t!NpQ#Trtl=Z0k*3xdH8-9oCjpTTudII&Sqxtp7b$-&wKaD&t=Pcx?KGB>jkkiJ<=^c7ym0s2`>`=x(Wyv3d z{KVDK{JF??jr@g{93MHkzR{fZ$hpkOkv{J;`rK^Ee;@hze$jjxhhj_qA|w9?OaAZ3 zSJy=ItJ4d|dVlpX@*9!I?XOnk`nXFCjOKJkPRhuUaoAw=*~^kY0Qu=uG=D1cM_Td& zBmdJ$@%_(2zBh>T>9i9r3*lLKE%-C=JbWB{3%MS*TMxDfMdsli_=>;S<#FLRxNmqN zy)Ye)=V0zf9*=60>-?8cFZtErYYlG(_l$np!%K|%ZlTlnzii+>i}83d2=3v0n8S6> zb@0?HT<^g>c-pv*nj1QOp6ElaR}K%{BXA#m${P@$lX~o5+W2sJ8NR{j|FzI-s!7Ir zcaX=;+nmMMwCDHRCl~Sf%j4Zomiphx_5Mmf$o2HHZ@3&^%w7VYjR$}P-1WKsc8qf^ zcy=lKsmM76u9mS6fj5Vz;jhBageRAC{ZnQ62kpqi`(s^s{8OmEj6809u0&2={{nVe zWV?n+{`2hed*sH!6D8~(wrlT8JPw%`*hgc%Q&6v7WPcAn6P|_F#`WH8a@~K<=>Ify~$zf$tQ<9c~M@+#be--w)drG78h&x3ys z&%k#he;+*kL$v;H$@!6eFLKJ$jaEGldH76RDA$Ci^ISg;^-bY9_$N4zodXXJbNv7u z@0Y=yKiTJ_&wlWdzt}s$$H3L!?B~O0!rgz^ze7Ls;mLp5dt$yl1kV)k6?IR{&!^$} zA^m=nEqV>~J?;1J#e?|XB{T%7v@I_fez54S(T8^uIis|AF*xc+VGbUR@Tg z|4RBd>W{2J|4XCw`=x&)XW;jo?-=!eOaF#%r4Qcf@kuR-=9i}lsXZ|KhLgG8_oMZ- zP_K;ohHKIPW6}C1sCSK=iyr5C$Ea_Ode86)CERD~(P(}L>EH0xe_;F{iPm?Q{*C%c zi_!nX(fXA1Z{#eUhW?HE@zTHHyXgac;rKrk&7UFt8$KDwi~nG>{!Z!NsINsQx^VvM zUpzvKoKF@@|3=Qw*uRcZ|D^P9_@-6pe^E4lwe)Yei}~g+jMl#){TuZyen$TfMC(70 z{*9cW>$u)A>c5iy4PRT#^}+qo{CV^Ss&Ky;elfiPPrEXF+gt4ZebJoxf3UlTKS?+C z!~Jq^w7v{I0BLs&-!J_e{&}A3Q};x3j-oy=eB)fM_ZLL#%l6{qLK*cZlE+=A)w`S@ z2Q#(!@oQB$yOe4{_4@I#xHkKea{PnK;HnY3yl;6JJkgka@d;e-!Ash(zlz7%#pL?_ zp8pzOZ_9jM3wI6QNgmh#FOq*g=S%!_ed)CVua`O0wTM|NfS{bf1FzcQMWzJTjp!)M&e zp6ed1FKWO!p5afo=6c8QC*NfcilaGitYl9ae&uPLuMEHC9OSQxo^N}j&!8mgXW{WE zW%zA5&QXRB{t?$RE2BAEint%w@cQF8C-;1`er_Lj&+yym7e0jh*YKrH*aQ8G%V?qL z5iU(va8AnbpXQ){!yC)v=Cje9ZuCX2dcCgUtIP9xbH?+a$Ekt1^W?Lbx9T>Y|8;O& ztcN?dv!8|jx588Kui!i2?j2lzE^@wwd$ZYRpnkw{+^63wI)57A@!B=~{l2`tIpa9` zu_3!>_(584-1Z)mKId>ha{jMMFG%V0Okytk_2{z+JOh{e80Sg-om@W;_1)k;T<&8G zg?svo0%?)@X_7OaUG8JdgR8sQzeN5WO)yW^Mdw2my78swgTFTFBWv(DyM{kT`MN&0 zCR+dC)fi91m!HTvj^WuUTpzp~&G~Btd&=;So@Q5uPi(>Nua4%FpikHE%{abtFGcG= zzn617!w<`Kui-mzJs-Rn&6z>J*k6xN%J51T@Hi;LH=$4eg=o$n>0(J?wJ){sqs#<@l}Gmvhqha=jeCb>SuVvCHv$ zOKZ%BtD?v6nHZm-chsG!7*E4{)nr$Ox1#mNZSTd>=l$FdJ$(+BUhw2X_UgDE7y>VT zh`lQO2FZDh{cIdx_rXixO>qCM!NDc=asoW@4A;y4tq(7LmR{X3Wobvh1GWBdO20alTHrYZY(Tc=UfOJof@S-98GJ2jK3D>`UQK z!t?Mqk+T6F=r4GsezMF0chx^^| z!hdl6_DVG8I$W2!hEKtIbL*q^OX-1F=X-|lz~hc%cxM_1T^|_7X;1RFd2$WLtvKLu zlk@OcczP4NoNs4J{p;*jCHl;g>wa>^Jo(g;|Fy+`M1BtWqcP75 zui<%K{3fsWBzP5gdK){voEK*n)@EgP5n@z_{5S^d3+VcJiUW@v~gX}58I~-wGhL5N9>T&j8jplf8*YE}8ar-xQ zIgh7$m-}yp{=34HaJjB%Paf`HW4orqJ;N7U*84QMK3`>!Ul~uxUxoW0az9_7pO4|* zN9X-SU_iW=BM+Y!?BIMku4}`SJK^Z3DZCg?yERB|NpO5~1cn*Fmd?h^nCD$*&xb4LAM0ay^yHbt$ z`XTp5)TiLO)HD43-*|pHhQCVd)#DQwK)X3$mt|G zFL91|Kk~S77>4{{ALrkL{K=O3nW)eF!u3VCu2^KLUrHX%+qZcCrttu?3hrY*WJ>V{ zY_jBR59@2G0Pm-wx0i&=rvcbfj{jqp^-4|(IkF#Ry&l}$-V&q!X{^^b*1N{CUdhiH`O;6KQFQ!e ze3FI-l&_EXV#D8pr{U87M{wV${|p`&{w+LbGro2#CH=iqbUtKjKV zIj433|6n6L)0|y$wvp@c@peSFYd736d>=gcBwGJ3JY{%dFy|}7Pl5Z!{yK|1ZhYi; zOrOU6pN8#iZ>g8#RJG=M^St4}WuD9NTWr){f2N zIm+W4d7S;sQvW^bbGLDQdCZ?*;d#T$4bk(KKBs0}U!6kl6W7lNJv<-GAg2!1$BjcH za=pFI1H9e>)VG2s;qrLe7Vg63daolq1wS1*eaUs7O^rTBz#TX)Z`IAn@r`~S4c{L{ z-=B_p5BYZ?r=gLvm^^NKmsaRq7 z%BY`?`ixP(6!krg`nOT<8}<89-^Hk}LOWFVQ)1MgMXvWtN29(E>I2lvJV;pkuNk;v?&}*v1 z>wFxQLH<$HXN>xyQM_HVjr^NGW}j-*S3&(4!|TI`8h$pszu}$X#fJBVUuO7>B7HxT z9`6jl7WJnYo`ySy&xF@Bd>%Yuc(x0#w~XNrQ+?d|`H3)x?z?`**V|c)|7v(@cht97 zabl#rq*AILtY(AZL)JevHMhC)fMk$M`3ZGs99p+v1W_V&vRosec6P4UGEb zmim?CdVl4s^O;uO2YWVce%!dN3-jr93gb9^1D-VeeRxf{JU)H}Z)()xAC$BwWsW!{M&s*OSMM&jaLoKYFcry*D1m4Lu8Y&xYeT+F;4q zV)6GZzSH74i~nfxgBCwZuD8qG%Kh&^|79%Ci>p|?4!O=L$#Kqdn)Az<2<9{jY73yU^_aKkkFa0e()Z$|;KE>jm#b=Z2?Q+rQIXoTIJ#Y^$&-)&= zo1Gr+!zGWLw2|{Ce5B!p zWBK^%377p+i(L2VW4*Gy&ENrCUI#f3o`au^elCV9^jQn8@8^WqSH^mKQ@wuv-o`lZ z4MR?*fD@V_XIfZaOBEYAw~)upt9i)ria19eUmlixcv<8>1NY(bymdW13%>*P+u*5E zoG;gtUy|$lc+Qv2!^*WdA%2f~5A`P@=O4Ha-v+NRj`vIYIL>be9}vF(lfD<&*uPg@ zsL$s$RXbxm8&FR8I%Bg&VZsIs#A)!LE&J>fcm-#{Q(dCoPI3maUx^KFPaZe^ox*w= zhsCFb!9K^UKJeTk_9T3yC1--gXOQc8o36#=FsnZe~{-@d+f)1;TgEh&!v`}=PbUKJUstj$j4C*`EQ5$^m@cn?mq?J z4R_&5_)qX)3D1#;Td>$)UT5qcox159t`4~U*VsV z$Bpw|i|5Jp<5cQ#%uk%Jj)^a0&tv>6(+%6W{Mr_8NUrx|aw_+EH*(G(*N;bu$9X=> z`T0V)f|tW~b%*DdbG`ULcpKDLK>bK~9e8PY8s5~%pF*zt%q`?Tf5!yMkjHKBgBD+o zoRX!S(-Pyk(o(Ov{8?hD zf7aqJTRgD%c8h;v@vq4Be(|2+{hq`8`4#Rw&7OjnnjAm>D_Oi2xgIw^Q9GPDb1;9d zJB2-2h5c0cba={ehjMhE0p^b!N9V%Txad5*67Ir%7)#86!yv&sN?W#(y=V$Ik9=9aU4-MfdjAt5t zwk4+zxgG~^6!%{n7ZzjS{v`H?uw6I7-O22`aG`K7T#aBKi~8k~5C0D1xfbrs;QD&F zq42)s-_Cv?a`wV=@Q09dOzI!t`m0f2gHHJ2cFktL6@8uocQWjC@VI<#-}rIvO7(H` zY9MmdBb+1G&tu^U!#!Cqd^Gxe0G@%L0bc>n!dt;N!PTR@Ub=l9E<4HN`uqX)Y1BWB z`lE2?G0r&~USS%KTMAAerwSK&KR{sApMrYjbIz5hKSy%lBjH!Tv+&{Yp>THz=g9n- z0xyBn$IQcJE_vMc-jDiV8RwjZ{Ab~6Ir|sLc?F((f_)htH$Q-9o@TFKm4iMf*Y}HD z+%Lj3RC`e$Y~=a|SnpwY9{vWr{0%(L!K++44E7a8^K$#p+!7x&|$pUdGcd>6bY z-1(I2zkm;b=XbNWg^wbS+h3C`K9gLZ=l%73p3h>!-3@owvZpYAd`r$VFB#+c7reyqx?OlbZZo{fjqGa;KL!2+T=wH>@T}n% zkjIU4XL3Cb`8fAnMhxTrcB10rd*?a(vB%J8&QQZ@$X+nX|_6 zGC!=R>){Q&A05;$C6DX>Ig78g_!|~~*Wx=Z{tdal|KP9V^AG(cT=rS&|FC%BjQH)U zXz>%t_3<8HJgZ@R>RRegCD;46*4g5{ES|FXwdCRRm#y4Ctt?!o!QI!{efS(p&b=0Y#NsO~zRKbo zEdHj&KO_&&KR(YNOiz`A2k;d3dmipA;rcx|aTIu*lX!;x7aZ5M;A$oNLip)${{{9T z$MFg}OU_#MKjA~j^>yYh<9cioJO`KgFq=GXKHOvRN6Ga#WH)7#j>r7Ar2G5a6Ps=oLq z>>W{m2E1ekdrNo+cy1?qL+qFC@Wf~AC*Zs^5}y2m{bKl3^0;xHW%1?o#7#dg|L|6$ zuyeU?xyw?&(BezU_5LdUh5I?RfCplwrGA~oH(R`DK>T)H)=gg*(f3xr&HbwcuQzMS z`OM;bE&i*;|F(FYSv(G^$w^@&yRctQhUc2GkL5O1Gx7o&H}^F50N#o`Za-d5uBblf z!}Tav{o!h0)Ek87Kl=Q|@~B@+^?H9v&MCM7F$*p^SJdYS&JS=Rb`ua0xTz?L;)Tb>j`(4#JnOBJa%J}#VqW%*0yBZbs`IN8s zyW~8G1AYa$o>$Iw(fXHAFZl-?Ua{;izhkt1yVS#1HsJa_i;5N>Mtnb{F86x?egYw{YLD^^Wg4c_9O7C#8+eGS zr;>Ai)PI8K;QUji{(`FuSdJp6${pN~YR}#T+tmP`blI1o{&aW_F3+Re!`%zHz72A& zAdlNGeNgXR#Pv0C9vcexFJ|A0ahM2CUcoN!H=b?Dm(Twe;|+t=(f@xwM+|QQm(TzD zMtz3z!{?_T^8S_Qk8>^Sy=FlC_AU%_=>E?ajlwm0Snp$S=NoofS-3nd{w2H=dx>Se z>&f-JD!G@(M}9BR)-Z?ehrhw+?G;$>dzPGC$VvE|(;ofg;K361mGHyx^fLB0kzZvt z_v0>S-vh4?Pd?7R5q>&(+&pP(@k^1DeT{SEeo+s24lehv2Eg<13Rv$Ha{WBc+05f3 z`}Y>qtAO+A*XoAL0(fQ<`{~G82G7D*pne_PdxPsoqJBF(52u|ME?_(*u-L(bU%p8(IouZPco7k|X{J8&c54sv}w`Zyljp#J{QYbv#s_hVD|a(J*M z>aU1nzf1i`aL@2Pl5gZ3gu8|p%;kCI8D5P%Zk{_~J-sjPV?NLP=XGaz4%?f?{=LGI z)0aHFj{1tnO~z+jm_y$?jO!fiUUfVCCBqk3@*lDI^W=KH`8=;zj=R_3>R0wM*e@Tz z6Yz%cAISA}<~H;r^@rhs(Px!Axqh?Z_26rboL1y<i7`Sszx;jQ5*!!Lz9h7TauRZD-cplr;LEPhdd0e}iJZ}CEvG^F|_@AE^Ci{52xB>3$X7}*;HOG>3kHwc*yu{+K zk%!mqIbLrP+na^E@C^JLOHQ6#&!1#nokA3h20U&Qr?;J1o*U_S_7EZ&j*H*D{V;+L?m zMg2SQ#1-u4VZVPz9zOnl9UcGQ;SStGPN}=&$Dx|VPquhta=qT*8(wb;{htNTVZAx5 zw}U083wd~c9?aWyBkKFWQ$yJMz=y&E_(>RtIhOo;$#tL3x7?>3cMnCH$BS1`pFw>`)W3!LBdC|h%`7}`_%7t+kTV21-@%LLazAshy?-FbQ!Tj? z@8|g!o-_I^O$VTU9CuOQ4*3bVGQ1}I2P3CGdAPskaX*h?zqf#Uce9U&pBv`T^Br6V z7Gu2^!(F(HPcQPg<8&aoUazx&^AWEmz?1Ofk$(f+HT)KMFE z9ye}nEPfGkeB`)TZzoIrmE?N-i`Q^JxV@(a!_)98$e9Swzy}=1Kez*)-@rNYJY_LF zxshGQetMFXFz7+LulI!P{fiVwvlE;nP*Qj^iY!N0DBj+IU zGg~?Tb@(w$PU(B%^DA4tro|gryd}BbFX~6`=L_`H&QgDg#k*U)Ke;}Cs_*&ynZx;K z4BW$cRh}Qsu;k3P_&wy|aeajQm-(<1UILfc#K`ygTx*A=k%CZX3^k+1}Bi)9Xh#Z-`Gsy^nEl(a%lfapN$@;`dto zQF1*#=~mo7rlEQk?!n(c{~O@NNv^MpewrQ6-;&A5Mb87Z$n|>jt2pN+%)_RrcTnFH`K?2z_m$nuIr4n@ zVz|Gb_m|XP2@g-27aK`qV94FY8?i_u?mo$KWZrJYLj)fOFFD>yUFMJP+Ru?+91xc)btfLbD%v_*f07)yTwfK?2{vwj zRUp^nT(X(_k?&Eh2M@Nek5RldBiG{)82RnsIgF3=*@ZlAy*-idyvzAg-yb>7ZPEEQ zCiKe6sm13{sh@^=AN4-^oG<<>kH6IW`>%W61j$3lZC%PGOeI4ST#K%zu^s@}^!E3=^ z4xL`F`Hkm!8~9eZJ12Vn`3&yC<@|FHo-@46gM2=5=W>qJ*Ms|pw-ds*4uJ z=fe>0=VFZ8B6t?wynui3Jo42&(e=J*$^S5{r~8DsZpVD2ip`Y{NDY#t!bcOqHIp3xv=K;=<`WwmP#^-i&Js-T=czfmj zF!v!R_b2x$^KA+0i*M)pv(e`Ycm`gjfPe53Jh+4F>1&$9Wdl4rhn>F0D_pk16L+!S z4F4LQo6p`0$NNu`e-C>j)E^|*`^#O(;~@Q4cnrQMIzE4)-h<2ezai??Vy>5QJ{Rs| zd}N%vlE;m6pRk_pk73@HDd6oLYN;PjuJ=pv1H4^wf97_0dLjFr9HSly^XYl9_IW{(dTz?|55hF80TZ;;c>Afy55t0c4ujH+|D778y}ZkZ*Ou5=a<2D zU16#3jd~aL^1OZkyx8!`@D!ZaqSP(q`t^dmai8R_&}%CH9qxZB#^FKoxc(m}5Bp!i z$@KBhaM=vcKgE6#v-%Y7KF$6Mu4nS_aDGV%`&M{$ay|a)@#r|WfT!Rx zpF5Jr^?wDq?%#d6ez?M6xXv61FWJDpANzd-+<%RI2ihD@9+y9jJe(&_MEiUY?mijy z=Pfzw$aSA;Q~hv_mtehFcp5Ix*S;s$>-CNNf~E0&mLm`I-{5?CTyV&Bj<+J(XIo27 zN95#?vj%Xyu1YW z;PSY?9iD+>I;fA~K72d2Yro{b$N8h+f5CI`74Ry{xS!1XTz@Ps!>ar5?aeHQDj1owYp9}TZb9-bebiO$!&a{qjx)Wc<-FM+4w4NtNZx=n1h0D!w?~Ll< z-&evH!`FV$BhQdNsQ(b2TFPsz1pgTxd|fe=b;v3Ggq*Lq zUe0e0JirS?7*5reT#tXcRr4^XCi1U9eezw-zW_cMp4-PRkEb)??hV{wZPecjcY5*+ ze;dA(T(37cpVuqrr8THmeQ;pkym*(xxj2qG!SgM+{yEgA;F+(vUXJVQ;O;;k|L;&g51xCP$4B1p z^e{ZpjpxI~s9z!ZpYwK=g9q^JR$k*kcotsVutF#+kK-Tgg{y&_z*y^g4UH|3}w(20T@4ZF|6i4G7W&Wzz&{Mn%9%P!TLgB8p%^f`XzHqjEsS5(QDj z5>ym>Q0y&u>;+>lh{ggol-Mg8#jfbLGxxRLkIZ@B{P2DkV-KJ{aBjNADqsHw#X|HOy&)~@y6n}dk z=AZD?{c882XErw57jyKTqYB=wB~k zKgH}v%6>EayZ~P9rbw#v`1>N^S>j{u^*FrpkK$?k1$Z=45wrX3@4_>S)m{@RcMUu- zbYt(~Sp3}NPWd10rTjS!-VR=TU3p^V_JEfTmi_72r%b1z#-IJ*qigE>-JS4UM)s#L{yZAA~4bL66iMQ;A{rY!FC)Hn>yd%5?yzqirFhZv%Jb9q}*&6%Z;aSEj&GOETf@eNe zK0H8sO@*hLN@o~4vtnM0TZQ*&Pk>*FeeN+ivI~6KZ24cy%I_Ev2Pdi zT017kZR*L^#Ah3LWtrM>2lya(rj;UmEINmxUm98O|FPI7cn{kH*yrH+50pPPjxB(f zZ&W|p4Ey`x$uHE7_raIKGo$6_w(w8jmEWa52j1Ww)i<5dxMBN#o5Q0cq_Yq9J&YeN z{vABgO6PEjtrZ8A;@qIvzLq~Z_M@!b_eCdjZxgSeY;o>zcxoRd&U@tfWO$*Y+VNY; zJq;eMl0UXzcX`Zf+|!k-VYcdWYx!M}&6@0I>>%nOa;1-2hIPFDn`kyp*&>8BLQyWt(o{uH&>!RT)n zbKg(dC$Tv1jeX%D`9B@|gW$QU`jPd!vFId&elZREVqX30Ty)NZCoA%24t`#TPC3xI z8=hf5-~4!Ea$EFj^BWvKr?-Yl&_}{3g z_-DIn9zRjd<2u1J10!$wB>Mf~rB~Gxk0wus!i#S!KYOEp5Zs-re4b69Gcm92du&ve zrGD$&6zt2vcz7l}(M@?`AWw#ANC7l?#HE+@@D{iiP^8!2z(iQIrb&)7u$98O6+rI zC_bA~?w9Z)*N-2QCx5|HUpDi~`=h^kJb>56fow~)?B?)pF|YYq3a%se!oILv_E(^v zhL?i;$)HmV`s2T`k3NZfiRV!6d2qKz*ZZH)U{}K{Tgcw#{oB#6aKFa-^<9xarP<;juoBKrf@ucyFErzrk^Q1Dss9? zyx2hTIe`l74R`-2lF#7i;l^)L!zxP7of7k!|Ebq|Ndf)Y*k>MU;ra2z;cj^8d-bnR zDE9?;nQ_L(y^oA{Qi2?a{rB+POvUF{CV=1I+2-bjwduPf$1RhOQo^KDI1TWm9@pB96I}4tCNq%<6pUYxii(Bp{WuW!1 zo3PKHsrZ~jzqr>p`KDg%TnS!g9yFb0@Z#O7uhg9T+UzeDSL-{s*6cr*|2AJVeo*mA zztO_ivqo%LmnpB#B@V~JvqNS7F!eeeo?NB;oJ+kf zg6A74ZvD8Px(=THRB?L={RiQxJyhQp(0K)(W8Z0i{9g$#Wfix5uwM4v8(3tymSBpMgLBDlw684GH z6t@qspAOFj>$;i7>F<5zlyK<7(% z?i2N(pRsTBh~ksFt&O+b0^SNsa*Vqan(&-(R2rt<^&fIpMr z?kD-PFZ@h+`gYYs%JLpGGn*ApA_RFx(v0sO|d*Aqt z(piN+Kf(*_D^7E0uuuK0 z{J9#P!SL!qis#wzvFH?n`Qik4F5qXNlW(d#{E2p%Z#uy~{7u;B*#Eb@dK_N5vZ?oE zcN*pmc%`NM&oz{zAD9mN8(s1LYj`SH7p;xCp9kLw#=XbItHJ%Ojxn$0XZqi&mqtJ5 z`eUElsa|Jq?6dgU9e=)Ozb>EFxOX4%ImqmPR6Bl${Yh}wLjib}`pz`Y`()^??uMAx z>gDd}?G>!u@58>bM{CbNMQ17Yg~xk&ZtM0Buulf-)iv0sgZMOhLh*@MPi~I?9pD+( zW6Emhdc%`Jy9_jY`qw<-GYnq2K>e!`^W!*p;S9Bl^_OYz>Rjc|W;EDbc=AKV`4{wW zH2c*uwDIR2cyXjw6!9|5e;$u{EzZ%g^>Ka?`^tf;={eYch9ZQyQq<=X)4d&j(%pZQVp|9be&@Z^VEc`_b88Xi5Yeq{F3;o0DN_B?pvdF7$y z^Hrwvn(8|i{rljK``V|$m%=m5zLQ-RSEj!$x7EwUwTu*qC zcCq}~74B}A!XWGqj=3KnKB#ZsW3i8dc03iHdwNT+Fq8pw9z1`P=H)}szs~E&=f>~X z_ycx#U|)Gq{)}S*`Xs#Y$rj#pHsk*?(|=6)Y0sN{0MCt4opBUsW?xDum7~_ zn+oz|^O)D-96hv=FL!zadD;fH5v~@1HUf9FziNB)c+z5D<{i}oVXENOJ z-p)M;&^hoT*VkLYuY;%m(Kvr7{2t@HH>^K=89b^zupEDE9rYR9?aRD_{SRh;mg0Ok z3Do%+#izjiqj=lRe|CoFgMG_%%xmlC()L}vosDltnmzZIS!TM^;i-O#|2ybk2`_b1 zUd78H|G5{Q3&#J);l=M1vFEXW7oKGudlLLRc>V$9$tkpN`)5_(9QV0aV!s1CwKDRg z2Yla{`+l^tz8@WqeR+`THMWudU^2XNl;W)4IyV&_Rph^oS99UH=^FPM@r!HWCDvD? z@Mp2<{381^;m^dp=4U>buirNPBQ;aRne9Kn!yWrhz2FU>Q+(W8>K7x4+ve~r-%C3Y z`_AyxR`gao0GqEpSBJd^U zUJ6gPQ3k4%_}I4bLlrlTD$d;pFR;+<#PSI`?DDeVl`R^+s_*`th9gzv;J( zdCk7U`S1zEZ5!-UqZJ>s-w9r#Uw6iSU$4`~wRxnsCze;Ev9BD^&huZeKN(&K=HJ=I zzf&C6$Nn;}-@+BHmwswJ{o+RK%P%Ve8^dphS5ne>9i4~Zu6ZX{=?adXSuuj%d1rQ^Vq%?&r-1dTrb|3s>MI?oBWJli{U?8!86~t^8Z%t;_D`O zaRc>;6J_p(!1H@({@o9Li0OQ#`D>$w`o$!8If(O_F|YZVdWfEdKfCN-zU12(@Jv6= zcgLf1F}%R_#Yp&Kcyy5Rr@FO%@qEl{?UI|KIN1EP0{hDE_2cu`*t>zUxAkqqmsH=% zBaOXqN6OtY=Dyv}tJm)hcXQS56R_VMoh18g$H7OzD}yy6b)dbn@WS~TC#~FBG56&L z=TWc1zB)toQuLg=)%5#|M3j5K>AYR<|1;QUI8Sma_AB9zb4M!0xu4((uE#gVzS+x) zTaojq{oq@}Q^9q|0C<*hyASq*;RV(k55gzI6Wn)JHad4MJl9_NX7~56gr^2>>J{Sc z1^-zT^IAMBysyC8>n`jwx3`huM*8uX>2IkByhMAw1TO~bnRnrd3F=>uNXAuT?#q3- ze%xrdlzjVH`Ti@GSRD4#l5+;SqU$COU`1 zU0M0I4Es|}pZRe!?9YRjt`=F3esMKC@xJoyEOZvbi?>R@H|_f#yl{x}ssZ-jz$?Ld z#YV3&UU4pBL-MK}JUe(3@8OmB*&m*0uJQ8#_z-yRC;9&`%AF9K)$+6SfViClJkZMB zsEJoN3;&NXos+iod?g+7On7RZ@y732F z!%IA;lgH0J;7Rt)Y`z`~kI;$GnF7xQ=l{<$9?W+O;KeHxPrIId$T;gRi}M?B*INPj zfpR}J{-pA=0psB>@D$^1U+f#cPJB2YvNJpZcSEIP_mO+Ra~o-X|3=N=_Jmin$}82v zxkF8#^J#YOZX!Gx%#UZqyf!|RcGi4k4_;s4_bkJUFO#hF@UgyybRY2km#j~)9%6*Fb=?YIjuW|?C zPak;oi)Nne4<7=r+$5bPj1Obrj_b+__ETc+;}-0PUx0mjJJsk4?61K-6`c2b5c`Px z?B>sF@C45p$t&kRgBL$jp6o=v{e!-HwU6tVJb$t2TZ&JKb*x6?_^r<|_wBoDeZSZXo(t|L4nrsLfbzL9 z@jMb<<$1k@_%q4tv~f|ee=-~U%%k$Zg8c$-A3t~e9xG4cS;W3nl>J56zX-4Vu934X zn!WnJHhjhweXe` z@Mj#n#J*f}bY{f77JnC(E2|Z=HJsUSS```o+ia)M3io^%M8T(JN12t2iC{dlz$o#

    5K(Tj9}xYWFGVKLXG2+~R2T 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�-F!{k&n$N;{U>x{tQ$Kk%HKv1w4Q+Ri!+r& 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 literal 0 HcmV?d00001 diff --git a/linux_amd64/lib/libssl.a b/linux_amd64/lib/libssl.a index 30e0d7cfd5dead6d82ba66235000345f1310c997..857778e442fae2fde2ee361d297efce4fcfd5d84 100644 GIT binary patch literal 1032752 zcmeFa4SXF}dFOxq0uiwzDJ2xONjDcTK?$iN*-j#t0Fqyls~{)BFJK__N|vrHVZB_W zD@TC<3bGU5DyC|A^Y)W%-EF$KTej=}LWyuwqmU4rHf`0Awr-nk1pF+Kdf#yVRoVE~cy-h2#%tED zx%!%Hwn3fve>S`7+H2OVQr>ZXCbM*LCewdB`S;%+%Vd5WzxnN%41V7d{q$S3crNo3 z{k!e{%%UI1@4$h~qG$X2#3h+U`2E57kN*4GBbi0d@o(|+B0ZCiFX=KK3bN(G-IK?V)<4dw?*qo(TJqlMwy^c-IENI-XI zsk1^xEJ?%pt{q{!JUV z>IK%*-??)np5}&^eYL>3dH_M(ezxQfGf2 zS3Rm79{^mO{ut^S9UhLra6!|McU6S<+1cMe)YU0fNF4VK_Q_RW>MZqjL2;zSRm3Bs zJMzWOu3awFd_L8=;vhcaL6NWGsN4lmaS(_5O{AbVhy3P^ z>u=t?A>Y>WwvC%LzOdam)q8S+v?ghxILvUQ6L;@h^M&G2S8sw>$hf=ENI{Z2*yV5F z*1~Y{jUrzf?knsTbJOOBC=Q&ZlCpc)P~PQ)>Nf8#923xdg5|rcFcG;+bxG4D48Y$M zVFHq-!n<*k-%%JI$;5I^O(sT$MQo5qXg48 zd3U?W?<(Au-yye8%S~7M0Yt^>gGFD#Y0z6$kNh9$m6{^T14k<77OAdIssDXVY2_rM z(hdkc>?{o8?otpH(k+ol7rKV!E~?4VUVs#Cx1|DIn~~nmT?M`rVKx!)!TmU7rRRO*XNhJfA7RZgo47j11inCDJSiuSQO`*#jWW3P8$6~v^#r6t*0 zkVad6Sjul`Kxulhiw?7hq8Mge7$m=Qct{#PP+gJi9PS(-2QdNZz^hDmZ@x5?_o`Nh zMTCB_R6@J;;&Z)LT#KtPXs~lwY)NZ}#>%Ot7gbLDQY#kh(v<;%ZtK1}(Ri1(Z&i0* z!pm>jxMfT0%{OJbSM|lt;fC@mjJeux`_&C=^INvwym_Pcg!{V3G*w!ZW|Xd6)g1Lu zP1r$it?sPbvQ0h9Wz&E}^yw|n2?&#(VVp^2X>ux430)jaIB*!zK6V~0dFiB9Jm5l2 zhOkQ+KtPd7cdxHU>{*e<1UVux&#!OMI@90v8)Cpl2^K=h%Q##B`~ZXXj5ruLp)eAh zG%>Ch&OTJTTo=Q!*rn*u92DbZ1qd>U3#&v!^S~qn+CL;W_)2^+`k~VBj}t5C(H-xS zaS$1PlBP{bYOYA8yHC2?$b9Lq1R^M&9ix5yqQ6o)fZm?$Kza)9(vzxuR4M{@4R=X} z7za?&KQy#U%2sNyL01_%9Tn^^+>rYV!KGL4cV_qQ-iItN>~__}fUBD-Hwgp9;hwx4 z!oVUUaGFM?%i{)(w451gf~6THcPy)Z_1>aNTHABdI_oZsbPe|vOEMJcbUTa~iFIRy zGQ?WjlLjf0!R}7!OR2-n?Hg}`qXicVL$7ovTy)o0!jk+Xm5`E#erc#{s6V>zpxJ~Q zvPs^&soj~oHLoz1>V_0dIRqp_q&`TH(2P-qXg?%Kw} zhneH95d*G87BCEI$E0u}xFMn#cDJ1b2a#_Si!1c>jV)9pwvq_t?mU*+xOubG3sQ|C zAlGpl$@q&vo1yRya~mC$)?DA9G&FmpQ&73!Y{(cQe8nLr<>sy-YhS3xMZ$|mj}OFp z2TK^_&=^RDbC`rd`%$|Wbc(%m^&kWL9~PeVYM$^v8XI5dU? zSw*3ohORESlF)d(O~b2jDK_ox;xcd0IH-X7fg7rmcoYX<`KYZT>?{&3MMc3W(&lm@ zk_b+5n;VgPtMpC1f`?8)N~s*3|%dR4^Gx8tX0;OT8iVJs9PdL*7HAB;XZAfkR9g(&a+-x##s({6j_u zEIPGD^brn_AC!VKE-F5casp-7*VBh#<0y@qMbwmm0`1@@T#Y)KDb-ouZru3MFHvcI z1Q*gjwl_9v1mA8`JI@s9NN%MQLLIalMsZj=z3b zu}hm6jcYPQZBJY)Awx(qTp|yaqX_t*+_RymvR6rcb_rA|IP1z`z~8kVy(vpWEMjtK z0|%8V7}2RnNK>amH32Iq@>L7a5fa^>@NC68G#&M(bI-)%dF~N&zB4Hv{j-#49%h z@8BwJXGies&-FsqI(cMxx4c!+)#aR|Hzg*pQ)@cJ*;&7HbH{yyJwvWZsSl^5f{+?N zil6$CO2VG6Mi)^WAts0cNy#`-)CUM!thwq;we<7ko-aXofa`Ep0c_&0R!70VZ zIizEnAr}K&7|<<)+`C*gW@9v7z!!|gPqP6Y_}rVnzmo0xkT+)J8NE*!JOu(WrgJXm zXp9K@wc}-q^)b5)0yyPRjLRgtc}7LGkV4j!$a5Nb<0_I(rj{8tKJ4?tE>og5YO3v4 zdtTtJ&pS!bc+4*5R1!-v{3f}3ztWGv!)5n&Uux*-QeKa~JodxX{7|8Rk(~=m zX94v2GB|`z%*f~fdeO;=K=hu4nAd0z2JJCsJSsm#2E#;A&ZDSPbj9QlJ$+^vJvoKB zf~NS6Y$nA$(*A5>kRCc7+R4j4@=A}Zpr9>eK0lIpC||i@N;gt2K)YSK4nG|A&6chL zdYP`LjJS1nbxF_Jp0y%l9MC*)9kS?Ac9bvnVk>#_uew5kb+_W)q9-{~dxE3ku8iS= z*sg1XQ}cU{*dj_pI?P|OKR)+yV}{)1bI7>SFs2KM=9}I- z`_P5b2V*y{yD`6GL>hSVzO34=>k`_awffK@juCm#6PbbZuVi4jPr4Tv-H+vm@3!DE zA>WYB;YFOp(p+b}()o*1M9qSf#{!k%IOofg_?gc--;n7l^$*G0JMuDuKEw*5m+B^M zSM^xA_eQ0fl@jQ6U-w4r%3xSo0-I{F?$&v56? z0sjylE+fT$yd{fw6e2g2roJj9FUrSDQXW3=yEPb`*Gxj((%h_pZ-p6`igFkVysf)i z_`*@2{vmmRGr9?Sclg9xxuKgReYNXB>+}QagG+>9=#oU&&c=gBWR#3wkJ@t$x%>9? zRT@Ti3L$-JeVcS9Y2(W&|8IZ)s_F-R?KpnDPP|*A(-R zkLgNKR6%hq#3L0j$RMs!c?G>;yp~i-heC4KB2D3rQKm0Ennyoiz<1Ddf`5-JVvdgGK_i9t|U9?MeVvYDoEYn zSl88a$a90tbAR*q=a93z5TOPg3a5vo7^{H#Wc3BcDm1w?~1hqQ^fz+(bdaXcfAo)P%O zXu=a+@bt~q=CKf5>fO|fzMcXyqB2I|wQ6`No)d1m-W!sA4rkR$4+X4uM7|pno(*_s z^^GQUEIFEfJP}H`45Tp}_4U;gu7AXlOCQYTiJOF|_g|6mmw{{R@D0zq*sT&zUaV;f z-3wi#pnLj9r6+3w_I{KO31c|funLo&$TQqU$X$D}r#8Zo09=zHhrC^vp%c8MIKda3 zle{e8NyCsnPZthF`Vz1PiB_N#jB2;%cNnH4Cq#;U$z&*b*Mzc1oaObkzJf&EYP!(3 zbM{Rl_rStim#A;F%LS7mqX$0TU1HXd;?urylN5>A0!GxS#>zwv zA#{TiN#f3h<<+ngr(bB4&?55>F5H{m?v;&Ts>T8*EdfXIs@+00M5S|Kk4Aj979~vA zrHPSzkL&ctq3f>T72rx277y|5+8@b8{V4Q~jjVhw1SRM`yk4h&y;-*?gQRRWt4jC+!D$B*ei*}WU5Wnb2ZIZK% zz-on`;9II$-(|q$n*@oG;bIb&IV>_jCT~N?Q&tyK$v#Vh#;fw2Twm=@mT@<0e}72| zy>BNT@+JG$*B>MUWVV;Q5tZP3u$Y)6+&hxQ(MZ#2$O)SI+F11t_B&N!Q`B{ zagtMl<&kS>w&b+X^2jlM+tgUI>q3iRS1U_G-hc>2#zQP-IK;itFfz*^lwuVm5if9Z zpu#2^6g0V@B)jC*!l41wGt$?Qw}j~&4`TUTeKNocc@=rohcb1_y>Q4_I{^$J7u{pg zqV%`mC@$(6)qRz>Y$9K%Gb<|N*lzW4Ww@of9)V8ZC%+XVO{_s(ez{7_P5qB*PjX7N zU+2+kP4bXtw-%5a?YG8q5W^9x1$BIajM{nSDw4v(?RXUThf4KGu5rs&MS*22OR#L^ zam!Y;u-c;Fk}Oz#EwEsvl}mzd9;D9KuZ*Hmr7(kh^+m$*5v;t9fyFDn#OkYZi&N*Y zk_wy?EF_RvXcB=yVm^d2=emiycrLVrKnK0AB^7p1*{hDoI0BzB0}0%`k%V}`&C$g& zda*9$=BQF}LkcvLF@-L}w-sfrm0`SMl9;}r&J4W6gwXIs$3mOAdM4uvT4TaRT8jD_ zOYH4j5!g|XHc}xogs~I#DPxZMvN03azpC6S*{w(38S9Vv7p(<-!GOh}!pDa>Vk|s* zz!=kHo>Cll^%ZHXHs;a2IqTBu@_@sHTKBBQIwjph(#2v4$zELqh?zZNwM^1ZZp=@# zwv3JxOQ)Yb+v|PjaB>Cg1>zUG-HkNPf${qr6}>JM_lr^Yp&rhtxVtHU-9`^U;u4jM zFP0?ps6DxoJYX7;7m#I^5vSTjTqo_^GBV_qzjbJMSCapVu@6XH(z!DzD|dI5+Dsll zsk2)R1hXzMI;E=|aB;i(*Bq>ltYoeCVGcAt8}mmzehV|bG<3+_2d`a61ndsDW2pPK z1-kWOl$WQqC|nA;h}@Hqv<%bRhdRn-y;{bVv1pS9X)h(Zsj{&^S$oU@)rP#KDuXiG zPU-3I+u7?n6+SWMqF2$vOqUycQlWa!zDQ94VTNmbSj4F-$gNQxepHFzcUDT zQ4`h}mM}@*R$+*)eD_S(Kc*c)DaMs22>$s!gZ6>j0g;`v8A-PpRCJ02A^)#CnnU z4iDRtcv$4&m43SHmO5BM*_rBQ>*Oby1bOygoUX zXX=>FBJ)m4y)rJ}Rk2#U;be{APMvc(l0nXP`ICyBBp|N8@}(VGbIR%#Se2)e0>8op zX2}$LJ7ZSKwkIBCNF6Uvp4)FFMwY9U`^W+(j$mklmAiNBX0kvBt{h+Yp@1p^DfgR- z09VqO|9`{HTejxkv^~E`)&yv|VPhsZ&r44m%LW8^ftZB5fNA%dt7Z#3Y%1s*0hFXD z?FoL**@iIviERk)hQXi(_e*oEn{J5>tKpDbw?K^q*N8ekzGjTl=y{91=WTBXsax{w z9V8i#`t%Nh*^heeUoZ1d=M>^H(gVGA^vHF?^iT&G@D$uVHFlDy8k76qqtZ~5VC8)k zX`rYAn~>!eF>yqESH>>ztlFQuTG~ZH8;(BoO0aHNU2AialhFdaE-snrB<&HmOd5yK zD!oea$nqT+|Q+eIFzKIjLmq+IlhK}G8Lo7fo!(8M7b9Yrb`b%) zEMqZ{#UwF4Nm(N0fcw>G<25b|^(^M@FR&QY5MA@!^Jp}{@;f?rQ}eu7lo6$NPB^2a;^cwI=`t1((Mw$zY| zS~Sdxcu86?XpEZHKQp3r%+$hvh=_ji zk>9KHy}P=lM~*p0?%I&XwXPi$T{{uz+pUHWo%=?LzsOcgPDU@h=-Y}egos9sH%Whz z`@+g>b#nbDO(|^+#_LLSE@QoqcIQ1UT(KBP-RvZEWwh{}D-=60QV ztJNlKJQYMEVHkJ!QW2D=h>||-;7SWrmUX&S){@dmh0&`hYWksA(JgC{dPKxcnfz6Fo7Y;ggt0HHFfF5&&A*qMxnR+d}v9suzY zLzJyPJu&I%9RN{U#H>NsC&DRcsKK}9vll|xsZA3XrV6QaRVh~xoJ zfG{N#2=6Y4MmcmL`0tmkkr4UIWsMCD*Q{BS&5HXf*~!*%{s%U;UB7tIqKw}bW!{jf zoOznbOs%aPH|t?@=E6*Ere$ku`LQkKZ{;SQs5%Kg@%`%3`MHUQsv2kB(Q?a!xyejh z`71}O#U(d6RtpEg^N_5$bVEk{Kb0}R-edAdehIqv zUkw%F>j$4}z_|}Tw|A!Wy4LbTx$-v~pVA1mmH$aj^icLk&&uXbB#>z&^_>z;QN9NX zGcD7vm;XmvwSTmH$-Yr@oHXKu!6ZZIcbT^3oL+o4;)sjgJ+xV2rmnex757lib&%Hw;*z(SnUv9}GX_C*a zlkK&+y^q%H`BOw>a!Kow=DOB$b6sxj=W8bJ6V@`(T(wAI(0Z)7PEIrBH7=HuYgU~4 zua)qQz6Aa)KO3Jqbyv-$;}Ab8U&13k-!Iu*b7^zt=yKvmk=^re7N;n`e)z07=L zy89BiU&!vQ6Jyy-&7L1TbM|cG*>Y*c@;0Bn$goKPlJacplJ@%C+S!^r|4QVdl$M+8 zDV6h|6}PFDr1C61N9B3mvnfxXxpEN%C5ilOootqJoGD$Dn|!IHO3JWZ%5b*kgMTDh zqnS}U`ol9~_ivyrd(Z7X zTY7KHR$Ta%Yksl`SG>5q$Sy2*x$m7Bt(Q9Fh^}#^{JXmGmSIux^JDl&Rrj;{<5cXb@ZtHw3h$8Wm{|cuTVEWy{-HmtrzSH|5~p6 zpgWXnuzYNjgm=lr4+csv-zWh|iMN$c^R+uQ@q-W4-1RB3dtVWJJ*os+Cw}m{=@&`b z+9pS`Z8bNYY&_dm-j%g1SYLnYf3|gvRGs=gajtE>;|FKu;(Px+B2jzlV{HiepKJE~ zrYKhV7I$gBM^e3M?^88<260e+vEeSoGc|kmN@$z*ezkO+WUC8jvME>oLM7`x-#b&Y z_jg1&=e^HIuE4eOwit^V3E~sttMMtX$K3@~K#Rol4SIJ_-d0}iD^QKfOzBmd#1xjb zm7mF#kC}*M`!_5YXB(Pc(dJU9PV={mowdqMs;&HFTlwop`(QRwB$e{e+m=@4;(EUnq|7OCZGe)U^Y91~|2*X((hoKBosQnU95 zKRA04%K-z8-s>DAE1W?Z7Q6ev&&ZgNZ2w`zvg*UG;)WhHlW z<&By0wyKtzk3L*;;ihcOg&S+DsTy&kJ% zg!9#P8YZ-NrHg!R;};tr)nqyUU8m^WbGNRH}j_PkDx#A_v`u+$q}1XO!zrQAI58iXN;efgTtJI!D1a?8aLWiiY0_5Dn#vCUc{t*C@%N-g5P z_wPrqa1kxfA3<>(9iSw)N!tibBMD$!u!a9v6uu-`nsVy@)R&~ZTpeDy)!3DVz}k>o z2tcYGA35+#qPj*-YS5N-twjybSAxK<8R^<*bY8igoICuj621@G^5Ye`^21RG68eQc z^eBDa)fX*=tL?<_9O?h|(etE^+7@Mko>Jhsz5iUg!D8@63cyDW<&0azt8&u%mFDrq znp<)SeRKxF)qF;q(+l#!#Yg#J+mRadnv+frTEqKBCkBGztxu892H zP+fQDk{hbCt<`lmRM&2-u2S7&CN~+$ZGv1|b#_E_U#|*pTvqVGWO5?+N%Qj;sB9%Z zzq)u`b=`-StgFuMU%IZk{_YoTsBXCP#VyrM6X$KHZeKiceszN;b(4m>+u?@QFRaam@K=-B`rvV9o;B#n13Zm~4q7NsS(thc)A;YV`S**llqEw<1h zqPLsBYjLZqq-P`2voT7~dP~pF#3-y^wq#!58vbH<+F<1x1&VQt6XvHAVTw83xp?u` z>Z#%a=qELoa)@@$gZlEjg)OlFDvC2dPYQ@9~77n2^nriA^1@n+d$)9c0^igs-S z*_qp2COhaU8rADZj#nD@LFhGNGD|Wqwxi1KT9co(eA4ScSc~zZB|&Xk*p0?(ElO&$ z!nVk7QN~-Bvui=REg|k1_DeFzjfLBi3zH5ra2FQpx1{jC z6#kwRerF2*a0>Ery%fGguFs@=z9@xXlENEO_;o2f zm%=xv@SQ3AcHuuGHAK5zs=lVU(|Ct*y%&is|9Xm^-$>#AHHH7a>7O(GdhZhbpG%Sd zGn4PIs!8uvB7ZVP{yScOAb)|}5|Ya6;uLX5xJuM@iI(0JPe053%8fqStMNFQY4Kz+FtMdU@ik^W+4W!w6OO#X(po7c6pcxr_Z4AW!o-$24;av3}p5s99&52H@~fY>&^N1;3bhR_uX3Y ztxrQCgokPsRXTUuO`^go`FJVPz2EPXARcLDXvD+0dsVWCj(pKo5<6mFq2OtEUdRQ2 zmtrb85?36paS1Q_=+dvRY01&N^N!J@-H76?B7H20uCZ!_&8ZYVvVa2tZUry;;IY0@_-sCZ+~b!*g(fvueUrte`pB9a8WdJg zjJ^dCu5#{uMtKh44BmOt2YPb7p}F%i`N;s6Zf}-jY~U}KpXa__kjr1L+X}y1jWHrpcd!4|#5q4#8%Hq6&#e5gy@lkna_;r~ z7V%dRKTe$E|7GH@B>8_y;Xj82$rk4S+7x~ZaSnH!IOp3G@mEVYK3xZhqp#!n?;A({ z@O5{XF4h;u!#oj6~ocM#`tzneJQ=YJ-?n!^1OagP5J#2ZQeyTmcp<NYse!Xt|opZ zan`euIG5vQ;+K)0QR3GSKS-R*>r=#8{tLwUy7(4xjD`4gt;2IM*^n;I{~L)niJO<- zN<2%vllWTVA0y8Ce}_2h`7Cjkf0%eZ>HizzT)tl>&i4Eb;#|+X$ofr-MK{;Cml#L> zaC>7VaZYaw@yjWmTS!0NiSqfmi{yWa_z3aqh))oIJ@Jnd=lFb*INRp~#5o`ShWHyu z|0&|l#J@$H<5^|>MC2RB{(O4th;x0lhB$}2i}*UyGeVrhogn^3lK&WS4)@cjB$%*#4#>}&5uEN zJsAJN=AZX?{t?rIIAinNj|Za;!RGlbrYEbk!pDuT2zb%jm#Cw#c|BW=U+Hkf=ZvFn z$L8g)L&nO6dk{9yHN)i`buu>3yG;+S1#F)88gEuw;a8ge4FSKz>c?EbXRJWl0=~lJ z+XKGsMGkBY_?0HVJ>U(-ZwdIvEZmNOzsGoYzz2=@2K*M|{Q<8xUJUq?)($8I{CACy z1^lDNZx8q#mJj0r-)`yM6YyJ%?+bW`@w)@wZG0-=y~aNh@P6Y50$wzJPrysY4+eb9 z_`LzY-T0w^j~oAF!1owG9PoX{KOOM9jZX)B%J}^O|A_IKfFCgaP{8joemvj@jXx6b zdyUTq{E+d-0{%(kCjx%h_~QZpwDGxsPaFSg!0$JHGT<}Dp9uIv#!m3~0GT!wsg^YzjR<4Xhnxbdoh&lz7H@UI%L4fsjp7X|zY<8=W)ZTymef7^IA z;Af1l2>8>+>jSQX9FhZ927IZtpBe&QWqeJ*mm6;ic&+j40)CP4=7853$8#-gzFd5J z*N=~Ro;CTlKz@bs_JG$L-x}~Mjc*TlgK<1JM zc)$-De)q){FBB{1pLk_XZMc>{L>~s7w~E0Uk&*E#!m*kWcr^7_(LXt zI^f5Re>>oh7(Wy6|6=W*rvv^g#MW~gy~rdK>TszRRNzfzC7SxHC`L=lg54j z0M7V5VZ1JoKW!Y(ld*aEZyV1B{MRjA{#_w2|Fp^12lD*Lr*dA~@&1CHW(X%Kj*&6U>JHI{PKHS3r_vs4TGd>@3NRVtkT>t*i zc))#n!|T-FFT(4{*YlzMc>C|QMEY?3^ZP>qpEEmoJmCJhduHXxZ3Csw9kMSCyM3=e zlGTqpSL#>OSLy@nl{@5XA}fc7a02nhm5p)=A;;`QodpYBi4P9;XI9FpJNnU*mGV)v z!pa+N+V+dGm`B$x^HAu;oN{?K{Tysr(SfYD;fF|LvmHIKJVJU<8$Z=&k}$RAfS_UpI9okFi{E>uwtr<{!95#2uKKMD$8Ig3f=fe~h(2C&t`)^WkF*h&La; z-)|I09GkgBqIDMk4S|DQmXTbu93|yn@p30}!1N&hP)1??Z5D>`!}NDxuvE4V{a^W) ztsLsnCi$Nfew7Vi&6qsGN7!NbFhYdiAV1z_Ec`VL<=E$&-wzUF(Qli7W;pi#JfAQY zWOL?>`9B>v`1pJO@0Ww5^dGnMH(7v4KTO&C_x20tAP6DyJ`e`OWt*`J3(>hqexZMK zd&064lsSZlWU{pfj$!(7-w8z2Uj~EOvh8=f=zr+HyHOU@*bz+y$6W8#jn}MQlRg(* z+_;>da9LjLrkNxg673sWcv}OlPran|B;*mRyTwlgMO@>dLGW z%yIRTIAjjTKOKQV+idU8p|Nrj`rTxcnmq^P*ub6@b&?l)GPzCWgYH?8mGiximX^03 z+p|LLOwN01zB$u6dB4iG)Lgh{MZG{w7I`gZid>eP+$huceit`EiNx9Vx^R+;&KYqb ziWY>RCr9$|;pU`AGiz+7%KWABVu|{b3F77NBi*Nd*3D&^e4m>@=o6fqoY0^rr=zsE zDUG9#A&1`a&Ie<2O@9P^QB2RJPoua0b0{56Rj&Mx$@_$8MyL|faL-_aC62j*t1f=xTT~o)F{NNc0O8lsr z%Dh!u1E9Pl(Jfj_0Mo26SGg)T`CDp-6Mu9D@xk@^M_MboD=xQRc{KU-zd(5M!&NAY z@@%f}(TRV!czy1HudgcqW#6OC>uNH&C6iE;E9>s^+1!!|sLPez?)7gJnfKS_CLUOn z`$d&^g5KRv`I3amRMKCRz;gRd;jwqTQ!5<1o+i{DB$F>`eCq6Mc|xN!sqve?UM@pd zFC9~kfZ}Tn=v+6uM(c8ucey;6j`CpI^5Bz*LHTP@`t71!z9P4FAB1n;os)$JszzUu zTYDH@-rpk=aMeYsoaHN8CohuUh80!0%l{;I`RUfOoMP(g*rl>S!)R6R^&gk|_5G`) ztYqRZW-I!+in)oeFUq|L@s9k!$6ud%#H9#0**h~W$;y;|CO2{2ip&R=$yG9O`--Ye&2M6oUY*22F0_v$OFo;q>%&VXKZv|t zH1m3#)ZFkuSP#W#+k_vBB+U(MP+wzX7R1(Zz#{$bpgBAFyt~W{d{h6uiCT5 zZsN@HTbo6J2*2||Urozobowqvj?*sWwLF{G+sYE^>IqVRCGORSh`g6UR^_Kt6>Ax2C0W`lR=KZA z(ByyVzz+3A?%0gXtv;K({KUlEdAUVmo*P!wY5;Artcffxk=wuig0^z^ifn872{_8d z{=Zv}>43+P3!0%tmY#95V#^OoJU%oifwpy>7Nf8E(EH`Mb#l)N)Cy=Iy#}Sdsr==Z z=?gTg=3CBwdc}+!9zlUOJ|(NR%(lF}UsSW_XT%s< z?A;=JX<;pC-T#*FAUi+uN z#2HEY?`hIE{aowh))iGf4?Ivc`7<^5J=t@|zhop6KQ4}Ud=I(%Sr|sm#y?s69v$s{EklWw>jO1aq=FXgE%eL3$CQiOemxH-hK<@I{nmsFVuz%~zt`nz4HJ@3P zD?gcAd%EU>KMRhfKHwDveNfsQxykWalrD_28|V9nWlf;3mH*`IEYL5AXj}RJw(T#i z7;Bpp!^)K}Sz+~MZvP*n;V6q;92;LQab6^UJ;%mt^-!(yXeKKfE0=@9#z))AUp~50 z0`;cYCbvfzfEVM2-^;TT}Ez|!bp&Y@~r=!0t|2~I~ z8L!!-*X{gz@ulqqS+_tEa^$x}Dp|g9MwZaARhlN3u9$y``gAqr{3*HU-2Jv?`tK0# zc&Z*3?w^VW3->h=?x{Olrr#?2`S;4jdsMP4N;#7DpGCNFX8v|@YnjF%?2#){lO=Ln zRqkrYl~SW2a#yMx23?PQ`&@EMRc=3`_qeX`0P8sQr&?4k)3<>?B;1*0&7Swlq7&u6 zJPPxi&&x5{(Qyez?dboCr`-N~R*VDe-@0Ort{iX+u8DteW`%dJ@3?)%8qt!ex$6(* zOq)k{G^wTU!L{5X#n4iI7+&|^vZ7hzqm8V_FG|yTfBOYWkb#;Pl4Y(pT4{IJ?73L< z9FbpULs{1Jaa|kuz*MUoO!`O_qDU_D$a?r-h$k6tT?wg_VlJSKPaO&I?>HRlxjR{U zRPfPIMTbDCBGw?ul5dr`-yjZrj@SJ8{53e2w8<(x6;D4C2rb4rYM`3?*8OZxd7adJ z>+1HctL5td)w%L~<5N<@ZFV<+sFFkd^f~!u&d$E=mtDD(AJl@M5ZL%=uKYmk^4>f1 z{+H%t@uXb&Z>24V;Xd=^;wRB)(t?GIy1Y(m&fBF`cHIhHNe1J&%BARjb>+Xv`Xy53 z+GXUHQA3$-KBJcr)-7q7zEHCBNQ?MOyV~b3P`U4`A>j6wIkF)xF7=!S+BUg-MO*nV z^mzWCzbo30o|XIce3ux1%k=%C;K-C@Msh&&_lpNVJb-F${t~&`Tc+=UH%w$q_BL_+ z?EGB_YI+9*e?3)DuJaA5@D`Dq$09Q=(?js`Yv=NEp?dis>IvUQX6;k#U#-lBK(gox zr(70DbO!ZvqJpy6xBu&1Ah7GQ^O4&x_eE5u()sx(i%{EswD4TUsRwDay;Ix{!HZm0 z;wC-R$;?v^Eh=rxE&7w({&g2fE{v>|X5zQ>Ml0xkYU&s!n}E99{YNf-N6LZ^f^)Vk4AY8Mmrt)~`C7 zachuP&L!T@&4#gB-okV5cBwyjj`v}B;kgg)CH^37{~WLNA=VzP^X2wUsort0jbX#Iwb%NBnmT9@JaWx6hif6llb{$$CAJF!N_1l9$) zRhNKhk##{_y+i;>GV46&bXC)aqrw8<%`#U5$0oIw7)H zhOHBFQ+4y=XA+ms$SvC;{Q3pUYTU5w`XpR0LE-Lyufr{# zHW5O^M9IcwtuDTDykS`ec~UZezXyLJ^>)#?Zds@NzhT+1Y9BzcWndo%O;+b%B$b=4 z@3H~wq1;eCyJWFgT*A61>y|BkwED!7t<`f&HpzY+B)=;MTLiqtz>?1`m7|+Xq(ww< z4P>Q#fDMDL*pSa_j9m_Z_)Bb&t~TQ@L*7=d1Ig2gr2|o+wQAmtne2Vg!Fkubcrwa6 zSu{nCWz`hPJ6U-J@i}b%(&`DQ!-gpQIM*&goxp3C_&Ne%C#_N9xUV&ER@s(hl54l5 zwLG%w&6h?+2ab}~7J0RBw?a&luOb zS#+bRlcWco7U*fV>t5??k>8Rczbl2mH-%%Z5a^$=>qzTm(SIOCK5b2q|CJ(-wL(#llU*CaLipvlHZZSF$X3|es2o@NDBYm6#lss{x>Q7R0{uI z3ddaVr1)Q(!Z)Vyd{C$6w@C)fpu5oph=17X3O)2~> zDSTH7zbl0wOyQqN;SZXUpwB+2h_y{N$fsBGn>Vh%dGm&RTg%%vZpH#9SW0HK9>iC?DY}m} zLc$Jpl^9+}Mtv%EA?u1P_#i}~Z?}Aw(S4uM!e8)V$zorrfR9beQY)svI8-!Yr%1ki zCab-S_Vg5njjQy+RD@ATNT^#Z#xGejRK#~!b)g~oI*WeG*QG$-XB>7pH;nJoPM~eFm$r=vp?;6L>tc9niID5Xh|voWJMgJ}m5F0kc`49IN8UXJ_#l&9tv&`lXj7Bd`b)a(6f0zLJly z4AMF~Sk}lDOSG_&|J;q!Jd(*{O{2jf`2ts0r+()a`K0SNEi5vu&f~sUH-e9w4|Wwa zEMQ+aoKW!C2j=ucsz|t{%OVWp!zWkbi!dP`EgLp$cGdCrYR7G&JD-o( zKw+S(cw2PptZrmdqfK_6f5yp zp?uCtR=JXOru55Wn#Jx=7jznuui@ast4;w5%w1AlJG_mqs(eBUU!TF5`y`ls-&8-e zCCg96KgU%0-cbBALaHL|OHIk&ds^__y5#RMS(c~`|484IwQDi@GM2k>uCn{5+@AG5 zECb}awGl^C!Sh>;OS3YAzOUy!#-RsI0?%(HjwXTUds6s3aoqa7{8K3${W5G}e6UVE zHpGYLxZ^nwHgG(P_WG|Tj`1JQUr!vbt9sr}{O5`9CC+;G6K6dKiL)L*riFO^0_pd2 zhQj#!xk2DBCwV^x27WQ|?^3v&&**1igFJIQ=EfH0Gx}fHAkX>yHsTmV_WAY^;v7%( zkFbUDe2REh+`XPlrG1VK@~@De=l_rRtBAh?g0f+^LVl4vahBJQh?x9kB>y(+e};O7 zh`*ZT|Co4|_*aR)miTvwv!08s|B3A2>#oT-;)4f=K3#7o{u<(b&K2aZAbuaozmoXl z#4*U*F636K^2?x5QBwdHD-pA}6vz|7!Vp{&U1v5MM!@^K&cl zH6*{6_|?SkBYq9>i3ab^7HYjC*DN7fjC}M_wwtAbNO}>mscGl`6=UJxqp=8 zF{bDB&!otIAw~W#iC;&0zD)e}#H;jC@WOiF0^`UZj?Z<(-#~hHrs(M>dDio*De@ml zk-slR{{9sCzbF1iisvp&ijWQIYL=hR=l2nBA^vgV>xlo)6#hlx>q-6}h;JZ%hB)i5 zu?{lg$^5bu{`wTYnK*~Li}*&0&wGhqPkb_kA0&PQ$sZ=3Bd!l4jr81Z=Ns)h%jYA>5T>t+paW2Pg z#BZj2csFs@^FiXQ=MZt$^M}Nb$Zy|2Y6TKc$W%~N?RzyTL>{$O2YR|k<+`Rnzh+jAl- zzQvBQvu1^i+-EXxC2p6I^6kXYR>ubUx9O4lm$hT?x7#sx^>z&Y4m-xK!H&U^L?2#r zz_WJVPTcpcfPCDb=ba{lU9TO3|FRupSF~gByd7gVX2;;DBm6dQ2jHA<`-pSCO%eBT z13EyQ^X(vU&bLFvIo}Qw=X{$9c-GEmiF3Z4AkO)Ak~rtvY2uu3XNYsYWsQR|N81vc z=e6!szpuhPYkb`HUOtP0kj>|h=l;2(Pp{`QCjW%<7KPgk0ol6EJ(9P6(NxIox}6QU ze_nSo;Qo1CxR!%|UKg%;;Gfs|c=`DF=Wk;cU(fw>wtEBapQo*`bVTx2FEj<*Kd(n=ET!9_@_NNRS>RsFthWg+P8(yf35#U@e7@+B8~3Ahu;uz zAHLsj6n7kl;UDzz_kyM;YkR+ImIGXB*zN$Ia`auWW%ETkXp zXYb$J58@Ms4W9=vm?m4D_1n=VfsW8WoWrsclsWuL{Fkwi;KB&gk7_2#e-%3Gvc1Rc zqW__Pc`P?Dvh&%`L0@%^eUAJ`_#U}mj~S6@)|fPBE|A=4c}r{gujPZ>8Loy30mq zTBb3QdgTAgzoW|~;S1)P$lKa}4%mY&(-_V?a+Am<3+n`tQ-4A4{NhXEGoMB2ABD9c z{yI%_@~%U2idTML+$JyoRvjCETF$Z6+&2yj?vWWrFFpw%Ul89r^8tB>dM~^V1^1Zd^_Pcj&lAKHAhwTsXPu}hO5WbJLe~EmT?e3);s_XB>cjhKu ze9QUO^*7Ro<#Nm9BXRZe5w+-3b1lo{8NI0JhaTDLko)?s;7#uPa1D!d?)^XcF5R1! z^;I{?>!{oHoyH;J>No8lRQ@>M{X@9v@Az5AC5T+oyLqVJDsNWCJtTdftVTreE`;B- zEac=0`Gxms$TX*LlxLDW+QUiwy(zpb9PycvJvJ>%+5e{elJxwK6pnWlP$_n~FYUM| zf9^SMXR+uW@#(|Pl#lS>(O=)7J}b4SV$QSk!%uwi#84!ommz{jx-R7IzL8>QsjJsL zh|9=}5EP@zV|uryu_Q_FXSmn+J}vSW8}4%$rt^FZP&QN#Rr2%veSoq-9%bzL?*hse z%KvwV7s#I_j{B6?gW1&BpdZ5sp0@zX2F`u>ETC)%7eBuh?ZERH@9=MJ6aPCc0hN{b zA}fMhe5P3#wiA_0OV2|azE~*os##qt|E8o;#&*K(wA}(#C}V8C?Q)qMgNN-0tf`T- z1<^@u`#xL$X>DKcKTNL=-|w3xk~nS%B3p0q|6y&` zeg1olafzhz>otS$=|a5>zuvzuzof9CyVeTyxMh^w;u71gX>HFFh?H!fal7chsf*6j z+MWk2{=Jc;I|%(tH9Im~Dn^aZAGZF{>TB1o(&dkSgtlib5^r0x?wh4ftIqiK1^m1% znQt%4fSiPcO!?P2k!6W*G(YMn+S7ivna;eD8D1Y(=`YxK(Ay@nt(X7vroCUS*@HWd zOzJ=N^O65elRIl$Cyv#s^9RJ)&n;|S`-Rc3$VprI>;7Bh+9(|Tv$paxZRKd1Wck=|4gp@-PZkw_sPXDUoG>Xso^ethRA(P+DG%> zkSU>YcPugWTA36FXEd+R^YiE?@6tA}pnsNzFSJWmG|M^^@%53!>$rHOiF9h}U70PL zx3=e7Hg0KL)s$bqDZeGx(wJ{*NW`mGdEBxAUh?pB!}?7DU3K*}N+o|5ZYV+C!n#W0 z7~861XLRx$x8ZZ5+PC5L9g(EDL^=md=Mu@cqL;i9-%wuovFMzBL%G+YiuMFH+&ga9 zBiF|8Y|7Yb+hdsIUOP@rySZbB{QQq-%cC0O`91!tKbQi2T_RH&?rQxpLVeIhgrtAj028tPyl(#3l`CPws8Gp-^ zrSVoX!dSm`yS{5GFBi&}HS?n*1--9F@46;&^n5f)Q3Cx7lOu(G`5vddSf@hD|kp0MG-^bVsC>!KqFPmANyZSVOT?Ytr2+w44Rd&CDnzxCUJ=l(h# z54iXAk$`7S8R`dYUQdS)fbPeE8mf zT3>k9npW8$!NIB4V@X-%zwzM5)DRbJp?~|p_p|Q{H>|#h+x3eVRWvTj zykUWUgqcMl+19N4X6XrEAU#KI-$iS+ym0;>n;-Ki8|sceFVEHf+&?TG_I%#3(ywj4 z+VSVlkG&M1)%#Z4K0lJ>Q-M{(p4aJn;rjDM{ZqMr!9IT~i!F-u^Zowte7Da<((r#i z-yarN(&vY1BHMjF94x7H+@6>1v!#{vWuFh_wJ;6O@BYIJ^~=H%|7jvG)Gt3xrIi%d z7wVU!T={8XFSK8NT1qN8o-edtlJn)KhCavd4xtm`-yQM|b};|!i`fRtBxc(an14RZ za^ned{<$#A9ZHb9KY`6Au&*YtGYJgySFmxo{+SfBH3@RL1a?aT^K&{`-<|}y0}1St z32Y{T`E`OgjFSm+PbV;}Opi^U&d45R?&ozfYf6x7OJE%d%&&#b`t~Kr`E`L zd_nf$b9j+RwmJRp)&>UGNfN}*lZ*q;;=wWT%ZxYUp*->R#{GA$=hW5BeTJTKd#3F< z*5(2~h=^&x^(n${yRC{?BBljL%5;*yi-VyjO1ApZh(o3&h87p5r`yev_|Byf3#; zf5*`>hr}l(Jv@)eYs4B~;AU1)-TPjX&zcS||03fJ0Ut2l9PkH?w+9^8xV|G8@J|{q z2K)-+;{pG;@u`6Sf;^>z{(}K;Hu=K=f3eBW1pF-~KO6ABHa-{de&eSD{vP8JCEa{} z{)%zTF2v^f$BbtK{`n-_)6$c7X$v3@T7c3gp>I46#nuQzA}ZcOW|!PJZ;VA z&J=k}+D(f89Vz@k3je(n{!j}4+Z6uQ6#oBG`1x`lN{at0Q}|UWyg7xpr|_N>K9<5i zlEOcc!jGo#KTqM`O|j2KDfxCm3jcD7{%@x6vnjk*ZjDLhvLc1QIYrOsQuxXgJv&q6 z-`7n%55DD@6?N7}Ag zV=f_Y(y-lkutHDQR-%w1P>D&hfXoPTiNNx{!?H+l7(|ngSBkTXp8IT9=yz=;dMN^x z=p_oQX{bamMZiZd#kol*MoS^Zvvp15D(?`M(VE6<+#<<=k5vucM`BK_S+&NyuS(9! zHLIHZ>dOfky+$TsVY;j?V5p$|+fDO%%&jX%cH(EK>Y8nLT);j?BYl zN8}pIgh(ifVomrytV|u#5G2#5-DE5$eA#e;c*%HBk%u_e<+9@_DU;8Uvp%>WI}`FS zWs<&I0p1%RE@mm>;A)F#Jg02M>R2v_=fJ)+DvA?*TaKEpcwQKc`$Gmb>L(1`5wBUU z-v*HN%JZXx-36J&BeQ3EMhCleeR^JRplfJwP$t*7uOaB7^}5J;u~69Mm|G{^1rRNL zt}?QSd12>JsjstC@ZKXJE65kRc4?6`>RR}2EqDWoD<`-h!lex~iM&?-m|L%3V}L0` zwsiWA+a$(upIIa%(EjE6$KHz>W z&Mg7I#~L490l(kIZ$<+CxQ*XT1pH|mr}=QeFERc*0l&`1Z$1_9TQHy{+kF2uGv;I~No5*x;& zuzCG{jkzrW_hXt}0l(kQM*{x1Q=6FxxSx}TPuXHaG*-yZbDm3fIr0CG=+zl#eVCx18`nDv`C!S4jm)z!vY#7jx{>` zw$Bcr|Lq>ieu_A+9eRNHEhK-CI96fs+aWuE{$KV`_J@h{TAk#5NCVqCC>I% zB+m9WMx5$ z+uIr9Y;W>#O*iB}+glZJwl}}N6y(|7@QqGv;B0SM;%smJxi#e3-Wo`r?ai;H40*OU zJh#FI&i0lg&i2+$ob7Ep@eU}ot%Eq*TQBh)URd^i&NbrGMSP6p+1{pzv%MW4&h~bY zINRGH;yo1ZVd89u)5O`{W{9)B9VgEAHcOoC?F4bQw>jc$ZzqYfy`3h`_I8Fi+nYAD zCH=^MwzsOKE>pnS-fD@nz10zCd&?4Md#fkT_SQh0?X8J;hl`s2ZzkSJJV%`Et(|xm z$!{m#O}t2)?QM)W+uJyCwzqx6+1{pzv%MW4&h~bYINRGH;%sk+iL<>;6K8vyAAg~&h}PIob9cScn3V% zmL<;iR!^Mmt${e(TNCkauUz)+#M$1q6K8wtAkOyIOPuWu&qJ{xAK2c;h_k(o6K8wd zN1W|#ia6Wb0pe_L2Z^)29U{*5c9=NZ+ca^uw;AGWZ^wzVz0DG5dpkj#?QM=Y+uKRv zY;UKDv%Q@m-hl%0+l$=+%B$d+?5l{gz4>oAK%VWbj^x?i8i=#KH4$ff!*gV8(9iak zBi^GD?jN2nV}m@m-?kHHd+Q+1_U705gdVoHBFVG8;W;%n$g{nT6K8wdN1W|#ia6Wb z0pe_L2Z^)29U{*5c9=NZ+ca^uw;AGWZ^wzVz0DG5dpkkA0~ux89Pv&MWq*=5+uLd4 zY;R|Xv%TTDIX09F+glxRwzn*CwzqoXJ*v_DYaq_{=D)FsaM|9PNuKR3N1W}gojBXu zcH(Sr9mLt*dWo~W6^XOGVQo!ph(FugIB~YOeZ<+`riin>9U#v3c91yR+acm?Z-O%Z2%J3zd{6`lS+NSyDdhlsPi9VX89Hcg!EZI<{>3ikx@UgC4a`-q<; z&h50*#M$1?5NCVK*mE}6E!$faakjTw;_ssP_;0g758GRo$+uIr9Y;U?ayTluI$o5uc z&zZs5-fD@nz4^8BAkX%eC3&{Ddg5$v4aC{rnuxQ#H4|rh%MoXLYbVb3ww*ZJTL;6K8vyA zO%Z2%J3yT6?I3Zsw?o9)-VPIg7v;}1akjS^;%slniSHskv&7lnP7r5%n?%-^1 zO{9nIt(`dA+jin?Zym(h-g=3%y%mYGy^RrPdmAUt_O_2W+uIazwzmVs+1?HkXL~zD zd>7^OVdDM7r-`$@%@AjMJ5HSKZI(FO+X>=qZ*#=i-cAx{dpk{>?d=S4wl`e>SJDal z;rgxW0+;yE-fD@nz10zCdut%h_SQt4?X8(O+gpw}_fOl2vmI_H&i2+pob9cbINMv1 zINRG8akjT{;%smGh_k&-5$`8^J3xGZ_(9@qZ-k2Z`?^&h|D%obBxZakjUE z#M#~s5odclOq}g)nmF6r4DokU{Eri7dz&TB_I83e+uLd4Y;R|Xv%TquDI^}KSJ~dG zYFy;N+1_f2-{eH}e;skQw=8kCw|e4iZw9U#v3c9=NZ+ca^uw;AGWZ^wzVz0DG5dpkkAozgo;obBx-akjV9#M$1?5NCVy zAEANWvb|MZ=pq5m_Et-r?X8YD+gp}6+gm+xwzmf2Y;R4(+1{Fov%Terv%R$wXM5XD zob9cHIM;8z#M$18#M$1)h_k&-5odclK%DLEAaS<0L&VwM4imqb>}r~LJMkIfZzg`6 zINRGSakjS;#M$2Fh_k(&B+mABnmF6r8RBejvbcwCuv@mbD&lN!wZz%p>WH(wWr?%B z)e~oXYaq_{)=qZ*#;) zDBn&JXL~zMobBxlakjVGmsRYR?X8YD+gp}6+gm+xwzmf2Y;R4(+1{Fov%Terv%R$w zXM5XDd@JQ!2k~vhdx^8X6^XOGjS**i8z;{8wvRa5+Z1uOw*$o4-VPFHdpks&?d>pe zwzp~GY;QBfxqdrNob7FvINRF^;%skO%k#yu$IowT?7;I{JI@6?Yv(>synKW4Vj$ma z=X(O~ZSFw8JM8?E0rz@m0zPi%j|F_n&QAvXpq)P*@WXaqiyMe+K3y|LWxPJ%2aR7Ba3AmXfX|qGcfe8x9VT&v_;hsj?V@S^d|kN&OPLVxGV=;OG< zLz$IbLjwb{cu{8M;83Zs@`jtX{o+VTR$j@h)bHpPdhJLe>VH;zA?sfp z_-?lIQJ*e5uMOlbmh+|ZYYuqxN(cOWyJd2UaH>qM&i0oXx9l{U$^2muu6Hmq@u!(9 z?N&t&}jT+8M7mGTSyLuU|0A+nAG3`@55^W5J557U34I3)Q$Y&Umq z>p(~7zbF@Gp%i`EHrsf0)9S`+)~;D2AFyr6Vsrl+8yc=zvnHFpwrPz6*=PT4+YVf0 zwl(X%Idef~c_ue`Lw#=VOsS?^%uXX>5BAhtx*?NkoRQDn%04&wR&jr{^zxcZ$Kg%n z>vFGMS2tSy)Vl1FQdLE6xHh-1+qRqLYDH|}p+bhfqp#n#K8 zY%Bly)V@WziTOpj2ToSy*8chElM?jk{kh4XkswCzXuP9r{F9K9wtd2MduiK<+AxcD!Vkf8P>VszN46RxWFt`Txm# z7x<{Eb8UPk2{0JU4vHEtwL={>c)GgZoxg%JjaD^loE%cXt09qj9GnoK`1&b9LWHD215;&cKvvG7=ea z#g<6A5$W&uTdB*C0z0uwrGB1B{Uu2KX6M|?ka}m_R>y_k?aHU#?O5rg%URCZ=_>tN zA6p!Evy=8wKi(C&nEBkGlX!pl;^P}?`OTLX3z@ZSA30oBmiTAX5Eu zm*d~=)Nj4dKSrvE$opF$S@1h%= z#O(oJe5{jtK3?v)ZwVcA+)`?wEP<EnkD1fs9jG~ z=Su+XB>|)~S5Ki;7YFwIJm*JU;v`lH=|)1Mq-?4_A&yade!9|Le+`KGZ2WAv37y); zF(S;N_?2m??ccM?&^YJ^_32M|Y|rRBnuY8BRmCxrIV>|N@kXV}i6^O@H#uqMNCTRa zDNyF?t7HCMF}EGr)=<@ydbRs#XP_a#D3Pd2l}h_cqz&TF2nAy9pOIlYkD7EILGgFS zFBJLH!2B^n=E~n*e+*=l>HA`#^f4TDP(&AofHEJyr}ELOkG1=adqHXVC zL^IuYMOAfQgxXe#+|c=OrISY9IGO2#?rz8bG^^|c$K4uUaf-9)FKn9Q(@;OdD;5o+ zyFta+QxgB|ifJFCFRXGBANb?LR!sf~Y6K;{hssoi=nZ`WAgZR;CwK3jUpel!JgpRL?km`q_;3Xr!d1KG(*&=LL8Cr z_WyMGuxEdb1>?BCb}|o8h>PK~Zf)8XOl@1qw1#wiRq0%myPYD;ArUez4Ycf$fEr{8xeG+6pL`|TDHkU#$`hKfyN*kcqz0@1Cw*G>|b+IZ(6By*%=IJwsQ3=dnulY{)v75-)pC` zb)Z(`#GOOy-%Q8<3rDo=qB|2gh|CK({!?}8hx7;3&kxa1rCX56&&R8s%<0Ipe0@ec zcLe-=cEyeipXTYH68EPQi=JWlNUsUq>*xb_jzj(3FzogQC z?5Gg|u5)nCs-_dZV+Do8^qgy{!WbTEF5DmZTXKCx<<%8|Aa1XuAMQi`*cFwDlFJUM z2sq^>cjIE0i#U4t3{I~XGTwUx;u{k0T7{jUuB3ZR-5;l}6LH77>I4(}BGw4uDYBCuuaGqODT6<j(LDc6Q$ECYD%t>!H^41c?9<|^N_X> zNFyp-l;JLB+K}hVN~0Au9a?BXH($|BA4&)Q*XHOb|2>NCACccdxMx(jFEUT2QGQ33 zeYoU4qdeNR_>Eh(Iu+qW>9Uer@L1|b0~Q^qTY3#k=PT2Bnws>UjC)!3jY_v>3i+uc zTw9r;=%$hmIjr(Sl=aQIl=5M5$0Yo3ew&Fg7ypKiPW4dvN^>g-dHfJ@%T=0#UFkt9 zWImq-GJb1DJKeU7Rd`T6SgNjEYa;!_%Kry-Wt+ot@;bf;DTH?bCm*(LbfQhdwHyBe zSGuFyA|zZ{tL;uN72`m;Ra5$ zN4SzWikeFo z*Um+GDg0zc4#zf-c#pzG9p-~vUpqcFrN(zzvpr>c!wh^uAl}k3fA+OqIizFW{P`{O z+ZS9LpPL8U<}d7OFJgFp%EgyA&$tNd)9vjBlLhm-=H|SN<%ZcyTDsHkfx; zG&;%i7R-ycU~xS@uZ^+zl>A>51Ihp)VFGByYYH!Hra3kI_)qe28 zWqK{=`3645z@JsPSI$2g^jw$Le5zDez{f`#cwFILKDQe5X8vf~SYG-E4f>-E{@Qkx zmwt~yZ_0U|YUjLiY8y#jJ{g1FjQ3>&KgN)!M74ij{uKt!^?99d5d$~#?cE}HK(%w^ z|7nBIR0B8peBQvv8uWJAf^*Cp~hhC3cyzlv4!E*$BhwddTu)SRGzHE*Lk%=`)$yrZL6Q zJosFPXS44Sk&k^#4igvOah`;E^Qzdp?E~x_;pWOq?$;Z>^9$YW-R+2odfz8rw5)X8 zt16rDmhGshdxLo3xVyPri|_6)oPc=wW6`eeStI&=?SV)j6MA801V+*g{?b3&Eg1d;NkRDaBhyb^PF ziN)mHyQHZ5hbyiEDqclJd_Hd(ViN-29gmte|g>gBA{^4dvCh*m z?3Ln9*`JJ51Y59F-B7+ztdX+ZZ&A;6nECLpRM-Q&=GR*hdRbYdqB=1wf)&(;Ln^AV z0%(ghS1i9yF8>@5(BzP*<&FnwEJyGu28mijQH>7USvtx!MqxrX;b%X=H6Xex_#@UK z5!bR(#F;4LiYFGRA;>gD!rO*i8e3I3HFXmF^r7)}j;>t#g+ap}$7auTk`~)RnKd3dwUbaPk+OF77q|&GjUanR6E`{r`TmxmiT!W(%`ibjC{1b0heYDoUXBFP6aIJ&S zE4)YHW8oK0b;4~vu~yePFW!EG_)ua?W9*{IcC6*1sZ%e(;@u2;a;%|6FJRqJXaP%x z6>D?mI-QI_@Ep4Qr5=a?>VDn=thB}PjoKU9Zs_zWP<&xg-!II;_*CN@O#-PG&5mOc zO_42VUlP~%Vj)nh-!Q#QegOY^?sz;wIF^GsM{gwv=cT_+!h-%#+-p876z-+}&m#Dv z1|RB@=Ci8^{p$w38E-)8g*V=d6wY+9577LBB!u(g83_xV?;SM#p#~olH^0ATu8jp1 zA4a315=hL0_b7j>2VbN7JsupYF5EpHJgDVUR~@geUsWD_m-6eiMoq8l*BlSMu3t+$ zc&kd>ogTbLC;A`Xr~Uur9Q5CGdQ`sac1d}~duQrWSOe->!%7A>SLF}qAG}p?ZVpmx z4*Ew=yyQiv*hvq5i_JklY4}>j(>n*%;l1hA@#||?g|ETYbZ;y9IkqsJ4yUih=Ab7Q znwWu+4ySn*n}b%X@T)xmbpGq`#pa-TZBe%`dj6=x>p3LZ7b>cLDh1pM_3$5^gF0$0 z_ch5T_v=ZH=!Xks)fx&6H&W#p~(6!va8*3)8}=Z?k0FeO-Wo>RZ0i+8tQ?3~{N z9=D(3Bo6f45&;s#L?Uru(=FI6d*uG-9P8VgyAH+vRnC;;T*_HGKyzx?V!fNO%YCtY zEceFx5Pr`uIHybBD`lA)VD#<|$J)jn%JrKm#8XSo#vO%t>h=?zrSAzTFh_f@=awS@ zO-Q`A>6SzH|86~Vm>V=la+ev2)V?!!xRYKk_`6dnSlE|%?}FQ3ani#{o!I8b##xi% ze}11%5VCOILMQq=Z0;zz8k3f(<(K2Pkvhuy9>zc2UGh@&mnr?U=zaYVc%?rQ%+3%)r$l#i^UE!~}1sco0>cgc$wv#`4BF-uV4 zYwT}0hzT&Lq7UoZYYd4kI43qo${npYFT!03+WL&JH?lyiVWeY9Sm)NMJ}1IfzU z#uw|OulB^NMexGK`shy@UiZ;8Is$do;s0JAdk*NmGLglX3xNe_FH)GPOAN33)@FJP zr}Ixk({NKL|5vMyOQ(zZ&u&kL*X2Sny>SEb?N;&!)s=OCVZGtWw@@D$P@t|yAQR4; zEu5be3cpQ(97CAS8-7tcc0bI%seMt)oZ3&+$4;D7QztsvPkx4J`&oGj!s1r1^KyMw zEp&=K?{n$bClt`5TFKQ!+yqU_Iqs9Y85*12YxGT6-lT7>0ou%kz0Wv_Tf@Hiv8pG< zBA!^nM0YBWGoYc-VRC_+6}z|kP9}fj*bvtN2Sn^5X4x-`6=v|U*Ha7nZ2WAv8A@QT z?@ErK2L~1RN_$2ub0Yb0-|YQN(w+%&?`}h&Zz^zZ_D(NRJO0zR2KpK$sKrx)->j4W zBv&LiDW-eIJ8AG~D#Yi)!hBQ)xI_6&(q}#dzZr%2%`D7M=cDB3WNyY1@$X{kDK$9# z6m}A?9nc3p(w8(lFvOvOp?C zdWp)3wD#*F)qW*W`lrn8KI)-ax<=7nAmahcHJ zE-F!Dw)FBfLLVo$Vpt|rGd+2h;|f%esrB$2-K;!a>kzsj>Em!qGLiA9J@>}Z9UL*b zO}@2=y8X5N(Zqqa#iKD=#7ht3j6@$N;wqgRSKwY`TFiY5ry8Q}6T%mDpTrWnmFz@= zAS&9myh*24aKM{+oThxmR&^9w)GZ6)$x1wl@~sI@4P{ybJZflLqhp~;_*e1uF?=&Z zK_{K*fhX$5LN$1DA4j)NCL=E6-UH2*p*r9XtOmYx6W@KI>;caSIe;Hr3mCrnp;_=f zvR?Y)p}FuqzD@dW2`y=I+ws~*2#e(Ta7*dbEu&Yrj8)zCC<1GAio)YUnW1$0{0Li{ zJ`m&d9L`qAa}da7F=lSU!_++=4-Q6g@}jbD1Ic77kvk96$5lTC#@yF-Gg@T1xblop zb|!*Lz398QI4PvDd%wo88L@2Gi+0A>w;w+n*p&%(Eb#T%$v>ETDU-w_Fy zLzupG2Vv?&nun9|(gyX-o{2Xz>RbjULrU||4D;p4n^tlsxW>}$m>hkdS*lYTO+#N~ z?x5wSLPhzC4fiahcWi56BvfgQPB098u~5(&on~o}4h=w}M?IMlsKL>l z$Ty5NbDVV9iPa*CWN1CE$hyQvrW}XAoACDovw}seG;y0bT6Sa76r&fz%twOFAdL zYAr62^c{O~X+YOIGI8KYEA=6wO3#eg?yu~`t0h+I4Y04@VkHAi|A8@9^4lN)FDrEz zdQmnt;LS$q?h=e*>|X8-)YakV;M~Ve#2YxGg3$J3tO>i}5oN$Up5vS;Gu=vcG5?l6 zu?=WMz9zJx9wv>sgH(!2B`ofAHA&+==ql0lrkhbwR*8yYEeuzpDI9^O&k5q@ zqDs80tckjp1%Wi9W~>r5!&*2C_2NEJFRX>Fs1*;0T461mi#qY3s1w%0PSl7;SR-&a zmla}Fu0nhT$?I@atPpHKWR1`*SoU`x<vhJ@4O$tLFjG{`NLcip0 zt-}%16jRv!pQ?GVzcc8XyhfF<@aOUxb)ih~#&XrVW%^bH{aXW{vGW zK@q=AL6Z03`Mwl4XqH*2HJH#M8n#r(k}t!D+~AlS0S%ShfN=sK9910#S# zJ7{9*RjdToqy8ow>pUysUKu)%W9oFbuXb=nBovOiS$jP)-Pd;neg+@u$FDuO^XisJ z8l={vkx(7t=|nokvGjd-9C3dS#jV>=78cTXY}yPhjfJYLbvp-lpwX@qv5%Lfu@(W+ z5XpV`ue=k@LtZg3nsNn{I55mgzRJ3WF$B)Pr^!I-rK9vUGkdFUNE|AL@{;KMVmYknw#whW3*>$m<#DI zRifyb8L4+zl@qt1)kX8g)&Rm+WnU1wp3|n($q1ZXfXAx*^4i@{`)WQbRQ<_DWZIOt z@oMx5-6ue~!cacHA)rIv$`%}?r2 zl;#>_mu|F=yzRoofup)F2B|2kl}sLwJx<3p-NR*NX8HNJ8abCdoqic)poc-IL)qm> zd*Z<1*4_8QXZQXYpceIAKEFt0q517G*q;V%NwX53Lw!=(1Dr#O`JP zm3|Qo=T7s`Z?Cc~+kT_5hKgaInfinG!)eQp3KJE;7jMgN348qvGn?Rl&h6qq! z(I<#PL=dG;c5fS=%kZEXbXOk$7sWo4-VKprnIDAK02Ham3=J7p39pl3gMcB5z;V)g zBN%bSVoZoxK~ad6s2670Jl=_pRs_o~KA^hel^ic|u=J4_MlOA0HMqsn8`mPc9Cu78 zh883+WPr3nMArlxA*rBfOO~$%;=UVopNY6IS+U|ncpG5q<1B9f3D@>x%hNed`kNsJ zM6Z9G7;0H5egGZ4KI4-kInm`~-%(>=uz5+U|F)kYe7s)|Sl#|;{S(&m45ExC9%s^g z@#}FX_U^`KN7Ik50K?sYS)t<1LjYGc>>Tl>`fobV?&Z#5U6`8@q>t4=D5Q>0jNP*l zl#Og3Fp3L;#@Cd7WJLf4zG8e7GkJG@XyQ^F*!82S`8*23PB)-Yf5Kid)z4d8OCShk zjAo`D%7F#WE~A?|60}lQCEAH2d=|zpC06oqh?dwroQ?JJx1fWFID`nn;I<>|jlAPo z=>a6Y6>Kq}pMwGTk!2xkTqM+NC1c>sp0oxDaoFj|XxP@Xy?7CiqjCs{svcw-U?Bz~ zt>Q>0-O~@2)}v_bd;VP39Y~@zJr^O~v2KIpXhuWAkOO1FiThzO|1Ic-5J^=p1oidt z2hk3K5imC7%S3ci`P06APn5;$(79Lo;)XNwg+3wU~wzV$xXWVzdGm`>Lwr` zC0DV%T#tu?9S!bOe|EKqOVCB#l&HJuGSuBax_@bMAK(tl7?O^$?OV}-)Eep#9E^5= zc)Q582m5gW={8(M!m`tZKw%_mA{f1#OKr1IE^6|u?2jo%FUNakUCJISD@{_y0=o@D zN2+y6$NcZJu&YqY)RSr!bwA}Xikey}bTPYBBrOc371c<{fyhIwA9p>AEQqxoVBMOQ zIj=7JGK98!?=%F;fN}PCz(~6YYrFl4ZG)KiSgC8#rOT;1Yd;9wvXI^Ta6WXtheB>< z>p*Vz_U0dpu-Q$3CFkBX-e(Ws*^ucv@^k5XzOc`C<52^RV&d22Zo=wg76SO>K1Qgc z-8%-Hq-bMN2~_Up#Sx7YUqEhI8Fdd})*l`K8Ef_m4&pK1^kWNTtbQO~-C(WjZ^}4+ zL=vliwtIBPxpsBDJUz86vHJ+*;bMz>C9#eW%h=G5{w=sx4RG#;41xKbm12EC*wCSc zi}Z3aNyx3~vF!c>wCLdYz!sBpYh9qD-l?`yOZh~Nzq@aYWgc9CO66p(42{AHYK>GW zRKfWwG`dGjI;th^{vPW)x|7$FG_ib>ABiI@#D}>QS+rPZ{apS&-fin_suGL4YTs;n zl__aShda3r!(CipC+7)+QriM4FfXbTBI2#`)k^a0X}NyFm?iNRnL@YcH+uf5%F^x~ zjyx7c43YcR!jmsvDntV~@_Ifw=a)EECjRWl!n7!c_?et_R&^wNez6Rgxu0)`tz;kxPx77R>u6^T}>= zn;lf1Kf;>)ZSrrd*zPas1bam3VL!RNw7aC@Ise5KyZp_#+8~vC??R$+^Z70Ud*7Uj z%Ii=tECX!=m3w&TV))nl&5{N3NbQdfm#p{feV$y7t=B{LN5k5L&lkl18Ws1oxc5Qh z5+yL75tvfmA$BkmEbJKl|NhYS@@T659Knw2+nt;h3MxL!8?oKw-mv@1e|j2#g$I98MuB6 z|Apdxun5j}fqZI|-e}!?R^clZuG^A#6kdrQpH8}JsRmB9!}|fKGF8z%28mUcz;s_-%|wV!bTxJ zM-;(NDuQ271i!2ZPCLql;*A%o#>}7c8T6v7PBvJxcC#FZOEM@xKSS@IOt@DHRzRxhjeBzzywPU9+!kZp{k6Pv-dmH16 zW-sWv0m;l|qLQ#{h-|YvJ6m`}U08Uz5pgJMEkcw9or~rzh<6BkGPCE*k(nUKg(y>I z%tAigun;BHh1AbmxWL!K@`OZfbFW8{&O?bVY>|=*HS)2`sU=Z^5-DLq;=iu{Pgh$gfmPB20(eJgPLPbJ4;!M4ZoYsU$hI7w3&+Sos9f z8GBge6U}6Zg3Jd(#+d{K9 z#Ky*%@Y4}z7p3XXBM9fk8zg)Xev^T--PU~WD1xVp;9pm`SN{7AdhQ?8{GTgA|AIk( zm_h$;5&EMsuA*alP5!48!S#5U^keX^*P=tPQ5&GK<+?4Z225#!-FAY3s$oZnez4?<;^EPk(n6|0Rcu&Q8pM+;xo@8~6y4no1 z;2c|O`eQgafFqyt@vrfy!oBje8uX?-?-=-J4L$)jI&kD~>hm~-d-?0{QIh@w{A+oH zc^~+_^v@XlO?}qiXY|sSu#tr$e^dUW6z-)z$)Gp&;mjiR%ZuRuV(>BJJ^Dx?j*w>x zZgqOED1vtxIM=c@{Za$B4ScnMM-2SC2Hs%cKQ?ePKaW&z4w-Lee{qSzz4_K@(3|Pq zWZ;cPyw@7}Gs(b%xThn3{%hB&ZZy7E`S0}Ldfj`i2iNP~k9lyt?!DcE>viuMHQv_o z>hH#edY$bbKLfew|4DlV`<1?^ z;y7qcve;S3T^wY=HLHG>eFBR@4XeaERz4>gaW$cmYs|p7pQq$!-)1@;PG6&VsP9d>`#xd%uU6re8s=E6QQ`YN z4|M)(!pm{PHYKb9b*)i?^F0zB%a37ocr6|ud!hj1^R=o47i}Ap!$l71yx}>v@Rl7Q zU+^>h_4$5E;SA@^D|V}e!p}WR2AXSx<*he77Ln9h%C0kqoTaSSUxFL@J-7)IYtEJi z3qJW-$`zl_3lSE#VXQ$NiXB&H!<2wC47?6GGMFH~LQu;yiRTKUJ-g%{MV?!^J?z5~6MY8mGJK|OXZ$?G+JoRQ zQ!rYDqn)(GKr_q{#1Btf*sJ*_ZmoO!`B5I)F>vvHEbT|2mvehz8mq7;h1=#1b25>h z59mqUGB6jX!B+7ErD;KqdM1WmP4GrW4eTYrr5UPegs*91C4L6OF@uo6=Yy} zSlt11^0%{c&s+20-282)y0u0xufeU%#`LY~W{|zL$|X^3d7R_umEy_AhGhf6-gD^nH%Uo9V@b#{QtY*rqpq0|VFv zhb`Lo_26N2+Ec0|tEd2=kRHy!99Jm_0J&BEa zTs!4CSG6ZF9d1qR3RuY#kykLNXr+FM=lnR|&v0$1-HCl%)e(2Qv8!0?FFt~EGxoDD zfgsqx9JlaksItW)dp>)VmHZfunsaWP8#sj+#^x=^(NMcjh?49UNrA-EGGop}1{~Mq z-@hBtLO!v<@^SLUM%m-A1D&Z6JBW38#$55(aUbU+BL*f8Q4C36Jc^?Yd84XGh3m+>TiNAFVsM zNLik8fHb+U#YZ>QztQBr)nrZiFk1g?%xZjZH&ckys5&3hw^rH%4Fn+_wlnig!hk$l z6LH^h2QVImO` zent%KSIlt*A9 z<(K2!Cp%V7&y;O+Hti~nWlk$)E8P-J-&U2^(b8^NJUEJQdo>u&qmW5W{ zKii3dvwQExXh)ZG4{|H!?(e%F*Zf{kv4=GZ>qbuc%l&w=Z!&62AUe z?pE$wf1F&Nyw!h*`U4JFMhq)Pr(*0J4wQw73 z%63>?zr!~YcYVwcWp+fZ+n%)dJ>id^z=L4;hF~)~;nOxn>wm>#`TZsE?7-QQ#brb> zBnTtE-IN76!)@aK4qa0Rc+#ss1djF?A1g(7grg2Tsbbyr3P@u04=|G#U5682-G}g) zUR?tyzlec^c&7jsJO^SWmx2X{P`BXR2CrP_~yvJi@35S!LpWHJ}$^9{MPvkOkqAr?v(jQH1#SZKzYtZ>v$@jrHnw}JOUxMnRZ3VF! zIW)Pq$vw^3?Y%Ar)-?`TSKGZb_@=8;1Y-Bi#Sg;es}kj}LBg%%^U!A}b6S{t(L0?@ ze}X!_z;+zp!%J*Y8`JCebibAT5&M?h_gZmUp^oDnallZX1Bwo8-G{6enE)}6h8_!v{C!N)Q|L} zqpkQJvX%NG66<6h3w0u&dc!C(48+kaJ1~_X^8GR9I}1jH6|%Tb@~BXlhg2N4kBBJ< zj=t>o5nT4444OJhm2|5(#Dfns2AOYxY3VUIXn-(|e=EQItBxPR3JB^!SG7nl%8hd2 z^PRb}wUS}#NV+S)#Oe~alBWoiL%Nmy5Q42*cV*glekmB-HUbNyeqZ-t=~NQWaIiLU zpwwDkLBaHauXy6tTS~e|Ko7?p5x*7%Ge)02%H^knJa-aP03}1jo&EC#usf~D+>t9v9!0Bw9Wa_S9Cx0GmN9qJfjqV>c z4J}nZk>{{PaTaTq37!ZLes%&-dsL+@%|c{$Q?tbPT`yVB6JGuDsMVD1v3eYbww8@0 zGiX92-R^5}|77%l!}QF$3i4LTY@3PN@ih| zEW#|rjKSQ)!zdFWs*4jmdvG3={W1HDO$QrAOY6|HHy%y8JodLf01j4TS%}dcg+Mv|%d9+2&$!`_qTu&giGh#({;eT)TWIV~m&oA<}qRYt_ zk(Jtk{K?)3Dzu*lp8Tv(S2P~@!fW<0q=M~hTO7yS!DMcpGJcXAbpwP9B{fsWuQ~cR><7ig5V%X7Jj};_@P{bzn7=KM{S0Ci{RktGEEL-us|`Giow-wVIXp8d z&w4@0Y*AvOd2j}jp(SY9>Dc|uYG#$J-u=$IgM%&hEJS%%E3$_zMYG-e7McL|8)yR$ z%(Rw&ow}J$twq@E&7#C#Vu@EHXYJmEQ3M%s$1G|tuKC_Q`za8{@EL+I+b=8mOL7;B z2Jw)CL?gry)#7p3yIu#8=rBJdH4Y%27jr`}jDukT&tEew5wIMC$$2buOQ@CN2C_8E zBG=!9w6Z^lqd$nTKS1^S0-HlN{P{0=TgkIUa$iz|ye4r1dqEh+9VO4o9RTzNG}C>+s|WI|@z(?y3ODL+@MXi` z9CP;~y8UlwKQDCgUh3jEp~tyKhYKv(M<|#a*^9BnIKc;X2xBdbOot5Go)k667_?!k zBI#INa|1Gr;j;CjXLE)ABTl<_EK~U@+%lDpP-LmoTAl7bi)}%E@R6zz;oc#OKmC=> zZ*;S_m7XO!{iNTgYF}oZUg2lQm}K; zPpy21Qci=EO&B4kx&+HRMfZ!@2r>mB{MqXS)g-3nb1KrBA?=rLZE~5BJwxPv6@wg) zAo2ii_HYq8e?nw`WG=`1_K0$jeAFjRYnzIlNcgnA!2!e z!)M%AqUj7;%YT6ooRi^T{khTfM$R*7X7LOWUXMAx=kxWz=3*2E7F73&;i13#@cjIS zxlWrQs4%deLi1twZ07pjJ^g{rR_ZiHQvZ>4#|gYa>s}Yj%*TWRVnE$@H@JUlazBi^ z16htCML*1ik12!B{&=V=mI?c*W0kRbd=F+S67pQ_&gg#hfLopV-PRow!4sD9Fig4@ z*@N|P@j-YFft?+@Y1$x+l;UZYyy0zz7mfVymA4h%QY-)~ZzsGc8yX_9#w9~NOp-8V z^B)RXDUsn=+EB%k^+s}62(N0tLK-Z39H># z`;_j`B)fROSfBwcsIE9CJA- zMZD`Ago$BEyG~Tq)J({#Q)s(SPRo=%$hcxI-lIKdEuVzPsNt>1A|$L@`eZ+!I)=Wq zu$dyq4OVJ|fQHmcEBRj-k*TWet;Jys7k-JyOaC;8_gmeVV!g>%vTS&hw55iqR|FV! zvYkFQDIJjCabM7a;?>KWLf~=lit5W|x03a6*{y)HV-bw`-{dZ5!xy7rjHj771IyQt zF`URUG3IM>AEJ^pxp%X7um_g2d%z!%hjLwn%0^a5rIEX>WROCQdy;xsKR*<(mVXbe zn#!B>`VYYZZP*cPuMjs@+7uIh#hF9Y%Jq~bTL0$aL+A}q-F+@bP8c>}G!yO%@^O0k zE(oJ?vcvsJ=u!mVz#TPPlc7s+f0W}ULwtb&yCEak0*3L-*RiP|vCa=Qci`y^JasaX ziuvUTyIQ+R7i*&m-}M%>u&I9eYDgrkO<8xm07OWzfxEBS)l@?kmWz@_a3{AgRq(>h zC|GQXaij`kRf0A7?tyBcQ=Vm8k1l@=>4;&7Sw&kO)&A}F3ISp54(rj&no%k2p5-)r zg7u-v()TCnn<#y+O5aJ+_lopYNgs`;AlxC+_ebgbkQKK_WS~F$7CiB@qUqad!6tr$ zc(3A?g@mXPqyX!2N1>b|CZ^USn_SuFVm{6u)-e6|Ba|7|DA_UN^|7%`iL%D4s69{C z?v#Ue_eEXbkS)nyv2v&`)M$iY{u6V6>=MoxX&`%6+r1aDE0b?xdn4f3_pkU7 zGZq~#dkBKqy__#-LJRkMer@;iVCtStnou@lq6JzH0w`2X_6H~|eq?|{?V|y%jAcIO zhdmLo))F1}R8#%ts5NzmwY(a$z-ZzRYdSfKg3$auUEaG%0^ zf(4tM9a(MRD2y*NAV(Zfr~wDFB&xivc#1sXDHlG)fP z7rHb45O(UHUW^()~*NDInPz5r`hz-uv?C7lIa;|dX6(amgy-mJ@2BP<+$yJN3?mmW{R1N z_C(y*YoFS19P(~R-`%zyJ+J6-F+RBQc)Y+W9Wp&Yo0htYP1gsU$8LJLWX~@4zv}&& z`!2sD`HXypmUv@{gLYKt3g4lzXA$qvLhMWGjOk1yG#76L#ArXi#y$pX>}ctI@p7>; zVBO90J?QkRS>8W|3P5wjTV9MF?!zOF812kV7{BdLyzgH;vH_EV)EbNr_<~EU&92&< z#N;3Y2((9bS8@pl-G^8`zYcAfo^-O^J{EpbVUGuQ%0$q?p2jY>hOu)m2<9-b+PG?S zll$)2?PH&VCCupq@=ZVOC|;oS(#Z&m)mW5~dJ;)r0uxie6ECV(fD_jmxUSw*|8Dmy z*k-}F=(H%dyBRNaC&kha@(JJ9J!toy0L|BJuxPCBksIrFgU7@gigb|lQIT{N!~FeDHl!k36LU|ZVK4x`lW*`U^EbTDq^sC^Jnz# z5%4GPWE#8#hgWeUTEgY)k$gV8`y`aQuoZbX5WDw5Q0Q!V7cytFf-RUdft!==#$<9s zKOXFBY(=NYDwUqJ^kXSP1$;|C<|?^$7ps)rd$y6w+`p6kI@sygGE!Np#VsAPW;E(Wugqv2v9I;mJMnGTUX66HYTQM6)HO50L zbtO`tJzNw8^frBK9cKNhDM+EP_-1f}1rKJPmHavH($lM)(&<5KU2VjA zbRO(z!H6&GbtR^=P&q6*fF{Ms51!XDUr(h#G0tD*dZS+3MC{VqZSCOT_RFuPWU&~m zz9HqbHkss!H)|cl72!=Yx3F+)5B`?>QffpfJMl5Z8xDH#s7BRG{sdW$hUfEE@+;8i z2KOz|j(tQ`r!iYj(U5O;FJH}SZD;a?m40o-T4bNvva%23HrQviQom=x8Ov@gD8rwu zVh!W#&!_YYX~Bjn{sZt(3X=UQi<983EW$@?!z&)48jDO^Hcwz*@B{oe31TENLxLp$ zza>G8M=lVcUAiLmZD83Nc$EfV!xQF2QUh)Yoragn@LKmk2N3I{Gq8lf{6;e$+}?dQ zn&H!q?4C?j>4sh6$JvVc;uGv%4i9wxq=04lCLN7%68Dr=n!~k{Uj`i-Zzus9bQr)z z6NpvCDtw^|2->>j9Vihln1}E#TCAC`Ap`ekFj^RO-`Fz@ZTI4C);+W@U09TSHa6~n zQx6@4on~w5^#P}}E9khdiv&4oyoB~&52{VhxYr#&Uj6|{?d(3m#tRAVnPh9Ldj-_Z zZSeXArtD_ri~8T<8`c1}za}AZ_p+G#C-k<$!0DHvAgY(h#<_Y6#SUYkg)e9VVzukp zJt2FbQB-od!adL&_5UGO|0l&ReqK}kU%Ji~lMr`LG<{Fh-D*6JnXaP|~R ztr{b2jZ~d!_H4k~ly>?)mY&Q=v%x(aG+1`QZ{h=tEV0(FZ({Xb0jv~uiIT=Uc_CoT--Qgs0~jR+ z8Fp6iBD&A+5vndl6CdN%YXfAW{#vOQacB2(r^FD=9V=Q~@dC&0J(RUHXPsBpdh}O= zvCN!MGus;svDP1ekP)nmRw_Pr=58A56@o?F_tfkE*Sr>bU*5=;4MVXa7J6kDfxSOD z^SrEzf$Uc>a@H-?kH7(~8Ydv48$HQL4c7-DyA=8ic!WT9;%PnjW&^wyc*I@%S6q~_ zZyD`SOW$0%MU|^&L$nU}qRCAC9O{&PS7ev4wH-_Marz)?$n|)}DvjMh$rSEm$e)_* zOx&?O6%yae{7-x|2jdSR`|*bCT!6{RUOhzid&DapA-G}5dI?bOWW?hA2TksN*zxSH zYO4RJ`*5|96Wg_wT5>=@jNTv7wCYWQ_ad>rm|h1&C&TnAMZ z$nI^DdZHES1c;wk7R5nke;?H+`z&6)PN~!C_n!y2sBi~+So54}doA}|66BvQW_H#g=w(4* z{_c}|8i)J4$M!T1^LHQH(^%&3KBA|w)ZcCOG?w_gNA@)O{oSQKBmA%piq9r)=7=Yt{7tr$FnhX`(%9E)$=BGCHAVi*JVYF4K|&LjZ#X0S+H=V3wkgI z*hGb0N#*d^w49u?nJH{qMk-oM?ki|96ILW!5xht7;_E4cR|D;19>lA;^hBE9JlH;_ zQyvFC^&q>M4dp#x`>KlLCMsVcd122}+4yX%czA5-qQa5b<)zU;#rm-w75!tU<2sqN zll-`w2ILBblr-Vya{ywv+8~kkPv@$N^%x6S$k0GLqrwiTC!LKIYf4L>DXCanI<4a2 z(q>$3B0nlCn2&b3urs<%@xM05U)V7f{DmFUd>SJa5Bp2MTG)>1)bi3`X~lYftfC)= zM%Tm8=)-=Yvtk4T(Z}PTj=FK4Y9w^sCf2MltyiQiQaXT#6j_D^d--aE;=}bkh>GZWu;kpgdxU8GQe5YzaT_-F0 zY7gG1a9wWtv23e`iF5E8lS>s|lZV9Jl?o4g@M{#_?7`Y zmu=;6Uyld>qM~2v!6n^r-x?3TO!$ZA+E4xXPKEbtKwZDA@a-OawZbbs_cx5Eb3q|m^fRj%US31$Z;aUdP zh4_4`2+oD}LiBu#NdB#44yXIbc7=CJIM+|Q3h!6=XVmpO3g4^zZ0_iuRJhIxjeo3g zj>_pozlrN>@E4Nvy(0K%w6BzZyW*q!*W(o)#Fb9Bdy^He&-`or8ij`yz3yvoQh1LC zPb<7%;iAt)Jomz1NdEha;13tUdyC-gPYUthQ3QXb2>w2Bp;v0aDEfKGe<=EiLi~>c zPI_vu z=M}*(E`oDUOCkOXi{Q5v!81khZxq4*qX^Db%R=(-Fis)-W#H7SPBjq{<1pyqJ4NWr zG2to1=cpq1nMH6;`U>%xQv_d91b2Z`{+bYkh7;pFT)$R?{(D96twrz~i{!)0Md-P! zqfojAi{M;EDnx%w5&ZNbcmz1}VNH$5hTM3xRpHweuE(UeDtwp1bvta>_7yW}SPjh^ z1RXzrVcYEav**v7-6c)^YNNk3^q$F|v-mTSKa==#Hh=2)Q!A_k*G>@kg0xnU)rt_c zg1T0a*Gl?&Qce(@Cy1~DsFi?VGeNMKFwv*JV=s*j3tO^(|D*TPQ1FnD+HS70jw+1k z!VW3T=L&1PwCsAOwrpIGSei{$)E?eoqwT2e3i5B@j39_AYH9SlADa zFPcBZqOY{1EK&psVSL$;T}C%Fqsc@dwAGuh2HFH~0fW2-Z^=sO!e!0&l<5sKgehT2 z4*ShFL0F%Lh0$f^$vjvZK^|(HMX;c|Q_5x<@YMvJ-7vIERxK?gDq=ubQ&U$K(RlQb z$Z4z>kzO00n~RrFTlb&IrS2U)5%A9h_oud^i|Wv)mU{e3gr|D>gBB|1L?bdYuFAx#s^je~aa1f8ZK z4@Fvq=^d$?vR^wxUc~xqHSY0>LAV(Peu{xFR`U{c<3nuQ(K-Mfag%`K)HSh`pUv1!)fj?;A zCjXxpIL9HH|8p2m(=mTc8;E@b;CSI&SkrU7NXN^$_}BRD828W-KM(&J=gDO{;$}Ji z*}ypm)bt-JoZ@m#T;qph979JwpT)n%YZdOLcZ$$oXW$nYe12l!W=I zH}D1nAFUQR$bYJVM-9Buz~?C3n-4b|^k%uQHE_q^Gicx@|0C6ch*zFB4LoY_DOCe# zFMWrBPc!ImHt^{NzT3cK2L6$OHyQZRtmJTvmuq8M℘<7a4dND?c3RO?j${;NuLu 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

    e%#FYCr)q8^=W8eXkGaZlKqz(T^Nq&q#rC; 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%0A~0FU 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%0A4f!}#J}y7`0;CFg*o8dY-*DL%p&C&} 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�(9S2xu?pIq3I`6FET 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

    9gw=IFw}rebky_GOJ>}pzx&Amg#Gx|K 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

    W1dx&Pklv;mTTlR z*^#8z15NtPRF&7Cj?lEzenhSZuh(-+(p>uyX>{`7Gr&8+N5EeOzZcwGJB57@{L{kK zAN}&WCRe|YLcSmTEA47$gLH?g1A3NOwohxfP1n!>i!PF=6 zD)_MU51OzX5_uDR2;9}<7>SqqGXS0*$AkBSyMF(@;CYrvBpuK|yP zW9cfQ&+3_Yf@3K=vI@Ka9Jjh6`X*47KaBQ(Fh#b2@ACL(!TZ3So-czZ!QGhsY4By> zu73A}SAn~F{8#X(C;vElwZ{Vq(tJB1841&9M=??!h__Yq;^ZVe7J^mwb7k78~ z5V)&9$A1QXqXYPS8T?j{n=xEyoL#S+$@Cl1bGEeH9w0M!lI_0neB@VJOBSZME)<3k9qR%lKKvc&-;aId`cm2zJnv>C<~Ea9Kvr2;T_Ol569j0 z{a)}MaM#Ws2JiRezYad=$-e+T3~tu##s8PV>v2haK`Teno8U17UczOQ)T@aDxcTml z964KfP~4&+{Cy!j7Q*L*@cAKJf8R35pGM*8e-s^q`L2)nzdl4>e+M&2&jZlYgMl!@ z8hJEC{#%gm^W+bJ_k+7Q|2z1A$6p5@^z{5$c#xlGN_#cuHRPkV79$r550bwE^6t5i zD#(|F$m{tKq(>J~Ogq6qN-k$6-3T5Bhg*@R5It>>PeOh_^yqtkgY0gEd?^O(rI3Fh zME;8*{L9eO13k|FC&BwX{oe*30^b6=2SW7!B!vGWguf2`^_ZX^g8n~-$e$_=(!?JV zBPV}0cog@-3!&!{@VLkIXPi_|54c=bOj-!u2QIrNHOfX%y?hk%{g8L<{4?MKp8hAm z2R;2SfDd_kUIiZpck}T#!6TU1$*xJKNq-mQ=Ox0myakYV<(&y0^>{US4E$o~zX9Cc z@4p;8Aw0F#~|Ma zc?pY2xw3$udip(n3HX4=KL9@H@f*O0z+Jtp5+3CLCdj*+D$>21v;({V4b6P_N{&1c zqUT@;|0VP!;m9)R{|&giZ|eHzx4=gr@6L;}#CeU6d0@kDUk5$0t8A9?I(f{fxG_XD)15TN3HqDb;6x3 zAoI}}!q*U`x!Irmgj#c377J~PK zJ3l`JJ_vp-?A`*d?}r`n_L)4}-h*|5xx4kDo1p3X13Z zgloAXs1T=T7I*=8v#p-UO(A+#LB0p_Ga$bed=T9AtDg_i^F#=LE`)EB>t#^6UJ8*v zCS1$gS85$}{dVMB%lkck4)_50r){>#W#I8L3l4(M0*}tM0H;}GDR@2jSjZ>Alb-zD z-~-_OkpB#LyxanJJ^ixN58ej(XN3pF=SLy@7tk{VJ#zY+^al6{xST#F<;nm<<5^H) z_nrKO;4yF~e>HgA<2B$(aCiPTf%kx40K0b!4=UHEA>Z%Ge+_&Pd=K<|H$=~mLil0m z>8Z2|WuJIZ2_$A=O;JMKA0q_xzUk@IcX9b;nBY1(wyTGI1W1;_U z@EExHo|GKh2A-_8g3kYb@E&kiF9YCx;HN|XkA(--%YQ=t_d_#zQ3i9=y{1)(}$9I7DfS&?? zo&xU!kAi<+c#xkzhx`EKr$YYC5c%8-ZG46y@A`*#fscTj?~sYE3xo&Ry&{Cq4&jTS ze_*k7@Llk875JdXKL$Po{ubnQ{VT|yC!BoT3Yzbl$>ss@;p;8G1bTi6Ua%yazXe_j z?%Me|7umSQJw5}x-s6kGlOFE?@A3F2!TUV^P4Iq?9|j-r_nXcY*hN z`nQ4)gS+^A5q!kc^CWnrHe!;Ke-XR@+{NJ)@F=(pvrRf7JgD8~PPXMOg}nLBn&ikA z9wa{{gwG7&peZ60#AB;0KCWJ{{r6U@#EnA;4aR(-fH6S z@dEHcPtO$aA&={KS5(h1xGbZYbRBr)HoNcma_}g)>o-#1F;D(};X(bt7a$*p{4q3$ zCqm?(4dE|_@Lz=Rkq|!S(qKQ&3E@*i_?!^FAcVIF*Z7y#+c-aIKO!Fwk^d6pBMnyY z4#*z>?*Vu1_UGVz9v=bk2mj?5D7q{-4(EpO;t;+xgnuN2e=3AO5yA&U_+jB1&%P#G zo^}-Lb#U`QyD-P!22VCyK{u|R^uFLYd_cJB@A2es43Texd>`b+oJpHQmR{~z+J!h1Mp$+bD;kf@JPY}$4@P^{zt*Dg8U`mad7E&Ow#YNnDT;O3El`k;PGDY zVQ}-ELdo+qcygsxa69z;2z&(mgW&o-m7sp(FCkp-1F4^}7OUVC=($*Uke;g{Ukdqg zkiQ;0?(sF?_2B0Fgpy}li2g5x@UKBnY?U?W)(Q88$bS#=?#IH-_x~j8@4*MrklptT z4u|OZ9pwAEtX&u9aWe7LxDA23_J0ZZF!*UUTjW~s5l{XGaPy-8BJ1Sazzb4Vfz#g$ z9tC&uyTN0g`~mP%PyQ%)9DF+b{401L_=mvHmj-Og3y$iH6bcV&CnX_#A@r1XTgA@* zHQ;fNZw0RhH{Y?7tX~b$|2@b@)>-{ByfNt&@EEx32gb+%Qp;89@e9G@;Fu0YrV9@$ z?}8A1a|mw_;dcvHe+FRpeenOG5c$VL__NS63_a3}P5M!Y{L7FpSa0QAdG)?&Pb4J=?Ia(H-vvagnu=Je6ohsd8cEjZ2-L-9V=;vYVEMu9hs&v?dvm7fQ*yuj<+x)+D;7CFM;( z(_;FTt;}1kGPa6lPoG6^;Nk-%v50vK&x+0j$2(SBTukAQ70=AxofYGwGp?S+yTwIW z!ZT)P3D2A{n}uf>1OuceC=&E}p?hubyF>8{T}SFD_b>ted;EvTR9tRbBbQc-_23Bwth{ z@>E08@_Bc9j3ZDqy@=x@S=rB`VtMHgsVXkwLKPKH&r(%fl67?E)mfTnUd>*`if3d; zPr8weq1f!AEH`GCWbe*qujK7Sd~|v&%d6=zX`mU+(~D-Ylhdcq;NVE3&8mnQSyfy# zU4k>MraY$qU9JC>=zr7oKXaf+w`S>ov-Q6j`d_jBCo$Il&GDkJ6FyQmzh?2=vYNWZ z^X4tBtgWjpn_E*^7pYvb#JqP(KlR;I&56eDm4@nGqO-H3Gg7wn=0)Xro0q=F%kJM) zR$Xge!KJUQ@{s0ja__yXlb6Y@X-dkA|5{c@bW=Kq#qr8T`id)go1MPVt-ZUgjhVbY zuR9T0c6Dra-J-IEmFDGil%=)3OWqB~8QQzokhtkANIuz-tTSwBd95jBS4VeeQ-T#F zyQK@u&Js~+d5s{y%uo8uRCiaTe96u6+Qn99<&E*W_=3utVFB+YGw=DL_jWDT(#q@e z8oJvgH0A|zUET6}x32V?%uLMqKtLAz8brN-HOb4<WfeZz-6`*!M6j_LdU^wv79UsI}u6?I*$cP0#s-!NCsaT{wJtnNmA zBcW*wwr}B}W!@wRGtzEN;KYs;k=tcaoeYi|(0%#Ms>n!64kzUTYke>oGxeL^)mLYB z$@@_CJ%OgT&{t{NIGRIFYpkwQUI!YPTW$L?c{8RxWyE02yeZTilJ3)fY99$}Hly3o zmx>yZc75TYQmsb^sUs4%%_|v=#a4N@r@nE~1T&biT_QO@lYr8Pbr6c0@(`QE3`8)cJqQ?Gctm=cQ&MWmQ zwxXlc&NS13loJed&lSyG{-{Y?fePp$=ev}yeWk?EPFO=SIU$!(TZq=A&6L$Zf)CX- zblTbs$u%0Ma~P-1D_$`+@`i$X97kN4+%PEBx+c-loiaU?X$k3f!FFiXXs*N>gxH>s za+bHI5H?lZ)ZHmB-A$Rd%c^$OVnS!sCDx_Gn0ae0J0p!~wGq(`d0Dja#CvP5s+AW< z+ZXKWjyY~};r+bUN|$?iugbK_3t-h#-KMwvnnPXYP^N?7vTB?;ua+^BKhuZNn}&@I z+Ru9Puo~oJ?j%%hI!iXL#>9B$mE5Kh1WFHL-f7#|A*&n4p1G3ZO}IvvG+TYgb*2Zl z?aaIjH#5XFCglQLWLoFS&W`S6mmSikVOQ%)dEGN84e?}vUnj%mHKZ)dra71GdztMF z)?W84Nv1l@3wdSYq28L7V@KMVefv^!jLaPtN4t~Bj!t=tvm3MoxlFT-*{w8YhIP^$|)~b?S49==e&TOR;iI{y! zxaAldB-Uw5(DPCIcA2Wk>+Bosm?ij-eOI=wUlq-e-X$nEM4Ur(k#j|Non^A2tLu(Y zff;pFUlQMGUKZ|jYQ2sUOGh{GXtolKUa*3|BiWe)^}7Z#T5Wb_7Xuv(xbaco)y$4@ z(uGpLETW-JmNG2(8pSGYHqfSc-*hYQ@LGB^G|)1dUb?GcWy16WO6;j(HQVjh_7xrG zuzl&ftdPj?A?>tG@g$GwF%4T#*|uzrtsy9WnD78 zr%hee@SxE#ygpv)Cmm@Kjg693W#)jF!RW;>!*;sqSmJ7memjlbprol|O|laen)X-K zQT$oE^big0=`iT{!A!yG8oO7lNOYRH%!;fXT@u%bX+*L_-Knp&dwX}Q{GT;CK~aMa zh2&5-0~DFo!{Z*6%QD3ktI}&4x>nmZip!@HaMcCZ({-hpT<3#RI@yqF!K%m7+QmyM zP516(>_HBIJA&NJt(|s4QL}jQf*azx?9?J_7l2lwo{DW99joQ?;nqdhG<2@c%4fzh zdQ=w|r9~Tocd)ynwGA^F7&hP?GIXW%!fQGhF3x&!kw*@fAvJ9}aS6XvO z0u&=_3D_x|3KZYhbAcx1h<$mBSNJBM!Nm^0T?~&zIA@ z_KIYxp0g7+Ey7ks)^)&?Ay|$sA$K&iXX0v?_e~=<6CktNuWKf((RHqxX1iga*W|ZiE)%?+UHy zTAA&HsviZNXYCzY^IhF*bdD2jUGx86h&hd&iKdRuW?A!W)+MBDSN@Jndd)%QY?}>bS{r|>;aO*muO||MWrtK+Jo6lT4g19fA89JFOnj1LD z8n$Xl_Y|}ytgFLyI!1G&PF@VKa&vE(SGTZoq0MeOo~#9Gb1z?4;>?UOYxOTJ5UEFEtY+G-8XFc;Z zj|@TEbtY;Sj*KLT*~V&3CL7k5%=p=iqtYuMqkLV{9O2-skZVF4m!(Np9>x1idFHjY zH?(C6WQO(9qU7|n^Iy49XZsA}n|g2Wyt=YyHj&^X zk|&lq#MdFo6LQ2g#Oan04&6;*slXM6javMtT zKG#$)tu?oyb;F*8i_4eB>*kg%tu9|uDO={mHcWRHFIrkjC#x1%S7qd`mbrUbn=||Brrljyy=Z<-rE$UJbY@)pmD5me;`e`EJD&-v%$RRm>?DAt~H7T2Fyy1Y{C71Cn8EuhE@!$J?r(_h^(Aq&nc^B=R~R$g1Pcz&H3r9{A%97MVIJePGS`u;t)h!HWvDU7&(@n9nsL|P$SlQ6DKE1x6 zYDWvvTw(MkmKWqAH3+2wBgqi-!{WLlGWN;i(CU>T21hF2_ z70J5z+Dn~V?9V#XDa)q~@(_eZLI$%PO=%5s#>|jwLP{nJcE!Ou>S{rzOxkKjbgkgA2Ea$SH1bRLKKVU9!s3o?0OtW%_9m+ozgl;quF+My4IQNG*>KnM<@; zGDAmd*11(wT|nO|3+iH{(-g09y-Z_tYK~*+b#YguH4W?R`fFwwp@&pmz#(n_0XRh3 z*^oix+MsOCP}p&`7IsWc1|4&;P%rhCm0SrLR<6;8hzHe6MZc}*fGrKakgYjMT~c}k|#yIy<6s^Mym^} zJ1gx7+Vu+Vs5b07sA}DD^(p9>h9|LBE_e0u}Z#Ik%mCI`7Nkd&nH!M8@s)pCz-RiUkGdQqM`LPAX zS^cTG&FhLF3jw-%p%rEpVsvM8Bvi*}+S=YC_mk2KAtIEHkU2x8>AK6Zng7^6TBZkf zHAYR58=74&B62&=Ev<+|mPS2URP2t{RErD-8g<6#G?>L_DTb+3ZQZCW^K6tI)R@b2 zYqPy)Zc3}=atfp}b=MTru2tzSU;lMq17!vr?i!k1&3M*qN!g+bxl^j0xlFOlp03en zkZXCa#h5xVl^~DycdeHdKY5CvqkToIea6A8#hX($sMl( zpG%3aCEgUG=K+$}uZTK5`koO@>Zg8{((xyV-%0#M;&&1MDRGYf8^p8X3GU)K^>k4t z=`{31emuv6`|*4)agL|Hmqe4wv)vDpe$x(NcRq2h#~RYZ^;k!o?JgW=%#N~K3+~E$ z68rVU*=~aLu-$dU+3qzchhN?baA)@j^2dp@-5W>`+ifAvc6SoLM~d#+&o_yGjQCOF zEdLg9majb{6VDdXvy%8`;&&3imv|p>*8dFgkCXf@d9ou(3M|s=ZHT;oaMhuoaM*iiovG_a~D=)5b9?&(aqeffyi1Hp(sD8XdcMJ<>hVY5em&-#87w~;T;(5?KUZI? zi9bgC0P&r~|0_g)PJswXQvF;ndBnM&KNsAu-}jO{>zP8F>+4F=qxH2L^)-t)*Vi1< z!}Yb8c(dqn@o6B=c3Vh4+f5N?yX#30+wCRJc3&p`CGux1exOO?%>JAKuJL4l-b0-I zxq$SrKhub_KV`((ZWZZgyS2pG?#-l!?dtE(YtnMD-Ft|$-7Tb_?LJ7H?S78*u-)Cn z+3s`1+3o?-&vp+HXS+WmJ#625}zezd@YK z^)`5p=-_hYo@4z{zJ&Cj4zBgZ<(fpC%cZ{?uSwO?qZf zd2=Voj-*lb3$FFW`p+iLeqI!!=Q5IKJy#NEKc|x(_VZfeTrcIMhwJ4=;#@ClLiBW! zJo~A?+pkIEz~%jTh@J;Xp7lIPoXh(K(!=F_isZi{wp~B)2JuefW8W=1lGIPue+IbL zFYA8~agOH&q=(}j5cIlHfr{2nTo{;s|zjoUZm&&6#5ahAWF_%}&@ z6Y;&o9}eNWiGPda_Yr@J_z~j!h#x1;cHbiYEs~!kzYniT%gcNran^GS@qdy$E>v8a~w_(=QzA;k`XuZT<;eV=XQQMarVE4IJdXu#5tZV#5tZx z;vCOU5a)P4M4Zpl$BA=12f$rC+Yrxv#5tbNksglcA>tg*-xB9|{+0MX3AwBH(=W`# zpZ&j<_+upB9>Uu$%INtS$?qY4gm}SwGx9GJzkv8K@#Vx{A>Kp$ZsM;H=lH({?&4pA z_@5xo@&6O);rNe_iZMyr&N=>*qXHx;XS;<_rJ3=Avs)ZBc+~iRHn{3xyEVkw?&pZJ z-F|Ra-l-_>ZsJ_tCrJ<6-A|nD{+Kx1Jxu!b`s?f-CC+w_ksh{tk~rHveX=N(r14?9 z1>k;pClP16lSvQTEhf%(Um^ZGvF*;I8!lFFtUqtcr{hh;e^2~##2bnCgXaj-xQ%!9 zMV$SA5?tfJ{_iKw{uf;$f|C5WT?6jhtsu^Jt4U9j=yT<5B+hp4A^rx*>+iQ~^8NW7 zxbx@GX;$t_#Mz&(lAb0Jb^d&tIQ#Px;_Oeu6l+KQ;re=pcq8e54&3><6Mp`XIQ#h$ z>0v*AMZB5xpCHb5{{rsp_QLLIms27(!+LtMx5>H@0@G$8{UmX=yPfp2-RDUD zPvVbjw=WTAJwNmGR3L7@BF_H5PI}n?|02%*zx#4q4_aUBPX+P6lAo=_e^0!hIQ#z< z@EnoVI81{7PZ4MT_mUp={|Cg`|9>OScKEXc5oNxlc!p}JBhR1$4L*DcOP-K z`(xs4_b}<#@;bXmiL>2fq=)UEB+hmlre@;9c3Z$*d5@sHDdKE*J?UY)y~Nq>BgEP6 zF4C{%b$0g_in#thwx(S9<2Vd~J3sf0Ghz|_-E2+DIS#Lo9*)Ba;v9$5V@Ay=y9MCB-ATmR z?qt%#cJ=qSHEFrn?o#5XQrsGda~xX0eSg-6$oGWE_Y!CSKS_Gn|DD9y|8EgzKL<&_ zwp&+U2Z^)YACn%odz3iaT~wse%*^-QdrY=~Yn4pZJB-jT%!g+-^@6XZSfJ zKmO_re-H8Z5$_Zc*Uo1W=lj|f#8;F2&BV_o{VR#{`O-^#BFT>sXa6HJGybzb1;p8( zZsK>5pZ61I`NxT~{uhaJI~f8`w`cULM~HJfd4=?FJ2^p|+ll;Qxk=g{*#AYu+5cAJ z?EhBc?0+A)^M42Y-$9)He}wd~|9gnD|9>XV^_X9hDHr>BQ3$`5IG4AE_q zzk~Q=;(}}E4-sd7nrCPHyqNTy_JItaO#C~u%XKqxE>}J2 z(Q++Ex!QSN&`^PMqy_ z6K|9}E}k2}b6|HT>~0~>cDI51cKeC5-4{vEQnLFK;#%GvW92_dzam~M`_9kb62F1? zm~zc!&-WYU)5(t`eiQKvh%X}^BYrdSS;SdSIq_RaegW}YiQf*caa%Gb1h%W3J2i&vpxlv)%U*XS-90 zv)xMKYsv2Q#My2=akiTx&UV)mXS@GS{0_2vg7|vkBQ=>gJSLm2-A-N@%pW1H?|gRh z&lB$>e#WAVo=+1mCjLp{l_C7b5Z)BR*N5;2Lii!#dnpb_i9bkw{waj#FV2*g)UCDj!_?4IU3q36Z~?pMAtRKF^UJj?W?D9G^lRlt|L@euL`wM&f&kuOiOl-YwvMJhzcN zm-jcszeW1T-(cJ^{yancy~M94ekJjziO&k*HxcLZt|z`rTyXu{r-(mG`o9G3m-nkA z-%WZ>)xn%3jq^Uza~^T7_b9mP*Lru~1H6hj*LyMP;d-A>oa?=XIM?GRiL*c3!F_+e zLY)2CO?ud$?+|ByenFh;@t4H^iQ;yW_;-j;&_S&vzde@|=k|6Jac);l#Mz(E6CWhI zzb4Lc`z^SO+dkZHI!T=4Hbw{W@So#0fjGzQa^gHsoJU-LbHKIddx*22TflukA0*Cx zevb68pSy{(pT8si2PvQP=W?B#NYeUZe`4UiKTAoT>v1Jq&h z_gLdzWV}v_B&nYq=j({?Cp{a9pOieVypIxpp5%`a=QxajJAbCS_CuWOC08eDlGIPG zmvf18y_6AWKkp&V{%isF{dt1qzazF?dH;j>0V?nBh<}OX&t5J&l2kvJYcjZ&>qXLY zIdSgK%ZPKoaU=2Xlb)5te?a`x;J!Z(lRW#g>o)b?#{XBO=ljHeP5i97j6C!6i2n!4 zPbU5v@%hA$5pN~V`nMB*o#g+K_-}~+8}Z}Bj}iYZ@xKxOPvRHV2bcFU;#}To#JRi) z;v=NLhxn<)pCr!hc`vwY&*L$^dVx5%!-J%U&##w>^Z7NgA!3rYTlTYzIQvrt?)*8T z870*cXMb)cJ?u{#arWoW#M?!$J5SG4CnTvk<}--@VN6CoPMq%-+(!J5B;QK>E#h|* zf1CKniN7p9IX@pD{wI?E2jYJw{$=7viSHr)7vj%@=ZH;?^M8i$91Xf8jT`p^XAnP0 z`l~|tYH;6fH_5a94a8ah)5O(f7q@++U&oWX(XI{<=korL^ysG3GfbS@)up;4N!7C5 zso+{JwcD!#l1hlP-D|*AjP1sW>!$N(C-Gb{;&|%{wKDoT(hjcrAC*5RA6==^qvZ?1 zRi4N5MZ~$hC8S5oyIeC$svyqgttLHO-sQx#h|bTG#D7kFLW^3l@z>vsa`I8)XAyrA zTu@d!|0j}vRE{}4M@e2UeU6{kDm#+2nCFuI>%dh%%ikFy|1FZ|`1}*ePbB@vLgfF8 z$4Q>c`y|PqPyUb5PE(Q}w^`tR+!{jUA0c^; z+m}h6e?BkPhREMf@*KAjlK-&ia_#CZl4t!3*97}> z6S(@r{;vv=mp56M zNS^(9EJXfmA@Zkp1nWN^+>d7^ac$bJz7~e?eV0#&+vSp4&rji2P?le~tK6B!B8!qsHhNL-J=4Zxj*d|3q+6VcOxzu{Qtvh;zM6B|Tg(A0p26atm>` z+d%qfs6ViqB+hobNe|oILY(b>k~rJlPWsvIPU39$ani$f_Yr5iKPJw050iejdz3ia zJw|%i?n&Zo_w+k#z2(XW+bsak5zcnsOPuXaAw6t&7IC&)Mx5o`;Wxg?hlBw-Iqu|+x_3f+3u^Phwc86INPmXm#N=k zsZ4kNt|5Lkarv=ilXB(%?egd3?+f8i6Q50bUJv2X^%?!wlKlILvp>be*`Ea=yqkC# z>Hlg7A9rWQpLryI0l1*7>wc8vd7ON0h)Mkc{FxB`Jn>hko%|5|3Sl}_bnWK|$?Fiz@i#;GpGeOxl0W4x*^#8}ll4p@ z&gGgyyqe+`BhKxu9Ne$>Dw5}Vzcoa@K19ANM1Ea}{Cy$veI$P!m1_s_a^kx}_+H}r z+tjXJ4ijfR$A~W=`IF#+vd)(=8??4;eR15*2KVJ#NS@EfyNGkWe+*pP8@H1kA@WZV zXZfEKpHJobHE~|g`A_2YbpF0Ye2@6#;yLak8U-5%=97r?{r5uR+@6a=cxec)3E{U9 z-%I|lBF^`z*M{(|;C?;cPx4&vpCQio4Id@W_YI#2;m;7y>VLp}e_kSa_UBh2@~?-; z|B-klwUg67YU|gxn-8x272BO0B7a$k{Ol0m}65-$Ik^CO4-nU>yyK4$ z=YH}D;yljz7vk5DpT7#>ZxCNac2C_VJCgJ~Vtxg29w%H2E+(_;y^7?U$)DRv{x-?u z%G*ow36lRh@fF0sOME5qQ|=d~lGOhe;^z@>lw;0r6kJ5jc{Jx#*^o4iIJf5+q=(O= zdBpiVx}G@OT}Jx#`tIyD6KA`vq=)TpAkKC_PMqfvj}T{nc7gkG_$G1oXCLWde||)q z{dt8r+kK7na~w_(XS;tQJ#2UU1E$(cy|dkk;94%$6D4^bj};MTKTAjt`&mJp^;eS~ z_H#LL_H!L^Zs*%W_>;t2rEso2kL%0Cfv-nb5pN^;QsR7FOA+V!(LKbuUF{&wdR`^o zDy}&{pR;b7`l=_cV+>8X@>ef^PW}zq*5q@&XBx!M3gMGO_{(E6df3kv^apB}+sT15 zGV(e!aDE;R;jaNb0|2oMxpC>z#RL?W==k)xT_|wGCI$w4qsr*y&=j87p{%zvhFO(fgD*r?IbMgm5 z__&Ky+R7i2Pba^b_|J*|?7b>&v(BA%2Yb@3pg#r2d~N zZO_R!6dP=~wpGW^x+cS~BK{h2F4x<{uOazy*JkuEUs;;reE(}{d4?}0J=-cW{8r*$ z3*iq{XXM*R{-NtKd>!#G5x2Z!ON) zEg=3P@iUm~#XyqQJInu!ILjX+&hmdE&hp8djC!M=*X_3uUqJrs3gJCB2kY5Rob~Jt z;n(P3PLh`QRkHh7lfj0+LHy4l{G8^DJg+;g3gPRB>%&>@JlaA$hj>v-M*lg)@6kcL zq+I!%N&Fv(&m#Uk;vXRXHt{*c%hnt9M*rtz)A@ND@eh&wM&fgc?$61`_6T!!Od=hwp$D`mAJnrmH^mrlU zCwY7-c+}%D@F^ZI1~2q@3HVfx&jF8lyc8VWc{&ai;3b}X75E&F*MOILJPuyr@wMPp z9$yAt)i@z}r0e4d6+S_kgE7 zz6l(sV_N?faGWk_-V5I2>FERCTXgYWhD0q}huKL|eP@gea29zO(rz~hI( z4|@Cv_>jkk!4G-d)#G80zXtgu9zPB~?C}xsqaHs2{+h?%20!lcli(vB|18?i36JN3 zzwPl|;3qxq+MzzPs>${91(476_yq8A9-jz4-s6+Nb!@}>qu>)fJ_TIwQL=m?_#}@{ z1&?|>20q2(#o&b=F9DzG@j2izkC%cMd%Oa?#N$=qb39%HUh45Uc!kGn!K*yJ47|qU zXI^FF829+4;I$rahMr{}ZvkKK@iy>!k0-&KJ)Qz@@%TD$ojY*7Zvanvyaznx@lD`5 z*I+#jD6h^bnD;`y$K!qAn>_v?_!f_E2k-Ux4)8vY_k%y^@txq?J?_rm9Uk8e`F@WN zfbaD99`Icr-;4O{_V`Kg0gum(**Na;_-gRI9={KKpT`fvpFxigf$#VDA@Bnpe-Zi* zdiG-ASuKynd*JoKZIldQsoW}>i$9sGixPE7o^;98l6FmNT$m@6d zSUwJU{Z0q-TJWgHmw`|5_;T<{OQ%;R5$pT!>k0(gnXKMt;QL-zk;;H4hF z6I|zdEWZ|9pGjuk13&d1H1kd1dXJv@7I0lFX5I^~&r~q~DD3K-k$E$Cy~p1V-t6%m z(69GsSWiE=u2D1J37+)$F7TAccZ09<_yG6@kM9BR@%UcwO&;F|zQyB%;JqH-58mhT z1K+uoreI7pn zKIrkc!S{RoB=`Z3Z$NuH=<(dEZF?H>_&D%G9(TWQe%Rv$kU!$_3E;yXp9p@`ZczgqRmB)L)YdpRQJnr!=;I$s_1z+azKJeupe-OOh^kFzQyCKz3AHx)RRww@9=o(`Bu*!kN1Ed z@OU5iu*ZkMC*pi^{?uP!_1Aj5bdu$L9*^RAn%y3cgCFpC5BL#}_koXiydOLl=dts1 z0DPjy2f?R$dFH5{D8;%z+dzD5co-t zNAMg{4E>F>I{;qm@%pH($CSrQCtJS7<8kmE9#4V~c)SmMzsLK*-E(efKf#ZC@`K>6 zzjX3L;FHkLIUc##`tSNh#|ywyo_z8WE8pkwA@E%u9|7Oz@yHabXT;;NOD!)(zv%oa zz0C4;9v^w1o44-v_%P;iM?GFT)B63k$K&9!g6widX4(A~j}L+$^!P}L zm5-d|>G^=&pXl)@c(cc2AGGr8JRS${^>{sazsHl{LmrRJfuCn*``HIR!Q=hlg&rRS zpX2e!HCAuj<5BQtkC%e4^LQM**W>lz{T@$(@9}sK_yLdifgkaBKlq5p2f%aB$&T9~ z_(YEnflu}LFnFoQN5E@69=X=qYw>si_$H6{fN%HsAoyz@?<=+XPkOu`ykLSo?#}lC z@HUUf%dFgXk4NWPKH%|s@ckZ7f*`_GzsKX? zdpuqbe!$~N@FO1Y0Uz;rA9(Hs)-PACe(;GN9{``~@j>uXj}L*@dVCnX#p5I38$2Fa zYW?f;cmeoMk4M4xdOQYx(Bnz)VUPEKpYV7e__#@4+`uP!d>B0D@e%L}k4I{)-en#y z0B`en6nu-vOTiC%eCS52KXPHV|FN6w{v?n0fERmw0DQN{OK-M%-1m%JyXpgX>kW<% zf;V53?a$z?c7MR*1IsPn@9{zK!yX?3Kko5iaJPQo{22kCfb|2%&5tpQ=|YbeeAxOk z$Kz4(xW{AQ%^oiWU+3{Sc(2Fn!TUX)1mENF9`FMm?*l*L@qX|Tj}L(7Ms2xWdg@HOFbUB&FZc7coe+F<1z3J9*=_$d%UzhV$xKsqd5N~4VE{1ya#-p$NRv0 zJ>Cy~*yDXoR{w~{&C7D-(7223apzC6+3rvBcn^5Y<9*=EJU$5C=J6r$9*+-$Kj`sD z!uqqz<5BQ^9*=_$dAtYwsK*Du-}d-0c=IJ*d{)~1bsir9-|q2Pi;G|&$H605M|9WS!MhrY{!{d7DDUghzA@HUSR zf$#EoY=hN%)Z@cicT~J+T9NFkkY(60hXtoao4Qg(Gb7WQ zI@YX7w2QL#j#OgW{6#mszbnLe*Ep;n88`hv(u}=TL_&+Ln$H?EQo{m!NPyS@~ z0W3GBp$;!|<*zhN?8af-2zS4Se5PQvGY)bS@u{bQ^0C-=9}S*e$5ob-E>Ek@|8D*w z$*Vf2%O59aAI&{|$k}(Fm2yP4wcT+VhW|@WXBvq_vv*D0g5p>5xV5kh^Ky-!){!4S zopz|CU;ffB2$a-g{?Ggu&1{-2on{8v?;EuC2O+Qa)wXY6hnp&Sw)}A#gnhrgxPAAj zmmSR?g#5)Gw_e#idPpx5j<)M$Up9iOkUk`<#%+WYy`zG z{+zWm4&zUa-@7QkYyT?c+ZGflcwYaHMB*Q?pBk@v`E&MNer;ZU-3t;~YyWmHuzvZ^ z3dz50*h+p%l~MBZUo~U)j3}j|t4n4S&73uJ`qj~B%y9dEQ7ksIxHuXuo>^i+wEm2{ zD{JQEjLB#mBa6(Ly^PTVxCf-9)Zo%czC^R^rm`E$ZYZn0p=#@YEv?#kysBzz?UadC zr~l#1P5RT*)mu+iZ~a5r)_uxjJ}s*0_{xBegY-UU9&>e~N)k`Ro7nOIS2)jDdlsE8S^ ziMM7*0uu=kxhPg>2)U3*NMbVK(xOI_fYTwGwzgVpPwAd2Kcnp9^!0~@ z;jW#zy!r7xT`w){dVHw)-A`^A(Y1GBSN}0q^iZrcKQG+%3W-0FIlbrQK=-xe_v!J{ z{G5u|E0p~T638*>R4}AZ9vM6$66Y%Hl@~=uu~2VQeqlIJ`b24<^lf4V6}`3j1+;Ov zEOe+e_P({VYgPUzujAx_*C=A(v`!Ph>xqntqGSmk~(y_0~?x3;8tZ>#hSiq5g_qV>=b_k!XG~ zXRA13krYFOQXTae_pv5{d7l}0<2^2m;?x9BCjnC8q*+1~(;V1Hamjj;G}?Ol!+~$^ z82DGB^<%Vrr^n04-+xN+H@lhLZTvnEe;?&jG9DS6@wjV5CRL95WP01-H|Hx7`*Y~Y z(4m0`>7@jT?MUqX(2;>}5$dC#o47qv{XH^pE0Hl{E@*FW;!oAmn&$d3HD3G5_GsPG zs@l5x>W-$U*GvPGOT5v+>bAxFRkO7A60g0kCfeB2Os$UN)wWdCv^3W@F7~{sB_$UI zN6lT-(H!jv7L6G@CUkyiQis_LT^|}dreORz76-=`go;9;0zF1^$#Tf}+$=9+MPA0q z!;i}8BSZOEbc)&Id1rB_I5{`(*38MdBX7x?oEz*NGC6nD+U#&{!Rn!cemH;e2Y6PR|`a{JTDU zlMm-1MLPYz@!Pi*Hl%F89N~q8t;v%D4{dDijo5UH1>6TU$$;*{ZIstuk9x=7ck$dvRSfRVyn?NrttO6{aul zXr_LS(!Ls#D)r;Gc#!~`S)T<}uQZ`IJ8k-y28I{;Dg0Yoi$R-O>q$)Yg2(|6pj+=*3!Rb47xP5Zq9`AViDCgq>2j+b2P<}l_ z3a*FBZLTR7|I%gM?g2F|B<%C`$={XAGv{tMx(XC&~0 zz&{TBFmUd>RnJ0cFs$cf;8Edxs>8=mm0t()rviTl_$Pt$Is+V7KcDuf9(@*>Ir{U6 z$h-a=#()BUp+ED4vmW&4nZVJX1)ztIS!xfjufl=9xKB{d>$-5@FYe!zUnQK=MgQ~r z7dg23Y6U%5Pi_E?`O;@h-F)2+`Y~Vk01s07YNy`g&w5S={yNB`|M3|?v~!5`iyRH@ zJX*MG=PAI^&LG9-zez<^Ysqb{(OtWwLkx_&()c!yZ^D7xFF?& zn}R!%DkjF^TJf*l8hq^Kw#;QxtOD{~c#Qp_&w6oR$?0%ebKttn;cWUacarh$cL57i zU|9^KX@hmT;vY4Bh~lzN9pBSW6Eyy%3glbU*Y9HD{2S{Siyjn%aJi6ZqP;@L8N}8bYbXPt7VCLFiDDiixpnSXbR})WH{(H?Cucwy^ z%&piw`qubb{^`;-Ny#ZfpZJ0M0v@Bg@mZ%^_8ecIHCXRt*x5AaL+RqrlY(nyWf0u> z7mN>0gej=ths{Ba8(TEVM)>G+P?gsu4JbB0?HtrbHfDNHf5*`6c5aAI-gla+9O~a* z-)HtmdY;t%;p9FeFY{M#&W^<1iNxNbSuC07;mMu1NH+xBKfVoh1WNN*|qi)GQo*~rq^K09$Heo0B* z+RkWa>Gn~at)!v*3Q%4vP|qxhRF^)-AQ#Ky3od^Nhv8WTjZ?!rKD~uH}H~7mfB=#m(&Kb&DI9n1iE&N zx_ZHOno|;SDUbCT(Y5>6C-ax$-(F7AE%Y$KltLdB>L<-ojw$hb(#7ZENyZQL4^;Ck zna;`aEZ|6*{Txmn{F3pY)ySA~Xz|X{r-P)$8#p_4f-P{GnUgM${hFI~dF+k36|o_eT`CTQs&Vy zd2$5n%{5Lar3vnM1y|Z3o%Goj=~@x=I)>5LC@;|cJUQB?DXnfU9qZiQV9(amNfkDn z{Y9pKO^JCL#Z0MBdrD(}GIb%;PcyZo)QBg{?b=b8=*H~)e_vu^JR;Vd<>;iW<%IUc zp4fkn91m7k8s}0G4~$IqHx;qk{G5T`5uj`qc!8deQ&pn+6X|(1Izme>B9r_bNjJ?W zH^t3_mA23Vn?*{OTAXp<_DHOuAQE3;+pd;8mv%y;BGwut341W8ps98$Ia@)JV$_Z+ zV$rNbJ05tMtTl;o{dk)vxNSsxs2SKtgj_iAC})Z*i#06K&;#Aik;K3s>7U)By=dC< z3_9gGP_L=0=f|gw$BP$XJs23{#+#lt-k@IlkZb4swDH1JJyX)#O7W8YS@?>I-U+{X zi!Rd44aeT&PT?u(!k;!5Uicg)-1S~&pgWTbx#zcm?g2uPu6MGQ)dU_c%ZzmGA5y=q zKPT{Tf28Qy{%1ek@nK zve1*%PmmQdAo$ExG*;~HjNSL9vHNy4n#4MuOQvsny@3_B3of-<_Oq72YVMcgb15Sw z??!s34+;Dvw#N*2R!6w0JX|)ET$7V<&Gx`e1;p7gIh5AGi&X5~o;WrSl2(7rC)V3s zT_u+BeTa{nn zbsWbR?`ZJ$it!vd{x}*L-IgDC_}U?n-j$Ty-I3nmCrM2xdNX<^MeNwQ|4W>I(pk9Et7H=? z?TwVTBV6L!%VQVk+aq)Ac-~`ReIHlTH^XzL$97OP{S_U%e#%2q&BvhJYR2+N#mJQL z9_1^tlkbk8gq?g%<9tmq`6^D6uhHrA6{d`x!x?)b)W5$^kJn-Hon&rgB6Hyd)CFGW zLH5+PKDt^wn@7kkbn%OZQhL-4(e=l7OlHEd9elW*WHz*`;UdNZM``R89)Ko?5m$%$ z*{St?k@zEbQ{UiPNcB2J9Z!y-Iy0CpAvj23A7A0-tJqZS-km!;_O#U_ zeX1TG9;2vq@pLoSoUKi)Tm-12zU7a!-SrN2Fx$+JjE;-T<7@NtXriw?ep^1@2hN#) zExeUaF=;agc6#wkm%2#9df49C*Y(17X)z*QT+_L4Gd5WH*!Fp)$;SF4EB6QNv z)N&~&FzDKDY3z_>$mky6UMAUph37?Q#IUvxrS3OPPIJHZAQR+X8EQ`Tt|No zk%HtPeeu5>IYPT=6l%@y+ChU@J+-6y&eymH4VyqD-MD;- z$=BfXxzr{=`T7t&Ek1fUJ1PDFJt^IJvGFyzH#yWN%`c5TPo<0Rw!c%I_Vs{?__=EJYYx{(MNl^8e`d^IeKLSYO)u`4QUOz^B~$%J-fP)<3Ae@;z2* z+v9QR;=A?r*g^I6jnE-ESn%kOhlsWn(ZS;HtFQTK?D&ZFRmVfi&3K3p6n03&w*ftw zn1L`uqKi}7`b0_->#yICNb7(65qlnN$3@xu(~XOGh68o_kBbt=OM4HXjF6t8BOe{? zl5?nZHuVU%h4=#-&DSIS^kuW*455ZlsaM2aOh1IWl_SUgN>ekYsTc)%D1C=*jy++{ z9QZ=8PQ~yXQsSUVqt>I#Xh_vF!IV@#_4=i;A^Bp79TSzthveH)bZM+VamV5G_>Xvq zHa-3*kJtu^O;x0ES4vs%LWn7T+q0D`abg^1??Iyzx&5nkB*y0Ht%N)ivzQd~$!8UP zQ^D`qI?v?Unih`rQx3)ql$q2!X^$7$6NzoxdX*K5XkIEP4?H<=Hf1w($hu6MI}hET zG-i__vB$Ulab(xqM+bUdr_-;qj?iV;uER}%p5N=qdMTYV3?F!gHtqN@VUzmT+H~%~ z{Uk!ir;6A%GMeo%Hxi0()t;{!JKX~8H)j(A4V0@yeM<4`qQQRU&S&7;Ce2RznOY9b zgXMWpjh!Fmec*kXA<+J$Lh9kbD+YeF@yOpX-tQ+nc)ZW;K>GW?eZ2ogw|)MD#``x8 z*2{kWo5%aB2kYT>;5**`D#;J(|K0xE9q;3KgZuBAU;o3#`+T9ywdaHT@qgTSpL=H> z?|=Od|M>AfpNP9Nww$lj;m(JT_j&Pvbb9_@Fy8N{diG)M>u(|KRcd(eANfa0B@N+<1Q!<;nHif2Dq&lvbbbc)y?g`~hul@Ob}}wE79A)>q&0 z{^)e^-TL}JFy7|{16{v=)cVR}*nuZ#TGEcI%&?#D_id1}Gtsp!8^WMQmYkUneC?Gb)_SshkX*Oo#ap;w_-*GP&rHGTy5p8(hEIqZIaM z_Bi!H^Op^2^lx0}wo2G&z@^?gQo>o>?lG_d4bjBMfH#N6N>fG>#}uOCgCOR4hEERJ!# zP1-p9n50(|w0QF{m&RV(JltV=iq5CNbR}^|!`0MZC1(U|zioBOT;e@szH@t&odLiW z%V(Zb?5S?4wk?VO?R4?o!!E}knuu?&a0a?3Qz5V~3aL#-Vt+LA4#qYr)PdjloF_kO zD&!^H^o%TZjW?4X*V;QMy76vGW`8p{GN1QhWaGJkt0+3%FGEgDiT^Ui-@jGQzf*P{ z7_2%>Hlk|wf=7x|;_aY#1A}_eCkJcem8e~9|4t|VgN)>56`UTp$BAn*8Ku~8Nu#eU zwyiw2%l682pkMmil-)FcJclI0^Aj@mala`f1`qeOwO7-#eJ1b|82tD~Oq32=f zIS>v$`|DPiy|k7w#ba9<>ly0JMKJtcl+TjMg4nO3*5Dm;4z-({StANHqB zKe=BLcjC{Q9Zrf!5@>(wew&2ven|rNV?H$le)}~8KKm0H;Qj2wL54&6&VE&GBnHP% zs7~3Rns>F{`k(cu?oTG6^{rLvnWmQ_4@v6&biQJ-bo-O3*=JIoH*LaMbPVHXS$p|e*0ovT+~DdVrMaWJvM5(($# zOdggwhc-&gMr2roMESBDhoN+!f@f;W63^7q1GMr??bO`XtcNnvK2uvVYz{>q$!Sw~ zoWChgw`7**j_l1MU28c{tFuX0*U-%B+`^f;#pSt$^tkTjlpV@*;^EvW!|3td8M(!k zW-qB>U$u%}zI4ZW*K*!gXO-jzyM|27EoeU`H&|k_XrAuPY@zKbx*Z-?X&gunpuL{Q zBcOiK_k!r_%`9Wzlc&Y^Q*(>!tzqc;D4{7(8myX)PskLLJ|2^B_&5G%Y^B|+xm>%3 zsPoB?l3~+qsnGAshFxpQ#MpN+MO!F3cnZ_{k^F;xB*&2-pR`pW;k&8)3<%e?brSy; z`fY8Xa#&6IE4Y>tEj6CFY}j)BX@q)NQ%q#IWZ0Dsi40pl zn50%>&%7SGln#O%9{S)s{@lsqWtzusiNBha7(Y{yJ9#XFJaU`Wb&F!RO)2_<4BK zcEkKU{M6ja%txr{Qq7^#q!yW|HQ`~#2hWJEzqihf$mWcAUb4<s+bu53$9!&UH)tk7^4ahc-$ad34Mio1PNJw;geq zPoKTQ&X;<13m=<$`8^A3hfwWVolTu?<}ax=OwA2a&q=M1YHClr`PoBYxH6LL2<4b4-nfd{2*VQ zq+pKc^u32ZEU)W0nd36Cee_}b4~qTVo;bWkALjkSKW-?EVW_~EuXFeb!aIfY^Tix^ zQi$a%g`aG(H%@qg!})xe<@1DV-MU=(LHg#vb&bP9;kzB)B7B3xZ=?Fje&`fOntq-1 zTrcu{Myq|kn}7By7d@xSeqM)+?bLCT@_U6>ioDjV&B6q6rShsXN4aWxs&Ak z55jlLwvL4l3E$xGZ1SVAQ@GkQLU>R(KbOeiY~jUbE7^Y(3a=Ed>GI}3;vFVaNk6~C zBwa}NE|Ch7&r2iBw;ZJ7?LIv2!|(Rt5BhL!C+X7tjSqj(hrjB>-|^vDG_FdQ?r}c+ zG#@_Rhw~URo&GC)_(C7v>cemH;a~RQ|LVj4-G~3&hyT`xzv{zzk~f_nM*8rHKAa!E z;&-rY-~$r{a}Gn_jlvfWH`p^{MEZG?kDgv1{uLkoFFt&O58vd&pCHcmd-80t8HZ{CuJhKih|2K%DLD=lOC9W(-K*m-)!o`S8z+o=(1+ zL1DH1^1kXLzh30?q(e1hQi}74@K)h!&(l77Uh(1Yi=F~GP^&#B(s(kR-_9a#{2=n? zT!`$s#7BO%4`1ZNm-z4-d^oR1$o5pq0bJ|(_kv$SJ3)gYozX{(h z+>G~0<&(tImDjUA`~}hDok@`?Xxu}>^MsqRJ?;M(jSE%AM38@<@Zo3s@Nqu;LgJj? zzEM`Oj?-oe*LB-;ykTCLWaq_`)7EwLW}>!bRjt)+JS)A3UUiq4&`#wriS8xeB{hEH zghHd2Cm_v)C+wS0G%2xB0vCrnD+EF7P*wt0QVNsCcnw6vW;G$wPNg;vEvKJ z7Xk?xl44BZ1oMJ0Qj_)tVe=*w6jjmtwF;_QI~MWmw|V&$mwZ!8%aV@PszobpB`Le2 zvZ``g*;VwCtX4wR{5I%lU0b_(GgwViU3Hs%H<*_YY^?Q+_L_#enk7}O_Ogh%l4G!W z^_clZsZf5B5kLA%$KeX|B#A>(tu3wg)oh$Jzst5Il z_VU)`@|jib$)EgYH%2wlwkEH#Y&sQOb#2w6#+E8BNwdq8UhUXMLwHwO<>uOqN+l#x zueT(8$*FRoxfP|FTudcw%9CGYrO;rcMkTOnx3*}u-4SwgY^3NBZ&uVgnfh5;e|c8*vmO_^Y84|>?9i; zwOFrY)>V~rW^!w3YHF$Rmewt;p*0H7F-dtJY%@SF_HX9yLlm0EhV{oIfu=h9N=3Ca zaS+G!QjYF(WSm2%7v2T*(RaHo1zrIB>%jR6x5}>rJ{I@`z{dgK1AIL2*MRdaE~=mB z*Eq196X~OTES*|$U_OaH%FBVHJ^Zo~4lG|tAC+GyoTd%T`(dBw9~5|Aj010urjN?& zI}BM*5pcfaf&=pl>7(*@1HTCPeZcv;kIMfBIM1aje*yTVz+VTB`Qm$^IJo&bO7iFC zYq)SXU#9`be1(8xx;+1tF5Ob#=uduuItMr1`M@#V9^hC%zY84e^Jd^!Z_TUFC0(p1 zJ3$`n?MuM1-o6JM>tQy{k8t38eVRU6jy!+FfjO4%#lW$AF9(i(o+q4>KZia|Vn;1- z^m8NV!Fsz2IQsdEz%gCE2a$uD?%lvK-S2@OOm_=#O!xP|u^;#>JB$K<71Kxkxg2;H z_!oeq{5OG52KoDdmjM4c@KWHv^WlF1j`i(5;8?GYr+Eqvyt|A(ny+(!V?AFC9LuFy zxR#6Rxehp%%T1sM%jGM;v0T0d9Mk1_91d=}4+6(@H-R2ZcQJJe3J=UCzFf3)W+;8SRy`g57^bBSU7)N7!uXDZ153+O@l?*hl;T0d~i@6Ui^ zfATu;Qb>0w&3ABMd$1m!3LN{Nvw&m&GYL5Q`BLGopQi&yKhFX^=;u1%Sne&rG2LaL zpZh&6mmc7l?iWB0ruz-xnC?BmG2I`6eoXgK;F#{?pa;|a6>v$wcLdFdx@yZmP|f6u%aXI zgPxVZX8^ww_)OrtfmZ_m1Mq3UUk8r)JuF=FyG8swL?&c;b2R8VS~&X?^Lqwx%Q6zD~eQx!tLM?gozOeh>6uy4!%G z{#~F4_5TJq>VF>ep#E2ZqyIl4*O9oq_*_rx?fJm5o)iMd^12*2+OO}-)pEH@>d#`4 zck53R=t28$0FL&5ANUnu|5o5v0{=PidB6_<$K&Zy0TQCX{<(@i>Yo5`ls^YJ`k_F$ z`eBv$;nTpe97{nD`r%68=!a{8W4bFqKi3~kcMWh%cP;3_biWB4)BPpz>ENH|fX@K_ zHt?Ci3-V}#0{i)D`lz3$0-pC0=pa7}l(q+1Le(=7u%nC?8_nC^|hv0cZ2W4r!7aBSDR zfmee+{{XxS_@9AeznXD;dOzd{S3ew(`K*(GqaRKIJ?MuEfTJHK0lysVyc{^zhk3$X zdlmyndzwHG+H(VNwC8T%i@=`yfulVeg}e6b1djGR1$xk)7l5NZuLH+)4}*Sg*IF(| zjj-j&_F%fhg}dX%Q-Nc;Q-RllA3g&d>s1|atXC_6qy3%2)o)Kpy}A`R+J779LBHJt z9PQr=ycq0%6*$`ShH$k<=Y`DzHWc6WXZ8sMDY*VT5jfft29D`QguCg^0gisS3iO~K znt)@vcK{zt_Udu!LEzZ`Yypn_&wm2P{^w2L^`QR*xuKT*QwRKX;ERD@3VZ_aDZsIR zSP2~c*(qH8xt4TsSPLBe`9;u!{=5e``tw2HIBtIoIOgj`;05Zv;LEIF@e*@M}Q+P9Odda7_1?z|qgo3U~edGH~?s0O&zKXN*kx0rlqyclD0| zj`}|idQksp;8>2Oz_Gqn1IKpJ2prqR7l32C=m(De{0(qy7cT-Yg!0-aJmClFC*J^$ ze)ucsK|g%#<4HfGA3gyb{cr|wYI4d4++a{So2npC+;YO5kY!e9(jTw*bEo?7S2B6~KQ8{7T?kfzJc}Jn%`t-vWLW z@FT!c{^N3gCHoWo5EQO{s1QF~037`=9`v9erUJhZ?5PHh={A6VbN(giE(eb3t^z%n z?ybNv-EF|Jzj_il_E&!dj{Q|o9*|(aT@Cq~1biv*$-uE(E(eZ&m?vEQKU(~-7&!W& z3G|>JZUBycSOXmUt8W2Ed)5ng?RgkD+Oq}ppgq3;j`q9^d_MT?b>L{vVd1VlN6CG` z%+a3V!nwTAp3{J%Jt5$jZXxLB`l;nI6*#6_0eUdq1;8=gHNbIx;7;IJuf7BPD)8GT z;AnrpaP`}8saL-Mj`lwTdeHtq07v^z{UjMd!R=4-g=@M8te95-9MhcudNADxa7_1F z;MlHL0>^fJCva@n{lKfqMm@g#26!v*mw;ox`Z{p*|6$?kho{63N1bMW463)n2i05P z=!Z`M$95eCj`l=^yY^fO9Lr@s=)rPn0gm?E27D3t?OVXnp7p|AdmaXk_G|$?XwNTz zqdhMI$8`6Bes0%VE^h(Hbl(L%nC`JbTaH{_nC>LtwX{#`)n&l3Ud;uL^{Np#+TSW% z{dS*c!wtaE{%+xJy}BJZ+FyCP)yMi#&phF*XBmAoU)KR&4tyJMw0{@qXa6_Rhr@4x zW4h0S9`yffz|sDr&#?N~PE0pXxcW`gJqAnFR(_L_8 zvV5`suLF+#|7zga|Gy+Wlhm=DGR*M)2=bpJuJwFEzD<|q(f%^wZo60s9NWdMK6>s1 z`OibT_xi|h@{#|EkNmSf^25%u`5HoBt03JV@aupV3Rk~fY@>U{Adh~#739%xw}CwN zC)?Fz7*h<^V@~>VadrOF=*SVI^=(_j=HS z>3$J7ru$vsnC=fiKc>6QM}C)&{4>DO&gVc6+Iavt+WA-DXs0*ImZMuP0pVP}D1V}l z{29Q}&QF0JwDUsXXy-KGnC>jlkN*5Da7?!b^kBNnfMdGD;dq4gIcVKuuD`I4G>n%Y z%=ivP-@ zhxg0%v$YP__m({CaDAS7WOk~4eV)3);rcxF7KiKe)Of!!+p5n~7Yt3+@5%XU#Nqlp z_00|s25tN;4&NYrx5N8|zwGec!b^{``qZELeDpkr>+{j;9j?zWZ*jOjzwC`^U%50| zy@IIV`^HKF0E@O(dL$D z-I%E}=APdkt*%)@0<5L3fu542=TL2C{tN%vE!=d(T?tLa^6MwkU+9iJ{UP5xoyk?J zShn@6Pdb8N$dY07#p&dTz)1N%Tewtzp`LdPcXDY0>%hQ$9_##j9^$9~z>>uJ7=K7D_#JUPFGX2iyj8V{j)@}_>|8m-)wx|q$&y)Db__r%t zFU+-HY;Eq}JhO`Btm(u@!1EzjexG4yfc zvrfmwL@0i-`SKbxg54aHe=gs2@%Qpc3WZktmH6-a?}G8;3WE?r6AH(LCQh0-c0w>% zV7UDsDkzvZeta-EcEZ^4mMlExhO&w&nHfoq8Q!IX?Bj$-Rwa^`c2-P>rDHu_snjfS z{DxUO_7T1%omUaicP-N!`qz_xXiZ;UwLD(9kJZp}lP6iC@4cpF&`#*upV6_KU$n35 z6VvL%<^}#6**sZjmX=Q+N&0A4H*4}DH}1@#vK!#vyr!SK9i9_9^qA)b`5pg~cJzkL z5sqnJ-~Cu0MK^ow>R!>Mk)55pDMd~+bYy3zeXA8||KUN}vzIWx4@+Wn=kLRfn@N{> z1$hreF7Lf9pKYUzn zOniDJdd4v(fnsHAMihDLhV%%dOM zlWU{u{uR2vGj)G_%|QdS{Onq8X7!2pXd$=1@Ir3!qb_;xeOlN0vKzvea4|%~=X3k$ zIy_|Ar0}M5h*b2NA;6|A`b{qquVia^QBqsP`-_tHTylgobv#)b|4tuO&B)F!Hatl3 zWj!xP&y{W3^z14TRQ-5eRa@E2^6$E~OZ-v3d}WI(-qT5aNhH2;1DRz@ApV0ws+JME z$E>9I@1#^jDtaGaH%a8Aq6)h}9V>v%i#~n3W z*X|GR*%KWW+a0;c!!z8gmAnPEtlH0;PW(7@v3te0UQ(Q2l>C{T}!{y&65SmRfkzB4V4y z&_5r8zQ*FPmJTffF_om}nw6X*vG)!Jwyohd*R?N$dWEB|&t72qf!?ohTcR~Tl5Hu{ zdtK#Lt{~R2y^pe!w+6{m7Q`RjnAjPAbQk@O#QA!8V)rQ0xS5|C#a0uEKU%>2{lR=4 zso2a_(UE75ZO$0X8(0q?eI5Bq=0gW_J|WqB)L@=y=v2a+j;8$!v_*60C4Ham4{_yC z?hnIrH#bv`se#4b6f1bWMAPeWKW#jv>lz+0F3KwJU6oG@!qdC`e;4Wc!{PeCYyI?j zvOGqM6`u3gNW6>fncjP!>D?md{QSmkY({yk+w@4=2D1JV`A+%H?tIQB2ma08*WX+! z9KwO)y7Sqm<_8ys`N3YJA8UCl!~5x$e-apf^($Tm<$xK40J&LOkru~|PRAxSUcaVtb#X{LUMB5{qdKKz-HPBvoB zgxyQhyig`dw_52yH?NUH$*kaHew`*6D@YNKV!;&a6aGl9a$}FXa-=c`syv%*u1j;N zl(`k@k)e2=sgr-ARN2J6TnXZj^2o);+1bOtIrRKCIxP|}%ZbGM`f2mf?F&nQ@8yoayqRZG2E!41w)3D?Ro5WT8rMaJ4%g1B>t6yIrP=_ zc5wL(<-J?-JK2oh9~~xW&4~A~09&|%cE!u6?tO<13sY0)_F$UsZc%rr=X*plqhAbn zt(-%q8rczQ8+B4`tMR~F|QC{o-kh=Y1FTCkm zjubYL(jDMvZI1Woh@$nEMxi>6AeUZ2E28h=wVBtL63AM!kCa7<9>0D?B>wq4I+&;% zf?Q|f7g3=_Cz0Dmnkuv>dS0Y=c_h+1vp7<8Fghnv^vmetNUYE7jorj?xOxYU>tV99 zX9FpxKT&ljrWWt-g_S?pue{>>A4suT1U}NWl@HJ4?KeA)T@W%0$dDV!<+Oq&tx%m9 zuawjBEd`1E^HR1{iPuw1v%`3W7hj5Z8plvxCYL9@GO@h3B0o~z%S#i{qC6&Er0CCq zZW?G)(yo7~`8y8c!7G?jns3~dL-tTDI6^D+*d=Hem@3GNb|w84>bLnxdONMMK==Dp zDOBMAFE}fHE&6kGTzQO_R}1Juv0lrSnU+;6`f*3dl=DIYCK?TxF(xi1sri#CP|;gc z%vJiLNc?tf92Z1-r$tN!_yyIuilUbS-ItoA+zJplZVkr~OM4Pk3L4tPgsx#EX>@%8 zbV=PC)aD}b5;iN)T}Ku~Vper*J*UP!nbEMM*sLRb9=j>_f-$0^cS(e!-NJ8%HhV|F zUKFRL@h^l#~-pwy47L_*d1H zqbrK`1-hrJ8~Ft}Y1`3ij*zVSl>J1@p}cX+vGw6#R~JuqXAGQXYB06`!I6%o)?p%< z{z1+JUNtKclROncv?dapooFWGOegErM*_`1j`Ws9>H|&G^OY1Q{A`>*&}YPoO{Nq5 z3mvnLW~cRhgN)*;H1MXTWBav|;(@0Pp=`6tb)3(EenM==d1!}SNI6ArzlqvSy0t?l zeZQ8-L5^Gz`##sYfgh1|n8J5xJ7EDYJw+Y$z>9R^lW5;zYHwzxaWlOUp_RsOJg|XO zRmAV%bHLh2e8^d&DBTDhL)R0hKKD>*{^c2go;^h4M^Sf@#|PlR8XkvkD&&%-BXI*4 zHFcnN2%%kABz9l^LfT`iT)c}@;4`-P3avmpxDigH){G)}A{vQXJ8C22tYLwk?QGtS zJB-yjJPUtT<{xM@@1DyFI@s0OM=>*~uVM)~KP;#5Ml1IlWXG3jfjD!o9gn)XE=B0L zF#O1FJ)LN!%9m8Oj+OCfg=zzh{vKhaho)Yh8R+4;1sdU)EDc;_YAjFJ4Dc$<+B@$5 znc3aP6a!5Z_yW}Wp1dXD2_;mfSOZd1P=qaG`;d5#}&}dh{>sa2x zBlE6(nPyGPZyPOhN729`(EU~3=@IeV z9KNV^ri|+H)t-}$J<$;~`=F!1M17+b<2#Po*~OC;oF0#`U_N4dAN5+XAnl37oAPsb zU1V-ntJu*bNr|WS;l)%>f3$+cD=vC~M|y#t`7GM|01p8py^nVCuGpWAYwfC;J?#JK zJ%>7uJ=E1ehbXGZ-y)&V5mL05ei%`cc;vhu9!-@OJrP*@L;67_y`C&S%Ofuz>glBa z6qhFmxTo!TnH!hm5OyRn3AbR52OO`<5`x7|xO>;N{4a9gNC6R#( z2-pmmlm{-Mtk5_xyeZ7$yre;jI8TkCc&-sI=F;K@NR9k9lE~m{N7d=&fj^mYGL4g0 zc(n5a1JANS#%lxDkgYH#FJ5Y9|B3W=Ir?-O7hX9ygEfdON56f$c5u5JKYmoI zzStydMRI(%=CD<5kDp{JZ>td1lQpBLVo}m||J=>(?6{Q4B%Vj2(Jjl_7S;1=^aAPy zH?J^0PM)n(PeARI-;zDWw3V=j zws~(PmdP{E$IzzfvseEE-~S4q|Hap^e8L~8?UDQUM0;F88z0&pIfj3GyqWg?H?_yd zjN|CYC_W8wd*ms)4{wib^G9uu@!R<Ew;!h8lvpR{)lYse$nX0Ac^(hZafF6Mvv2$~ zPfg!&EDZtn(PU6~0S)r{c*Gii>{-$f`xVt>Tr;?$=1o&M%X_cSqiV%695(Z{RGihM zCd>P{@?Oq0eRQOEMP7Yu6b&5Aywr*u7#m^Y<~VGIO>{`wS)9Y#>ti&Y*{9c6w)ffQ zA#2iRnv|gq44!Ws_+)AaJD1m-9z|n78lzpDZ&!RKL$9>?=9A(`Ob=s;6EXe~qAM(N zZbx$=c@bK;ym!LZS9O(FJc-7W>#iN6c={$e-_`Y)8N)@VaHnu+YH3DvI89$A+M~%I zjd=IdAzXjIK$DUjiH19T3^v%*jjOr8!``R9kNO;Yrk^-|(J;%zZOw^X)SeR^o>Uwi z$9>R=$?<2;ZmR1tGNQydP3!NN8GqRNNWHD;gSG!(z7Q=S&!%q2mNz*2Q@3NwTb=!> z+p&j(WK_aG)PJRJ#~$8A)dcsaY{S@J&ULA@&rM{RHWp9^dzg~2qeK}zC-l)M*SbKe z9IqKNXc)jZge1G2q>57YpG1C?BJ+Shb>(PYzZ<8>)wlt3J`{U+cS`mlaTB?dNG@ zK91}(GGvMzFmxXbX3TLqzQ*XHYrpX|tb>lcrXETE$3q>=4{fu_iTst*#mm^+k+^B( z<*_FtvDc-q86YvQ@5A;}Yp1sQHbtX>_%+moj3UmYJw{*ST_ZlCmdfLWzeyg}LvE*4 z6~@%?+n|H9%Vy6mpE)B~8J-oMUN)y})@(M_27RfsSx>g9k?xkV%O=+~FK%qEvun}v zK33P*(p(j7tXV>vd;^vV9AEU4Of*#0NDDQzG@CoLSRl=Q8&Uq-cjjB&wH>V~^8Dg< zZ)!=&g~3sC7j-m8JAy@H#*PV{ADYx*Hbd8k#*Qf%e~!h$u?3-`P^e(6(aaNK9Ne{R zBgE)BxCyQNpVrG8v`%VyZow*A29OqFO)LpoN(;EAtddGm^XSvSIw<7WFT+;JZ@KNp zus(;e4R;Hxpay5x%FMj|nB1JiT7Nra|B3R=>2YJ@fb4)pp5A7}dGuH(g+rn{{kns+ zD6L&X^MpR zWxUR6MQ%aX%uKt~Xu_+JVVOTjT}74ixJ7iy0o|)4#zz7Ucks7aOKaP94VgmA zHm;?`af#UFa7%_|(u%Oj?Pg_(!=Tr`lC%pLptL5nhIOZB}olsSoQ! zhn8bLsp56cIE4A1=CLb_>}l1dM$MY0&x_n*@%5l}EbV&4v#hfd>sFT2vDz!9&nX;_ z!mZ*%ey7L5o~kjeYttdb91<^>=VxSP;y}Qt}uDMkYRdHG_rg; z;BY`zC`?qCxD~>%jW0~YqQZ`~YE4{S%U0tS(7wAwu7%}Hy{qIkt*M-sLA9HiJ93Iy z(AwzPEpc)|_seN)I4tZFAUE9HY~&^S2li1=81_-)g_*NIk}0H*u4VfT)@SPEG+vLm z+^qXtZd(Sek~(GB{KRil&p3^4(WiOma=b&BTaFuq^Zkh&IQ|Y{SU&m=XJiLN?o1O? z)?kvGag{BkeItau$#RsJLG|9OKTVn9#mN)(k`@=I&Ljnunf0NuQB3Bxl~11)lEyMl z!;~%cN?o)@b#dlW?M8yMYn{l=W;yCZx-u)MPc0wTOsko1C&apTh)e^^r1no&sV?@@ z0g)3o7~g4OBO4(H2xOzuu#3~M$~3H2n3gZwvLX#zn})4(*m#Qjps;@WZR=XHk6#Ma zieR&f7pjVO`O+|YZWC@t-Rk0?-Z`bg?DH>UAnncEw$tkSo*i1|Rtwd^oQSolei4K773o=d}yd>G`=2{}1Bqw}bS}LC1fu z3eU?-%=ry{FZa=Ny$}DY4_`0(d7_SkIcK47o~};khi85G0ntN`Oqihc_K5JH z@UY$O@pzl_+bZ0gtI$3kbEiw!Z|&X^(X&?~nR6D>GtWm)oey6odi0qgz!#>>zcdkgi~>t zP$}{oglj*4t?+(_$As?|F2!crm8rLm{AQ6qDBPUOP|D8;UpUg*q30|6g|`Ylka4@O8qq-#{Fy~7PT=_}DgHjRBw8?uR;gt@bDZEp-Id`Er*C>|(jyc~T zek1X8?dwh-{(ukPCHlQnt%0+}&fodS|IvpZ7Cj3^PlM>mA%~~4^JL=ex7{L7)y4!~ z6W7#3hffoJ(BbvM^;ucfbEELQPg=doza~8B@cV`9JF#ffgr5p87J23WM|h>f`N2K5 zf1$%q7TzknU-Vx{Je_~0`0#6d_zKZqAOl;q^LF9I4u4R1rEqhuL^eGm{Gf1cr*8<) z3tGcf|EY9<EncdWckwsdR$I5IV{u}uuC1-5O{1YU zvsNaqn~4Up;o=#+7(%E3FNV0{^lW--8?Ss#@$8bjgDXahxjGW1>aw(|o*r;dWLgX} z%ja@l9fLcX4WxBKDT68HRuw^ZR@=#7phiMTq2drhFV^AM^lup zUYWL(s7w_R+SNoWQ5z@m;;U_SOIwyDTBjN#{$5TiJJ*@Yg&NxGqHT?J%d8G9e#sh_ zIvEg37{-9p;U$@+O`)zv@_k!!g=VvKt}La^(p9wHb4_(kLmf4Cy9#VoO~Vq}Fz+?s z-&9W;n-VUe8n!HvOth)pv|G7^SKrpMw5rBj@-yzDWno#uE(}lC_v)JYf?rDQq1wb3 z_*|B7t6Rs_-RXE*B`J^#j+Tdyw$!vVRV|~%!qb@Z!2+fY)-<*@)U~B(=4PJ;8}Wvg z_9!os?nVezrQO4wq;+UY1h!rL+|*cK$Bw9?el)c)n)G}kFRfltMXRDWt+ah9dXTOE zfZaxGbyF)XU`|!LCR#VByh2s}yG?9b$$5~&Qm*WxIgRbqXxclLRxfHwHY2tXOP{N} z^@(kOtbk?ou+m;vL(Pbfaqb@RB2~x_-fJRqGWAUz?G3899UB)LP}{P+nObmlE$(1T z((b5jq5i9?x^1y(QMS8VL`#-y%VlG!N%Aqtq))#W)z!DOSw}zyli8xx)tA;q8(M6s zu)(Hbvn+RD;(-Kbo6~WYm%b`p6rWuji#4W;GKkY5t+~F1`kSVvMf}zj&a9SW`aP`P z_9*ry0!YSahx-d)mm5oNJt&(owR}dI^{xD7CEVL%8ucB`HBs&vM5dk!qrD+vtWn<5 zvZS$&GA>70H*LF{dYH!gmFgPp$0>eDTXJ=4s~Om^BXmERRFH1JEkH7tkKRq(b=Q2b z6@vtm_TUQLRgkz@dmgu0kQXE8mBMRN7l-#1GYh@j1KXm;mK61kV{22k6Y3M<5IJoE zM$qFBGXL#+PWasXUAhg9LkV!6Q&Ro|;CyPQ{88aFz2_YVe5Y`lRxzi1D*spDe6FFK zpPb^r@Wf-`RMsK zAHEIrOawhEhtdWG_Ct_9TJCoOKOOi3z$XF!E$~9%Luek5gX_$+^^wD(3`pDxN z(kMS4^jrvf^nL_4-RnRe_1y21?n5Ad5$OLV@H2ov3wrptu!=q$UIvc+#sKI!ljPJ7 z?*h*Uew0kKvETTSDwU52ck??P14nsWQyGt&Q;sFY6j*;Lebmlb zz){alz)}7d;F#Y#flmefn}DPJy5_N)-_hLIC@@F)`+-MjpW6QmAO3qEetdwnTm4ur zqktFFe%1da;Al@!CcD{A)PrlFUIu!u;Ld^q%VW7T0!KY7ftOMowP!8x^MU`uhgZlA zDxB^Vkgo-f`j-Ho2J%~gPX~SwcsX!go0HQ;zda!r(wNTxd0b->$N6*R#voVEy~5po zU@OR<2l_MRf+Fjg3H%%%-Xz@BzY640|JQxw@AZ*?5qKEv`2i0uDX^Vq&_~N%*ZgC9 zxN6U*4~Kq{ckTQ!=sA<*RL`@(^MSuB*MVIZ)cf~)@|;jVsM6Aq74m&gSz*Kei5Sr7Z|Vor=gC2+K7F6cqOH2_DyJ$$m&=i2$0 za5rE7;UoV7$WJ7d>Yw3!(51k7@c0-8eg^GR`G|1MuWWjAfMb5I0zH^tT>A?1t7}%V zJ(D5b`$5kV;Ew@s0{%4crNCbRj`I6~W50L0TsLNWT0qbFz*~Wr0>^f@6nHbpuLj-* z{C41_!0!i+{oeI*eVFaM9^}6O{086;0>|=wM7Wl(mitcNSiVnz9xUG%fagQHxW*Eu zi)$=#JJNJrP;lkzg9Z-KF9XJ2qwZ@&_H*2(rR zhwFWw&pTZ2^E~Kqz0Y$;G7558vO(LFM)Sz`YLF`vZensq%aC>~^ig_5MBgUH^LD9p9(OA(5_( zOH73VUM$>Q8(^XEQQ}wC(<%I7hp!V}>2SU8uGZoGBCqpxs$cKBbJrf&EAs0cJ$m2W zGY(%U)I>hfRQr)qx$tex6uwa7db_E%JI9w;d-CjDu)+~e4oSh zKDWCazEI>hI$ZB_JLqt|KW&H{7c{?mf7(cg>-}k!4%hqBY8{>zB2$(uKDt8knUQx>==N%n&JepKh~Gn?^Zd_=EFT7 zio|W6bQk7ak-2o|HWK~MJw5R=TQC!wJmOdCX{c{k~Z%tpni-mFh zz)*a;-CBo`e!KpQ5Mx~hj@({}&toYJny!9dPCNBC%8fV!x01hI*?NiZ+CNg_>v%ym zX!+@OHT_6e{v+pEi9YEEx%_zwSL18>vpsIw95d%U{!h5SM?t@h=!ZF%*RG;cHq<7+YxMKl+*$8>^B=6q}#L zRF484ze9K*Z--;_S_yLiETea45-WB!kweIg%-x`nH`w>Erm$qrX+YIPlQU;?5)O%TH8=+Kt$Eib-nP5dPPE>pSnn zKP&#}A9E}kRQ?^!OPcAn%%Hgi&a-#m)9qx-#$7O{Vs?=4WeYab{hvW|Gq7iGundww zkng)}tZr)jT(!9aFd4_(cNVm_2?iVLnwnbphCozEw^`E-b|1K}wuN4Rl#FI|+S?25 zJ+-LMkNenQl^M$@gV%P{wVNAAMWfy8W1{4ZZWC{;Z>*ua3kTV_q;6%fZUx<9-@JJ6 zPSNUQ&Nw;M9P<6L(3o*Sa~E<@Z+uL#5K3k4jA>WS2zqm_ESp(Y$`;Y%6|_|{+nY1X z{F^<8HfL0NmE|+a=LA_|Ce7)QM1&+}n|~$zYg!q{pt!SUm-23cSC%lmvg8W0O&YJ9 zQa*#FjAHZq$_U3`U01TMD`#^wqw7l6btUT}dH!b;xWX$Xar#dNu--CG*8H2z>C7Ta z=geZIq-8GsFX8_bng1I?xtvp3R?3D^)}#u1%d6X(>2Vpa-aM@_*SnG~n$Df(mCW!a zPxnfvc#$dIj1q5hi8r@|o-Oc7%Dj@fUU{WgTH?)`>6L`NaH&T+ORk~^QoPD5yz<#z zd6_qNwl`yzH<$QKZ!W2t zAbF{}riN~*4c68*Hp>qSpPfK& zbTqdtidHu^o7?0&nmKcen;SnzJ~dApI8G1Ja|I2-Wz|g`b%}ge&Yl)*q%23-JhFgp zM{eQ{fL*4UB4Nt1x$B>9GjDINrXB$L2h+^aD(-SS+IetK!R_n(1WArMz579V@FK-d>08Zx z>M3>INk2tykfF(R2ldrl>A0n)*Jpa{pnWnW*iOah%GvVs5&OXML(jPOxgJUGx9Rz~ z1JXmeLGBnNm+Wg&+~JkdAtyv-Nd1pJ6j^5_O4aVSK20lN-R0?#%SzTYn~sGVTB2b} zg;zO~qQ6)|pOG6}ixZhpeKuWx!L)Mhwhn&2pe~V~)E?{pH2YnzOY}s1v=^c$_P5qG z*V4fXj_^SuUShxcuQu3H4?>Ck;x~7uG|Mb$^eDayz zi(xKQe5lXRi~mbJM}Fe#TKt-A4rkdf!`7x@>x7LY-*Vvks_(=N3Nt%={;|k^=erI$ z*(}e@VGXjt|6PG{q1%a(S@$NC*ZLe_-^$shLZ@w>!(>==3&-ZaL=eB`?@0Vjk z74Fu}<-+yZP_s$@t`pwsNO|2E;(4(E5Ca{pZK@O8qMIQ+Z9d0|!z_X+2fPci(v@Y5W=QTRLNI~l{QSxxqw z<;d?4d3~l_WAH5uZ2vKi{BGgTIr@Js{3b{KdEsju{*v&?4!6gxY;UT=|0MGK4pj_q z2VrK-F5BaG!(tdJ-0Dm287_R8qn}q2WdB_5@R7o=aQG*M&v&?8FCp9e zlEZEL%=WfA+_v*<&z4)#PTOv?y`MVrw*6;&+Z}HGp6xyD@QB&Y_I~T|8N#1)_#EN? z>G018f5G9lon(6xoqoGP2G|#WPBO&o z9XrnO@#g;o^M9iGZ(@x#vBsHLnVIGTZ>OJoOyDlqCowo-(~8iCMQBM};FB8A2pJ)yBi zQOH)VkgYSJvBuWWSgR#ub%v~#kkumfM=F!ltdNZ-wWdI9vGEFQyaJngfla-@re0w3 z7qYc66f!>IMd8SKp#rPZ*6fh=bZCNAZA&g>3nWCZ;pGSutm+9?wXGN-TTY<~R++6= zq48FW^=n8fpRI`@TP;Jjj)rXI4cVF;veh~?&Sq?!&6utIp>Z~K+b%-d?ri>SAnac@%#-Hw$0mB09US$cC};>J7kia>iao~zF2uWq6%_*K!B zt@NH$NQ7kv?Scrkb?r40Aw9LW@)67i?k;(5NuTKq2>E z@Z&-Le&9Ukrg}C5KLPl5;QU$#m46C2&m}AW6>xq|L;3H3e;oK9fb(N|Dt{38$-w^# zoUccze5M@dxEy&7Tlp~H{J5F&5x`FaZs)gbIR=5B4f3Z0zX13dzzcz&2|Ns(>!jLq z8E`(vE1wPgY~b^Oe+qaVaGoPoJJ|PXI3g{tMux!0mazwX+QP ziy%J*_#c5!1^yS{5#a9vF9)72=N-KJGT^zu`Iw^qx99QJ&I;f`ke?3x9N;s6^BO}O zINh1_QT-PIuLNES{Bq#>4olWE3%ETmxBB@Sn(D6tJ#&ETbraSz7x=Xxe+BT*0lyM> z7w~z&*8;x^xINFdc76uNr(*di@SlQw2k@tXF9ZHt;C!uE)BQbgz9y@DKk${n{{sATz~2GRV^r0XB?D`= ze--dy!1)@r${!E>df+DmzXAA}z&nAT2mD6h;HUd=MMnK_V@^JKBv&~+7A2{;6DX^ zEAXd*_W}Pc@Gk=YJ@799-w*uD!2bgLHsJ37{|fM|p|nAP>*rVLqxl*J{C42S1HS|K z$-ut`{7m3?0zVJ<*MW}%ei!hIfPVvc3GjabJ`MOcfzJlM4*1o;zXiMo_`d>Q0{q*+ z+kxK={PV!S1H23PcY()&-vj*1z}Ex+I`HoS|2FXN1HTvey};?G30xoebDSI(q#$0wX6_|cNz28W+0 zyvgBb3U76If$*rqFA=`N;d;Kh%Hhw*cBjMl$#%EHUlIK`JNz%g*E)QNa4jG8&$A+T znBNTdp*wco^tq8a(v(I@aKeU`LkO7==r3Uk8-^a z;CV-nz3xfxkaGBH(f_i;e=YWF{ZjqE7kO4TtNzz+s2$dEmPa?+`on zQk~j!lW?uS%I^@KBlTLj&KC@K_}e0%=kR{9ALkDl{Z8cdI-Kg?FZ>iokDjOL^*NQ- z>z(p|O z8JFMY@Y}?1cR2hG;deRwF5&AOzE1ev4%hoR);oN?$lvGi`-E?B_y*w*I{ZQ58y&u0 z^1H?1TSUI!;r+sQIDCijT@K$R{3(Y&C49HTcME^U;rfopXC3~m$UpD!=Y{Wec)#TL zWruGOzR%$sg&%PE0nvZZ;Rl7k;qW(vA9na*;qN;9UE${7N9|AhE4?tN_iZTG`;&B> zqI|d5Z|{pt>KQIv@6%BEJmDi4K)NG@k97D*;iowK6yZUK2ZiT5JYV=IhmR6I+To*x z7dZT&@bL~mAiU7w`-JQGi+A(qW#Pq+{9fUBJ%UB_-J20d{#lXN`(1fAe|U{>4wa6) zme(AIKPB?>9Io#Io$v4+BEQh#3x(G@yjFOF!yAM*IlM`DtHWD`M;#s&zQW!1_ zDv|GWxca}_;oTyCv%_x|zSiMuh4(qUPxx&PzfJfZ4!=YAT@JrX_&SHL6MnbD?-st^ z;q-`w3HLetU6J45@D0Krbohh9H#&Ty@GTDCBD~+>{la%RT3q z*Wp^ebQ7NmyxWL~{1AuhyL@##sPZ`?KirWYF5KRSn>;S$2_NCej}Si6;aXm&IQ$fm z$LoD;(>&oio>e>Z{~zYw1wN|kTpOQUz>&mEP};^8+fic;ikKj3BGS&l1a@?ysi2}_ zLktO^0n%hf(W)e8W`OAsO^rqZ?En`Hnt%x`H zp66X_&8+Oq*vtR>zTbaCX7By%cfIRfw|Cv%wU)+Bd(Gfg8aM4VgHP0WwaedXjZbmm zQ#4-d!cF`eyGq0VTumQv(FZgha^WG3J1%^=#=|Z=qVXmd-l_39F1$nIb6xl%jhpdu zBmV-8&v((U)A#}xZuG+<7jE=JhYL6Q!Sn-+zeYbqT=YgiEO+5XKiufTjeh8H;k$J? zio0;5A6C2Y-8#H$T)5E>{Vv?-hudAa(GP1~xX};abKyomtaIT;Km5>z8~t#P3qPpC zd#?*O`eD5b->bv>fD3;(*0>nLXx+~;X7)la*8Kxh?#6M_442o1mutM#g_ml)+=Y8JKF)=kz1b^VxESNW z-|;T|V=cemg`4!Mbm4!|^i?i=zs4uJ@V7Kx?ZSIBKE;K{HD2q&S8M!S7rsX00T^IZ778lUgN*K2%%3x7c4i(L3d zjd!^4hcw>l!Ur`TapBuFzTAaZ>HK!13$N68j|<oh*zg?~@ueiy!0 zUhTq7{7-S=aZO+A!dGkjTo-Qm2VA(3-_Obxmq{1(hJE8)<9OvHz;&a(8~Spc-u*5- zpmF#3K&Qst{r7$?-~XYrH6~#(L(L>C#OP}4XqnWtOt!q8ge_E;V9!m@B4-m;0tt<)B~ZBkepBe&c?QcCWLgA@l6f@fLFV?_wu5y1C-tOXF!=YrmxKjDHqA zcl^%-Mp>%yXJ3_{Rc}*l5YI+#b7w9z&o=2??cT=t?53p+Au)IOje9e`MYp_+{OZl) zq3vU?@UNp$Ev|lb^Dz7+_%rTJ{>$Yzo%oOCFV>~p$rRxaYkp}xE0@AN6PQ~cKT*UtPnyKai6|J%>}a9GIo6_9%XCw`Q9 zoWucN{Eq;Fmjo{k&f$>{vz_Fho!DFDq10JU-LVC)H$55-`pZ&p5u&?wUb!rbuG&<~in@K4t_^(1|_R#OR8w zsIPfF+;^)SBJmiaWQN@Ue@ZB;6lE51$h6C1h zJVcKgn$fTPY4vv3!jm~CHo0Tqwe*LF5Qa(SOo86tfsyebeIvf*@N6gH)NPzs4fipA zj02{2;+Y0t=s7FJzmuEEKPe{bz$EL%NY_{7b{$f#7Y&Pzk*<$ZWC4;Tp7A9X)3?}z z)p++r>azZ3vgcc$FlhIaAaz?Ueg~*|vdQYZ<#ABN9+WvsU*c@?OWnp9PT|ifbiD6T z?~!AXy;KpgIjp81BjIo4hA$V19^4I{ODHl?n0(u!r3Uj+s1`NCQdT76y-8^4~q^`_*9jQP7~AWyLW3ZjC~M^bhelm*ZP+ zMvA0Y;;XYWROzKuHILOiQ(yDg)t-7dNWNNwxCvF3HwnMXFQbmQl;kOpLt{jyJ1NJT zD%T#18)$xniF8j^pxSOjvC zJJlVMOm&ivhLh=}IbgIu_9s+wN6r4k84yfmbK^ zK$pHUB0g?@ETdi>ONEW4d(kU(qF=8)HNSoxTB-G2Mz4;{_w%7~L~li=TfUSly{i0a z^fnt28W9Me%C4UvWz8W07w`a%>)X1q**zBwpEesC+GDf(bH;dB$u@N@ zi!5th*5UV`<3FieVKWwYF2X+jxPVok)iGDW+Tm#pp>zBmejQFX#n26d!SbZ)$#Xqp z=pf7CwARRSa1r#Pw(jT>b!GuJ=Qn6$OE-=VIPLtl>kVS>+z;%eZspvD{fltmfT5p# zQInqs4)A0EgJIKf98Mq+ptr6^JctxCvWGk%)C+Qg{;HF@C#Wy8BP}=)Va{T*KB)ub z3MQ~D8bMeE_E+H~gb5yo{Sw)-9@}?EqFqbbo zFo=%vOqz5$_NCxob7Xl0TT@&#JLvahBk~-N--;;|0=XnaBg5+NSlr$gfrvVu#Cu4% z3};zPphF5;zdVBd%dye>5=jA`7flYLk zn6fu19}8}{$WySqyx^=G0$|C0Ko9eAK)R9ixF%BVK(;>0 zwx$RotfXwQQM1abFC8N?1&z!4lETh1F9mZT_^6e|Yl`|%=X~l#_Wys{iJ>CGc=xb;dL6gX}9LFQYu0Y!J`qY5Xh~exb&naN!qg-0Q+G*Z3Y6 zK40U%cj4_CH@3m%bBD&unZc}!>-V^GM5ha1u5q(QUS9EYv&K^{`nbl8jiRCdmd14# z)W9CDr=q{?)7qDmON`{y+9004EAOK`|Kaj?oyLDC_w3J)<#FTy%)Ofat1dpj(D-F8 zT$Ow5rRl;qYx*57e7nY9bm5O{+}Iq-D}Hus+}IErocE$kPd$sifJb{TCef9^*xoA7 zl4YI_<-xfJaV~nUG0BBb$b;AA!7t5&UkzO3*F{*Rx5u+05B<0D;M`jwmz>;NAs5bk znG2_lY%Y9L9()&Y%D+y_FZBUqJ6m5jH@8QZwl+6Unmpx9wO5X8gCm>L$ZkHe<&EBo zhuh`oO?_nN9NDEtZK9(#&r$p7$ghHxL*bz|4$_-a34gV*kT8+0d(?hIX7eH8BEG5J zh4l7RBGkyutFTATh}u8TjyTgBE^O|MM!F>y%$Z8fk!5Dv8u`xFL%WBM3()#&UW_IO z#)s#gSzXtx4yA=w|8&?Ovkc?ra&F9A6SpGZbWZOt}ko6 z7sUGuA=wh zyP@a$P+o5N?^CewXE`zSFKXP)|5%g{UX+JA-_W0G;YVBe85(!{d%i_)`)l@Qar?X0 zqCdvszb+5|4Hmu4-|Tto=Kq03KhENB_6lZr*)}raJ&FJ>ceqZ}IB)D08+x@DtcthK zS@=|okDVXRv-nh4^cPw5c0S}l5-;9t{?}XdHviQYJ%^EvoM!IH9j+f+^fvzudHCUaxRdrywk1H}{^ z7x|xnKf}LN`UZ>M=KoC#pJLJ5HWD0(HFEygqPO|j zHVM?phThm7(3wsDs^-IZIN73qBM*NwC(h4o+Z+C7?wk187CuS06Ns}-Yv}7NoTK^% zH*;mAXJ5qNms#}ZSonO6Q-1ax4E-_-ud?un#b>I8ud;B~O@@!Xrvdv|1~+>eP)#5i}Lf&Tyg!7!FBi_a^a>O`G0&a{{QhbydU9W6{(|1htlH-=%*)KADGtmMcvJ` z3)mo@JK0#kRjxb6Y%9?p{hHZZ;L94<>Je}1D&-h+j!RePnJ*LZM4tbsd*)H{WZh(6 z#(%R1n)zn@H}?QOnRU6{ zpMGZbSscqX*I%1MuRC+HCjHyz&}Ft)%Mg%z0J}vaCjRl^U@Jt~M~3b19|O&mdQ6jC zu}WMgXx3YKDw15}0@({i@0Nq{pQfiHI4IRKNtr)g)!psMYXjwC|Bt>>XELr_s?`(7 z!_b{)j@RzpG4!{(XM2g|;2(8QolBYAIwt^(*I&~)>|49TM0XMXIZ z?9aYsp-MjhJcKK&Ii((OQfn&rQzktzo4UP{W39dkp~@!TgmC42`r4^|C4KVcaPmVi zm{aM;?>w+kF2$dC^1@3Z(tw8Vgwcuo|qJqua`ZXg=&?g3?4+xz$D%m^- z42GF5JhNFm8O)k44E+GvN(6Z(a$0bJ9g|NHq-HRE0|pJn4r`cCENjDjqLBps%K8Mi zUxC|x2Od&+IjILK4wup8I_C+c(-Xh;gFu=yXv zM?-3s*GcsZg5p46zSkFjMEqT~5kM%}!J-O9)X=wz#nVX^SJE_xIgSgM8&j)l86BzO zN@TLe)P@SiQ4;?_q-B05+`3mD!*m%tI6CqLX2=YMhL7+ixJ54Pgr-0M&nEty-&gF3 zeRQ-h&drEpA06+DUxkNo!QO^~M;rR4jBY4+-bqF(y`Y+UND zL*GBW15V-Ofp98PSrJZd4JY3>lF9w29*^G>ZDJUpXi@C`RCB;dNfOtl!j-i`1Pv`Q zc7lW!3c&$wIkduohUB17AWCkb(H;uAVITW_p*$kYzBqFa!mR;>_BsTmA+?G*BA9&H zNxqF-nhI2&#A*;0ll8~$gNYRN4ziUu7<*L3CkprYn#VS=Hr>o-w#nK|k&EF)aNrt* zU8l7!c2erYNtg`oQ=-MTJE7!WtHf)&9m%#IA=@tZA|+h_$>b9$8pzR8oYvjxcQD$d z(@8Vi1ZD$4{A7!^16Ht26IqI&`GgYb-l$Yj`e!tE>nGnT2btT8oX7fsc~3L_24o5* zAEoN-!=n*JN=c+#N;>TEXkIy!l*lCzz!Q8JFP`+jA$FioO&JIdaOOgCp%yW{l<|kO zr#Zd&n7#~Rn*2wRnCqX(ln9|grvD0;&oF#gpD zvgRKg*g+{@m6!~%uzZ4di9*yZtQ%2Ew4_S7r$O4@U-MWf`Q~P}P%VGs-^RDRQpLOV zR~4R`1Hl1^naOOF`}+uZIt((@U*XD%&73JP{8b7h?gB}0;06Ru>PJ_39wzC@U}Wri zGnwg50TE8_PAIiN%`@2`W?KWw3^HR^$2t&3-vKA~2vsOECx`z$wBoGgL*z43mBP$0 zKrLeI9APi+^dXs?KGBdHDxjfK2~~YQat~gbXzf|s6b6wK#^XeZWo7qyAw+ai4^vMH z%Ek}W?8B^son&Gdj?8-_J|+`VK|{J^f^{*S)B2TM^i#BnH7*p8t}cLGF?taU?~N5Xtn5(a32~kDn5JYDVt-5v~a$7GeWN;^Mg&C zmc6>#6cFU6OJ)ZzwxiRN@yi!KDI1+C{)T#mt8QO6B%fmcxUp}3;Nscg>$jc)3LZj`M9yQV=;_3{OwL%y~mgMIjD5L>AlIjcq!|>b=sym1j)CBRJ;X(X~3Zew)J{818*&uFEL9AvF zA5lSEUhWJRHhwu%Y$L3MVRWJc5a*7*&PHSYDuIemC$`Dh#5!kO>~%I`fKM!Coipk^ z&XHRq*E<_w9^!9X-r1rYJ&N$5h0Ah4d;iB!vmZu5W-0w0+8lgl0Y!zBEu(wazpe5v zYCu(p2aXa&`x!9PNG~4vNg|%dwMC#4@tpoX9JQEDeI=5Xxr z^6QRDVm$@=hRA`Ni)*)O>*+{MbKBBZjMu^>y5_W|i)MNjEMC~w9q}mJX588qcudkU zpi4a_ZB2@6N|PzXCfZ~2J@fb?urS%kyi*Q!Q9ilGn1{pTKJ!`q{KX7bb@-H1C!RLx z^lBXcX25gJ!{M2;%wv;0T!LTbUv(`o4~Lg7>-dpj zvn4GsuV38KAr$hR@$wH2-jCD%xb3*Zz@_1Y`!A5Lw6VUGHrBTk)tCAEil>)Vtr-<8 zt6n)eR8|{1;=HomMMXa;98*>c40hD8_0F1fV+=y}z*Z7toSTENS$?4HE3VJ*3zFZ= zvYvvX|0X}!io5tZ!al>F8d!eo0TZMkE`p|bf4#+3O11jVl0DY>d_(af^W zrm{uBviXI($`*yoI)i1)XTYOi+3JE>W&H)y%huv=T|ol~?zA1xD)B6U7iK({9Yp%4 z?b;C^Yl>%DcJ2KI-D5@=wx3_J5bPbWKdJSeOuX+YDEwN^Xs<76DBD{QF53^!4#MLe#LntMgcJ9*uzFut*ig2o z;6~6if+h@_AZVt8W;$pP7eaFZXcj>XiDTR^&6gMIDU+n#tg@z}bV1qN^UCIj%NCs{ z(L5c|4A%JTNAxy*J!irOk+95t!#OcIBk4`8& zOBunPHa-QI$ytXxFH|6MaY&GOk9y6NEvic5=DOZI;9g|m77W~Lzh<6u+3U}eucJoT z#MIvrvCX&(Adv%}6M&+~cs4CTQ;%7Yi8Zpg*|m^?W3 zTrPUrZ|1_eM}IE-iahwTJa{}0&OP^Y@u!_;F8skf_8S1&{&&z|inzWV*_Y0l;Y`xz|Fr&>MFFxrKvoxs<-aT(kW~d|)!>6Mq>;U2UBmEv;?Mi(0xDd1hSL*woC35w9|DvH$@wGozu&slSMA^X87Wr3)h} zGBvsci$y(4+Lp9-UN2H>xV@ugVYdKH=ht7x7)PVNl{^FtNf&4K;)P2amM)HD=~P(h zr!4d3M|2Hr#uQW5N-(tAGh$tBh)_472?5g9PIv8W@wFyA7uCslPa;m2*?h@yAa=E*_P)z-2gOCYfg5u%+EQCD>=YrRI+n7G!2F!HfB#H5G>*kDT* zs1(5a8O^O7Z7oZOahq|`WleJ~L_BtYxk}#l#YJVr2mJfm54Ae&oTTG8=C zcv_crEl>+ykQ)|sFKW3)C;Wv?^%pR^i(lPsD3r4EQFH5}Ynt0z7I!F57Pc*I>q3tV z9&p(+!pudt>RXwf=d2AcH@#W^=%!~oCKvtvdHBDShu+@v-D@nuXixK28rpKYvFb}uC?%5_-*26x5nN6K5xbpJL%Z zv2Z)TJz(J+lQMj^Y1|#&r!4xfSoGzkc)>;bqw#0>{LI3~TKIs*8D77I|2_}>zC84& z>V6yf1S~$+T6oaHcUbsz3xD3iXIS_IHhOTm`LED8!)vcs-C@z&{=RO}bF98_^{~Qh(BHf7S2b*M@(MuPW~ra_|q2uN(&D#v*IGX?e8p& zQ-0guODx>>_X>-T?e9_xxBb1<;zRyMem|ah(O>?Vt5ZK1+>E~sx^Od|Q(d4w7<%b6 z09xz9&A7)z?U|uB;~r~WxEbI0v~?7+kL-xW6l!Bxwb^V9wvqjRyTHwluruho*?=c? z1@wKbP7nP$VvL7A6?D<)%9&Jx%}1KgokBt*PnS(4-Rg0U+uz=q%y?C zwvK%nf6e`C_-LMOx@p?Ijq%w{+paOU`~mI$9@htxeui%g9&)DtX^P?=O~~|TQ^dG8 zXK{DeDRpO0t`*|HeXUC1VdJ|gX93I$9^;wakUXgO zboKqJFm~{w$dUoZk2bY;k}v%E$G$ta^t|keKNjhV9c=O?zKzd4Hx$f{9@BF};q2&9 zJy`D_xm4Re3^1;TJ02YGiNn6}Tlf&%DN1svI%BIqMv+r;cqy);>*1mwaSKbZ@+)Bc z1dj`Y(cSbi`uNTx#54I6I~a<_$jq0x9)mX|^CgzaQxU9i+VBKc5y&ufzp{mUQEZI% z0)c^%SQ{maqIWvU7X?Zd4W&q@x4sqoN6W4YhJ`hQ#;y`~(NIp}aOBc(>I5hGeC*K4 zE5Z%2kEcXtI<2pAWlp)1JTy>6&uE~eOm{Y)ig #qh-#w;*{qS@0g@u6pVfoBI+ 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

    Y8j}hUI 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 z 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 V<>%AouJ4i?%YFdY@~*x9e*vJ_#gza6 diff --git a/linux_amd64/lib/libssl.so b/linux_amd64/lib/libssl.so index 7481049..21a9bcd 120000 --- a/linux_amd64/lib/libssl.so +++ b/linux_amd64/lib/libssl.so @@ -1 +1 @@ -libssl.so.3 \ No newline at end of file +libssl.so.1.1 \ No newline at end of file diff --git a/linux_amd64/lib/libssl.so.1.1 b/linux_amd64/lib/libssl.so.1.1 new file mode 100755 index 0000000000000000000000000000000000000000..90cf985aa9014e1c66d81766b83cf08cfc931a6f GIT binary patch literal 690232 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� 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�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 a{m%Nac8&Ik!1cFXaj=jqaV~H^M*k0y*r!wg literal 0 HcmV?d00001 diff --git a/linux_amd64/lib/pkgconfig/libcrypto.pc b/linux_amd64/lib/pkgconfig/libcrypto.pc index 2491fd7..a2340f3 100644 --- a/linux_amd64/lib/pkgconfig/libcrypto.pc +++ b/linux_amd64/lib/pkgconfig/libcrypto.pc @@ -2,11 +2,11 @@ prefix=/root/openssl/build/../out exec_prefix=${prefix} libdir=${exec_prefix}/lib includedir=${prefix}/include -enginesdir=${libdir}/engines-3 +enginesdir=${libdir}/engines-1.1 Name: OpenSSL-libcrypto Description: OpenSSL cryptography library -Version: 3.0.0-dev +Version: 1.1.1e-dev Libs: -L${libdir} -lcrypto Libs.private: -ldl -pthread Cflags: -I${includedir} diff --git a/linux_amd64/lib/pkgconfig/libssl.pc b/linux_amd64/lib/pkgconfig/libssl.pc index 82fc75b..def5ca9 100644 --- a/linux_amd64/lib/pkgconfig/libssl.pc +++ b/linux_amd64/lib/pkgconfig/libssl.pc @@ -5,7 +5,7 @@ includedir=${prefix}/include Name: OpenSSL-libssl Description: Secure Sockets Layer and cryptography libraries -Version: 3.0.0-dev +Version: 1.1.1e-dev Requires.private: libcrypto Libs: -L${libdir} -lssl Cflags: -I${includedir} diff --git a/linux_amd64/lib/pkgconfig/openssl.pc b/linux_amd64/lib/pkgconfig/openssl.pc index 7fc760a..9bfaf4b 100644 --- a/linux_amd64/lib/pkgconfig/openssl.pc +++ b/linux_amd64/lib/pkgconfig/openssl.pc @@ -5,5 +5,5 @@ includedir=${prefix}/include Name: OpenSSL Description: Secure Sockets Layer and cryptography libraries and tools -Version: 3.0.0-dev +Version: 1.1.1e-dev Requires: libssl libcrypto diff --git a/linux_amd64/share/doc/openssl/html/man1/CA.pl.html b/linux_amd64/share/doc/openssl/html/man1/CA.pl.html index a24d59c..d6a44e7 100755 --- a/linux_amd64/share/doc/openssl/html/man1/CA.pl.html +++ b/linux_amd64/share/doc/openssl/html/man1/CA.pl.html @@ -54,16 +54,16 @@ -signcert | -crl | -newca -[-extra-cmd extra-params]

    -

    CA.pl -pkcs12 [-extra-pkcs12 extra-params] [certname]

    -

    CA.pl -verify [-extra-verify extra-params] certfile ...

    -

    CA.pl -revoke [-extra-ca extra-params] certfile [reason]

    +[-extra-cmd extra-params]

    +

    CA.pl -pkcs12 [-extra-pkcs12 extra-params] [certname]

    +

    CA.pl -verify [-extra-verify extra-params] certfile...

    +

    CA.pl -revoke [-extra-ca extra-params] certfile [reason]


    DESCRIPTION

    The CA.pl script is a perl script that supplies the relevant command line -arguments to the openssl(1) command for some common certificate operations. +arguments to the openssl command for some common certificate operations. It is intended to simplify the process of certificate creation and management by the use of some simple options.

    @@ -80,21 +80,21 @@ by the use of some simple options.

    Creates a new self signed certificate. The private key is written to the file -newkey.pem and the request written to the file newreq.pem. -Invokes openssl-req(1).

    +"newkey.pem" and the request written to the file "newreq.pem". +This argument invokes openssl req command.

    -newreq

    Creates a new certificate request. The private key is written to the file -newkey.pem and the request written to the file newreq.pem. -Executes openssl-req(1) under the hood.

    +"newkey.pem" and the request written to the file "newreq.pem". +Executes openssl req command below the hood.

    -newreq-nodes

    Is like -newreq except that the private key will not be encrypted. -Uses openssl-req(1).

    +Uses openssl req command.

    -newca
    @@ -103,29 +103,29 @@ Uses openssl-req(1).

    and -xsign options). The user is prompted to enter the filename of the CA certificates (which should also contain the private key) or by hitting ENTER details of the CA will be prompted for. The relevant files and directories -are created in a directory called demoCA in the current directory. -Uses openssl-req(1) and openssl-ca(1).

    +are created in a directory called "demoCA" in the current directory. +openssl req and openssl ca commands are get invoked.

    -pkcs12

    Create a PKCS#12 file containing the user certificate, private key and CA certificate. It expects the user certificate and private key to be in the -file newcert.pem and the CA certificate to be in the file demoCA/cacert.pem, -it creates a file newcert.p12. This command can thus be called after the +file "newcert.pem" and the CA certificate to be in the file demoCA/cacert.pem, +it creates a file "newcert.p12". This command can thus be called after the -sign option. The PKCS#12 file can be imported directly into a browser. If there is an additional argument on the command line it will be used as the "friendly name" for the certificate (which is typically displayed in the browser list box), otherwise the name "My Certificate" is used. -Delegates work to openssl-pkcs12(1).

    +Delegates work to openssl pkcs12 command.

    -sign, -signcert, -xsign
    -

    Calls the openssl-ca(1) command to sign a certificate request. It expects the -request to be in the file newreq.pem. The new certificate is written to the -file newcert.pem except in the case of the -xsign option when it is -written to standard output.

    +

    Calls the ca program to sign a certificate request. It expects the request +to be in the file "newreq.pem". The new certificate is written to the file +"newcert.pem" except in the case of the -xsign option when it is written +to standard output. Leverages openssl ca command.

    -signCA
    @@ -133,44 +133,46 @@ written to standard output.

    This option is the same as the -signreq option except it uses the configuration file section v3_ca and so makes the signed request a valid CA certificate. This is useful when creating intermediate CA from -a root CA. Extra params are passed to openssl-ca(1).

    +a root CA. Extra params are passed on to openssl ca command.

    -signcert

    This option is the same as -sign except it expects a self signed certificate -to be present in the file newreq.pem. -Extra params are passed to openssl-x509(1) and openssl-ca(1).

    +to be present in the file "newreq.pem". +Extra params are passed on to openssl x509 and openssl ca commands.

    -crl
    -

    Generate a CRL. Executes openssl-ca(1).

    +

    Generate a CRL. Executes openssl ca command.

    -
    -revoke certfile [reason]
    +
    -revoke certfile [reason]

    Revoke the certificate contained in the specified certfile. An optional reason may be specified, and must be one of: unspecified, keyCompromise, CACompromise, affiliationChanged, superseded, cessationOfOperation, certificateHold, or removeFromCRL. -Leverages openssl-ca(1).

    +Leverages openssl ca command.

    -verify
    -

    Verifies certificates against the CA certificate for demoCA. If no +

    Verifies certificates against the CA certificate for "demoCA". If no certificates are specified on the command line it tries to verify the file -newcert.pem. Invokes openssl-verify(1).

    +"newcert.pem". Invokes openssl verify command.

    -
    -extra-req | -extra-ca | -extra-pkcs12 | -extra-x509 | -extra-verify extra-params
    +
    -extra-req | -extra-ca | -extra-pkcs12 | -extra-x509 | -extra-verify <extra-params>
    -

    For each option extra-cmd, pass extra-params to the openssl(1) -sub-command with the same name as cmd, if that sub-command is invoked. -For example, if openssl-req(1) is invoked, the extra-params given with --extra-req will be passed to it. -Users should consult openssl(1) command documentation for more information.

    +

    The purpose of these parameters is to allow optional parameters to be supplied +to openssl that this command executes. The -extra-cmd are specific to the +option being used and the openssl command getting invoked. For example +when this command invokes openssl req extra parameters can be passed on +with the -extra-req parameter. The +openssl commands being invoked per option are documented below. +Users should consult openssl command documentation for more information.

    I`@s_)%zy3wQxQjjK^l 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%0DXf?AD|lh!W#KU{fw!;m0tsvv;@9vF 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

    @@ -192,7 +194,7 @@ the request and finally create a PKCS#12 file containing it.


    DSA CERTIFICATES

    Although the CA.pl creates RSA CAs and requests it is still possible to -use it with DSA certificates and requests using the openssl-req(1) command +use it with DSA certificates and requests using the req(1) command directly. The following example shows the steps that would typically be taken.

    Create some DSA parameters:

    @@ -203,8 +205,7 @@ directly. The following example shows the steps that would typically be taken.Create the CA directories and files:

      CA.pl -newca
    -

    enter a filename (for example, cacert.pem) when prompted for the CA file -name.

    +

    enter cacert.pem when prompted for the CA file name.

    Create a DSA certificate request and private key (a different set of parameters can optionally be created first):

    @@ -228,26 +229,21 @@ be wrong. In this case the command:

    perl -S CA.pl

    can be used and the OPENSSL_CONF environment variable changed to point to the correct path of the configuration file.

    -

    The script is intended as a simple front end for the openssl(1) program for -use by a beginner. Its behaviour isn't always what is wanted. For more control -over the behaviour of the certificate commands call the openssl(1) command -directly.

    +

    The script is intended as a simple front end for the openssl program for use +by a beginner. Its behaviour isn't always what is wanted. For more control over the +behaviour of the certificate commands call the openssl command directly.


    SEE ALSO

    -

    openssl(1), -openssl-x509(1), -openssl-ca(1), -openssl-req(1), -openssl-pkcs12(1), +

    x509(1), ca(1), req(1), pkcs12(1), config(5)


    COPYRIGHT

    Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man1/asn1parse.html b/linux_amd64/share/doc/openssl/html/man1/asn1parse.html new file mode 100644 index 0000000..1b18248 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/asn1parse.html @@ -0,0 +1,263 @@ + + + + +asn1parse + + + + + + + + +
    +

    + + + +
    +
    + + +

    +

    +
    +

    NAME

    +

    openssl-asn1parse, +asn1parse - ASN.1 parsing tool

    +

    +

    +
    +

    SYNOPSIS

    +

    openssl asn1parse +[-help] +[-inform PEM|DER] +[-in filename] +[-out filename] +[-noout] +[-offset number] +[-length number] +[-i] +[-oid filename] +[-dump] +[-dlimit num] +[-strparse offset] +[-genstr string] +[-genconf file] +[-strictpem] +[-item name]

    +

    +

    +
    +

    DESCRIPTION

    +

    The asn1parse command is a diagnostic utility that can parse ASN.1 +structures. It can also be used to extract data from ASN.1 formatted data.

    +

    +

    +
    +

    OPTIONS

    +
    +
    -help
    + +
    +

    Print out a usage message.

    +
    +
    -inform DER|PEM
    + +
    +

    The input format. DER is binary format and PEM (the default) is base64 +encoded.

    +
    +
    -in filename
    + +
    +

    The input file, default is standard input.

    +
    +
    -out filename
    + +
    +

    Output file to place the DER encoded data into. If this +option is not present then no data will be output. This is most useful when +combined with the -strparse option.

    +
    +
    -noout
    + +
    +

    Don't output the parsed version of the input file.

    +
    +
    -offset number
    + +
    +

    Starting offset to begin parsing, default is start of file.

    +
    +
    -length number
    + +
    +

    Number of bytes to parse, default is until end of file.

    +
    +
    -i
    + +
    +

    Indents the output according to the "depth" of the structures.

    +
    +
    -oid filename
    + +
    +

    A file containing additional OBJECT IDENTIFIERs (OIDs). The format of this +file is described in the NOTES section below.

    +
    +
    -dump
    + +
    +

    Dump unknown data in hex format.

    +
    +
    -dlimit num
    + +
    +

    Like -dump, but only the first num bytes are output.

    +
    +
    -strparse offset
    + +
    +

    Parse the contents octets of the ASN.1 object starting at offset. This +option can be used multiple times to "drill down" into a nested structure.

    +
    +
    -genstr string, -genconf file
    + +
    +

    Generate encoded data based on string, file or both using +ASN1_generate_nconf(3) format. If file only is +present then the string is obtained from the default section using the name +asn1. The encoded data is passed through the ASN1 parser and printed out as +though it came from a file, the contents can thus be examined and written to a +file using the out option.

    +
    +
    -strictpem
    + +
    +

    If this option is used then -inform will be ignored. Without this option any +data in a PEM format input file will be treated as being base64 encoded and +processed whether it has the normal PEM BEGIN and END markers or not. This +option will ignore any data prior to the start of the BEGIN marker, or after an +END marker in a PEM file.

    +
    +
    -item name
    + +
    +

    Attempt to decode and print the data as ASN1_ITEM name. This can be used to +print out the fields of any supported ASN.1 structure if the type is known.

    +
    +
    +

    +

    +

    Output

    +

    The output will typically contain lines like this:

    +
    +  0:d=0  hl=4 l= 681 cons: SEQUENCE
    +

    .....

    +
    +  229:d=3  hl=3 l= 141 prim: BIT STRING
    +  373:d=2  hl=3 l= 162 cons: cont [ 3 ]
    +  376:d=3  hl=3 l= 159 cons: SEQUENCE
    +  379:d=4  hl=2 l=  29 cons: SEQUENCE
    +  381:d=5  hl=2 l=   3 prim: OBJECT            :X509v3 Subject Key Identifier
    +  386:d=5  hl=2 l=  22 prim: OCTET STRING
    +  410:d=4  hl=2 l= 112 cons: SEQUENCE
    +  412:d=5  hl=2 l=   3 prim: OBJECT            :X509v3 Authority Key Identifier
    +  417:d=5  hl=2 l= 105 prim: OCTET STRING
    +  524:d=4  hl=2 l=  12 cons: SEQUENCE
    +

    .....

    +

    This example is part of a self-signed certificate. Each line starts with the +offset in decimal. d=XX specifies the current depth. The depth is increased +within the scope of any SET or SEQUENCE. hl=XX gives the header length +(tag and length octets) of the current type. l=XX gives the length of +the contents octets.

    +

    The -i option can be used to make the output more readable.

    +

    Some knowledge of the ASN.1 structure is needed to interpret the output.

    +

    In this example the BIT STRING at offset 229 is the certificate public key. +The contents octets of this will contain the public key information. This can +be examined using the option -strparse 229 to yield:

    +
    +    0:d=0  hl=3 l= 137 cons: SEQUENCE
    +    3:d=1  hl=3 l= 129 prim: INTEGER           :E5D21E1F5C8D208EA7A2166C7FAF9F6BDF2059669C60876DDB70840F1A5AAFA59699FE471F379F1DD6A487E7D5409AB6A88D4A9746E24B91D8CF55DB3521015460C8EDE44EE8A4189F7A7BE77D6CD3A9AF2696F486855CF58BF0EDF2B4068058C7A947F52548DDF7E15E96B385F86422BEA9064A3EE9E1158A56E4A6F47E5897
    +  135:d=1  hl=2 l=   3 prim: INTEGER           :010001
    +

    +

    +
    +

    NOTES

    +

    If an OID is not part of OpenSSL's internal table it will be represented in +numerical form (for example 1.2.3.4). The file passed to the -oid option +allows additional OIDs to be included. Each line consists of three columns, +the first column is the OID in numerical format and should be followed by white +space. The second column is the "short name" which is a single word followed +by white space. The final column is the rest of the line and is the +"long name". asn1parse displays the long name. Example:

    +

    1.2.3.4 shortName A long name

    +

    +

    +
    +

    EXAMPLES

    +

    Parse a file:

    +
    + openssl asn1parse -in file.pem
    +

    Parse a DER file:

    +
    + openssl asn1parse -inform DER -in file.der
    +

    Generate a simple UTF8String:

    +
    + openssl asn1parse -genstr 'UTF8:Hello World'
    +

    Generate and write out a UTF8String, don't print parsed output:

    +
    + openssl asn1parse -genstr 'UTF8:Hello World' -noout -out utf8.der
    +

    Generate using a config file:

    +
    + openssl asn1parse -genconf asn1.cnf -noout -out asn1.der
    +

    Example config file:

    +
    + asn1=SEQUENCE:seq_sect
    +
    + [seq_sect]
    +
    + field1=BOOL:TRUE
    + field2=EXP:0, UTF8:some random string
    +

    +

    +
    +

    BUGS

    +

    There should be options to change the format of output lines. The output of some +ASN.1 types is not well handled (if at all).

    +

    +

    +
    +

    SEE ALSO

    +

    ASN1_generate_nconf(3)

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man1/c_rehash.html b/linux_amd64/share/doc/openssl/html/man1/c_rehash.html new file mode 120000 index 0000000..bf9fd1c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/c_rehash.html @@ -0,0 +1 @@ +rehash.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man1/ca.html b/linux_amd64/share/doc/openssl/html/man1/ca.html new file mode 100644 index 0000000..5a0ec59 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/ca.html @@ -0,0 +1,860 @@ + + + + +ca + + + + + + + + + + + +

    +

    +
    +

    NAME

    +

    openssl-ca, +ca - sample minimal CA application

    +

    +

    +
    +

    SYNOPSIS

    +

    openssl ca +[-help] +[-verbose] +[-config filename] +[-name section] +[-gencrl] +[-revoke file] +[-valid file] +[-status serial] +[-updatedb] +[-crl_reason reason] +[-crl_hold instruction] +[-crl_compromise time] +[-crl_CA_compromise time] +[-crldays days] +[-crlhours hours] +[-crlexts section] +[-startdate date] +[-enddate date] +[-days arg] +[-md arg] +[-policy arg] +[-keyfile arg] +[-keyform PEM|DER] +[-key arg] +[-passin arg] +[-cert file] +[-selfsign] +[-in file] +[-out file] +[-notext] +[-outdir dir] +[-infiles] +[-spkac file] +[-ss_cert file] +[-preserveDN] +[-noemailDN] +[-batch] +[-msie_hack] +[-extensions section] +[-extfile section] +[-engine id] +[-subj arg] +[-utf8] +[-sigopt nm:v] +[-create_serial] +[-rand_serial] +[-multivalue-rdn] +[-rand file...] +[-writerand file]

    +

    +

    +
    +

    DESCRIPTION

    +

    The ca command is a minimal CA application. It can be used +to sign certificate requests in a variety of forms and generate +CRLs it also maintains a text database of issued certificates +and their status.

    +

    The options descriptions will be divided into each purpose.

    +

    +

    +
    +

    OPTIONS

    +
    +
    -help
    + +
    +

    Print out a usage message.

    +
    +
    -verbose
    + +
    +

    This prints extra details about the operations being performed.

    +
    +
    -config filename
    + +
    +

    Specifies the configuration file to use. +Optional; for a description of the default value, +see openssl(1)/COMMAND SUMMARY.

    +
    +
    -name section
    + +
    +

    Specifies the configuration file section to use (overrides +default_ca in the ca section).

    +
    +
    -in filename
    + +
    +

    An input filename containing a single certificate request to be +signed by the CA.

    +
    +
    -ss_cert filename
    + +
    +

    A single self-signed certificate to be signed by the CA.

    +
    +
    -spkac filename
    + +
    +

    A file containing a single Netscape signed public key and challenge +and additional field values to be signed by the CA. See the SPKAC FORMAT +section for information on the required input and output format.

    +
    +
    -infiles
    + +
    +

    If present this should be the last option, all subsequent arguments +are taken as the names of files containing certificate requests.

    +
    +
    -out filename
    + +
    +

    The output file to output certificates to. The default is standard +output. The certificate details will also be printed out to this +file in PEM format (except that -spkac outputs DER format).

    +
    +
    -outdir directory
    + +
    +

    The directory to output certificates to. The certificate will be +written to a filename consisting of the serial number in hex with +".pem" appended.

    +
    +
    -cert
    + +
    +

    The CA certificate file.

    +
    +
    -keyfile filename
    + +
    +

    The private key to sign requests with.

    +
    +
    -keyform PEM|DER
    + +
    +

    The format of the data in the private key file. +The default is PEM.

    +
    +
    -sigopt nm:v
    + +
    +

    Pass options to the signature algorithm during sign or verify operations. +Names and values of these options are algorithm-specific.

    +
    +
    -key password
    + +
    +

    The password used to encrypt the private key. Since on some +systems the command line arguments are visible (e.g. Unix with +the 'ps' utility) this option should be used with caution.

    +
    +
    -selfsign
    + +
    +

    Indicates the issued certificates are to be signed with the key +the certificate requests were signed with (given with -keyfile). +Certificate requests signed with a different key are ignored. If +-spkac, -ss_cert or -gencrl are given, -selfsign is +ignored.

    +

    A consequence of using -selfsign is that the self-signed +certificate appears among the entries in the certificate database +(see the configuration option database), and uses the same +serial number counter as all other certificates sign with the +self-signed certificate.

    +
    +
    -passin arg
    + +
    +

    The key password source. For more information about the format of arg +see the PASS PHRASE ARGUMENTS section in openssl(1).

    +
    +
    -notext
    + +
    +

    Don't output the text form of a certificate to the output file.

    +
    +
    -startdate date
    + +
    +

    This allows the start date to be explicitly set. The format of the +date is YYMMDDHHMMSSZ (the same as an ASN1 UTCTime structure), or +YYYYMMDDHHMMSSZ (the same as an ASN1 GeneralizedTime structure). In +both formats, seconds SS and timezone Z must be present.

    +
    +
    -enddate date
    + +
    +

    This allows the expiry date to be explicitly set. The format of the +date is YYMMDDHHMMSSZ (the same as an ASN1 UTCTime structure), or +YYYYMMDDHHMMSSZ (the same as an ASN1 GeneralizedTime structure). In +both formats, seconds SS and timezone Z must be present.

    +
    +
    -days arg
    + +
    +

    The number of days to certify the certificate for.

    +
    +
    -md alg
    + +
    +

    The message digest to use. +Any digest supported by the OpenSSL dgst command can be used. For signing +algorithms that do not support a digest (i.e. Ed25519 and Ed448) any message +digest that is set is ignored. This option also applies to CRLs.

    +
    +
    -policy arg
    + +
    +

    This option defines the CA "policy" to use. This is a section in +the configuration file which decides which fields should be mandatory +or match the CA certificate. Check out the POLICY FORMAT section +for more information.

    +
    +
    -msie_hack
    + +
    +

    This is a deprecated option to make ca work with very old versions of +the IE certificate enrollment control "certenr3". It used UniversalStrings +for almost everything. Since the old control has various security bugs +its use is strongly discouraged.

    +
    +
    -preserveDN
    + +
    +

    Normally the DN order of a certificate is the same as the order of the +fields in the relevant policy section. When this option is set the order +is the same as the request. This is largely for compatibility with the +older IE enrollment control which would only accept certificates if their +DNs match the order of the request. This is not needed for Xenroll.

    +
    +
    -noemailDN
    + +
    +

    The DN of a certificate can contain the EMAIL field if present in the +request DN, however it is good policy just having the e-mail set into +the altName extension of the certificate. When this option is set the +EMAIL field is removed from the certificate' subject and set only in +the, eventually present, extensions. The email_in_dn keyword can be +used in the configuration file to enable this behaviour.

    +
    +
    -batch
    + +
    +

    This sets the batch mode. In this mode no questions will be asked +and all certificates will be certified automatically.

    +
    +
    -extensions section
    + +
    +

    The section of the configuration file containing certificate extensions +to be added when a certificate is issued (defaults to x509_extensions +unless the -extfile option is used). If no extension section is +present then, a V1 certificate is created. If the extension section +is present (even if it is empty), then a V3 certificate is created. See the +x509v3_config(5) manual page for details of the +extension section format.

    +
    +
    -extfile file
    + +
    +

    An additional configuration file to read certificate extensions from +(using the default section unless the -extensions option is also +used).

    +
    +
    -engine id
    + +
    +

    Specifying an engine (by its unique id string) will cause ca +to attempt to obtain a functional reference to the specified engine, +thus initialising it if needed. The engine will then be set as the default +for all available algorithms.

    +
    +
    -subj arg
    + +
    +

    Supersedes subject name given in the request. +The arg must be formatted as /type0=value0/type1=value1/type2=.... +Keyword characters may be escaped by \ (backslash), and whitespace is retained. +Empty values are permitted, but the corresponding type will not be included +in the resulting certificate.

    +
    +
    -utf8
    + +
    +

    This option causes field values to be interpreted as UTF8 strings, by +default they are interpreted as ASCII. This means that the field +values, whether prompted from a terminal or obtained from a +configuration file, must be valid UTF8 strings.

    +
    +
    -create_serial
    + +
    +

    If reading serial from the text file as specified in the configuration +fails, specifying this option creates a new random serial to be used as next +serial number. +To get random serial numbers, use the -rand_serial flag instead; this +should only be used for simple error-recovery.

    +
    +
    -rand_serial
    + +
    +

    Generate a large random number to use as the serial number. +This overrides any option or configuration to use a serial number file.

    +
    +
    -multivalue-rdn
    + +
    +

    This option causes the -subj argument to be interpreted with full +support for multivalued RDNs. Example:

    +

    /DC=org/DC=OpenSSL/DC=users/UID=123456+CN=John Doe

    +

    If -multi-rdn is not used then the UID value is 123456+CN=John Doe.

    +
    +
    -rand file...
    + +
    +

    A file or files containing random data used to seed the random number +generator. +Multiple files can be specified separated by an OS-dependent character. +The separator is ; for MS-Windows, , for OpenVMS, and : for +all others.

    +
    +
    [-writerand file]
    + +
    +

    Writes random data to the specified file upon exit. +This can be used with a subsequent -rand flag.

    +
    +
    +

    +

    +
    +

    CRL OPTIONS

    +
    +
    -gencrl
    + +
    +

    This option generates a CRL based on information in the index file.

    +
    +
    -crldays num
    + +
    +

    The number of days before the next CRL is due. That is the days from +now to place in the CRL nextUpdate field.

    +
    +
    -crlhours num
    + +
    +

    The number of hours before the next CRL is due.

    +
    +
    -revoke filename
    + +
    +

    A filename containing a certificate to revoke.

    +
    +
    -valid filename
    + +
    +

    A filename containing a certificate to add a Valid certificate entry.

    +
    +
    -status serial
    + +
    +

    Displays the revocation status of the certificate with the specified +serial number and exits.

    +
    +
    -updatedb
    + +
    +

    Updates the database index to purge expired certificates.

    +
    +
    -crl_reason reason
    + +
    +

    Revocation reason, where reason is one of: unspecified, keyCompromise, +CACompromise, affiliationChanged, superseded, cessationOfOperation, +certificateHold or removeFromCRL. The matching of reason is case +insensitive. Setting any revocation reason will make the CRL v2.

    +

    In practice removeFromCRL is not particularly useful because it is only used +in delta CRLs which are not currently implemented.

    +
    +
    -crl_hold instruction
    + +
    +

    This sets the CRL revocation reason code to certificateHold and the hold +instruction to instruction which must be an OID. Although any OID can be +used only holdInstructionNone (the use of which is discouraged by RFC2459) +holdInstructionCallIssuer or holdInstructionReject will normally be used.

    +
    +
    -crl_compromise time
    + +
    +

    This sets the revocation reason to keyCompromise and the compromise time to +time. time should be in GeneralizedTime format that is YYYYMMDDHHMMSSZ.

    +
    +
    -crl_CA_compromise time
    + +
    +

    This is the same as crl_compromise except the revocation reason is set to +CACompromise.

    +
    +
    -crlexts section
    + +
    +

    The section of the configuration file containing CRL extensions to +include. If no CRL extension section is present then a V1 CRL is +created, if the CRL extension section is present (even if it is +empty) then a V2 CRL is created. The CRL extensions specified are +CRL extensions and not CRL entry extensions. It should be noted +that some software (for example Netscape) can't handle V2 CRLs. See +x509v3_config(5) manual page for details of the +extension section format.

    +
    +
    +

    +

    +
    +

    CONFIGURATION FILE OPTIONS

    +

    The section of the configuration file containing options for ca +is found as follows: If the -name command line option is used, +then it names the section to be used. Otherwise the section to +be used must be named in the default_ca option of the ca section +of the configuration file (or in the default section of the +configuration file). Besides default_ca, the following options are +read directly from the ca section: + RANDFILE + preserve + msie_hack +With the exception of RANDFILE, this is probably a bug and may +change in future releases.

    +

    Many of the configuration file options are identical to command line +options. Where the option is present in the configuration file +and the command line the command line value is used. Where an +option is described as mandatory then it must be present in +the configuration file or the command line equivalent (if +any) used.

    +
    +
    oid_file
    + +
    +

    This specifies a file containing additional OBJECT IDENTIFIERS. +Each line of the file should consist of the numerical form of the +object identifier followed by white space then the short name followed +by white space and finally the long name.

    +
    +
    oid_section
    + +
    +

    This specifies a section in the configuration file containing extra +object identifiers. Each line should consist of the short name of the +object identifier followed by = and the numerical form. The short +and long names are the same when this option is used.

    +
    +
    new_certs_dir
    + +
    +

    The same as the -outdir command line option. It specifies +the directory where new certificates will be placed. Mandatory.

    +
    +
    certificate
    + +
    +

    The same as -cert. It gives the file containing the CA +certificate. Mandatory.

    +
    +
    private_key
    + +
    +

    Same as the -keyfile option. The file containing the +CA private key. Mandatory.

    +
    +
    RANDFILE
    + +
    +

    At startup the specified file is loaded into the random number generator, +and at exit 256 bytes will be written to it.

    +
    +
    default_days
    + +
    +

    The same as the -days option. The number of days to certify +a certificate for.

    +
    +
    default_startdate
    + +
    +

    The same as the -startdate option. The start date to certify +a certificate for. If not set the current time is used.

    +
    +
    default_enddate
    + +
    +

    The same as the -enddate option. Either this option or +default_days (or the command line equivalents) must be +present.

    +
    +
    default_crl_hours default_crl_days
    + +
    +

    The same as the -crlhours and the -crldays options. These +will only be used if neither command line option is present. At +least one of these must be present to generate a CRL.

    +
    +
    default_md
    + +
    +

    The same as the -md option. Mandatory except where the signing algorithm does +not require a digest (i.e. Ed25519 and Ed448).

    +
    +
    database
    + +
    +

    The text database file to use. Mandatory. This file must be present +though initially it will be empty.

    +
    +
    unique_subject
    + +
    +

    If the value yes is given, the valid certificate entries in the +database must have unique subjects. if the value no is given, +several valid certificate entries may have the exact same subject. +The default value is yes, to be compatible with older (pre 0.9.8) +versions of OpenSSL. However, to make CA certificate roll-over easier, +it's recommended to use the value no, especially if combined with +the -selfsign command line option.

    +

    Note that it is valid in some circumstances for certificates to be created +without any subject. In the case where there are multiple certificates without +subjects this does not count as a duplicate.

    +
    +
    serial
    + +
    +

    A text file containing the next serial number to use in hex. Mandatory. +This file must be present and contain a valid serial number.

    +
    +
    crlnumber
    + +
    +

    A text file containing the next CRL number to use in hex. The crl number +will be inserted in the CRLs only if this file exists. If this file is +present, it must contain a valid CRL number.

    +
    +
    x509_extensions
    + +
    +

    The same as -extensions.

    +
    +
    crl_extensions
    + +
    +

    The same as -crlexts.

    +
    +
    preserve
    + +
    +

    The same as -preserveDN

    +
    +
    email_in_dn
    + +
    +

    The same as -noemailDN. If you want the EMAIL field to be removed +from the DN of the certificate simply set this to 'no'. If not present +the default is to allow for the EMAIL filed in the certificate's DN.

    +
    +
    msie_hack
    + +
    +

    The same as -msie_hack

    +
    +
    policy
    + +
    +

    The same as -policy. Mandatory. See the POLICY FORMAT section +for more information.

    +
    +
    name_opt, cert_opt
    + +
    +

    These options allow the format used to display the certificate details +when asking the user to confirm signing. All the options supported by +the x509 utilities -nameopt and -certopt switches can be used +here, except the no_signame and no_sigdump are permanently set +and cannot be disabled (this is because the certificate signature cannot +be displayed because the certificate has not been signed at this point).

    +

    For convenience the values ca_default are accepted by both to produce +a reasonable output.

    +

    If neither option is present the format used in earlier versions of +OpenSSL is used. Use of the old format is strongly discouraged because +it only displays fields mentioned in the policy section, mishandles +multicharacter string types and does not display extensions.

    +
    +
    copy_extensions
    + +
    +

    Determines how extensions in certificate requests should be handled. +If set to none or this option is not present then extensions are +ignored and not copied to the certificate. If set to copy then any +extensions present in the request that are not already present are copied +to the certificate. If set to copyall then all extensions in the +request are copied to the certificate: if the extension is already present +in the certificate it is deleted first. See the WARNINGS section before +using this option.

    +

    The main use of this option is to allow a certificate request to supply +values for certain extensions such as subjectAltName.

    +
    +
    +

    +

    +
    +

    POLICY FORMAT

    +

    The policy section consists of a set of variables corresponding to +certificate DN fields. If the value is "match" then the field value +must match the same field in the CA certificate. If the value is +"supplied" then it must be present. If the value is "optional" then +it may be present. Any fields not mentioned in the policy section +are silently deleted, unless the -preserveDN option is set but +this can be regarded more of a quirk than intended behaviour.

    +

    +

    +
    +

    SPKAC FORMAT

    +

    The input to the -spkac command line option is a Netscape +signed public key and challenge. This will usually come from +the KEYGEN tag in an HTML form to create a new private key. +It is however possible to create SPKACs using the spkac utility.

    +

    The file should contain the variable SPKAC set to the value of +the SPKAC and also the required DN components as name value pairs. +If you need to include the same component twice then it can be +preceded by a number and a '.'.

    +

    When processing SPKAC format, the output is DER if the -out +flag is used, but PEM format if sending to stdout or the -outdir +flag is used.

    +

    +

    +
    +

    EXAMPLES

    +

    Note: these examples assume that the ca directory structure is +already set up and the relevant files already exist. This usually +involves creating a CA certificate and private key with req, a +serial number file and an empty index file and placing them in +the relevant directories.

    +

    To use the sample configuration file below the directories demoCA, +demoCA/private and demoCA/newcerts would be created. The CA +certificate would be copied to demoCA/cacert.pem and its private +key to demoCA/private/cakey.pem. A file demoCA/serial would be +created containing for example "01" and the empty index file +demoCA/index.txt.

    +

    Sign a certificate request:

    +
    + openssl ca -in req.pem -out newcert.pem
    +

    Sign a certificate request, using CA extensions:

    +
    + openssl ca -in req.pem -extensions v3_ca -out newcert.pem
    +

    Generate a CRL

    +
    + openssl ca -gencrl -out crl.pem
    +

    Sign several requests:

    +
    + openssl ca -infiles req1.pem req2.pem req3.pem
    +

    Certify a Netscape SPKAC:

    +
    + openssl ca -spkac spkac.txt
    +

    A sample SPKAC file (the SPKAC line has been truncated for clarity):

    +
    + SPKAC=MIG0MGAwXDANBgkqhkiG9w0BAQEFAANLADBIAkEAn7PDhCeV/xIxUg8V70YRxK2A5
    + CN=Steve Test
    + emailAddress=steve@openssl.org
    + 0.OU=OpenSSL Group
    + 1.OU=Another Group
    +

    A sample configuration file with the relevant sections for ca:

    +
    + [ ca ]
    + default_ca      = CA_default            # The default ca section
    +
    + [ CA_default ]
    +
    + dir            = ./demoCA              # top dir
    + database       = $dir/index.txt        # index file.
    + new_certs_dir  = $dir/newcerts         # new certs dir
    +
    + certificate    = $dir/cacert.pem       # The CA cert
    + serial         = $dir/serial           # serial no file
    + #rand_serial    = yes                  # for random serial#'s
    + private_key    = $dir/private/cakey.pem# CA private key
    + RANDFILE       = $dir/private/.rand    # random number file
    +
    + default_days   = 365                   # how long to certify for
    + default_crl_days= 30                   # how long before next CRL
    + default_md     = md5                   # md to use
    +
    + policy         = policy_any            # default policy
    + email_in_dn    = no                    # Don't add the email into cert DN
    +
    + name_opt       = ca_default            # Subject name display option
    + cert_opt       = ca_default            # Certificate display option
    + copy_extensions = none                 # Don't copy extensions from request
    +
    + [ policy_any ]
    + countryName            = supplied
    + stateOrProvinceName    = optional
    + organizationName       = optional
    + organizationalUnitName = optional
    + commonName             = supplied
    + emailAddress           = optional
    +

    +

    +
    +

    FILES

    +

    Note: the location of all files can change either by compile time options, +configuration file entries, environment variables or command line options. +The values below reflect the default values.

    +
    + /usr/local/ssl/lib/openssl.cnf - master configuration file
    + ./demoCA                       - main CA directory
    + ./demoCA/cacert.pem            - CA certificate
    + ./demoCA/private/cakey.pem     - CA private key
    + ./demoCA/serial                - CA serial number file
    + ./demoCA/serial.old            - CA serial number backup file
    + ./demoCA/index.txt             - CA text database file
    + ./demoCA/index.txt.old         - CA text database backup file
    + ./demoCA/certs                 - certificate output file
    + ./demoCA/.rnd                  - CA random seed information
    +

    +

    +
    +

    RESTRICTIONS

    +

    The text database index file is a critical part of the process and +if corrupted it can be difficult to fix. It is theoretically possible +to rebuild the index file from all the issued certificates and a current +CRL: however there is no option to do this.

    +

    V2 CRL features like delta CRLs are not currently supported.

    +

    Although several requests can be input and handled at once it is only +possible to include one SPKAC or self-signed certificate.

    +

    +

    +
    +

    BUGS

    +

    The use of an in-memory text database can cause problems when large +numbers of certificates are present because, as the name implies +the database has to be kept in memory.

    +

    The ca command really needs rewriting or the required functionality +exposed at either a command or interface level so a more friendly utility +(perl script or GUI) can handle things properly. The script +CA.pl helps a little but not very much.

    +

    Any fields in a request that are not present in a policy are silently +deleted. This does not happen if the -preserveDN option is used. To +enforce the absence of the EMAIL field within the DN, as suggested by +RFCs, regardless the contents of the request' subject the -noemailDN +option can be used. The behaviour should be more friendly and +configurable.

    +

    Canceling some commands by refusing to certify a certificate can +create an empty file.

    +

    +

    +
    +

    WARNINGS

    +

    The ca command is quirky and at times downright unfriendly.

    +

    The ca utility was originally meant as an example of how to do things +in a CA. It was not supposed to be used as a full blown CA itself: +nevertheless some people are using it for this purpose.

    +

    The ca command is effectively a single user command: no locking is +done on the various files and attempts to run more than one ca command +on the same database can have unpredictable results.

    +

    The copy_extensions option should be used with caution. If care is +not taken then it can be a security risk. For example if a certificate +request contains a basicConstraints extension with CA:TRUE and the +copy_extensions value is set to copyall and the user does not spot +this when the certificate is displayed then this will hand the requester +a valid CA certificate.

    +

    This situation can be avoided by setting copy_extensions to copy +and including basicConstraints with CA:FALSE in the configuration file. +Then if the request contains a basicConstraints extension it will be +ignored.

    +

    It is advisable to also include values for other extensions such +as keyUsage to prevent a request supplying its own values.

    +

    Additional restrictions can be placed on the CA certificate itself. +For example if the CA certificate has:

    +
    + basicConstraints = CA:TRUE, pathlen:0
    +

    then even if a certificate is issued with CA:TRUE it will not be valid.

    +

    +

    +
    +

    HISTORY

    +

    Since OpenSSL 1.1.1, the program follows RFC5280. Specifically, +certificate validity period (specified by any of -startdate, +-enddate and -days) will be encoded as UTCTime if the dates are +earlier than year 2049 (included), and as GeneralizedTime if the dates +are in year 2050 or later.

    +

    +

    +
    +

    SEE ALSO

    +

    req(1), spkac(1), x509(1), CA.pl(1), +config(5), x509v3_config(5)

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man1/ciphers.html b/linux_amd64/share/doc/openssl/html/man1/ciphers.html new file mode 100644 index 0000000..57f9a14 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/ciphers.html @@ -0,0 +1,879 @@ + + + + +ciphers + + + + + + + + +
    +

    + + + +
    +
    + + +

    +

    +
    +

    NAME

    +

    openssl-ciphers, +ciphers - SSL cipher display and cipher list tool

    +

    +

    +
    +

    SYNOPSIS

    +

    openssl ciphers +[-help] +[-s] +[-v] +[-V] +[-ssl3] +[-tls1] +[-tls1_1] +[-tls1_2] +[-tls1_3] +[-s] +[-psk] +[-srp] +[-stdname] +[-convert name] +[-ciphersuites val] +[cipherlist]

    +

    +

    +
    +

    DESCRIPTION

    +

    The ciphers command converts textual OpenSSL cipher lists into ordered +SSL cipher preference lists. It can be used as a test tool to determine +the appropriate cipherlist.

    +

    +

    +
    +

    OPTIONS

    +
    +
    -help
    + +
    +

    Print a usage message.

    +
    +
    -s
    + +
    +

    Only list supported ciphers: those consistent with the security level, and +minimum and maximum protocol version. This is closer to the actual cipher list +an application will support.

    +

    PSK and SRP ciphers are not enabled by default: they require -psk or -srp +to enable them.

    +

    It also does not change the default list of supported signature algorithms.

    +

    On a server the list of supported ciphers might also exclude other ciphers +depending on the configured certificates and presence of DH parameters.

    +

    If this option is not used then all ciphers that match the cipherlist will be +listed.

    +
    +
    -psk
    + +
    +

    When combined with -s includes cipher suites which require PSK.

    +
    +
    -srp
    + +
    +

    When combined with -s includes cipher suites which require SRP.

    +
    +
    -v
    + +
    +

    Verbose output: For each cipher suite, list details as provided by +SSL_CIPHER_description(3).

    +
    +
    -V
    + +
    +

    Like -v, but include the official cipher suite values in hex.

    +
    +
    -tls1_3, -tls1_2, -tls1_1, -tls1, -ssl3
    + +
    +

    In combination with the -s option, list the ciphers which could be used if +the specified protocol were negotiated. +Note that not all protocols and flags may be available, depending on how +OpenSSL was built.

    +
    +
    -stdname
    + +
    +

    Precede each cipher suite by its standard name.

    +
    +
    -convert name
    + +
    +

    Convert a standard cipher name to its OpenSSL name.

    +
    +
    -ciphersuites val
    + +
    +

    Sets the list of TLSv1.3 ciphersuites. This list will be combined with any +TLSv1.2 and below ciphersuites that have been configured. The format for this +list is a simple colon (":") separated list of TLSv1.3 ciphersuite names. By +default this value is:

    +
    + TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256
    +
    +
    cipherlist
    + +
    +

    A cipher list of TLSv1.2 and below ciphersuites to convert to a cipher +preference list. This list will be combined with any TLSv1.3 ciphersuites that +have been configured. If it is not included then the default cipher list will be +used. The format is described below.

    +
    +
    +

    +

    +
    +

    CIPHER LIST FORMAT

    +

    The cipher list consists of one or more cipher strings separated by colons. +Commas or spaces are also acceptable separators but colons are normally used.

    +

    The actual cipher string can take several different forms.

    +

    It can consist of a single cipher suite such as RC4-SHA.

    +

    It can represent a list of cipher suites containing a certain algorithm, or +cipher suites of a certain type. For example SHA1 represents all ciphers +suites using the digest algorithm SHA1 and SSLv3 represents all SSL v3 +algorithms.

    +

    Lists of cipher suites can be combined in a single cipher string using the ++ character. This is used as a logical and operation. For example +SHA1+DES represents all cipher suites containing the SHA1 and the DES +algorithms.

    +

    Each cipher string can be optionally preceded by the characters !, +- or +.

    +

    If ! is used then the ciphers are permanently deleted from the list. +The ciphers deleted can never reappear in the list even if they are +explicitly stated.

    +

    If - is used then the ciphers are deleted from the list, but some or +all of the ciphers can be added again by later options.

    +

    If + is used then the ciphers are moved to the end of the list. This +option doesn't add any new ciphers it just moves matching existing ones.

    +

    If none of these characters is present then the string is just interpreted +as a list of ciphers to be appended to the current preference list. If the +list includes any ciphers already present they will be ignored: that is they +will not moved to the end of the list.

    +

    The cipher string @STRENGTH can be used at any point to sort the current +cipher list in order of encryption algorithm key length.

    +

    The cipher string @SECLEVEL=n can be used at any point to set the security +level to n, which should be a number between zero and five, inclusive. +See the SSL_CTX_set_security_level manpage for a description of what each level means.

    +

    The cipher list can be prefixed with the DEFAULT keyword, which enables +the default cipher list as defined below. Unlike cipher strings, +this prefix may not be combined with other strings using + character. +For example, DEFAULT+DES is not valid.

    +

    The content of the default list is determined at compile time and normally +corresponds to ALL:!COMPLEMENTOFDEFAULT:!eNULL.

    +

    +

    +
    +

    CIPHER STRINGS

    +

    The following is a list of all permitted cipher strings and their meanings.

    +
    +
    COMPLEMENTOFDEFAULT
    + +
    +

    The ciphers included in ALL, but not enabled by default. Currently +this includes all RC4 and anonymous ciphers. Note that this rule does +not cover eNULL, which is not included by ALL (use COMPLEMENTOFALL if +necessary). Note that RC4 based cipher suites are not built into OpenSSL by +default (see the enable-weak-ssl-ciphers option to Configure).

    +
    +
    ALL
    + +
    +

    All cipher suites except the eNULL ciphers (which must be explicitly enabled +if needed). +As of OpenSSL 1.0.0, the ALL cipher suites are sensibly ordered by default.

    +
    +
    COMPLEMENTOFALL
    + +
    +

    The cipher suites not enabled by ALL, currently eNULL.

    +
    +
    HIGH
    + +
    +

    "High" encryption cipher suites. This currently means those with key lengths +larger than 128 bits, and some cipher suites with 128-bit keys.

    +
    +
    MEDIUM
    + +
    +

    "Medium" encryption cipher suites, currently some of those using 128 bit +encryption.

    +
    +
    LOW
    + +
    +

    "Low" encryption cipher suites, currently those using 64 or 56 bit +encryption algorithms but excluding export cipher suites. All these +cipher suites have been removed as of OpenSSL 1.1.0.

    +
    +
    eNULL, NULL
    + +
    +

    The "NULL" ciphers that is those offering no encryption. Because these offer no +encryption at all and are a security risk they are not enabled via either the +DEFAULT or ALL cipher strings. +Be careful when building cipherlists out of lower-level primitives such as +kRSA or aECDSA as these do overlap with the eNULL ciphers. When in +doubt, include !eNULL in your cipherlist.

    +
    +
    aNULL
    + +
    +

    The cipher suites offering no authentication. This is currently the anonymous +DH algorithms and anonymous ECDH algorithms. These cipher suites are vulnerable +to "man in the middle" attacks and so their use is discouraged. +These are excluded from the DEFAULT ciphers, but included in the ALL +ciphers. +Be careful when building cipherlists out of lower-level primitives such as +kDHE or AES as these do overlap with the aNULL ciphers. +When in doubt, include !aNULL in your cipherlist.

    +
    +
    kRSA, aRSA, RSA
    + +
    +

    Cipher suites using RSA key exchange or authentication. RSA is an alias for +kRSA.

    +
    +
    kDHr, kDHd, kDH
    + +
    +

    Cipher suites using static DH key agreement and DH certificates signed by CAs +with RSA and DSS keys or either respectively. +All these cipher suites have been removed in OpenSSL 1.1.0.

    +
    +
    kDHE, kEDH, DH
    + +
    +

    Cipher suites using ephemeral DH key agreement, including anonymous cipher +suites.

    +
    +
    DHE, EDH
    + +
    +

    Cipher suites using authenticated ephemeral DH key agreement.

    +
    +
    ADH
    + +
    +

    Anonymous DH cipher suites, note that this does not include anonymous Elliptic +Curve DH (ECDH) cipher suites.

    +
    +
    kEECDH, kECDHE, ECDH
    + +
    +

    Cipher suites using ephemeral ECDH key agreement, including anonymous +cipher suites.

    +
    +
    ECDHE, EECDH
    + +
    +

    Cipher suites using authenticated ephemeral ECDH key agreement.

    +
    +
    AECDH
    + +
    +

    Anonymous Elliptic Curve Diffie-Hellman cipher suites.

    +
    +
    aDSS, DSS
    + +
    +

    Cipher suites using DSS authentication, i.e. the certificates carry DSS keys.

    +
    +
    aDH
    + +
    +

    Cipher suites effectively using DH authentication, i.e. the certificates carry +DH keys. +All these cipher suites have been removed in OpenSSL 1.1.0.

    +
    +
    aECDSA, ECDSA
    + +
    +

    Cipher suites using ECDSA authentication, i.e. the certificates carry ECDSA +keys.

    +
    +
    TLSv1.2, TLSv1.0, SSLv3
    + +
    +

    Lists cipher suites which are only supported in at least TLS v1.2, TLS v1.0 or +SSL v3.0 respectively. +Note: there are no cipher suites specific to TLS v1.1. +Since this is only the minimum version, if, for example, TLSv1.0 is negotiated +then both TLSv1.0 and SSLv3.0 cipher suites are available.

    +

    Note: these cipher strings do not change the negotiated version of SSL or +TLS, they only affect the list of available cipher suites.

    +
    +
    AES128, AES256, AES
    + +
    +

    cipher suites using 128 bit AES, 256 bit AES or either 128 or 256 bit AES.

    +
    +
    AESGCM
    + +
    +

    AES in Galois Counter Mode (GCM): these cipher suites are only supported +in TLS v1.2.

    +
    +
    AESCCM, AESCCM8
    + +
    +

    AES in Cipher Block Chaining - Message Authentication Mode (CCM): these +cipher suites are only supported in TLS v1.2. AESCCM references CCM +cipher suites using both 16 and 8 octet Integrity Check Value (ICV) +while AESCCM8 only references 8 octet ICV.

    +
    +
    ARIA128, ARIA256, ARIA
    + +
    +

    Cipher suites using 128 bit ARIA, 256 bit ARIA or either 128 or 256 bit +ARIA.

    +
    +
    CAMELLIA128, CAMELLIA256, CAMELLIA
    + +
    +

    Cipher suites using 128 bit CAMELLIA, 256 bit CAMELLIA or either 128 or 256 bit +CAMELLIA.

    +
    +
    CHACHA20
    + +
    +

    Cipher suites using ChaCha20.

    + +
  1. 3DES + +

    Cipher suites using triple DES.

    +
  2. +
    DES
    + +
    +

    Cipher suites using DES (not triple DES). +All these cipher suites have been removed in OpenSSL 1.1.0.

    +
    +
    RC4
    + +
    +

    Cipher suites using RC4.

    +
    +
    RC2
    + +
    +

    Cipher suites using RC2.

    +
    +
    IDEA
    + +
    +

    Cipher suites using IDEA.

    +
    +
    SEED
    + +
    +

    Cipher suites using SEED.

    +
    +
    MD5
    + +
    +

    Cipher suites using MD5.

    +
    +
    SHA1, SHA
    + +
    +

    Cipher suites using SHA1.

    +
    +
    SHA256, SHA384
    + +
    +

    Cipher suites using SHA256 or SHA384.

    +
    +
    aGOST
    + +
    +

    Cipher suites using GOST R 34.10 (either 2001 or 94) for authentication +(needs an engine supporting GOST algorithms).

    +
    +
    aGOST01
    + +
    +

    Cipher suites using GOST R 34.10-2001 authentication.

    +
    +
    kGOST
    + +
    +

    Cipher suites, using VKO 34.10 key exchange, specified in the RFC 4357.

    +
    +
    GOST94
    + +
    +

    Cipher suites, using HMAC based on GOST R 34.11-94.

    +
    +
    GOST89MAC
    + +
    +

    Cipher suites using GOST 28147-89 MAC instead of HMAC.

    +
    +
    PSK
    + +
    +

    All cipher suites using pre-shared keys (PSK).

    +
    +
    kPSK, kECDHEPSK, kDHEPSK, kRSAPSK
    + +
    +

    Cipher suites using PSK key exchange, ECDHE_PSK, DHE_PSK or RSA_PSK.

    +
    +
    aPSK
    + +
    +

    Cipher suites using PSK authentication (currently all PSK modes apart from +RSA_PSK).

    +
    +
    SUITEB128, SUITEB128ONLY, SUITEB192
    + +
    +

    Enables suite B mode of operation using 128 (permitting 192 bit mode by peer) +128 bit (not permitting 192 bit by peer) or 192 bit level of security +respectively. +If used these cipherstrings should appear first in the cipher +list and anything after them is ignored. +Setting Suite B mode has additional consequences required to comply with +RFC6460. +In particular the supported signature algorithms is reduced to support only +ECDSA and SHA256 or SHA384, only the elliptic curves P-256 and P-384 can be +used and only the two suite B compliant cipher suites +(ECDHE-ECDSA-AES128-GCM-SHA256 and ECDHE-ECDSA-AES256-GCM-SHA384) are +permissible.

    +
    +
    +

    +

    +
    +

    CIPHER SUITE NAMES

    +

    The following lists give the SSL or TLS cipher suites names from the +relevant specification and their OpenSSL equivalents. It should be noted, +that several cipher suite names do not include the authentication used, +e.g. DES-CBC3-SHA. In these cases, RSA authentication is used.

    +

    +

    +

    SSL v3.0 cipher suites

    +
    + SSL_RSA_WITH_NULL_MD5                   NULL-MD5
    + SSL_RSA_WITH_NULL_SHA                   NULL-SHA
    + SSL_RSA_WITH_RC4_128_MD5                RC4-MD5
    + SSL_RSA_WITH_RC4_128_SHA                RC4-SHA
    + SSL_RSA_WITH_IDEA_CBC_SHA               IDEA-CBC-SHA
    + SSL_RSA_WITH_3DES_EDE_CBC_SHA           DES-CBC3-SHA
    +
    + SSL_DH_DSS_WITH_3DES_EDE_CBC_SHA        DH-DSS-DES-CBC3-SHA
    + SSL_DH_RSA_WITH_3DES_EDE_CBC_SHA        DH-RSA-DES-CBC3-SHA
    + SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA       DHE-DSS-DES-CBC3-SHA
    + SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA       DHE-RSA-DES-CBC3-SHA
    +
    + SSL_DH_anon_WITH_RC4_128_MD5            ADH-RC4-MD5
    + SSL_DH_anon_WITH_3DES_EDE_CBC_SHA       ADH-DES-CBC3-SHA
    +
    + SSL_FORTEZZA_KEA_WITH_NULL_SHA          Not implemented.
    + SSL_FORTEZZA_KEA_WITH_FORTEZZA_CBC_SHA  Not implemented.
    + SSL_FORTEZZA_KEA_WITH_RC4_128_SHA       Not implemented.
    +

    +

    +

    TLS v1.0 cipher suites

    +
    + TLS_RSA_WITH_NULL_MD5                   NULL-MD5
    + TLS_RSA_WITH_NULL_SHA                   NULL-SHA
    + TLS_RSA_WITH_RC4_128_MD5                RC4-MD5
    + TLS_RSA_WITH_RC4_128_SHA                RC4-SHA
    + TLS_RSA_WITH_IDEA_CBC_SHA               IDEA-CBC-SHA
    + TLS_RSA_WITH_3DES_EDE_CBC_SHA           DES-CBC3-SHA
    +
    + TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA        Not implemented.
    + TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA        Not implemented.
    + TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA       DHE-DSS-DES-CBC3-SHA
    + TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA       DHE-RSA-DES-CBC3-SHA
    +
    + TLS_DH_anon_WITH_RC4_128_MD5            ADH-RC4-MD5
    + TLS_DH_anon_WITH_3DES_EDE_CBC_SHA       ADH-DES-CBC3-SHA
    +

    +

    +

    AES cipher suites from RFC3268, extending TLS v1.0

    +
    + TLS_RSA_WITH_AES_128_CBC_SHA            AES128-SHA
    + TLS_RSA_WITH_AES_256_CBC_SHA            AES256-SHA
    +
    + TLS_DH_DSS_WITH_AES_128_CBC_SHA         DH-DSS-AES128-SHA
    + TLS_DH_DSS_WITH_AES_256_CBC_SHA         DH-DSS-AES256-SHA
    + TLS_DH_RSA_WITH_AES_128_CBC_SHA         DH-RSA-AES128-SHA
    + TLS_DH_RSA_WITH_AES_256_CBC_SHA         DH-RSA-AES256-SHA
    +
    + TLS_DHE_DSS_WITH_AES_128_CBC_SHA        DHE-DSS-AES128-SHA
    + TLS_DHE_DSS_WITH_AES_256_CBC_SHA        DHE-DSS-AES256-SHA
    + TLS_DHE_RSA_WITH_AES_128_CBC_SHA        DHE-RSA-AES128-SHA
    + TLS_DHE_RSA_WITH_AES_256_CBC_SHA        DHE-RSA-AES256-SHA
    +
    + TLS_DH_anon_WITH_AES_128_CBC_SHA        ADH-AES128-SHA
    + TLS_DH_anon_WITH_AES_256_CBC_SHA        ADH-AES256-SHA
    +

    +

    +

    Camellia cipher suites from RFC4132, extending TLS v1.0

    +
    + TLS_RSA_WITH_CAMELLIA_128_CBC_SHA      CAMELLIA128-SHA
    + TLS_RSA_WITH_CAMELLIA_256_CBC_SHA      CAMELLIA256-SHA
    +
    + TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA   DH-DSS-CAMELLIA128-SHA
    + TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA   DH-DSS-CAMELLIA256-SHA
    + TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA   DH-RSA-CAMELLIA128-SHA
    + TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA   DH-RSA-CAMELLIA256-SHA
    +
    + TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA  DHE-DSS-CAMELLIA128-SHA
    + TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA  DHE-DSS-CAMELLIA256-SHA
    + TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA  DHE-RSA-CAMELLIA128-SHA
    + TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA  DHE-RSA-CAMELLIA256-SHA
    +
    + TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA  ADH-CAMELLIA128-SHA
    + TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA  ADH-CAMELLIA256-SHA
    +

    +

    +

    SEED cipher suites from RFC4162, extending TLS v1.0

    +
    + TLS_RSA_WITH_SEED_CBC_SHA              SEED-SHA
    +
    + TLS_DH_DSS_WITH_SEED_CBC_SHA           DH-DSS-SEED-SHA
    + TLS_DH_RSA_WITH_SEED_CBC_SHA           DH-RSA-SEED-SHA
    +
    + TLS_DHE_DSS_WITH_SEED_CBC_SHA          DHE-DSS-SEED-SHA
    + TLS_DHE_RSA_WITH_SEED_CBC_SHA          DHE-RSA-SEED-SHA
    +
    + TLS_DH_anon_WITH_SEED_CBC_SHA          ADH-SEED-SHA
    +

    +

    +

    GOST cipher suites from draft-chudov-cryptopro-cptls, extending TLS v1.0

    +

    Note: these ciphers require an engine which including GOST cryptographic +algorithms, such as the ccgost engine, included in the OpenSSL distribution.

    +
    + TLS_GOSTR341094_WITH_28147_CNT_IMIT GOST94-GOST89-GOST89
    + TLS_GOSTR341001_WITH_28147_CNT_IMIT GOST2001-GOST89-GOST89
    + TLS_GOSTR341094_WITH_NULL_GOSTR3411 GOST94-NULL-GOST94
    + TLS_GOSTR341001_WITH_NULL_GOSTR3411 GOST2001-NULL-GOST94
    +

    +

    +

    Additional Export 1024 and other cipher suites

    +

    Note: these ciphers can also be used in SSL v3.

    +
    + TLS_DHE_DSS_WITH_RC4_128_SHA            DHE-DSS-RC4-SHA
    +

    +

    +

    Elliptic curve cipher suites.

    +
    + TLS_ECDHE_RSA_WITH_NULL_SHA             ECDHE-RSA-NULL-SHA
    + TLS_ECDHE_RSA_WITH_RC4_128_SHA          ECDHE-RSA-RC4-SHA
    + TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA     ECDHE-RSA-DES-CBC3-SHA
    + TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA      ECDHE-RSA-AES128-SHA
    + TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA      ECDHE-RSA-AES256-SHA
    +
    + TLS_ECDHE_ECDSA_WITH_NULL_SHA           ECDHE-ECDSA-NULL-SHA
    + TLS_ECDHE_ECDSA_WITH_RC4_128_SHA        ECDHE-ECDSA-RC4-SHA
    + TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA   ECDHE-ECDSA-DES-CBC3-SHA
    + TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA    ECDHE-ECDSA-AES128-SHA
    + TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA    ECDHE-ECDSA-AES256-SHA
    +
    + TLS_ECDH_anon_WITH_NULL_SHA             AECDH-NULL-SHA
    + TLS_ECDH_anon_WITH_RC4_128_SHA          AECDH-RC4-SHA
    + TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA     AECDH-DES-CBC3-SHA
    + TLS_ECDH_anon_WITH_AES_128_CBC_SHA      AECDH-AES128-SHA
    + TLS_ECDH_anon_WITH_AES_256_CBC_SHA      AECDH-AES256-SHA
    +

    +

    +

    TLS v1.2 cipher suites

    +
    + TLS_RSA_WITH_NULL_SHA256                  NULL-SHA256
    +
    + TLS_RSA_WITH_AES_128_CBC_SHA256           AES128-SHA256
    + TLS_RSA_WITH_AES_256_CBC_SHA256           AES256-SHA256
    + TLS_RSA_WITH_AES_128_GCM_SHA256           AES128-GCM-SHA256
    + TLS_RSA_WITH_AES_256_GCM_SHA384           AES256-GCM-SHA384
    +
    + TLS_DH_RSA_WITH_AES_128_CBC_SHA256        DH-RSA-AES128-SHA256
    + TLS_DH_RSA_WITH_AES_256_CBC_SHA256        DH-RSA-AES256-SHA256
    + TLS_DH_RSA_WITH_AES_128_GCM_SHA256        DH-RSA-AES128-GCM-SHA256
    + TLS_DH_RSA_WITH_AES_256_GCM_SHA384        DH-RSA-AES256-GCM-SHA384
    +
    + TLS_DH_DSS_WITH_AES_128_CBC_SHA256        DH-DSS-AES128-SHA256
    + TLS_DH_DSS_WITH_AES_256_CBC_SHA256        DH-DSS-AES256-SHA256
    + TLS_DH_DSS_WITH_AES_128_GCM_SHA256        DH-DSS-AES128-GCM-SHA256
    + TLS_DH_DSS_WITH_AES_256_GCM_SHA384        DH-DSS-AES256-GCM-SHA384
    +
    + TLS_DHE_RSA_WITH_AES_128_CBC_SHA256       DHE-RSA-AES128-SHA256
    + TLS_DHE_RSA_WITH_AES_256_CBC_SHA256       DHE-RSA-AES256-SHA256
    + TLS_DHE_RSA_WITH_AES_128_GCM_SHA256       DHE-RSA-AES128-GCM-SHA256
    + TLS_DHE_RSA_WITH_AES_256_GCM_SHA384       DHE-RSA-AES256-GCM-SHA384
    +
    + TLS_DHE_DSS_WITH_AES_128_CBC_SHA256       DHE-DSS-AES128-SHA256
    + TLS_DHE_DSS_WITH_AES_256_CBC_SHA256       DHE-DSS-AES256-SHA256
    + TLS_DHE_DSS_WITH_AES_128_GCM_SHA256       DHE-DSS-AES128-GCM-SHA256
    + TLS_DHE_DSS_WITH_AES_256_GCM_SHA384       DHE-DSS-AES256-GCM-SHA384
    +
    + TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256     ECDHE-RSA-AES128-SHA256
    + TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384     ECDHE-RSA-AES256-SHA384
    + TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256     ECDHE-RSA-AES128-GCM-SHA256
    + TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384     ECDHE-RSA-AES256-GCM-SHA384
    +
    + TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256   ECDHE-ECDSA-AES128-SHA256
    + TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384   ECDHE-ECDSA-AES256-SHA384
    + TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256   ECDHE-ECDSA-AES128-GCM-SHA256
    + TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384   ECDHE-ECDSA-AES256-GCM-SHA384
    +
    + TLS_DH_anon_WITH_AES_128_CBC_SHA256       ADH-AES128-SHA256
    + TLS_DH_anon_WITH_AES_256_CBC_SHA256       ADH-AES256-SHA256
    + TLS_DH_anon_WITH_AES_128_GCM_SHA256       ADH-AES128-GCM-SHA256
    + TLS_DH_anon_WITH_AES_256_GCM_SHA384       ADH-AES256-GCM-SHA384
    +
    + RSA_WITH_AES_128_CCM                      AES128-CCM
    + RSA_WITH_AES_256_CCM                      AES256-CCM
    + DHE_RSA_WITH_AES_128_CCM                  DHE-RSA-AES128-CCM
    + DHE_RSA_WITH_AES_256_CCM                  DHE-RSA-AES256-CCM
    + RSA_WITH_AES_128_CCM_8                    AES128-CCM8
    + RSA_WITH_AES_256_CCM_8                    AES256-CCM8
    + DHE_RSA_WITH_AES_128_CCM_8                DHE-RSA-AES128-CCM8
    + DHE_RSA_WITH_AES_256_CCM_8                DHE-RSA-AES256-CCM8
    + ECDHE_ECDSA_WITH_AES_128_CCM              ECDHE-ECDSA-AES128-CCM
    + ECDHE_ECDSA_WITH_AES_256_CCM              ECDHE-ECDSA-AES256-CCM
    + ECDHE_ECDSA_WITH_AES_128_CCM_8            ECDHE-ECDSA-AES128-CCM8
    + ECDHE_ECDSA_WITH_AES_256_CCM_8            ECDHE-ECDSA-AES256-CCM8
    +

    +

    +

    ARIA cipher suites from RFC6209, extending TLS v1.2

    +

    Note: the CBC modes mentioned in this RFC are not supported.

    +
    + TLS_RSA_WITH_ARIA_128_GCM_SHA256          ARIA128-GCM-SHA256
    + TLS_RSA_WITH_ARIA_256_GCM_SHA384          ARIA256-GCM-SHA384
    + TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256      DHE-RSA-ARIA128-GCM-SHA256
    + TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384      DHE-RSA-ARIA256-GCM-SHA384
    + TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256      DHE-DSS-ARIA128-GCM-SHA256
    + TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384      DHE-DSS-ARIA256-GCM-SHA384
    + TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256  ECDHE-ECDSA-ARIA128-GCM-SHA256
    + TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384  ECDHE-ECDSA-ARIA256-GCM-SHA384
    + TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256    ECDHE-ARIA128-GCM-SHA256
    + TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384    ECDHE-ARIA256-GCM-SHA384
    + TLS_PSK_WITH_ARIA_128_GCM_SHA256          PSK-ARIA128-GCM-SHA256
    + TLS_PSK_WITH_ARIA_256_GCM_SHA384          PSK-ARIA256-GCM-SHA384
    + TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256      DHE-PSK-ARIA128-GCM-SHA256
    + TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384      DHE-PSK-ARIA256-GCM-SHA384
    + TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256      RSA-PSK-ARIA128-GCM-SHA256
    + TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384      RSA-PSK-ARIA256-GCM-SHA384
    +

    +

    +

    Camellia HMAC-Based cipher suites from RFC6367, extending TLS v1.2

    +
    + TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 ECDHE-ECDSA-CAMELLIA128-SHA256
    + TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 ECDHE-ECDSA-CAMELLIA256-SHA384
    + TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256   ECDHE-RSA-CAMELLIA128-SHA256
    + TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384   ECDHE-RSA-CAMELLIA256-SHA384
    +

    +

    +

    Pre-shared keying (PSK) cipher suites

    +
    + PSK_WITH_NULL_SHA                         PSK-NULL-SHA
    + DHE_PSK_WITH_NULL_SHA                     DHE-PSK-NULL-SHA
    + RSA_PSK_WITH_NULL_SHA                     RSA-PSK-NULL-SHA
    +
    + PSK_WITH_RC4_128_SHA                      PSK-RC4-SHA
    + PSK_WITH_3DES_EDE_CBC_SHA                 PSK-3DES-EDE-CBC-SHA
    + PSK_WITH_AES_128_CBC_SHA                  PSK-AES128-CBC-SHA
    + PSK_WITH_AES_256_CBC_SHA                  PSK-AES256-CBC-SHA
    +
    + DHE_PSK_WITH_RC4_128_SHA                  DHE-PSK-RC4-SHA
    + DHE_PSK_WITH_3DES_EDE_CBC_SHA             DHE-PSK-3DES-EDE-CBC-SHA
    + DHE_PSK_WITH_AES_128_CBC_SHA              DHE-PSK-AES128-CBC-SHA
    + DHE_PSK_WITH_AES_256_CBC_SHA              DHE-PSK-AES256-CBC-SHA
    +
    + RSA_PSK_WITH_RC4_128_SHA                  RSA-PSK-RC4-SHA
    + RSA_PSK_WITH_3DES_EDE_CBC_SHA             RSA-PSK-3DES-EDE-CBC-SHA
    + RSA_PSK_WITH_AES_128_CBC_SHA              RSA-PSK-AES128-CBC-SHA
    + RSA_PSK_WITH_AES_256_CBC_SHA              RSA-PSK-AES256-CBC-SHA
    +
    + PSK_WITH_AES_128_GCM_SHA256               PSK-AES128-GCM-SHA256
    + PSK_WITH_AES_256_GCM_SHA384               PSK-AES256-GCM-SHA384
    + DHE_PSK_WITH_AES_128_GCM_SHA256           DHE-PSK-AES128-GCM-SHA256
    + DHE_PSK_WITH_AES_256_GCM_SHA384           DHE-PSK-AES256-GCM-SHA384
    + RSA_PSK_WITH_AES_128_GCM_SHA256           RSA-PSK-AES128-GCM-SHA256
    + RSA_PSK_WITH_AES_256_GCM_SHA384           RSA-PSK-AES256-GCM-SHA384
    +
    + PSK_WITH_AES_128_CBC_SHA256               PSK-AES128-CBC-SHA256
    + PSK_WITH_AES_256_CBC_SHA384               PSK-AES256-CBC-SHA384
    + PSK_WITH_NULL_SHA256                      PSK-NULL-SHA256
    + PSK_WITH_NULL_SHA384                      PSK-NULL-SHA384
    + DHE_PSK_WITH_AES_128_CBC_SHA256           DHE-PSK-AES128-CBC-SHA256
    + DHE_PSK_WITH_AES_256_CBC_SHA384           DHE-PSK-AES256-CBC-SHA384
    + DHE_PSK_WITH_NULL_SHA256                  DHE-PSK-NULL-SHA256
    + DHE_PSK_WITH_NULL_SHA384                  DHE-PSK-NULL-SHA384
    + RSA_PSK_WITH_AES_128_CBC_SHA256           RSA-PSK-AES128-CBC-SHA256
    + RSA_PSK_WITH_AES_256_CBC_SHA384           RSA-PSK-AES256-CBC-SHA384
    + RSA_PSK_WITH_NULL_SHA256                  RSA-PSK-NULL-SHA256
    + RSA_PSK_WITH_NULL_SHA384                  RSA-PSK-NULL-SHA384
    + PSK_WITH_AES_128_GCM_SHA256               PSK-AES128-GCM-SHA256
    + PSK_WITH_AES_256_GCM_SHA384               PSK-AES256-GCM-SHA384
    +
    + ECDHE_PSK_WITH_RC4_128_SHA                ECDHE-PSK-RC4-SHA
    + ECDHE_PSK_WITH_3DES_EDE_CBC_SHA           ECDHE-PSK-3DES-EDE-CBC-SHA
    + ECDHE_PSK_WITH_AES_128_CBC_SHA            ECDHE-PSK-AES128-CBC-SHA
    + ECDHE_PSK_WITH_AES_256_CBC_SHA            ECDHE-PSK-AES256-CBC-SHA
    + ECDHE_PSK_WITH_AES_128_CBC_SHA256         ECDHE-PSK-AES128-CBC-SHA256
    + ECDHE_PSK_WITH_AES_256_CBC_SHA384         ECDHE-PSK-AES256-CBC-SHA384
    + ECDHE_PSK_WITH_NULL_SHA                   ECDHE-PSK-NULL-SHA
    + ECDHE_PSK_WITH_NULL_SHA256                ECDHE-PSK-NULL-SHA256
    + ECDHE_PSK_WITH_NULL_SHA384                ECDHE-PSK-NULL-SHA384
    +
    + PSK_WITH_CAMELLIA_128_CBC_SHA256          PSK-CAMELLIA128-SHA256
    + PSK_WITH_CAMELLIA_256_CBC_SHA384          PSK-CAMELLIA256-SHA384
    +
    + DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256      DHE-PSK-CAMELLIA128-SHA256
    + DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384      DHE-PSK-CAMELLIA256-SHA384
    +
    + RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256      RSA-PSK-CAMELLIA128-SHA256
    + RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384      RSA-PSK-CAMELLIA256-SHA384
    +
    + ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256    ECDHE-PSK-CAMELLIA128-SHA256
    + ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384    ECDHE-PSK-CAMELLIA256-SHA384
    +
    + PSK_WITH_AES_128_CCM                      PSK-AES128-CCM
    + PSK_WITH_AES_256_CCM                      PSK-AES256-CCM
    + DHE_PSK_WITH_AES_128_CCM                  DHE-PSK-AES128-CCM
    + DHE_PSK_WITH_AES_256_CCM                  DHE-PSK-AES256-CCM
    + PSK_WITH_AES_128_CCM_8                    PSK-AES128-CCM8
    + PSK_WITH_AES_256_CCM_8                    PSK-AES256-CCM8
    + DHE_PSK_WITH_AES_128_CCM_8                DHE-PSK-AES128-CCM8
    + DHE_PSK_WITH_AES_256_CCM_8                DHE-PSK-AES256-CCM8
    +

    +

    +

    ChaCha20-Poly1305 cipher suites, extending TLS v1.2

    +
    + TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256      ECDHE-RSA-CHACHA20-POLY1305
    + TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256    ECDHE-ECDSA-CHACHA20-POLY1305
    + TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256        DHE-RSA-CHACHA20-POLY1305
    + TLS_PSK_WITH_CHACHA20_POLY1305_SHA256            PSK-CHACHA20-POLY1305
    + TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256      ECDHE-PSK-CHACHA20-POLY1305
    + TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256        DHE-PSK-CHACHA20-POLY1305
    + TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256        RSA-PSK-CHACHA20-POLY1305
    +

    +

    +

    TLS v1.3 cipher suites

    +
    + TLS_AES_128_GCM_SHA256                     TLS_AES_128_GCM_SHA256
    + TLS_AES_256_GCM_SHA384                     TLS_AES_256_GCM_SHA384
    + TLS_CHACHA20_POLY1305_SHA256               TLS_CHACHA20_POLY1305_SHA256
    + TLS_AES_128_CCM_SHA256                     TLS_AES_128_CCM_SHA256
    + TLS_AES_128_CCM_8_SHA256                   TLS_AES_128_CCM_8_SHA256
    +

    +

    +

    Older names used by OpenSSL

    +

    The following names are accepted by older releases:

    +
    + SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA    EDH-RSA-DES-CBC3-SHA (DHE-RSA-DES-CBC3-SHA)
    + SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA    EDH-DSS-DES-CBC3-SHA (DHE-DSS-DES-CBC3-SHA)
    +

    +

    +
    +

    NOTES

    +

    Some compiled versions of OpenSSL may not include all the ciphers +listed here because some ciphers were excluded at compile time.

    +

    +

    +
    +

    EXAMPLES

    +

    Verbose listing of all OpenSSL ciphers including NULL ciphers:

    +
    + openssl ciphers -v 'ALL:eNULL'
    +

    Include all ciphers except NULL and anonymous DH then sort by +strength:

    +
    + openssl ciphers -v 'ALL:!ADH:@STRENGTH'
    +

    Include all ciphers except ones with no encryption (eNULL) or no +authentication (aNULL):

    +
    + openssl ciphers -v 'ALL:!aNULL'
    +

    Include only 3DES ciphers and then place RSA ciphers last:

    +
    + openssl ciphers -v '3DES:+RSA'
    +

    Include all RC4 ciphers but leave out those without authentication:

    +
    + openssl ciphers -v 'RC4:!COMPLEMENTOFDEFAULT'
    +

    Include all ciphers with RSA authentication but leave out ciphers without +encryption.

    +
    + openssl ciphers -v 'RSA:!COMPLEMENTOFALL'
    +

    Set security level to 2 and display all ciphers consistent with level 2:

    +
    + openssl ciphers -s -v 'ALL:@SECLEVEL=2'
    +

    +

    +
    +

    SEE ALSO

    +

    s_client(1), s_server(1), ssl(7)

    +

    +

    +
    +

    HISTORY

    +

    The -V option for the ciphers command was added in OpenSSL 1.0.0.

    +

    The -stdname is only available if OpenSSL is built with tracing enabled +(enable-ssl-trace argument to Configure) before OpenSSL 1.1.1.

    +

    The -convert option was added in OpenSSL 1.1.1.

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man1/cms.html b/linux_amd64/share/doc/openssl/html/man1/cms.html new file mode 100644 index 0000000..723d8a2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/cms.html @@ -0,0 +1,801 @@ + + + + +cms + + + + + + + + + + + +

    +

    +
    +

    NAME

    +

    openssl-cms, +cms - CMS utility

    +

    +

    +
    +

    SYNOPSIS

    +

    openssl cms +[-help] +[-encrypt] +[-decrypt] +[-sign] +[-verify] +[-cmsout] +[-resign] +[-data_create] +[-data_out] +[-digest_create] +[-digest_verify] +[-compress] +[-uncompress] +[-EncryptedData_encrypt] +[-sign_receipt] +[-verify_receipt receipt] +[-in filename] +[-inform SMIME|PEM|DER] +[-rctform SMIME|PEM|DER] +[-out filename] +[-outform SMIME|PEM|DER] +[-stream -indef -noindef] +[-noindef] +[-content filename] +[-text] +[-noout] +[-print] +[-CAfile file] +[-CApath dir] +[-no-CAfile] +[-no-CApath] +[-attime timestamp] +[-check_ss_sig] +[-crl_check] +[-crl_check_all] +[-explicit_policy] +[-extended_crl] +[-ignore_critical] +[-inhibit_any] +[-inhibit_map] +[-no_check_time] +[-partial_chain] +[-policy arg] +[-policy_check] +[-policy_print] +[-purpose purpose] +[-suiteB_128] +[-suiteB_128_only] +[-suiteB_192] +[-trusted_first] +[-no_alt_chains] +[-use_deltas] +[-auth_level num] +[-verify_depth num] +[-verify_email email] +[-verify_hostname hostname] +[-verify_ip ip] +[-verify_name name] +[-x509_strict] +[-md digest] +[-cipher] +[-nointern] +[-noverify] +[-nocerts] +[-noattr] +[-nosmimecap] +[-binary] +[-crlfeol] +[-asciicrlf] +[-nodetach] +[-certfile file] +[-certsout file] +[-signer file] +[-recip file] +[-keyid] +[-receipt_request_all] +[-receipt_request_first] +[-receipt_request_from emailaddress] +[-receipt_request_to emailaddress] +[-receipt_request_print] +[-secretkey key] +[-secretkeyid id] +[-econtent_type type] +[-inkey file] +[-keyopt name:parameter] +[-passin arg] +[-rand file...] +[-writerand file] +[cert.pem...] +[-to addr] +[-from addr] +[-subject subj] +[cert.pem]...

    +

    +

    +
    +

    DESCRIPTION

    +

    The cms command handles S/MIME v3.1 mail. It can encrypt, decrypt, sign and +verify, compress and uncompress S/MIME messages.

    +

    +

    +
    +

    OPTIONS

    +

    There are fourteen operation options that set the type of operation to be +performed. The meaning of the other options varies according to the operation +type.

    +
    +
    -help
    + +
    +

    Print out a usage message.

    +
    +
    -encrypt
    + +
    +

    Encrypt mail for the given recipient certificates. Input file is the message +to be encrypted. The output file is the encrypted mail in MIME format. The +actual CMS type is <B>EnvelopedData<B>.

    +

    Note that no revocation check is done for the recipient cert, so if that +key has been compromised, others may be able to decrypt the text.

    +
    +
    -decrypt
    + +
    +

    Decrypt mail using the supplied certificate and private key. Expects an +encrypted mail message in MIME format for the input file. The decrypted mail +is written to the output file.

    +
    +
    -debug_decrypt
    + +
    +

    This option sets the CMS_DEBUG_DECRYPT flag. This option should be used +with caution: see the notes section below.

    +
    +
    -sign
    + +
    +

    Sign mail using the supplied certificate and private key. Input file is +the message to be signed. The signed message in MIME format is written +to the output file.

    +
    +
    -verify
    + +
    +

    Verify signed mail. Expects a signed mail message on input and outputs +the signed data. Both clear text and opaque signing is supported.

    +
    +
    -cmsout
    + +
    +

    Takes an input message and writes out a PEM encoded CMS structure.

    +
    +
    -resign
    + +
    +

    Resign a message: take an existing message and one or more new signers.

    +
    +
    -data_create
    + +
    +

    Create a CMS Data type.

    +
    +
    -data_out
    + +
    +

    Data type and output the content.

    +
    +
    -digest_create
    + +
    +

    Create a CMS DigestedData type.

    +
    +
    -digest_verify
    + +
    +

    Verify a CMS DigestedData type and output the content.

    +
    +
    -compress
    + +
    +

    Create a CMS CompressedData type. OpenSSL must be compiled with zlib +support for this option to work, otherwise it will output an error.

    +
    +
    -uncompress
    + +
    +

    Uncompress a CMS CompressedData type and output the content. OpenSSL must be +compiled with zlib support for this option to work, otherwise it will +output an error.

    +
    +
    -EncryptedData_encrypt
    + +
    +

    Encrypt content using supplied symmetric key and algorithm using a CMS +EncryptedData type and output the content.

    +
    +
    -sign_receipt
    + +
    +

    Generate and output a signed receipt for the supplied message. The input +message must contain a signed receipt request. Functionality is otherwise +similar to the -sign operation.

    +
    +
    -verify_receipt receipt
    + +
    +

    Verify a signed receipt in filename receipt. The input message must +contain the original receipt request. Functionality is otherwise similar +to the -verify operation.

    +
    +
    -in filename
    + +
    +

    The input message to be encrypted or signed or the message to be decrypted +or verified.

    +
    +
    -inform SMIME|PEM|DER
    + +
    +

    This specifies the input format for the CMS structure. The default +is SMIME which reads an S/MIME format message. PEM and DER +format change this to expect PEM and DER format CMS structures +instead. This currently only affects the input format of the CMS +structure, if no CMS structure is being input (for example with +-encrypt or -sign) this option has no effect.

    +
    +
    -rctform SMIME|PEM|DER
    + +
    +

    Specify the format for a signed receipt for use with the -receipt_verify +operation.

    +
    +
    -out filename
    + +
    +

    The message text that has been decrypted or verified or the output MIME +format message that has been signed or verified.

    +
    +
    -outform SMIME|PEM|DER
    + +
    +

    This specifies the output format for the CMS structure. The default +is SMIME which writes an S/MIME format message. PEM and DER +format change this to write PEM and DER format CMS structures +instead. This currently only affects the output format of the CMS +structure, if no CMS structure is being output (for example with +-verify or -decrypt) this option has no effect.

    +
    +
    -stream -indef -noindef
    + +
    +

    The -stream and -indef options are equivalent and enable streaming I/O +for encoding operations. This permits single pass processing of data without +the need to hold the entire contents in memory, potentially supporting very +large files. Streaming is automatically set for S/MIME signing with detached +data if the output format is SMIME it is currently off by default for all +other operations.

    +
    +
    -noindef
    + +
    +

    Disable streaming I/O where it would produce and indefinite length constructed +encoding. This option currently has no effect. In future streaming will be +enabled by default on all relevant operations and this option will disable it.

    +
    +
    -content filename
    + +
    +

    This specifies a file containing the detached content, this is only +useful with the -verify command. This is only usable if the CMS +structure is using the detached signature form where the content is +not included. This option will override any content if the input format +is S/MIME and it uses the multipart/signed MIME content type.

    +
    +
    -text
    + +
    +

    This option adds plain text (text/plain) MIME headers to the supplied +message if encrypting or signing. If decrypting or verifying it strips +off text headers: if the decrypted or verified message is not of MIME +type text/plain then an error occurs.

    +
    +
    -noout
    + +
    +

    For the -cmsout operation do not output the parsed CMS structure. This +is useful when combined with the -print option or if the syntax of the CMS +structure is being checked.

    +
    +
    -print
    + +
    +

    For the -cmsout operation print out all fields of the CMS structure. This +is mainly useful for testing purposes.

    +
    +
    -CAfile file
    + +
    +

    A file containing trusted CA certificates, only used with -verify.

    +
    +
    -CApath dir
    + +
    +

    A directory containing trusted CA certificates, only used with +-verify. This directory must be a standard certificate directory: that +is a hash of each subject name (using x509 -hash) should be linked +to each certificate.

    +
    +
    -no-CAfile
    + +
    +

    Do not load the trusted CA certificates from the default file location

    +
    +
    -no-CApath
    + +
    +

    Do not load the trusted CA certificates from the default directory location

    +
    +
    -md digest
    + +
    +

    Digest algorithm to use when signing or resigning. If not present then the +default digest algorithm for the signing key will be used (usually SHA1).

    +
    +
    -cipher
    + +
    +

    The encryption algorithm to use. For example triple DES (168 bits) - -des3 +or 256 bit AES - -aes256. Any standard algorithm name (as used by the +EVP_get_cipherbyname() function) can also be used preceded by a dash, for +example -aes-128-cbc. See enc(1) for a list of ciphers +supported by your version of OpenSSL.

    +

    If not specified triple DES is used. Only used with -encrypt and +-EncryptedData_create commands.

    +
    +
    -nointern
    + +
    +

    When verifying a message normally certificates (if any) included in +the message are searched for the signing certificate. With this option +only the certificates specified in the -certfile option are used. +The supplied certificates can still be used as untrusted CAs however.

    +
    +
    -noverify
    + +
    +

    Do not verify the signers certificate of a signed message.

    +
    +
    -nocerts
    + +
    +

    When signing a message the signer's certificate is normally included +with this option it is excluded. This will reduce the size of the +signed message but the verifier must have a copy of the signers certificate +available locally (passed using the -certfile option for example).

    +
    +
    -noattr
    + +
    +

    Normally when a message is signed a set of attributes are included which +include the signing time and supported symmetric algorithms. With this +option they are not included.

    +
    +
    -nosmimecap
    + +
    +

    Exclude the list of supported algorithms from signed attributes, other options +such as signing time and content type are still included.

    +
    +
    -binary
    + +
    +

    Normally the input message is converted to "canonical" format which is +effectively using CR and LF as end of line: as required by the S/MIME +specification. When this option is present no translation occurs. This +is useful when handling binary data which may not be in MIME format.

    +
    +
    -crlfeol
    + +
    +

    Normally the output file uses a single LF as end of line. When this +option is present CRLF is used instead.

    +
    +
    -asciicrlf
    + +
    +

    When signing use ASCII CRLF format canonicalisation. This strips trailing +whitespace from all lines, deletes trailing blank lines at EOF and sets +the encapsulated content type. This option is normally used with detached +content and an output signature format of DER. This option is not normally +needed when verifying as it is enabled automatically if the encapsulated +content format is detected.

    +
    +
    -nodetach
    + +
    +

    When signing a message use opaque signing: this form is more resistant +to translation by mail relays but it cannot be read by mail agents that +do not support S/MIME. Without this option cleartext signing with +the MIME type multipart/signed is used.

    +
    +
    -certfile file
    + +
    +

    Allows additional certificates to be specified. When signing these will +be included with the message. When verifying these will be searched for +the signers certificates. The certificates should be in PEM format.

    +
    +
    -certsout file
    + +
    +

    Any certificates contained in the message are written to file.

    +
    +
    -signer file
    + +
    +

    A signing certificate when signing or resigning a message, this option can be +used multiple times if more than one signer is required. If a message is being +verified then the signers certificates will be written to this file if the +verification was successful.

    +
    +
    -recip file
    + +
    +

    When decrypting a message this specifies the recipients certificate. The +certificate must match one of the recipients of the message or an error +occurs.

    +

    When encrypting a message this option may be used multiple times to specify +each recipient. This form must be used if customised parameters are +required (for example to specify RSA-OAEP).

    +

    Only certificates carrying RSA, Diffie-Hellman or EC keys are supported by this +option.

    +
    +
    -keyid
    + +
    +

    Use subject key identifier to identify certificates instead of issuer name and +serial number. The supplied certificate must include a subject key +identifier extension. Supported by -sign and -encrypt options.

    +
    +
    -receipt_request_all, -receipt_request_first
    + +
    +

    For -sign option include a signed receipt request. Indicate requests should +be provided by all recipient or first tier recipients (those mailed directly +and not from a mailing list). Ignored it -receipt_request_from is included.

    +
    +
    -receipt_request_from emailaddress
    + +
    +

    For -sign option include a signed receipt request. Add an explicit email +address where receipts should be supplied.

    +
    +
    -receipt_request_to emailaddress
    + +
    +

    Add an explicit email address where signed receipts should be sent to. This +option must but supplied if a signed receipt it requested.

    +
    +
    -receipt_request_print
    + +
    +

    For the -verify operation print out the contents of any signed receipt +requests.

    +
    +
    -secretkey key
    + +
    +

    Specify symmetric key to use. The key must be supplied in hex format and be +consistent with the algorithm used. Supported by the -EncryptedData_encrypt +-EncryptedData_decrypt, -encrypt and -decrypt options. When used +with -encrypt or -decrypt the supplied key is used to wrap or unwrap the +content encryption key using an AES key in the KEKRecipientInfo type.

    +
    +
    -secretkeyid id
    + +
    +

    The key identifier for the supplied symmetric key for KEKRecipientInfo type. +This option must be present if the -secretkey option is used with +-encrypt. With -decrypt operations the id is used to locate the +relevant key if it is not supplied then an attempt is used to decrypt any +KEKRecipientInfo structures.

    +
    +
    -econtent_type type
    + +
    +

    Set the encapsulated content type to type if not supplied the Data type +is used. The type argument can be any valid OID name in either text or +numerical format.

    +
    +
    -inkey file
    + +
    +

    The private key to use when signing or decrypting. This must match the +corresponding certificate. If this option is not specified then the +private key must be included in the certificate file specified with +the -recip or -signer file. When signing this option can be used +multiple times to specify successive keys.

    +
    +
    -keyopt name:opt
    + +
    +

    For signing and encryption this option can be used multiple times to +set customised parameters for the preceding key or certificate. It can +currently be used to set RSA-PSS for signing, RSA-OAEP for encryption +or to modify default parameters for ECDH.

    +
    +
    -passin arg
    + +
    +

    The private key password source. For more information about the format of arg +see the PASS PHRASE ARGUMENTS section in openssl(1).

    +
    +
    -rand file...
    + +
    +

    A file or files containing random data used to seed the random number +generator. +Multiple files can be specified separated by an OS-dependent character. +The separator is ; for MS-Windows, , for OpenVMS, and : for +all others.

    +
    +
    [-writerand file]
    + +
    +

    Writes random data to the specified file upon exit. +This can be used with a subsequent -rand flag.

    +
    +
    cert.pem...
    + +
    +

    One or more certificates of message recipients: used when encrypting +a message.

    +
    +
    -to, -from, -subject
    + +
    +

    The relevant mail headers. These are included outside the signed +portion of a message so they may be included manually. If signing +then many S/MIME mail clients check the signers certificate's email +address matches that specified in the From: address.

    +
    +
    -attime, -check_ss_sig, -crl_check, -crl_check_all, +-explicit_policy, -extended_crl, -ignore_critical, -inhibit_any, +-inhibit_map, -no_alt_chains, -no_check_time, -partial_chain, -policy, +-policy_check, -policy_print, -purpose, -suiteB_128, +-suiteB_128_only, -suiteB_192, -trusted_first, -use_deltas, +-auth_level, -verify_depth, -verify_email, -verify_hostname, +-verify_ip, -verify_name, -x509_strict
    + +
    +

    Set various certificate chain validation options. See the +verify(1) manual page for details.

    +
    +
    +

    +

    +
    +

    NOTES

    +

    The MIME message must be sent without any blank lines between the +headers and the output. Some mail programs will automatically add +a blank line. Piping the mail directly to sendmail is one way to +achieve the correct format.

    +

    The supplied message to be signed or encrypted must include the +necessary MIME headers or many S/MIME clients won't display it +properly (if at all). You can use the -text option to automatically +add plain text headers.

    +

    A "signed and encrypted" message is one where a signed message is +then encrypted. This can be produced by encrypting an already signed +message: see the examples section.

    +

    This version of the program only allows one signer per message but it +will verify multiple signers on received messages. Some S/MIME clients +choke if a message contains multiple signers. It is possible to sign +messages "in parallel" by signing an already signed message.

    +

    The options -encrypt and -decrypt reflect common usage in S/MIME +clients. Strictly speaking these process CMS enveloped data: CMS +encrypted data is used for other purposes.

    +

    The -resign option uses an existing message digest when adding a new +signer. This means that attributes must be present in at least one existing +signer using the same message digest or this operation will fail.

    +

    The -stream and -indef options enable streaming I/O support. +As a result the encoding is BER using indefinite length constructed encoding +and no longer DER. Streaming is supported for the -encrypt operation and the +-sign operation if the content is not detached.

    +

    Streaming is always used for the -sign operation with detached data but +since the content is no longer part of the CMS structure the encoding +remains DER.

    +

    If the -decrypt option is used without a recipient certificate then an +attempt is made to locate the recipient by trying each potential recipient +in turn using the supplied private key. To thwart the MMA attack +(Bleichenbacher's attack on PKCS #1 v1.5 RSA padding) all recipients are +tried whether they succeed or not and if no recipients match the message +is "decrypted" using a random key which will typically output garbage. +The -debug_decrypt option can be used to disable the MMA attack protection +and return an error if no recipient can be found: this option should be used +with caution. For a fuller description see CMS_decrypt(3)).

    +

    +

    +
    +

    EXIT CODES

    +
      +
    1. +

      The operation was completely successfully.

      +
    2. +
    3. +

      An error occurred parsing the command options.

      +
    4. +
    5. +

      One of the input files could not be read.

      +
    6. +
    7. +

      An error occurred creating the CMS file or when reading the MIME +message.

      +
    8. +
    9. +

      An error occurred decrypting or verifying the message.

      +
    10. +
    11. +

      The message was verified correctly but an error occurred writing out +the signers certificates.

      +
    12. +
    +

    +

    +
    +

    COMPATIBILITY WITH PKCS#7 format.

    +

    The smime utility can only process the older PKCS#7 format. The cms +utility supports Cryptographic Message Syntax format. Use of some features +will result in messages which cannot be processed by applications which only +support the older format. These are detailed below.

    +

    The use of the -keyid option with -sign or -encrypt.

    +

    The -outform PEM option uses different headers.

    +

    The -compress option.

    +

    The -secretkey option when used with -encrypt.

    +

    The use of PSS with -sign.

    +

    The use of OAEP or non-RSA keys with -encrypt.

    +

    Additionally the -EncryptedData_create and -data_create type cannot +be processed by the older smime command.

    +

    +

    +
    +

    EXAMPLES

    +

    Create a cleartext signed message:

    +
    + openssl cms -sign -in message.txt -text -out mail.msg \
    +        -signer mycert.pem
    +

    Create an opaque signed message

    +
    + openssl cms -sign -in message.txt -text -out mail.msg -nodetach \
    +        -signer mycert.pem
    +

    Create a signed message, include some additional certificates and +read the private key from another file:

    +
    + openssl cms -sign -in in.txt -text -out mail.msg \
    +        -signer mycert.pem -inkey mykey.pem -certfile mycerts.pem
    +

    Create a signed message with two signers, use key identifier:

    +
    + openssl cms -sign -in message.txt -text -out mail.msg \
    +        -signer mycert.pem -signer othercert.pem -keyid
    +

    Send a signed message under Unix directly to sendmail, including headers:

    +
    + openssl cms -sign -in in.txt -text -signer mycert.pem \
    +        -from steve@openssl.org -to someone@somewhere \
    +        -subject "Signed message" | sendmail someone@somewhere
    +

    Verify a message and extract the signer's certificate if successful:

    +
    + openssl cms -verify -in mail.msg -signer user.pem -out signedtext.txt
    +

    Send encrypted mail using triple DES:

    +
    + openssl cms -encrypt -in in.txt -from steve@openssl.org \
    +        -to someone@somewhere -subject "Encrypted message" \
    +        -des3 user.pem -out mail.msg
    +

    Sign and encrypt mail:

    +
    + openssl cms -sign -in ml.txt -signer my.pem -text \
    +        | openssl cms -encrypt -out mail.msg \
    +        -from steve@openssl.org -to someone@somewhere \
    +        -subject "Signed and Encrypted message" -des3 user.pem
    +

    Note: the encryption command does not include the -text option because the +message being encrypted already has MIME headers.

    +

    Decrypt mail:

    +
    + openssl cms -decrypt -in mail.msg -recip mycert.pem -inkey key.pem
    +

    The output from Netscape form signing is a PKCS#7 structure with the +detached signature format. You can use this program to verify the +signature by line wrapping the base64 encoded structure and surrounding +it with:

    +
    + -----BEGIN PKCS7-----
    + -----END PKCS7-----
    +

    and using the command,

    +
    + openssl cms -verify -inform PEM -in signature.pem -content content.txt
    +

    alternatively you can base64 decode the signature and use

    +
    + openssl cms -verify -inform DER -in signature.der -content content.txt
    +

    Create an encrypted message using 128 bit Camellia:

    +
    + openssl cms -encrypt -in plain.txt -camellia128 -out mail.msg cert.pem
    +

    Add a signer to an existing message:

    +
    + openssl cms -resign -in mail.msg -signer newsign.pem -out mail2.msg
    +

    Sign mail using RSA-PSS:

    +
    + openssl cms -sign -in message.txt -text -out mail.msg \
    +        -signer mycert.pem -keyopt rsa_padding_mode:pss
    +

    Create encrypted mail using RSA-OAEP:

    +
    + openssl cms -encrypt -in plain.txt -out mail.msg \
    +        -recip cert.pem -keyopt rsa_padding_mode:oaep
    +

    Use SHA256 KDF with an ECDH certificate:

    +
    + openssl cms -encrypt -in plain.txt -out mail.msg \
    +        -recip ecdhcert.pem -keyopt ecdh_kdf_md:sha256
    +

    +

    +
    +

    BUGS

    +

    The MIME parser isn't very clever: it seems to handle most messages that I've +thrown at it but it may choke on others.

    +

    The code currently will only write out the signer's certificate to a file: if +the signer has a separate encryption certificate this must be manually +extracted. There should be some heuristic that determines the correct +encryption certificate.

    +

    Ideally a database should be maintained of a certificates for each email +address.

    +

    The code doesn't currently take note of the permitted symmetric encryption +algorithms as supplied in the SMIMECapabilities signed attribute. this means the +user has to manually include the correct encryption algorithm. It should store +the list of permitted ciphers in a database and only use those.

    +

    No revocation checking is done on the signer's certificate.

    +

    +

    +
    +

    HISTORY

    +

    The use of multiple -signer options and the -resign command were first +added in OpenSSL 1.0.0.

    +

    The keyopt option was added in OpenSSL 1.0.2.

    +

    Support for RSA-OAEP and RSA-PSS was added in OpenSSL 1.0.2.

    +

    The use of non-RSA keys with -encrypt and -decrypt +was added in OpenSSL 1.0.2.

    +

    The -no_alt_chains option was added in OpenSSL 1.0.2b.

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2008-2018 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man1/crl.html b/linux_amd64/share/doc/openssl/html/man1/crl.html new file mode 100644 index 0000000..caa7c9d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/crl.html @@ -0,0 +1,198 @@ + + + + +crl + + + + + + + + +
    +

    + + + +
    +
    + + +

    +

    +
    +

    NAME

    +

    openssl-crl, +crl - CRL utility

    +

    +

    +
    +

    SYNOPSIS

    +

    openssl crl +[-help] +[-inform PEM|DER] +[-outform PEM|DER] +[-text] +[-in filename] +[-out filename] +[-nameopt option] +[-noout] +[-hash] +[-issuer] +[-lastupdate] +[-nextupdate] +[-CAfile file] +[-CApath dir]

    +

    +

    +
    +

    DESCRIPTION

    +

    The crl command processes CRL files in DER or PEM format.

    +

    +

    +
    +

    OPTIONS

    +
    +
    -help
    + +
    +

    Print out a usage message.

    +
    +
    -inform DER|PEM
    + +
    +

    This specifies the input format. DER format is DER encoded CRL +structure. PEM (the default) is a base64 encoded version of +the DER form with header and footer lines.

    +
    +
    -outform DER|PEM
    + +
    +

    This specifies the output format, the options have the same meaning and default +as the -inform option.

    +
    +
    -in filename
    + +
    +

    This specifies the input filename to read from or standard input if this +option is not specified.

    +
    +
    -out filename
    + +
    +

    Specifies the output filename to write to or standard output by +default.

    +
    +
    -text
    + +
    +

    Print out the CRL in text form.

    +
    +
    -nameopt option
    + +
    +

    Option which determines how the subject or issuer names are displayed. See +the description of -nameopt in x509(1).

    +
    +
    -noout
    + +
    +

    Don't output the encoded version of the CRL.

    +
    +
    -hash
    + +
    +

    Output a hash of the issuer name. This can be use to lookup CRLs in +a directory by issuer name.

    +
    +
    -hash_old
    + +
    +

    Outputs the "hash" of the CRL issuer name using the older algorithm +as used by OpenSSL before version 1.0.0.

    +
    +
    -issuer
    + +
    +

    Output the issuer name.

    +
    +
    -lastupdate
    + +
    +

    Output the lastUpdate field.

    +
    +
    -nextupdate
    + +
    +

    Output the nextUpdate field.

    +
    +
    -CAfile file
    + +
    +

    Verify the signature on a CRL by looking up the issuing certificate in +file.

    +
    +
    -CApath dir
    + +
    +

    Verify the signature on a CRL by looking up the issuing certificate in +dir. This directory must be a standard certificate directory: that +is a hash of each subject name (using x509 -hash) should be linked +to each certificate.

    +
    +
    +

    +

    +
    +

    NOTES

    +

    The PEM CRL format uses the header and footer lines:

    +
    + -----BEGIN X509 CRL-----
    + -----END X509 CRL-----
    +

    +

    +
    +

    EXAMPLES

    +

    Convert a CRL file from PEM to DER:

    +
    + openssl crl -in crl.pem -outform DER -out crl.der
    +

    Output the text form of a DER encoded certificate:

    +
    + openssl crl -in crl.der -inform DER -text -noout
    +

    +

    +
    +

    BUGS

    +

    Ideally it should be possible to create a CRL using appropriate options +and files too.

    +

    +

    +
    +

    SEE ALSO

    +

    crl2pkcs7(1), ca(1), x509(1)

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man1/crl2pkcs7.html b/linux_amd64/share/doc/openssl/html/man1/crl2pkcs7.html new file mode 100644 index 0000000..bdb0a58 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/crl2pkcs7.html @@ -0,0 +1,149 @@ + + + + +crl2pkcs7 + + + + + + + + +
    +

    + + + +
    +
    + + +

    +

    +
    +

    NAME

    +

    openssl-crl2pkcs7, +crl2pkcs7 - Create a PKCS#7 structure from a CRL and certificates

    +

    +

    +
    +

    SYNOPSIS

    +

    openssl crl2pkcs7 +[-help] +[-inform PEM|DER] +[-outform PEM|DER] +[-in filename] +[-out filename] +[-certfile filename] +[-nocrl]

    +

    +

    +
    +

    DESCRIPTION

    +

    The crl2pkcs7 command takes an optional CRL and one or more +certificates and converts them into a PKCS#7 degenerate "certificates +only" structure.

    +

    +

    +
    +

    OPTIONS

    +
    +
    -help
    + +
    +

    Print out a usage message.

    +
    +
    -inform DER|PEM
    + +
    +

    This specifies the CRL input format. DER format is DER encoded CRL +structure.PEM (the default) is a base64 encoded version of +the DER form with header and footer lines. The default format is PEM.

    +
    +
    -outform DER|PEM
    + +
    +

    This specifies the PKCS#7 structure output format. DER format is DER +encoded PKCS#7 structure.PEM (the default) is a base64 encoded version of +the DER form with header and footer lines. The default format is PEM.

    +
    +
    -in filename
    + +
    +

    This specifies the input filename to read a CRL from or standard input if this +option is not specified.

    +
    +
    -out filename
    + +
    +

    Specifies the output filename to write the PKCS#7 structure to or standard +output by default.

    +
    +
    -certfile filename
    + +
    +

    Specifies a filename containing one or more certificates in PEM format. +All certificates in the file will be added to the PKCS#7 structure. This +option can be used more than once to read certificates form multiple +files.

    +
    +
    -nocrl
    + +
    +

    Normally a CRL is included in the output file. With this option no CRL is +included in the output file and a CRL is not read from the input file.

    +
    +
    +

    +

    +
    +

    EXAMPLES

    +

    Create a PKCS#7 structure from a certificate and CRL:

    +
    + openssl crl2pkcs7 -in crl.pem -certfile cert.pem -out p7.pem
    +

    Creates a PKCS#7 structure in DER format with no CRL from several +different certificates:

    +
    + openssl crl2pkcs7 -nocrl -certfile newcert.pem
    +        -certfile demoCA/cacert.pem -outform DER -out p7.der
    +

    +

    +
    +

    NOTES

    +

    The output file is a PKCS#7 signed data structure containing no signers and +just certificates and an optional CRL.

    +

    This utility can be used to send certificates and CAs to Netscape as part of +the certificate enrollment process. This involves sending the DER encoded output +as MIME type application/x-x509-user-cert.

    +

    The PEM encoded form with the header and footer lines removed can be used to +install user certificates and CAs in MSIE using the Xenroll control.

    +

    +

    +
    +

    SEE ALSO

    +

    pkcs7(1)

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man1/dgst.html b/linux_amd64/share/doc/openssl/html/man1/dgst.html new file mode 100644 index 0000000..81c771e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/dgst.html @@ -0,0 +1,305 @@ + + + + +dgst + + + + + + + + +
    +

    + + + +
    +
    + + +

    +

    +
    +

    NAME

    +

    openssl-dgst, +dgst - perform digest operations

    +

    +

    +
    +

    SYNOPSIS

    +

    openssl dgst +[-digest] +[-help] +[-c] +[-d] +[-list] +[-hex] +[-binary] +[-r] +[-out filename] +[-sign filename] +[-keyform arg] +[-passin arg] +[-verify filename] +[-prverify filename] +[-signature filename] +[-sigopt nm:v] +[-hmac key] +[-fips-fingerprint] +[-rand file...] +[-engine id] +[-engine_impl] +[file...]

    +

    openssl digest [...]

    +

    +

    +
    +

    DESCRIPTION

    +

    The digest functions output the message digest of a supplied file or files +in hexadecimal. The digest functions also generate and verify digital +signatures using message digests.

    +

    The generic name, dgst, may be used with an option specifying the +algorithm to be used. +The default digest is sha256. +A supported digest name may also be used as the command name. +To see the list of supported algorithms, use the list --digest-commands +command.

    +

    +

    +
    +

    OPTIONS

    +
    +
    -help
    + +
    +

    Print out a usage message.

    +
    +
    -digest
    + +
    +

    Specifies name of a supported digest to be used. To see the list of +supported digests, use the command list --digest-commands.

    +
    +
    -c
    + +
    +

    Print out the digest in two digit groups separated by colons, only relevant if +hex format output is used.

    +
    +
    -d
    + +
    +

    Print out BIO debugging information.

    +
    +
    -list
    + +
    +

    Prints out a list of supported message digests.

    +
    +
    -hex
    + +
    +

    Digest is to be output as a hex dump. This is the default case for a "normal" +digest as opposed to a digital signature. See NOTES below for digital +signatures using -hex.

    +
    +
    -binary
    + +
    +

    Output the digest or signature in binary form.

    +
    +
    -r
    + +
    +

    Output the digest in the "coreutils" format, including newlines. +Used by programs like sha1sum.

    +
    +
    -out filename
    + +
    +

    Filename to output to, or standard output by default.

    +
    +
    -sign filename
    + +
    +

    Digitally sign the digest using the private key in "filename". Note this option +does not support Ed25519 or Ed448 private keys. Use the pkeyutl command +instead for this.

    +
    +
    -keyform arg
    + +
    +

    Specifies the key format to sign digest with. The DER, PEM, P12, +and ENGINE formats are supported.

    +
    +
    -sigopt nm:v
    + +
    +

    Pass options to the signature algorithm during sign or verify operations. +Names and values of these options are algorithm-specific.

    +
    +
    -passin arg
    + +
    +

    The private key password source. For more information about the format of arg +see the PASS PHRASE ARGUMENTS section in openssl(1).

    +
    +
    -verify filename
    + +
    +

    Verify the signature using the public key in "filename". +The output is either "Verification OK" or "Verification Failure".

    +
    +
    -prverify filename
    + +
    +

    Verify the signature using the private key in "filename".

    +
    +
    -signature filename
    + +
    +

    The actual signature to verify.

    +
    +
    -hmac key
    + +
    +

    Create a hashed MAC using "key".

    +
    +
    -mac alg
    + +
    +

    Create MAC (keyed Message Authentication Code). The most popular MAC +algorithm is HMAC (hash-based MAC), but there are other MAC algorithms +which are not based on hash, for instance gost-mac algorithm, +supported by ccgost engine. MAC keys and other options should be set +via -macopt parameter.

    +
    +
    -macopt nm:v
    + +
    +

    Passes options to MAC algorithm, specified by -mac key. +Following options are supported by both by HMAC and gost-mac:

    +
    +
    key:string
    + +
    +

    Specifies MAC key as alphanumeric string (use if key contain printable +characters only). String length must conform to any restrictions of +the MAC algorithm for example exactly 32 chars for gost-mac.

    +
    +
    hexkey:string
    + +
    +

    Specifies MAC key in hexadecimal form (two hex digits per byte). +Key length must conform to any restrictions of the MAC algorithm +for example exactly 32 chars for gost-mac.

    +
    +
    +
    +
    -rand file...
    + +
    +

    A file or files containing random data used to seed the random number +generator. +Multiple files can be specified separated by an OS-dependent character. +The separator is ; for MS-Windows, , for OpenVMS, and : for +all others.

    +
    +
    [-writerand file]
    + +
    +

    Writes random data to the specified file upon exit. +This can be used with a subsequent -rand flag.

    +
    +
    -fips-fingerprint
    + +
    +

    Compute HMAC using a specific key for certain OpenSSL-FIPS operations.

    +
    +
    -engine id
    + +
    +

    Use engine id for operations (including private key storage). +This engine is not used as source for digest algorithms, unless it is +also specified in the configuration file or -engine_impl is also +specified.

    +
    +
    -engine_impl
    + +
    +

    When used with the -engine option, it specifies to also use +engine id for digest operations.

    +
    +
    file...
    + +
    +

    File or files to digest. If no files are specified then standard input is +used.

    +
    +
    +

    +

    +
    +

    EXAMPLES

    +

    To create a hex-encoded message digest of a file: + openssl dgst -md5 -hex file.txt

    +

    To sign a file using SHA-256 with binary file output: + openssl dgst -sha256 -sign privatekey.pem -out signature.sign file.txt

    +

    To verify a signature: + openssl dgst -sha256 -verify publickey.pem \ + -signature signature.sign \ + file.txt

    +

    +

    +
    +

    NOTES

    +

    The digest mechanisms that are available will depend on the options +used when building OpenSSL. +The list digest-commands command can be used to list them.

    +

    New or agile applications should use probably use SHA-256. Other digests, +particularly SHA-1 and MD5, are still widely used for interoperating +with existing formats and protocols.

    +

    When signing a file, dgst will automatically determine the algorithm +(RSA, ECC, etc) to use for signing based on the private key's ASN.1 info. +When verifying signatures, it only handles the RSA, DSA, or ECDSA signature +itself, not the related data to identify the signer and algorithm used in +formats such as x.509, CMS, and S/MIME.

    +

    A source of random numbers is required for certain signing algorithms, in +particular ECDSA and DSA.

    +

    The signing and verify options should only be used if a single file is +being signed or verified.

    +

    Hex signatures cannot be verified using openssl. Instead, use "xxd -r" +or similar program to transform the hex signature into a binary signature +prior to verification.

    +

    +

    +
    +

    HISTORY

    +

    The default digest was changed from MD5 to SHA256 in OpenSSL 1.1.0. +The FIPS-related options were removed in OpenSSL 1.1.0.

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man1/dhparam.html b/linux_amd64/share/doc/openssl/html/man1/dhparam.html new file mode 100644 index 0000000..7420728 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/dhparam.html @@ -0,0 +1,219 @@ + + + + +dhparam + + + + + + + + +
    +

    + + + +
    +
    + + +

    +

    +
    +

    NAME

    +

    openssl-dhparam, +dhparam - DH parameter manipulation and generation

    +

    +

    +
    +

    SYNOPSIS

    +

    openssl dhparam +[-help] +[-inform DER|PEM] +[-outform DER|PEM] +[-in filename] +[-out filename] +[-dsaparam] +[-check] +[-noout] +[-text] +[-C] +[-2] +[-5] +[-rand file...] +[-writerand file] +[-engine id] +[numbits]

    +

    +

    +
    +

    DESCRIPTION

    +

    This command is used to manipulate DH parameter files.

    +

    +

    +
    +

    OPTIONS

    +
    +
    -help
    + +
    +

    Print out a usage message.

    +
    +
    -inform DER|PEM
    + +
    +

    This specifies the input format. The DER option uses an ASN1 DER encoded +form compatible with the PKCS#3 DHparameter structure. The PEM form is the +default format: it consists of the DER format base64 encoded with +additional header and footer lines.

    +
    +
    -outform DER|PEM
    + +
    +

    This specifies the output format, the options have the same meaning and default +as the -inform option.

    +
    +
    -in filename
    + +
    +

    This specifies the input filename to read parameters from or standard input if +this option is not specified.

    +
    +
    -out filename
    + +
    +

    This specifies the output filename parameters to. Standard output is used +if this option is not present. The output filename should not be the same +as the input filename.

    +
    +
    -dsaparam
    + +
    +

    If this option is used, DSA rather than DH parameters are read or created; +they are converted to DH format. Otherwise, "strong" primes (such +that (p-1)/2 is also prime) will be used for DH parameter generation.

    +

    DH parameter generation with the -dsaparam option is much faster, +and the recommended exponent length is shorter, which makes DH key +exchange more efficient. Beware that with such DSA-style DH +parameters, a fresh DH key should be created for each use to +avoid small-subgroup attacks that may be possible otherwise.

    +
    +
    -check
    + +
    +

    Performs numerous checks to see if the supplied parameters are valid and +displays a warning if not.

    +
    +
    -2, -5
    + +
    +

    The generator to use, either 2 or 5. If present then the +input file is ignored and parameters are generated instead. If not +present but numbits is present, parameters are generated with the +default generator 2.

    +
    +
    -rand file...
    + +
    +

    A file or files containing random data used to seed the random number +generator. +Multiple files can be specified separated by an OS-dependent character. +The separator is ; for MS-Windows, , for OpenVMS, and : for +all others.

    +
    +
    [-writerand file]
    + +
    +

    Writes random data to the specified file upon exit. +This can be used with a subsequent -rand flag.

    +
    +
    numbits
    + +
    +

    This option specifies that a parameter set should be generated of size +numbits. It must be the last option. If this option is present then +the input file is ignored and parameters are generated instead. If +this option is not present but a generator (-2 or -5) is +present, parameters are generated with a default length of 2048 bits.

    +
    +
    -noout
    + +
    +

    This option inhibits the output of the encoded version of the parameters.

    +
    +
    -text
    + +
    +

    This option prints out the DH parameters in human readable form.

    +
    +
    -C
    + +
    +

    This option converts the parameters into C code. The parameters can then +be loaded by calling the get_dhNNNN() function.

    +
    +
    -engine id
    + +
    +

    Specifying an engine (by its unique id string) will cause dhparam +to attempt to obtain a functional reference to the specified engine, +thus initialising it if needed. The engine will then be set as the default +for all available algorithms.

    +
    +
    +

    +

    +
    +

    WARNINGS

    +

    The program dhparam combines the functionality of the programs dh and +gendh in previous versions of OpenSSL. The dh and gendh +programs are retained for now but may have different purposes in future +versions of OpenSSL.

    +

    +

    +
    +

    NOTES

    +

    PEM format DH parameters use the header and footer lines:

    +
    + -----BEGIN DH PARAMETERS-----
    + -----END DH PARAMETERS-----
    +

    OpenSSL currently only supports the older PKCS#3 DH, not the newer X9.42 +DH.

    +

    This program manipulates DH parameters not keys.

    +

    +

    +
    +

    BUGS

    +

    There should be a way to generate and manipulate DH keys.

    +

    +

    +
    +

    SEE ALSO

    +

    dsaparam(1)

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man1/dsa.html b/linux_amd64/share/doc/openssl/html/man1/dsa.html new file mode 100644 index 0000000..c911494 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/dsa.html @@ -0,0 +1,229 @@ + + + + +dsa + + + + + + + + +
    +

    + + + +
    +
    + + +

    +

    +
    +

    NAME

    +

    openssl-dsa, +dsa - DSA key processing

    +

    +

    +
    +

    SYNOPSIS

    +

    openssl dsa +[-help] +[-inform PEM|DER] +[-outform PEM|DER] +[-in filename] +[-passin arg] +[-out filename] +[-passout arg] +[-aes128] +[-aes192] +[-aes256] +[-aria128] +[-aria192] +[-aria256] +[-camellia128] +[-camellia192] +[-camellia256] +[-des] +[-des3] +[-idea] +[-text] +[-noout] +[-modulus] +[-pubin] +[-pubout] +[-engine id]

    +

    +

    +
    +

    DESCRIPTION

    +

    The dsa command processes DSA keys. They can be converted between various +forms and their components printed out. Note This command uses the +traditional SSLeay compatible format for private key encryption: newer +applications should use the more secure PKCS#8 format using the pkcs8

    +

    +

    +
    +

    OPTIONS

    +
    +
    -help
    + +
    +

    Print out a usage message.

    +
    +
    -inform DER|PEM
    + +
    +

    This specifies the input format. The DER option with a private key uses +an ASN1 DER encoded form of an ASN.1 SEQUENCE consisting of the values of +version (currently zero), p, q, g, the public and private key components +respectively as ASN.1 INTEGERs. When used with a public key it uses a +SubjectPublicKeyInfo structure: it is an error if the key is not DSA.

    +

    The PEM form is the default format: it consists of the DER format base64 +encoded with additional header and footer lines. In the case of a private key +PKCS#8 format is also accepted.

    +
    +
    -outform DER|PEM
    + +
    +

    This specifies the output format, the options have the same meaning and default +as the -inform option.

    +
    +
    -in filename
    + +
    +

    This specifies the input filename to read a key from or standard input if this +option is not specified. If the key is encrypted a pass phrase will be +prompted for.

    +
    +
    -passin arg
    + +
    +

    The input file password source. For more information about the format of arg +see the PASS PHRASE ARGUMENTS section in openssl(1).

    +
    +
    -out filename
    + +
    +

    This specifies the output filename to write a key to or standard output by +is not specified. If any encryption options are set then a pass phrase will be +prompted for. The output filename should not be the same as the input +filename.

    +
    +
    -passout arg
    + +
    +

    The output file password source. For more information about the format of arg +see the PASS PHRASE ARGUMENTS section in openssl(1).

    +
    +
    -aes128, -aes192, -aes256, -aria128, -aria192, -aria256, -camellia128, -camellia192, -camellia256, -des, -des3, -idea
    + +
    +

    These options encrypt the private key with the specified +cipher before outputting it. A pass phrase is prompted for. +If none of these options is specified the key is written in plain text. This +means that using the dsa utility to read in an encrypted key with no +encryption option can be used to remove the pass phrase from a key, or by +setting the encryption options it can be use to add or change the pass phrase. +These options can only be used with PEM format output files.

    +
    +
    -text
    + +
    +

    Prints out the public, private key components and parameters.

    +
    +
    -noout
    + +
    +

    This option prevents output of the encoded version of the key.

    +
    +
    -modulus
    + +
    +

    This option prints out the value of the public key component of the key.

    +
    +
    -pubin
    + +
    +

    By default, a private key is read from the input file. With this option a +public key is read instead.

    +
    +
    -pubout
    + +
    +

    By default, a private key is output. With this option a public +key will be output instead. This option is automatically set if the input is +a public key.

    +
    +
    -engine id
    + +
    +

    Specifying an engine (by its unique id string) will cause dsa +to attempt to obtain a functional reference to the specified engine, +thus initialising it if needed. The engine will then be set as the default +for all available algorithms.

    +
    +
    +

    +

    +
    +

    NOTES

    +

    The PEM private key format uses the header and footer lines:

    +
    + -----BEGIN DSA PRIVATE KEY-----
    + -----END DSA PRIVATE KEY-----
    +

    The PEM public key format uses the header and footer lines:

    +
    + -----BEGIN PUBLIC KEY-----
    + -----END PUBLIC KEY-----
    +

    +

    +
    +

    EXAMPLES

    +

    To remove the pass phrase on a DSA private key:

    +
    + openssl dsa -in key.pem -out keyout.pem
    +

    To encrypt a private key using triple DES:

    +
    + openssl dsa -in key.pem -des3 -out keyout.pem
    +

    To convert a private key from PEM to DER format:

    +
    + openssl dsa -in key.pem -outform DER -out keyout.der
    +

    To print out the components of a private key to standard output:

    +
    + openssl dsa -in key.pem -text -noout
    +

    To just output the public part of a private key:

    +
    + openssl dsa -in key.pem -pubout -out pubkey.pem
    +

    +

    +
    +

    SEE ALSO

    +

    dsaparam(1), gendsa(1), rsa(1), +genrsa(1)

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man1/dsaparam.html b/linux_amd64/share/doc/openssl/html/man1/dsaparam.html new file mode 100644 index 0000000..c32f311 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/dsaparam.html @@ -0,0 +1,180 @@ + + + + +dsaparam + + + + + + + + +
    +

    + + + +
    +
    + + +

    +

    +
    +

    NAME

    +

    openssl-dsaparam, +dsaparam - DSA parameter manipulation and generation

    +

    +

    +
    +

    SYNOPSIS

    +

    openssl dsaparam +[-help] +[-inform DER|PEM] +[-outform DER|PEM] +[-in filename] +[-out filename] +[-noout] +[-text] +[-C] +[-rand file...] +[-writerand file] +[-genkey] +[-engine id] +[numbits]

    +

    +

    +
    +

    DESCRIPTION

    +

    This command is used to manipulate or generate DSA parameter files.

    +

    +

    +
    +

    OPTIONS

    +
    +
    -help
    + +
    +

    Print out a usage message.

    +
    +
    -inform DER|PEM
    + +
    +

    This specifies the input format. The DER option uses an ASN1 DER encoded +form compatible with RFC2459 (PKIX) DSS-Parms that is a SEQUENCE consisting +of p, q and g respectively. The PEM form is the default format: it consists +of the DER format base64 encoded with additional header and footer lines.

    +
    +
    -outform DER|PEM
    + +
    +

    This specifies the output format, the options have the same meaning and default +as the -inform option.

    +
    +
    -in filename
    + +
    +

    This specifies the input filename to read parameters from or standard input if +this option is not specified. If the numbits parameter is included then +this option will be ignored.

    +
    +
    -out filename
    + +
    +

    This specifies the output filename parameters to. Standard output is used +if this option is not present. The output filename should not be the same +as the input filename.

    +
    +
    -noout
    + +
    +

    This option inhibits the output of the encoded version of the parameters.

    +
    +
    -text
    + +
    +

    This option prints out the DSA parameters in human readable form.

    +
    +
    -C
    + +
    +

    This option converts the parameters into C code. The parameters can then +be loaded by calling the get_dsaXXX() function.

    +
    +
    -genkey
    + +
    +

    This option will generate a DSA either using the specified or generated +parameters.

    +
    +
    -rand file...
    + +
    +

    A file or files containing random data used to seed the random number +generator. +Multiple files can be specified separated by an OS-dependent character. +The separator is ; for MS-Windows, , for OpenVMS, and : for +all others.

    +
    +
    [-writerand file]
    + +
    +

    Writes random data to the specified file upon exit. +This can be used with a subsequent -rand flag.

    +
    +
    numbits
    + +
    +

    This option specifies that a parameter set should be generated of size +numbits. It must be the last option. If this option is included then +the input file (if any) is ignored.

    +
    +
    -engine id
    + +
    +

    Specifying an engine (by its unique id string) will cause dsaparam +to attempt to obtain a functional reference to the specified engine, +thus initialising it if needed. The engine will then be set as the default +for all available algorithms.

    +
    +
    +

    +

    +
    +

    NOTES

    +

    PEM format DSA parameters use the header and footer lines:

    +
    + -----BEGIN DSA PARAMETERS-----
    + -----END DSA PARAMETERS-----
    +

    DSA parameter generation is a slow process and as a result the same set of +DSA parameters is often used to generate several distinct keys.

    +

    +

    +
    +

    SEE ALSO

    +

    gendsa(1), dsa(1), genrsa(1), +rsa(1)

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man1/ec.html b/linux_amd64/share/doc/openssl/html/man1/ec.html new file mode 100644 index 0000000..3cd9708 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/ec.html @@ -0,0 +1,253 @@ + + + + +ec + + + + + + + + +
    +

    + + + +
    +
    + + +

    +

    +
    +

    NAME

    +

    openssl-ec, +ec - EC key processing

    +

    +

    +
    +

    SYNOPSIS

    +

    openssl ec +[-help] +[-inform PEM|DER] +[-outform PEM|DER] +[-in filename] +[-passin arg] +[-out filename] +[-passout arg] +[-des] +[-des3] +[-idea] +[-text] +[-noout] +[-param_out] +[-pubin] +[-pubout] +[-conv_form arg] +[-param_enc arg] +[-no_public] +[-check] +[-engine id]

    +

    +

    +
    +

    DESCRIPTION

    +

    The ec command processes EC keys. They can be converted between various +forms and their components printed out. Note OpenSSL uses the +private key format specified in 'SEC 1: Elliptic Curve Cryptography' +(http://www.secg.org/). To convert an OpenSSL EC private key into the +PKCS#8 private key format use the pkcs8 command.

    +

    +

    +
    +

    OPTIONS

    +
    +
    -help
    + +
    +

    Print out a usage message.

    +
    +
    -inform DER|PEM
    + +
    +

    This specifies the input format. The DER option with a private key uses +an ASN.1 DER encoded SEC1 private key. When used with a public key it +uses the SubjectPublicKeyInfo structure as specified in RFC 3280. +The PEM form is the default format: it consists of the DER format base64 +encoded with additional header and footer lines. In the case of a private key +PKCS#8 format is also accepted.

    +
    +
    -outform DER|PEM
    + +
    +

    This specifies the output format, the options have the same meaning and default +as the -inform option.

    +
    +
    -in filename
    + +
    +

    This specifies the input filename to read a key from or standard input if this +option is not specified. If the key is encrypted a pass phrase will be +prompted for.

    +
    +
    -passin arg
    + +
    +

    The input file password source. For more information about the format of arg +see the PASS PHRASE ARGUMENTS section in openssl(1).

    +
    +
    -out filename
    + +
    +

    This specifies the output filename to write a key to or standard output by +is not specified. If any encryption options are set then a pass phrase will be +prompted for. The output filename should not be the same as the input +filename.

    +
    +
    -passout arg
    + +
    +

    The output file password source. For more information about the format of arg +see the PASS PHRASE ARGUMENTS section in openssl(1).

    +
    +
    -des|-des3|-idea
    + +
    +

    These options encrypt the private key with the DES, triple DES, IDEA or +any other cipher supported by OpenSSL before outputting it. A pass phrase is +prompted for. +If none of these options is specified the key is written in plain text. This +means that using the ec utility to read in an encrypted key with no +encryption option can be used to remove the pass phrase from a key, or by +setting the encryption options it can be use to add or change the pass phrase. +These options can only be used with PEM format output files.

    +
    +
    -text
    + +
    +

    Prints out the public, private key components and parameters.

    +
    +
    -noout
    + +
    +

    This option prevents output of the encoded version of the key.

    +
    +
    -pubin
    + +
    +

    By default, a private key is read from the input file. With this option a +public key is read instead.

    +
    +
    -pubout
    + +
    +

    By default a private key is output. With this option a public +key will be output instead. This option is automatically set if the input is +a public key.

    +
    +
    -conv_form
    + +
    +

    This specifies how the points on the elliptic curve are converted +into octet strings. Possible values are: compressed (the default +value), uncompressed and hybrid. For more information regarding +the point conversion forms please read the X9.62 standard. +Note Due to patent issues the compressed option is disabled +by default for binary curves and can be enabled by defining +the preprocessor macro OPENSSL_EC_BIN_PT_COMP at compile time.

    +
    +
    -param_enc arg
    + +
    +

    This specifies how the elliptic curve parameters are encoded. +Possible value are: named_curve, i.e. the ec parameters are +specified by an OID, or explicit where the ec parameters are +explicitly given (see RFC 3279 for the definition of the +EC parameters structures). The default value is named_curve. +Note the implicitlyCA alternative, as specified in RFC 3279, +is currently not implemented in OpenSSL.

    +
    +
    -no_public
    + +
    +

    This option omits the public key components from the private key output.

    +
    +
    -check
    + +
    +

    This option checks the consistency of an EC private or public key.

    +
    +
    -engine id
    + +
    +

    Specifying an engine (by its unique id string) will cause ec +to attempt to obtain a functional reference to the specified engine, +thus initialising it if needed. The engine will then be set as the default +for all available algorithms.

    +
    +
    +

    +

    +
    +

    NOTES

    +

    The PEM private key format uses the header and footer lines:

    +
    + -----BEGIN EC PRIVATE KEY-----
    + -----END EC PRIVATE KEY-----
    +

    The PEM public key format uses the header and footer lines:

    +
    + -----BEGIN PUBLIC KEY-----
    + -----END PUBLIC KEY-----
    +

    +

    +
    +

    EXAMPLES

    +

    To encrypt a private key using triple DES:

    +
    + openssl ec -in key.pem -des3 -out keyout.pem
    +

    To convert a private key from PEM to DER format:

    +
    + openssl ec -in key.pem -outform DER -out keyout.der
    +

    To print out the components of a private key to standard output:

    +
    + openssl ec -in key.pem -text -noout
    +

    To just output the public part of a private key:

    +
    + openssl ec -in key.pem -pubout -out pubkey.pem
    +

    To change the parameters encoding to explicit:

    +
    + openssl ec -in key.pem -param_enc explicit -out keyout.pem
    +

    To change the point conversion form to compressed:

    +
    + openssl ec -in key.pem -conv_form compressed -out keyout.pem
    +

    +

    +
    +

    SEE ALSO

    +

    ecparam(1), dsa(1), rsa(1)

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2003-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man1/ecparam.html b/linux_amd64/share/doc/openssl/html/man1/ecparam.html new file mode 100644 index 0000000..e1fdce6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/ecparam.html @@ -0,0 +1,243 @@ + + + + +ecparam + + + + + + + + +
    +

    + + + +
    +
    + + +

    +

    +
    +

    NAME

    +

    openssl-ecparam, +ecparam - EC parameter manipulation and generation

    +

    +

    +
    +

    SYNOPSIS

    +

    openssl ecparam +[-help] +[-inform DER|PEM] +[-outform DER|PEM] +[-in filename] +[-out filename] +[-noout] +[-text] +[-C] +[-check] +[-name arg] +[-list_curves] +[-conv_form arg] +[-param_enc arg] +[-no_seed] +[-rand file...] +[-writerand file] +[-genkey] +[-engine id]

    +

    +

    +
    +

    DESCRIPTION

    +

    This command is used to manipulate or generate EC parameter files.

    +

    +

    +
    +

    OPTIONS

    +
    +
    -help
    + +
    +

    Print out a usage message.

    +
    +
    -inform DER|PEM
    + +
    +

    This specifies the input format. The DER option uses an ASN.1 DER encoded +form compatible with RFC 3279 EcpkParameters. The PEM form is the default +format: it consists of the DER format base64 encoded with additional +header and footer lines.

    +
    +
    -outform DER|PEM
    + +
    +

    This specifies the output format, the options have the same meaning and default +as the -inform option.

    +
    +
    -in filename
    + +
    +

    This specifies the input filename to read parameters from or standard input if +this option is not specified.

    +
    +
    -out filename
    + +
    +

    This specifies the output filename parameters to. Standard output is used +if this option is not present. The output filename should not be the same +as the input filename.

    +
    +
    -noout
    + +
    +

    This option inhibits the output of the encoded version of the parameters.

    +
    +
    -text
    + +
    +

    This option prints out the EC parameters in human readable form.

    +
    +
    -C
    + +
    +

    This option converts the EC parameters into C code. The parameters can then +be loaded by calling the get_ec_group_XXX() function.

    +
    +
    -check
    + +
    +

    Validate the elliptic curve parameters.

    +
    +
    -name arg
    + +
    +

    Use the EC parameters with the specified 'short' name. Use -list_curves +to get a list of all currently implemented EC parameters.

    +
    +
    -list_curves
    + +
    +

    If this options is specified ecparam will print out a list of all +currently implemented EC parameters names and exit.

    +
    +
    -conv_form
    + +
    +

    This specifies how the points on the elliptic curve are converted +into octet strings. Possible values are: compressed, uncompressed (the +default value) and hybrid. For more information regarding +the point conversion forms please read the X9.62 standard. +Note Due to patent issues the compressed option is disabled +by default for binary curves and can be enabled by defining +the preprocessor macro OPENSSL_EC_BIN_PT_COMP at compile time.

    +
    +
    -param_enc arg
    + +
    +

    This specifies how the elliptic curve parameters are encoded. +Possible value are: named_curve, i.e. the ec parameters are +specified by an OID, or explicit where the ec parameters are +explicitly given (see RFC 3279 for the definition of the +EC parameters structures). The default value is named_curve. +Note the implicitlyCA alternative, as specified in RFC 3279, +is currently not implemented in OpenSSL.

    +
    +
    -no_seed
    + +
    +

    This option inhibits that the 'seed' for the parameter generation +is included in the ECParameters structure (see RFC 3279).

    +
    +
    -genkey
    + +
    +

    This option will generate an EC private key using the specified parameters.

    +
    +
    -rand file...
    + +
    +

    A file or files containing random data used to seed the random number +generator. +Multiple files can be specified separated by an OS-dependent character. +The separator is ; for MS-Windows, , for OpenVMS, and : for +all others.

    +
    +
    [-writerand file]
    + +
    +

    Writes random data to the specified file upon exit. +This can be used with a subsequent -rand flag.

    +
    +
    -engine id
    + +
    +

    Specifying an engine (by its unique id string) will cause ecparam +to attempt to obtain a functional reference to the specified engine, +thus initialising it if needed. The engine will then be set as the default +for all available algorithms.

    +
    +
    +

    +

    +
    +

    NOTES

    +

    PEM format EC parameters use the header and footer lines:

    +
    + -----BEGIN EC PARAMETERS-----
    + -----END EC PARAMETERS-----
    +

    OpenSSL is currently not able to generate new groups and therefore +ecparam can only create EC parameters from known (named) curves.

    +

    +

    +
    +

    EXAMPLES

    +

    To create EC parameters with the group 'prime192v1':

    +
    +  openssl ecparam -out ec_param.pem -name prime192v1
    +

    To create EC parameters with explicit parameters:

    +
    +  openssl ecparam -out ec_param.pem -name prime192v1 -param_enc explicit
    +

    To validate given EC parameters:

    +
    +  openssl ecparam -in ec_param.pem -check
    +

    To create EC parameters and a private key:

    +
    +  openssl ecparam -out ec_key.pem -name prime192v1 -genkey
    +

    To change the point encoding to 'compressed':

    +
    +  openssl ecparam -in ec_in.pem -out ec_out.pem -conv_form compressed
    +

    To print out the EC parameters to standard output:

    +
    +  openssl ecparam -in ec_param.pem -noout -text
    +

    +

    +
    +

    SEE ALSO

    +

    ec(1), dsaparam(1)

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2003-2018 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man1/enc.html b/linux_amd64/share/doc/openssl/html/man1/enc.html new file mode 100644 index 0000000..5535782 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/enc.html @@ -0,0 +1,491 @@ + + + + +enc + + + + + + + + + + + +

    +

    +
    +

    NAME

    +

    openssl-enc, +enc - symmetric cipher routines

    +

    +

    +
    +

    SYNOPSIS

    +

    openssl enc -cipher +[-help] +[-list] +[-ciphers] +[-in filename] +[-out filename] +[-pass arg] +[-e] +[-d] +[-a] +[-base64] +[-A] +[-k password] +[-kfile filename] +[-K key] +[-iv IV] +[-S salt] +[-salt] +[-nosalt] +[-z] +[-md digest] +[-iter count] +[-pbkdf2] +[-p] +[-P] +[-bufsize number] +[-nopad] +[-debug] +[-none] +[-rand file...] +[-writerand file] +[-engine id]

    +

    openssl [cipher] [...]

    +

    +

    +
    +

    DESCRIPTION

    +

    The symmetric cipher commands allow data to be encrypted or decrypted +using various block and stream ciphers using keys based on passwords +or explicitly provided. Base64 encoding or decoding can also be performed +either by itself or in addition to the encryption or decryption.

    +

    +

    +
    +

    OPTIONS

    +
    +
    -help
    + +
    +

    Print out a usage message.

    +
    +
    -list
    + +
    +

    List all supported ciphers.

    +
    +
    -ciphers
    + +
    +

    Alias of -list to display all supported ciphers.

    +
    +
    -in filename
    + +
    +

    The input filename, standard input by default.

    +
    +
    -out filename
    + +
    +

    The output filename, standard output by default.

    +
    +
    -pass arg
    + +
    +

    The password source. For more information about the format of arg +see the PASS PHRASE ARGUMENTS section in openssl(1).

    +
    +
    -e
    + +
    +

    Encrypt the input data: this is the default.

    +
    +
    -d
    + +
    +

    Decrypt the input data.

    +
    +
    -a
    + +
    +

    Base64 process the data. This means that if encryption is taking place +the data is base64 encoded after encryption. If decryption is set then +the input data is base64 decoded before being decrypted.

    +
    +
    -base64
    + +
    +

    Same as -a

    +
    +
    -A
    + +
    +

    If the -a option is set then base64 process the data on one line.

    +
    +
    -k password
    + +
    +

    The password to derive the key from. This is for compatibility with previous +versions of OpenSSL. Superseded by the -pass argument.

    +
    +
    -kfile filename
    + +
    +

    Read the password to derive the key from the first line of filename. +This is for compatibility with previous versions of OpenSSL. Superseded by +the -pass argument.

    +
    +
    -md digest
    + +
    +

    Use the specified digest to create the key from the passphrase. +The default algorithm is sha-256.

    +
    +
    -iter count
    + +
    +

    Use a given number of iterations on the password in deriving the encryption key. +High values increase the time required to brute-force the resulting file. +This option enables the use of PBKDF2 algorithm to derive the key.

    +
    +
    -pbkdf2
    + +
    +

    Use PBKDF2 algorithm with default iteration count unless otherwise specified.

    +
    +
    -nosalt
    + +
    +

    Don't use a salt in the key derivation routines. This option SHOULD NOT be +used except for test purposes or compatibility with ancient versions of +OpenSSL.

    +
    +
    -salt
    + +
    +

    Use salt (randomly generated or provide with -S option) when +encrypting, this is the default.

    +
    +
    -S salt
    + +
    +

    The actual salt to use: this must be represented as a string of hex digits.

    +
    +
    -K key
    + +
    +

    The actual key to use: this must be represented as a string comprised only +of hex digits. If only the key is specified, the IV must additionally specified +using the -iv option. When both a key and a password are specified, the +key given with the -K option will be used and the IV generated from the +password will be taken. It does not make much sense to specify both key +and password.

    +
    +
    -iv IV
    + +
    +

    The actual IV to use: this must be represented as a string comprised only +of hex digits. When only the key is specified using the -K option, the +IV must explicitly be defined. When a password is being specified using +one of the other options, the IV is generated from this password.

    +
    +
    -p
    + +
    +

    Print out the key and IV used.

    +
    +
    -P
    + +
    +

    Print out the key and IV used then immediately exit: don't do any encryption +or decryption.

    +
    +
    -bufsize number
    + +
    +

    Set the buffer size for I/O.

    +
    +
    -nopad
    + +
    +

    Disable standard block padding.

    +
    +
    -debug
    + +
    +

    Debug the BIOs used for I/O.

    +
    +
    -z
    + +
    +

    Compress or decompress clear text using zlib before encryption or after +decryption. This option exists only if OpenSSL with compiled with zlib +or zlib-dynamic option.

    +
    +
    -none
    + +
    +

    Use NULL cipher (no encryption or decryption of input).

    +
    +
    -rand file...
    + +
    +

    A file or files containing random data used to seed the random number +generator. +Multiple files can be specified separated by an OS-dependent character. +The separator is ; for MS-Windows, , for OpenVMS, and : for +all others.

    +
    +
    [-writerand file]
    + +
    +

    Writes random data to the specified file upon exit. +This can be used with a subsequent -rand flag.

    +
    +
    +

    +

    +
    +

    NOTES

    +

    The program can be called either as openssl cipher or +openssl enc -cipher. The first form doesn't work with +engine-provided ciphers, because this form is processed before the +configuration file is read and any ENGINEs loaded. +Use the list command to get a list of supported ciphers.

    +

    Engines which provide entirely new encryption algorithms (such as the ccgost +engine which provides gost89 algorithm) should be configured in the +configuration file. Engines specified on the command line using -engine +options can only be used for hardware-assisted implementations of +ciphers which are supported by the OpenSSL core or another engine specified +in the configuration file.

    +

    When the enc command lists supported ciphers, ciphers provided by engines, +specified in the configuration files are listed too.

    +

    A password will be prompted for to derive the key and IV if necessary.

    +

    The -salt option should ALWAYS be used if the key is being derived +from a password unless you want compatibility with previous versions of +OpenSSL.

    +

    Without the -salt option it is possible to perform efficient dictionary +attacks on the password and to attack stream cipher encrypted data. The reason +for this is that without the salt the same password always generates the same +encryption key. When the salt is being used the first eight bytes of the +encrypted data are reserved for the salt: it is generated at random when +encrypting a file and read from the encrypted file when it is decrypted.

    +

    Some of the ciphers do not have large keys and others have security +implications if not used correctly. A beginner is advised to just use +a strong block cipher, such as AES, in CBC mode.

    +

    All the block ciphers normally use PKCS#5 padding, also known as standard +block padding. This allows a rudimentary integrity or password check to +be performed. However since the chance of random data passing the test +is better than 1 in 256 it isn't a very good test.

    +

    If padding is disabled then the input data must be a multiple of the cipher +block length.

    +

    All RC2 ciphers have the same key and effective key length.

    +

    Blowfish and RC5 algorithms use a 128 bit key.

    +

    +

    +
    +

    SUPPORTED CIPHERS

    +

    Note that some of these ciphers can be disabled at compile time +and some are available only if an appropriate engine is configured +in the configuration file. The output of the enc command run with +the -ciphers option (that is openssl enc -ciphers) produces a +list of ciphers, supported by your version of OpenSSL, including +ones provided by configured engines.

    +

    The enc program does not support authenticated encryption modes +like CCM and GCM, and will not support such modes in the future. +The enc interface by necessity must begin streaming output (e.g., +to standard output when -out is not used) before the authentication +tag could be validated, leading to the usage of enc in pipelines +that begin processing untrusted data and are not capable of rolling +back upon authentication failure. The AEAD modes currently in common +use also suffer from catastrophic failure of confidentiality and/or +integrity upon reuse of key/iv/nonce, and since enc places the +entire burden of key/iv/nonce management upon the user, the risk of +exposing AEAD modes is too great to allow. These key/iv/nonce +management issues also affect other modes currently exposed in enc, +but the failure modes are less extreme in these cases, and the +functionality cannot be removed with a stable release branch. +For bulk encryption of data, whether using authenticated encryption +modes or other modes, cms(1) is recommended, as it provides a +standard data format and performs the needed key/iv/nonce management.

    +
    + base64             Base 64
    +
    + bf-cbc             Blowfish in CBC mode
    + bf                 Alias for bf-cbc
    + blowfish           Alias for bf-cbc
    + bf-cfb             Blowfish in CFB mode
    + bf-ecb             Blowfish in ECB mode
    + bf-ofb             Blowfish in OFB mode
    +
    + cast-cbc           CAST in CBC mode
    + cast               Alias for cast-cbc
    + cast5-cbc          CAST5 in CBC mode
    + cast5-cfb          CAST5 in CFB mode
    + cast5-ecb          CAST5 in ECB mode
    + cast5-ofb          CAST5 in OFB mode
    +
    + chacha20           ChaCha20 algorithm
    +
    + des-cbc            DES in CBC mode
    + des                Alias for des-cbc
    + des-cfb            DES in CFB mode
    + des-ofb            DES in OFB mode
    + des-ecb            DES in ECB mode
    +
    + des-ede-cbc        Two key triple DES EDE in CBC mode
    + des-ede            Two key triple DES EDE in ECB mode
    + des-ede-cfb        Two key triple DES EDE in CFB mode
    + des-ede-ofb        Two key triple DES EDE in OFB mode
    +
    + des-ede3-cbc       Three key triple DES EDE in CBC mode
    + des-ede3           Three key triple DES EDE in ECB mode
    + des3               Alias for des-ede3-cbc
    + des-ede3-cfb       Three key triple DES EDE CFB mode
    + des-ede3-ofb       Three key triple DES EDE in OFB mode
    +
    + desx               DESX algorithm.
    +
    + gost89             GOST 28147-89 in CFB mode (provided by ccgost engine)
    + gost89-cnt        `GOST 28147-89 in CNT mode (provided by ccgost engine)
    +
    + idea-cbc           IDEA algorithm in CBC mode
    + idea               same as idea-cbc
    + idea-cfb           IDEA in CFB mode
    + idea-ecb           IDEA in ECB mode
    + idea-ofb           IDEA in OFB mode
    +
    + rc2-cbc            128 bit RC2 in CBC mode
    + rc2                Alias for rc2-cbc
    + rc2-cfb            128 bit RC2 in CFB mode
    + rc2-ecb            128 bit RC2 in ECB mode
    + rc2-ofb            128 bit RC2 in OFB mode
    + rc2-64-cbc         64 bit RC2 in CBC mode
    + rc2-40-cbc         40 bit RC2 in CBC mode
    +
    + rc4                128 bit RC4
    + rc4-64             64 bit RC4
    + rc4-40             40 bit RC4
    +
    + rc5-cbc            RC5 cipher in CBC mode
    + rc5                Alias for rc5-cbc
    + rc5-cfb            RC5 cipher in CFB mode
    + rc5-ecb            RC5 cipher in ECB mode
    + rc5-ofb            RC5 cipher in OFB mode
    +
    + seed-cbc           SEED cipher in CBC mode
    + seed               Alias for seed-cbc
    + seed-cfb           SEED cipher in CFB mode
    + seed-ecb           SEED cipher in ECB mode
    + seed-ofb           SEED cipher in OFB mode
    +
    + sm4-cbc            SM4 cipher in CBC mode
    + sm4                Alias for sm4-cbc
    + sm4-cfb            SM4 cipher in CFB mode
    + sm4-ctr            SM4 cipher in CTR mode
    + sm4-ecb            SM4 cipher in ECB mode
    + sm4-ofb            SM4 cipher in OFB mode
    +
    + aes-[128|192|256]-cbc  128/192/256 bit AES in CBC mode
    + aes[128|192|256]       Alias for aes-[128|192|256]-cbc
    + aes-[128|192|256]-cfb  128/192/256 bit AES in 128 bit CFB mode
    + aes-[128|192|256]-cfb1 128/192/256 bit AES in 1 bit CFB mode
    + aes-[128|192|256]-cfb8 128/192/256 bit AES in 8 bit CFB mode
    + aes-[128|192|256]-ctr  128/192/256 bit AES in CTR mode
    + aes-[128|192|256]-ecb  128/192/256 bit AES in ECB mode
    + aes-[128|192|256]-ofb  128/192/256 bit AES in OFB mode
    +
    + aria-[128|192|256]-cbc  128/192/256 bit ARIA in CBC mode
    + aria[128|192|256]       Alias for aria-[128|192|256]-cbc
    + aria-[128|192|256]-cfb  128/192/256 bit ARIA in 128 bit CFB mode
    + aria-[128|192|256]-cfb1 128/192/256 bit ARIA in 1 bit CFB mode
    + aria-[128|192|256]-cfb8 128/192/256 bit ARIA in 8 bit CFB mode
    + aria-[128|192|256]-ctr  128/192/256 bit ARIA in CTR mode
    + aria-[128|192|256]-ecb  128/192/256 bit ARIA in ECB mode
    + aria-[128|192|256]-ofb  128/192/256 bit ARIA in OFB mode
    +
    + camellia-[128|192|256]-cbc  128/192/256 bit Camellia in CBC mode
    + camellia[128|192|256]       Alias for camellia-[128|192|256]-cbc
    + camellia-[128|192|256]-cfb  128/192/256 bit Camellia in 128 bit CFB mode
    + camellia-[128|192|256]-cfb1 128/192/256 bit Camellia in 1 bit CFB mode
    + camellia-[128|192|256]-cfb8 128/192/256 bit Camellia in 8 bit CFB mode
    + camellia-[128|192|256]-ctr  128/192/256 bit Camellia in CTR mode
    + camellia-[128|192|256]-ecb  128/192/256 bit Camellia in ECB mode
    + camellia-[128|192|256]-ofb  128/192/256 bit Camellia in OFB mode
    +

    +

    +
    +

    EXAMPLES

    +

    Just base64 encode a binary file:

    +
    + openssl base64 -in file.bin -out file.b64
    +

    Decode the same file

    +
    + openssl base64 -d -in file.b64 -out file.bin
    +

    Encrypt a file using AES-128 using a prompted password +and PBKDF2 key derivation:

    +
    + openssl enc -aes128 -pbkdf2 -in file.txt -out file.aes128
    +

    Decrypt a file using a supplied password:

    +
    + openssl enc -aes128 -pbkdf2 -d -in file.aes128 -out file.txt \
    +    -pass pass:<password>
    +

    Encrypt a file then base64 encode it (so it can be sent via mail for example) +using AES-256 in CTR mode and PBKDF2 key derivation:

    +
    + openssl enc -aes-256-ctr -pbkdf2 -a -in file.txt -out file.aes256
    +

    Base64 decode a file then decrypt it using a password supplied in a file:

    +
    + openssl enc -aes-256-ctr -pbkdf2 -d -a -in file.aes256 -out file.txt \
    +    -pass file:<passfile>;
    +

    +

    +
    +

    BUGS

    +

    The -A option when used with large files doesn't work properly.

    +

    The enc program only supports a fixed number of algorithms with +certain parameters. So if, for example, you want to use RC2 with a +76 bit key or RC4 with an 84 bit key you can't use this program.

    +

    +

    +
    +

    HISTORY

    +

    The default digest was changed from MD5 to SHA256 in OpenSSL 1.1.0.

    +

    The -list option was added in OpenSSL 1.1.1e.

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man1/engine.html b/linux_amd64/share/doc/openssl/html/man1/engine.html new file mode 100644 index 0000000..2318cef --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/engine.html @@ -0,0 +1,162 @@ + + + + +engine + + + + + + + + + + + +

    +

    +
    +

    NAME

    +

    openssl-engine, +engine - load and query engines

    +

    +

    +
    +

    SYNOPSIS

    +

    openssl engine +[ engine... ] +[-v] +[-vv] +[-vvv] +[-vvv] +[-vvv] +[-c] +[-t] +[-tt] +[-pre command] +[-post command] +[ engine... ]

    +

    +

    +
    +

    DESCRIPTION

    +

    The engine command is used to query the status and capabilities +of the specified engine's. +Engines may be specified before and after all other command-line flags. +Only those specified are queried.

    +

    +

    +
    +

    OPTIONS

    +
    +
    -v -vv -vvv -vvvv
    + +
    +

    Provides information about each specified engine. The first flag lists +all the possible run-time control commands; the second adds a +description of each command; the third adds the input flags, and the +final option adds the internal input flags.

    +
    +
    -c
    + +
    +

    Lists the capabilities of each engine.

    +
    +
    -t
    + +
    +

    Tests if each specified engine is available, and displays the answer.

    +
    +
    -tt
    + +
    +

    Displays an error trace for any unavailable engine.

    +
    +
    -pre command
    + +
    -post command
    + +
    +

    Command-line configuration of engines. +The -pre command is given to the engine before it is loaded and +the -post command is given after the engine is loaded. +The command is of the form cmd:val where cmd is the command, +and val is the value for the command. +See the example below.

    +
    +
    +

    +

    +
    +

    EXAMPLES

    +

    To list all the commands available to a dynamic engine:

    +
    + $ openssl engine -t -tt -vvvv dynamic
    + (dynamic) Dynamic engine loading support
    +      [ unavailable ]
    +      SO_PATH: Specifies the path to the new ENGINE shared library
    +           (input flags): STRING
    +      NO_VCHECK: Specifies to continue even if version checking fails (boolean)
    +           (input flags): NUMERIC
    +      ID: Specifies an ENGINE id name for loading
    +           (input flags): STRING
    +      LIST_ADD: Whether to add a loaded ENGINE to the internal list (0=no,1=yes,2=mandatory)
    +           (input flags): NUMERIC
    +      DIR_LOAD: Specifies whether to load from 'DIR_ADD' directories (0=no,1=yes,2=mandatory)
    +           (input flags): NUMERIC
    +      DIR_ADD: Adds a directory from which ENGINEs can be loaded
    +           (input flags): STRING
    +      LOAD: Load up the ENGINE specified by other settings
    +           (input flags): NO_INPUT
    +

    To list the capabilities of the rsax engine:

    +
    + $ openssl engine -c
    + (rsax) RSAX engine support
    +  [RSA]
    + (dynamic) Dynamic engine loading support
    +

    +

    +
    +

    ENVIRONMENT

    +
    +
    OPENSSL_ENGINES
    + +
    +

    The path to the engines directory.

    +
    +
    +

    +

    +
    +

    SEE ALSO

    +

    config(5)

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man1/errstr.html b/linux_amd64/share/doc/openssl/html/man1/errstr.html new file mode 100644 index 0000000..adbfad1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/errstr.html @@ -0,0 +1,80 @@ + + + + +errstr + + + + + + + + +
    +

    + + + +
    +
    + + +

    +

    +
    +

    NAME

    +

    openssl-errstr, +errstr - lookup error codes

    +

    +

    +
    +

    SYNOPSIS

    +

    openssl errstr error_code

    +

    +

    +
    +

    DESCRIPTION

    +

    Sometimes an application will not load error message and only +numerical forms will be available. The errstr utility can be used to +display the meaning of the hex code. The hex code is the hex digits after the +second colon.

    +

    +

    +
    +

    OPTIONS

    +

    None.

    +

    +

    +
    +

    EXAMPLES

    +

    The error code:

    +
    + 27594:error:2006D080:lib(32):func(109):reason(128):bss_file.c:107:
    +

    can be displayed with:

    +
    + openssl errstr 2006D080
    +

    to produce the error message:

    +
    + error:2006D080:BIO routines:BIO_new_file:no such file
    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2004-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man1/gendsa.html b/linux_amd64/share/doc/openssl/html/man1/gendsa.html new file mode 100644 index 0000000..197f5ad --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/gendsa.html @@ -0,0 +1,145 @@ + + + + +gendsa + + + + + + + + +
    +

    + + + +
    +
    + + +

    +

    +
    +

    NAME

    +

    openssl-gendsa, +gendsa - generate a DSA private key from a set of parameters

    +

    +

    +
    +

    SYNOPSIS

    +

    openssl gendsa +[-help] +[-out filename] +[-aes128] +[-aes192] +[-aes256] +[-aria128] +[-aria192] +[-aria256] +[-camellia128] +[-camellia192] +[-camellia256] +[-des] +[-des3] +[-idea] +[-rand file...] +[-writerand file] +[-engine id] +[paramfile]

    +

    +

    +
    +

    DESCRIPTION

    +

    The gendsa command generates a DSA private key from a DSA parameter file +(which will be typically generated by the openssl dsaparam command).

    +

    +

    +
    +

    OPTIONS

    +
    +
    -help
    + +
    +

    Print out a usage message.

    +
    +
    -out filename
    + +
    +

    Output the key to the specified file. If this argument is not specified then +standard output is used.

    +
    +
    -aes128, -aes192, -aes256, -aria128, -aria192, -aria256, -camellia128, -camellia192, -camellia256, -des, -des3, -idea
    + +
    +

    These options encrypt the private key with specified +cipher before outputting it. A pass phrase is prompted for. +If none of these options is specified no encryption is used.

    +
    +
    -rand file...
    + +
    +

    A file or files containing random data used to seed the random number +generator. +Multiple files can be specified separated by an OS-dependent character. +The separator is ; for MS-Windows, , for OpenVMS, and : for +all others.

    +
    +
    [-writerand file]
    + +
    +

    Writes random data to the specified file upon exit. +This can be used with a subsequent -rand flag.

    +
    +
    -engine id
    + +
    +

    Specifying an engine (by its unique id string) will cause gendsa +to attempt to obtain a functional reference to the specified engine, +thus initialising it if needed. The engine will then be set as the default +for all available algorithms.

    +
    +
    paramfile
    + +
    +

    This option specifies the DSA parameter file to use. The parameters in this +file determine the size of the private key. DSA parameters can be generated +and examined using the openssl dsaparam command.

    +
    +
    +

    +

    +
    +

    NOTES

    +

    DSA key generation is little more than random number generation so it is +much quicker that RSA key generation for example.

    +

    +

    +
    +

    SEE ALSO

    +

    dsaparam(1), dsa(1), genrsa(1), +rsa(1)

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man1/genpkey.html b/linux_amd64/share/doc/openssl/html/man1/genpkey.html new file mode 100644 index 0000000..cd19996 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/genpkey.html @@ -0,0 +1,397 @@ + + + + +genpkey + + + + + + + + + + + +

    +

    +
    +

    NAME

    +

    openssl-genpkey, +genpkey - generate a private key

    +

    +

    +
    +

    SYNOPSIS

    +

    openssl genpkey +[-help] +[-out filename] +[-outform PEM|DER] +[-pass arg] +[-cipher] +[-engine id] +[-paramfile file] +[-algorithm alg] +[-pkeyopt opt:value] +[-genparam] +[-text]

    +

    +

    +
    +

    DESCRIPTION

    +

    The genpkey command generates a private key.

    +

    +

    +
    +

    OPTIONS

    +
    +
    -help
    + +
    +

    Print out a usage message.

    +
    +
    -out filename
    + +
    +

    Output the key to the specified file. If this argument is not specified then +standard output is used.

    +
    +
    -outform DER|PEM
    + +
    +

    This specifies the output format DER or PEM. The default format is PEM.

    +
    +
    -pass arg
    + +
    +

    The output file password source. For more information about the format of arg +see the PASS PHRASE ARGUMENTS section in openssl(1).

    +
    +
    -cipher
    + +
    +

    This option encrypts the private key with the supplied cipher. Any algorithm +name accepted by EVP_get_cipherbyname() is acceptable such as des3.

    +
    +
    -engine id
    + +
    +

    Specifying an engine (by its unique id string) will cause genpkey +to attempt to obtain a functional reference to the specified engine, +thus initialising it if needed. The engine will then be set as the default +for all available algorithms. If used this option should precede all other +options.

    +
    +
    -algorithm alg
    + +
    +

    Public key algorithm to use such as RSA, DSA or DH. If used this option must +precede any -pkeyopt options. The options -paramfile and -algorithm +are mutually exclusive. Engines may add algorithms in addition to the standard +built-in ones.

    +

    Valid built-in algorithm names for private key generation are RSA, RSA-PSS, EC, +X25519, X448, ED25519 and ED448.

    +

    Valid built-in algorithm names for parameter generation (see the -genparam +option) are DH, DSA and EC.

    +

    Note that the algorithm name X9.42 DH may be used as a synonym for the DH +algorithm. These are identical and do not indicate the type of parameters that +will be generated. Use the dh_paramgen_type option to indicate whether PKCS#3 +or X9.42 DH parameters are required. See DH Parameter Generation Options +below for more details.

    +
    +
    -pkeyopt opt:value
    + +
    +

    Set the public key algorithm option opt to value. The precise set of +options supported depends on the public key algorithm used and its +implementation. See KEY GENERATION OPTIONS and +PARAMETER GENERATION OPTIONS below for more details.

    +
    +
    -genparam
    + +
    +

    Generate a set of parameters instead of a private key. If used this option must +precede any -algorithm, -paramfile or -pkeyopt options.

    +
    +
    -paramfile filename
    + +
    +

    Some public key algorithms generate a private key based on a set of parameters. +They can be supplied using this option. If this option is used the public key +algorithm used is determined by the parameters. If used this option must +precede any -pkeyopt options. The options -paramfile and -algorithm +are mutually exclusive.

    +
    +
    -text
    + +
    +

    Print an (unencrypted) text representation of private and public keys and +parameters along with the PEM or DER structure.

    +
    +
    +

    +

    +
    +

    KEY GENERATION OPTIONS

    +

    The options supported by each algorithm and indeed each implementation of an +algorithm can vary. The options for the OpenSSL implementations are detailed +below. There are no key generation options defined for the X25519, X448, ED25519 +or ED448 algorithms.

    +

    +

    +

    RSA Key Generation Options

    +
    +
    rsa_keygen_bits:numbits
    + +
    +

    The number of bits in the generated key. If not specified 2048 is used.

    +
    +
    rsa_keygen_primes:numprimes
    + +
    +

    The number of primes in the generated key. If not specified 2 is used.

    +
    +
    rsa_keygen_pubexp:value
    + +
    +

    The RSA public exponent value. This can be a large decimal or +hexadecimal value if preceded by 0x. Default value is 65537.

    +
    +
    +

    +

    +

    RSA-PSS Key Generation Options

    +

    Note: by default an RSA-PSS key has no parameter restrictions.

    +
    +
    rsa_keygen_bits:numbits, rsa_keygen_primes:numprimes, rsa_keygen_pubexp:value
    + +
    +

    These options have the same meaning as the RSA algorithm.

    +
    +
    rsa_pss_keygen_md:digest
    + +
    +

    If set the key is restricted and can only use digest for signing.

    +
    +
    rsa_pss_keygen_mgf1_md:digest
    + +
    +

    If set the key is restricted and can only use digest as it's MGF1 +parameter.

    +
    +
    rsa_pss_keygen_saltlen:len
    + +
    +

    If set the key is restricted and len specifies the minimum salt length.

    +
    +
    +

    +

    +

    EC Key Generation Options

    +

    The EC key generation options can also be used for parameter generation.

    +
    +
    ec_paramgen_curve:curve
    + +
    +

    The EC curve to use. OpenSSL supports NIST curve names such as "P-256".

    +
    +
    ec_param_enc:encoding
    + +
    +

    The encoding to use for parameters. The "encoding" parameter must be either +"named_curve" or "explicit". The default value is "named_curve".

    +
    +
    +

    +

    +
    +

    PARAMETER GENERATION OPTIONS

    +

    The options supported by each algorithm and indeed each implementation of an +algorithm can vary. The options for the OpenSSL implementations are detailed +below.

    +

    +

    +

    DSA Parameter Generation Options

    +
    +
    dsa_paramgen_bits:numbits
    + +
    +

    The number of bits in the generated prime. If not specified 2048 is used.

    +
    +
    dsa_paramgen_q_bits:numbits
    + +
    +

    The number of bits in the q parameter. Must be one of 160, 224 or 256. If not +specified 224 is used.

    +
    +
    dsa_paramgen_md:digest
    + +
    +

    The digest to use during parameter generation. Must be one of sha1, sha224 +or sha256. If set, then the number of bits in q will match the output size +of the specified digest and the dsa_paramgen_q_bits parameter will be +ignored. If not set, then a digest will be used that gives an output matching +the number of bits in q, i.e. sha1 if q length is 160, sha224 if it 224 +or sha256 if it is 256.

    +
    +
    +

    +

    +

    DH Parameter Generation Options

    +
    +
    dh_paramgen_prime_len:numbits
    + +
    +

    The number of bits in the prime parameter p. The default is 2048.

    +
    +
    dh_paramgen_subprime_len:numbits
    + +
    +

    The number of bits in the sub prime parameter q. The default is 256 if the +prime is at least 2048 bits long or 160 otherwise. Only relevant if used in +conjunction with the dh_paramgen_type option to generate X9.42 DH parameters.

    +
    +
    dh_paramgen_generator:value
    + +
    +

    The value to use for the generator g. The default is 2.

    +
    +
    dh_paramgen_type:value
    + +
    +

    The type of DH parameters to generate. Use 0 for PKCS#3 DH and 1 for X9.42 DH. +The default is 0.

    +
    +
    dh_rfc5114:num
    + +
    +

    If this option is set, then the appropriate RFC5114 parameters are used +instead of generating new parameters. The value num can take the +values 1, 2 or 3 corresponding to RFC5114 DH parameters consisting of +1024 bit group with 160 bit subgroup, 2048 bit group with 224 bit subgroup +and 2048 bit group with 256 bit subgroup as mentioned in RFC5114 sections +2.1, 2.2 and 2.3 respectively. If present this overrides all other DH parameter +options.

    +
    +
    +

    +

    +

    EC Parameter Generation Options

    +

    The EC parameter generation options are the same as for key generation. See +EC Key Generation Options above.

    +

    +

    +
    +

    NOTES

    +

    The use of the genpkey program is encouraged over the algorithm specific +utilities because additional algorithm options and ENGINE provided algorithms +can be used.

    +

    +

    +
    +

    EXAMPLES

    +

    Generate an RSA private key using default parameters:

    +
    + openssl genpkey -algorithm RSA -out key.pem
    +

    Encrypt output private key using 128 bit AES and the passphrase "hello":

    +
    + openssl genpkey -algorithm RSA -out key.pem -aes-128-cbc -pass pass:hello
    +

    Generate a 2048 bit RSA key using 3 as the public exponent:

    +
    + openssl genpkey -algorithm RSA -out key.pem \
    +     -pkeyopt rsa_keygen_bits:2048 -pkeyopt rsa_keygen_pubexp:3
    +

    Generate 2048 bit DSA parameters:

    +
    + openssl genpkey -genparam -algorithm DSA -out dsap.pem \
    +     -pkeyopt dsa_paramgen_bits:2048
    +

    Generate DSA key from parameters:

    +
    + openssl genpkey -paramfile dsap.pem -out dsakey.pem
    +

    Generate 2048 bit DH parameters:

    +
    + openssl genpkey -genparam -algorithm DH -out dhp.pem \
    +     -pkeyopt dh_paramgen_prime_len:2048
    +

    Generate 2048 bit X9.42 DH parameters:

    +
    + openssl genpkey -genparam -algorithm DH -out dhpx.pem \
    +     -pkeyopt dh_paramgen_prime_len:2048 \
    +     -pkeyopt dh_paramgen_type:1
    +

    Output RFC5114 2048 bit DH parameters with 224 bit subgroup:

    +
    + openssl genpkey -genparam -algorithm DH -out dhp.pem -pkeyopt dh_rfc5114:2
    +

    Generate DH key from parameters:

    +
    + openssl genpkey -paramfile dhp.pem -out dhkey.pem
    +

    Generate EC parameters:

    +
    + openssl genpkey -genparam -algorithm EC -out ecp.pem \
    +        -pkeyopt ec_paramgen_curve:secp384r1 \
    +        -pkeyopt ec_param_enc:named_curve
    +

    Generate EC key from parameters:

    +
    + openssl genpkey -paramfile ecp.pem -out eckey.pem
    +

    Generate EC key directly:

    +
    + openssl genpkey -algorithm EC -out eckey.pem \
    +        -pkeyopt ec_paramgen_curve:P-384 \
    +        -pkeyopt ec_param_enc:named_curve
    +

    Generate an X25519 private key:

    +
    + openssl genpkey -algorithm X25519 -out xkey.pem
    +

    Generate an ED448 private key:

    +
    + openssl genpkey -algorithm ED448 -out xkey.pem
    +

    +

    +
    +

    HISTORY

    +

    The ability to use NIST curve names, and to generate an EC key directly, +were added in OpenSSL 1.0.2. +The ability to generate X25519 keys was added in OpenSSL 1.1.0. +The ability to generate X448, ED25519 and ED448 keys was added in OpenSSL 1.1.1.

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2006-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man1/genrsa.html b/linux_amd64/share/doc/openssl/html/man1/genrsa.html new file mode 100644 index 0000000..2470598 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/genrsa.html @@ -0,0 +1,174 @@ + + + + +genrsa + + + + + + + + +
    +

    + + + +
    +
    + + +

    +

    +
    +

    NAME

    +

    openssl-genrsa, +genrsa - generate an RSA private key

    +

    +

    +
    +

    SYNOPSIS

    +

    openssl genrsa +[-help] +[-out filename] +[-passout arg] +[-aes128] +[-aes192] +[-aes256] +[-aria128] +[-aria192] +[-aria256] +[-camellia128] +[-camellia192] +[-camellia256] +[-des] +[-des3] +[-idea] +[-f4] +[-3] +[-rand file...] +[-writerand file] +[-engine id] +[-primes num] +[numbits]

    +

    +

    +
    +

    DESCRIPTION

    +

    The genrsa command generates an RSA private key.

    +

    +

    +
    +

    OPTIONS

    +
    +
    -help
    + +
    +

    Print out a usage message.

    +
    +
    -out filename
    + +
    +

    Output the key to the specified file. If this argument is not specified then +standard output is used.

    +
    +
    -passout arg
    + +
    +

    The output file password source. For more information about the format +of arg see the PASS PHRASE ARGUMENTS section in openssl(1).

    +
    +
    -aes128, -aes192, -aes256, -aria128, -aria192, -aria256, -camellia128, -camellia192, -camellia256, -des, -des3, -idea
    + +
    +

    These options encrypt the private key with specified +cipher before outputting it. If none of these options is +specified no encryption is used. If encryption is used a pass phrase is prompted +for if it is not supplied via the -passout argument.

    +
    +
    -F4|-3
    + +
    +

    The public exponent to use, either 65537 or 3. The default is 65537.

    +
    +
    -rand file...
    + +
    +

    A file or files containing random data used to seed the random number +generator. +Multiple files can be specified separated by an OS-dependent character. +The separator is ; for MS-Windows, , for OpenVMS, and : for +all others.

    +
    +
    [-writerand file]
    + +
    +

    Writes random data to the specified file upon exit. +This can be used with a subsequent -rand flag.

    +
    +
    -engine id
    + +
    +

    Specifying an engine (by its unique id string) will cause genrsa +to attempt to obtain a functional reference to the specified engine, +thus initialising it if needed. The engine will then be set as the default +for all available algorithms.

    +
    +
    -primes num
    + +
    +

    Specify the number of primes to use while generating the RSA key. The num +parameter must be a positive integer that is greater than 1 and less than 16. +If num is greater than 2, then the generated key is called a 'multi-prime' +RSA key, which is defined in RFC 8017.

    +
    +
    numbits
    + +
    +

    The size of the private key to generate in bits. This must be the last option +specified. The default is 2048 and values less than 512 are not allowed.

    +
    +
    +

    +

    +
    +

    NOTES

    +

    RSA private key generation essentially involves the generation of two or more +prime numbers. When generating a private key various symbols will be output to +indicate the progress of the generation. A . represents each number which +has passed an initial sieve test, + means a number has passed a single +round of the Miller-Rabin primality test, * means the current prime starts +a regenerating progress due to some failed tests. A newline means that the number +has passed all the prime tests (the actual number depends on the key size).

    +

    Because key generation is a random process the time taken to generate a key +may vary somewhat. But in general, more primes lead to less generation time +of a key.

    +

    +

    +
    +

    SEE ALSO

    +

    gendsa(1)

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man1/list.html b/linux_amd64/share/doc/openssl/html/man1/list.html new file mode 100644 index 0000000..f76d0cd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/list.html @@ -0,0 +1,137 @@ + + + + +list + + + + + + + + +
    +

    + + + +
    +
    + + +

    +

    +
    +

    NAME

    +

    openssl-list, +list - list algorithms and features

    +

    +

    +
    +

    SYNOPSIS

    +

    openssl list +[-help] +[-1] +[-commands] +[-digest-commands] +[-digest-algorithms] +[-cipher-commands] +[-cipher-algorithms] +[-public-key-algorithms] +[-public-key-methods] +[-disabled]

    +

    +

    +
    +

    DESCRIPTION

    +

    This command is used to generate list of algorithms or disabled +features.

    +

    +

    +
    +

    OPTIONS

    +
    +
    -help
    + +
    +

    Display a usage message.

    +
    +
    -1
    + +
    +

    List the commands, digest-commands, or cipher-commands in a single column. +If used, this option must be given first.

    +
    +
    -commands
    + +
    +

    Display a list of standard commands.

    +
    +
    -digest-commands
    + +
    +

    Display a list of message digest commands, which are typically used +as input to the dgst(1) or speed(1) commands.

    +
    +
    -digest-algorithms
    + +
    +

    Display a list of message digest algorithms. +If a line is of the form + foo => bar +then foo is an alias for the official algorithm name, bar.

    +
    +
    -cipher-commands
    + +
    +

    Display a list of cipher commands, which are typically used as input +to the dgst(1) or speed(1) commands.

    +
    +
    -cipher-algorithms
    + +
    +

    Display a list of cipher algorithms. +If a line is of the form + foo => bar +then foo is an alias for the official algorithm name, bar.

    +
    +
    -public-key-algorithms
    + +
    +

    Display a list of public key algorithms, with each algorithm as +a block of multiple lines, all but the first are indented.

    +
    +
    -public-key-methods
    + +
    +

    Display a list of public key method OIDs: this also includes public key methods +without an associated ASN.1 method, for example, KDF algorithms.

    +
    +
    -disabled
    + +
    +

    Display a list of disabled features, those that were compiled out +of the installation.

    +
    +
    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2016-2017 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man1/nseq.html b/linux_amd64/share/doc/openssl/html/man1/nseq.html new file mode 100644 index 0000000..1f2fddd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/nseq.html @@ -0,0 +1,126 @@ + + + + +nseq + + + + + + + + +
    +

    + + + +
    +
    + + +

    +

    +
    +

    NAME

    +

    openssl-nseq, +nseq - create or examine a Netscape certificate sequence

    +

    +

    +
    +

    SYNOPSIS

    +

    openssl nseq +[-help] +[-in filename] +[-out filename] +[-toseq]

    +

    +

    +
    +

    DESCRIPTION

    +

    The nseq command takes a file containing a Netscape certificate +sequence and prints out the certificates contained in it or takes a +file of certificates and converts it into a Netscape certificate +sequence.

    +

    +

    +
    +

    OPTIONS

    +
    +
    -help
    + +
    +

    Print out a usage message.

    +
    +
    -in filename
    + +
    +

    This specifies the input filename to read or standard input if this +option is not specified.

    +
    +
    -out filename
    + +
    +

    Specifies the output filename or standard output by default.

    +
    +
    -toseq
    + +
    +

    Normally a Netscape certificate sequence will be input and the output +is the certificates contained in it. With the -toseq option the +situation is reversed: a Netscape certificate sequence is created from +a file of certificates.

    +
    +
    +

    +

    +
    +

    EXAMPLES

    +

    Output the certificates in a Netscape certificate sequence

    +
    + openssl nseq -in nseq.pem -out certs.pem
    +

    Create a Netscape certificate sequence

    +
    + openssl nseq -in certs.pem -toseq -out nseq.pem
    +

    +

    +
    +

    NOTES

    +

    The PEM encoded form uses the same headers and footers as a certificate:

    +
    + -----BEGIN CERTIFICATE-----
    + -----END CERTIFICATE-----
    +

    A Netscape certificate sequence is a Netscape specific format that can be sent +to browsers as an alternative to the standard PKCS#7 format when several +certificates are sent to the browser: for example during certificate enrollment. +It is used by Netscape certificate server for example.

    +

    +

    +
    +

    BUGS

    +

    This program needs a few more options: like allowing DER or PEM input and +output files and allowing multiple certificate files to be used.

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man1/ocsp.html b/linux_amd64/share/doc/openssl/html/man1/ocsp.html new file mode 100644 index 0000000..15bc505 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/ocsp.html @@ -0,0 +1,568 @@ + + + + +ocsp + + + + + + + + + + + +

    +

    +
    +

    NAME

    +

    openssl-ocsp, +ocsp - Online Certificate Status Protocol utility

    +

    +

    +
    +

    SYNOPSIS

    +

    openssl ocsp +[-help] +[-out file] +[-issuer file] +[-cert file] +[-serial n] +[-signer file] +[-signkey file] +[-sign_other file] +[-no_certs] +[-req_text] +[-resp_text] +[-text] +[-reqout file] +[-respout file] +[-reqin file] +[-respin file] +[-nonce] +[-no_nonce] +[-url URL] +[-host host:port] +[-multi process-count] +[-header] +[-path] +[-CApath dir] +[-CAfile file] +[-no-CAfile] +[-no-CApath] +[-attime timestamp] +[-check_ss_sig] +[-crl_check] +[-crl_check_all] +[-explicit_policy] +[-extended_crl] +[-ignore_critical] +[-inhibit_any] +[-inhibit_map] +[-no_check_time] +[-partial_chain] +[-policy arg] +[-policy_check] +[-policy_print] +[-purpose purpose] +[-suiteB_128] +[-suiteB_128_only] +[-suiteB_192] +[-trusted_first] +[-no_alt_chains] +[-use_deltas] +[-auth_level num] +[-verify_depth num] +[-verify_email email] +[-verify_hostname hostname] +[-verify_ip ip] +[-verify_name name] +[-x509_strict] +[-VAfile file] +[-validity_period n] +[-status_age n] +[-noverify] +[-verify_other file] +[-trust_other] +[-no_intern] +[-no_signature_verify] +[-no_cert_verify] +[-no_chain] +[-no_cert_checks] +[-no_explicit] +[-port num] +[-ignore_err] +[-index file] +[-CA file] +[-rsigner file] +[-rkey file] +[-rother file] +[-rsigopt nm:v] +[-resp_no_certs] +[-nmin n] +[-ndays n] +[-resp_key_id] +[-nrequest n] +[-digest]

    +

    +

    +
    +

    DESCRIPTION

    +

    The Online Certificate Status Protocol (OCSP) enables applications to +determine the (revocation) state of an identified certificate (RFC 2560).

    +

    The ocsp command performs many common OCSP tasks. It can be used +to print out requests and responses, create requests and send queries +to an OCSP responder and behave like a mini OCSP server itself.

    +

    +

    +
    +

    OPTIONS

    +

    This command operates as either a client or a server. +The options are described below, divided into those two modes.

    +

    +

    +

    OCSP Client Options

    +
    +
    -help
    + +
    +

    Print out a usage message.

    +
    +
    -out filename
    + +
    +

    specify output filename, default is standard output.

    +
    +
    -issuer filename
    + +
    +

    This specifies the current issuer certificate. This option can be used +multiple times. The certificate specified in filename must be in +PEM format. This option MUST come before any -cert options.

    +
    +
    -cert filename
    + +
    +

    Add the certificate filename to the request. The issuer certificate +is taken from the previous issuer option, or an error occurs if no +issuer certificate is specified.

    +
    +
    -serial num
    + +
    +

    Same as the cert option except the certificate with serial number +num is added to the request. The serial number is interpreted as a +decimal integer unless preceded by 0x. Negative integers can also +be specified by preceding the value by a - sign.

    +
    +
    -signer filename, -signkey filename
    + +
    +

    Sign the OCSP request using the certificate specified in the signer +option and the private key specified by the signkey option. If +the signkey option is not present then the private key is read +from the same file as the certificate. If neither option is specified then +the OCSP request is not signed.

    +
    +
    -sign_other filename
    + +
    +

    Additional certificates to include in the signed request.

    +
    +
    -nonce, -no_nonce
    + +
    +

    Add an OCSP nonce extension to a request or disable OCSP nonce addition. +Normally if an OCSP request is input using the reqin option no +nonce is added: using the nonce option will force addition of a nonce. +If an OCSP request is being created (using cert and serial options) +a nonce is automatically added specifying no_nonce overrides this.

    +
    +
    -req_text, -resp_text, -text
    + +
    +

    Print out the text form of the OCSP request, response or both respectively.

    +
    +
    -reqout file, -respout file
    + +
    +

    Write out the DER encoded certificate request or response to file.

    +
    +
    -reqin file, -respin file
    + +
    +

    Read OCSP request or response file from file. These option are ignored +if OCSP request or response creation is implied by other options (for example +with serial, cert and host options).

    +
    +
    -url responder_url
    + +
    +

    Specify the responder URL. Both HTTP and HTTPS (SSL/TLS) URLs can be specified.

    +
    +
    -host hostname:port, -path pathname
    + +
    +

    If the host option is present then the OCSP request is sent to the host +hostname on port port. path specifies the HTTP path name to use +or "/" by default. This is equivalent to specifying -url with scheme +http:// and the given hostname, port, and pathname.

    +
    +
    -header name=value
    + +
    +

    Adds the header name with the specified value to the OCSP request +that is sent to the responder. +This may be repeated.

    +
    +
    -timeout seconds
    + +
    +

    Connection timeout to the OCSP responder in seconds. +On POSIX systems, when running as an OCSP responder, this option also limits +the time that the responder is willing to wait for the client request. +This time is measured from the time the responder accepts the connection until +the complete request is received.

    +
    +
    -multi process-count
    + +
    +

    Run the specified number of OCSP responder child processes, with the parent +process respawning child processes as needed. +Child processes will detect changes in the CA index file and automatically +reload it. +When running as a responder -timeout option is recommended to limit the time +each child is willing to wait for the client's OCSP response. +This option is available on POSIX systems (that support the fork() and other +required unix system-calls).

    +
    +
    -CAfile file, -CApath pathname
    + +
    +

    File or pathname containing trusted CA certificates. These are used to verify +the signature on the OCSP response.

    +
    +
    -no-CAfile
    + +
    +

    Do not load the trusted CA certificates from the default file location

    +
    +
    -no-CApath
    + +
    +

    Do not load the trusted CA certificates from the default directory location

    +
    +
    -attime, -check_ss_sig, -crl_check, -crl_check_all, +-explicit_policy, -extended_crl, -ignore_critical, -inhibit_any, +-inhibit_map, -no_alt_chains, -no_check_time, -partial_chain, -policy, +-policy_check, -policy_print, -purpose, -suiteB_128, +-suiteB_128_only, -suiteB_192, -trusted_first, -use_deltas, +-auth_level, -verify_depth, -verify_email, -verify_hostname, +-verify_ip, -verify_name, -x509_strict
    + +
    +

    Set different certificate verification options. +See verify(1) manual page for details.

    +
    +
    -verify_other file
    + +
    +

    File containing additional certificates to search when attempting to locate +the OCSP response signing certificate. Some responders omit the actual signer's +certificate from the response: this option can be used to supply the necessary +certificate in such cases.

    +
    +
    -trust_other
    + +
    +

    The certificates specified by the -verify_other option should be explicitly +trusted and no additional checks will be performed on them. This is useful +when the complete responder certificate chain is not available or trusting a +root CA is not appropriate.

    +
    +
    -VAfile file
    + +
    +

    File containing explicitly trusted responder certificates. Equivalent to the +-verify_other and -trust_other options.

    +
    +
    -noverify
    + +
    +

    Don't attempt to verify the OCSP response signature or the nonce +values. This option will normally only be used for debugging since it +disables all verification of the responders certificate.

    +
    +
    -no_intern
    + +
    +

    Ignore certificates contained in the OCSP response when searching for the +signers certificate. With this option the signers certificate must be specified +with either the -verify_other or -VAfile options.

    +
    +
    -no_signature_verify
    + +
    +

    Don't check the signature on the OCSP response. Since this option +tolerates invalid signatures on OCSP responses it will normally only be +used for testing purposes.

    +
    +
    -no_cert_verify
    + +
    +

    Don't verify the OCSP response signers certificate at all. Since this +option allows the OCSP response to be signed by any certificate it should +only be used for testing purposes.

    +
    +
    -no_chain
    + +
    +

    Do not use certificates in the response as additional untrusted CA +certificates.

    +
    +
    -no_explicit
    + +
    +

    Do not explicitly trust the root CA if it is set to be trusted for OCSP signing.

    +
    +
    -no_cert_checks
    + +
    +

    Don't perform any additional checks on the OCSP response signers certificate. +That is do not make any checks to see if the signers certificate is authorised +to provide the necessary status information: as a result this option should +only be used for testing purposes.

    +
    +
    -validity_period nsec, -status_age age
    + +
    +

    These options specify the range of times, in seconds, which will be tolerated +in an OCSP response. Each certificate status response includes a notBefore +time and an optional notAfter time. The current time should fall between +these two values, but the interval between the two times may be only a few +seconds. In practice the OCSP responder and clients clocks may not be precisely +synchronised and so such a check may fail. To avoid this the +-validity_period option can be used to specify an acceptable error range in +seconds, the default value is 5 minutes.

    +

    If the notAfter time is omitted from a response then this means that new +status information is immediately available. In this case the age of the +notBefore field is checked to see it is not older than age seconds old. +By default this additional check is not performed.

    +
    +
    -digest
    + +
    +

    This option sets digest algorithm to use for certificate identification in the +OCSP request. Any digest supported by the OpenSSL dgst command can be used. +The default is SHA-1. This option may be used multiple times to specify the +digest used by subsequent certificate identifiers.

    +
    +
    +

    +

    +

    OCSP Server Options

    +
    +
    -index indexfile
    + +
    +

    The indexfile parameter is the name of a text index file in ca +format containing certificate revocation information.

    +

    If the index option is specified the ocsp utility is in responder +mode, otherwise it is in client mode. The request(s) the responder +processes can be either specified on the command line (using issuer +and serial options), supplied in a file (using the reqin option) +or via external OCSP clients (if port or url is specified).

    +

    If the index option is present then the CA and rsigner options +must also be present.

    +
    +
    -CA file
    + +
    +

    CA certificate corresponding to the revocation information in indexfile.

    +
    +
    -rsigner file
    + +
    +

    The certificate to sign OCSP responses with.

    +
    +
    -rother file
    + +
    +

    Additional certificates to include in the OCSP response.

    +
    +
    -resp_no_certs
    + +
    +

    Don't include any certificates in the OCSP response.

    +
    +
    -resp_key_id
    + +
    +

    Identify the signer certificate using the key ID, default is to use the +subject name.

    +
    +
    -rkey file
    + +
    +

    The private key to sign OCSP responses with: if not present the file +specified in the rsigner option is used.

    +
    +
    -rsigopt nm:v
    + +
    +

    Pass options to the signature algorithm when signing OCSP responses. +Names and values of these options are algorithm-specific.

    +
    +
    -port portnum
    + +
    +

    Port to listen for OCSP requests on. The port may also be specified +using the url option.

    +
    +
    -ignore_err
    + +
    +

    Ignore malformed requests or responses: When acting as an OCSP client, retry if +a malformed response is received. When acting as an OCSP responder, continue +running instead of terminating upon receiving a malformed request.

    +
    +
    -nrequest number
    + +
    +

    The OCSP server will exit after receiving number requests, default unlimited.

    +
    +
    -nmin minutes, -ndays days
    + +
    +

    Number of minutes or days when fresh revocation information is available: +used in the nextUpdate field. If neither option is present then the +nextUpdate field is omitted meaning fresh revocation information is +immediately available.

    +
    +
    +

    +

    +
    +

    OCSP Response verification.

    +

    OCSP Response follows the rules specified in RFC2560.

    +

    Initially the OCSP responder certificate is located and the signature on +the OCSP request checked using the responder certificate's public key.

    +

    Then a normal certificate verify is performed on the OCSP responder certificate +building up a certificate chain in the process. The locations of the trusted +certificates used to build the chain can be specified by the CAfile +and CApath options or they will be looked for in the standard OpenSSL +certificates directory.

    +

    If the initial verify fails then the OCSP verify process halts with an +error.

    +

    Otherwise the issuing CA certificate in the request is compared to the OCSP +responder certificate: if there is a match then the OCSP verify succeeds.

    +

    Otherwise the OCSP responder certificate's CA is checked against the issuing +CA certificate in the request. If there is a match and the OCSPSigning +extended key usage is present in the OCSP responder certificate then the +OCSP verify succeeds.

    +

    Otherwise, if -no_explicit is not set the root CA of the OCSP responders +CA is checked to see if it is trusted for OCSP signing. If it is the OCSP +verify succeeds.

    +

    If none of these checks is successful then the OCSP verify fails.

    +

    What this effectively means if that if the OCSP responder certificate is +authorised directly by the CA it is issuing revocation information about +(and it is correctly configured) then verification will succeed.

    +

    If the OCSP responder is a "global responder" which can give details about +multiple CAs and has its own separate certificate chain then its root +CA can be trusted for OCSP signing. For example:

    +
    + openssl x509 -in ocspCA.pem -addtrust OCSPSigning -out trustedCA.pem
    +

    Alternatively the responder certificate itself can be explicitly trusted +with the -VAfile option.

    +

    +

    +
    +

    NOTES

    +

    As noted, most of the verify options are for testing or debugging purposes. +Normally only the -CApath, -CAfile and (if the responder is a 'global +VA') -VAfile options need to be used.

    +

    The OCSP server is only useful for test and demonstration purposes: it is +not really usable as a full OCSP responder. It contains only a very +simple HTTP request handling and can only handle the POST form of OCSP +queries. It also handles requests serially meaning it cannot respond to +new requests until it has processed the current one. The text index file +format of revocation is also inefficient for large quantities of revocation +data.

    +

    It is possible to run the ocsp application in responder mode via a CGI +script using the reqin and respout options.

    +

    +

    +
    +

    EXAMPLES

    +

    Create an OCSP request and write it to a file:

    +
    + openssl ocsp -issuer issuer.pem -cert c1.pem -cert c2.pem -reqout req.der
    +

    Send a query to an OCSP responder with URL http://ocsp.myhost.com/ save the +response to a file, print it out in text form, and verify the response:

    +
    + openssl ocsp -issuer issuer.pem -cert c1.pem -cert c2.pem \
    +     -url http://ocsp.myhost.com/ -resp_text -respout resp.der
    +

    Read in an OCSP response and print out text form:

    +
    + openssl ocsp -respin resp.der -text -noverify
    +

    OCSP server on port 8888 using a standard ca configuration, and a separate +responder certificate. All requests and responses are printed to a file.

    +
    + openssl ocsp -index demoCA/index.txt -port 8888 -rsigner rcert.pem -CA demoCA/cacert.pem
    +        -text -out log.txt
    +

    As above but exit after processing one request:

    +
    + openssl ocsp -index demoCA/index.txt -port 8888 -rsigner rcert.pem -CA demoCA/cacert.pem
    +     -nrequest 1
    +

    Query status information using an internally generated request:

    +
    + openssl ocsp -index demoCA/index.txt -rsigner rcert.pem -CA demoCA/cacert.pem
    +     -issuer demoCA/cacert.pem -serial 1
    +

    Query status information using request read from a file, and write the response +to a second file.

    +
    + openssl ocsp -index demoCA/index.txt -rsigner rcert.pem -CA demoCA/cacert.pem
    +     -reqin req.der -respout resp.der
    +

    +

    +
    +

    HISTORY

    +

    The -no_alt_chains option was added in OpenSSL 1.1.0.

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man1/openssl-c_rehash.html b/linux_amd64/share/doc/openssl/html/man1/openssl-c_rehash.html new file mode 120000 index 0000000..bf9fd1c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/openssl-c_rehash.html @@ -0,0 +1 @@ +rehash.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man1/openssl-tsget.html b/linux_amd64/share/doc/openssl/html/man1/openssl-tsget.html new file mode 120000 index 0000000..6d223e0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/openssl-tsget.html @@ -0,0 +1 @@ +tsget.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man1/openssl.html b/linux_amd64/share/doc/openssl/html/man1/openssl.html index 76005e5..c418e63 100755 --- a/linux_amd64/share/doc/openssl/html/man1/openssl.html +++ b/linux_amd64/share/doc/openssl/html/man1/openssl.html @@ -24,25 +24,16 @@
  3. Standard Commands
  4. Message Digest Commands
  5. -
  6. Encryption, Decryption, and Encoding Commands
  7. +
  8. Encoding and Cipher Commands
  9. OPTIONS
  10. -
  11. ENVIRONMENT
  12. SEE ALSO
  13. HISTORY
  14. COPYRIGHT
  15. @@ -63,18 +54,10 @@

    SYNOPSIS

    openssl command -[ options ... ] -[ parameters ... ]

    -

    openssl -list --standard-commands | --digest-commands | --cipher-commands | --cipher-algorithms | --digest-algorithms | --mac-algorithms | --public-key-algorithms

    -

    openssl no-XXX [ options ]

    +[ command_opts ] +[ command_args ]

    +

    openssl list [ standard-commands | digest-commands | cipher-commands | cipher-algorithms | digest-algorithms | public-key-algorithms]

    +

    openssl no-XXX [ arbitrary options ]


    @@ -89,39 +72,37 @@ It can be used for

    o Creation and management of private keys, public keys and parameters o Public key cryptographic operations o Creation of X.509 certificates, CSRs and CRLs - o Calculation of Message Digests and Message Authentication Codes + o Calculation of Message Digests o Encryption and Decryption with Ciphers o SSL/TLS Client and Server Tests o Handling of S/MIME signed or encrypted mail - o Timestamp requests, generation and verification
    + o Time Stamp requests, generation and verification


    COMMAND SUMMARY

    -

    The openssl program provides a rich variety of commands (command in -the SYNOPSIS above). -Each command can have many options and argument parameters, shown above as -options and parameters.

    +

    The openssl program provides a rich variety of commands (command in the +SYNOPSIS above), each of which often has a wealth of options and arguments +(command_opts and command_args in the SYNOPSIS).

    Detailed documentation and use cases for most standard subcommands are available -(e.g., openssl-x509(1)).

    +(e.g., x509(1) or openssl-x509(1)).

    Many commands use an external configuration file for some or all of their arguments and have a -config option to specify that file. -The default name of the file is openssl.cnf in the default certificate -storage area, which can be determined from the openssl-version(1) -command. The environment variable OPENSSL_CONF can be used to specify -a different location of the file. -See openssl-env(7).

    -

    The list options -standard-commands, -digest-commands, -and -cipher-commands output a list (one entry per line) of the names +the location of the file. +If the environment variable is not specified, then the file is named +openssl.cnf in the default certificate storage area, whose value +depends on the configuration flags specified when the OpenSSL +was built.

    +

    The list parameters standard-commands, digest-commands, +and cipher-commands output a list (one entry per line) of the names of all standard commands, message digest commands, or cipher commands, -respectively, that are available.

    -

    The list parameters -cipher-algorithms, -digest-algorithms, -and -mac-algorithms list all cipher, message digest, and message -authentication code names, one entry per line. Aliases are listed as:

    +respectively, that are available in the present openssl utility.

    +

    The list parameters cipher-algorithms and +digest-algorithms list all cipher and message digest names, one entry per line. Aliases are listed as:

      from => to
    -

    The list parameter -public-key-algorithms lists all supported public +

    The list parameter public-key-algorithms lists all supported public key algorithms.

    The command no-XXX tests whether a command of the specified name is available. If no command named XXX exists, it @@ -170,14 +151,19 @@ not able to detect pseudo-commands such as quit,

    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�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 z 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�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[~=o3T(lL)s~)^4c;-Hm!~Q+n8N0S;P+>LxE!ZCX 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

    dgst
    -

    Message Digest calculation. MAC calculations are superseded by -openssl-mac(1).

    +

    Message Digest Calculation.

    +
    +
    dh
    + +
    +

    Diffie-Hellman Parameter Management. +Obsoleted by dhparam(1).

    dhparam

    Generation and Management of Diffie-Hellman Parameters. Superseded by -openssl-genpkey(1) and openssl-pkeyparam(1).

    +genpkey(1) and pkeyparam(1).

    dsa
    @@ -188,7 +174,7 @@ not able to detect pseudo-commands such as quit,

    DSA Parameter Generation and Management. Superseded by -openssl-genpkey(1) and openssl-pkeyparam(1).

    +genpkey(1) and pkeyparam(1).

    ec
    @@ -203,7 +189,7 @@ not able to detect pseudo-commands such as quit,
    enc
    -

    Encryption, decryption, and encoding.

    +

    Encoding with Ciphers.

    engine
    @@ -215,16 +201,17 @@ not able to detect pseudo-commands such as quit,

    Error Number to Error String Conversion.

    -
    fipsinstall
    +
    gendh
    -

    FIPS configuration installation.

    +

    Generation of Diffie-Hellman Parameters. +Obsoleted by dhparam(1).

    gendsa

    Generation of DSA Private Key from Parameters. Superseded by -openssl-genpkey(1) and openssl-pkey(1).

    +genpkey(1) and pkey(1).

    genpkey
    @@ -234,32 +221,7 @@ not able to detect pseudo-commands such as quit,
    genrsa
    -

    Generation of RSA Private Key. Superseded by openssl-genpkey(1).

    -
    -
    help
    - -
    -

    Display information about a command's options.

    -
    -
    info
    - -
    -

    Display diverse information built into the OpenSSL libraries.

    -
    -
    kdf
    - -
    -

    Key Derivation Functions.

    -
    -
    list
    - -
    -

    List algorithms and features.

    -
    -
    mac
    - -
    -

    Message Authentication Code Calculation.

    +

    Generation of RSA Private Key. Superseded by genpkey(1).

    nseq
    @@ -311,11 +273,6 @@ not able to detect pseudo-commands such as quit,

    Compute prime numbers.

    -
    provider
    - -
    -

    Load and query providers.

    -
    rand
    @@ -340,7 +297,7 @@ not able to detect pseudo-commands such as quit,

    RSA utility for signing, verification, encryption, and decryption. Superseded -by openssl-pkeyutl(1).

    +by pkeyutl(1).

    s_client
    @@ -518,11 +475,11 @@ facility to emulate an SSL/TLS-aware webserver.

    -

    Encryption, Decryption, and Encoding Commands

    +

    Encoding and Cipher Commands

    The following aliases provide convenient access to the most used encodings and ciphers.

    Depending on how OpenSSL was configured and built, not all ciphers listed -here may be present. See openssl-enc(1) for more information.

    +here may be present. See enc(1) for more information and command usage.

    aes128, aes-128-cbc, aes-128-cfb, aes-128-ctr, aes-128-ecb, aes-128-ofb
    @@ -645,123 +602,10 @@ This section describes some common options with common behavior.

    Common Options

    -
    -help
    +
    -help
    -

    Provides a terse summary of all options. -If an option takes an argument, the "type" of argument is also given.

    -
    -
    --
    - -
    -

    This terminates the list of options. It is mostly useful if any filename -parameters start with a minus sign:

    -
    - openssl verify [flags...] -- -cert1.pem...
    -
    -
    -

    -

    -

    Format Options

    -

    Several OpenSSL commands can take input or generate output in a variety -of formats. The list of acceptable formats, and the default, is -described in each command documentation. The list of formats is -described below. Both uppercase and lowercase are accepted.

    -
    -
    DER
    - -
    -

    A binary format, encoded or parsed according to Distinguished Encoding Rules -(DER) of the ASN.1 data language.

    -
    -
    ENGINE
    - -
    -

    Used to specify that the cryptographic material is in an OpenSSL engine. -An engine must be configured or specified using the -engine option. -In addition, the -input flag can be used to name a specific object in -the engine. -A password, such as the -passin flag often must be specified as well.

    -
    -
    P12
    - -
    -

    A DER-encoded file containing a PKCS#12 object. -It might be necessary to provide a decryption password to retrieve -the private key.

    -
    -
    PEM
    - -
    -

    A text format defined in IETF RFC 1421 and IETF RFC 7468. Briefly, this is -a block of base-64 encoding (defined in IETF RFC 4648), with specific -lines used to mark the start and end:

    -
    - Text before the BEGIN line is ignored.
    - ----- BEGIN object-type -----
    - OT43gQKBgQC/2OHZoko6iRlNOAQ/tMVFNq7fL81GivoQ9F1U0Qr+DH3ZfaH8eIkX
    - xT0ToMPJUzWAn8pZv0snA0um6SIgvkCuxO84OkANCVbttzXImIsL7pFzfcwV/ERK
    - UM6j0ZuSMFOCr/lGPAoOQU0fskidGEHi1/kW+suSr28TqsyYZpwBDQ==
    - ----- END object-type -----
    - Text after the END line is also ignored
    -

    The object-type must match the type of object that is expected. -For example a BEGIN X509 CERTIFICATE will not match if the command -is trying to read a private key. The types supported include:

    -
    - ANY PRIVATE KEY
    - CERTIFICATE
    - CERTIFICATE REQUEST
    - CMS
    - DH PARAMETERS
    - DSA PARAMETERS
    - DSA PUBLIC KEY
    - EC PARAMETERS
    - EC PRIVATE KEY
    - ECDSA PUBLIC KEY
    - ENCRYPTED PRIVATE KEY
    - PARAMETERS
    - PKCS #7 SIGNED DATA
    - PKCS7
    - PRIVATE KEY
    - PUBLIC KEY
    - RSA PRIVATE KEY
    - SSL SESSION PARAMETERS
    - TRUSTED CERTIFICATE
    - X509 CRL
    - X9.42 DH PARAMETERS
    -

    The following legacy object-type's are also supported for compatibility -with earlier releases:

    -
    - DSA PRIVATE KEY
    - NEW CERTIFICATE REQUEST
    - RSA PUBLIC KEY
    - X509 CERTIFICATE
    -
    -
    SMIME
    - -
    -

    An S/MIME object as described in IETF RFC 8551. -Earlier versions were known as CMS and are compatible. -Note that the parsing is simple and might fail to parse some legal data.

    -
    -
    -

    The options to specify the format are as follows. Refer to the individual -manpage to see which options are accepted.

    -
    -
    -inform format, -outform format
    - -
    -

    The format of the input or output streams.

    -
    -
    -keyform format
    - -
    -

    Format of a private key input source.

    -
    -
    -CRLform format
    - -
    -

    Format of a CRL input source.

    +

    Provides a terse summary of all options.

    @@ -777,33 +621,33 @@ terminal with echoing turned off.

    Note that character encoding may be relevant, please see passphrase-encoding(7).

    -
    pass:password
    +
    pass:password
    -

    The actual password is password. Since the password is visible +

    The actual password is password. Since the password is visible to utilities (like 'ps' under Unix) this form should only be used where security is not important.

    -
    env:var
    +
    env:var
    -

    Obtain the password from the environment variable var. Since +

    Obtain the password from the environment variable var. Since the environment of other processes is visible on certain platforms (e.g. ps under certain Unix OSes) this option should be used with caution.

    -
    file:pathname
    +
    file:pathname
    -

    The first line of pathname is the password. If the same pathname +

    The first line of pathname is the password. If the same pathname argument is supplied to -passin and -passout arguments then the first line will be used for the input password and the next line for the output -password. pathname need not refer to a regular file: it could for example +password. pathname need not refer to a regular file: it could for example refer to a device or named pipe.

    -
    fd:number
    +
    fd:number
    -

    Read the password from the file descriptor number. This can be used to +

    Read the password from the file descriptor number. This can be used to send the data via a pipe for example.

    stdin
    @@ -814,768 +658,37 @@ send the data via a pipe for example.

    -

    Trusted Certificate Options

    -

    Part of validating a certificate includes verifying that the chain of CA's -can be traced up to an existing trusted root. The following options specify -how to list the trusted roots, also known as trust anchors. A collection -of trusted roots is called a trust store.

    -

    Note that OpenSSL does not provide a default set of trust anchors. Many -Linux distributions include a system default and configure OpenSSL to point -to that. Mozilla maintains an influential trust store that can be found at -https://www.mozilla.org/en-US/about/governance/policies/security-group/certs/.

    -
    -
    -CAfile file
    - -
    -

    Load the specified file which contains one or more PEM-format certificates -of CA's that are trusted.

    -
    -
    -no-CAfile
    - -
    -

    Do not load the default file of trusted certificates.

    -
    -
    -CApath dir
    - -
    -

    Use the specified directory as a list of trust certificates. That is, -files should be named with the hash of the X.509 SubjectName of each -certificate. This is so that the library can extract the IssuerName, -hash it, and directly lookup the file to get the issuer certificate. -See openssl-rehash(1) for information on creating this type of directory.

    -
    -
    -no-CApath
    - -
    -

    Do not use the default directory of trusted certificates.

    -
    -
    -CAstore uri
    - -
    -

    Use uri as a store of trusted CA certificates. The URI may -indicate a single certificate, as well as a collection of them. -With URIs in the file: scheme, this acts as -CAfile or --CApath, depending on if the URI indicates a single file or -directory. -See ossl_store-file(7) for more information on the file: scheme.

    -

    These certificates are also used when building the server certificate -chain (for example with openssl-s_server(1)) or client certificate -chain (for example with openssl-s_time(1)).

    -
    -
    -no-CAstore
    - -
    -

    Do not use the default store.

    -
    -
    -

    -

    -

    Random State Options

    -

    Prior to OpenSSL 3.0, it was common for applications to store information -about the state of the random-number generator in a file that was loaded -at startup and rewritten upon exit. On modern operating systems, this is -generally no longer necessary as OpenSSL will seed itself from the -appropriate CPU flags, device files, and so on. These flags are still -supported for special platforms or circumstances that might require them.

    -

    It is generally an error to use the same seed file more than once and -every use of -rand should be paired with -writerand.

    -
    -
    -rand files
    - -
    -

    A file or files containing random data used to seed the random number -generator. -Multiple files can be specified separated by an OS-dependent character. -The separator is ; for MS-Windows, , for OpenVMS, and : for -all others. Another way to specify multiple files is to repeat this flag -with different filenames.

    -
    -
    -writerand file
    - -
    -

    Writes the seed data to the specified file upon exit. -This file can be used in a subsequent command invocation.

    -
    -
    -

    -

    -

    Extended Verification Options

    -

    Sometimes there may be more than one certificate chain leading to an -end-entity certificate. -This usually happens when a root or intermediate CA signs a certificate -for another a CA in other organization. -Another reason is when a CA might have intermediates that use two different -signature formats, such as a SHA-1 and a SHA-256 digest.

    -

    The following options can be used to provide data that will allow the -OpenSSL command to generate an alternative chain.

    -
    -
    -xchain_build
    - -
    -

    Specify whether the application should build the certificate chain to be -provided to the server for the extra certificates via the -xkey, --xcert, and -xchain options.

    -
    -
    -xkey infile, -xcert infile, -xchain
    - -
    -

    Specify an extra certificate, private key and certificate chain. These behave -in the same manner as the -cert, -key and -cert_chain options. When -specified, the callback returning the first valid chain will be in use by the -client.

    -
    -
    -xcertform DER|PEM, -xkeyform DER|PEM
    - -
    -

    The input format for the extra certificate and key, respectively. -See openssl(1)/Format Options for details.

    -
    -
    -xchain_build
    - -
    -

    Specify whether the application should build the certificate chain to be -provided to the server for the extra certificates via the -xkey, --xcert, and -xchain options.

    -
    -
    -xcertform DER|PEM, -xkeyform DER|PEM
    - -
    -

    The input format for the extra certificate and key, respectively. -See openssl(1)/Format Options for details.

    -
    -
    -

    -

    -

    Verification Options

    -

    Many OpenSSL commands verify certificates. The details of how each -command handles errors are documented on the specific command page.

    -

    Verification is a complicated process, consisting of a number of separate -steps that are detailed in the following paragraphs.

    -

    First, a certificate chain is built up starting from the supplied certificate -and ending in a root CA. It is an error if the whole chain cannot be -built up. The chain is built up by looking up the certificate that -signed (or issued) the certificate. It then repeats the process, until -it gets to a certificate that is self-issued.

    -

    The process of looking up the issuer's certificate itself involves a number -of steps. After all certificates whose subject name matches the issuer -name of the current certificate are subject to further tests. The relevant -authority key identifier components of the current certificate (if present) -must match the subject key identifier (if present) and issuer and serial -number of the candidate issuer, in addition the keyUsage extension of the -candidate issuer (if present) must permit certificate signing.

    -

    The lookup first looks in the list of untrusted certificates and if no match -is found the remaining lookups are from the trusted certificates. The root CA -is always looked up in the trusted certificate list: if the certificate to -verify is a root certificate then an exact match must be found in the trusted -list.

    -

    The second step is to check every untrusted certificate's extensions -for consistency with the supplied purpose. If the -purpose option is -not included then no checks are done. The supplied or "leaf" certificate -must have extensions compatible with the supplied purpose and all other -certificates must also be valid CA certificates. The precise extensions -required are described in more detail in -openssl-x509(1)/CERTIFICATE EXTENSIONS.

    -

    The third step is to check the trust settings on the root CA. The root -CA should be trusted for the supplied purpose. For compatibility with -previous versions of OpenSSL, a certificate with no trust settings is -considered to be valid for all purposes.

    -

    The fourth, and final, step is to check the validity of the certificate -chain. The validity period is checked against the system time -and the notBefore and notAfter dates in the certificate. The certificate -signatures are also checked at this point. The -attime flag may be -used to specify a time other than "now."

    -

    If all operations complete successfully then certificate is considered -valid. If any operation fails then the certificate is not valid.

    -

    The details of the processing steps can be fine-tuned with the -following flags.

    -
    -
    -verbose
    - -
    -

    Print extra information about the operations being performed.

    -
    -
    -attime timestamp
    - -
    -

    Perform validation checks using time specified by timestamp and not -current system time. timestamp is the number of seconds since -January 1, 1970 (i.e., the Unix Epoch).

    -
    -
    -no_check_time
    - -
    -

    This option suppresses checking the validity period of certificates and CRLs -against the current time. If option -attime is used to specify -a verification time, the check is not suppressed.

    -
    -
    -x509_strict
    - -
    -

    This disables non-compliant workarounds for broken certificates.

    -
    -
    -ignore_critical
    - -
    -

    Normally if an unhandled critical extension is present which is not -supported by OpenSSL the certificate is rejected (as required by RFC5280). -If this option is set critical extensions are ignored.

    -
    -
    -issuer_checks
    - -
    -

    Ignored.

    -
    -
    -crl_check
    - -
    -

    Checks end entity certificate validity by attempting to look up a valid CRL. -If a valid CRL cannot be found an error occurs.

    -
    -
    -crl_check_all
    - -
    -

    Checks the validity of all certificates in the chain by attempting -to look up valid CRLs.

    -
    -
    -use_deltas
    - -
    -

    Enable support for delta CRLs.

    -
    -
    -extended_crl
    - -
    -

    Enable extended CRL features such as indirect CRLs and alternate CRL -signing keys.

    -
    -
    -suiteB_128_only, -suiteB_128, -suiteB_192
    - -
    -

    Enable the Suite B mode operation at 128 bit Level of Security, 128 bit or -192 bit, or only 192 bit Level of Security respectively. -See RFC6460 for details. In particular the supported signature algorithms are -reduced to support only ECDSA and SHA256 or SHA384 and only the elliptic curves -P-256 and P-384.

    -
    -
    -auth_level level
    - -
    -

    Set the certificate chain authentication security level to level. -The authentication security level determines the acceptable signature and -public key strength when verifying certificate chains. For a certificate -chain to validate, the public keys of all the certificates must meet the -specified security level. The signature algorithm security level is -enforced for all the certificates in the chain except for the chain's -trust anchor, which is either directly trusted or validated by means -other than its signature. See SSL_CTX_set_security_level(3) for the -definitions of the available levels. The default security level is -1, -or "not set". At security level 0 or lower all algorithms are acceptable. -Security level 1 requires at least 80-bit-equivalent security and is broadly -interoperable, though it will, for example, reject MD5 signatures or RSA -keys shorter than 1024 bits.

    -
    -
    -partial_chain
    - -
    -

    Allow verification to succeed even if a complete chain cannot be built to a -self-signed trust-anchor, provided it is possible to construct a chain to a -trusted certificate that might not be self-signed.

    -
    -
    -check_ss_sig
    - -
    -

    Verify the signature on the self-signed root CA. This is disabled by default -because it doesn't add any security.

    -
    -
    -allow_proxy_certs
    - -
    -

    Allow the verification of proxy certificates.

    -
    -
    -trusted_first
    - -
    -

    As of OpenSSL 1.1.0 this option is on by default and cannot be disabled.

    -
    -
    -no_alt_chains
    - -
    -

    As of OpenSSL 1.1.0, since -trusted_first always on, this option has no -effect.

    -
    -
    -trusted file
    - -
    -

    Parse file as a set of one or more certificates in PEM format. -All certificates must be self-signed, unless the --partial_chain option is specified. -This option implies the -no-CAfile and -no-CApath options and it -cannot be used with either the -CAfile or -CApath options, so -only certificates in the file are trust anchors. -This option may be used multiple times.

    -
    -
    -untrusted file
    - -
    -

    Parse file as a set of one or more certificates in PEM format. -All certificates are untrusted certificates that may be used to -construct a certificate chain from the subject certificate to a trust anchor. -This option may be used multiple times.

    -
    -
    -policy arg
    - -
    -

    Enable policy processing and add arg to the user-initial-policy-set (see -RFC5280). The policy arg can be an object name an OID in numeric form. -This argument can appear more than once.

    -
    -
    -explicit_policy
    - -
    -

    Set policy variable require-explicit-policy (see RFC5280).

    -
    -
    -policy_check
    - -
    -

    Enables certificate policy processing.

    -
    -
    -policy_print
    - -
    -

    Print out diagnostics related to policy processing.

    -
    -
    -inhibit_any
    - -
    -

    Set policy variable inhibit-any-policy (see RFC5280).

    -
    -
    -inhibit_map
    - -
    -

    Set policy variable inhibit-policy-mapping (see RFC5280).

    -
    -
    -purpose purpose
    - -
    -

    The intended use for the certificate. If this option is not specified, this -command will not consider certificate purpose during chain verification. -Currently accepted uses are sslclient, sslserver, nssslserver, -smimesign, smimeencrypt.

    -
    -
    -verify_depth num
    - -
    -

    Limit the certificate chain to num intermediate CA certificates. -A maximal depth chain can have up to num+2 certificates, since neither the -end-entity certificate nor the trust-anchor certificate count against the --verify_depth limit.

    -
    -
    -verify_email email
    - -
    -

    Verify if email matches the email address in Subject Alternative Name or -the email in the subject Distinguished Name.

    -
    -
    -verify_hostname hostname
    - -
    -

    Verify if hostname matches DNS name in Subject Alternative Name or -Common Name in the subject certificate.

    -
    -
    -verify_ip ip
    - -
    -

    Verify if ip matches the IP address in Subject Alternative Name of -the subject certificate.

    -
    -
    -verify_name name
    - -
    -

    Use default verification policies like trust model and required certificate -policies identified by name. -The trust model determines which auxiliary trust or reject OIDs are applicable -to verifying the given certificate chain. -See the -addtrust and -addreject options for openssl-x509(1). -Supported policy names include: default, pkcs7, smime_sign, -ssl_client, ssl_server. -These mimics the combinations of purpose and trust settings used in SSL, CMS -and S/MIME. -As of OpenSSL 1.1.0, the trust model is inferred from the purpose when not -specified, so the -verify_name options are functionally equivalent to the -corresponding -purpose settings.

    -
    -
    -

    -

    -

    Name Format Options

    -

    OpenSSL provides fine-grain control over how the subject and issuer DN's are -displayed. -This is specified by using the -nameopt option, which takes a -comma-separated list of options from the following set. -An option may be preceded by a minus sign, -, to turn it off. -The default value is oneline. -The first four are the most commonly used.

    -
    -
    compat
    - -
    -

    Display the name using an old format from previous OpenSSL versions.

    -
    -
    RFC2253
    - -
    -

    Display the name using the format defined in RFC 2253. -It is equivalent to esc_2253, esc_ctrl, esc_msb, utf8, -dump_nostr, dump_unknown, dump_der, sep_comma_plus, dn_rev -and sname.

    -
    -
    oneline
    - -
    -

    Display the name in one line, using a format that is more readable -RFC 2253. -It is equivalent to esc_2253, esc_ctrl, esc_msb, utf8, -dump_nostr, dump_der, use_quote, sep_comma_plus_space, -space_eq and sname options.

    -
    -
    multiline
    - -
    -

    Display the name using multiple lines. -It is equivalent to esc_ctrl, esc_msb, sep_multiline, space_eq, -lname and align.

    -
    -
    esc_2253
    - -
    -

    Escape the "special" characters in a field, as required by RFC 2253. -That is, any of the characters ,+"<>;, # at the beginning of -a string and leading or trailing spaces.

    -
    -
    esc_2254
    - -
    -

    Escape the "special" characters in a field as required by RFC 2254 in a field. -That is, the NUL character and and of ()*.

    -
    -
    esc_ctrl
    - -
    -

    Escape non-printable ASCII characters, codes less than 0x20 (space) -or greater than 0x7F (DELETE). They are displayed using RFC 2253 \XX -notation where XX are the two hex digits representing the character value.

    -
    -
    esc_msb
    - -
    -

    Escape any characters with the most significant bit set, that is with -values larger than 127, as described in esc_ctrl.

    -
    -
    use_quote
    - -
    -

    Escapes some characters by surrounding the entire string with quotation -marks, ". -Without this option, individual special characters are preceeded with -a backslash character, \.

    -
    -
    utf8
    - -
    -

    Convert all strings to UTF-8 format first as required by RFC 2253. -If the output device is UTF-8 compatible, then using this option (and -not setting esc_msb) may give the correct display of multibyte -characters. -If this option is not set, then multibyte characters larger than 0xFF -will be output as \UXXXX for 16 bits or \WXXXXXXXX for 32 bits. -In addition, any UTF8Strings will be converted to their character form first.

    -
    -
    ignore_type
    - -
    -

    This option does not attempt to interpret multibyte characters in any -way. That is, the content octets are merely dumped as though one octet -represents each character. This is useful for diagnostic purposes but -will result in rather odd looking output.

    -
    -
    show_type
    - -
    -

    Display the type of the ASN1 character string before the value, -such as BMPSTRING: Hello World.

    -
    -
    dump_der
    - -
    -

    Any fields that would be output in hex format are displayed using -the DER encoding of the field. -If not set, just the content octets are displayed. -Either way, the #XXXX... format of RFC 2253 is used.

    -
    -
    dump_nostr
    - -
    -

    Dump non-character strings, such as ASN.1 OCTET STRING. -If this option is not set, then non character string types will be displayed -as though each content octet represents a single character.

    -
    -
    dump_all
    - -
    -

    Dump all fields. When this used with dump_der, this allows the -DER encoding of the structure to be unambiguously determined.

    -
    -
    dump_unknown
    - -
    -

    Dump any field whose OID is not recognised by OpenSSL.

    -
    -
    sep_comma_plus, sep_comma_plus_space, sep_semi_plus_space, -sep_multiline
    - -
    -

    Specify the field separators. The first word is used between the -Relative Distinguished Names (RDNs) and the second is between -multiple Attribute Value Assertions (AVAs). Multiple AVAs are -very rare and their use is discouraged. -The options ending in "space" additionally place a space after the separator to make it more readable. -The sep_multiline starts each field on its own line, and uses "plus space" -for the AVA separator. -It also indents the fields by four characters. -The default value is sep_comma_plus_space.

    -
    -
    dn_rev
    - -
    -

    Reverse the fields of the DN as required by RFC 2253. -This also reverses the order of multiple AVAs in a field, but this is -permissible as there is no ordering on values.

    -
    -
    nofname, sname, lname, oid
    - -
    -

    Specify how the field name is displayed. -nofname does not display the field at all. -sname uses the "short name" form (CN for commonName for example). -lname uses the long form. -oid represents the OID in numerical form and is useful for -diagnostic purpose.

    -
    -
    align
    - -
    -

    Align field values for a more readable output. Only usable with -sep_multiline.

    -
    -
    space_eq
    - -
    -

    Places spaces round the equal sign, =, character which follows the field -name.

    -
    -
    -

    -

    -

    TLS Version Options

    -

    Several commands use SSL, TLS, or DTLS. By default, the commands use TLS and -clients will offer the lowest and highest protocol version they support, -and servers will pick the highest version that the client offers that is also -supported by the server.

    -

    The options below can be used to limit which protocol versions are used, -and whether TCP (SSL and TLS) or UDP (DTLS) is used. -Note that not all protocols and flags may be available, depending on how -OpenSSL was built.

    -
    -
    -ssl3, -tls1, -tls1_1, -tls1_2, -tls1_3, -no_ssl3, -no_tls1, -no_tls1_1, -no_tls1_2, -no_tls1_3
    - -
    -

    These options require or disable the use of the specified SSL or TLS protocols. -When a specific TLS version is required, only that version will be offered or -accepted. -Only one specific protocol can be given and it cannot be combined with any of -the no_ options.

    -
    -
    -dtls, -dtls1, -dtls1_2
    - -
    -

    These options specify to use DTLS instead of DLTS. -With -dtls, clients will negotiate any supported DTLS protocol version. -Use the -dtls1 or -dtls1_2 options to support only DTLS1.0 or DTLS1.2, -respectively.

    -
    -
    -

    -

    -

    Engine Options

    -
    -
    -engine id
    - -
    -

    Use the engine identified by id and use all the methods it -implements (algorithms, key storage, etc.), unless specified otherwise in -the command-specific documentation or it is configured to do so, as described -in config(5)/Engine Configuration Module.

    -
    -
    -

    -

    -
    -

    ENVIRONMENT

    -

    The OpenSSL library can be take some configuration parameters from the -environment. Some of these variables are listed below. For information -about specific commands, see openssl-engine(1), openssl-provider(1), -openssl-rehash(1), and tsget(1).

    -

    For information about the use of environment variables in configuration, -see config(5)/ENVIRONMENT.

    -

    For information about querying or specifying CPU architecture flags, see -OPENSSL_ia32cap(3), and OPENSSL_s390xcap(3).

    -

    For information about all environment variables used by the OpenSSL libraries, -see openssl-env(7).

    -
    -
    OPENSSL_TRACE=name[,...]
    - -
    -

    Enable tracing output of OpenSSL library, by name. -This output will only make sense if you know OpenSSL internals well. -Also, it might not give you any output at all, depending on how -OpenSSL was built.

    -

    The value is a comma separated list of names, with the following -available:

    -
    -
    TRACE
    - -
    -

    The tracing functionality.

    -
    -
    TLS
    - -
    -

    General SSL/TLS.

    -
    -
    TLS_CIPHER
    - -
    -

    SSL/TLS cipher.

    -
    -
    ENGINE_CONF
    - -
    -

    ENGINE configuration.

    -
    -
    ENGINE_TABLE
    - -
    -

    The function that is used by RSA, DSA (etc) code to select registered -ENGINEs, cache defaults and functional references (etc), will generate -debugging summaries.

    -
    -
    ENGINE_REF_COUNT
    - -
    -

    Reference counts in the ENGINE structure will be monitored with a line -of generated for each change.

    -
    -
    PKCS5V2
    - -
    -

    PKCS#5 v2 keygen.

    -
    -
    PKCS12_KEYGEN
    - -
    -

    PKCS#12 key generation.

    -
    -
    PKCS12_DECRYPT
    - -
    -

    PKCS#12 decryption.

    -
    -
    X509V3_POLICY
    - -
    -

    Generates the complete policy tree at various point during X.509 v3 -policy evaluation.

    -
    -
    BN_CTX
    - -
    -

    BIGNUM context.

    -
    -
    -
    -
    -

    -


    SEE ALSO

    -

    openssl-asn1parse(1), -openssl-ca(1), -openssl-ciphers(1), -openssl-cms(1), -openssl-crl(1), -openssl-crl2pkcs7(1), -openssl-dgst(1), -openssl-dhparam(1), -openssl-dsa(1), -openssl-dsaparam(1), -openssl-ec(1), -openssl-ecparam(1), -openssl-enc(1), -openssl-engine(1), -openssl-errstr(1), -openssl-gendsa(1), -openssl-genpkey(1), -openssl-genrsa(1), -openssl-kdf(1), -openssl-mac(1), -openssl-nseq(1), -openssl-ocsp(1), -openssl-passwd(1), -openssl-pkcs12(1), -openssl-pkcs7(1), -openssl-pkcs8(1), -openssl-pkey(1), -openssl-pkeyparam(1), -openssl-pkeyutl(1), -openssl-prime(1), -openssl-rand(1), -openssl-rehash(1), -openssl-req(1), -openssl-rsa(1), -openssl-rsautl(1), -openssl-s_client(1), -openssl-s_server(1), -openssl-s_time(1), -openssl-sess_id(1), -openssl-smime(1), -openssl-speed(1), -openssl-spkac(1), -openssl-srp(1), -openssl-storeutl(1), -openssl-ts(1), -openssl-verify(1), -openssl-version(1), -openssl-x509(1), -config(5), -crypto(7), -openssl-env(7). -ssl(7), -x509v3_config(5)

    +

    asn1parse(1), ca(1), ciphers(1), cms(1), config(5), +crl(1), crl2pkcs7(1), dgst(1), +dhparam(1), dsa(1), dsaparam(1), +ec(1), ecparam(1), +enc(1), engine(1), errstr(1), gendsa(1), genpkey(1), +genrsa(1), nseq(1), ocsp(1), +passwd(1), +pkcs12(1), pkcs7(1), pkcs8(1), +pkey(1), pkeyparam(1), pkeyutl(1), prime(1), +rand(1), rehash(1), req(1), rsa(1), +rsautl(1), s_client(1), +s_server(1), s_time(1), sess_id(1), +smime(1), speed(1), spkac(1), srp(1), storeutl(1), +ts(1), +verify(1), version(1), x509(1), +crypto(7), ssl(7), x509v3_config(5)


    HISTORY

    -

    The list -XXX-algorithms options were added in OpenSSL 1.0.0; +

    The list-XXX-algorithms pseudo-commands were added in OpenSSL 1.0.0; For notes on the availability of other commands, see their individual manual pages.

    -

    The -issuer_checks option is deprecated as of OpenSSL 1.1.0 and -is silently ignored.


    COPYRIGHT

    -

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man1/passwd.html b/linux_amd64/share/doc/openssl/html/man1/passwd.html new file mode 100644 index 0000000..a2c8616 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/passwd.html @@ -0,0 +1,182 @@ + + + + +passwd + + + + + + + + +
    +

    + + + +
    +
    + + +

    +

    +
    +

    NAME

    +

    openssl-passwd, +passwd - compute password hashes

    +

    +

    +
    +

    SYNOPSIS

    +

    openssl passwd +[-help] +[-crypt] +[-1] +[-apr1] +[-aixmd5] +[-5] +[-6] +[-salt string] +[-in file] +[-stdin] +[-noverify] +[-quiet] +[-table] +[-rand file...] +[-writerand file] +{password}

    +

    +

    +
    +

    DESCRIPTION

    +

    The passwd command computes the hash of a password typed at +run-time or the hash of each password in a list. The password list is +taken from the named file for option -in file, from stdin for +option -stdin, or from the command line, or from the terminal otherwise. +The Unix standard algorithm crypt and the MD5-based BSD password +algorithm 1, its Apache variant apr1, and its AIX variant are available.

    +

    +

    +
    +

    OPTIONS

    +
    +
    -help
    + +
    +

    Print out a usage message.

    +
    +
    -crypt
    + +
    +

    Use the crypt algorithm (default).

    +
    +
    -1
    + +
    +

    Use the MD5 based BSD password algorithm 1.

    +
    +
    -apr1
    + +
    +

    Use the apr1 algorithm (Apache variant of the BSD algorithm).

    +
    +
    -aixmd5
    + +
    +

    Use the AIX MD5 algorithm (AIX variant of the BSD algorithm).

    +
    +
    -5
    + +
    -6
    + +
    +

    Use the SHA256 / SHA512 based algorithms defined by Ulrich Drepper. +See https://www.akkadia.org/drepper/SHA-crypt.txt.

    +
    +
    -salt string
    + +
    +

    Use the specified salt. +When reading a password from the terminal, this implies -noverify.

    +
    +
    -in file
    + +
    +

    Read passwords from file.

    +
    +
    -stdin
    + +
    +

    Read passwords from stdin.

    +
    +
    -noverify
    + +
    +

    Don't verify when reading a password from the terminal.

    +
    +
    -quiet
    + +
    +

    Don't output warnings when passwords given at the command line are truncated.

    +
    +
    -table
    + +
    +

    In the output list, prepend the cleartext password and a TAB character +to each password hash.

    +
    +
    -rand file...
    + +
    +

    A file or files containing random data used to seed the random number +generator. +Multiple files can be specified separated by an OS-dependent character. +The separator is ; for MS-Windows, , for OpenVMS, and : for +all others.

    +
    +
    [-writerand file]
    + +
    +

    Writes random data to the specified file upon exit. +This can be used with a subsequent -rand flag.

    +
    +
    +

    +

    +
    +

    EXAMPLES

    +
    +  % openssl passwd -crypt -salt xx password
    +  xxj31ZMTZzkVA
    +
    +  % openssl passwd -1 -salt xxxxxxxx password
    +  $1$xxxxxxxx$UYCIxa628.9qXjpQCjM4a.
    +
    +  % openssl passwd -apr1 -salt xxxxxxxx password
    +  $apr1$xxxxxxxx$dxHfLAsjHkDRmG83UXe8K0
    +
    +  % openssl passwd -aixmd5 -salt xxxxxxxx password
    +  xxxxxxxx$8Oaipk/GPKhC64w/YVeFD/
    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man1/pkcs12.html b/linux_amd64/share/doc/openssl/html/man1/pkcs12.html new file mode 100644 index 0000000..45a4eac --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/pkcs12.html @@ -0,0 +1,471 @@ + + + + +pkcs12 + + + + + + + + + + + +

    +

    +
    +

    NAME

    +

    openssl-pkcs12, +pkcs12 - PKCS#12 file utility

    +

    +

    +
    +

    SYNOPSIS

    +

    openssl pkcs12 +[-help] +[-export] +[-chain] +[-inkey file_or_id] +[-certfile filename] +[-name name] +[-caname name] +[-in filename] +[-out filename] +[-noout] +[-nomacver] +[-nocerts] +[-clcerts] +[-cacerts] +[-nokeys] +[-info] +[-des | -des3 | -idea | -aes128 | -aes192 | -aes256 | -aria128 | -aria192 | -aria256 | -camellia128 | -camellia192 | -camellia256 | -nodes] +[-noiter] +[-maciter | -nomaciter | -nomac] +[-twopass] +[-descert] +[-certpbe cipher] +[-keypbe cipher] +[-macalg digest] +[-keyex] +[-keysig] +[-password arg] +[-passin arg] +[-passout arg] +[-rand file...] +[-writerand file] +[-CAfile file] +[-CApath dir] +[-no-CAfile] +[-no-CApath] +[-CSP name]

    +

    +

    +
    +

    DESCRIPTION

    +

    The pkcs12 command allows PKCS#12 files (sometimes referred to as +PFX files) to be created and parsed. PKCS#12 files are used by several +programs including Netscape, MSIE and MS Outlook.

    +

    +

    +
    +

    OPTIONS

    +

    There are a lot of options the meaning of some depends of whether a PKCS#12 file +is being created or parsed. By default a PKCS#12 file is parsed. A PKCS#12 +file can be created by using the -export option (see below).

    +

    +

    +
    +

    PARSING OPTIONS

    +
    +
    -help
    + +
    +

    Print out a usage message.

    +
    +
    -in filename
    + +
    +

    This specifies filename of the PKCS#12 file to be parsed. Standard input is used +by default.

    +
    +
    -out filename
    + +
    +

    The filename to write certificates and private keys to, standard output by +default. They are all written in PEM format.

    +
    +
    -passin arg
    + +
    +

    The PKCS#12 file (i.e. input file) password source. For more information about +the format of arg see the PASS PHRASE ARGUMENTS section in +openssl(1).

    +
    +
    -passout arg
    + +
    +

    Pass phrase source to encrypt any outputted private keys with. For more +information about the format of arg see the PASS PHRASE ARGUMENTS section +in openssl(1).

    +
    +
    -password arg
    + +
    +

    With -export, -password is equivalent to -passout. +Otherwise, -password is equivalent to -passin.

    +
    +
    -noout
    + +
    +

    This option inhibits output of the keys and certificates to the output file +version of the PKCS#12 file.

    +
    +
    -clcerts
    + +
    +

    Only output client certificates (not CA certificates).

    +
    +
    -cacerts
    + +
    +

    Only output CA certificates (not client certificates).

    +
    +
    -nocerts
    + +
    +

    No certificates at all will be output.

    +
    +
    -nokeys
    + +
    +

    No private keys will be output.

    +
    +
    -info
    + +
    +

    Output additional information about the PKCS#12 file structure, algorithms +used and iteration counts.

    +
    +
    -des
    + +
    +

    Use DES to encrypt private keys before outputting.

    +
    +
    -des3
    + +
    +

    Use triple DES to encrypt private keys before outputting, this is the default.

    +
    +
    -idea
    + +
    +

    Use IDEA to encrypt private keys before outputting.

    +
    +
    -aes128, -aes192, -aes256
    + +
    +

    Use AES to encrypt private keys before outputting.

    +
    +
    -aria128, -aria192, -aria256
    + +
    +

    Use ARIA to encrypt private keys before outputting.

    +
    +
    -camellia128, -camellia192, -camellia256
    + +
    +

    Use Camellia to encrypt private keys before outputting.

    +
    +
    -nodes
    + +
    +

    Don't encrypt the private keys at all.

    +
    +
    -nomacver
    + +
    +

    Don't attempt to verify the integrity MAC before reading the file.

    +
    +
    -twopass
    + +
    +

    Prompt for separate integrity and encryption passwords: most software +always assumes these are the same so this option will render such +PKCS#12 files unreadable. Cannot be used in combination with the options +-password, -passin (if importing) or -passout (if exporting).

    +
    +
    +

    +

    +
    +

    FILE CREATION OPTIONS

    +
    +
    -export
    + +
    +

    This option specifies that a PKCS#12 file will be created rather than +parsed.

    +
    +
    -out filename
    + +
    +

    This specifies filename to write the PKCS#12 file to. Standard output is used +by default.

    +
    +
    -in filename
    + +
    +

    The filename to read certificates and private keys from, standard input by +default. They must all be in PEM format. The order doesn't matter but one +private key and its corresponding certificate should be present. If additional +certificates are present they will also be included in the PKCS#12 file.

    +
    +
    -inkey file_or_id
    + +
    +

    File to read private key from. If not present then a private key must be present +in the input file. +If no engine is used, the argument is taken as a file; if an engine is +specified, the argument is given to the engine as a key identifier.

    +
    +
    -name friendlyname
    + +
    +

    This specifies the "friendly name" for the certificate and private key. This +name is typically displayed in list boxes by software importing the file.

    +
    +
    -certfile filename
    + +
    +

    A filename to read additional certificates from.

    +
    +
    -caname friendlyname
    + +
    +

    This specifies the "friendly name" for other certificates. This option may be +used multiple times to specify names for all certificates in the order they +appear. Netscape ignores friendly names on other certificates whereas MSIE +displays them.

    +
    +
    -pass arg, -passout arg
    + +
    +

    The PKCS#12 file (i.e. output file) password source. For more information about +the format of arg see the PASS PHRASE ARGUMENTS section in +openssl(1).

    +
    +
    -passin password
    + +
    +

    Pass phrase source to decrypt any input private keys with. For more information +about the format of arg see the PASS PHRASE ARGUMENTS section in +openssl(1).

    +
    +
    -chain
    + +
    +

    If this option is present then an attempt is made to include the entire +certificate chain of the user certificate. The standard CA store is used +for this search. If the search fails it is considered a fatal error.

    +
    +
    -descert
    + +
    +

    Encrypt the certificate using triple DES, this may render the PKCS#12 +file unreadable by some "export grade" software. By default the private +key is encrypted using triple DES and the certificate using 40 bit RC2 +unless RC2 is disabled in which case triple DES is used.

    +
    +
    -keypbe alg, -certpbe alg
    + +
    +

    These options allow the algorithm used to encrypt the private key and +certificates to be selected. Any PKCS#5 v1.5 or PKCS#12 PBE algorithm name +can be used (see NOTES section for more information). If a cipher name +(as output by the list-cipher-algorithms command is specified then it +is used with PKCS#5 v2.0. For interoperability reasons it is advisable to only +use PKCS#12 algorithms.

    +
    +
    -keyex|-keysig
    + +
    +

    Specifies that the private key is to be used for key exchange or just signing. +This option is only interpreted by MSIE and similar MS software. Normally +"export grade" software will only allow 512 bit RSA keys to be used for +encryption purposes but arbitrary length keys for signing. The -keysig +option marks the key for signing only. Signing only keys can be used for +S/MIME signing, authenticode (ActiveX control signing) and SSL client +authentication, however due to a bug only MSIE 5.0 and later support +the use of signing only keys for SSL client authentication.

    +
    +
    -macalg digest
    + +
    +

    Specify the MAC digest algorithm. If not included them SHA1 will be used.

    +
    +
    -nomaciter, -noiter
    + +
    +

    These options affect the iteration counts on the MAC and key algorithms. +Unless you wish to produce files compatible with MSIE 4.0 you should leave +these options alone.

    +

    To discourage attacks by using large dictionaries of common passwords the +algorithm that derives keys from passwords can have an iteration count applied +to it: this causes a certain part of the algorithm to be repeated and slows it +down. The MAC is used to check the file integrity but since it will normally +have the same password as the keys and certificates it could also be attacked. +By default both MAC and encryption iteration counts are set to 2048, using +these options the MAC and encryption iteration counts can be set to 1, since +this reduces the file security you should not use these options unless you +really have to. Most software supports both MAC and key iteration counts. +MSIE 4.0 doesn't support MAC iteration counts so it needs the -nomaciter +option.

    +
    +
    -maciter
    + +
    +

    This option is included for compatibility with previous versions, it used +to be needed to use MAC iterations counts but they are now used by default.

    +
    +
    -nomac
    + +
    +

    Don't attempt to provide the MAC integrity.

    +
    +
    -rand file...
    + +
    +

    A file or files containing random data used to seed the random number +generator. +Multiple files can be specified separated by an OS-dependent character. +The separator is ; for MS-Windows, , for OpenVMS, and : for +all others.

    +
    +
    [-writerand file]
    + +
    +

    Writes random data to the specified file upon exit. +This can be used with a subsequent -rand flag.

    +
    +
    -CAfile file
    + +
    +

    CA storage as a file.

    +
    +
    -CApath dir
    + +
    +

    CA storage as a directory. This directory must be a standard certificate +directory: that is a hash of each subject name (using x509 -hash) should be +linked to each certificate.

    +
    +
    -no-CAfile
    + +
    +

    Do not load the trusted CA certificates from the default file location.

    +
    +
    -no-CApath
    + +
    +

    Do not load the trusted CA certificates from the default directory location.

    +
    +
    -CSP name
    + +
    +

    Write name as a Microsoft CSP name.

    +
    +
    +

    +

    +
    +

    NOTES

    +

    Although there are a large number of options most of them are very rarely +used. For PKCS#12 file parsing only -in and -out need to be used +for PKCS#12 file creation -export and -name are also used.

    +

    If none of the -clcerts, -cacerts or -nocerts options are present +then all certificates will be output in the order they appear in the input +PKCS#12 files. There is no guarantee that the first certificate present is +the one corresponding to the private key. Certain software which requires +a private key and certificate and assumes the first certificate in the +file is the one corresponding to the private key: this may not always +be the case. Using the -clcerts option will solve this problem by only +outputting the certificate corresponding to the private key. If the CA +certificates are required then they can be output to a separate file using +the -nokeys -cacerts options to just output CA certificates.

    +

    The -keypbe and -certpbe algorithms allow the precise encryption +algorithms for private keys and certificates to be specified. Normally +the defaults are fine but occasionally software can't handle triple DES +encrypted private keys, then the option -keypbe PBE-SHA1-RC2-40 can +be used to reduce the private key encryption to 40 bit RC2. A complete +description of all algorithms is contained in the pkcs8 manual page.

    +

    Prior 1.1 release passwords containing non-ASCII characters were encoded +in non-compliant manner, which limited interoperability, in first hand +with Windows. But switching to standard-compliant password encoding +poses problem accessing old data protected with broken encoding. For +this reason even legacy encodings is attempted when reading the +data. If you use PKCS#12 files in production application you are advised +to convert the data, because implemented heuristic approach is not +MT-safe, its sole goal is to facilitate the data upgrade with this +utility.

    +

    +

    +
    +

    EXAMPLES

    +

    Parse a PKCS#12 file and output it to a file:

    +
    + openssl pkcs12 -in file.p12 -out file.pem
    +

    Output only client certificates to a file:

    +
    + openssl pkcs12 -in file.p12 -clcerts -out file.pem
    +

    Don't encrypt the private key:

    +
    + openssl pkcs12 -in file.p12 -out file.pem -nodes
    +

    Print some info about a PKCS#12 file:

    +
    + openssl pkcs12 -in file.p12 -info -noout
    +

    Create a PKCS#12 file:

    +
    + openssl pkcs12 -export -in file.pem -out file.p12 -name "My Certificate"
    +

    Include some extra certificates:

    +
    + openssl pkcs12 -export -in file.pem -out file.p12 -name "My Certificate" \
    +  -certfile othercerts.pem
    +

    +

    +
    +

    SEE ALSO

    +

    pkcs8(1)

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man1/pkcs7.html b/linux_amd64/share/doc/openssl/html/man1/pkcs7.html new file mode 100644 index 0000000..ccbd148 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/pkcs7.html @@ -0,0 +1,167 @@ + + + + +pkcs7 + + + + + + + + + + + +

    +

    +
    +

    NAME

    +

    openssl-pkcs7, +pkcs7 - PKCS#7 utility

    +

    +

    +
    +

    SYNOPSIS

    +

    openssl pkcs7 +[-help] +[-inform PEM|DER] +[-outform PEM|DER] +[-in filename] +[-out filename] +[-print_certs] +[-text] +[-noout] +[-engine id]

    +

    +

    +
    +

    DESCRIPTION

    +

    The pkcs7 command processes PKCS#7 files in DER or PEM format.

    +

    +

    +
    +

    OPTIONS

    +
    +
    -help
    + +
    +

    Print out a usage message.

    +
    +
    -inform DER|PEM
    + +
    +

    This specifies the input format. DER format is DER encoded PKCS#7 +v1.5 structure.PEM (the default) is a base64 encoded version of +the DER form with header and footer lines.

    +
    +
    -outform DER|PEM
    + +
    +

    This specifies the output format, the options have the same meaning and default +as the -inform option.

    +
    +
    -in filename
    + +
    +

    This specifies the input filename to read from or standard input if this +option is not specified.

    +
    +
    -out filename
    + +
    +

    Specifies the output filename to write to or standard output by +default.

    +
    +
    -print_certs
    + +
    +

    Prints out any certificates or CRLs contained in the file. They are +preceded by their subject and issuer names in one line format.

    +
    +
    -text
    + +
    +

    Prints out certificates details in full rather than just subject and +issuer names.

    +
    +
    -noout
    + +
    +

    Don't output the encoded version of the PKCS#7 structure (or certificates +is -print_certs is set).

    +
    +
    -engine id
    + +
    +

    Specifying an engine (by its unique id string) will cause pkcs7 +to attempt to obtain a functional reference to the specified engine, +thus initialising it if needed. The engine will then be set as the default +for all available algorithms.

    +
    +
    +

    +

    +
    +

    EXAMPLES

    +

    Convert a PKCS#7 file from PEM to DER:

    +
    + openssl pkcs7 -in file.pem -outform DER -out file.der
    +

    Output all certificates in a file:

    +
    + openssl pkcs7 -in file.pem -print_certs -out certs.pem
    +

    +

    +
    +

    NOTES

    +

    The PEM PKCS#7 format uses the header and footer lines:

    +
    + -----BEGIN PKCS7-----
    + -----END PKCS7-----
    +

    For compatibility with some CAs it will also accept:

    +
    + -----BEGIN CERTIFICATE-----
    + -----END CERTIFICATE-----
    +

    +

    +
    +

    RESTRICTIONS

    +

    There is no option to print out all the fields of a PKCS#7 file.

    +

    This PKCS#7 routines only understand PKCS#7 v 1.5 as specified in RFC2315 they +cannot currently parse, for example, the new CMS as described in RFC2630.

    +

    +

    +
    +

    SEE ALSO

    +

    crl2pkcs7(1)

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man1/pkcs8.html b/linux_amd64/share/doc/openssl/html/man1/pkcs8.html new file mode 100644 index 0000000..8524692 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/pkcs8.html @@ -0,0 +1,368 @@ + + + + +pkcs8 + + + + + + + + + + + +

    +

    +
    +

    NAME

    +

    openssl-pkcs8, +pkcs8 - PKCS#8 format private key conversion tool

    +

    +

    +
    +

    SYNOPSIS

    +

    openssl pkcs8 +[-help] +[-topk8] +[-inform PEM|DER] +[-outform PEM|DER] +[-in filename] +[-passin arg] +[-out filename] +[-passout arg] +[-iter count] +[-noiter] +[-rand file...] +[-writerand file] +[-nocrypt] +[-traditional] +[-v2 alg] +[-v2prf alg] +[-v1 alg] +[-engine id] +[-scrypt] +[-scrypt_N N] +[-scrypt_r r] +[-scrypt_p p]

    +

    +

    +
    +

    DESCRIPTION

    +

    The pkcs8 command processes private keys in PKCS#8 format. It can handle +both unencrypted PKCS#8 PrivateKeyInfo format and EncryptedPrivateKeyInfo +format with a variety of PKCS#5 (v1.5 and v2.0) and PKCS#12 algorithms.

    +

    +

    +
    +

    OPTIONS

    +
    +
    -help
    + +
    +

    Print out a usage message.

    +
    +
    -topk8
    + +
    +

    Normally a PKCS#8 private key is expected on input and a private key will be +written to the output file. With the -topk8 option the situation is +reversed: it reads a private key and writes a PKCS#8 format key.

    +
    +
    -inform DER|PEM
    + +
    +

    This specifies the input format: see KEY FORMATS for more details. The default +format is PEM.

    +
    +
    -outform DER|PEM
    + +
    +

    This specifies the output format: see KEY FORMATS for more details. The default +format is PEM.

    +
    +
    -traditional
    + +
    +

    When this option is present and -topk8 is not a traditional format private +key is written.

    +
    +
    -in filename
    + +
    +

    This specifies the input filename to read a key from or standard input if this +option is not specified. If the key is encrypted a pass phrase will be +prompted for.

    +
    +
    -passin arg
    + +
    +

    The input file password source. For more information about the format of arg +see the PASS PHRASE ARGUMENTS section in openssl(1).

    +
    +
    -out filename
    + +
    +

    This specifies the output filename to write a key to or standard output by +default. If any encryption options are set then a pass phrase will be +prompted for. The output filename should not be the same as the input +filename.

    +
    +
    -passout arg
    + +
    +

    The output file password source. For more information about the format of arg +see the PASS PHRASE ARGUMENTS section in openssl(1).

    +
    +
    -iter count
    + +
    +

    When creating new PKCS#8 containers, use a given number of iterations on +the password in deriving the encryption key for the PKCS#8 output. +High values increase the time required to brute-force a PKCS#8 container.

    +
    +
    -nocrypt
    + +
    +

    PKCS#8 keys generated or input are normally PKCS#8 EncryptedPrivateKeyInfo +structures using an appropriate password based encryption algorithm. With +this option an unencrypted PrivateKeyInfo structure is expected or output. +This option does not encrypt private keys at all and should only be used +when absolutely necessary. Certain software such as some versions of Java +code signing software used unencrypted private keys.

    +
    +
    -rand file...
    + +
    +

    A file or files containing random data used to seed the random number +generator. +Multiple files can be specified separated by an OS-dependent character. +The separator is ; for MS-Windows, , for OpenVMS, and : for +all others.

    +
    +
    [-writerand file]
    + +
    +

    Writes random data to the specified file upon exit. +This can be used with a subsequent -rand flag.

    +
    +
    -v2 alg
    + +
    +

    This option sets the PKCS#5 v2.0 algorithm.

    +

    The alg argument is the encryption algorithm to use, valid values include +aes128, aes256 and des3. If this option isn't specified then aes256 +is used.

    +
    +
    -v2prf alg
    + +
    +

    This option sets the PRF algorithm to use with PKCS#5 v2.0. A typical value +value would be hmacWithSHA256. If this option isn't set then the default +for the cipher is used or hmacWithSHA256 if there is no default.

    +

    Some implementations may not support custom PRF algorithms and may require +the hmacWithSHA1 option to work.

    +
    +
    -v1 alg
    + +
    +

    This option indicates a PKCS#5 v1.5 or PKCS#12 algorithm should be used. Some +older implementations may not support PKCS#5 v2.0 and may require this option. +If not specified PKCS#5 v2.0 form is used.

    +
    +
    -engine id
    + +
    +

    Specifying an engine (by its unique id string) will cause pkcs8 +to attempt to obtain a functional reference to the specified engine, +thus initialising it if needed. The engine will then be set as the default +for all available algorithms.

    +
    +
    -scrypt
    + +
    +

    Uses the scrypt algorithm for private key encryption using default +parameters: currently N=16384, r=8 and p=1 and AES in CBC mode with a 256 bit +key. These parameters can be modified using the -scrypt_N, -scrypt_r, +-scrypt_p and -v2 options.

    +
    +
    -scrypt_N N -scrypt_r r -scrypt_p p
    + +
    +

    Sets the scrypt N, r or p parameters.

    +
    +
    +

    +

    +
    +

    KEY FORMATS

    +

    Various different formats are used by the pkcs8 utility. These are detailed +below.

    +

    If a key is being converted from PKCS#8 form (i.e. the -topk8 option is +not used) then the input file must be in PKCS#8 format. An encrypted +key is expected unless -nocrypt is included.

    +

    If -topk8 is not used and PEM mode is set the output file will be an +unencrypted private key in PKCS#8 format. If the -traditional option is +used then a traditional format private key is written instead.

    +

    If -topk8 is not used and DER mode is set the output file will be an +unencrypted private key in traditional DER format.

    +

    If -topk8 is used then any supported private key can be used for the input +file in a format specified by -inform. The output file will be encrypted +PKCS#8 format using the specified encryption parameters unless -nocrypt +is included.

    +

    +

    +
    +

    NOTES

    +

    By default, when converting a key to PKCS#8 format, PKCS#5 v2.0 using 256 bit +AES with HMAC and SHA256 is used.

    +

    Some older implementations do not support PKCS#5 v2.0 format and require +the older PKCS#5 v1.5 form instead, possibly also requiring insecure weak +encryption algorithms such as 56 bit DES.

    +

    The encrypted form of a PEM encode PKCS#8 files uses the following +headers and footers:

    +
    + -----BEGIN ENCRYPTED PRIVATE KEY-----
    + -----END ENCRYPTED PRIVATE KEY-----
    +

    The unencrypted form uses:

    +
    + -----BEGIN PRIVATE KEY-----
    + -----END PRIVATE KEY-----
    +

    Private keys encrypted using PKCS#5 v2.0 algorithms and high iteration +counts are more secure that those encrypted using the traditional +SSLeay compatible formats. So if additional security is considered +important the keys should be converted.

    +

    It is possible to write out DER encoded encrypted private keys in +PKCS#8 format because the encryption details are included at an ASN1 +level whereas the traditional format includes them at a PEM level.

    +

    +

    +
    +

    PKCS#5 v1.5 and PKCS#12 algorithms.

    +

    Various algorithms can be used with the -v1 command line option, +including PKCS#5 v1.5 and PKCS#12. These are described in more detail +below.

    +
    +
    PBE-MD2-DES PBE-MD5-DES
    + +
    +

    These algorithms were included in the original PKCS#5 v1.5 specification. +They only offer 56 bits of protection since they both use DES.

    +
    +
    PBE-SHA1-RC2-64, PBE-MD2-RC2-64, PBE-MD5-RC2-64, PBE-SHA1-DES
    + +
    +

    These algorithms are not mentioned in the original PKCS#5 v1.5 specification +but they use the same key derivation algorithm and are supported by some +software. They are mentioned in PKCS#5 v2.0. They use either 64 bit RC2 or +56 bit DES.

    +
    +
    PBE-SHA1-RC4-128, PBE-SHA1-RC4-40, PBE-SHA1-3DES, PBE-SHA1-2DES, PBE-SHA1-RC2-128, PBE-SHA1-RC2-40
    + +
    +

    These algorithms use the PKCS#12 password based encryption algorithm and +allow strong encryption algorithms like triple DES or 128 bit RC2 to be used.

    +
    +
    +

    +

    +
    +

    EXAMPLES

    +

    Convert a private key to PKCS#8 format using default parameters (AES with +256 bit key and hmacWithSHA256):

    +
    + openssl pkcs8 -in key.pem -topk8 -out enckey.pem
    +

    Convert a private key to PKCS#8 unencrypted format:

    +
    + openssl pkcs8 -in key.pem -topk8 -nocrypt -out enckey.pem
    +

    Convert a private key to PKCS#5 v2.0 format using triple DES:

    +
    + openssl pkcs8 -in key.pem -topk8 -v2 des3 -out enckey.pem
    +

    Convert a private key to PKCS#5 v2.0 format using AES with 256 bits in CBC +mode and hmacWithSHA512 PRF:

    +
    + openssl pkcs8 -in key.pem -topk8 -v2 aes-256-cbc -v2prf hmacWithSHA512 -out enckey.pem
    +

    Convert a private key to PKCS#8 using a PKCS#5 1.5 compatible algorithm +(DES):

    +
    + openssl pkcs8 -in key.pem -topk8 -v1 PBE-MD5-DES -out enckey.pem
    +

    Convert a private key to PKCS#8 using a PKCS#12 compatible algorithm +(3DES):

    +
    + openssl pkcs8 -in key.pem -topk8 -out enckey.pem -v1 PBE-SHA1-3DES
    +

    Read a DER unencrypted PKCS#8 format private key:

    +
    + openssl pkcs8 -inform DER -nocrypt -in key.der -out key.pem
    +

    Convert a private key from any PKCS#8 encrypted format to traditional format:

    +
    + openssl pkcs8 -in pk8.pem -traditional -out key.pem
    +

    Convert a private key to PKCS#8 format, encrypting with AES-256 and with +one million iterations of the password:

    +
    + openssl pkcs8 -in key.pem -topk8 -v2 aes-256-cbc -iter 1000000 -out pk8.pem
    +

    +

    +
    +

    STANDARDS

    +

    Test vectors from this PKCS#5 v2.0 implementation were posted to the +pkcs-tng mailing list using triple DES, DES and RC2 with high iteration +counts, several people confirmed that they could decrypt the private +keys produced and Therefore it can be assumed that the PKCS#5 v2.0 +implementation is reasonably accurate at least as far as these +algorithms are concerned.

    +

    The format of PKCS#8 DSA (and other) private keys is not well documented: +it is hidden away in PKCS#11 v2.01, section 11.9. OpenSSL's default DSA +PKCS#8 private key format complies with this standard.

    +

    +

    +
    +

    BUGS

    +

    There should be an option that prints out the encryption algorithm +in use and other details such as the iteration count.

    +

    +

    +
    +

    SEE ALSO

    +

    dsa(1), rsa(1), genrsa(1), +gendsa(1)

    +

    +

    +
    +

    HISTORY

    +

    The -iter option was added in OpenSSL 1.1.0.

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man1/pkey.html b/linux_amd64/share/doc/openssl/html/man1/pkey.html new file mode 100644 index 0000000..ebb4eb2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/pkey.html @@ -0,0 +1,217 @@ + + + + +pkey + + + + + + + + +
    +

    + + + +
    +
    + + +

    +

    +
    +

    NAME

    +

    openssl-pkey, +pkey - public or private key processing tool

    +

    +

    +
    +

    SYNOPSIS

    +

    openssl pkey +[-help] +[-inform PEM|DER] +[-outform PEM|DER] +[-in filename] +[-passin arg] +[-out filename] +[-passout arg] +[-traditional] +[-cipher] +[-text] +[-text_pub] +[-noout] +[-pubin] +[-pubout] +[-engine id] +[-check] +[-pubcheck]

    +

    +

    +
    +

    DESCRIPTION

    +

    The pkey command processes public or private keys. They can be converted +between various forms and their components printed out.

    +

    +

    +
    +

    OPTIONS

    +
    +
    -help
    + +
    +

    Print out a usage message.

    +
    +
    -inform DER|PEM
    + +
    +

    This specifies the input format DER or PEM. The default format is PEM.

    +
    +
    -outform DER|PEM
    + +
    +

    This specifies the output format, the options have the same meaning and default +as the -inform option.

    +
    +
    -in filename
    + +
    +

    This specifies the input filename to read a key from or standard input if this +option is not specified. If the key is encrypted a pass phrase will be +prompted for.

    +
    +
    -passin arg
    + +
    +

    The input file password source. For more information about the format of arg +see the PASS PHRASE ARGUMENTS section in openssl(1).

    +
    +
    -out filename
    + +
    +

    This specifies the output filename to write a key to or standard output if this +option is not specified. If any encryption options are set then a pass phrase +will be prompted for. The output filename should not be the same as the input +filename.

    +
    +
    -passout password
    + +
    +

    The output file password source. For more information about the format of arg +see the PASS PHRASE ARGUMENTS section in openssl(1).

    +
    +
    -traditional
    + +
    +

    Normally a private key is written using standard format: this is PKCS#8 form +with the appropriate encryption algorithm (if any). If the -traditional +option is specified then the older "traditional" format is used instead.

    +
    +
    -cipher
    + +
    +

    These options encrypt the private key with the supplied cipher. Any algorithm +name accepted by EVP_get_cipherbyname() is acceptable such as des3.

    +
    +
    -text
    + +
    +

    Prints out the various public or private key components in +plain text in addition to the encoded version.

    +
    +
    -text_pub
    + +
    +

    Print out only public key components even if a private key is being processed.

    +
    +
    -noout
    + +
    +

    Do not output the encoded version of the key.

    +
    +
    -pubin
    + +
    +

    By default a private key is read from the input file: with this +option a public key is read instead.

    +
    +
    -pubout
    + +
    +

    By default a private key is output: with this option a public +key will be output instead. This option is automatically set if +the input is a public key.

    +
    +
    -engine id
    + +
    +

    Specifying an engine (by its unique id string) will cause pkey +to attempt to obtain a functional reference to the specified engine, +thus initialising it if needed. The engine will then be set as the default +for all available algorithms.

    +
    +
    -check
    + +
    +

    This option checks the consistency of a key pair for both public and private +components.

    +
    +
    -pubcheck
    + +
    +

    This option checks the correctness of either a public key or the public component +of a key pair.

    +
    +
    +

    +

    +
    +

    EXAMPLES

    +

    To remove the pass phrase on an RSA private key:

    +
    + openssl pkey -in key.pem -out keyout.pem
    +

    To encrypt a private key using triple DES:

    +
    + openssl pkey -in key.pem -des3 -out keyout.pem
    +

    To convert a private key from PEM to DER format:

    +
    + openssl pkey -in key.pem -outform DER -out keyout.der
    +

    To print out the components of a private key to standard output:

    +
    + openssl pkey -in key.pem -text -noout
    +

    To print out the public components of a private key to standard output:

    +
    + openssl pkey -in key.pem -text_pub -noout
    +

    To just output the public part of a private key:

    +
    + openssl pkey -in key.pem -pubout -out pubkey.pem
    +

    +

    +
    +

    SEE ALSO

    +

    genpkey(1), rsa(1), pkcs8(1), +dsa(1), genrsa(1), gendsa(1)

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2006-2017 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man1/pkeyparam.html b/linux_amd64/share/doc/openssl/html/man1/pkeyparam.html new file mode 100644 index 0000000..160f2fb --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/pkeyparam.html @@ -0,0 +1,134 @@ + + + + +pkeyparam + + + + + + + + +
    +

    + + + +
    +
    + + +

    +

    +
    +

    NAME

    +

    openssl-pkeyparam, +pkeyparam - public key algorithm parameter processing tool

    +

    +

    +
    +

    SYNOPSIS

    +

    openssl pkeyparam +[-help] +[-in filename] +[-out filename] +[-text] +[-noout] +[-engine id] +[-check]

    +

    +

    +
    +

    DESCRIPTION

    +

    The pkeyparam command processes public key algorithm parameters. +They can be checked for correctness and their components printed out.

    +

    +

    +
    +

    OPTIONS

    +
    +
    -help
    + +
    +

    Print out a usage message.

    +
    +
    -in filename
    + +
    +

    This specifies the input filename to read parameters from or standard input if +this option is not specified.

    +
    +
    -out filename
    + +
    +

    This specifies the output filename to write parameters to or standard output if +this option is not specified.

    +
    +
    -text
    + +
    +

    Prints out the parameters in plain text in addition to the encoded version.

    +
    +
    -noout
    + +
    +

    Do not output the encoded version of the parameters.

    +
    +
    -engine id
    + +
    +

    Specifying an engine (by its unique id string) will cause pkeyparam +to attempt to obtain a functional reference to the specified engine, +thus initialising it if needed. The engine will then be set as the default +for all available algorithms.

    +
    +
    -check
    + +
    +

    This option checks the correctness of parameters.

    +
    +
    +

    +

    +
    +

    EXAMPLES

    +

    Print out text version of parameters:

    +
    + openssl pkeyparam -in param.pem -text
    +

    +

    +
    +

    NOTES

    +

    There are no -inform or -outform options for this command because only +PEM format is supported because the key type is determined by the PEM headers.

    +

    +

    +
    +

    SEE ALSO

    +

    genpkey(1), rsa(1), pkcs8(1), +dsa(1), genrsa(1), gendsa(1)

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2006-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man1/pkeyutl.html b/linux_amd64/share/doc/openssl/html/man1/pkeyutl.html new file mode 100644 index 0000000..4a03dc9 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/pkeyutl.html @@ -0,0 +1,401 @@ + + + + +pkeyutl + + + + + + + + + + + +

    +

    +
    +

    NAME

    +

    openssl-pkeyutl, +pkeyutl - public key algorithm utility

    +

    +

    +
    +

    SYNOPSIS

    +

    openssl pkeyutl +[-help] +[-in file] +[-out file] +[-sigfile file] +[-inkey file] +[-keyform PEM|DER|ENGINE] +[-passin arg] +[-peerkey file] +[-peerform PEM|DER|ENGINE] +[-pubin] +[-certin] +[-rev] +[-sign] +[-verify] +[-verifyrecover] +[-encrypt] +[-decrypt] +[-derive] +[-kdf algorithm] +[-kdflen length] +[-pkeyopt opt:value] +[-hexdump] +[-asn1parse] +[-rand file...] +[-writerand file] +[-engine id] +[-engine_impl]

    +

    +

    +
    +

    DESCRIPTION

    +

    The pkeyutl command can be used to perform low level public key operations +using any supported algorithm.

    +

    +

    +
    +

    OPTIONS

    +
    +
    -help
    + +
    +

    Print out a usage message.

    +
    +
    -in filename
    + +
    +

    This specifies the input filename to read data from or standard input +if this option is not specified.

    +
    +
    -out filename
    + +
    +

    Specifies the output filename to write to or standard output by +default.

    +
    +
    -sigfile file
    + +
    +

    Signature file, required for verify operations only

    +
    +
    -inkey file
    + +
    +

    The input key file, by default it should be a private key.

    +
    +
    -keyform PEM|DER|ENGINE
    + +
    +

    The key format PEM, DER or ENGINE. Default is PEM.

    +
    +
    -passin arg
    + +
    +

    The input key password source. For more information about the format of arg +see the PASS PHRASE ARGUMENTS section in openssl(1).

    +
    +
    -peerkey file
    + +
    +

    The peer key file, used by key derivation (agreement) operations.

    +
    +
    -peerform PEM|DER|ENGINE
    + +
    +

    The peer key format PEM, DER or ENGINE. Default is PEM.

    +
    +
    -pubin
    + +
    +

    The input file is a public key.

    +
    +
    -certin
    + +
    +

    The input is a certificate containing a public key.

    +
    +
    -rev
    + +
    +

    Reverse the order of the input buffer. This is useful for some libraries +(such as CryptoAPI) which represent the buffer in little endian format.

    +
    +
    -sign
    + +
    +

    Sign the input data (which must be a hash) and output the signed result. This +requires a private key.

    +
    +
    -verify
    + +
    +

    Verify the input data (which must be a hash) against the signature file and +indicate if the verification succeeded or failed.

    +
    +
    -verifyrecover
    + +
    +

    Verify the input data (which must be a hash) and output the recovered data.

    +
    +
    -encrypt
    + +
    +

    Encrypt the input data using a public key.

    +
    +
    -decrypt
    + +
    +

    Decrypt the input data using a private key.

    +
    +
    -derive
    + +
    +

    Derive a shared secret using the peer key.

    +
    +
    -kdf algorithm
    + +
    +

    Use key derivation function algorithm. The supported algorithms are +at present TLS1-PRF and HKDF. +Note: additional parameters and the KDF output length will normally have to be +set for this to work. +See EVP_PKEY_CTX_set_hkdf_md(3) and EVP_PKEY_CTX_set_tls1_prf_md(3) +for the supported string parameters of each algorithm.

    +
    +
    -kdflen length
    + +
    +

    Set the output length for KDF.

    +
    +
    -pkeyopt opt:value
    + +
    +

    Public key options specified as opt:value. See NOTES below for more details.

    +
    +
    -hexdump
    + +
    +

    hex dump the output data.

    +
    +
    -asn1parse
    + +
    +

    Parse the ASN.1 output data, this is useful when combined with the +-verifyrecover option when an ASN1 structure is signed.

    +
    +
    -rand file...
    + +
    +

    A file or files containing random data used to seed the random number +generator. +Multiple files can be specified separated by an OS-dependent character. +The separator is ; for MS-Windows, , for OpenVMS, and : for +all others.

    +
    +
    [-writerand file]
    + +
    +

    Writes random data to the specified file upon exit. +This can be used with a subsequent -rand flag.

    +
    +
    -engine id
    + +
    +

    Specifying an engine (by its unique id string) will cause pkeyutl +to attempt to obtain a functional reference to the specified engine, +thus initialising it if needed. The engine will then be set as the default +for all available algorithms.

    +
    +
    -engine_impl
    + +
    +

    When used with the -engine option, it specifies to also use +engine id for crypto operations.

    +
    +
    +

    +

    +
    +

    NOTES

    +

    The operations and options supported vary according to the key algorithm +and its implementation. The OpenSSL operations and options are indicated below.

    +

    Unless otherwise mentioned all algorithms support the digest:alg option +which specifies the digest in use for sign, verify and verifyrecover operations. +The value alg should represent a digest name as used in the +EVP_get_digestbyname() function for example sha1. This value is not used to +hash the input data. It is used (by some algorithms) for sanity-checking the +lengths of data passed in to the pkeyutl and for creating the structures that +make up the signature (e.g. DigestInfo in RSASSA PKCS#1 v1.5 signatures).

    +

    This utility does not hash the input data but rather it will use the data +directly as input to the signature algorithm. Depending on the key type, +signature type, and mode of padding, the maximum acceptable lengths of input +data differ. The signed data can't be longer than the key modulus with RSA. In +case of ECDSA and DSA the data shouldn't be longer than the field +size, otherwise it will be silently truncated to the field size. In any event +the input size must not be larger than the largest supported digest size.

    +

    In other words, if the value of digest is sha1 the input should be the 20 +bytes long binary encoding of the SHA-1 hash function output.

    +

    The Ed25519 and Ed448 signature algorithms are not supported by this utility. +They accept non-hashed input, but this utility can only be used to sign hashed +input.

    +

    +

    +
    +

    RSA ALGORITHM

    +

    The RSA algorithm generally supports the encrypt, decrypt, sign, +verify and verifyrecover operations. However, some padding modes +support only a subset of these operations. The following additional +pkeyopt values are supported:

    +
    +
    rsa_padding_mode:mode
    + +
    +

    This sets the RSA padding mode. Acceptable values for mode are pkcs1 for +PKCS#1 padding, sslv23 for SSLv23 padding, none for no padding, oaep +for OAEP mode, x931 for X9.31 mode and pss for PSS.

    +

    In PKCS#1 padding if the message digest is not set then the supplied data is +signed or verified directly instead of using a DigestInfo structure. If a +digest is set then the a DigestInfo structure is used and its the length +must correspond to the digest type.

    +

    For oaep mode only encryption and decryption is supported.

    +

    For x931 if the digest type is set it is used to format the block data +otherwise the first byte is used to specify the X9.31 digest ID. Sign, +verify and verifyrecover are can be performed in this mode.

    +

    For pss mode only sign and verify are supported and the digest type must be +specified.

    +
    +
    rsa_pss_saltlen:len
    + +
    +

    For pss mode only this option specifies the salt length. Three special +values are supported: "digest" sets the salt length to the digest length, +"max" sets the salt length to the maximum permissible value. When verifying +"auto" causes the salt length to be automatically determined based on the +PSS block structure.

    +
    +
    rsa_mgf1_md:digest
    + +
    +

    For PSS and OAEP padding sets the MGF1 digest. If the MGF1 digest is not +explicitly set in PSS mode then the signing digest is used.

    +
    +
    +

    +

    +
    +

    RSA-PSS ALGORITHM

    +

    The RSA-PSS algorithm is a restricted version of the RSA algorithm which only +supports the sign and verify operations with PSS padding. The following +additional pkeyopt values are supported:

    +
    +
    rsa_padding_mode:mode, rsa_pss_saltlen:len, rsa_mgf1_md:digest
    + +
    +

    These have the same meaning as the RSA algorithm with some additional +restrictions. The padding mode can only be set to pss which is the +default value.

    +

    If the key has parameter restrictions than the digest, MGF1 +digest and salt length are set to the values specified in the parameters. +The digest and MG cannot be changed and the salt length cannot be set to a +value less than the minimum restriction.

    +
    +
    +

    +

    +
    +

    DSA ALGORITHM

    +

    The DSA algorithm supports signing and verification operations only. Currently +there are no additional -pkeyopt options other than digest. The SHA1 +digest is assumed by default.

    +

    +

    +
    +

    DH ALGORITHM

    +

    The DH algorithm only supports the derivation operation and no additional +-pkeyopt options.

    +

    +

    +
    +

    EC ALGORITHM

    +

    The EC algorithm supports sign, verify and derive operations. The sign and +verify operations use ECDSA and derive uses ECDH. SHA1 is assumed by default for +the -pkeyopt digest option.

    +

    +

    +
    +

    X25519 and X448 ALGORITHMS

    +

    The X25519 and X448 algorithms support key derivation only. Currently there are +no additional options.

    +

    +

    +
    +

    EXAMPLES

    +

    Sign some data using a private key:

    +
    + openssl pkeyutl -sign -in file -inkey key.pem -out sig
    +

    Recover the signed data (e.g. if an RSA key is used):

    +
    + openssl pkeyutl -verifyrecover -in sig -inkey key.pem
    +

    Verify the signature (e.g. a DSA key):

    +
    + openssl pkeyutl -verify -in file -sigfile sig -inkey key.pem
    +

    Sign data using a message digest value (this is currently only valid for RSA):

    +
    + openssl pkeyutl -sign -in file -inkey key.pem -out sig -pkeyopt digest:sha256
    +

    Derive a shared secret value:

    +
    + openssl pkeyutl -derive -inkey key.pem -peerkey pubkey.pem -out secret
    +

    Hexdump 48 bytes of TLS1 PRF using digest SHA256 and shared secret and +seed consisting of the single byte 0xFF:

    +
    + openssl pkeyutl -kdf TLS1-PRF -kdflen 48 -pkeyopt md:SHA256 \
    +    -pkeyopt hexsecret:ff -pkeyopt hexseed:ff -hexdump
    +

    +

    +
    +

    SEE ALSO

    +

    genpkey(1), pkey(1), rsautl(1) +dgst(1), rsa(1), genrsa(1), +EVP_PKEY_CTX_set_hkdf_md(3), EVP_PKEY_CTX_set_tls1_prf_md(3)

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2006-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man1/prime.html b/linux_amd64/share/doc/openssl/html/man1/prime.html new file mode 100644 index 0000000..9518db0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/prime.html @@ -0,0 +1,106 @@ + + + + +prime + + + + + + + + +
    +

    + + + +
    +
    + + +

    +

    +
    +

    NAME

    +

    openssl-prime, +prime - compute prime numbers

    +

    +

    +
    +

    SYNOPSIS

    +

    openssl prime +[-help] +[-hex] +[-generate] +[-bits] +[-safe] +[-checks] +[number...]

    +

    +

    +
    +

    DESCRIPTION

    +

    The prime command checks if the specified numbers are prime.

    +

    If no numbers are given on the command line, the -generate flag should +be used to generate primes according to the requirements specified by the +rest of the flags.

    +

    +

    +
    +

    OPTIONS

    +
    +
    [-help]
    + +
    +

    Display an option summary.

    +
    +
    [-hex]
    + +
    +

    Generate hex output.

    +
    +
    [-generate]
    + +
    +

    Generate a prime number.

    +
    +
    [-bits num]
    + +
    +

    Generate a prime with num bits.

    +
    +
    [-safe]
    + +
    +

    When used with -generate, generates a "safe" prime. If the number +generated is n, then check that (n-1)/2 is also prime.

    +
    +
    [-checks num]
    + +
    +

    Perform the checks num times to see that the generated number +is prime. The default is 20.

    +
    +
    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2017 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man1/rand.html b/linux_amd64/share/doc/openssl/html/man1/rand.html new file mode 100644 index 0000000..4c06940 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/rand.html @@ -0,0 +1,117 @@ + + + + +rand + + + + + + + + +
    +

    + + + +
    +
    + + +

    +

    +
    +

    NAME

    +

    openssl-rand, +rand - generate pseudo-random bytes

    +

    +

    +
    +

    SYNOPSIS

    +

    openssl rand +[-help] +[-out file] +[-rand file...] +[-writerand file] +[-base64] +[-hex] +num

    +

    +

    +
    +

    DESCRIPTION

    +

    The rand command outputs num pseudo-random bytes after seeding +the random number generator once. As in other openssl command +line tools, PRNG seeding uses the file $HOME/.rnd or .rnd +in addition to the files given in the -rand option. A new +$HOME/.rnd or .rnd file will be written back if enough +seeding was obtained from these sources.

    +

    +

    +
    +

    OPTIONS

    +
    +
    -help
    + +
    +

    Print out a usage message.

    +
    +
    -out file
    + +
    +

    Write to file instead of standard output.

    +
    +
    -rand file...
    + +
    +

    A file or files containing random data used to seed the random number +generator. +Multiple files can be specified separated by an OS-dependent character. +The separator is ; for MS-Windows, , for OpenVMS, and : for +all others.

    +
    +
    [-writerand file]
    + +
    +

    Writes random data to the specified file upon exit. +This can be used with a subsequent -rand flag.

    +
    +
    -base64
    + +
    +

    Perform base64 encoding on the output.

    +
    +
    -hex
    + +
    +

    Show the output as a hex string.

    +
    +
    +

    +

    +
    +

    SEE ALSO

    +

    RAND_bytes(3)

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man1/rehash.html b/linux_amd64/share/doc/openssl/html/man1/rehash.html new file mode 100644 index 0000000..b70abb3 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/rehash.html @@ -0,0 +1,183 @@ + + + + +rehash + + + + + + + + + + + +

    +

    +
    +

    NAME

    +

    openssl-c_rehash, openssl-rehash, +c_rehash, rehash - Create symbolic links to files named by the hash values

    +

    +

    +
    +

    SYNOPSIS

    +

    openssl +rehash +[-h] +[-help] +[-old] +[-n] +[-v] +[ directory...]

    +

    c_rehash +flags...

    +

    +

    +
    +

    DESCRIPTION

    +

    On some platforms, the OpenSSL rehash command is available as +an external script called c_rehash. They are functionally equivalent, +except for minor differences noted below.

    +

    rehash scans directories and calculates a hash value of each +.pem, .crt, .cer, or .crl +file in the specified directory list and creates symbolic links +for each file, where the name of the link is the hash value. +(If the platform does not support symbolic links, a copy is made.) +This utility is useful as many programs that use OpenSSL require +directories to be set up like this in order to find certificates.

    +

    If any directories are named on the command line, then those are +processed in turn. If not, then the SSL_CERT_DIR environment variable +is consulted; this should be a colon-separated list of directories, +like the Unix PATH variable. +If that is not set then the default directory (installation-specific +but often /usr/local/ssl/certs) is processed.

    +

    In order for a directory to be processed, the user must have write +permissions on that directory, otherwise an error will be generated.

    +

    The links created are of the form HHHHHHHH.D, where each H +is a hexadecimal character and D is a single decimal digit. +When processing a directory, rehash will first remove all links +that have a name in that syntax, even if they are being used for some +other purpose. +To skip the removal step, use the -n flag. +Hashes for CRL's look similar except the letter r appears after +the period, like this: HHHHHHHH.rD.

    +

    Multiple objects may have the same hash; they will be indicated by +incrementing the D value. Duplicates are found by comparing the +full SHA-1 fingerprint. A warning will be displayed if a duplicate +is found.

    +

    A warning will also be displayed if there are files that +cannot be parsed as either a certificate or a CRL or if +more than one such object appears in the file.

    +

    +

    +

    Script Configuration

    +

    The c_rehash script +uses the openssl program to compute the hashes and +fingerprints. If not found in the user's PATH, then set the +OPENSSL environment variable to the full pathname. +Any program can be used, it will be invoked as follows for either +a certificate or CRL:

    +
    +  $OPENSSL x509 -hash -fingerprint -noout -in FILENAME
    +  $OPENSSL crl -hash -fingerprint -noout -in FILENAME
    +

    where FILENAME is the filename. It must output the hash of the +file on the first line, and the fingerprint on the second, +optionally prefixed with some text and an equals sign.

    +

    +

    +
    +

    OPTIONS

    +
    +
    -help -h
    + +
    +

    Display a brief usage message.

    +
    +
    -old
    + +
    +

    Use old-style hashing (MD5, as opposed to SHA-1) for generating +links to be used for releases before 1.0.0. +Note that current versions will not use the old style.

    +
    +
    -n
    + +
    +

    Do not remove existing links. +This is needed when keeping new and old-style links in the same directory.

    +
    +
    -compat
    + +
    +

    Generate links for both old-style (MD5) and new-style (SHA1) hashing. +This allows releases before 1.0.0 to use these links along-side newer +releases.

    +
    +
    -v
    + +
    +

    Print messages about old links removed and new links created. +By default, rehash only lists each directory as it is processed.

    +
    +
    +

    +

    +
    +

    ENVIRONMENT

    +
    +
    OPENSSL
    + +
    +

    The path to an executable to use to generate hashes and +fingerprints (see above).

    +
    +
    SSL_CERT_DIR
    + +
    +

    Colon separated list of directories to operate on. +Ignored if directories are listed on the command line.

    +
    +
    +

    +

    +
    +

    SEE ALSO

    +

    openssl(1), +crl(1). +x509(1).

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man1/req.html b/linux_amd64/share/doc/openssl/html/man1/req.html new file mode 100644 index 0000000..5196ca3 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/req.html @@ -0,0 +1,763 @@ + + + + +req + + + + + + + + + + + +

    +

    +
    +

    NAME

    +

    openssl-req, +req - PKCS#10 certificate request and certificate generating utility

    +

    +

    +
    +

    SYNOPSIS

    +

    openssl req +[-help] +[-inform PEM|DER] +[-outform PEM|DER] +[-in filename] +[-passin arg] +[-out filename] +[-passout arg] +[-text] +[-pubkey] +[-noout] +[-verify] +[-modulus] +[-new] +[-rand file...] +[-writerand file] +[-newkey rsa:bits] +[-newkey alg:file] +[-nodes] +[-key filename] +[-keyform PEM|DER] +[-keyout filename] +[-keygen_engine id] +[-digest] +[-config filename] +[-multivalue-rdn] +[-x509] +[-days n] +[-set_serial n] +[-newhdr] +[-addext ext] +[-extensions section] +[-reqexts section] +[-precert] +[-utf8] +[-nameopt] +[-reqopt] +[-subject] +[-subj arg] +[-sigopt nm:v] +[-batch] +[-verbose] +[-engine id]

    +

    +

    +
    +

    DESCRIPTION

    +

    The req command primarily creates and processes certificate requests +in PKCS#10 format. It can additionally create self signed certificates +for use as root CAs for example.

    +

    +

    +
    +

    OPTIONS

    +
    +
    -help
    + +
    +

    Print out a usage message.

    +
    +
    -inform DER|PEM
    + +
    +

    This specifies the input format. The DER option uses an ASN1 DER encoded +form compatible with the PKCS#10. The PEM form is the default format: it +consists of the DER format base64 encoded with additional header and +footer lines.

    +
    +
    -outform DER|PEM
    + +
    +

    This specifies the output format, the options have the same meaning and default +as the -inform option.

    +
    +
    -in filename
    + +
    +

    This specifies the input filename to read a request from or standard input +if this option is not specified. A request is only read if the creation +options (-new and -newkey) are not specified.

    +
    +
    -sigopt nm:v
    + +
    +

    Pass options to the signature algorithm during sign or verify operations. +Names and values of these options are algorithm-specific.

    +
    +
    -passin arg
    + +
    +

    The input file password source. For more information about the format of arg +see the PASS PHRASE ARGUMENTS section in openssl(1).

    +
    +
    -out filename
    + +
    +

    This specifies the output filename to write to or standard output by +default.

    +
    +
    -passout arg
    + +
    +

    The output file password source. For more information about the format of arg +see the PASS PHRASE ARGUMENTS section in openssl(1).

    +
    +
    -text
    + +
    +

    Prints out the certificate request in text form.

    +
    +
    -subject
    + +
    +

    Prints out the request subject (or certificate subject if -x509 is +specified)

    +
    +
    -pubkey
    + +
    +

    Outputs the public key.

    +
    +
    -noout
    + +
    +

    This option prevents output of the encoded version of the request.

    +
    +
    -modulus
    + +
    +

    This option prints out the value of the modulus of the public key +contained in the request.

    +
    +
    -verify
    + +
    +

    Verifies the signature on the request.

    +
    +
    -new
    + +
    +

    This option generates a new certificate request. It will prompt +the user for the relevant field values. The actual fields +prompted for and their maximum and minimum sizes are specified +in the configuration file and any requested extensions.

    +

    If the -key option is not used it will generate a new RSA private +key using information specified in the configuration file.

    +
    +
    -rand file...
    + +
    +

    A file or files containing random data used to seed the random number +generator. +Multiple files can be specified separated by an OS-dependent character. +The separator is ; for MS-Windows, , for OpenVMS, and : for +all others.

    +
    +
    [-writerand file]
    + +
    +

    Writes random data to the specified file upon exit. +This can be used with a subsequent -rand flag.

    +
    +
    -newkey arg
    + +
    +

    This option creates a new certificate request and a new private +key. The argument takes one of several forms. rsa:nbits, where +nbits is the number of bits, generates an RSA key nbits +in size. If nbits is omitted, i.e. -newkey rsa specified, +the default key size, specified in the configuration file is used.

    +

    All other algorithms support the -newkey alg:file form, where file may be +an algorithm parameter file, created by the genpkey -genparam command +or and X.509 certificate for a key with appropriate algorithm.

    +

    param:file generates a key using the parameter file or certificate file, +the algorithm is determined by the parameters. algname:file use algorithm +algname and parameter file file: the two algorithms must match or an +error occurs. algname just uses algorithm algname, and parameters, +if necessary should be specified via -pkeyopt parameter.

    +

    dsa:filename generates a DSA key using the parameters +in the file filename. ec:filename generates EC key (usable both with +ECDSA or ECDH algorithms), gost2001:filename generates GOST R +34.10-2001 key (requires ccgost engine configured in the configuration +file). If just gost2001 is specified a parameter set should be +specified by -pkeyopt paramset:X

    +
    +
    -pkeyopt opt:value
    + +
    +

    Set the public key algorithm option opt to value. The precise set of +options supported depends on the public key algorithm used and its +implementation. See KEY GENERATION OPTIONS in the genpkey manual page +for more details.

    +
    +
    -key filename
    + +
    +

    This specifies the file to read the private key from. It also +accepts PKCS#8 format private keys for PEM format files.

    +
    +
    -keyform PEM|DER
    + +
    +

    The format of the private key file specified in the -key +argument. PEM is the default.

    +
    +
    -keyout filename
    + +
    +

    This gives the filename to write the newly created private key to. +If this option is not specified then the filename present in the +configuration file is used.

    +
    +
    -nodes
    + +
    +

    If this option is specified then if a private key is created it +will not be encrypted.

    +
    +
    -digest
    + +
    +

    This specifies the message digest to sign the request. +Any digest supported by the OpenSSL dgst command can be used. +This overrides the digest algorithm specified in +the configuration file.

    +

    Some public key algorithms may override this choice. For instance, DSA +signatures always use SHA1, GOST R 34.10 signatures always use +GOST R 34.11-94 (-md_gost94), Ed25519 and Ed448 never use any digest.

    +
    +
    -config filename
    + +
    +

    This allows an alternative configuration file to be specified. +Optional; for a description of the default value, +see openssl(1)/COMMAND SUMMARY.

    +
    +
    -subj arg
    + +
    +

    Sets subject name for new request or supersedes the subject name +when processing a request. +The arg must be formatted as /type0=value0/type1=value1/type2=.... +Keyword characters may be escaped by \ (backslash), and whitespace is retained. +Empty values are permitted, but the corresponding type will not be included +in the request.

    +
    +
    -multivalue-rdn
    + +
    +

    This option causes the -subj argument to be interpreted with full +support for multivalued RDNs. Example:

    +

    /DC=org/DC=OpenSSL/DC=users/UID=123456+CN=John Doe

    +

    If -multi-rdn is not used then the UID value is 123456+CN=John Doe.

    +
    +
    -x509
    + +
    +

    This option outputs a self signed certificate instead of a certificate +request. This is typically used to generate a test certificate or +a self signed root CA. The extensions added to the certificate +(if any) are specified in the configuration file. Unless specified +using the set_serial option, a large random number will be used for +the serial number.

    +

    If existing request is specified with the -in option, it is converted +to the self signed certificate otherwise new request is created.

    +
    +
    -days n
    + +
    +

    When the -x509 option is being used this specifies the number of +days to certify the certificate for, otherwise it is ignored. n should +be a positive integer. The default is 30 days.

    +
    +
    -set_serial n
    + +
    +

    Serial number to use when outputting a self signed certificate. This +may be specified as a decimal value or a hex value if preceded by 0x.

    +
    +
    -addext ext
    + +
    +

    Add a specific extension to the certificate (if the -x509 option is +present) or certificate request. The argument must have the form of +a key=value pair as it would appear in a config file.

    +

    This option can be given multiple times.

    +
    +
    -extensions section
    + +
    -reqexts section
    + +
    +

    These options specify alternative sections to include certificate +extensions (if the -x509 option is present) or certificate +request extensions. This allows several different sections to +be used in the same configuration file to specify requests for +a variety of purposes.

    +
    +
    -precert
    + +
    +

    A poison extension will be added to the certificate, making it a +"pre-certificate" (see RFC6962). This can be submitted to Certificate +Transparency logs in order to obtain signed certificate timestamps (SCTs). +These SCTs can then be embedded into the pre-certificate as an extension, before +removing the poison and signing the certificate.

    +

    This implies the -new flag.

    +
    +
    -utf8
    + +
    +

    This option causes field values to be interpreted as UTF8 strings, by +default they are interpreted as ASCII. This means that the field +values, whether prompted from a terminal or obtained from a +configuration file, must be valid UTF8 strings.

    +
    +
    -nameopt option
    + +
    +

    Option which determines how the subject or issuer names are displayed. The +option argument can be a single option or multiple options separated by +commas. Alternatively the -nameopt switch may be used more than once to +set multiple options. See the x509(1) manual page for details.

    +
    +
    -reqopt
    + +
    +

    Customise the output format used with -text. The option argument can be +a single option or multiple options separated by commas.

    +

    See discussion of the -certopt parameter in the x509(1) +command.

    +
    +
    -newhdr
    + +
    +

    Adds the word NEW to the PEM file header and footer lines on the outputted +request. Some software (Netscape certificate server) and some CAs need this.

    +
    +
    -batch
    + +
    +

    Non-interactive mode.

    +
    +
    -verbose
    + +
    +

    Print extra details about the operations being performed.

    +
    +
    -engine id
    + +
    +

    Specifying an engine (by its unique id string) will cause req +to attempt to obtain a functional reference to the specified engine, +thus initialising it if needed. The engine will then be set as the default +for all available algorithms.

    +
    +
    -keygen_engine id
    + +
    +

    Specifies an engine (by its unique id string) which would be used +for key generation operations.

    +
    +
    +

    +

    +
    +

    CONFIGURATION FILE FORMAT

    +

    The configuration options are specified in the req section of +the configuration file. As with all configuration files if no +value is specified in the specific section (i.e. req) then +the initial unnamed or default section is searched too.

    +

    The options available are described in detail below.

    +
    +
    input_password output_password
    + +
    +

    The passwords for the input private key file (if present) and +the output private key file (if one will be created). The +command line options passin and passout override the +configuration file values.

    +
    +
    default_bits
    + +
    +

    Specifies the default key size in bits.

    +

    This option is used in conjunction with the -new option to generate +a new key. It can be overridden by specifying an explicit key size in +the -newkey option. The smallest accepted key size is 512 bits. If +no key size is specified then 2048 bits is used.

    +
    +
    default_keyfile
    + +
    +

    This is the default filename to write a private key to. If not +specified the key is written to standard output. This can be +overridden by the -keyout option.

    +
    +
    oid_file
    + +
    +

    This specifies a file containing additional OBJECT IDENTIFIERS. +Each line of the file should consist of the numerical form of the +object identifier followed by white space then the short name followed +by white space and finally the long name.

    +
    +
    oid_section
    + +
    +

    This specifies a section in the configuration file containing extra +object identifiers. Each line should consist of the short name of the +object identifier followed by = and the numerical form. The short +and long names are the same when this option is used.

    +
    +
    RANDFILE
    + +
    +

    At startup the specified file is loaded into the random number generator, +and at exit 256 bytes will be written to it. +It is used for private key generation.

    +
    +
    encrypt_key
    + +
    +

    If this is set to no then if a private key is generated it is +not encrypted. This is equivalent to the -nodes command line +option. For compatibility encrypt_rsa_key is an equivalent option.

    +
    +
    default_md
    + +
    +

    This option specifies the digest algorithm to use. Any digest supported by the +OpenSSL dgst command can be used. This option can be overridden on the +command line. Certain signing algorithms (i.e. Ed25519 and Ed448) will ignore +any digest that has been set.

    +
    +
    string_mask
    + +
    +

    This option masks out the use of certain string types in certain +fields. Most users will not need to change this option.

    +

    It can be set to several values default which is also the default +option uses PrintableStrings, T61Strings and BMPStrings if the +pkix value is used then only PrintableStrings and BMPStrings will +be used. This follows the PKIX recommendation in RFC2459. If the +utf8only option is used then only UTF8Strings will be used: this +is the PKIX recommendation in RFC2459 after 2003. Finally the nombstr +option just uses PrintableStrings and T61Strings: certain software has +problems with BMPStrings and UTF8Strings: in particular Netscape.

    +
    +
    req_extensions
    + +
    +

    This specifies the configuration file section containing a list of +extensions to add to the certificate request. It can be overridden +by the -reqexts command line switch. See the +x509v3_config(5) manual page for details of the +extension section format.

    +
    +
    x509_extensions
    + +
    +

    This specifies the configuration file section containing a list of +extensions to add to certificate generated when the -x509 switch +is used. It can be overridden by the -extensions command line switch.

    +
    +
    prompt
    + +
    +

    If set to the value no this disables prompting of certificate fields +and just takes values from the config file directly. It also changes the +expected format of the distinguished_name and attributes sections.

    +
    +
    utf8
    + +
    +

    If set to the value yes then field values to be interpreted as UTF8 +strings, by default they are interpreted as ASCII. This means that +the field values, whether prompted from a terminal or obtained from a +configuration file, must be valid UTF8 strings.

    +
    +
    attributes
    + +
    +

    This specifies the section containing any request attributes: its format +is the same as distinguished_name. Typically these may contain the +challengePassword or unstructuredName types. They are currently ignored +by OpenSSL's request signing utilities but some CAs might want them.

    +
    +
    distinguished_name
    + +
    +

    This specifies the section containing the distinguished name fields to +prompt for when generating a certificate or certificate request. The format +is described in the next section.

    +
    +
    +

    +

    +
    +

    DISTINGUISHED NAME AND ATTRIBUTE SECTION FORMAT

    +

    There are two separate formats for the distinguished name and attribute +sections. If the prompt option is set to no then these sections +just consist of field names and values: for example,

    +
    + CN=My Name
    + OU=My Organization
    + emailAddress=someone@somewhere.org
    +

    This allows external programs (e.g. GUI based) to generate a template file +with all the field names and values and just pass it to req. An example +of this kind of configuration file is contained in the EXAMPLES section.

    +

    Alternatively if the prompt option is absent or not set to no then the +file contains field prompting information. It consists of lines of the form:

    +
    + fieldName="prompt"
    + fieldName_default="default field value"
    + fieldName_min= 2
    + fieldName_max= 4
    +

    "fieldName" is the field name being used, for example commonName (or CN). +The "prompt" string is used to ask the user to enter the relevant +details. If the user enters nothing then the default value is used if no +default value is present then the field is omitted. A field can +still be omitted if a default value is present if the user just +enters the '.' character.

    +

    The number of characters entered must be between the fieldName_min and +fieldName_max limits: there may be additional restrictions based +on the field being used (for example countryName can only ever be +two characters long and must fit in a PrintableString).

    +

    Some fields (such as organizationName) can be used more than once +in a DN. This presents a problem because configuration files will +not recognize the same name occurring twice. To avoid this problem +if the fieldName contains some characters followed by a full stop +they will be ignored. So for example a second organizationName can +be input by calling it "1.organizationName".

    +

    The actual permitted field names are any object identifier short or +long names. These are compiled into OpenSSL and include the usual +values such as commonName, countryName, localityName, organizationName, +organizationalUnitName, stateOrProvinceName. Additionally emailAddress +is included as well as name, surname, givenName, initials, and dnQualifier.

    +

    Additional object identifiers can be defined with the oid_file or +oid_section options in the configuration file. Any additional fields +will be treated as though they were a DirectoryString.

    +

    +

    +
    +

    EXAMPLES

    +

    Examine and verify certificate request:

    +
    + openssl req -in req.pem -text -verify -noout
    +

    Create a private key and then generate a certificate request from it:

    +
    + openssl genrsa -out key.pem 2048
    + openssl req -new -key key.pem -out req.pem
    +

    The same but just using req:

    +
    + openssl req -newkey rsa:2048 -keyout key.pem -out req.pem
    +

    Generate a self signed root certificate:

    +
    + openssl req -x509 -newkey rsa:2048 -keyout key.pem -out req.pem
    +

    Example of a file pointed to by the oid_file option:

    +
    + 1.2.3.4        shortName       A longer Name
    + 1.2.3.6        otherName       Other longer Name
    +

    Example of a section pointed to by oid_section making use of variable +expansion:

    +
    + testoid1=1.2.3.5
    + testoid2=${testoid1}.6
    +

    Sample configuration file prompting for field values:

    +
    + [ req ]
    + default_bits           = 2048
    + default_keyfile        = privkey.pem
    + distinguished_name     = req_distinguished_name
    + attributes             = req_attributes
    + req_extensions         = v3_ca
    +
    + dirstring_type = nobmp
    +
    + [ req_distinguished_name ]
    + countryName                    = Country Name (2 letter code)
    + countryName_default            = AU
    + countryName_min                = 2
    + countryName_max                = 2
    +
    + localityName                   = Locality Name (eg, city)
    +
    + organizationalUnitName         = Organizational Unit Name (eg, section)
    +
    + commonName                     = Common Name (eg, YOUR name)
    + commonName_max                 = 64
    +
    + emailAddress                   = Email Address
    + emailAddress_max               = 40
    +
    + [ req_attributes ]
    + challengePassword              = A challenge password
    + challengePassword_min          = 4
    + challengePassword_max          = 20
    +
    + [ v3_ca ]
    +
    + subjectKeyIdentifier=hash
    + authorityKeyIdentifier=keyid:always,issuer:always
    + basicConstraints = critical, CA:true
    +

    Sample configuration containing all field values:

    +
    + RANDFILE               = $ENV::HOME/.rnd
    +
    + [ req ]
    + default_bits           = 2048
    + default_keyfile        = keyfile.pem
    + distinguished_name     = req_distinguished_name
    + attributes             = req_attributes
    + prompt                 = no
    + output_password        = mypass
    +
    + [ req_distinguished_name ]
    + C                      = GB
    + ST                     = Test State or Province
    + L                      = Test Locality
    + O                      = Organization Name
    + OU                     = Organizational Unit Name
    + CN                     = Common Name
    + emailAddress           = test@email.address
    +
    + [ req_attributes ]
    + challengePassword              = A challenge password
    +

    Example of giving the most common attributes (subject and extensions) +on the command line:

    +
    + openssl req -new -subj "/C=GB/CN=foo" \
    +                  -addext "subjectAltName = DNS:foo.co.uk" \
    +                  -addext "certificatePolicies = 1.2.3.4" \
    +                  -newkey rsa:2048 -keyout key.pem -out req.pem
    +

    +

    +
    +

    NOTES

    +

    The header and footer lines in the PEM format are normally:

    +
    + -----BEGIN CERTIFICATE REQUEST-----
    + -----END CERTIFICATE REQUEST-----
    +

    some software (some versions of Netscape certificate server) instead needs:

    +
    + -----BEGIN NEW CERTIFICATE REQUEST-----
    + -----END NEW CERTIFICATE REQUEST-----
    +

    which is produced with the -newhdr option but is otherwise compatible. +Either form is accepted transparently on input.

    +

    The certificate requests generated by Xenroll with MSIE have extensions +added. It includes the keyUsage extension which determines the type of +key (signature only or general purpose) and any additional OIDs entered +by the script in an extendedKeyUsage extension.

    +

    +

    +
    +

    DIAGNOSTICS

    +

    The following messages are frequently asked about:

    +
    +        Using configuration from /some/path/openssl.cnf
    +        Unable to load config info
    +

    This is followed some time later by...

    +
    +        unable to find 'distinguished_name' in config
    +        problems making Certificate Request
    +

    The first error message is the clue: it can't find the configuration +file! Certain operations (like examining a certificate request) don't +need a configuration file so its use isn't enforced. Generation of +certificates or requests however does need a configuration file. This +could be regarded as a bug.

    +

    Another puzzling message is this:

    +
    +        Attributes:
    +            a0:00
    +

    this is displayed when no attributes are present and the request includes +the correct empty SET OF structure (the DER encoding of which is 0xa0 +0x00). If you just see:

    +
    +        Attributes:
    +

    then the SET OF is missing and the encoding is technically invalid (but +it is tolerated). See the description of the command line option -asn1-kludge +for more information.

    +

    +

    +
    +

    BUGS

    +

    OpenSSL's handling of T61Strings (aka TeletexStrings) is broken: it effectively +treats them as ISO-8859-1 (Latin 1), Netscape and MSIE have similar behaviour. +This can cause problems if you need characters that aren't available in +PrintableStrings and you don't want to or can't use BMPStrings.

    +

    As a consequence of the T61String handling the only correct way to represent +accented characters in OpenSSL is to use a BMPString: unfortunately Netscape +currently chokes on these. If you have to use accented characters with Netscape +and MSIE then you currently need to use the invalid T61String form.

    +

    The current prompting is not very friendly. It doesn't allow you to confirm what +you've just entered. Other things like extensions in certificate requests are +statically defined in the configuration file. Some of these: like an email +address in subjectAltName should be input by the user.

    +

    +

    +
    +

    SEE ALSO

    +

    x509(1), ca(1), genrsa(1), +gendsa(1), config(5), +x509v3_config(5)

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man1/rsa.html b/linux_amd64/share/doc/openssl/html/man1/rsa.html new file mode 100644 index 0000000..465bff3 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/rsa.html @@ -0,0 +1,255 @@ + + + + +rsa + + + + + + + + +
    +

    + + + +
    +
    + + +

    +

    +
    +

    NAME

    +

    openssl-rsa, +rsa - RSA key processing tool

    +

    +

    +
    +

    SYNOPSIS

    +

    openssl rsa +[-help] +[-inform PEM|DER] +[-outform PEM|DER] +[-in filename] +[-passin arg] +[-out filename] +[-passout arg] +[-aes128] +[-aes192] +[-aes256] +[-aria128] +[-aria192] +[-aria256] +[-camellia128] +[-camellia192] +[-camellia256] +[-des] +[-des3] +[-idea] +[-text] +[-noout] +[-modulus] +[-check] +[-pubin] +[-pubout] +[-RSAPublicKey_in] +[-RSAPublicKey_out] +[-engine id]

    +

    +

    +
    +

    DESCRIPTION

    +

    The rsa command processes RSA keys. They can be converted between various +forms and their components printed out. Note this command uses the +traditional SSLeay compatible format for private key encryption: newer +applications should use the more secure PKCS#8 format using the pkcs8 +utility.

    +

    +

    +
    +

    OPTIONS

    +
    +
    -help
    + +
    +

    Print out a usage message.

    +
    +
    -inform DER|PEM
    + +
    +

    This specifies the input format. The DER option uses an ASN1 DER encoded +form compatible with the PKCS#1 RSAPrivateKey or SubjectPublicKeyInfo format. +The PEM form is the default format: it consists of the DER format base64 +encoded with additional header and footer lines. On input PKCS#8 format private +keys are also accepted.

    +
    +
    -outform DER|PEM
    + +
    +

    This specifies the output format, the options have the same meaning and default +as the -inform option.

    +
    +
    -in filename
    + +
    +

    This specifies the input filename to read a key from or standard input if this +option is not specified. If the key is encrypted a pass phrase will be +prompted for.

    +
    +
    -passin arg
    + +
    +

    The input file password source. For more information about the format of arg +see the PASS PHRASE ARGUMENTS section in openssl(1).

    +
    +
    -out filename
    + +
    +

    This specifies the output filename to write a key to or standard output if this +option is not specified. If any encryption options are set then a pass phrase +will be prompted for. The output filename should not be the same as the input +filename.

    +
    +
    -passout password
    + +
    +

    The output file password source. For more information about the format of arg +see the PASS PHRASE ARGUMENTS section in openssl(1).

    +
    +
    -aes128, -aes192, -aes256, -aria128, -aria192, -aria256, -camellia128, -camellia192, -camellia256, -des, -des3, -idea
    + +
    +

    These options encrypt the private key with the specified +cipher before outputting it. A pass phrase is prompted for. +If none of these options is specified the key is written in plain text. This +means that using the rsa utility to read in an encrypted key with no +encryption option can be used to remove the pass phrase from a key, or by +setting the encryption options it can be use to add or change the pass phrase. +These options can only be used with PEM format output files.

    +
    +
    -text
    + +
    +

    Prints out the various public or private key components in +plain text in addition to the encoded version.

    +
    +
    -noout
    + +
    +

    This option prevents output of the encoded version of the key.

    +
    +
    -modulus
    + +
    +

    This option prints out the value of the modulus of the key.

    +
    +
    -check
    + +
    +

    This option checks the consistency of an RSA private key.

    +
    +
    -pubin
    + +
    +

    By default a private key is read from the input file: with this +option a public key is read instead.

    +
    +
    -pubout
    + +
    +

    By default a private key is output: with this option a public +key will be output instead. This option is automatically set if +the input is a public key.

    +
    +
    -RSAPublicKey_in, -RSAPublicKey_out
    + +
    +

    Like -pubin and -pubout except RSAPublicKey format is used instead.

    +
    +
    -engine id
    + +
    +

    Specifying an engine (by its unique id string) will cause rsa +to attempt to obtain a functional reference to the specified engine, +thus initialising it if needed. The engine will then be set as the default +for all available algorithms.

    +
    +
    +

    +

    +
    +

    NOTES

    +

    The PEM private key format uses the header and footer lines:

    +
    + -----BEGIN RSA PRIVATE KEY-----
    + -----END RSA PRIVATE KEY-----
    +

    The PEM public key format uses the header and footer lines:

    +
    + -----BEGIN PUBLIC KEY-----
    + -----END PUBLIC KEY-----
    +

    The PEM RSAPublicKey format uses the header and footer lines:

    +
    + -----BEGIN RSA PUBLIC KEY-----
    + -----END RSA PUBLIC KEY-----
    +

    +

    +
    +

    EXAMPLES

    +

    To remove the pass phrase on an RSA private key:

    +
    + openssl rsa -in key.pem -out keyout.pem
    +

    To encrypt a private key using triple DES:

    +
    + openssl rsa -in key.pem -des3 -out keyout.pem
    +

    To convert a private key from PEM to DER format:

    +
    + openssl rsa -in key.pem -outform DER -out keyout.der
    +

    To print out the components of a private key to standard output:

    +
    + openssl rsa -in key.pem -text -noout
    +

    To just output the public part of a private key:

    +
    + openssl rsa -in key.pem -pubout -out pubkey.pem
    +

    Output the public part of a private key in RSAPublicKey format:

    +
    + openssl rsa -in key.pem -RSAPublicKey_out -out pubkey.pem
    +

    +

    +
    +

    BUGS

    +

    There should be an option that automatically handles .key files, +without having to manually edit them.

    +

    +

    +
    +

    SEE ALSO

    +

    pkcs8(1), dsa(1), genrsa(1), +gendsa(1)

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man1/rsautl.html b/linux_amd64/share/doc/openssl/html/man1/rsautl.html new file mode 100644 index 0000000..4ce19d6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/rsautl.html @@ -0,0 +1,264 @@ + + + + +rsautl + + + + + + + + +
    +

    + + + +
    +
    + + +

    +

    +
    +

    NAME

    +

    openssl-rsautl, +rsautl - RSA utility

    +

    +

    +
    +

    SYNOPSIS

    +

    openssl rsautl +[-help] +[-in file] +[-out file] +[-inkey file] +[-keyform PEM|DER|ENGINE] +[-pubin] +[-certin] +[-sign] +[-verify] +[-encrypt] +[-decrypt] +[-rand file...] +[-writerand file] +[-pkcs] +[-ssl] +[-raw] +[-hexdump] +[-asn1parse]

    +

    +

    +
    +

    DESCRIPTION

    +

    The rsautl command can be used to sign, verify, encrypt and decrypt +data using the RSA algorithm.

    +

    +

    +
    +

    OPTIONS

    +
    +
    -help
    + +
    +

    Print out a usage message.

    +
    +
    -in filename
    + +
    +

    This specifies the input filename to read data from or standard input +if this option is not specified.

    +
    +
    -out filename
    + +
    +

    Specifies the output filename to write to or standard output by +default.

    +
    +
    -inkey file
    + +
    +

    The input key file, by default it should be an RSA private key.

    +
    +
    -keyform PEM|DER|ENGINE
    + +
    +

    The key format PEM, DER or ENGINE.

    +
    +
    -pubin
    + +
    +

    The input file is an RSA public key.

    +
    +
    -certin
    + +
    +

    The input is a certificate containing an RSA public key.

    +
    +
    -sign
    + +
    +

    Sign the input data and output the signed result. This requires +an RSA private key.

    +
    +
    -verify
    + +
    +

    Verify the input data and output the recovered data.

    +
    +
    -encrypt
    + +
    +

    Encrypt the input data using an RSA public key.

    +
    +
    -decrypt
    + +
    +

    Decrypt the input data using an RSA private key.

    +
    +
    -rand file...
    + +
    +

    A file or files containing random data used to seed the random number +generator. +Multiple files can be specified separated by an OS-dependent character. +The separator is ; for MS-Windows, , for OpenVMS, and : for +all others.

    +
    +
    [-writerand file]
    + +
    +

    Writes random data to the specified file upon exit. +This can be used with a subsequent -rand flag.

    +
    +
    -pkcs, -oaep, -ssl, -raw
    + +
    +

    The padding to use: PKCS#1 v1.5 (the default), PKCS#1 OAEP, +special padding used in SSL v2 backwards compatible handshakes, +or no padding, respectively. +For signatures, only -pkcs and -raw can be used.

    +
    +
    -hexdump
    + +
    +

    Hex dump the output data.

    +
    +
    -asn1parse
    + +
    +

    Parse the ASN.1 output data, this is useful when combined with the +-verify option.

    +
    +
    +

    +

    +
    +

    NOTES

    +

    rsautl because it uses the RSA algorithm directly can only be +used to sign or verify small pieces of data.

    +

    +

    +
    +

    EXAMPLES

    +

    Sign some data using a private key:

    +
    + openssl rsautl -sign -in file -inkey key.pem -out sig
    +

    Recover the signed data

    +
    + openssl rsautl -verify -in sig -inkey key.pem
    +

    Examine the raw signed data:

    +
    + openssl rsautl -verify -in sig -inkey key.pem -raw -hexdump
    +
    + 0000 - 00 01 ff ff ff ff ff ff-ff ff ff ff ff ff ff ff   ................
    + 0010 - ff ff ff ff ff ff ff ff-ff ff ff ff ff ff ff ff   ................
    + 0020 - ff ff ff ff ff ff ff ff-ff ff ff ff ff ff ff ff   ................
    + 0030 - ff ff ff ff ff ff ff ff-ff ff ff ff ff ff ff ff   ................
    + 0040 - ff ff ff ff ff ff ff ff-ff ff ff ff ff ff ff ff   ................
    + 0050 - ff ff ff ff ff ff ff ff-ff ff ff ff ff ff ff ff   ................
    + 0060 - ff ff ff ff ff ff ff ff-ff ff ff ff ff ff ff ff   ................
    + 0070 - ff ff ff ff 00 68 65 6c-6c 6f 20 77 6f 72 6c 64   .....hello world
    +

    The PKCS#1 block formatting is evident from this. If this was done using +encrypt and decrypt the block would have been of type 2 (the second byte) +and random padding data visible instead of the 0xff bytes.

    +

    It is possible to analyse the signature of certificates using this +utility in conjunction with asn1parse. Consider the self signed +example in certs/pca-cert.pem . Running asn1parse as follows yields:

    +
    + openssl asn1parse -in pca-cert.pem
    +
    +    0:d=0  hl=4 l= 742 cons: SEQUENCE
    +    4:d=1  hl=4 l= 591 cons:  SEQUENCE
    +    8:d=2  hl=2 l=   3 cons:   cont [ 0 ]
    +   10:d=3  hl=2 l=   1 prim:    INTEGER           :02
    +   13:d=2  hl=2 l=   1 prim:   INTEGER           :00
    +   16:d=2  hl=2 l=  13 cons:   SEQUENCE
    +   18:d=3  hl=2 l=   9 prim:    OBJECT            :md5WithRSAEncryption
    +   29:d=3  hl=2 l=   0 prim:    NULL
    +   31:d=2  hl=2 l=  92 cons:   SEQUENCE
    +   33:d=3  hl=2 l=  11 cons:    SET
    +   35:d=4  hl=2 l=   9 cons:     SEQUENCE
    +   37:d=5  hl=2 l=   3 prim:      OBJECT            :countryName
    +   42:d=5  hl=2 l=   2 prim:      PRINTABLESTRING   :AU
    +  ....
    +  599:d=1  hl=2 l=  13 cons:  SEQUENCE
    +  601:d=2  hl=2 l=   9 prim:   OBJECT            :md5WithRSAEncryption
    +  612:d=2  hl=2 l=   0 prim:   NULL
    +  614:d=1  hl=3 l= 129 prim:  BIT STRING
    +

    The final BIT STRING contains the actual signature. It can be extracted with:

    +
    + openssl asn1parse -in pca-cert.pem -out sig -noout -strparse 614
    +

    The certificate public key can be extracted with:

    +
    + openssl x509 -in test/testx509.pem -pubkey -noout >pubkey.pem
    +

    The signature can be analysed with:

    +
    + openssl rsautl -in sig -verify -asn1parse -inkey pubkey.pem -pubin
    +
    +    0:d=0  hl=2 l=  32 cons: SEQUENCE
    +    2:d=1  hl=2 l=  12 cons:  SEQUENCE
    +    4:d=2  hl=2 l=   8 prim:   OBJECT            :md5
    +   14:d=2  hl=2 l=   0 prim:   NULL
    +   16:d=1  hl=2 l=  16 prim:  OCTET STRING
    +      0000 - f3 46 9e aa 1a 4a 73 c9-37 ea 93 00 48 25 08 b5   .F...Js.7...H%..
    +

    This is the parsed version of an ASN1 DigestInfo structure. It can be seen that +the digest used was md5. The actual part of the certificate that was signed can +be extracted with:

    +
    + openssl asn1parse -in pca-cert.pem -out tbs -noout -strparse 4
    +

    and its digest computed with:

    +
    + openssl md5 -c tbs
    + MD5(tbs)= f3:46:9e:aa:1a:4a:73:c9:37:ea:93:00:48:25:08:b5
    +

    which it can be seen agrees with the recovered value above.

    +

    +

    +
    +

    SEE ALSO

    +

    dgst(1), rsa(1), genrsa(1)

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man1/s_client.html b/linux_amd64/share/doc/openssl/html/man1/s_client.html new file mode 100644 index 0000000..2c7a1be --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/s_client.html @@ -0,0 +1,955 @@ + + + + +s_client + + + + + + + + + + + +

    +

    +
    +

    NAME

    +

    openssl-s_client, +s_client - SSL/TLS client program

    +

    +

    +
    +

    SYNOPSIS

    +

    openssl s_client +[-help] +[-connect host:port] +[-bind host:port] +[-proxy host:port] +[-unix path] +[-4] +[-6] +[-servername name] +[-noservername] +[-verify depth] +[-verify_return_error] +[-cert filename] +[-certform DER|PEM] +[-key filename] +[-keyform DER|PEM] +[-cert_chain filename] +[-build_chain] +[-xkey] +[-xcert] +[-xchain] +[-xchain_build] +[-xcertform PEM|DER] +[-xkeyform PEM|DER] +[-pass arg] +[-CApath directory] +[-CAfile filename] +[-chainCApath directory] +[-chainCAfile filename] +[-no-CAfile] +[-no-CApath] +[-requestCAfile filename] +[-dane_tlsa_domain domain] +[-dane_tlsa_rrdata rrdata] +[-dane_ee_no_namechecks] +[-attime timestamp] +[-check_ss_sig] +[-crl_check] +[-crl_check_all] +[-explicit_policy] +[-extended_crl] +[-ignore_critical] +[-inhibit_any] +[-inhibit_map] +[-no_check_time] +[-partial_chain] +[-policy arg] +[-policy_check] +[-policy_print] +[-purpose purpose] +[-suiteB_128] +[-suiteB_128_only] +[-suiteB_192] +[-trusted_first] +[-no_alt_chains] +[-use_deltas] +[-auth_level num] +[-nameopt option] +[-verify_depth num] +[-verify_email email] +[-verify_hostname hostname] +[-verify_ip ip] +[-verify_name name] +[-build_chain] +[-x509_strict] +[-reconnect] +[-showcerts] +[-debug] +[-msg] +[-nbio_test] +[-state] +[-nbio] +[-crlf] +[-ign_eof] +[-no_ign_eof] +[-psk_identity identity] +[-psk key] +[-psk_session file] +[-quiet] +[-ssl3] +[-tls1] +[-tls1_1] +[-tls1_2] +[-tls1_3] +[-no_ssl3] +[-no_tls1] +[-no_tls1_1] +[-no_tls1_2] +[-no_tls1_3] +[-dtls] +[-dtls1] +[-dtls1_2] +[-sctp] +[-sctp_label_bug] +[-fallback_scsv] +[-async] +[-max_send_frag] +[-split_send_frag] +[-max_pipelines] +[-read_buf] +[-bugs] +[-comp] +[-no_comp] +[-allow_no_dhe_kex] +[-sigalgs sigalglist] +[-curves curvelist] +[-cipher cipherlist] +[-ciphersuites val] +[-serverpref] +[-starttls protocol] +[-xmpphost hostname] +[-name hostname] +[-engine id] +[-tlsextdebug] +[-no_ticket] +[-sess_out filename] +[-sess_in filename] +[-rand file...] +[-writerand file] +[-serverinfo types] +[-status] +[-alpn protocols] +[-nextprotoneg protocols] +[-ct] +[-noct] +[-ctlogfile] +[-keylogfile file] +[-early_data file] +[-enable_pha] +[target]

    +

    +

    +
    +

    DESCRIPTION

    +

    The s_client command implements a generic SSL/TLS client which connects +to a remote host using SSL/TLS. It is a very useful diagnostic tool for +SSL servers.

    +

    +

    +
    +

    OPTIONS

    +

    In addition to the options below the s_client utility also supports the +common and client only options documented +in the "Supported Command Line Commands" section of the SSL_CONF_cmd(3) +manual page.

    +
    +
    -help
    + +
    +

    Print out a usage message.

    +
    +
    -connect host:port
    + +
    +

    This specifies the host and optional port to connect to. It is possible to +select the host and port using the optional target positional argument instead. +If neither this nor the target positional argument are specified then an attempt +is made to connect to the local host on port 4433.

    +
    +
    -bind host:port]
    + +
    +

    This specifies the host address and or port to bind as the source for the +connection. For Unix-domain sockets the port is ignored and the host is +used as the source socket address.

    +
    +
    -proxy host:port
    + +
    +

    When used with the -connect flag, the program uses the host and port +specified with this flag and issues an HTTP CONNECT command to connect +to the desired server.

    +
    +
    -unix path
    + +
    +

    Connect over the specified Unix-domain socket.

    +
    +
    -4
    + +
    +

    Use IPv4 only.

    +
    +
    -6
    + +
    +

    Use IPv6 only.

    +
    +
    -servername name
    + +
    +

    Set the TLS SNI (Server Name Indication) extension in the ClientHello message to +the given value. +If -servername is not provided, the TLS SNI extension will be populated with +the name given to -connect if it follows a DNS name format. If -connect is +not provided either, the SNI is set to "localhost". +This is the default since OpenSSL 1.1.1.

    +

    Even though SNI should normally be a DNS name and not an IP address, if +-servername is provided then that name will be sent, regardless of whether +it is a DNS name or not.

    +

    This option cannot be used in conjunction with -noservername.

    +
    +
    -noservername
    + +
    +

    Suppresses sending of the SNI (Server Name Indication) extension in the +ClientHello message. Cannot be used in conjunction with the -servername or +<-dane_tlsa_domain> options.

    +
    +
    -cert certname
    + +
    +

    The certificate to use, if one is requested by the server. The default is +not to use a certificate.

    +
    +
    -certform format
    + +
    +

    The certificate format to use: DER or PEM. PEM is the default.

    +
    +
    -key keyfile
    + +
    +

    The private key to use. If not specified then the certificate file will +be used.

    +
    +
    -keyform format
    + +
    +

    The private format to use: DER or PEM. PEM is the default.

    +
    +
    -cert_chain
    + +
    +

    A file containing trusted certificates to use when attempting to build the +client/server certificate chain related to the certificate specified via the +-cert option.

    +
    +
    -build_chain
    + +
    +

    Specify whether the application should build the certificate chain to be +provided to the server.

    +
    +
    -xkey infile, -xcert infile, -xchain
    + +
    +

    Specify an extra certificate, private key and certificate chain. These behave +in the same manner as the -cert, -key and -cert_chain options. When +specified, the callback returning the first valid chain will be in use by the +client.

    +
    +
    -xchain_build
    + +
    +

    Specify whether the application should build the certificate chain to be +provided to the server for the extra certificates provided via -xkey infile, +-xcert infile, -xchain options.

    +
    +
    -xcertform PEM|DER, -xkeyform PEM|DER
    + +
    +

    Extra certificate and private key format respectively.

    +
    +
    -pass arg
    + +
    +

    the private key password source. For more information about the format of arg +see the PASS PHRASE ARGUMENTS section in openssl(1).

    +
    +
    -verify depth
    + +
    +

    The verify depth to use. This specifies the maximum length of the +server certificate chain and turns on server certificate verification. +Currently the verify operation continues after errors so all the problems +with a certificate chain can be seen. As a side effect the connection +will never fail due to a server certificate verify failure.

    +
    +
    -verify_return_error
    + +
    +

    Return verification errors instead of continuing. This will typically +abort the handshake with a fatal error.

    +
    +
    -nameopt option
    + +
    +

    Option which determines how the subject or issuer names are displayed. The +option argument can be a single option or multiple options separated by +commas. Alternatively the -nameopt switch may be used more than once to +set multiple options. See the x509(1) manual page for details.

    +
    +
    -CApath directory
    + +
    +

    The directory to use for server certificate verification. This directory +must be in "hash format", see verify(1) for more information. These are +also used when building the client certificate chain.

    +
    +
    -CAfile file
    + +
    +

    A file containing trusted certificates to use during server authentication +and to use when attempting to build the client certificate chain.

    +
    +
    -chainCApath directory
    + +
    +

    The directory to use for building the chain provided to the server. This +directory must be in "hash format", see verify(1) for more information.

    +
    +
    -chainCAfile file
    + +
    +

    A file containing trusted certificates to use when attempting to build the +client certificate chain.

    +
    +
    -no-CAfile
    + +
    +

    Do not load the trusted CA certificates from the default file location

    +
    +
    -no-CApath
    + +
    +

    Do not load the trusted CA certificates from the default directory location

    +
    +
    -requestCAfile file
    + +
    +

    A file containing a list of certificates whose subject names will be sent +to the server in the certificate_authorities extension. Only supported +for TLS 1.3

    +
    +
    -dane_tlsa_domain domain
    + +
    +

    Enable RFC6698/RFC7671 DANE TLSA authentication and specify the +TLSA base domain which becomes the default SNI hint and the primary +reference identifier for hostname checks. This must be used in +combination with at least one instance of the -dane_tlsa_rrdata +option below.

    +

    When DANE authentication succeeds, the diagnostic output will include +the lowest (closest to 0) depth at which a TLSA record authenticated +a chain certificate. When that TLSA record is a "2 1 0" trust +anchor public key that signed (rather than matched) the top-most +certificate of the chain, the result is reported as "TA public key +verified". Otherwise, either the TLSA record "matched TA certificate" +at a positive depth or else "matched EE certificate" at depth 0.

    +
    +
    -dane_tlsa_rrdata rrdata
    + +
    +

    Use one or more times to specify the RRDATA fields of the DANE TLSA +RRset associated with the target service. The rrdata value is +specified in "presentation form", that is four whitespace separated +fields that specify the usage, selector, matching type and associated +data, with the last of these encoded in hexadecimal. Optional +whitespace is ignored in the associated data field. For example:

    +
    +  $ openssl s_client -brief -starttls smtp \
    +    -connect smtp.example.com:25 \
    +    -dane_tlsa_domain smtp.example.com \
    +    -dane_tlsa_rrdata "2 1 1
    +      B111DD8A1C2091A89BD4FD60C57F0716CCE50FEEFF8137CDBEE0326E 02CF362B" \
    +    -dane_tlsa_rrdata "2 1 1
    +      60B87575447DCBA2A36B7D11AC09FB24A9DB406FEE12D2CC90180517 616E8A18"
    +  ...
    +  Verification: OK
    +  Verified peername: smtp.example.com
    +  DANE TLSA 2 1 1 ...ee12d2cc90180517616e8a18 matched TA certificate at depth 1
    +  ...
    +
    +
    -dane_ee_no_namechecks
    + +
    +

    This disables server name checks when authenticating via DANE-EE(3) TLSA +records. +For some applications, primarily web browsers, it is not safe to disable name +checks due to "unknown key share" attacks, in which a malicious server can +convince a client that a connection to a victim server is instead a secure +connection to the malicious server. +The malicious server may then be able to violate cross-origin scripting +restrictions. +Thus, despite the text of RFC7671, name checks are by default enabled for +DANE-EE(3) TLSA records, and can be disabled in applications where it is safe +to do so. +In particular, SMTP and XMPP clients should set this option as SRV and MX +records already make it possible for a remote domain to redirect client +connections to any server of its choice, and in any case SMTP and XMPP clients +do not execute scripts downloaded from remote servers.

    +
    +
    -attime, -check_ss_sig, -crl_check, -crl_check_all, +-explicit_policy, -extended_crl, -ignore_critical, -inhibit_any, +-inhibit_map, -no_alt_chains, -no_check_time, -partial_chain, -policy, +-policy_check, -policy_print, -purpose, -suiteB_128, +-suiteB_128_only, -suiteB_192, -trusted_first, -use_deltas, +-auth_level, -verify_depth, -verify_email, -verify_hostname, +-verify_ip, -verify_name, -x509_strict
    + +
    +

    Set various certificate chain validation options. See the +verify(1) manual page for details.

    +
    +
    -reconnect
    + +
    +

    Reconnects to the same server 5 times using the same session ID, this can +be used as a test that session caching is working.

    +
    +
    -showcerts
    + +
    +

    Displays the server certificate list as sent by the server: it only consists of +certificates the server has sent (in the order the server has sent them). It is +not a verified chain.

    +
    +
    -prexit
    + +
    +

    Print session information when the program exits. This will always attempt +to print out information even if the connection fails. Normally information +will only be printed out once if the connection succeeds. This option is useful +because the cipher in use may be renegotiated or the connection may fail +because a client certificate is required or is requested only after an +attempt is made to access a certain URL. Note: the output produced by this +option is not always accurate because a connection might never have been +established.

    +
    +
    -state
    + +
    +

    Prints out the SSL session states.

    +
    +
    -debug
    + +
    +

    Print extensive debugging information including a hex dump of all traffic.

    +
    +
    -msg
    + +
    +

    Show all protocol messages with hex dump.

    +
    +
    -trace
    + +
    +

    Show verbose trace output of protocol messages. OpenSSL needs to be compiled +with enable-ssl-trace for this option to work.

    +
    +
    -msgfile
    + +
    +

    File to send output of -msg or -trace to, default standard output.

    +
    +
    -nbio_test
    + +
    +

    Tests non-blocking I/O

    +
    +
    -nbio
    + +
    +

    Turns on non-blocking I/O

    +
    +
    -crlf
    + +
    +

    This option translated a line feed from the terminal into CR+LF as required +by some servers.

    +
    +
    -ign_eof
    + +
    +

    Inhibit shutting down the connection when end of file is reached in the +input.

    +
    +
    -quiet
    + +
    +

    Inhibit printing of session and certificate information. This implicitly +turns on -ign_eof as well.

    +
    +
    -no_ign_eof
    + +
    +

    Shut down the connection when end of file is reached in the input. +Can be used to override the implicit -ign_eof after -quiet.

    +
    +
    -psk_identity identity
    + +
    +

    Use the PSK identity identity when using a PSK cipher suite. +The default value is "Client_identity" (without the quotes).

    +
    +
    -psk key
    + +
    +

    Use the PSK key key when using a PSK cipher suite. The key is +given as a hexadecimal number without leading 0x, for example -psk +1a2b3c4d. +This option must be provided in order to use a PSK cipher.

    +
    +
    -psk_session file
    + +
    +

    Use the pem encoded SSL_SESSION data stored in file as the basis of a PSK. +Note that this will only work if TLSv1.3 is negotiated.

    +
    +
    -ssl3, -tls1, -tls1_1, -tls1_2, -tls1_3, -no_ssl3, -no_tls1, -no_tls1_1, -no_tls1_2, -no_tls1_3
    + +
    +

    These options require or disable the use of the specified SSL or TLS protocols. +By default s_client will negotiate the highest mutually supported protocol +version. +When a specific TLS version is required, only that version will be offered to +and accepted from the server. +Note that not all protocols and flags may be available, depending on how +OpenSSL was built.

    +
    +
    -dtls, -dtls1, -dtls1_2
    + +
    +

    These options make s_client use DTLS protocols instead of TLS. +With -dtls, s_client will negotiate any supported DTLS protocol version, +whilst -dtls1 and -dtls1_2 will only support DTLS1.0 and DTLS1.2 +respectively.

    +
    +
    -sctp
    + +
    +

    Use SCTP for the transport protocol instead of UDP in DTLS. Must be used in +conjunction with -dtls, -dtls1 or -dtls1_2. This option is only +available where OpenSSL has support for SCTP enabled.

    +
    +
    -sctp_label_bug
    + +
    +

    Use the incorrect behaviour of older OpenSSL implementations when computing +endpoint-pair shared secrets for DTLS/SCTP. This allows communication with +older broken implementations but breaks interoperability with correct +implementations. Must be used in conjunction with -sctp. This option is only +available where OpenSSL has support for SCTP enabled.

    +
    +
    -fallback_scsv
    + +
    +

    Send TLS_FALLBACK_SCSV in the ClientHello.

    +
    +
    -async
    + +
    +

    Switch on asynchronous mode. Cryptographic operations will be performed +asynchronously. This will only have an effect if an asynchronous capable engine +is also used via the -engine option. For test purposes the dummy async engine +(dasync) can be used (if available).

    +
    +
    -max_send_frag int
    + +
    +

    The maximum size of data fragment to send. +See SSL_CTX_set_max_send_fragment(3) for further information.

    +
    +
    -split_send_frag int
    + +
    +

    The size used to split data for encrypt pipelines. If more data is written in +one go than this value then it will be split into multiple pipelines, up to the +maximum number of pipelines defined by max_pipelines. This only has an effect if +a suitable cipher suite has been negotiated, an engine that supports pipelining +has been loaded, and max_pipelines is greater than 1. See +SSL_CTX_set_split_send_fragment(3) for further information.

    +
    +
    -max_pipelines int
    + +
    +

    The maximum number of encrypt/decrypt pipelines to be used. This will only have +an effect if an engine has been loaded that supports pipelining (e.g. the dasync +engine) and a suitable cipher suite has been negotiated. The default value is 1. +See SSL_CTX_set_max_pipelines(3) for further information.

    +
    +
    -read_buf int
    + +
    +

    The default read buffer size to be used for connections. This will only have an +effect if the buffer size is larger than the size that would otherwise be used +and pipelining is in use (see SSL_CTX_set_default_read_buffer_len(3) for +further information).

    +
    +
    -bugs
    + +
    +

    There are several known bugs in SSL and TLS implementations. Adding this +option enables various workarounds.

    +
    +
    -comp
    + +
    +

    Enables support for SSL/TLS compression. +This option was introduced in OpenSSL 1.1.0. +TLS compression is not recommended and is off by default as of +OpenSSL 1.1.0.

    +
    +
    -no_comp
    + +
    +

    Disables support for SSL/TLS compression. +TLS compression is not recommended and is off by default as of +OpenSSL 1.1.0.

    +
    +
    -brief
    + +
    +

    Only provide a brief summary of connection parameters instead of the +normal verbose output.

    +
    +
    -sigalgs sigalglist
    + +
    +

    Specifies the list of signature algorithms that are sent by the client. +The server selects one entry in the list based on its preferences. +For example strings, see SSL_CTX_set1_sigalgs(3)

    +
    +
    -curves curvelist
    + +
    +

    Specifies the list of supported curves to be sent by the client. The curve is +ultimately selected by the server. For a list of all curves, use:

    +
    +    $ openssl ecparam -list_curves
    +
    +
    -cipher cipherlist
    + +
    +

    This allows the TLSv1.2 and below cipher list sent by the client to be modified. +This list will be combined with any TLSv1.3 ciphersuites that have been +configured. Although the server determines which ciphersuite is used it should +take the first supported cipher in the list sent by the client. See the +ciphers command for more information.

    +
    +
    -ciphersuites val
    + +
    +

    This allows the TLSv1.3 ciphersuites sent by the client to be modified. This +list will be combined with any TLSv1.2 and below ciphersuites that have been +configured. Although the server determines which cipher suite is used it should +take the first supported cipher in the list sent by the client. See the +ciphers command for more information. The format for this list is a simple +colon (":") separated list of TLSv1.3 ciphersuite names.

    +
    +
    -starttls protocol
    + +
    +

    Send the protocol-specific message(s) to switch to TLS for communication. +protocol is a keyword for the intended protocol. Currently, the only +supported keywords are "smtp", "pop3", "imap", "ftp", "xmpp", "xmpp-server", +"irc", "postgres", "mysql", "lmtp", "nntp", "sieve" and "ldap".

    +
    +
    -xmpphost hostname
    + +
    +

    This option, when used with "-starttls xmpp" or "-starttls xmpp-server", +specifies the host for the "to" attribute of the stream element. +If this option is not specified, then the host specified with "-connect" +will be used.

    +

    This option is an alias of the -name option for "xmpp" and "xmpp-server".

    +
    +
    -name hostname
    + +
    +

    This option is used to specify hostname information for various protocols +used with -starttls option. Currently only "xmpp", "xmpp-server", +"smtp" and "lmtp" can utilize this -name option.

    +

    If this option is used with "-starttls xmpp" or "-starttls xmpp-server", +if specifies the host for the "to" attribute of the stream element. If this +option is not specified, then the host specified with "-connect" will be used.

    +

    If this option is used with "-starttls lmtp" or "-starttls smtp", it specifies +the name to use in the "LMTP LHLO" or "SMTP EHLO" message, respectively. If +this option is not specified, then "mail.example.com" will be used.

    +
    +
    -tlsextdebug
    + +
    +

    Print out a hex dump of any TLS extensions received from the server.

    +
    +
    -no_ticket
    + +
    +

    Disable RFC4507bis session ticket support.

    +
    +
    -sess_out filename
    + +
    +

    Output SSL session to filename.

    +
    +
    -sess_in sess.pem
    + +
    +

    Load SSL session from filename. The client will attempt to resume a +connection from this session.

    +
    +
    -engine id
    + +
    +

    Specifying an engine (by its unique id string) will cause s_client +to attempt to obtain a functional reference to the specified engine, +thus initialising it if needed. The engine will then be set as the default +for all available algorithms.

    +
    +
    -rand file...
    + +
    +

    A file or files containing random data used to seed the random number +generator. +Multiple files can be specified separated by an OS-dependent character. +The separator is ; for MS-Windows, , for OpenVMS, and : for +all others.

    +
    +
    [-writerand file]
    + +
    +

    Writes random data to the specified file upon exit. +This can be used with a subsequent -rand flag.

    +
    +
    -serverinfo types
    + +
    +

    A list of comma-separated TLS Extension Types (numbers between 0 and +65535). Each type will be sent as an empty ClientHello TLS Extension. +The server's response (if any) will be encoded and displayed as a PEM +file.

    +
    +
    -status
    + +
    +

    Sends a certificate status request to the server (OCSP stapling). The server +response (if any) is printed out.

    +
    +
    -alpn protocols, -nextprotoneg protocols
    + +
    +

    These flags enable the Enable the Application-Layer Protocol Negotiation +or Next Protocol Negotiation (NPN) extension, respectively. ALPN is the +IETF standard and replaces NPN. +The protocols list is a comma-separated list of protocol names that +the client should advertise support for. The list should contain the most +desirable protocols first. Protocol names are printable ASCII strings, +for example "http/1.1" or "spdy/3". +An empty list of protocols is treated specially and will cause the +client to advertise support for the TLS extension but disconnect just +after receiving ServerHello with a list of server supported protocols. +The flag -nextprotoneg cannot be specified if -tls1_3 is used.

    +
    +
    -ct, -noct
    + +
    +

    Use one of these two options to control whether Certificate Transparency (CT) +is enabled (-ct) or disabled (-noct). +If CT is enabled, signed certificate timestamps (SCTs) will be requested from +the server and reported at handshake completion.

    +

    Enabling CT also enables OCSP stapling, as this is one possible delivery method +for SCTs.

    +
    +
    -ctlogfile
    + +
    +

    A file containing a list of known Certificate Transparency logs. See +SSL_CTX_set_ctlog_list_file(3) for the expected file format.

    +
    +
    -keylogfile file
    + +
    +

    Appends TLS secrets to the specified keylog file such that external programs +(like Wireshark) can decrypt TLS connections.

    +
    +
    -early_data file
    + +
    +

    Reads the contents of the specified file and attempts to send it as early data +to the server. This will only work with resumed sessions that support early +data and when the server accepts the early data.

    +
    +
    -enable_pha
    + +
    +

    For TLSv1.3 only, send the Post-Handshake Authentication extension. This will +happen whether or not a certificate has been provided via -cert.

    +
    +
    [target]
    + +
    +

    Rather than providing -connect, the target hostname and optional port may +be provided as a single positional argument after all options. If neither this +nor -connect are provided, falls back to attempting to connect to localhost +on port 4433.

    +
    +
    +

    +

    +
    +

    CONNECTED COMMANDS

    +

    If a connection is established with an SSL server then any data received +from the server is displayed and any key presses will be sent to the +server. If end of file is reached then the connection will be closed down. When +used interactively (which means neither -quiet nor -ign_eof have been +given), then certain commands are also recognized which perform special +operations. These commands are a letter which must appear at the start of a +line. They are listed below.

    +
    +
    Q
    + +
    +

    End the current SSL connection and exit.

    +
    +
    R
    + +
    +

    Renegotiate the SSL session (TLSv1.2 and below only).

    +
    +
    B
    + +
    +

    Send a heartbeat message to the server (DTLS only)

    +
    +
    k
    + +
    +

    Send a key update message to the server (TLSv1.3 only)

    +
    +
    K
    + +
    +

    Send a key update message to the server and request one back (TLSv1.3 only)

    +
    +
    +

    +

    +
    +

    NOTES

    +

    s_client can be used to debug SSL servers. To connect to an SSL HTTP +server the command:

    +
    + openssl s_client -connect servername:443
    +

    would typically be used (https uses port 443). If the connection succeeds +then an HTTP command can be given such as "GET /" to retrieve a web page.

    +

    If the handshake fails then there are several possible causes, if it is +nothing obvious like no client certificate then the -bugs, +-ssl3, -tls1, -no_ssl3, -no_tls1 options can be tried +in case it is a buggy server. In particular you should play with these +options before submitting a bug report to an OpenSSL mailing list.

    +

    A frequent problem when attempting to get client certificates working +is that a web client complains it has no certificates or gives an empty +list to choose from. This is normally because the server is not sending +the clients certificate authority in its "acceptable CA list" when it +requests a certificate. By using s_client the CA list can be viewed +and checked. However some servers only request client authentication +after a specific URL is requested. To obtain the list in this case it +is necessary to use the -prexit option and send an HTTP request +for an appropriate page.

    +

    If a certificate is specified on the command line using the -cert +option it will not be used unless the server specifically requests +a client certificate. Therefor merely including a client certificate +on the command line is no guarantee that the certificate works.

    +

    If there are problems verifying a server certificate then the +-showcerts option can be used to show all the certificates sent by the +server.

    +

    The s_client utility is a test tool and is designed to continue the +handshake after any certificate verification errors. As a result it will +accept any certificate chain (trusted or not) sent by the peer. None test +applications should not do this as it makes them vulnerable to a MITM +attack. This behaviour can be changed by with the -verify_return_error +option: any verify errors are then returned aborting the handshake.

    +

    The -bind option may be useful if the server or a firewall requires +connections to come from some particular address and or port.

    +

    +

    +
    +

    BUGS

    +

    Because this program has a lot of options and also because some of the +techniques used are rather old, the C source of s_client is rather hard to +read and not a model of how things should be done. +A typical SSL client program would be much simpler.

    +

    The -prexit option is a bit of a hack. We should really report +information whenever a session is renegotiated.

    +

    +

    +
    +

    SEE ALSO

    +

    SSL_CONF_cmd(3), sess_id(1), s_server(1), ciphers(1), +SSL_CTX_set_max_send_fragment(3), SSL_CTX_set_split_send_fragment(3), +SSL_CTX_set_max_pipelines(3)

    +

    +

    +
    +

    HISTORY

    +

    The -no_alt_chains option was added in OpenSSL 1.1.0. +The -name option was added in OpenSSL 1.1.1.

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man1/s_server.html b/linux_amd64/share/doc/openssl/html/man1/s_server.html new file mode 100644 index 0000000..4fc378e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/s_server.html @@ -0,0 +1,989 @@ + + + + +s_server + + + + + + + + + + + +

    +

    +
    +

    NAME

    +

    openssl-s_server, +s_server - SSL/TLS server program

    +

    +

    +
    +

    SYNOPSIS

    +

    openssl s_server +[-help] +[-port +int] +[-accept val] +[-unix val] +[-4] +[-6] +[-unlink] +[-context val] +[-verify int] +[-Verify int] +[-cert infile] +[-nameopt val] +[-naccept +int] +[-serverinfo val] +[-certform PEM|DER] +[-key infile] +[-keyform format] +[-pass val] +[-dcert infile] +[-dcertform PEM|DER] +[-dkey infile] +[-dkeyform PEM|DER] +[-dpass val] +[-nbio_test] +[-crlf] +[-debug] +[-msg] +[-msgfile outfile] +[-state] +[-CAfile infile] +[-CApath dir] +[-no-CAfile] +[-no-CApath] +[-nocert] +[-quiet] +[-no_resume_ephemeral] +[-www] +[-WWW] +[-servername] +[-servername_fatal] +[-cert2 infile] +[-key2 infile] +[-tlsextdebug] +[-HTTP] +[-id_prefix val] +[-rand file...] +[-writerand file] +[-keymatexport val] +[-keymatexportlen +int] +[-CRL infile] +[-crl_download] +[-cert_chain infile] +[-dcert_chain infile] +[-chainCApath dir] +[-verifyCApath dir] +[-no_cache] +[-ext_cache] +[-CRLform PEM|DER] +[-verify_return_error] +[-verify_quiet] +[-build_chain] +[-chainCAfile infile] +[-verifyCAfile infile] +[-ign_eof] +[-no_ign_eof] +[-status] +[-status_verbose] +[-status_timeout int] +[-status_url val] +[-status_file infile] +[-trace] +[-security_debug] +[-security_debug_verbose] +[-brief] +[-rev] +[-async] +[-ssl_config val] +[-max_send_frag +int] +[-split_send_frag +int] +[-max_pipelines +int] +[-read_buf +int] +[-no_ssl3] +[-no_tls1] +[-no_tls1_1] +[-no_tls1_2] +[-no_tls1_3] +[-bugs] +[-no_comp] +[-comp] +[-no_ticket] +[-num_tickets] +[-serverpref] +[-legacy_renegotiation] +[-no_renegotiation] +[-legacy_server_connect] +[-no_resumption_on_reneg] +[-no_legacy_server_connect] +[-allow_no_dhe_kex] +[-prioritize_chacha] +[-strict] +[-sigalgs val] +[-client_sigalgs val] +[-groups val] +[-curves val] +[-named_curve val] +[-cipher val] +[-ciphersuites val] +[-dhparam infile] +[-record_padding val] +[-debug_broken_protocol] +[-policy val] +[-purpose val] +[-verify_name val] +[-verify_depth int] +[-auth_level int] +[-attime intmax] +[-verify_hostname val] +[-verify_email val] +[-verify_ip] +[-ignore_critical] +[-issuer_checks] +[-crl_check] +[-crl_check_all] +[-policy_check] +[-explicit_policy] +[-inhibit_any] +[-inhibit_map] +[-x509_strict] +[-extended_crl] +[-use_deltas] +[-policy_print] +[-check_ss_sig] +[-trusted_first] +[-suiteB_128_only] +[-suiteB_128] +[-suiteB_192] +[-partial_chain] +[-no_alt_chains] +[-no_check_time] +[-allow_proxy_certs] +[-xkey] +[-xcert] +[-xchain] +[-xchain_build] +[-xcertform PEM|DER] +[-xkeyform PEM|DER] +[-nbio] +[-psk_identity val] +[-psk_hint val] +[-psk val] +[-psk_session file] +[-srpvfile infile] +[-srpuserseed val] +[-ssl3] +[-tls1] +[-tls1_1] +[-tls1_2] +[-tls1_3] +[-dtls] +[-timeout] +[-mtu +int] +[-listen] +[-dtls1] +[-dtls1_2] +[-sctp] +[-sctp_label_bug] +[-no_dhe] +[-nextprotoneg val] +[-use_srtp val] +[-alpn val] +[-engine val] +[-keylogfile outfile] +[-max_early_data int] +[-early_data] +[-anti_replay] +[-no_anti_replay]

    +

    +

    +
    +

    DESCRIPTION

    +

    The s_server command implements a generic SSL/TLS server which listens +for connections on a given port using SSL/TLS.

    +

    +

    +
    +

    OPTIONS

    +

    In addition to the options below the s_server utility also supports the +common and server only options documented +in the "Supported Command Line Commands" section of the SSL_CONF_cmd(3) +manual page.

    +
    +
    -help
    + +
    +

    Print out a usage message.

    +
    +
    -port +int
    + +
    +

    The TCP port to listen on for connections. If not specified 4433 is used.

    +
    +
    -accept val
    + +
    +

    The optional TCP host and port to listen on for connections. If not specified, *:4433 is used.

    +
    +
    -unix val
    + +
    +

    Unix domain socket to accept on.

    +
    +
    -4
    + +
    +

    Use IPv4 only.

    +
    +
    -6
    + +
    +

    Use IPv6 only.

    +
    +
    -unlink
    + +
    +

    For -unix, unlink any existing socket first.

    +
    +
    -context val
    + +
    +

    Sets the SSL context id. It can be given any string value. If this option +is not present a default value will be used.

    +
    +
    -verify int, -Verify int
    + +
    +

    The verify depth to use. This specifies the maximum length of the +client certificate chain and makes the server request a certificate from +the client. With the -verify option a certificate is requested but the +client does not have to send one, with the -Verify option the client +must supply a certificate or an error occurs.

    +

    If the cipher suite cannot request a client certificate (for example an +anonymous cipher suite or PSK) this option has no effect.

    +
    +
    -cert infile
    + +
    +

    The certificate to use, most servers cipher suites require the use of a +certificate and some require a certificate with a certain public key type: +for example the DSS cipher suites require a certificate containing a DSS +(DSA) key. If not specified then the filename "server.pem" will be used.

    +
    +
    -cert_chain
    + +
    +

    A file containing trusted certificates to use when attempting to build the +client/server certificate chain related to the certificate specified via the +-cert option.

    +
    +
    -build_chain
    + +
    +

    Specify whether the application should build the certificate chain to be +provided to the client.

    +
    +
    -nameopt val
    + +
    +

    Option which determines how the subject or issuer names are displayed. The +val argument can be a single option or multiple options separated by +commas. Alternatively the -nameopt switch may be used more than once to +set multiple options. See the x509(1) manual page for details.

    +
    +
    -naccept +int
    + +
    +

    The server will exit after receiving the specified number of connections, +default unlimited.

    +
    +
    -serverinfo val
    + +
    +

    A file containing one or more blocks of PEM data. Each PEM block +must encode a TLS ServerHello extension (2 bytes type, 2 bytes length, +followed by "length" bytes of extension data). If the client sends +an empty TLS ClientHello extension matching the type, the corresponding +ServerHello extension will be returned.

    +
    +
    -certform PEM|DER
    + +
    +

    The certificate format to use: DER or PEM. PEM is the default.

    +
    +
    -key infile
    + +
    +

    The private key to use. If not specified then the certificate file will +be used.

    +
    +
    -keyform format
    + +
    +

    The private format to use: DER or PEM. PEM is the default.

    +
    +
    -pass val
    + +
    +

    The private key password source. For more information about the format of val +see the PASS PHRASE ARGUMENTS section in openssl(1).

    +
    +
    -dcert infile, -dkey infile
    + +
    +

    Specify an additional certificate and private key, these behave in the +same manner as the -cert and -key options except there is no default +if they are not specified (no additional certificate and key is used). As +noted above some cipher suites require a certificate containing a key of +a certain type. Some cipher suites need a certificate carrying an RSA key +and some a DSS (DSA) key. By using RSA and DSS certificates and keys +a server can support clients which only support RSA or DSS cipher suites +by using an appropriate certificate.

    +
    +
    -dcert_chain
    + +
    +

    A file containing trusted certificates to use when attempting to build the +server certificate chain when a certificate specified via the -dcert option +is in use.

    +
    +
    -dcertform PEM|DER, -dkeyform PEM|DER, -dpass val
    + +
    +

    Additional certificate and private key format and passphrase respectively.

    +
    +
    -xkey infile, -xcert infile, -xchain
    + +
    +

    Specify an extra certificate, private key and certificate chain. These behave +in the same manner as the -cert, -key and -cert_chain options. When +specified, the callback returning the first valid chain will be in use by +the server.

    +
    +
    -xchain_build
    + +
    +

    Specify whether the application should build the certificate chain to be +provided to the client for the extra certificates provided via -xkey infile, +-xcert infile, -xchain options.

    +
    +
    -xcertform PEM|DER, -xkeyform PEM|DER
    + +
    +

    Extra certificate and private key format respectively.

    +
    +
    -nbio_test
    + +
    +

    Tests non blocking I/O.

    +
    +
    -crlf
    + +
    +

    This option translated a line feed from the terminal into CR+LF.

    +
    +
    -debug
    + +
    +

    Print extensive debugging information including a hex dump of all traffic.

    +
    +
    -msg
    + +
    +

    Show all protocol messages with hex dump.

    +
    +
    -msgfile outfile
    + +
    +

    File to send output of -msg or -trace to, default standard output.

    +
    +
    -state
    + +
    +

    Prints the SSL session states.

    +
    +
    -CAfile infile
    + +
    +

    A file containing trusted certificates to use during client authentication +and to use when attempting to build the server certificate chain. The list +is also used in the list of acceptable client CAs passed to the client when +a certificate is requested.

    +
    +
    -CApath dir
    + +
    +

    The directory to use for client certificate verification. This directory +must be in "hash format", see verify(1) for more information. These are +also used when building the server certificate chain.

    +
    +
    -chainCApath dir
    + +
    +

    The directory to use for building the chain provided to the client. This +directory must be in "hash format", see verify(1) for more information.

    +
    +
    -chainCAfile file
    + +
    +

    A file containing trusted certificates to use when attempting to build the +server certificate chain.

    +
    +
    -no-CAfile
    + +
    +

    Do not load the trusted CA certificates from the default file location.

    +
    +
    -no-CApath
    + +
    +

    Do not load the trusted CA certificates from the default directory location.

    +
    +
    -nocert
    + +
    +

    If this option is set then no certificate is used. This restricts the +cipher suites available to the anonymous ones (currently just anonymous +DH).

    +
    +
    -quiet
    + +
    +

    Inhibit printing of session and certificate information.

    +
    +
    -www
    + +
    +

    Sends a status message back to the client when it connects. This includes +information about the ciphers used and various session parameters. +The output is in HTML format so this option will normally be used with a +web browser. Cannot be used in conjunction with -early_data.

    +
    +
    -WWW
    + +
    +

    Emulates a simple web server. Pages will be resolved relative to the +current directory, for example if the URL https://myhost/page.html is +requested the file ./page.html will be loaded. Cannot be used in conjunction +with -early_data.

    +
    +
    -tlsextdebug
    + +
    +

    Print a hex dump of any TLS extensions received from the server.

    +
    +
    -HTTP
    + +
    +

    Emulates a simple web server. Pages will be resolved relative to the +current directory, for example if the URL https://myhost/page.html is +requested the file ./page.html will be loaded. The files loaded are +assumed to contain a complete and correct HTTP response (lines that +are part of the HTTP response line and headers must end with CRLF). Cannot be +used in conjunction with -early_data.

    +
    +
    -id_prefix val
    + +
    +

    Generate SSL/TLS session IDs prefixed by val. This is mostly useful +for testing any SSL/TLS code (eg. proxies) that wish to deal with multiple +servers, when each of which might be generating a unique range of session +IDs (eg. with a certain prefix).

    +
    +
    -rand file...
    + +
    +

    A file or files containing random data used to seed the random number +generator. +Multiple files can be specified separated by an OS-dependent character. +The separator is ; for MS-Windows, , for OpenVMS, and : for +all others.

    +
    +
    [-writerand file]
    + +
    +

    Writes random data to the specified file upon exit. +This can be used with a subsequent -rand flag.

    +
    +
    -verify_return_error
    + +
    +

    Verification errors normally just print a message but allow the +connection to continue, for debugging purposes. +If this option is used, then verification errors close the connection.

    +
    +
    -status
    + +
    +

    Enables certificate status request support (aka OCSP stapling).

    +
    +
    -status_verbose
    + +
    +

    Enables certificate status request support (aka OCSP stapling) and gives +a verbose printout of the OCSP response.

    +
    +
    -status_timeout int
    + +
    +

    Sets the timeout for OCSP response to int seconds.

    +
    +
    -status_url val
    + +
    +

    Sets a fallback responder URL to use if no responder URL is present in the +server certificate. Without this option an error is returned if the server +certificate does not contain a responder address.

    +
    +
    -status_file infile
    + +
    +

    Overrides any OCSP responder URLs from the certificate and always provides the +OCSP Response stored in the file. The file must be in DER format.

    +
    +
    -trace
    + +
    +

    Show verbose trace output of protocol messages. OpenSSL needs to be compiled +with enable-ssl-trace for this option to work.

    +
    +
    -brief
    + +
    +

    Provide a brief summary of connection parameters instead of the normal verbose +output.

    +
    +
    -rev
    + +
    +

    Simple test server which just reverses the text received from the client +and sends it back to the server. Also sets -brief. Cannot be used in +conjunction with -early_data.

    +
    +
    -async
    + +
    +

    Switch on asynchronous mode. Cryptographic operations will be performed +asynchronously. This will only have an effect if an asynchronous capable engine +is also used via the -engine option. For test purposes the dummy async engine +(dasync) can be used (if available).

    +
    +
    -max_send_frag +int
    + +
    +

    The maximum size of data fragment to send. +See SSL_CTX_set_max_send_fragment(3) for further information.

    +
    +
    -split_send_frag +int
    + +
    +

    The size used to split data for encrypt pipelines. If more data is written in +one go than this value then it will be split into multiple pipelines, up to the +maximum number of pipelines defined by max_pipelines. This only has an effect if +a suitable cipher suite has been negotiated, an engine that supports pipelining +has been loaded, and max_pipelines is greater than 1. See +SSL_CTX_set_split_send_fragment(3) for further information.

    +
    +
    -max_pipelines +int
    + +
    +

    The maximum number of encrypt/decrypt pipelines to be used. This will only have +an effect if an engine has been loaded that supports pipelining (e.g. the dasync +engine) and a suitable cipher suite has been negotiated. The default value is 1. +See SSL_CTX_set_max_pipelines(3) for further information.

    +
    +
    -read_buf +int
    + +
    +

    The default read buffer size to be used for connections. This will only have an +effect if the buffer size is larger than the size that would otherwise be used +and pipelining is in use (see SSL_CTX_set_default_read_buffer_len(3) for +further information).

    +
    +
    -ssl2, -ssl3, -tls1, -tls1_1, -tls1_2, -tls1_3, -no_ssl2, -no_ssl3, -no_tls1, -no_tls1_1, -no_tls1_2, -no_tls1_3
    + +
    +

    These options require or disable the use of the specified SSL or TLS protocols. +By default s_server will negotiate the highest mutually supported protocol +version. +When a specific TLS version is required, only that version will be accepted +from the client. +Note that not all protocols and flags may be available, depending on how +OpenSSL was built.

    +
    +
    -bugs
    + +
    +

    There are several known bugs in SSL and TLS implementations. Adding this +option enables various workarounds.

    +
    +
    -no_comp
    + +
    +

    Disable negotiation of TLS compression. +TLS compression is not recommended and is off by default as of +OpenSSL 1.1.0.

    +
    +
    -comp
    + +
    +

    Enable negotiation of TLS compression. +This option was introduced in OpenSSL 1.1.0. +TLS compression is not recommended and is off by default as of +OpenSSL 1.1.0.

    +
    +
    -no_ticket
    + +
    +

    Disable RFC4507bis session ticket support. This option has no effect if TLSv1.3 +is negotiated. See -num_tickets.

    +
    +
    -num_tickets
    + +
    +

    Control the number of tickets that will be sent to the client after a full +handshake in TLSv1.3. The default number of tickets is 2. This option does not +affect the number of tickets sent after a resumption handshake.

    +
    +
    -serverpref
    + +
    +

    Use the server's cipher preferences, rather than the client's preferences.

    +
    +
    -prioritize_chacha
    + +
    +

    Prioritize ChaCha ciphers when preferred by clients. Requires -serverpref.

    +
    +
    -no_resumption_on_reneg
    + +
    +

    Set the SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION option.

    +
    +
    -client_sigalgs val
    + +
    +

    Signature algorithms to support for client certificate authentication +(colon-separated list).

    +
    +
    -named_curve val
    + +
    +

    Specifies the elliptic curve to use. NOTE: this is single curve, not a list. +For a list of all possible curves, use:

    +
    +    $ openssl ecparam -list_curves
    +
    +
    -cipher val
    + +
    +

    This allows the list of TLSv1.2 and below ciphersuites used by the server to be +modified. This list is combined with any TLSv1.3 ciphersuites that have been +configured. When the client sends a list of supported ciphers the first client +cipher also included in the server list is used. Because the client specifies +the preference order, the order of the server cipherlist is irrelevant. See +the ciphers command for more information.

    +
    +
    -ciphersuites val
    + +
    +

    This allows the list of TLSv1.3 ciphersuites used by the server to be modified. +This list is combined with any TLSv1.2 and below ciphersuites that have been +configured. When the client sends a list of supported ciphers the first client +cipher also included in the server list is used. Because the client specifies +the preference order, the order of the server cipherlist is irrelevant. See +the ciphers command for more information. The format for this list is a +simple colon (":") separated list of TLSv1.3 ciphersuite names.

    +
    +
    -dhparam infile
    + +
    +

    The DH parameter file to use. The ephemeral DH cipher suites generate keys +using a set of DH parameters. If not specified then an attempt is made to +load the parameters from the server certificate file. +If this fails then a static set of parameters hard coded into the s_server +program will be used.

    +
    +
    -attime, -check_ss_sig, -crl_check, -crl_check_all, +-explicit_policy, -extended_crl, -ignore_critical, -inhibit_any, +-inhibit_map, -no_alt_chains, -no_check_time, -partial_chain, -policy, +-policy_check, -policy_print, -purpose, -suiteB_128, +-suiteB_128_only, -suiteB_192, -trusted_first, -use_deltas, +-auth_level, -verify_depth, -verify_email, -verify_hostname, +-verify_ip, -verify_name, -x509_strict
    + +
    +

    Set different peer certificate verification options. +See the verify(1) manual page for details.

    +
    +
    -crl_check, -crl_check_all
    + +
    +

    Check the peer certificate has not been revoked by its CA. +The CRL(s) are appended to the certificate file. With the -crl_check_all +option all CRLs of all CAs in the chain are checked.

    +
    +
    -nbio
    + +
    +

    Turns on non blocking I/O.

    +
    +
    -psk_identity val
    + +
    +

    Expect the client to send PSK identity val when using a PSK +cipher suite, and warn if they do not. By default, the expected PSK +identity is the string "Client_identity".

    +
    +
    -psk_hint val
    + +
    +

    Use the PSK identity hint val when using a PSK cipher suite.

    +
    +
    -psk val
    + +
    +

    Use the PSK key val when using a PSK cipher suite. The key is +given as a hexadecimal number without leading 0x, for example -psk +1a2b3c4d. +This option must be provided in order to use a PSK cipher.

    +
    +
    -psk_session file
    + +
    +

    Use the pem encoded SSL_SESSION data stored in file as the basis of a PSK. +Note that this will only work if TLSv1.3 is negotiated.

    +
    +
    -listen
    + +
    +

    This option can only be used in conjunction with one of the DTLS options above. +With this option s_server will listen on a UDP port for incoming connections. +Any ClientHellos that arrive will be checked to see if they have a cookie in +them or not. +Any without a cookie will be responded to with a HelloVerifyRequest. +If a ClientHello with a cookie is received then s_server will connect to +that peer and complete the handshake.

    +
    +
    -dtls, -dtls1, -dtls1_2
    + +
    +

    These options make s_server use DTLS protocols instead of TLS. +With -dtls, s_server will negotiate any supported DTLS protocol version, +whilst -dtls1 and -dtls1_2 will only support DTLSv1.0 and DTLSv1.2 +respectively.

    +
    +
    -sctp
    + +
    +

    Use SCTP for the transport protocol instead of UDP in DTLS. Must be used in +conjunction with -dtls, -dtls1 or -dtls1_2. This option is only +available where OpenSSL has support for SCTP enabled.

    +
    +
    -sctp_label_bug
    + +
    +

    Use the incorrect behaviour of older OpenSSL implementations when computing +endpoint-pair shared secrets for DTLS/SCTP. This allows communication with +older broken implementations but breaks interoperability with correct +implementations. Must be used in conjunction with -sctp. This option is only +available where OpenSSL has support for SCTP enabled.

    +
    +
    -no_dhe
    + +
    +

    If this option is set then no DH parameters will be loaded effectively +disabling the ephemeral DH cipher suites.

    +
    +
    -alpn val, -nextprotoneg val
    + +
    +

    These flags enable the Enable the Application-Layer Protocol Negotiation +or Next Protocol Negotiation (NPN) extension, respectively. ALPN is the +IETF standard and replaces NPN. +The val list is a comma-separated list of supported protocol +names. The list should contain the most desirable protocols first. +Protocol names are printable ASCII strings, for example "http/1.1" or +"spdy/3". +The flag -nextprotoneg cannot be specified if -tls1_3 is used.

    +
    +
    -engine val
    + +
    +

    Specifying an engine (by its unique id string in val) will cause s_server +to attempt to obtain a functional reference to the specified engine, +thus initialising it if needed. The engine will then be set as the default +for all available algorithms.

    +
    +
    -keylogfile outfile
    + +
    +

    Appends TLS secrets to the specified keylog file such that external programs +(like Wireshark) can decrypt TLS connections.

    +
    +
    -max_early_data int
    + +
    +

    Change the default maximum early data bytes that are specified for new sessions +and any incoming early data (when used in conjunction with the -early_data +flag). The default value is approximately 16k. The argument must be an integer +greater than or equal to 0.

    +
    +
    -early_data
    + +
    +

    Accept early data where possible. Cannot be used in conjunction with -www, +-WWW, -HTTP or -rev.

    +
    +
    -anti_replay, -no_anti_replay
    + +
    +

    Switches replay protection on or off, respectively. Replay protection is on by +default unless overridden by a configuration file. When it is on, OpenSSL will +automatically detect if a session ticket has been used more than once, TLSv1.3 +has been negotiated, and early data is enabled on the server. A full handshake +is forced if a session ticket is used a second or subsequent time. Any early +data that was sent will be rejected.

    +
    +
    +

    +

    +
    +

    CONNECTED COMMANDS

    +

    If a connection request is established with an SSL client and neither the +-www nor the -WWW option has been used then normally any data received +from the client is displayed and any key presses will be sent to the client.

    +

    Certain commands are also recognized which perform special operations. These +commands are a letter which must appear at the start of a line. They are listed +below.

    +
    +
    q
    + +
    +

    End the current SSL connection but still accept new connections.

    +
    +
    Q
    + +
    +

    End the current SSL connection and exit.

    +
    +
    r
    + +
    +

    Renegotiate the SSL session (TLSv1.2 and below only).

    +
    +
    R
    + +
    +

    Renegotiate the SSL session and request a client certificate (TLSv1.2 and below +only).

    +
    +
    P
    + +
    +

    Send some plain text down the underlying TCP connection: this should +cause the client to disconnect due to a protocol violation.

    +
    +
    S
    + +
    +

    Print out some session cache status information.

    +
    +
    B
    + +
    +

    Send a heartbeat message to the client (DTLS only)

    +
    +
    k
    + +
    +

    Send a key update message to the client (TLSv1.3 only)

    +
    +
    K
    + +
    +

    Send a key update message to the client and request one back (TLSv1.3 only)

    +
    +
    c
    + +
    +

    Send a certificate request to the client (TLSv1.3 only)

    +
    +
    +

    +

    +
    +

    NOTES

    +

    s_server can be used to debug SSL clients. To accept connections from +a web browser the command:

    +
    + openssl s_server -accept 443 -www
    +

    can be used for example.

    +

    Although specifying an empty list of CAs when requesting a client certificate +is strictly speaking a protocol violation, some SSL clients interpret this to +mean any CA is acceptable. This is useful for debugging purposes.

    +

    The session parameters can printed out using the sess_id program.

    +

    +

    +
    +

    BUGS

    +

    Because this program has a lot of options and also because some of the +techniques used are rather old, the C source of s_server is rather hard to +read and not a model of how things should be done. +A typical SSL server program would be much simpler.

    +

    The output of common ciphers is wrong: it just gives the list of ciphers that +OpenSSL recognizes and the client supports.

    +

    There should be a way for the s_server program to print out details of any +unknown cipher suites a client says it supports.

    +

    +

    +
    +

    SEE ALSO

    +

    SSL_CONF_cmd(3), sess_id(1), s_client(1), ciphers(1) +SSL_CTX_set_max_send_fragment(3), +SSL_CTX_set_split_send_fragment(3), +SSL_CTX_set_max_pipelines(3)

    +

    +

    +
    +

    HISTORY

    +

    The -no_alt_chains option was added in OpenSSL 1.1.0.

    +

    The +-allow-no-dhe-kex and -prioritize_chacha options were added in OpenSSL 1.1.1.

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man1/s_time.html b/linux_amd64/share/doc/openssl/html/man1/s_time.html new file mode 100644 index 0000000..53581e2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/s_time.html @@ -0,0 +1,262 @@ + + + + +s_time + + + + + + + + +
    +

    + + + +
    +
    + + +

    +

    +
    +

    NAME

    +

    openssl-s_time, +s_time - SSL/TLS performance timing program

    +

    +

    +
    +

    SYNOPSIS

    +

    openssl s_time +[-help] +[-connect host:port] +[-www page] +[-cert filename] +[-key filename] +[-CApath directory] +[-cafile filename] +[-no-CAfile] +[-no-CApath] +[-reuse] +[-new] +[-verify depth] +[-nameopt option] +[-time seconds] +[-ssl3] +[-bugs] +[-cipher cipherlist] +[-ciphersuites val]

    +

    +

    +
    +

    DESCRIPTION

    +

    The s_time command implements a generic SSL/TLS client which connects to a +remote host using SSL/TLS. It can request a page from the server and includes +the time to transfer the payload data in its timing measurements. It measures +the number of connections within a given timeframe, the amount of data +transferred (if any), and calculates the average time spent for one connection.

    +

    +

    +
    +

    OPTIONS

    +
    +
    -help
    + +
    +

    Print out a usage message.

    +
    +
    -connect host:port
    + +
    +

    This specifies the host and optional port to connect to.

    +
    +
    -www page
    + +
    +

    This specifies the page to GET from the server. A value of '/' gets the +index.htm[l] page. If this parameter is not specified, then s_time will only +perform the handshake to establish SSL connections but not transfer any +payload data.

    +
    +
    -cert certname
    + +
    +

    The certificate to use, if one is requested by the server. The default is +not to use a certificate. The file is in PEM format.

    +
    +
    -key keyfile
    + +
    +

    The private key to use. If not specified then the certificate file will +be used. The file is in PEM format.

    +
    +
    -verify depth
    + +
    +

    The verify depth to use. This specifies the maximum length of the +server certificate chain and turns on server certificate verification. +Currently the verify operation continues after errors so all the problems +with a certificate chain can be seen. As a side effect the connection +will never fail due to a server certificate verify failure.

    +
    +
    -nameopt option
    + +
    +

    Option which determines how the subject or issuer names are displayed. The +option argument can be a single option or multiple options separated by +commas. Alternatively the -nameopt switch may be used more than once to +set multiple options. See the x509(1) manual page for details.

    +
    +
    -CApath directory
    + +
    +

    The directory to use for server certificate verification. This directory +must be in "hash format", see verify for more information. These are +also used when building the client certificate chain.

    +
    +
    -CAfile file
    + +
    +

    A file containing trusted certificates to use during server authentication +and to use when attempting to build the client certificate chain.

    +
    +
    -no-CAfile
    + +
    +

    Do not load the trusted CA certificates from the default file location

    +
    +
    -no-CApath
    + +
    +

    Do not load the trusted CA certificates from the default directory location

    +
    +
    -new
    + +
    +

    Performs the timing test using a new session ID for each connection. +If neither -new nor -reuse are specified, they are both on by default +and executed in sequence.

    +
    +
    -reuse
    + +
    +

    Performs the timing test using the same session ID; this can be used as a test +that session caching is working. If neither -new nor -reuse are +specified, they are both on by default and executed in sequence.

    +
    +
    -ssl3
    + +
    +

    This option disables the use of SSL version 3. By default +the initial handshake uses a method which should be compatible with all +servers and permit them to use SSL v3 or TLS as appropriate.

    +

    The timing program is not as rich in options to turn protocols on and off as +the s_client(1) program and may not connect to all servers. +Unfortunately there are a lot of ancient and broken servers in use which +cannot handle this technique and will fail to connect. Some servers only +work if TLS is turned off with the -ssl3 option.

    +

    Note that this option may not be available, depending on how +OpenSSL was built.

    +
    +
    -bugs
    + +
    +

    There are several known bugs in SSL and TLS implementations. Adding this +option enables various workarounds.

    +
    +
    -cipher cipherlist
    + +
    +

    This allows the TLSv1.2 and below cipher list sent by the client to be modified. +This list will be combined with any TLSv1.3 ciphersuites that have been +configured. Although the server determines which cipher suite is used it should +take the first supported cipher in the list sent by the client. See +ciphers(1) for more information.

    +
    +
    -ciphersuites val
    + +
    +

    This allows the TLSv1.3 ciphersuites sent by the client to be modified. This +list will be combined with any TLSv1.2 and below ciphersuites that have been +configured. Although the server determines which cipher suite is used it should +take the first supported cipher in the list sent by the client. See +ciphers(1) for more information. The format for this list is a simple +colon (":") separated list of TLSv1.3 ciphersuite names.

    +
    +
    -time length
    + +
    +

    Specifies how long (in seconds) s_time should establish connections and +optionally transfer payload data from a server. Server and client performance +and the link speed determine how many connections s_time can establish.

    +
    +
    +

    +

    +
    +

    NOTES

    +

    s_time can be used to measure the performance of an SSL connection. +To connect to an SSL HTTP server and get the default page the command

    +
    + openssl s_time -connect servername:443 -www / -CApath yourdir -CAfile yourfile.pem -cipher commoncipher [-ssl3]
    +

    would typically be used (https uses port 443). 'commoncipher' is a cipher to +which both client and server can agree, see the ciphers(1) command +for details.

    +

    If the handshake fails then there are several possible causes, if it is +nothing obvious like no client certificate then the -bugs and +-ssl3 options can be tried +in case it is a buggy server. In particular you should play with these +options before submitting a bug report to an OpenSSL mailing list.

    +

    A frequent problem when attempting to get client certificates working +is that a web client complains it has no certificates or gives an empty +list to choose from. This is normally because the server is not sending +the clients certificate authority in its "acceptable CA list" when it +requests a certificate. By using s_client(1) the CA list can be +viewed and checked. However some servers only request client authentication +after a specific URL is requested. To obtain the list in this case it +is necessary to use the -prexit option of s_client(1) and +send an HTTP request for an appropriate page.

    +

    If a certificate is specified on the command line using the -cert +option it will not be used unless the server specifically requests +a client certificate. Therefor merely including a client certificate +on the command line is no guarantee that the certificate works.

    +

    +

    +
    +

    BUGS

    +

    Because this program does not have all the options of the +s_client(1) program to turn protocols on and off, you may not be +able to measure the performance of all protocols with all servers.

    +

    The -verify option should really exit if the server verification +fails.

    +

    +

    +
    +

    SEE ALSO

    +

    s_client(1), s_server(1), ciphers(1)

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2004-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man1/sess_id.html b/linux_amd64/share/doc/openssl/html/man1/sess_id.html new file mode 100644 index 0000000..8148f9a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/sess_id.html @@ -0,0 +1,220 @@ + + + + +sess_id + + + + + + + + +
    +

    + + + +
    +
    + + +

    +

    +
    +

    NAME

    +

    openssl-sess_id, +sess_id - SSL/TLS session handling utility

    +

    +

    +
    +

    SYNOPSIS

    +

    openssl sess_id +[-help] +[-inform PEM|DER] +[-outform PEM|DER|NSS] +[-in filename] +[-out filename] +[-text] +[-noout] +[-context ID]

    +

    +

    +
    +

    DESCRIPTION

    +

    The sess_id process the encoded version of the SSL session structure +and optionally prints out SSL session details (for example the SSL session +master key) in human readable format. Since this is a diagnostic tool that +needs some knowledge of the SSL protocol to use properly, most users will +not need to use it.

    +

    +

    +
    +

    OPTIONS

    +
    +
    -help
    + +
    +

    Print out a usage message.

    +
    +
    -inform DER|PEM
    + +
    +

    This specifies the input format. The DER option uses an ASN1 DER encoded +format containing session details. The precise format can vary from one version +to the next. The PEM form is the default format: it consists of the DER +format base64 encoded with additional header and footer lines.

    +
    +
    -outform DER|PEM|NSS
    + +
    +

    This specifies the output format. The PEM and DER options have the same meaning +and default as the -inform option. The NSS option outputs the session id and +the master key in NSS keylog format.

    +
    +
    -in filename
    + +
    +

    This specifies the input filename to read session information from or standard +input by default.

    +
    +
    -out filename
    + +
    +

    This specifies the output filename to write session information to or standard +output if this option is not specified.

    +
    +
    -text
    + +
    +

    Prints out the various public or private key components in +plain text in addition to the encoded version.

    +
    +
    -cert
    + +
    +

    If a certificate is present in the session it will be output using this option, +if the -text option is also present then it will be printed out in text form.

    +
    +
    -noout
    + +
    +

    This option prevents output of the encoded version of the session.

    +
    +
    -context ID
    + +
    +

    This option can set the session id so the output session information uses the +supplied ID. The ID can be any string of characters. This option won't normally +be used.

    +
    +
    +

    +

    +
    +

    OUTPUT

    +

    Typical output:

    +
    + SSL-Session:
    +     Protocol  : TLSv1
    +     Cipher    : 0016
    +     Session-ID: 871E62626C554CE95488823752CBD5F3673A3EF3DCE9C67BD916C809914B40ED
    +     Session-ID-ctx: 01000000
    +     Master-Key: A7CEFC571974BE02CAC305269DC59F76EA9F0B180CB6642697A68251F2D2BB57E51DBBB4C7885573192AE9AEE220FACD
    +     Key-Arg   : None
    +     Start Time: 948459261
    +     Timeout   : 300 (sec)
    +     Verify return code 0 (ok)
    +

    These are described below in more detail.

    +
    +
    Protocol
    + +
    +

    This is the protocol in use TLSv1.3, TLSv1.2, TLSv1.1, TLSv1 or SSLv3.

    +
    +
    Cipher
    + +
    +

    The cipher used this is the actual raw SSL or TLS cipher code, see the SSL +or TLS specifications for more information.

    +
    +
    Session-ID
    + +
    +

    The SSL session ID in hex format.

    +
    +
    Session-ID-ctx
    + +
    +

    The session ID context in hex format.

    +
    +
    Master-Key
    + +
    +

    This is the SSL session master key.

    +
    +
    Start Time
    + +
    +

    This is the session start time represented as an integer in standard +Unix format.

    +
    +
    Timeout
    + +
    +

    The timeout in seconds.

    +
    +
    Verify return code
    + +
    +

    This is the return code when an SSL client certificate is verified.

    +
    +
    +

    +

    +
    +

    NOTES

    +

    The PEM encoded session format uses the header and footer lines:

    +
    + -----BEGIN SSL SESSION PARAMETERS-----
    + -----END SSL SESSION PARAMETERS-----
    +

    Since the SSL session output contains the master key it is +possible to read the contents of an encrypted session using this +information. Therefore appropriate security precautions should be taken if +the information is being output by a "real" application. This is however +strongly discouraged and should only be used for debugging purposes.

    +

    +

    +
    +

    BUGS

    +

    The cipher and start time should be printed out in human readable form.

    +

    +

    +
    +

    SEE ALSO

    +

    ciphers(1), s_server(1)

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man1/smime.html b/linux_amd64/share/doc/openssl/html/man1/smime.html new file mode 100644 index 0000000..5d1e399 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/smime.html @@ -0,0 +1,570 @@ + + + + +smime + + + + + + + + + + + +

    +

    +
    +

    NAME

    +

    openssl-smime, +smime - S/MIME utility

    +

    +

    +
    +

    SYNOPSIS

    +

    openssl smime +[-help] +[-encrypt] +[-decrypt] +[-sign] +[-resign] +[-verify] +[-pk7out] +[-binary] +[-crlfeol] +[-cipher] +[-in file] +[-CAfile file] +[-CApath dir] +[-no-CAfile] +[-no-CApath] +[-attime timestamp] +[-check_ss_sig] +[-crl_check] +[-crl_check_all] +[-explicit_policy] +[-extended_crl] +[-ignore_critical] +[-inhibit_any] +[-inhibit_map] +[-partial_chain] +[-policy arg] +[-policy_check] +[-policy_print] +[-purpose purpose] +[-suiteB_128] +[-suiteB_128_only] +[-suiteB_192] +[-trusted_first] +[-no_alt_chains] +[-use_deltas] +[-auth_level num] +[-verify_depth num] +[-verify_email email] +[-verify_hostname hostname] +[-verify_ip ip] +[-verify_name name] +[-x509_strict] +[-certfile file] +[-signer file] +[-recip file] +[-inform SMIME|PEM|DER] +[-passin arg] +[-inkey file_or_id] +[-out file] +[-outform SMIME|PEM|DER] +[-content file] +[-to addr] +[-from ad] +[-subject s] +[-text] +[-indef] +[-noindef] +[-stream] +[-rand file...] +[-writerand file] +[-md digest] +[cert.pem]...

    +

    +

    +
    +

    DESCRIPTION

    +

    The smime command handles S/MIME mail. It can encrypt, decrypt, sign and +verify S/MIME messages.

    +

    +

    +
    +

    OPTIONS

    +

    There are six operation options that set the type of operation to be performed. +The meaning of the other options varies according to the operation type.

    +
    +
    -help
    + +
    +

    Print out a usage message.

    +
    +
    -encrypt
    + +
    +

    Encrypt mail for the given recipient certificates. Input file is the message +to be encrypted. The output file is the encrypted mail in MIME format.

    +

    Note that no revocation check is done for the recipient cert, so if that +key has been compromised, others may be able to decrypt the text.

    +
    +
    -decrypt
    + +
    +

    Decrypt mail using the supplied certificate and private key. Expects an +encrypted mail message in MIME format for the input file. The decrypted mail +is written to the output file.

    +
    +
    -sign
    + +
    +

    Sign mail using the supplied certificate and private key. Input file is +the message to be signed. The signed message in MIME format is written +to the output file.

    +
    +
    -verify
    + +
    +

    Verify signed mail. Expects a signed mail message on input and outputs +the signed data. Both clear text and opaque signing is supported.

    +
    +
    -pk7out
    + +
    +

    Takes an input message and writes out a PEM encoded PKCS#7 structure.

    +
    +
    -resign
    + +
    +

    Resign a message: take an existing message and one or more new signers.

    +
    +
    -in filename
    + +
    +

    The input message to be encrypted or signed or the MIME message to +be decrypted or verified.

    +
    +
    -inform SMIME|PEM|DER
    + +
    +

    This specifies the input format for the PKCS#7 structure. The default +is SMIME which reads an S/MIME format message. PEM and DER +format change this to expect PEM and DER format PKCS#7 structures +instead. This currently only affects the input format of the PKCS#7 +structure, if no PKCS#7 structure is being input (for example with +-encrypt or -sign) this option has no effect.

    +
    +
    -out filename
    + +
    +

    The message text that has been decrypted or verified or the output MIME +format message that has been signed or verified.

    +
    +
    -outform SMIME|PEM|DER
    + +
    +

    This specifies the output format for the PKCS#7 structure. The default +is SMIME which write an S/MIME format message. PEM and DER +format change this to write PEM and DER format PKCS#7 structures +instead. This currently only affects the output format of the PKCS#7 +structure, if no PKCS#7 structure is being output (for example with +-verify or -decrypt) this option has no effect.

    +
    +
    -stream -indef -noindef
    + +
    +

    The -stream and -indef options are equivalent and enable streaming I/O +for encoding operations. This permits single pass processing of data without +the need to hold the entire contents in memory, potentially supporting very +large files. Streaming is automatically set for S/MIME signing with detached +data if the output format is SMIME it is currently off by default for all +other operations.

    +
    +
    -noindef
    + +
    +

    Disable streaming I/O where it would produce and indefinite length constructed +encoding. This option currently has no effect. In future streaming will be +enabled by default on all relevant operations and this option will disable it.

    +
    +
    -content filename
    + +
    +

    This specifies a file containing the detached content, this is only +useful with the -verify command. This is only usable if the PKCS#7 +structure is using the detached signature form where the content is +not included. This option will override any content if the input format +is S/MIME and it uses the multipart/signed MIME content type.

    +
    +
    -text
    + +
    +

    This option adds plain text (text/plain) MIME headers to the supplied +message if encrypting or signing. If decrypting or verifying it strips +off text headers: if the decrypted or verified message is not of MIME +type text/plain then an error occurs.

    +
    +
    -CAfile file
    + +
    +

    A file containing trusted CA certificates, only used with -verify.

    +
    +
    -CApath dir
    + +
    +

    A directory containing trusted CA certificates, only used with +-verify. This directory must be a standard certificate directory: that +is a hash of each subject name (using x509 -hash) should be linked +to each certificate.

    +
    +
    -no-CAfile
    + +
    +

    Do not load the trusted CA certificates from the default file location.

    +
    +
    -no-CApath
    + +
    +

    Do not load the trusted CA certificates from the default directory location.

    +
    +
    -md digest
    + +
    +

    Digest algorithm to use when signing or resigning. If not present then the +default digest algorithm for the signing key will be used (usually SHA1).

    +
    +
    -cipher
    + +
    +

    The encryption algorithm to use. For example DES (56 bits) - -des, +triple DES (168 bits) - -des3, +EVP_get_cipherbyname() function) can also be used preceded by a dash, for +example -aes-128-cbc. See enc for list of ciphers +supported by your version of OpenSSL.

    +

    If not specified triple DES is used. Only used with -encrypt.

    +
    +
    -nointern
    + +
    +

    When verifying a message normally certificates (if any) included in +the message are searched for the signing certificate. With this option +only the certificates specified in the -certfile option are used. +The supplied certificates can still be used as untrusted CAs however.

    +
    +
    -noverify
    + +
    +

    Do not verify the signers certificate of a signed message.

    +
    +
    -nochain
    + +
    +

    Do not do chain verification of signers certificates: that is don't +use the certificates in the signed message as untrusted CAs.

    +
    +
    -nosigs
    + +
    +

    Don't try to verify the signatures on the message.

    +
    +
    -nocerts
    + +
    +

    When signing a message the signer's certificate is normally included +with this option it is excluded. This will reduce the size of the +signed message but the verifier must have a copy of the signers certificate +available locally (passed using the -certfile option for example).

    +
    +
    -noattr
    + +
    +

    Normally when a message is signed a set of attributes are included which +include the signing time and supported symmetric algorithms. With this +option they are not included.

    +
    +
    -binary
    + +
    +

    Normally the input message is converted to "canonical" format which is +effectively using CR and LF as end of line: as required by the S/MIME +specification. When this option is present no translation occurs. This +is useful when handling binary data which may not be in MIME format.

    +
    +
    -crlfeol
    + +
    +

    Normally the output file uses a single LF as end of line. When this +option is present CRLF is used instead.

    +
    +
    -nodetach
    + +
    +

    When signing a message use opaque signing: this form is more resistant +to translation by mail relays but it cannot be read by mail agents that +do not support S/MIME. Without this option cleartext signing with +the MIME type multipart/signed is used.

    +
    +
    -certfile file
    + +
    +

    Allows additional certificates to be specified. When signing these will +be included with the message. When verifying these will be searched for +the signers certificates. The certificates should be in PEM format.

    +
    +
    -signer file
    + +
    +

    A signing certificate when signing or resigning a message, this option can be +used multiple times if more than one signer is required. If a message is being +verified then the signers certificates will be written to this file if the +verification was successful.

    +
    +
    -recip file
    + +
    +

    The recipients certificate when decrypting a message. This certificate +must match one of the recipients of the message or an error occurs.

    +
    +
    -inkey file_or_id
    + +
    +

    The private key to use when signing or decrypting. This must match the +corresponding certificate. If this option is not specified then the +private key must be included in the certificate file specified with +the -recip or -signer file. When signing this option can be used +multiple times to specify successive keys. +If no engine is used, the argument is taken as a file; if an engine is +specified, the argument is given to the engine as a key identifier.

    +
    +
    -passin arg
    + +
    +

    The private key password source. For more information about the format of arg +see the PASS PHRASE ARGUMENTS section in openssl(1).

    +
    +
    -rand file...
    + +
    +

    A file or files containing random data used to seed the random number +generator. +Multiple files can be specified separated by an OS-dependent character. +The separator is ; for MS-Windows, , for OpenVMS, and : for +all others.

    +
    +
    [-writerand file]
    + +
    +

    Writes random data to the specified file upon exit. +This can be used with a subsequent -rand flag.

    +
    +
    cert.pem...
    + +
    +

    One or more certificates of message recipients: used when encrypting +a message.

    +
    +
    -to, -from, -subject
    + +
    +

    The relevant mail headers. These are included outside the signed +portion of a message so they may be included manually. If signing +then many S/MIME mail clients check the signers certificate's email +address matches that specified in the From: address.

    +
    +
    -attime, -check_ss_sig, -crl_check, -crl_check_all, +-explicit_policy, -extended_crl, -ignore_critical, -inhibit_any, +-inhibit_map, -no_alt_chains, -partial_chain, -policy, +-policy_check, -policy_print, -purpose, -suiteB_128, +-suiteB_128_only, -suiteB_192, -trusted_first, -use_deltas, +-auth_level, -verify_depth, -verify_email, -verify_hostname, +-verify_ip, -verify_name, -x509_strict
    + +
    +

    Set various options of certificate chain verification. See +verify(1) manual page for details.

    +
    +
    +

    +

    +
    +

    NOTES

    +

    The MIME message must be sent without any blank lines between the +headers and the output. Some mail programs will automatically add +a blank line. Piping the mail directly to sendmail is one way to +achieve the correct format.

    +

    The supplied message to be signed or encrypted must include the +necessary MIME headers or many S/MIME clients won't display it +properly (if at all). You can use the -text option to automatically +add plain text headers.

    +

    A "signed and encrypted" message is one where a signed message is +then encrypted. This can be produced by encrypting an already signed +message: see the examples section.

    +

    This version of the program only allows one signer per message but it +will verify multiple signers on received messages. Some S/MIME clients +choke if a message contains multiple signers. It is possible to sign +messages "in parallel" by signing an already signed message.

    +

    The options -encrypt and -decrypt reflect common usage in S/MIME +clients. Strictly speaking these process PKCS#7 enveloped data: PKCS#7 +encrypted data is used for other purposes.

    +

    The -resign option uses an existing message digest when adding a new +signer. This means that attributes must be present in at least one existing +signer using the same message digest or this operation will fail.

    +

    The -stream and -indef options enable streaming I/O support. +As a result the encoding is BER using indefinite length constructed encoding +and no longer DER. Streaming is supported for the -encrypt operation and the +-sign operation if the content is not detached.

    +

    Streaming is always used for the -sign operation with detached data but +since the content is no longer part of the PKCS#7 structure the encoding +remains DER.

    +

    +

    +
    +

    EXIT CODES

    +
      +
    1. +

      The operation was completely successfully.

      +
    2. +
    3. +

      An error occurred parsing the command options.

      +
    4. +
    5. +

      One of the input files could not be read.

      +
    6. +
    7. +

      An error occurred creating the PKCS#7 file or when reading the MIME +message.

      +
    8. +
    9. +

      An error occurred decrypting or verifying the message.

      +
    10. +
    11. +

      The message was verified correctly but an error occurred writing out +the signers certificates.

      +
    12. +
    +

    +

    +
    +

    EXAMPLES

    +

    Create a cleartext signed message:

    +
    + openssl smime -sign -in message.txt -text -out mail.msg \
    +        -signer mycert.pem
    +

    Create an opaque signed message:

    +
    + openssl smime -sign -in message.txt -text -out mail.msg -nodetach \
    +        -signer mycert.pem
    +

    Create a signed message, include some additional certificates and +read the private key from another file:

    +
    + openssl smime -sign -in in.txt -text -out mail.msg \
    +        -signer mycert.pem -inkey mykey.pem -certfile mycerts.pem
    +

    Create a signed message with two signers:

    +
    + openssl smime -sign -in message.txt -text -out mail.msg \
    +        -signer mycert.pem -signer othercert.pem
    +

    Send a signed message under Unix directly to sendmail, including headers:

    +
    + openssl smime -sign -in in.txt -text -signer mycert.pem \
    +        -from steve@openssl.org -to someone@somewhere \
    +        -subject "Signed message" | sendmail someone@somewhere
    +

    Verify a message and extract the signer's certificate if successful:

    +
    + openssl smime -verify -in mail.msg -signer user.pem -out signedtext.txt
    +

    Send encrypted mail using triple DES:

    +
    + openssl smime -encrypt -in in.txt -from steve@openssl.org \
    +        -to someone@somewhere -subject "Encrypted message" \
    +        -des3 user.pem -out mail.msg
    +

    Sign and encrypt mail:

    +
    + openssl smime -sign -in ml.txt -signer my.pem -text \
    +        | openssl smime -encrypt -out mail.msg \
    +        -from steve@openssl.org -to someone@somewhere \
    +        -subject "Signed and Encrypted message" -des3 user.pem
    +

    Note: the encryption command does not include the -text option because the +message being encrypted already has MIME headers.

    +

    Decrypt mail:

    +
    + openssl smime -decrypt -in mail.msg -recip mycert.pem -inkey key.pem
    +

    The output from Netscape form signing is a PKCS#7 structure with the +detached signature format. You can use this program to verify the +signature by line wrapping the base64 encoded structure and surrounding +it with:

    +
    + -----BEGIN PKCS7-----
    + -----END PKCS7-----
    +

    and using the command:

    +
    + openssl smime -verify -inform PEM -in signature.pem -content content.txt
    +

    Alternatively you can base64 decode the signature and use:

    +
    + openssl smime -verify -inform DER -in signature.der -content content.txt
    +

    Create an encrypted message using 128 bit Camellia:

    +
    + openssl smime -encrypt -in plain.txt -camellia128 -out mail.msg cert.pem
    +

    Add a signer to an existing message:

    +
    + openssl smime -resign -in mail.msg -signer newsign.pem -out mail2.msg
    +

    +

    +
    +

    BUGS

    +

    The MIME parser isn't very clever: it seems to handle most messages that I've +thrown at it but it may choke on others.

    +

    The code currently will only write out the signer's certificate to a file: if +the signer has a separate encryption certificate this must be manually +extracted. There should be some heuristic that determines the correct +encryption certificate.

    +

    Ideally a database should be maintained of a certificates for each email +address.

    +

    The code doesn't currently take note of the permitted symmetric encryption +algorithms as supplied in the SMIMECapabilities signed attribute. This means the +user has to manually include the correct encryption algorithm. It should store +the list of permitted ciphers in a database and only use those.

    +

    No revocation checking is done on the signer's certificate.

    +

    The current code can only handle S/MIME v2 messages, the more complex S/MIME v3 +structures may cause parsing errors.

    +

    +

    +
    +

    HISTORY

    +

    The use of multiple -signer options and the -resign command were first +added in OpenSSL 1.0.0

    +

    The -no_alt_chains option was added in OpenSSL 1.1.0.

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man1/speed.html b/linux_amd64/share/doc/openssl/html/man1/speed.html new file mode 100644 index 0000000..d1b2549 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/speed.html @@ -0,0 +1,148 @@ + + + + +speed + + + + + + + + +
    +

    + + + +
    +
    + + +

    +

    +
    +

    NAME

    +

    openssl-speed, +speed - test library performance

    +

    +

    +
    +

    SYNOPSIS

    +

    openssl speed +[-help] +[-engine id] +[-elapsed] +[-evp algo] +[-decrypt] +[-rand file...] +[-writerand file] +[-primes num] +[-seconds num] +[-bytes num] +[algorithm...]

    +

    +

    +
    +

    DESCRIPTION

    +

    This command is used to test the performance of cryptographic algorithms. +To see the list of supported algorithms, use the list --digest-commands +or list --cipher-commands command. The global CSPRNG is denoted by +the rand algorithm name.

    +

    +

    +
    +

    OPTIONS

    +
    +
    -help
    + +
    +

    Print out a usage message.

    +
    +
    -engine id
    + +
    +

    Specifying an engine (by its unique id string) will cause speed +to attempt to obtain a functional reference to the specified engine, +thus initialising it if needed. The engine will then be set as the default +for all available algorithms.

    +
    +
    -elapsed
    + +
    +

    When calculating operations- or bytes-per-second, use wall-clock time +instead of CPU user time as divisor. It can be useful when testing speed +of hardware engines.

    +
    +
    -evp algo
    + +
    +

    Use the specified cipher or message digest algorithm via the EVP interface. +If algo is an AEAD cipher, then you can pass <-aead> to benchmark a +TLS-like sequence. And if algo is a multi-buffer capable cipher, e.g. +aes-128-cbc-hmac-sha1, then -mb will time multi-buffer operation.

    +
    +
    -decrypt
    + +
    +

    Time the decryption instead of encryption. Affects only the EVP testing.

    +
    +
    -rand file...
    + +
    +

    A file or files containing random data used to seed the random number +generator. +Multiple files can be specified separated by an OS-dependent character. +The separator is ; for MS-Windows, , for OpenVMS, and : for +all others.

    +
    +
    [-writerand file]
    + +
    +

    Writes random data to the specified file upon exit. +This can be used with a subsequent -rand flag.

    +
    +
    -primes num
    + +
    +

    Generate a num-prime RSA key and use it to run the benchmarks. This option +is only effective if RSA algorithm is specified to test.

    +
    +
    -seconds num
    + +
    +

    Run benchmarks for num seconds.

    +
    +
    -bytes num
    + +
    +

    Run benchmarks on num-byte buffers. Affects ciphers, digests and the CSPRNG.

    +
    +
    [zero or more test algorithms]
    + +
    +

    If any options are given, speed tests those algorithms, otherwise a +pre-compiled grand selection is tested.

    +
    +
    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man1/spkac.html b/linux_amd64/share/doc/openssl/html/man1/spkac.html new file mode 100644 index 0000000..30bdfb0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/spkac.html @@ -0,0 +1,202 @@ + + + + +spkac + + + + + + + + +
    +

    + + + +
    +
    + + +

    +

    +
    +

    NAME

    +

    openssl-spkac, +spkac - SPKAC printing and generating utility

    +

    +

    +
    +

    SYNOPSIS

    +

    openssl spkac +[-help] +[-in filename] +[-out filename] +[-key keyfile] +[-keyform PEM|DER|ENGINE] +[-passin arg] +[-challenge string] +[-pubkey] +[-spkac spkacname] +[-spksect section] +[-noout] +[-verify] +[-engine id]

    +

    +

    +
    +

    DESCRIPTION

    +

    The spkac command processes Netscape signed public key and challenge +(SPKAC) files. It can print out their contents, verify the signature and +produce its own SPKACs from a supplied private key.

    +

    +

    +
    +

    OPTIONS

    +
    +
    -help
    + +
    +

    Print out a usage message.

    +
    +
    -in filename
    + +
    +

    This specifies the input filename to read from or standard input if this +option is not specified. Ignored if the -key option is used.

    +
    +
    -out filename
    + +
    +

    Specifies the output filename to write to or standard output by +default.

    +
    +
    -key keyfile
    + +
    +

    Create an SPKAC file using the private key in keyfile. The +-in, -noout, -spksect and -verify options are ignored if +present.

    +
    +
    -keyform PEM|DER|ENGINE
    + +
    +

    Whether the key format is PEM, DER, or an engine-backed key. +The default is PEM.

    +
    +
    -passin password
    + +
    +

    The input file password source. For more information about the format of arg +see the PASS PHRASE ARGUMENTS section in openssl(1).

    +
    +
    -challenge string
    + +
    +

    Specifies the challenge string if an SPKAC is being created.

    +
    +
    -spkac spkacname
    + +
    +

    Allows an alternative name form the variable containing the +SPKAC. The default is "SPKAC". This option affects both +generated and input SPKAC files.

    +
    +
    -spksect section
    + +
    +

    Allows an alternative name form the section containing the +SPKAC. The default is the default section.

    +
    +
    -noout
    + +
    +

    Don't output the text version of the SPKAC (not used if an +SPKAC is being created).

    +
    +
    -pubkey
    + +
    +

    Output the public key of an SPKAC (not used if an SPKAC is +being created).

    +
    +
    -verify
    + +
    +

    Verifies the digital signature on the supplied SPKAC.

    +
    +
    -engine id
    + +
    +

    Specifying an engine (by its unique id string) will cause spkac +to attempt to obtain a functional reference to the specified engine, +thus initialising it if needed. The engine will then be set as the default +for all available algorithms.

    +
    +
    +

    +

    +
    +

    EXAMPLES

    +

    Print out the contents of an SPKAC:

    +
    + openssl spkac -in spkac.cnf
    +

    Verify the signature of an SPKAC:

    +
    + openssl spkac -in spkac.cnf -noout -verify
    +

    Create an SPKAC using the challenge string "hello":

    +
    + openssl spkac -key key.pem -challenge hello -out spkac.cnf
    +

    Example of an SPKAC, (long lines split up for clarity):

    +
    + SPKAC=MIG5MGUwXDANBgkqhkiG9w0BAQEFAANLADBIAkEA\
    + 1cCoq2Wa3Ixs47uI7FPVwHVIPDx5yso105Y6zpozam135a\
    + 8R0CpoRvkkigIyXfcCjiVi5oWk+6FfPaD03uPFoQIDAQAB\
    + FgVoZWxsbzANBgkqhkiG9w0BAQQFAANBAFpQtY/FojdwkJ\
    + h1bEIYuc2EeM2KHTWPEepWYeawvHD0gQ3DngSC75YCWnnD\
    + dq+NQ3F+X4deMx9AaEglZtULwV4=
    +

    +

    +
    +

    NOTES

    +

    A created SPKAC with suitable DN components appended can be fed into +the ca utility.

    +

    SPKACs are typically generated by Netscape when a form is submitted +containing the KEYGEN tag as part of the certificate enrollment +process.

    +

    The challenge string permits a primitive form of proof of possession +of private key. By checking the SPKAC signature and a random challenge +string some guarantee is given that the user knows the private key +corresponding to the public key being certified. This is important in +some applications. Without this it is possible for a previous SPKAC +to be used in a "replay attack".

    +

    +

    +
    +

    SEE ALSO

    +

    ca(1)

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man1/srp.html b/linux_amd64/share/doc/openssl/html/man1/srp.html new file mode 100644 index 0000000..5f1720c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/srp.html @@ -0,0 +1,104 @@ + + + + +srp + + + + + + + + +
    +

    + + + +
    +
    + + +

    +

    +
    +

    NAME

    +

    openssl-srp, +srp - maintain SRP password file

    +

    +

    +
    +

    SYNOPSIS

    +

    openssl srp +[-help] +[-verbose] +[-add] +[-modify] +[-delete] +[-list] +[-name section] +[-config file] +[-srpvfile file] +[-gn identifier] +[-userinfo text...] +[-passin arg] +[-passout arg] +[user...]

    +

    +

    +
    +

    DESCRIPTION

    +

    The srp command is user to maintain an SRP (secure remote password) +file. +At most one of the -add, -modify, -delete, and -list options +can be specified. +These options take zero or more usernames as parameters and perform the +appropriate operation on the SRP file. +For -list, if no user is given then all users are displayed.

    +

    The configuration file to use, and the section within the file, can be +specified with the -config and -name flags, respectively. +If the config file is not specified, the -srpvfile can be used to +just specify the file to operate on.

    +

    The -userinfo option specifies additional information to add when +adding or modifying a user.

    +

    The -gn flag specifies the g and N values, using one of +the strengths defined in IETF RFC 5054.

    +

    The -passin and -passout arguments are parsed as described in +the openssl(1) command.

    +

    +

    +
    +

    OPTIONS

    +
    +
    [-help]
    + +
    +

    Display an option summary.

    +
    +
    [-verbose]
    + +
    +

    Generate verbose output while processing.

    +
    +
    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2017 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man1/storeutl.html b/linux_amd64/share/doc/openssl/html/man1/storeutl.html new file mode 100644 index 0000000..5b4e11c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/storeutl.html @@ -0,0 +1,183 @@ + + + + +storeutl + + + + + + + + +
    +

    + + + +
    +
    + + +

    +

    +
    +

    NAME

    +

    openssl-storeutl, +storeutl - STORE utility

    +

    +

    +
    +

    SYNOPSIS

    +

    openssl storeutl +[-help] +[-out file] +[-noout] +[-passin arg] +[-text arg] +[-engine id] +[-r] +[-certs] +[-keys] +[-crls] +[-subject arg] +[-issuer arg] +[-serial arg] +[-alias arg] +[-fingerprint arg] +[-digest] +uri ...

    +

    +

    +
    +

    DESCRIPTION

    +

    The storeutl command can be used to display the contents (after decryption +as the case may be) fetched from the given URIs.

    +

    +

    +
    +

    OPTIONS

    +
    +
    -help
    + +
    +

    Print out a usage message.

    +
    +
    -out filename
    + +
    +

    specifies the output filename to write to or standard output by +default.

    +
    +
    -noout
    + +
    +

    this option prevents output of the PEM data.

    +
    +
    -passin arg
    + +
    +

    the key password source. For more information about the format of arg +see the PASS PHRASE ARGUMENTS section in openssl(1).

    +
    +
    -text
    + +
    +

    Prints out the objects in text form, similarly to the -text output from +openssl x509, openssl pkey, etc.

    +
    +
    -engine id
    + +
    +

    specifying an engine (by its unique id string) will cause storeutl +to attempt to obtain a functional reference to the specified engine, +thus initialising it if needed. +The engine will then be set as the default for all available algorithms.

    +
    +
    -r
    + +
    +

    Fetch objects recursively when possible.

    +
    +
    -certs
    + +
    -keys
    + +
    -crls
    + +
    +

    Only select the certificates, keys or CRLs from the given URI. +However, if this URI would return a set of names (URIs), those are always +returned.

    +
    +
    -subject arg
    + +
    +

    Search for an object having the subject name arg. +The arg must be formatted as /type0=value0/type1=value1/type2=.... +Keyword characters may be escaped by \ (backslash), and whitespace is retained. +Empty values are permitted but are ignored for the search. That is, +a search with an empty value will have the same effect as not specifying +the type at all.

    +
    +
    -issuer arg
    + +
    -serial arg
    + +
    +

    Search for an object having the given issuer name and serial number. +These two options must be used together. +The issuer arg must be formatted as /type0=value0/type1=value1/type2=..., +characters may be escaped by \ (backslash), no spaces are skipped. +The serial arg may be specified as a decimal value or a hex value if preceded +by 0x.

    +
    +
    -alias arg
    + +
    +

    Search for an object having the given alias.

    +
    +
    -fingerprint arg
    + +
    +

    Search for an object having the given fingerprint.

    +
    +
    -digest
    + +
    +

    The digest that was used to compute the fingerprint given with -fingerprint.

    +
    +
    +

    +

    +
    +

    SEE ALSO

    +

    openssl(1)

    +

    +

    +
    +

    HISTORY

    +

    The openssl storeutl app was added in OpenSSL 1.1.1.

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man1/ts.html b/linux_amd64/share/doc/openssl/html/man1/ts.html new file mode 100644 index 0000000..afb4ec2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/ts.html @@ -0,0 +1,744 @@ + + + + +ts + + + + + + + + + + + +

    +

    +
    +

    NAME

    +

    openssl-ts, +ts - Time Stamping Authority tool (client/server)

    +

    +

    +
    +

    SYNOPSIS

    +

    openssl ts +-query +[-rand file...] +[-writerand file] +[-config configfile] +[-data file_to_hash] +[-digest digest_bytes] +[-digest] +[-tspolicy object_id] +[-no_nonce] +[-cert] +[-in request.tsq] +[-out request.tsq] +[-text]

    +

    openssl ts +-reply +[-config configfile] +[-section tsa_section] +[-queryfile request.tsq] +[-passin password_src] +[-signer tsa_cert.pem] +[-inkey file_or_id] +[-digest] +[-chain certs_file.pem] +[-tspolicy object_id] +[-in response.tsr] +[-token_in] +[-out response.tsr] +[-token_out] +[-text] +[-engine id]

    +

    openssl ts +-verify +[-data file_to_hash] +[-digest digest_bytes] +[-queryfile request.tsq] +[-in response.tsr] +[-token_in] +[-CApath trusted_cert_path] +[-CAfile trusted_certs.pem] +[-untrusted cert_file.pem] +[verify options]

    +

    verify options: +[-attime timestamp] +[-check_ss_sig] +[-crl_check] +[-crl_check_all] +[-explicit_policy] +[-extended_crl] +[-ignore_critical] +[-inhibit_any] +[-inhibit_map] +[-issuer_checks] +[-no_alt_chains] +[-no_check_time] +[-partial_chain] +[-policy arg] +[-policy_check] +[-policy_print] +[-purpose purpose] +[-suiteB_128] +[-suiteB_128_only] +[-suiteB_192] +[-trusted_first] +[-use_deltas] +[-auth_level num] +[-verify_depth num] +[-verify_email email] +[-verify_hostname hostname] +[-verify_ip ip] +[-verify_name name] +[-x509_strict]

    +

    +

    +
    +

    DESCRIPTION

    +

    The ts command is a basic Time Stamping Authority (TSA) client and server +application as specified in RFC 3161 (Time-Stamp Protocol, TSP). A +TSA can be part of a PKI deployment and its role is to provide long +term proof of the existence of a certain datum before a particular +time. Here is a brief description of the protocol:

    +
      +
    1. +

      The TSA client computes a one-way hash value for a data file and sends +the hash to the TSA.

      +
    2. +
    3. +

      The TSA attaches the current date and time to the received hash value, +signs them and sends the time stamp token back to the client. By +creating this token the TSA certifies the existence of the original +data file at the time of response generation.

      +
    4. +
    5. +

      The TSA client receives the time stamp token and verifies the +signature on it. It also checks if the token contains the same hash +value that it had sent to the TSA.

      +
    6. +
    +

    There is one DER encoded protocol data unit defined for transporting a time +stamp request to the TSA and one for sending the time stamp response +back to the client. The ts command has three main functions: +creating a time stamp request based on a data file, +creating a time stamp response based on a request, verifying if a +response corresponds to a particular request or a data file.

    +

    There is no support for sending the requests/responses automatically +over HTTP or TCP yet as suggested in RFC 3161. The users must send the +requests either by ftp or e-mail.

    +

    +

    +
    +

    OPTIONS

    +

    +

    +

    Time Stamp Request generation

    +

    The -query switch can be used for creating and printing a time stamp +request with the following options:

    +
    +
    -rand file...
    + +
    +

    A file or files containing random data used to seed the random number +generator. +Multiple files can be specified separated by an OS-dependent character. +The separator is ; for MS-Windows, , for OpenVMS, and : for +all others.

    +
    +
    [-writerand file]
    + +
    +

    Writes random data to the specified file upon exit. +This can be used with a subsequent -rand flag.

    +
    +
    -config configfile
    + +
    +

    The configuration file to use. +Optional; for a description of the default value, +see openssl(1)/COMMAND SUMMARY.

    +
    +
    -data file_to_hash
    + +
    +

    The data file for which the time stamp request needs to be +created. stdin is the default if neither the -data nor the -digest +parameter is specified. (Optional)

    +
    +
    -digest digest_bytes
    + +
    +

    It is possible to specify the message imprint explicitly without the data +file. The imprint must be specified in a hexadecimal format, two characters +per byte, the bytes optionally separated by colons (e.g. 1A:F6:01:... or +1AF601...). The number of bytes must match the message digest algorithm +in use. (Optional)

    +
    +
    -digest
    + +
    +

    The message digest to apply to the data file. +Any digest supported by the OpenSSL dgst command can be used. +The default is SHA-1. (Optional)

    +
    +
    -tspolicy object_id
    + +
    +

    The policy that the client expects the TSA to use for creating the +time stamp token. Either the dotted OID notation or OID names defined +in the config file can be used. If no policy is requested the TSA will +use its own default policy. (Optional)

    +
    +
    -no_nonce
    + +
    +

    No nonce is specified in the request if this option is +given. Otherwise a 64 bit long pseudo-random none is +included in the request. It is recommended to use nonce to +protect against replay-attacks. (Optional)

    +
    +
    -cert
    + +
    +

    The TSA is expected to include its signing certificate in the +response. (Optional)

    +
    +
    -in request.tsq
    + +
    +

    This option specifies a previously created time stamp request in DER +format that will be printed into the output file. Useful when you need +to examine the content of a request in human-readable +format. (Optional)

    +
    +
    -out request.tsq
    + +
    +

    Name of the output file to which the request will be written. Default +is stdout. (Optional)

    +
    +
    -text
    + +
    +

    If this option is specified the output is human-readable text format +instead of DER. (Optional)

    +
    +
    +

    +

    +

    Time Stamp Response generation

    +

    A time stamp response (TimeStampResp) consists of a response status +and the time stamp token itself (ContentInfo), if the token generation was +successful. The -reply command is for creating a time stamp +response or time stamp token based on a request and printing the +response/token in human-readable format. If -token_out is not +specified the output is always a time stamp response (TimeStampResp), +otherwise it is a time stamp token (ContentInfo).

    +
    +
    -config configfile
    + +
    +

    The configuration file to use. +Optional; for a description of the default value, +see openssl(1)/COMMAND SUMMARY. +See CONFIGURATION FILE OPTIONS for configurable variables.

    +
    +
    -section tsa_section
    + +
    +

    The name of the config file section containing the settings for the +response generation. If not specified the default TSA section is +used, see CONFIGURATION FILE OPTIONS for details. (Optional)

    +
    +
    -queryfile request.tsq
    + +
    +

    The name of the file containing a DER encoded time stamp request. (Optional)

    +
    +
    -passin password_src
    + +
    +

    Specifies the password source for the private key of the TSA. See +PASS PHRASE ARGUMENTS in openssl(1). (Optional)

    +
    +
    -signer tsa_cert.pem
    + +
    +

    The signer certificate of the TSA in PEM format. The TSA signing +certificate must have exactly one extended key usage assigned to it: +timeStamping. The extended key usage must also be critical, otherwise +the certificate is going to be refused. Overrides the signer_cert +variable of the config file. (Optional)

    +
    +
    -inkey file_or_id
    + +
    +

    The signer private key of the TSA in PEM format. Overrides the +signer_key config file option. (Optional) +If no engine is used, the argument is taken as a file; if an engine is +specified, the argument is given to the engine as a key identifier.

    +
    +
    -digest
    + +
    +

    Signing digest to use. Overrides the signer_digest config file +option. (Mandatory unless specified in the config file)

    +
    +
    -chain certs_file.pem
    + +
    +

    The collection of certificates in PEM format that will all +be included in the response in addition to the signer certificate if +the -cert option was used for the request. This file is supposed to +contain the certificate chain for the signer certificate from its +issuer upwards. The -reply command does not build a certificate +chain automatically. (Optional)

    +
    +
    -tspolicy object_id
    + +
    +

    The default policy to use for the response unless the client +explicitly requires a particular TSA policy. The OID can be specified +either in dotted notation or with its name. Overrides the +default_policy config file option. (Optional)

    +
    +
    -in response.tsr
    + +
    +

    Specifies a previously created time stamp response or time stamp token +(if -token_in is also specified) in DER format that will be written +to the output file. This option does not require a request, it is +useful e.g. when you need to examine the content of a response or +token or you want to extract the time stamp token from a response. If +the input is a token and the output is a time stamp response a default +'granted' status info is added to the token. (Optional)

    +
    +
    -token_in
    + +
    +

    This flag can be used together with the -in option and indicates +that the input is a DER encoded time stamp token (ContentInfo) instead +of a time stamp response (TimeStampResp). (Optional)

    +
    +
    -out response.tsr
    + +
    +

    The response is written to this file. The format and content of the +file depends on other options (see -text, -token_out). The default is +stdout. (Optional)

    +
    +
    -token_out
    + +
    +

    The output is a time stamp token (ContentInfo) instead of time stamp +response (TimeStampResp). (Optional)

    +
    +
    -text
    + +
    +

    If this option is specified the output is human-readable text format +instead of DER. (Optional)

    +
    +
    -engine id
    + +
    +

    Specifying an engine (by its unique id string) will cause ts +to attempt to obtain a functional reference to the specified engine, +thus initialising it if needed. The engine will then be set as the default +for all available algorithms. Default is builtin. (Optional)

    +
    +
    +

    +

    +

    Time Stamp Response verification

    +

    The -verify command is for verifying if a time stamp response or time +stamp token is valid and matches a particular time stamp request or +data file. The -verify command does not use the configuration file.

    +
    +
    -data file_to_hash
    + +
    +

    The response or token must be verified against file_to_hash. The file +is hashed with the message digest algorithm specified in the token. +The -digest and -queryfile options must not be specified with this one. +(Optional)

    +
    +
    -digest digest_bytes
    + +
    +

    The response or token must be verified against the message digest specified +with this option. The number of bytes must match the message digest algorithm +specified in the token. The -data and -queryfile options must not be +specified with this one. (Optional)

    +
    +
    -queryfile request.tsq
    + +
    +

    The original time stamp request in DER format. The -data and -digest +options must not be specified with this one. (Optional)

    +
    +
    -in response.tsr
    + +
    +

    The time stamp response that needs to be verified in DER format. (Mandatory)

    +
    +
    -token_in
    + +
    +

    This flag can be used together with the -in option and indicates +that the input is a DER encoded time stamp token (ContentInfo) instead +of a time stamp response (TimeStampResp). (Optional)

    +
    +
    -CApath trusted_cert_path
    + +
    +

    The name of the directory containing the trusted CA certificates of the +client. See the similar option of verify(1) for additional +details. Either this option or -CAfile must be specified. (Optional)

    +
    +
    -CAfile trusted_certs.pem
    + +
    +

    The name of the file containing a set of trusted self-signed CA +certificates in PEM format. See the similar option of +verify(1) for additional details. Either this option +or -CApath must be specified. +(Optional)

    +
    +
    -untrusted cert_file.pem
    + +
    +

    Set of additional untrusted certificates in PEM format which may be +needed when building the certificate chain for the TSA's signing +certificate. This file must contain the TSA signing certificate and +all intermediate CA certificates unless the response includes them. +(Optional)

    +
    +
    verify options
    + +
    +

    The options -attime timestamp, -check_ss_sig, -crl_check, +-crl_check_all, -explicit_policy, -extended_crl, -ignore_critical, +-inhibit_any, -inhibit_map, -issuer_checks, -no_alt_chains, +-no_check_time, -partial_chain, -policy, -policy_check, +-policy_print, -purpose, -suiteB_128, -suiteB_128_only, +-suiteB_192, -trusted_first, -use_deltas, -auth_level, +-verify_depth, -verify_email, -verify_hostname, -verify_ip, +-verify_name, and -x509_strict can be used to control timestamp +verification. See verify(1).

    +
    +
    +

    +

    +
    +

    CONFIGURATION FILE OPTIONS

    +

    The -query and -reply commands make use of a configuration file. +See config(5) +for a general description of the syntax of the config file. The +-query command uses only the symbolic OID names section +and it can work without it. However, the -reply command needs the +config file for its operation.

    +

    When there is a command line switch equivalent of a variable the +switch always overrides the settings in the config file.

    +
    +
    tsa section, default_tsa
    + +
    +

    This is the main section and it specifies the name of another section +that contains all the options for the -reply command. This default +section can be overridden with the -section command line switch. (Optional)

    +
    +
    oid_file
    + +
    +

    See ca(1) for description. (Optional)

    +
    +
    oid_section
    + +
    +

    See ca(1) for description. (Optional)

    +
    +
    RANDFILE
    + +
    +

    See ca(1) for description. (Optional)

    +
    +
    serial
    + +
    +

    The name of the file containing the hexadecimal serial number of the +last time stamp response created. This number is incremented by 1 for +each response. If the file does not exist at the time of response +generation a new file is created with serial number 1. (Mandatory)

    +
    +
    crypto_device
    + +
    +

    Specifies the OpenSSL engine that will be set as the default for +all available algorithms. The default value is builtin, you can specify +any other engines supported by OpenSSL (e.g. use chil for the NCipher HSM). +(Optional)

    +
    +
    signer_cert
    + +
    +

    TSA signing certificate in PEM format. The same as the -signer +command line option. (Optional)

    +
    +
    certs
    + +
    +

    A file containing a set of PEM encoded certificates that need to be +included in the response. The same as the -chain command line +option. (Optional)

    +
    +
    signer_key
    + +
    +

    The private key of the TSA in PEM format. The same as the -inkey +command line option. (Optional)

    +
    +
    signer_digest
    + +
    +

    Signing digest to use. The same as the +-digest command line option. (Mandatory unless specified on the command +line)

    +
    +
    default_policy
    + +
    +

    The default policy to use when the request does not mandate any +policy. The same as the -tspolicy command line option. (Optional)

    +
    +
    other_policies
    + +
    +

    Comma separated list of policies that are also acceptable by the TSA +and used only if the request explicitly specifies one of them. (Optional)

    +
    +
    digests
    + +
    +

    The list of message digest algorithms that the TSA accepts. At least +one algorithm must be specified. (Mandatory)

    +
    +
    accuracy
    + +
    +

    The accuracy of the time source of the TSA in seconds, milliseconds +and microseconds. E.g. secs:1, millisecs:500, microsecs:100. If any of +the components is missing zero is assumed for that field. (Optional)

    +
    +
    clock_precision_digits
    + +
    +

    Specifies the maximum number of digits, which represent the fraction of +seconds, that need to be included in the time field. The trailing zeroes +must be removed from the time, so there might actually be fewer digits, +or no fraction of seconds at all. Supported only on UNIX platforms. +The maximum value is 6, default is 0. +(Optional)

    +
    +
    ordering
    + +
    +

    If this option is yes the responses generated by this TSA can always +be ordered, even if the time difference between two responses is less +than the sum of their accuracies. Default is no. (Optional)

    +
    +
    tsa_name
    + +
    +

    Set this option to yes if the subject name of the TSA must be included in +the TSA name field of the response. Default is no. (Optional)

    +
    +
    ess_cert_id_chain
    + +
    +

    The SignedData objects created by the TSA always contain the +certificate identifier of the signing certificate in a signed +attribute (see RFC 2634, Enhanced Security Services). If this option +is set to yes and either the certs variable or the -chain option +is specified then the certificate identifiers of the chain will also +be included in the SigningCertificate signed attribute. If this +variable is set to no, only the signing certificate identifier is +included. Default is no. (Optional)

    +
    +
    ess_cert_id_alg
    + +
    +

    This option specifies the hash function to be used to calculate the TSA's +public key certificate identifier. Default is sha1. (Optional)

    +
    +
    +

    +

    +
    +

    EXAMPLES

    +

    All the examples below presume that OPENSSL_CONF is set to a proper +configuration file, e.g. the example configuration file +openssl/apps/openssl.cnf will do.

    +

    +

    +

    Time Stamp Request

    +

    To create a time stamp request for design1.txt with SHA-1 +without nonce and policy and no certificate is required in the response:

    +
    +  openssl ts -query -data design1.txt -no_nonce \
    +        -out design1.tsq
    +

    To create a similar time stamp request with specifying the message imprint +explicitly:

    +
    +  openssl ts -query -digest b7e5d3f93198b38379852f2c04e78d73abdd0f4b \
    +         -no_nonce -out design1.tsq
    +

    To print the content of the previous request in human readable format:

    +
    +  openssl ts -query -in design1.tsq -text
    +

    To create a time stamp request which includes the MD-5 digest +of design2.txt, requests the signer certificate and nonce, +specifies a policy id (assuming the tsa_policy1 name is defined in the +OID section of the config file):

    +
    +  openssl ts -query -data design2.txt -md5 \
    +        -tspolicy tsa_policy1 -cert -out design2.tsq
    +

    +

    +

    Time Stamp Response

    +

    Before generating a response a signing certificate must be created for +the TSA that contains the timeStamping critical extended key usage extension +without any other key usage extensions. You can add this line to the +user certificate section of the config file to generate a proper certificate;

    +
    +   extendedKeyUsage = critical,timeStamping
    +

    See req(1), ca(1), and x509(1) for instructions. The examples +below assume that cacert.pem contains the certificate of the CA, +tsacert.pem is the signing certificate issued by cacert.pem and +tsakey.pem is the private key of the TSA.

    +

    To create a time stamp response for a request:

    +
    +  openssl ts -reply -queryfile design1.tsq -inkey tsakey.pem \
    +        -signer tsacert.pem -out design1.tsr
    +

    If you want to use the settings in the config file you could just write:

    +
    +  openssl ts -reply -queryfile design1.tsq -out design1.tsr
    +

    To print a time stamp reply to stdout in human readable format:

    +
    +  openssl ts -reply -in design1.tsr -text
    +

    To create a time stamp token instead of time stamp response:

    +
    +  openssl ts -reply -queryfile design1.tsq -out design1_token.der -token_out
    +

    To print a time stamp token to stdout in human readable format:

    +
    +  openssl ts -reply -in design1_token.der -token_in -text -token_out
    +

    To extract the time stamp token from a response:

    +
    +  openssl ts -reply -in design1.tsr -out design1_token.der -token_out
    +

    To add 'granted' status info to a time stamp token thereby creating a +valid response:

    +
    +  openssl ts -reply -in design1_token.der -token_in -out design1.tsr
    +

    +

    +

    Time Stamp Verification

    +

    To verify a time stamp reply against a request:

    +
    +  openssl ts -verify -queryfile design1.tsq -in design1.tsr \
    +        -CAfile cacert.pem -untrusted tsacert.pem
    +

    To verify a time stamp reply that includes the certificate chain:

    +
    +  openssl ts -verify -queryfile design2.tsq -in design2.tsr \
    +        -CAfile cacert.pem
    +

    To verify a time stamp token against the original data file: + openssl ts -verify -data design2.txt -in design2.tsr \ + -CAfile cacert.pem

    +

    To verify a time stamp token against a message imprint: + openssl ts -verify -digest b7e5d3f93198b38379852f2c04e78d73abdd0f4b \ + -in design2.tsr -CAfile cacert.pem

    +

    You could also look at the 'test' directory for more examples.

    +

    +

    +
    +

    BUGS

    +
      +
    • +

      No support for time stamps over SMTP, though it is quite easy +to implement an automatic e-mail based TSA with procmail(1) +and perl(1). HTTP server support is provided in the form of +a separate apache module. HTTP client support is provided by +tsget(1). Pure TCP/IP protocol is not supported.

      +
    • +
    • +

      The file containing the last serial number of the TSA is not +locked when being read or written. This is a problem if more than one +instance of openssl(1) is trying to create a time stamp +response at the same time. This is not an issue when using the apache +server module, it does proper locking.

      +
    • +
    • +

      Look for the FIXME word in the source files.

      +
    • +
    • +

      The source code should really be reviewed by somebody else, too.

      +
    • +
    • +

      More testing is needed, I have done only some basic tests (see +test/testtsa).

      +
    • +
    +

    +

    +
    +

    SEE ALSO

    +

    tsget(1), openssl(1), req(1), +x509(1), ca(1), genrsa(1), +config(5)

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2006-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man1/tsget.html b/linux_amd64/share/doc/openssl/html/man1/tsget.html index 714c864..7bf7ee0 100755 --- a/linux_amd64/share/doc/openssl/html/man1/tsget.html +++ b/linux_amd64/share/doc/openssl/html/man1/tsget.html @@ -34,36 +34,38 @@


    NAME

    -

    tsget - Time Stamping HTTP/HTTPS client

    +

    openssl-tsget, +tsget - Time Stamping HTTP/HTTPS client


    SYNOPSIS

    tsget --h server_url -[-e extension] -[-o output] +-h server_url +[-e extension] +[-o output] [-v] [-d] -[-k private_key.pem] -[-p key_password] -[-c client_cert.pem] -[-C CA_certs.pem] -[-P CA_path] -[-r files] -[-g EGD_socket] -[request ...]

    +[-k private_key.pem] +[-p key_password] +[-c client_cert.pem] +[-C CA_certs.pem] +[-P CA_path] +[-r file:file...] +[-g EGD_socket] +[request]...


    DESCRIPTION

    -

    This command can be used for sending a timestamp request, as specified -in RFC 3161, to a timestamp server over HTTP or HTTPS and storing the -timestamp response in a file. It cannot be used for creating the requests -and verifying responses, you have to use openssl-ts(1) to do that. This -command can send several requests to the server without closing the TCP -connection if more than one requests are specified on the command line.

    -

    This command sends the following HTTP request for each timestamp request:

    +

    The tsget command can be used for sending a time stamp request, as +specified in RFC 3161, to a time stamp server over HTTP or HTTPS and storing +the time stamp response in a file. This tool cannot be used for creating the +requests and verifying responses, you can use the OpenSSL ts(1) command to +do that. tsget can send several requests to the server without closing +the TCP connection if more than one requests are specified on the command +line.

    +

    The tool sends the following HTTP request for each time stamp request:

             POST url HTTP/1.1
             User-Agent: OpenTSA tsget.pl/<version>
    @@ -74,31 +76,31 @@ connection if more than one requests are specified on the command line.

    Content-Length: length of body
             ...binary request specified by the user...
    -

    It expects a response of type application/timestamp-reply, which is +

    tsget expects a response of type application/timestamp-reply, which is written to a file without any interpretation.


    OPTIONS

    -
    -h server_url
    +
    -h server_url
    -

    The URL of the HTTP/HTTPS server listening for timestamp requests.

    +

    The URL of the HTTP/HTTPS server listening for time stamp requests.

    -
    -e extension
    +
    -e extension

    If the -o option is not given this argument specifies the extension of the output files. The base name of the output file will be the same as those of -the input files. Default extension is .tsr. (Optional)

    +the input files. Default extension is '.tsr'. (Optional)

    -
    -o output
    +
    -o output

    This option can be specified only when just one request is sent to the -server. The timestamp response will be written to the given output file. '-' -means standard output. In case of multiple timestamp requests or the absence +server. The time stamp response will be written to the given output file. '-' +means standard output. In case of multiple time stamp requests or the absence of this argument the names of the output files will be derived from the names of the input files and the default or specified extension argument. (Optional)

    @@ -111,63 +113,65 @@ error. (Optional)

    -d
    -

    Switches on verbose mode for the underlying perl module the WWW::Curl::Easy manpage. -You can see detailed debug messages for the connection. (Optional)

    +

    Switches on verbose mode for the underlying curl library. You can see +detailed debug messages for the connection. (Optional)

    -
    -k private_key.pem
    +
    -k private_key.pem

    (HTTPS) In case of certificate-based client authentication over HTTPS -private_key.pem must contain the private key of the user. The private key +<private_key.pem> must contain the private key of the user. The private key file can optionally be protected by a passphrase. The -c option must also be specified. (Optional)

    -
    -p key_password
    +
    -p key_password

    (HTTPS) Specifies the passphrase for the private key specified by the -k -argument. If this option is omitted and the key is passphrase protected, -it will be prompted for. (Optional)

    +argument. If this option is omitted and the key is passphrase protected tsget +will ask for it. (Optional)

    -
    -c client_cert.pem
    +
    -c client_cert.pem

    (HTTPS) In case of certificate-based client authentication over HTTPS -client_cert.pem must contain the X.509 certificate of the user. The -k +<client_cert.pem> must contain the X.509 certificate of the user. The -k option must also be specified. If this option is not specified no certificate-based client authentication will take place. (Optional)

    -
    -C CA_certs.pem
    +
    -C CA_certs.pem

    (HTTPS) The trusted CA certificate store. The certificate chain of the peer's certificate must include one of the CA certificates specified in this file. Either option -C or option -P must be given in case of HTTPS. (Optional)

    -
    -P CA_path
    +
    -P CA_path

    (HTTPS) The path containing the trusted CA certificates to verify the peer's -certificate. The directory must be prepared with openssl-rehash(1). Either -option -C or option -P must be given in case of HTTPS. (Optional)

    +certificate. The directory must be prepared with the c_rehash +OpenSSL utility. Either option -C or option -P must be given in case of +HTTPS. (Optional)

    -
    -r files
    +
    -rand file:file...
    -

    See openssl(1)/Random State Options for more information.

    +

    The files containing random data for seeding the random number +generator. Multiple files can be specified, the separator is ; for +MS-Windows, , for VMS and : for all other platforms. (Optional)

    -
    -g EGD_socket
    +
    -g EGD_socket

    The name of an EGD socket to get random data from. (Optional)

    -
    request ...
    +
    [request]...
    -

    List of files containing RFC 3161 DER-encoded timestamp requests. If no -requests are specified only one request will be sent to the server and it will -be read from the standard input. -(Optional)

    +

    List of files containing RFC 3161 DER-encoded time stamp requests. If no +requests are specified only one request will be sent to the server and it will be +read from the standard input. (Optional)

    @@ -181,32 +185,32 @@ arguments.


    EXAMPLES

    -

    The examples below presume that file1.tsq and file2.tsq contain valid -timestamp requests, tsa.opentsa.org listens at port 8080 for HTTP requests +

    The examples below presume that file1.tsq and file2.tsq contain valid +time stamp requests, tsa.opentsa.org listens at port 8080 for HTTP requests and at port 8443 for HTTPS requests, the TSA service is available at the /tsa absolute path.

    -

    Get a timestamp response for file1.tsq over HTTP, output is written to -file1.tsr:

    +

    Get a time stamp response for file1.tsq over HTTP, output is written to +file1.tsr:

       tsget -h http://tsa.opentsa.org:8080/tsa file1.tsq
    -

    Get a timestamp response for file1.tsq and file2.tsq over HTTP showing -progress, output is written to file1.reply and file2.reply respectively:

    +

    Get a time stamp response for file1.tsq and file2.tsq over HTTP showing +progress, output is written to file1.reply and file2.reply respectively:

       tsget -h http://tsa.opentsa.org:8080/tsa -v -e .reply \
             file1.tsq file2.tsq
    -

    Create a timestamp request, write it to file3.tsq, send it to the server and -write the response to file3.tsr:

    +

    Create a time stamp request, write it to file3.tsq, send it to the server and +write the response to file3.tsr:

       openssl ts -query -data file3.txt -cert | tee file3.tsq \
             | tsget -h http://tsa.opentsa.org:8080/tsa \
             -o file3.tsr
    -

    Get a timestamp response for file1.tsq over HTTPS without client +

    Get a time stamp response for file1.tsq over HTTPS without client authentication:

       tsget -h https://tsa.opentsa.org:8443/tsa \
             -C cacerts.pem file1.tsq
    -

    Get a timestamp response for file1.tsq over HTTPS with certificate-based -client authentication (it will ask for the passphrase if client_key.pem is +

    Get a time stamp response for file1.tsq over HTTPS with certificate-based +client authentication (it will ask for the passphrase if client_key.pem is protected):

       tsget -h https://tsa.opentsa.org:8443/tsa -C cacerts.pem \
    @@ -223,16 +227,14 @@ example:


    SEE ALSO

    -

    openssl(1), -openssl-ts(1), -the WWW::Curl::Easy manpage, -https://www.rfc-editor.org/rfc/rfc3161.html

    +

    openssl(1), ts(1), curl(1), +RFC 3161


    COPYRIGHT

    -

    Copyright 2006-2019 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man1/verify.html b/linux_amd64/share/doc/openssl/html/man1/verify.html new file mode 100644 index 0000000..7fdba8f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/verify.html @@ -0,0 +1,925 @@ + + + + +verify + + + + + + + + + + + +

    +

    +
    +

    NAME

    +

    openssl-verify, +verify - Utility to verify certificates

    +

    +

    +
    +

    SYNOPSIS

    +

    openssl verify +[-help] +[-CAfile file] +[-CApath directory] +[-no-CAfile] +[-no-CApath] +[-allow_proxy_certs] +[-attime timestamp] +[-check_ss_sig] +[-CRLfile file] +[-crl_download] +[-crl_check] +[-crl_check_all] +[-engine id] +[-explicit_policy] +[-extended_crl] +[-ignore_critical] +[-inhibit_any] +[-inhibit_map] +[-nameopt option] +[-no_check_time] +[-partial_chain] +[-policy arg] +[-policy_check] +[-policy_print] +[-purpose purpose] +[-suiteB_128] +[-suiteB_128_only] +[-suiteB_192] +[-trusted_first] +[-no_alt_chains] +[-untrusted file] +[-trusted file] +[-use_deltas] +[-verbose] +[-auth_level level] +[-verify_depth num] +[-verify_email email] +[-verify_hostname hostname] +[-verify_ip ip] +[-verify_name name] +[-x509_strict] +[-show_chain] +[-] +[certificates]

    +

    +

    +
    +

    DESCRIPTION

    +

    The verify command verifies certificate chains.

    +

    +

    +
    +

    OPTIONS

    +
    +
    -help
    + +
    +

    Print out a usage message.

    +
    +
    -CAfile file
    + +
    +

    A file of trusted certificates. +The file should contain one or more certificates in PEM format.

    +
    +
    -CApath directory
    + +
    +

    A directory of trusted certificates. The certificates should have names +of the form: hash.0 or have symbolic links to them of this +form ("hash" is the hashed certificate subject name: see the -hash option +of the x509 utility). Under Unix the c_rehash script will automatically +create symbolic links to a directory of certificates.

    +
    +
    -no-CAfile
    + +
    +

    Do not load the trusted CA certificates from the default file location.

    +
    +
    -no-CApath
    + +
    +

    Do not load the trusted CA certificates from the default directory location.

    +
    +
    -allow_proxy_certs
    + +
    +

    Allow the verification of proxy certificates.

    +
    +
    -attime timestamp
    + +
    +

    Perform validation checks using time specified by timestamp and not +current system time. timestamp is the number of seconds since +01.01.1970 (UNIX time).

    +
    +
    -check_ss_sig
    + +
    +

    Verify the signature on the self-signed root CA. This is disabled by default +because it doesn't add any security.

    +
    +
    -CRLfile file
    + +
    +

    The file should contain one or more CRLs in PEM format. +This option can be specified more than once to include CRLs from multiple +files.

    +
    +
    -crl_download
    + +
    +

    Attempt to download CRL information for this certificate.

    +
    +
    -crl_check
    + +
    +

    Checks end entity certificate validity by attempting to look up a valid CRL. +If a valid CRL cannot be found an error occurs.

    +
    +
    -crl_check_all
    + +
    +

    Checks the validity of all certificates in the chain by attempting +to look up valid CRLs.

    +
    +
    -engine id
    + +
    +

    Specifying an engine id will cause verify(1) to attempt to load the +specified engine. +The engine will then be set as the default for all its supported algorithms. +If you want to load certificates or CRLs that require engine support via any of +the -trusted, -untrusted or -CRLfile options, the -engine option +must be specified before those options.

    +
    +
    -explicit_policy
    + +
    +

    Set policy variable require-explicit-policy (see RFC5280).

    +
    +
    -extended_crl
    + +
    +

    Enable extended CRL features such as indirect CRLs and alternate CRL +signing keys.

    +
    +
    -ignore_critical
    + +
    +

    Normally if an unhandled critical extension is present which is not +supported by OpenSSL the certificate is rejected (as required by RFC5280). +If this option is set critical extensions are ignored.

    +
    +
    -inhibit_any
    + +
    +

    Set policy variable inhibit-any-policy (see RFC5280).

    +
    +
    -inhibit_map
    + +
    +

    Set policy variable inhibit-policy-mapping (see RFC5280).

    +
    +
    -nameopt option
    + +
    +

    Option which determines how the subject or issuer names are displayed. The +option argument can be a single option or multiple options separated by +commas. Alternatively the -nameopt switch may be used more than once to +set multiple options. See the x509(1) manual page for details.

    +
    +
    -no_check_time
    + +
    +

    This option suppresses checking the validity period of certificates and CRLs +against the current time. If option -attime timestamp is used to specify +a verification time, the check is not suppressed.

    +
    +
    -partial_chain
    + +
    +

    Allow verification to succeed even if a complete chain cannot be built to a +self-signed trust-anchor, provided it is possible to construct a chain to a +trusted certificate that might not be self-signed.

    +
    +
    -policy arg
    + +
    +

    Enable policy processing and add arg to the user-initial-policy-set (see +RFC5280). The policy arg can be an object name an OID in numeric form. +This argument can appear more than once.

    +
    +
    -policy_check
    + +
    +

    Enables certificate policy processing.

    +
    +
    -policy_print
    + +
    +

    Print out diagnostics related to policy processing.

    +
    +
    -purpose purpose
    + +
    +

    The intended use for the certificate. If this option is not specified, +verify will not consider certificate purpose during chain verification. +Currently accepted uses are sslclient, sslserver, nssslserver, +smimesign, smimeencrypt. See the VERIFY OPERATION section for more +information.

    +
    +
    -suiteB_128_only, -suiteB_128, -suiteB_192
    + +
    +

    Enable the Suite B mode operation at 128 bit Level of Security, 128 bit or +192 bit, or only 192 bit Level of Security respectively. +See RFC6460 for details. In particular the supported signature algorithms are +reduced to support only ECDSA and SHA256 or SHA384 and only the elliptic curves +P-256 and P-384.

    +
    +
    -trusted_first
    + +
    +

    When constructing the certificate chain, use the trusted certificates specified +via -CAfile, -CApath or -trusted before any certificates specified via +-untrusted. +This can be useful in environments with Bridge or Cross-Certified CAs. +As of OpenSSL 1.1.0 this option is on by default and cannot be disabled.

    +
    +
    -no_alt_chains
    + +
    +

    By default, unless -trusted_first is specified, when building a certificate +chain, if the first certificate chain found is not trusted, then OpenSSL will +attempt to replace untrusted issuer certificates with certificates from the +trust store to see if an alternative chain can be found that is trusted. +As of OpenSSL 1.1.0, with -trusted_first always on, this option has no +effect.

    +
    +
    -untrusted file
    + +
    +

    A file of additional untrusted certificates (intermediate issuer CAs) used +to construct a certificate chain from the subject certificate to a trust-anchor. +The file should contain one or more certificates in PEM format. +This option can be specified more than once to include untrusted certificates +from multiple files.

    +
    +
    -trusted file
    + +
    +

    A file of trusted certificates, which must be self-signed, unless the +-partial_chain option is specified. +The file contains one or more certificates in PEM format. +With this option, no additional (e.g., default) certificate lists are +consulted. +That is, the only trust-anchors are those listed in file. +This option can be specified more than once to include trusted certificates +from multiple files. +This option implies the -no-CAfile and -no-CApath options. +This option cannot be used in combination with either of the -CAfile or +-CApath options.

    +
    +
    -use_deltas
    + +
    +

    Enable support for delta CRLs.

    +
    +
    -verbose
    + +
    +

    Print extra information about the operations being performed.

    +
    +
    -auth_level level
    + +
    +

    Set the certificate chain authentication security level to level. +The authentication security level determines the acceptable signature and +public key strength when verifying certificate chains. +For a certificate chain to validate, the public keys of all the certificates +must meet the specified security level. +The signature algorithm security level is enforced for all the certificates in +the chain except for the chain's trust anchor, which is either directly +trusted or validated by means other than its signature. +See SSL_CTX_set_security_level(3) for the definitions of the available +levels. +The default security level is -1, or "not set". +At security level 0 or lower all algorithms are acceptable. +Security level 1 requires at least 80-bit-equivalent security and is broadly +interoperable, though it will, for example, reject MD5 signatures or RSA keys +shorter than 1024 bits.

    +
    +
    -verify_depth num
    + +
    +

    Limit the certificate chain to num intermediate CA certificates. +A maximal depth chain can have up to num+2 certificates, since neither the +end-entity certificate nor the trust-anchor certificate count against the +-verify_depth limit.

    +
    +
    -verify_email email
    + +
    +

    Verify if the email matches the email address in Subject Alternative Name or +the email in the subject Distinguished Name.

    +
    +
    -verify_hostname hostname
    + +
    +

    Verify if the hostname matches DNS name in Subject Alternative Name or +Common Name in the subject certificate.

    +
    +
    -verify_ip ip
    + +
    +

    Verify if the ip matches the IP address in Subject Alternative Name of +the subject certificate.

    +
    +
    -verify_name name
    + +
    +

    Use default verification policies like trust model and required certificate +policies identified by name. +The trust model determines which auxiliary trust or reject OIDs are applicable +to verifying the given certificate chain. +See the -addtrust and -addreject options of the x509(1) command-line +utility. +Supported policy names include: default, pkcs7, smime_sign, +ssl_client, ssl_server. +These mimics the combinations of purpose and trust settings used in SSL, CMS +and S/MIME. +As of OpenSSL 1.1.0, the trust model is inferred from the purpose when not +specified, so the -verify_name options are functionally equivalent to the +corresponding -purpose settings.

    +
    +
    -x509_strict
    + +
    +

    For strict X.509 compliance, disable non-compliant workarounds for broken +certificates.

    +
    +
    -show_chain
    + +
    +

    Display information about the certificate chain that has been built (if +successful). Certificates in the chain that came from the untrusted list will be +flagged as "untrusted".

    +
    +
    -
    + +
    +

    Indicates the last option. All arguments following this are assumed to be +certificate files. This is useful if the first certificate filename begins +with a -.

    +
    +
    certificates
    + +
    +

    One or more certificates to verify. If no certificates are given, verify +will attempt to read a certificate from standard input. Certificates must be +in PEM format.

    +
    +
    +

    +

    +
    +

    VERIFY OPERATION

    +

    The verify program uses the same functions as the internal SSL and S/MIME +verification, therefore this description applies to these verify operations +too.

    +

    There is one crucial difference between the verify operations performed +by the verify program: wherever possible an attempt is made to continue +after an error whereas normally the verify operation would halt on the +first error. This allows all the problems with a certificate chain to be +determined.

    +

    The verify operation consists of a number of separate steps.

    +

    Firstly a certificate chain is built up starting from the supplied certificate +and ending in the root CA. +It is an error if the whole chain cannot be built up. +The chain is built up by looking up the issuers certificate of the current +certificate. +If a certificate is found which is its own issuer it is assumed to be the root +CA.

    +

    The process of 'looking up the issuers certificate' itself involves a number of +steps. +After all certificates whose subject name matches the issuer name of the current +certificate are subject to further tests. +The relevant authority key identifier components of the current certificate (if +present) must match the subject key identifier (if present) and issuer and +serial number of the candidate issuer, in addition the keyUsage extension of +the candidate issuer (if present) must permit certificate signing.

    +

    The lookup first looks in the list of untrusted certificates and if no match +is found the remaining lookups are from the trusted certificates. The root CA +is always looked up in the trusted certificate list: if the certificate to +verify is a root certificate then an exact match must be found in the trusted +list.

    +

    The second operation is to check every untrusted certificate's extensions for +consistency with the supplied purpose. If the -purpose option is not included +then no checks are done. The supplied or "leaf" certificate must have extensions +compatible with the supplied purpose and all other certificates must also be valid +CA certificates. The precise extensions required are described in more detail in +the CERTIFICATE EXTENSIONS section of the x509 utility.

    +

    The third operation is to check the trust settings on the root CA. The root CA +should be trusted for the supplied purpose. +For compatibility with previous versions of OpenSSL, a certificate with no +trust settings is considered to be valid for all purposes.

    +

    The final operation is to check the validity of the certificate chain. The validity +period is checked against the current system time and the notBefore and notAfter +dates in the certificate. The certificate signatures are also checked at this +point.

    +

    If all operations complete successfully then certificate is considered valid. If +any operation fails then the certificate is not valid.

    +

    +

    +
    +

    DIAGNOSTICS

    +

    When a verify operation fails the output messages can be somewhat cryptic. The +general form of the error message is:

    +
    + server.pem: /C=AU/ST=Queensland/O=CryptSoft Pty Ltd/CN=Test CA (1024 bit)
    + error 24 at 1 depth lookup:invalid CA certificate
    +

    The first line contains the name of the certificate being verified followed by +the subject name of the certificate. The second line contains the error number +and the depth. The depth is number of the certificate being verified when a +problem was detected starting with zero for the certificate being verified itself +then 1 for the CA that signed the certificate and so on. Finally a text version +of the error number is presented.

    +

    A partial list of the error codes and messages is shown below, this also +includes the name of the error code as defined in the header file x509_vfy.h +Some of the error codes are defined but never returned: these are described +as "unused".

    +
    +
    X509_V_OK
    + +
    +

    The operation was successful.

    +
    +
    X509_V_ERR_UNSPECIFIED
    + +
    +

    Unspecified error; should not happen.

    +
    +
    X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT
    + +
    +

    The issuer certificate of a looked up certificate could not be found. This +normally means the list of trusted certificates is not complete.

    +
    +
    X509_V_ERR_UNABLE_TO_GET_CRL
    + +
    +

    The CRL of a certificate could not be found.

    +
    +
    X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE
    + +
    +

    The certificate signature could not be decrypted. This means that the +actual signature value could not be determined rather than it not matching +the expected value, this is only meaningful for RSA keys.

    +
    +
    X509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE
    + +
    +

    The CRL signature could not be decrypted: this means that the actual +signature value could not be determined rather than it not matching the +expected value. Unused.

    +
    +
    X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY
    + +
    +

    The public key in the certificate SubjectPublicKeyInfo could not be read.

    +
    +
    X509_V_ERR_CERT_SIGNATURE_FAILURE
    + +
    +

    The signature of the certificate is invalid.

    +
    +
    X509_V_ERR_CRL_SIGNATURE_FAILURE
    + +
    +

    The signature of the certificate is invalid.

    +
    +
    X509_V_ERR_CERT_NOT_YET_VALID
    + +
    +

    The certificate is not yet valid: the notBefore date is after the +current time.

    +
    +
    X509_V_ERR_CERT_HAS_EXPIRED
    + +
    +

    The certificate has expired: that is the notAfter date is before the +current time.

    +
    +
    X509_V_ERR_CRL_NOT_YET_VALID
    + +
    +

    The CRL is not yet valid.

    +
    +
    X509_V_ERR_CRL_HAS_EXPIRED
    + +
    +

    The CRL has expired.

    +
    +
    X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD
    + +
    +

    The certificate notBefore field contains an invalid time.

    +
    +
    X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD
    + +
    +

    The certificate notAfter field contains an invalid time.

    +
    +
    X509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD
    + +
    +

    The CRL lastUpdate field contains an invalid time.

    +
    +
    X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD
    + +
    +

    The CRL nextUpdate field contains an invalid time.

    +
    +
    X509_V_ERR_OUT_OF_MEM
    + +
    +

    An error occurred trying to allocate memory. This should never happen.

    +
    +
    X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT
    + +
    +

    The passed certificate is self-signed and the same certificate cannot +be found in the list of trusted certificates.

    +
    +
    X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN
    + +
    +

    The certificate chain could be built up using the untrusted certificates +but the root could not be found locally.

    +
    +
    X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY
    + +
    +

    The issuer certificate could not be found: this occurs if the issuer +certificate of an untrusted certificate cannot be found.

    +
    +
    X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE
    + +
    +

    No signatures could be verified because the chain contains only one +certificate and it is not self signed.

    +
    +
    X509_V_ERR_CERT_CHAIN_TOO_LONG
    + +
    +

    The certificate chain length is greater than the supplied maximum +depth. Unused.

    +
    +
    X509_V_ERR_CERT_REVOKED
    + +
    +

    The certificate has been revoked.

    +
    +
    X509_V_ERR_INVALID_CA
    + +
    +

    A CA certificate is invalid. Either it is not a CA or its extensions +are not consistent with the supplied purpose.

    +
    +
    X509_V_ERR_PATH_LENGTH_EXCEEDED
    + +
    +

    The basicConstraints pathlength parameter has been exceeded.

    +
    +
    X509_V_ERR_INVALID_PURPOSE
    + +
    +

    The supplied certificate cannot be used for the specified purpose.

    +
    +
    X509_V_ERR_CERT_UNTRUSTED
    + +
    +

    The root CA is not marked as trusted for the specified purpose.

    +
    +
    X509_V_ERR_CERT_REJECTED
    + +
    +

    The root CA is marked to reject the specified purpose.

    +
    +
    X509_V_ERR_SUBJECT_ISSUER_MISMATCH
    + +
    +

    Not used as of OpenSSL 1.1.0 as a result of the deprecation of the +-issuer_checks option.

    +
    +
    X509_V_ERR_AKID_SKID_MISMATCH
    + +
    +

    Not used as of OpenSSL 1.1.0 as a result of the deprecation of the +-issuer_checks option.

    +
    +
    X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH
    + +
    +

    Not used as of OpenSSL 1.1.0 as a result of the deprecation of the +-issuer_checks option.

    +
    +
    X509_V_ERR_KEYUSAGE_NO_CERTSIGN
    + +
    +

    Not used as of OpenSSL 1.1.0 as a result of the deprecation of the +-issuer_checks option.

    +
    +
    X509_V_ERR_UNABLE_TO_GET_CRL_ISSUER
    + +
    +

    Unable to get CRL issuer certificate.

    +
    +
    X509_V_ERR_UNHANDLED_CRITICAL_EXTENSION
    + +
    +

    Unhandled critical extension.

    +
    +
    X509_V_ERR_KEYUSAGE_NO_CRL_SIGN
    + +
    +

    Key usage does not include CRL signing.

    +
    +
    X509_V_ERR_UNHANDLED_CRITICAL_CRL_EXTENSION
    + +
    +

    Unhandled critical CRL extension.

    +
    +
    X509_V_ERR_INVALID_NON_CA
    + +
    +

    Invalid non-CA certificate has CA markings.

    +
    +
    X509_V_ERR_PROXY_PATH_LENGTH_EXCEEDED
    + +
    +

    Proxy path length constraint exceeded.

    +
    +
    X509_V_ERR_PROXY_SUBJECT_INVALID
    + +
    +

    Proxy certificate subject is invalid. It MUST be the same as the issuer +with a single CN component added.

    +
    +
    X509_V_ERR_KEYUSAGE_NO_DIGITAL_SIGNATURE
    + +
    +

    Key usage does not include digital signature.

    +
    +
    X509_V_ERR_PROXY_CERTIFICATES_NOT_ALLOWED
    + +
    +

    Proxy certificates not allowed, please use -allow_proxy_certs.

    +
    +
    X509_V_ERR_INVALID_EXTENSION
    + +
    +

    Invalid or inconsistent certificate extension.

    +
    +
    X509_V_ERR_INVALID_POLICY_EXTENSION
    + +
    +

    Invalid or inconsistent certificate policy extension.

    +
    +
    X509_V_ERR_NO_EXPLICIT_POLICY
    + +
    +

    No explicit policy.

    +
    +
    X509_V_ERR_DIFFERENT_CRL_SCOPE
    + +
    +

    Different CRL scope.

    +
    +
    X509_V_ERR_UNSUPPORTED_EXTENSION_FEATURE
    + +
    +

    Unsupported extension feature.

    +
    +
    X509_V_ERR_UNNESTED_RESOURCE
    + +
    +

    RFC 3779 resource not subset of parent's resources.

    +
    +
    X509_V_ERR_PERMITTED_VIOLATION
    + +
    +

    Permitted subtree violation.

    +
    +
    X509_V_ERR_EXCLUDED_VIOLATION
    + +
    +

    Excluded subtree violation.

    +
    +
    X509_V_ERR_SUBTREE_MINMAX
    + +
    +

    Name constraints minimum and maximum not supported.

    +
    +
    X509_V_ERR_APPLICATION_VERIFICATION
    + +
    +

    Application verification failure. Unused.

    +
    +
    X509_V_ERR_UNSUPPORTED_CONSTRAINT_TYPE
    + +
    +

    Unsupported name constraint type.

    +
    +
    X509_V_ERR_UNSUPPORTED_CONSTRAINT_SYNTAX
    + +
    +

    Unsupported or invalid name constraint syntax.

    +
    +
    X509_V_ERR_UNSUPPORTED_NAME_SYNTAX
    + +
    +

    Unsupported or invalid name syntax.

    +
    +
    X509_V_ERR_CRL_PATH_VALIDATION_ERROR
    + +
    +

    CRL path validation error.

    +
    +
    X509_V_ERR_PATH_LOOP
    + +
    +

    Path loop.

    +
    +
    X509_V_ERR_SUITE_B_INVALID_VERSION
    + +
    +

    Suite B: certificate version invalid.

    +
    +
    X509_V_ERR_SUITE_B_INVALID_ALGORITHM
    + +
    +

    Suite B: invalid public key algorithm.

    +
    +
    X509_V_ERR_SUITE_B_INVALID_CURVE
    + +
    +

    Suite B: invalid ECC curve.

    +
    +
    X509_V_ERR_SUITE_B_INVALID_SIGNATURE_ALGORITHM
    + +
    +

    Suite B: invalid signature algorithm.

    +
    +
    X509_V_ERR_SUITE_B_LOS_NOT_ALLOWED
    + +
    +

    Suite B: curve not allowed for this LOS.

    +
    +
    X509_V_ERR_SUITE_B_CANNOT_SIGN_P_384_WITH_P_256
    + +
    +

    Suite B: cannot sign P-384 with P-256.

    +
    +
    X509_V_ERR_HOSTNAME_MISMATCH
    + +
    +

    Hostname mismatch.

    +
    +
    X509_V_ERR_EMAIL_MISMATCH
    + +
    +

    Email address mismatch.

    +
    +
    X509_V_ERR_IP_ADDRESS_MISMATCH
    + +
    +

    IP address mismatch.

    +
    +
    X509_V_ERR_DANE_NO_MATCH
    + +
    +

    DANE TLSA authentication is enabled, but no TLSA records matched the +certificate chain. +This error is only possible in s_client(1).

    +
    +
    X509_V_ERR_EE_KEY_TOO_SMALL
    + +
    +

    EE certificate key too weak.

    +
    +
    X509_ERR_CA_KEY_TOO_SMALL
    + +
    +

    CA certificate key too weak.

    +
    +
    X509_ERR_CA_MD_TOO_WEAK
    + +
    +

    CA signature digest algorithm too weak.

    +
    +
    X509_V_ERR_INVALID_CALL
    + +
    +

    nvalid certificate verification context.

    +
    +
    X509_V_ERR_STORE_LOOKUP
    + +
    +

    Issuer certificate lookup error.

    +
    +
    X509_V_ERR_NO_VALID_SCTS
    + +
    +

    Certificate Transparency required, but no valid SCTs found.

    +
    +
    X509_V_ERR_PROXY_SUBJECT_NAME_VIOLATION
    + +
    +

    Proxy subject name violation.

    +
    +
    X509_V_ERR_OCSP_VERIFY_NEEDED
    + +
    +

    Returned by the verify callback to indicate an OCSP verification is needed.

    +
    +
    X509_V_ERR_OCSP_VERIFY_FAILED
    + +
    +

    Returned by the verify callback to indicate OCSP verification failed.

    +
    +
    X509_V_ERR_OCSP_CERT_UNKNOWN
    + +
    +

    Returned by the verify callback to indicate that the certificate is not recognized +by the OCSP responder.

    +
    +
    +

    +

    +
    +

    BUGS

    +

    Although the issuer checks are a considerable improvement over the old +technique they still suffer from limitations in the underlying X509_LOOKUP +API. One consequence of this is that trusted certificates with matching +subject name must either appear in a file (as specified by the -CAfile +option) or a directory (as specified by -CApath). If they occur in +both then only the certificates in the file will be recognised.

    +

    Previous versions of OpenSSL assume certificates with matching subject +name are identical and mishandled them.

    +

    Previous versions of this documentation swapped the meaning of the +X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT and +X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY error codes.

    +

    +

    +
    +

    SEE ALSO

    +

    x509(1)

    +

    +

    +
    +

    HISTORY

    +

    The -show_chain option was added in OpenSSL 1.1.0.

    +

    The -issuer_checks option is deprecated as of OpenSSL 1.1.0 and +is silently ignored.

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man1/version.html b/linux_amd64/share/doc/openssl/html/man1/version.html new file mode 100644 index 0000000..f2d9f69 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/version.html @@ -0,0 +1,125 @@ + + + + +version + + + + + + + + +
    +

    + + + +
    +
    + + +

    +

    +
    +

    NAME

    +

    openssl-version, +version - print OpenSSL version information

    +

    +

    +
    +

    SYNOPSIS

    +

    openssl version +[-help] +[-a] +[-v] +[-b] +[-o] +[-f] +[-p] +[-d] +[-e]

    +

    +

    +
    +

    DESCRIPTION

    +

    This command is used to print out version information about OpenSSL.

    +

    +

    +
    +

    OPTIONS

    +
    +
    -help
    + +
    +

    Print out a usage message.

    +
    +
    -a
    + +
    +

    All information, this is the same as setting all the other flags.

    +
    +
    -v
    + +
    +

    The current OpenSSL version.

    +
    +
    -b
    + +
    +

    The date the current version of OpenSSL was built.

    +
    +
    -o
    + +
    +

    Option information: various options set when the library was built.

    +
    +
    -f
    + +
    +

    Compilation flags.

    +
    +
    -p
    + +
    +

    Platform setting.

    +
    +
    -d
    + +
    +

    OPENSSLDIR setting.

    +
    +
    -e
    + +
    +

    ENGINESDIR setting.

    +
    +
    +

    +

    +
    +

    NOTES

    +

    The output of openssl version -a would typically be used when sending +in a bug report.

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man1/x509.html b/linux_amd64/share/doc/openssl/html/man1/x509.html new file mode 100644 index 0000000..9469b92 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man1/x509.html @@ -0,0 +1,1051 @@ + + + + +x509 + + + + + + + + + + + +

    +

    +
    +

    NAME

    +

    openssl-x509, +x509 - Certificate display and signing utility

    +

    +

    +
    +

    SYNOPSIS

    +

    openssl x509 +[-help] +[-inform DER|PEM] +[-outform DER|PEM] +[-keyform DER|PEM|ENGINE] +[-CAform DER|PEM] +[-CAkeyform DER|PEM] +[-in filename] +[-out filename] +[-serial] +[-hash] +[-subject_hash] +[-issuer_hash] +[-ocspid] +[-subject] +[-issuer] +[-nameopt option] +[-email] +[-ocsp_uri] +[-startdate] +[-enddate] +[-purpose] +[-dates] +[-checkend num] +[-modulus] +[-pubkey] +[-fingerprint] +[-alias] +[-noout] +[-trustout] +[-clrtrust] +[-clrreject] +[-addtrust arg] +[-addreject arg] +[-setalias arg] +[-days arg] +[-set_serial n] +[-signkey filename] +[-passin arg] +[-x509toreq] +[-req] +[-CA filename] +[-CAkey filename] +[-CAcreateserial] +[-CAserial filename] +[-force_pubkey key] +[-text] +[-ext extensions] +[-certopt option] +[-C] +[-digest] +[-clrext] +[-extfile filename] +[-extensions section] +[-sigopt nm:v] +[-rand file...] +[-writerand file] +[-engine id] +[-preserve_dates]

    +

    +

    +
    +

    DESCRIPTION

    +

    The x509 command is a multi purpose certificate utility. It can be +used to display certificate information, convert certificates to +various forms, sign certificate requests like a "mini CA" or edit +certificate trust settings.

    +

    Since there are a large number of options they will split up into +various sections.

    +

    +

    +
    +

    OPTIONS

    +

    +

    +

    Input, Output, and General Purpose Options

    +
    +
    -help
    + +
    +

    Print out a usage message.

    +
    +
    -inform DER|PEM
    + +
    +

    This specifies the input format normally the command will expect an X509 +certificate but this can change if other options such as -req are +present. The DER format is the DER encoding of the certificate and PEM +is the base64 encoding of the DER encoding with header and footer lines +added. The default format is PEM.

    +
    +
    -outform DER|PEM
    + +
    +

    This specifies the output format, the options have the same meaning and default +as the -inform option.

    +
    +
    -in filename
    + +
    +

    This specifies the input filename to read a certificate from or standard input +if this option is not specified.

    +
    +
    -out filename
    + +
    +

    This specifies the output filename to write to or standard output by +default.

    +
    +
    -digest
    + +
    +

    The digest to use. +This affects any signing or display option that uses a message +digest, such as the -fingerprint, -signkey and -CA options. +Any digest supported by the OpenSSL dgst command can be used. +If not specified then SHA1 is used with -fingerprint or +the default digest for the signing algorithm is used, typically SHA256.

    +
    +
    -rand file...
    + +
    +

    A file or files containing random data used to seed the random number +generator. +Multiple files can be specified separated by an OS-dependent character. +The separator is ; for MS-Windows, , for OpenVMS, and : for +all others.

    +
    +
    [-writerand file]
    + +
    +

    Writes random data to the specified file upon exit. +This can be used with a subsequent -rand flag.

    +
    +
    -engine id
    + +
    +

    Specifying an engine (by its unique id string) will cause x509 +to attempt to obtain a functional reference to the specified engine, +thus initialising it if needed. The engine will then be set as the default +for all available algorithms.

    +
    +
    -preserve_dates
    + +
    +

    When signing a certificate, preserve the "notBefore" and "notAfter" dates instead +of adjusting them to current time and duration. Cannot be used with the -days option.

    +
    +
    +

    +

    +

    Display Options

    +

    Note: the -alias and -purpose options are also display options +but are described in the TRUST SETTINGS section.

    +
    +
    -text
    + +
    +

    Prints out the certificate in text form. Full details are output including the +public key, signature algorithms, issuer and subject names, serial number +any extensions present and any trust settings.

    +
    +
    -ext extensions
    + +
    +

    Prints out the certificate extensions in text form. Extensions are specified +with a comma separated string, e.g., "subjectAltName,subjectKeyIdentifier". +See the x509v3_config(5) manual page for the extension names.

    +
    +
    -certopt option
    + +
    +

    Customise the output format used with -text. The option argument +can be a single option or multiple options separated by commas. The +-certopt switch may be also be used more than once to set multiple +options. See the TEXT OPTIONS section for more information.

    +
    +
    -noout
    + +
    +

    This option prevents output of the encoded version of the certificate.

    +
    +
    -pubkey
    + +
    +

    Outputs the certificate's SubjectPublicKeyInfo block in PEM format.

    +
    +
    -modulus
    + +
    +

    This option prints out the value of the modulus of the public key +contained in the certificate.

    +
    +
    -serial
    + +
    +

    Outputs the certificate serial number.

    +
    +
    -subject_hash
    + +
    +

    Outputs the "hash" of the certificate subject name. This is used in OpenSSL to +form an index to allow certificates in a directory to be looked up by subject +name.

    +
    +
    -issuer_hash
    + +
    +

    Outputs the "hash" of the certificate issuer name.

    +
    +
    -ocspid
    + +
    +

    Outputs the OCSP hash values for the subject name and public key.

    +
    +
    -hash
    + +
    +

    Synonym for "-subject_hash" for backward compatibility reasons.

    +
    +
    -subject_hash_old
    + +
    +

    Outputs the "hash" of the certificate subject name using the older algorithm +as used by OpenSSL before version 1.0.0.

    +
    +
    -issuer_hash_old
    + +
    +

    Outputs the "hash" of the certificate issuer name using the older algorithm +as used by OpenSSL before version 1.0.0.

    +
    +
    -subject
    + +
    +

    Outputs the subject name.

    +
    +
    -issuer
    + +
    +

    Outputs the issuer name.

    +
    +
    -nameopt option
    + +
    +

    Option which determines how the subject or issuer names are displayed. The +option argument can be a single option or multiple options separated by +commas. Alternatively the -nameopt switch may be used more than once to +set multiple options. See the NAME OPTIONS section for more information.

    +
    +
    -email
    + +
    +

    Outputs the email address(es) if any.

    +
    +
    -ocsp_uri
    + +
    +

    Outputs the OCSP responder address(es) if any.

    +
    +
    -startdate
    + +
    +

    Prints out the start date of the certificate, that is the notBefore date.

    +
    +
    -enddate
    + +
    +

    Prints out the expiry date of the certificate, that is the notAfter date.

    +
    +
    -dates
    + +
    +

    Prints out the start and expiry dates of a certificate.

    +
    +
    -checkend arg
    + +
    +

    Checks if the certificate expires within the next arg seconds and exits +non-zero if yes it will expire or zero if not.

    +
    +
    -fingerprint
    + +
    +

    Calculates and outputs the digest of the DER encoded version of the entire +certificate (see digest options). +This is commonly called a "fingerprint". Because of the nature of message +digests, the fingerprint of a certificate is unique to that certificate and +two certificates with the same fingerprint can be considered to be the same.

    +
    +
    -C
    + +
    +

    This outputs the certificate in the form of a C source file.

    +
    +
    +

    +

    +

    Trust Settings

    +

    A trusted certificate is an ordinary certificate which has several +additional pieces of information attached to it such as the permitted +and prohibited uses of the certificate and an "alias".

    +

    Normally when a certificate is being verified at least one certificate +must be "trusted". By default a trusted certificate must be stored +locally and must be a root CA: any certificate chain ending in this CA +is then usable for any purpose.

    +

    Trust settings currently are only used with a root CA. They allow a finer +control over the purposes the root CA can be used for. For example a CA +may be trusted for SSL client but not SSL server use.

    +

    See the description of the verify utility for more information on the +meaning of trust settings.

    +

    Future versions of OpenSSL will recognize trust settings on any +certificate: not just root CAs.

    +
    +
    -trustout
    + +
    +

    This causes x509 to output a trusted certificate. An ordinary +or trusted certificate can be input but by default an ordinary +certificate is output and any trust settings are discarded. With the +-trustout option a trusted certificate is output. A trusted +certificate is automatically output if any trust settings are modified.

    +
    +
    -setalias arg
    + +
    +

    Sets the alias of the certificate. This will allow the certificate +to be referred to using a nickname for example "Steve's Certificate".

    +
    +
    -alias
    + +
    +

    Outputs the certificate alias, if any.

    +
    +
    -clrtrust
    + +
    +

    Clears all the permitted or trusted uses of the certificate.

    +
    +
    -clrreject
    + +
    +

    Clears all the prohibited or rejected uses of the certificate.

    +
    +
    -addtrust arg
    + +
    +

    Adds a trusted certificate use. +Any object name can be used here but currently only clientAuth (SSL client +use), serverAuth (SSL server use), emailProtection (S/MIME email) and +anyExtendedKeyUsage are used. +As of OpenSSL 1.1.0, the last of these blocks all purposes when rejected or +enables all purposes when trusted. +Other OpenSSL applications may define additional uses.

    +
    +
    -addreject arg
    + +
    +

    Adds a prohibited use. It accepts the same values as the -addtrust +option.

    +
    +
    -purpose
    + +
    +

    This option performs tests on the certificate extensions and outputs +the results. For a more complete description see the CERTIFICATE +EXTENSIONS section.

    +
    +
    +

    +

    +

    Signing Options

    +

    The x509 utility can be used to sign certificates and requests: it +can thus behave like a "mini CA".

    +
    +
    -signkey filename
    + +
    +

    This option causes the input file to be self signed using the supplied +private key.

    +

    If the input file is a certificate it sets the issuer name to the +subject name (i.e. makes it self signed) changes the public key to the +supplied value and changes the start and end dates. The start date is +set to the current time and the end date is set to a value determined +by the -days option. Any certificate extensions are retained unless +the -clrext option is supplied; this includes, for example, any existing +key identifier extensions.

    +

    If the input is a certificate request then a self signed certificate +is created using the supplied private key using the subject name in +the request.

    +
    +
    -sigopt nm:v
    + +
    +

    Pass options to the signature algorithm during sign or verify operations. +Names and values of these options are algorithm-specific.

    +
    +
    -passin arg
    + +
    +

    The key password source. For more information about the format of arg +see the PASS PHRASE ARGUMENTS section in openssl(1).

    +
    +
    -clrext
    + +
    +

    Delete any extensions from a certificate. This option is used when a +certificate is being created from another certificate (for example with +the -signkey or the -CA options). Normally all extensions are +retained.

    +
    +
    -keyform PEM|DER|ENGINE
    + +
    +

    Specifies the format (DER or PEM) of the private key file used in the +-signkey option.

    +
    +
    -days arg
    + +
    +

    Specifies the number of days to make a certificate valid for. The default +is 30 days. Cannot be used with the -preserve_dates option.

    +
    +
    -x509toreq
    + +
    +

    Converts a certificate into a certificate request. The -signkey option +is used to pass the required private key.

    +
    +
    -req
    + +
    +

    By default a certificate is expected on input. With this option a +certificate request is expected instead.

    +
    +
    -set_serial n
    + +
    +

    Specifies the serial number to use. This option can be used with either +the -signkey or -CA options. If used in conjunction with the -CA +option the serial number file (as specified by the -CAserial or +-CAcreateserial options) is not used.

    +

    The serial number can be decimal or hex (if preceded by 0x).

    +
    +
    -CA filename
    + +
    +

    Specifies the CA certificate to be used for signing. When this option is +present x509 behaves like a "mini CA". The input file is signed by this +CA using this option: that is its issuer name is set to the subject name +of the CA and it is digitally signed using the CAs private key.

    +

    This option is normally combined with the -req option. Without the +-req option the input is a certificate which must be self signed.

    +
    +
    -CAkey filename
    + +
    +

    Sets the CA private key to sign a certificate with. If this option is +not specified then it is assumed that the CA private key is present in +the CA certificate file.

    +
    +
    -CAserial filename
    + +
    +

    Sets the CA serial number file to use.

    +

    When the -CA option is used to sign a certificate it uses a serial +number specified in a file. This file consists of one line containing +an even number of hex digits with the serial number to use. After each +use the serial number is incremented and written out to the file again.

    +

    The default filename consists of the CA certificate file base name with +".srl" appended. For example if the CA certificate file is called +"mycacert.pem" it expects to find a serial number file called "mycacert.srl".

    +
    +
    -CAcreateserial
    + +
    +

    With this option the CA serial number file is created if it does not exist: +it will contain the serial number "02" and the certificate being signed will +have the 1 as its serial number. If the -CA option is specified +and the serial number file does not exist a random number is generated; +this is the recommended practice.

    +
    +
    -extfile filename
    + +
    +

    File containing certificate extensions to use. If not specified then +no extensions are added to the certificate.

    +
    +
    -extensions section
    + +
    +

    The section to add certificate extensions from. If this option is not +specified then the extensions should either be contained in the unnamed +(default) section or the default section should contain a variable called +"extensions" which contains the section to use. See the +x509v3_config(5) manual page for details of the +extension section format.

    +
    +
    -force_pubkey key
    + +
    +

    When a certificate is created set its public key to key instead of the +key in the certificate or certificate request. This option is useful for +creating certificates where the algorithm can't normally sign requests, for +example DH.

    +

    The format or key can be specified using the -keyform option.

    +
    +
    +

    +

    +

    Name Options

    +

    The nameopt command line switch determines how the subject and issuer +names are displayed. If no nameopt switch is present the default "oneline" +format is used which is compatible with previous versions of OpenSSL. +Each option is described in detail below, all options can be preceded by +a - to turn the option off. Only the first four will normally be used.

    +
    +
    compat
    + +
    +

    Use the old format.

    +
    +
    RFC2253
    + +
    +

    Displays names compatible with RFC2253 equivalent to esc_2253, esc_ctrl, +esc_msb, utf8, dump_nostr, dump_unknown, dump_der, +sep_comma_plus, dn_rev and sname.

    +
    +
    oneline
    + +
    +

    A oneline format which is more readable than RFC2253. It is equivalent to +specifying the esc_2253, esc_ctrl, esc_msb, utf8, dump_nostr, +dump_der, use_quote, sep_comma_plus_space, space_eq and sname +options. This is the default of no name options are given explicitly.

    +
    +
    multiline
    + +
    +

    A multiline format. It is equivalent esc_ctrl, esc_msb, sep_multiline, +space_eq, lname and align.

    +
    +
    esc_2253
    + +
    +

    Escape the "special" characters required by RFC2253 in a field. That is +,+"<>;. Additionally # is escaped at the beginning of a string +and a space character at the beginning or end of a string.

    +
    +
    esc_2254
    + +
    +

    Escape the "special" characters required by RFC2254 in a field. That is +the NUL character as well as and ()*.

    +
    +
    esc_ctrl
    + +
    +

    Escape control characters. That is those with ASCII values less than +0x20 (space) and the delete (0x7f) character. They are escaped using the +RFC2253 \XX notation (where XX are two hex digits representing the +character value).

    +
    +
    esc_msb
    + +
    +

    Escape characters with the MSB set, that is with ASCII values larger than +127.

    +
    +
    use_quote
    + +
    +

    Escapes some characters by surrounding the whole string with " characters, +without the option all escaping is done with the \ character.

    +
    +
    utf8
    + +
    +

    Convert all strings to UTF8 format first. This is required by RFC2253. If +you are lucky enough to have a UTF8 compatible terminal then the use +of this option (and not setting esc_msb) may result in the correct +display of multibyte (international) characters. Is this option is not +present then multibyte characters larger than 0xff will be represented +using the format \UXXXX for 16 bits and \WXXXXXXXX for 32 bits. +Also if this option is off any UTF8Strings will be converted to their +character form first.

    +
    +
    ignore_type
    + +
    +

    This option does not attempt to interpret multibyte characters in any +way. That is their content octets are merely dumped as though one octet +represents each character. This is useful for diagnostic purposes but +will result in rather odd looking output.

    +
    +
    show_type
    + +
    +

    Show the type of the ASN1 character string. The type precedes the +field contents. For example "BMPSTRING: Hello World".

    +
    +
    dump_der
    + +
    +

    When this option is set any fields that need to be hexdumped will +be dumped using the DER encoding of the field. Otherwise just the +content octets will be displayed. Both options use the RFC2253 +#XXXX... format.

    +
    +
    dump_nostr
    + +
    +

    Dump non character string types (for example OCTET STRING) if this +option is not set then non character string types will be displayed +as though each content octet represents a single character.

    +
    +
    dump_all
    + +
    +

    Dump all fields. This option when used with dump_der allows the +DER encoding of the structure to be unambiguously determined.

    +
    +
    dump_unknown
    + +
    +

    Dump any field whose OID is not recognised by OpenSSL.

    +
    +
    sep_comma_plus, sep_comma_plus_space, sep_semi_plus_space, +sep_multiline
    + +
    +

    These options determine the field separators. The first character is +between RDNs and the second between multiple AVAs (multiple AVAs are +very rare and their use is discouraged). The options ending in +"space" additionally place a space after the separator to make it +more readable. The sep_multiline uses a linefeed character for +the RDN separator and a spaced + for the AVA separator. It also +indents the fields by four characters. If no field separator is specified +then sep_comma_plus_space is used by default.

    +
    +
    dn_rev
    + +
    +

    Reverse the fields of the DN. This is required by RFC2253. As a side +effect this also reverses the order of multiple AVAs but this is +permissible.

    +
    +
    nofname, sname, lname, oid
    + +
    +

    These options alter how the field name is displayed. nofname does +not display the field at all. sname uses the "short name" form +(CN for commonName for example). lname uses the long form. +oid represents the OID in numerical form and is useful for +diagnostic purpose.

    +
    +
    align
    + +
    +

    Align field values for a more readable output. Only usable with +sep_multiline.

    +
    +
    space_eq
    + +
    +

    Places spaces round the = character which follows the field +name.

    +
    +
    +

    +

    +

    Text Options

    +

    As well as customising the name output format, it is also possible to +customise the actual fields printed using the certopt options when +the text option is present. The default behaviour is to print all fields.

    +
    +
    compatible
    + +
    +

    Use the old format. This is equivalent to specifying no output options at all.

    +
    +
    no_header
    + +
    +

    Don't print header information: that is the lines saying "Certificate" +and "Data".

    +
    +
    no_version
    + +
    +

    Don't print out the version number.

    +
    +
    no_serial
    + +
    +

    Don't print out the serial number.

    +
    +
    no_signame
    + +
    +

    Don't print out the signature algorithm used.

    +
    +
    no_validity
    + +
    +

    Don't print the validity, that is the notBefore and notAfter fields.

    +
    +
    no_subject
    + +
    +

    Don't print out the subject name.

    +
    +
    no_issuer
    + +
    +

    Don't print out the issuer name.

    +
    +
    no_pubkey
    + +
    +

    Don't print out the public key.

    +
    +
    no_sigdump
    + +
    +

    Don't give a hexadecimal dump of the certificate signature.

    +
    +
    no_aux
    + +
    +

    Don't print out certificate trust information.

    +
    +
    no_extensions
    + +
    +

    Don't print out any X509V3 extensions.

    +
    +
    ext_default
    + +
    +

    Retain default extension behaviour: attempt to print out unsupported +certificate extensions.

    +
    +
    ext_error
    + +
    +

    Print an error message for unsupported certificate extensions.

    +
    +
    ext_parse
    + +
    +

    ASN1 parse unsupported extensions.

    +
    +
    ext_dump
    + +
    +

    Hex dump unsupported extensions.

    +
    +
    ca_default
    + +
    +

    The value used by the ca utility, equivalent to no_issuer, no_pubkey, +no_header, and no_version.

    +
    +
    +

    +

    +
    +

    EXAMPLES

    +

    Note: in these examples the '\' means the example should be all on one +line.

    +

    Display the contents of a certificate:

    +
    + openssl x509 -in cert.pem -noout -text
    +

    Display the "Subject Alternative Name" extension of a certificate:

    +
    + openssl x509 -in cert.pem -noout -ext subjectAltName
    +

    Display more extensions of a certificate:

    +
    + openssl x509 -in cert.pem -noout -ext subjectAltName,nsCertType
    +

    Display the certificate serial number:

    +
    + openssl x509 -in cert.pem -noout -serial
    +

    Display the certificate subject name:

    +
    + openssl x509 -in cert.pem -noout -subject
    +

    Display the certificate subject name in RFC2253 form:

    +
    + openssl x509 -in cert.pem -noout -subject -nameopt RFC2253
    +

    Display the certificate subject name in oneline form on a terminal +supporting UTF8:

    +
    + openssl x509 -in cert.pem -noout -subject -nameopt oneline,-esc_msb
    +

    Display the certificate SHA1 fingerprint:

    +
    + openssl x509 -sha1 -in cert.pem -noout -fingerprint
    +

    Convert a certificate from PEM to DER format:

    +
    + openssl x509 -in cert.pem -inform PEM -out cert.der -outform DER
    +

    Convert a certificate to a certificate request:

    +
    + openssl x509 -x509toreq -in cert.pem -out req.pem -signkey key.pem
    +

    Convert a certificate request into a self signed certificate using +extensions for a CA:

    +
    + openssl x509 -req -in careq.pem -extfile openssl.cnf -extensions v3_ca \
    +        -signkey key.pem -out cacert.pem
    +

    Sign a certificate request using the CA certificate above and add user +certificate extensions:

    +
    + openssl x509 -req -in req.pem -extfile openssl.cnf -extensions v3_usr \
    +        -CA cacert.pem -CAkey key.pem -CAcreateserial
    +

    Set a certificate to be trusted for SSL client use and change set its alias to +"Steve's Class 1 CA"

    +
    + openssl x509 -in cert.pem -addtrust clientAuth \
    +        -setalias "Steve's Class 1 CA" -out trust.pem
    +

    +

    +
    +

    NOTES

    +

    The PEM format uses the header and footer lines:

    +
    + -----BEGIN CERTIFICATE-----
    + -----END CERTIFICATE-----
    +

    it will also handle files containing:

    +
    + -----BEGIN X509 CERTIFICATE-----
    + -----END X509 CERTIFICATE-----
    +

    Trusted certificates have the lines

    +
    + -----BEGIN TRUSTED CERTIFICATE-----
    + -----END TRUSTED CERTIFICATE-----
    +

    The conversion to UTF8 format used with the name options assumes that +T61Strings use the ISO8859-1 character set. This is wrong but Netscape +and MSIE do this as do many certificates. So although this is incorrect +it is more likely to display the majority of certificates correctly.

    +

    The -email option searches the subject name and the subject alternative +name extension. Only unique email addresses will be printed out: it will +not print the same address more than once.

    +

    +

    +
    +

    CERTIFICATE EXTENSIONS

    +

    The -purpose option checks the certificate extensions and determines +what the certificate can be used for. The actual checks done are rather +complex and include various hacks and workarounds to handle broken +certificates and software.

    +

    The same code is used when verifying untrusted certificates in chains +so this section is useful if a chain is rejected by the verify code.

    +

    The basicConstraints extension CA flag is used to determine whether the +certificate can be used as a CA. If the CA flag is true then it is a CA, +if the CA flag is false then it is not a CA. All CAs should have the +CA flag set to true.

    +

    If the basicConstraints extension is absent then the certificate is +considered to be a "possible CA" other extensions are checked according +to the intended use of the certificate. A warning is given in this case +because the certificate should really not be regarded as a CA: however +it is allowed to be a CA to work around some broken software.

    +

    If the certificate is a V1 certificate (and thus has no extensions) and +it is self signed it is also assumed to be a CA but a warning is again +given: this is to work around the problem of Verisign roots which are V1 +self signed certificates.

    +

    If the keyUsage extension is present then additional restraints are +made on the uses of the certificate. A CA certificate must have the +keyCertSign bit set if the keyUsage extension is present.

    +

    The extended key usage extension places additional restrictions on the +certificate uses. If this extension is present (whether critical or not) +the key can only be used for the purposes specified.

    +

    A complete description of each test is given below. The comments about +basicConstraints and keyUsage and V1 certificates above apply to all +CA certificates.

    +
    +
    SSL Client
    + +
    +

    The extended key usage extension must be absent or include the "web client +authentication" OID. keyUsage must be absent or it must have the +digitalSignature bit set. Netscape certificate type must be absent or it must +have the SSL client bit set.

    +
    +
    SSL Client CA
    + +
    +

    The extended key usage extension must be absent or include the "web client +authentication" OID. Netscape certificate type must be absent or it must have +the SSL CA bit set: this is used as a work around if the basicConstraints +extension is absent.

    +
    +
    SSL Server
    + +
    +

    The extended key usage extension must be absent or include the "web server +authentication" and/or one of the SGC OIDs. keyUsage must be absent or it +must have the digitalSignature, the keyEncipherment set or both bits set. +Netscape certificate type must be absent or have the SSL server bit set.

    +
    +
    SSL Server CA
    + +
    +

    The extended key usage extension must be absent or include the "web server +authentication" and/or one of the SGC OIDs. Netscape certificate type must +be absent or the SSL CA bit must be set: this is used as a work around if the +basicConstraints extension is absent.

    +
    +
    Netscape SSL Server
    + +
    +

    For Netscape SSL clients to connect to an SSL server it must have the +keyEncipherment bit set if the keyUsage extension is present. This isn't +always valid because some cipher suites use the key for digital signing. +Otherwise it is the same as a normal SSL server.

    +
    +
    Common S/MIME Client Tests
    + +
    +

    The extended key usage extension must be absent or include the "email +protection" OID. Netscape certificate type must be absent or should have the +S/MIME bit set. If the S/MIME bit is not set in Netscape certificate type +then the SSL client bit is tolerated as an alternative but a warning is shown: +this is because some Verisign certificates don't set the S/MIME bit.

    +
    +
    S/MIME Signing
    + +
    +

    In addition to the common S/MIME client tests the digitalSignature bit or +the nonRepudiation bit must be set if the keyUsage extension is present.

    +
    +
    S/MIME Encryption
    + +
    +

    In addition to the common S/MIME tests the keyEncipherment bit must be set +if the keyUsage extension is present.

    +
    +
    S/MIME CA
    + +
    +

    The extended key usage extension must be absent or include the "email +protection" OID. Netscape certificate type must be absent or must have the +S/MIME CA bit set: this is used as a work around if the basicConstraints +extension is absent.

    +
    +
    CRL Signing
    + +
    +

    The keyUsage extension must be absent or it must have the CRL signing bit +set.

    +
    +
    CRL Signing CA
    + +
    +

    The normal CA tests apply. Except in this case the basicConstraints extension +must be present.

    +
    +
    +

    +

    +
    +

    BUGS

    +

    Extensions in certificates are not transferred to certificate requests and +vice versa.

    +

    It is possible to produce invalid certificates or requests by specifying the +wrong private key or using inconsistent options in some cases: these should +be checked.

    +

    There should be options to explicitly set such things as start and end +dates rather than an offset from the current time.

    +

    +

    +
    +

    SEE ALSO

    +

    req(1), ca(1), genrsa(1), +gendsa(1), verify(1), +x509v3_config(5)

    +

    +

    +
    +

    HISTORY

    +

    The hash algorithm used in the -subject_hash and -issuer_hash options +before OpenSSL 1.0.0 was based on the deprecated MD5 algorithm and the encoding +of the distinguished name. In OpenSSL 1.0.0 and later it is based on a +canonical version of the DN using SHA1. This means that any directories using +the old form must have their links rebuilt using c_rehash or similar.

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man3/ACCESS_DESCRIPTION_free.html b/linux_amd64/share/doc/openssl/html/man3/ACCESS_DESCRIPTION_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ACCESS_DESCRIPTION_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ACCESS_DESCRIPTION_new.html b/linux_amd64/share/doc/openssl/html/man3/ACCESS_DESCRIPTION_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ACCESS_DESCRIPTION_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ADMISSIONS.html b/linux_amd64/share/doc/openssl/html/man3/ADMISSIONS.html index f7571e4..5971399 100755 --- a/linux_amd64/share/doc/openssl/html/man3/ADMISSIONS.html +++ b/linux_amd64/share/doc/openssl/html/man3/ADMISSIONS.html @@ -199,8 +199,8 @@ structure and must not be freed.


    COPYRIGHT

    -

    Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2017-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/ADMISSIONS_free.html b/linux_amd64/share/doc/openssl/html/man3/ADMISSIONS_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ADMISSIONS_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ADMISSIONS_get0_admissionAuthority.html b/linux_amd64/share/doc/openssl/html/man3/ADMISSIONS_get0_admissionAuthority.html new file mode 120000 index 0000000..c372727 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ADMISSIONS_get0_admissionAuthority.html @@ -0,0 +1 @@ +ADMISSIONS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ADMISSIONS_get0_namingAuthority.html b/linux_amd64/share/doc/openssl/html/man3/ADMISSIONS_get0_namingAuthority.html new file mode 120000 index 0000000..c372727 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ADMISSIONS_get0_namingAuthority.html @@ -0,0 +1 @@ +ADMISSIONS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ADMISSIONS_get0_professionInfos.html b/linux_amd64/share/doc/openssl/html/man3/ADMISSIONS_get0_professionInfos.html new file mode 120000 index 0000000..c372727 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ADMISSIONS_get0_professionInfos.html @@ -0,0 +1 @@ +ADMISSIONS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ADMISSIONS_new.html b/linux_amd64/share/doc/openssl/html/man3/ADMISSIONS_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ADMISSIONS_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ADMISSIONS_set0_admissionAuthority.html b/linux_amd64/share/doc/openssl/html/man3/ADMISSIONS_set0_admissionAuthority.html new file mode 120000 index 0000000..c372727 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ADMISSIONS_set0_admissionAuthority.html @@ -0,0 +1 @@ +ADMISSIONS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ADMISSIONS_set0_namingAuthority.html b/linux_amd64/share/doc/openssl/html/man3/ADMISSIONS_set0_namingAuthority.html new file mode 120000 index 0000000..c372727 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ADMISSIONS_set0_namingAuthority.html @@ -0,0 +1 @@ +ADMISSIONS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ADMISSIONS_set0_professionInfos.html b/linux_amd64/share/doc/openssl/html/man3/ADMISSIONS_set0_professionInfos.html new file mode 120000 index 0000000..c372727 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ADMISSIONS_set0_professionInfos.html @@ -0,0 +1 @@ +ADMISSIONS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ADMISSION_SYNTAX.html b/linux_amd64/share/doc/openssl/html/man3/ADMISSION_SYNTAX.html new file mode 120000 index 0000000..c372727 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ADMISSION_SYNTAX.html @@ -0,0 +1 @@ +ADMISSIONS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ADMISSION_SYNTAX_free.html b/linux_amd64/share/doc/openssl/html/man3/ADMISSION_SYNTAX_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ADMISSION_SYNTAX_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ADMISSION_SYNTAX_get0_admissionAuthority.html b/linux_amd64/share/doc/openssl/html/man3/ADMISSION_SYNTAX_get0_admissionAuthority.html new file mode 120000 index 0000000..c372727 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ADMISSION_SYNTAX_get0_admissionAuthority.html @@ -0,0 +1 @@ +ADMISSIONS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ADMISSION_SYNTAX_get0_contentsOfAdmissions.html b/linux_amd64/share/doc/openssl/html/man3/ADMISSION_SYNTAX_get0_contentsOfAdmissions.html new file mode 120000 index 0000000..c372727 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ADMISSION_SYNTAX_get0_contentsOfAdmissions.html @@ -0,0 +1 @@ +ADMISSIONS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ADMISSION_SYNTAX_new.html b/linux_amd64/share/doc/openssl/html/man3/ADMISSION_SYNTAX_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ADMISSION_SYNTAX_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ADMISSION_SYNTAX_set0_admissionAuthority.html b/linux_amd64/share/doc/openssl/html/man3/ADMISSION_SYNTAX_set0_admissionAuthority.html new file mode 120000 index 0000000..c372727 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ADMISSION_SYNTAX_set0_admissionAuthority.html @@ -0,0 +1 @@ +ADMISSIONS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ADMISSION_SYNTAX_set0_contentsOfAdmissions.html b/linux_amd64/share/doc/openssl/html/man3/ADMISSION_SYNTAX_set0_contentsOfAdmissions.html new file mode 120000 index 0000000..c372727 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ADMISSION_SYNTAX_set0_contentsOfAdmissions.html @@ -0,0 +1 @@ +ADMISSIONS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASIdOrRange_free.html b/linux_amd64/share/doc/openssl/html/man3/ASIdOrRange_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASIdOrRange_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASIdOrRange_new.html b/linux_amd64/share/doc/openssl/html/man3/ASIdOrRange_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASIdOrRange_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASIdentifierChoice_free.html b/linux_amd64/share/doc/openssl/html/man3/ASIdentifierChoice_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASIdentifierChoice_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASIdentifierChoice_new.html b/linux_amd64/share/doc/openssl/html/man3/ASIdentifierChoice_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASIdentifierChoice_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASIdentifiers_free.html b/linux_amd64/share/doc/openssl/html/man3/ASIdentifiers_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASIdentifiers_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASIdentifiers_new.html b/linux_amd64/share/doc/openssl/html/man3/ASIdentifiers_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASIdentifiers_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_ENUMERATED_get.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_ENUMERATED_get.html new file mode 120000 index 0000000..7e6e652 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_ENUMERATED_get.html @@ -0,0 +1 @@ +ASN1_INTEGER_get_int64.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_ENUMERATED_get_int64.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_ENUMERATED_get_int64.html new file mode 120000 index 0000000..7e6e652 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_ENUMERATED_get_int64.html @@ -0,0 +1 @@ +ASN1_INTEGER_get_int64.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_ENUMERATED_set.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_ENUMERATED_set.html new file mode 120000 index 0000000..7e6e652 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_ENUMERATED_set.html @@ -0,0 +1 @@ +ASN1_INTEGER_get_int64.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_ENUMERATED_set_int64.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_ENUMERATED_set_int64.html new file mode 120000 index 0000000..7e6e652 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_ENUMERATED_set_int64.html @@ -0,0 +1 @@ +ASN1_INTEGER_get_int64.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_ENUMERATED_to_BN.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_ENUMERATED_to_BN.html new file mode 120000 index 0000000..7e6e652 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_ENUMERATED_to_BN.html @@ -0,0 +1 @@ +ASN1_INTEGER_get_int64.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_GENERALIZEDTIME_adj.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_GENERALIZEDTIME_adj.html new file mode 120000 index 0000000..58ba688 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_GENERALIZEDTIME_adj.html @@ -0,0 +1 @@ +ASN1_TIME_set.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_GENERALIZEDTIME_check.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_GENERALIZEDTIME_check.html new file mode 120000 index 0000000..58ba688 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_GENERALIZEDTIME_check.html @@ -0,0 +1 @@ +ASN1_TIME_set.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_GENERALIZEDTIME_print.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_GENERALIZEDTIME_print.html new file mode 120000 index 0000000..58ba688 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_GENERALIZEDTIME_print.html @@ -0,0 +1 @@ +ASN1_TIME_set.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_GENERALIZEDTIME_set.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_GENERALIZEDTIME_set.html new file mode 120000 index 0000000..58ba688 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_GENERALIZEDTIME_set.html @@ -0,0 +1 @@ +ASN1_TIME_set.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_GENERALIZEDTIME_set_string.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_GENERALIZEDTIME_set_string.html new file mode 120000 index 0000000..58ba688 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_GENERALIZEDTIME_set_string.html @@ -0,0 +1 @@ +ASN1_TIME_set.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_INTEGER_get.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_INTEGER_get.html new file mode 120000 index 0000000..7e6e652 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_INTEGER_get.html @@ -0,0 +1 @@ +ASN1_INTEGER_get_int64.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_INTEGER_get_int64.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_INTEGER_get_int64.html index 7b32b38..1ef75b9 100755 --- a/linux_amd64/share/doc/openssl/html/man3/ASN1_INTEGER_get_int64.html +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_INTEGER_get_int64.html @@ -72,34 +72,34 @@ ASN1_INTEGER_get_int64, ASN1_INTEGER_get, ASN1_INTEGER_set_int64, ASN1_INTEGER_s

    These functions convert to and from ASN1_INTEGER and ASN1_ENUMERATED structures.

    ASN1_INTEGER_get_int64() converts an ASN1_INTEGER into an int64_t type -If successful it returns 1 and sets *pr to the value of a. If it fails +If successful it returns 1 and sets *pr to the value of a. If it fails (due to invalid type or the value being too big to fit into an int64_t type) it returns 0.

    ASN1_INTEGER_get_uint64() is similar to ASN1_INTEGER_get_int64_t() except it converts to a uint64_t type and an error is returned if the passed integer is negative.

    -

    ASN1_INTEGER_get() also returns the value of a but it returns 0 if a is +

    ASN1_INTEGER_get() also returns the value of a but it returns 0 if a is NULL and -1 on error (which is ambiguous because -1 is a legitimate value for an ASN1_INTEGER). New applications should use ASN1_INTEGER_get_int64() instead.

    -

    ASN1_INTEGER_set_int64() sets the value of ASN1_INTEGER a to the -int64_t value r.

    -

    ASN1_INTEGER_set_uint64() sets the value of ASN1_INTEGER a to the -uint64_t value r.

    -

    ASN1_INTEGER_set() sets the value of ASN1_INTEGER a to the long value -v.

    -

    BN_to_ASN1_INTEGER() converts BIGNUM bn to an ASN1_INTEGER. If ai -is NULL a new ASN1_INTEGER structure is returned. If ai is not NULL then +

    ASN1_INTEGER_set_int64() sets the value of ASN1_INTEGER a to the +int64_t value r.

    +

    ASN1_INTEGER_set_uint64() sets the value of ASN1_INTEGER a to the +uint64_t value r.

    +

    ASN1_INTEGER_set() sets the value of ASN1_INTEGER a to the long value +v.

    +

    BN_to_ASN1_INTEGER() converts BIGNUM bn to an ASN1_INTEGER. If ai +is NULL a new ASN1_INTEGER structure is returned. If ai is not NULL then the existing structure will be used instead.

    -

    ASN1_INTEGER_to_BN() converts ASN1_INTEGER ai into a BIGNUM. If bn is -NULL a new BIGNUM structure is returned. If bn is not NULL then the +

    ASN1_INTEGER_to_BN() converts ASN1_INTEGER ai into a BIGNUM. If bn is +NULL a new BIGNUM structure is returned. If bn is not NULL then the existing structure will be used instead.

    ASN1_ENUMERATED_get_int64(), ASN1_ENUMERATED_set_int64(), ASN1_ENUMERATED_set(), BN_to_ASN1_ENUMERATED() and ASN1_ENUMERATED_to_BN() behave in an identical way to their ASN1_INTEGER counterparts except they operate on an ASN1_ENUMERATED value.

    -

    ASN1_ENUMERATED_get() returns the value of a in a similar way to -ASN1_INTEGER_get() but it returns 0xffffffffL if the value of a will not +

    ASN1_ENUMERATED_get() returns the value of a in a similar way to +ASN1_INTEGER_get() but it returns 0xffffffffL if the value of a will not fit in a long type. New applications should use ASN1_ENUMERATED_get_int64() instead.

    @@ -153,7 +153,7 @@ were added in OpenSSL 1.1.0.


    COPYRIGHT

    Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_INTEGER_get_uint64.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_INTEGER_get_uint64.html new file mode 120000 index 0000000..7e6e652 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_INTEGER_get_uint64.html @@ -0,0 +1 @@ +ASN1_INTEGER_get_int64.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_INTEGER_set.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_INTEGER_set.html new file mode 120000 index 0000000..7e6e652 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_INTEGER_set.html @@ -0,0 +1 @@ +ASN1_INTEGER_get_int64.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_INTEGER_set_int64.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_INTEGER_set_int64.html new file mode 120000 index 0000000..7e6e652 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_INTEGER_set_int64.html @@ -0,0 +1 @@ +ASN1_INTEGER_get_int64.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_INTEGER_set_uint64.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_INTEGER_set_uint64.html new file mode 120000 index 0000000..7e6e652 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_INTEGER_set_uint64.html @@ -0,0 +1 @@ +ASN1_INTEGER_get_int64.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_INTEGER_to_BN.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_INTEGER_to_BN.html new file mode 120000 index 0000000..7e6e652 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_INTEGER_to_BN.html @@ -0,0 +1 @@ +ASN1_INTEGER_get_int64.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_ITEM.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_ITEM.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_ITEM.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_ITEM_get.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_ITEM_get.html new file mode 120000 index 0000000..da0d2ab --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_ITEM_get.html @@ -0,0 +1 @@ +ASN1_ITEM_lookup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_ITEM_lookup.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_ITEM_lookup.html index 5528ddb..30a8211 100755 --- a/linux_amd64/share/doc/openssl/html/man3/ASN1_ITEM_lookup.html +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_ITEM_lookup.html @@ -46,15 +46,15 @@


    DESCRIPTION

    -

    ASN1_ITEM_lookup() returns the ASN1_ITEM named name.

    -

    ASN1_ITEM_get() returns the ASN1_ITEM with index i. This function -returns NULL if the index i is out of range.

    +

    ASN1_ITEM_lookup() returns the ASN1_ITEM name.

    +

    ASN1_ITEM_get() returns the ASN1_ITEM with index i. This function +returns NULL if the index i is out of range.


    RETURN VALUES

    ASN1_ITEM_lookup() and ASN1_ITEM_get() return a valid ASN1_ITEM structure -or NULL if an error occurred.

    +or NULL if an error occurred.


    @@ -65,7 +65,7 @@ or NULL if an error occurred.


    COPYRIGHT

    Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_OBJECT_free.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_OBJECT_free.html new file mode 120000 index 0000000..f78e5c9 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_OBJECT_free.html @@ -0,0 +1 @@ +ASN1_OBJECT_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_OBJECT_new.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_OBJECT_new.html index b1cf988..b3bee79 100755 --- a/linux_amd64/share/doc/openssl/html/man3/ASN1_OBJECT_new.html +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_OBJECT_new.html @@ -47,23 +47,23 @@


    DESCRIPTION

    -

    The ASN1_OBJECT allocation routines, allocate and free an -ASN1_OBJECT structure, which represents an ASN1 OBJECT IDENTIFIER.

    -

    ASN1_OBJECT_new() allocates and initializes an ASN1_OBJECT structure.

    -

    ASN1_OBJECT_free() frees up the ASN1_OBJECT structure a. -If a is NULL, nothing is done.

    +

    The ASN1_OBJECT allocation routines, allocate and free an +ASN1_OBJECT structure, which represents an ASN1 OBJECT IDENTIFIER.

    +

    ASN1_OBJECT_new() allocates and initializes an ASN1_OBJECT structure.

    +

    ASN1_OBJECT_free() frees up the ASN1_OBJECT structure a. +If a is NULL, nothing is done.


    NOTES

    -

    Although ASN1_OBJECT_new() allocates a new ASN1_OBJECT structure it +

    Although ASN1_OBJECT_new() allocates a new ASN1_OBJECT structure it is almost never used in applications. The ASN1 object utility functions such as OBJ_nid2obj() are used instead.


    RETURN VALUES

    -

    If the allocation fails, ASN1_OBJECT_new() returns NULL and sets an error +

    If the allocation fails, ASN1_OBJECT_new() returns NULL and sets an error code that can be obtained by ERR_get_error(3). Otherwise it returns a pointer to the newly allocated structure.

    ASN1_OBJECT_free() returns no value.

    @@ -77,7 +77,7 @@ Otherwise it returns a pointer to the newly allocated structure.


    COPYRIGHT

    Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_TABLE.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_TABLE.html new file mode 120000 index 0000000..29ae60e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_TABLE.html @@ -0,0 +1 @@ +ASN1_STRING_TABLE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_TABLE_add.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_TABLE_add.html index 2a7fa1f..4e48693 100755 --- a/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_TABLE_add.html +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_TABLE_add.html @@ -66,14 +66,14 @@ ASN1_STRING_TABLE_cleanup - ASN1_STRING_TABLE manipulation functions

    Functions

    ASN1_STRING_TABLE_add() adds a new ASN1_STRING_TABLE item into the -local ASN1 string table based on the nid along with other parameters.

    +local ASN1 string table based on the nid along with other parameters.

    If the item is already in the table, fields of ASN1_STRING_TABLE are -updated (depending on the values of those parameters, e.g., minsize -and maxsize >= 0, mask and flags != 0). If the nid is standard, +updated (depending on the values of those parameters, e.g., minsize +and maxsize >= 0, mask and flags != 0). If the nid is standard, a copy of the standard ASN1_STRING_TABLE is created and updated with other parameters.

    ASN1_STRING_TABLE_get() searches for an ASN1_STRING_TABLE item based -on nid. It will search the local table first, then the standard one.

    +on nid. It will search the local table first, then the standard one.

    ASN1_STRING_TABLE_cleanup() frees all ASN1_STRING_TABLE items added by ASN1_STRING_TABLE_add().

    @@ -82,7 +82,7 @@ by ASN1_STRING_TABLE_add().

    RETURN VALUES

    ASN1_STRING_TABLE_add() returns 1 on success, 0 if an error occurred.

    ASN1_STRING_TABLE_get() returns a valid ASN1_STRING_TABLE structure -or NULL if nothing is found.

    +or NULL if nothing is found.

    ASN1_STRING_TABLE_cleanup() does not return a value.

    @@ -94,7 +94,7 @@ or NULL if nothing is found.


    COPYRIGHT

    Copyright 2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_TABLE_cleanup.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_TABLE_cleanup.html new file mode 120000 index 0000000..29ae60e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_TABLE_cleanup.html @@ -0,0 +1 @@ +ASN1_STRING_TABLE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_TABLE_get.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_TABLE_get.html new file mode 120000 index 0000000..29ae60e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_TABLE_get.html @@ -0,0 +1 @@ +ASN1_STRING_TABLE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_cmp.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_cmp.html new file mode 120000 index 0000000..ed3d508 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_cmp.html @@ -0,0 +1 @@ +ASN1_STRING_length.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_data.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_data.html new file mode 120000 index 0000000..ed3d508 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_data.html @@ -0,0 +1 @@ +ASN1_STRING_length.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_dup.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_dup.html new file mode 120000 index 0000000..ed3d508 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_dup.html @@ -0,0 +1 @@ +ASN1_STRING_length.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_free.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_free.html new file mode 120000 index 0000000..2138a09 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_free.html @@ -0,0 +1 @@ +ASN1_STRING_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_get0_data.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_get0_data.html new file mode 120000 index 0000000..ed3d508 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_get0_data.html @@ -0,0 +1 @@ +ASN1_STRING_length.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_length.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_length.html index 458d81e..5dcb802 100755 --- a/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_length.html +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_length.html @@ -47,7 +47,7 @@ ASN1_STRING_to_UTF8 - ASN1_STRING utility functions

    const unsigned char * ASN1_STRING_get0_data(const ASN1_STRING *x); unsigned char * ASN1_STRING_data(ASN1_STRING *x);
    - ASN1_STRING * ASN1_STRING_dup(const ASN1_STRING *a);
    + ASN1_STRING * ASN1_STRING_dup(ASN1_STRING *a);
      int ASN1_STRING_cmp(ASN1_STRING *a, ASN1_STRING *b);
    @@ -61,24 +61,24 @@ ASN1_STRING_to_UTF8 - ASN1_STRING utility functions


    DESCRIPTION

    These functions allow an ASN1_STRING structure to be manipulated.

    -

    ASN1_STRING_length() returns the length of the content of x.

    -

    ASN1_STRING_get0_data() returns an internal pointer to the data of x. +

    ASN1_STRING_length() returns the length of the content of x.

    +

    ASN1_STRING_get0_data() returns an internal pointer to the data of x. Since this is an internal pointer it should not be freed or modified in any way.

    ASN1_STRING_data() is similar to ASN1_STRING_get0_data() except the returned value is not constant. This function is deprecated: applications should use ASN1_STRING_get0_data() instead.

    -

    ASN1_STRING_dup() returns a copy of the structure a.

    -

    ASN1_STRING_cmp() compares a and b returning 0 if the two +

    ASN1_STRING_dup() returns a copy of the structure a.

    +

    ASN1_STRING_cmp() compares a and b returning 0 if the two are identical. The string types and content are compared.

    -

    ASN1_STRING_set() sets the data of string str to the buffer -data or length len. The supplied data is copied. If len +

    ASN1_STRING_set() sets the data of string str to the buffer +data or length len. The supplied data is copied. If len is -1 then the length is determined by strlen(data).

    -

    ASN1_STRING_type() returns the type of x, using standard constants +

    ASN1_STRING_type() returns the type of x, using standard constants such as V_ASN1_OCTET_STRING.

    -

    ASN1_STRING_to_UTF8() converts the string in to UTF8 format, the -converted data is allocated in a buffer in *out. The length of -out is returned or a negative error code. The buffer *out +

    ASN1_STRING_to_UTF8() converts the string in to UTF8 format, the +converted data is allocated in a buffer in *out. The length of +out is returned or a negative error code. The buffer *out should be freed using OPENSSL_free().

    @@ -104,16 +104,16 @@ when calling ASN1_STRING_set().


    RETURN VALUES

    -

    ASN1_STRING_length() returns the length of the content of x.

    +

    ASN1_STRING_length() returns the length of the content of x.

    ASN1_STRING_get0_data() and ASN1_STRING_data() return an internal pointer to -the data of x.

    -

    ASN1_STRING_dup() returns a valid ASN1_STRING structure or NULL if an +the data of x.

    +

    ASN1_STRING_dup() returns a valid ASN1_STRING structure or NULL if an error occurred.

    ASN1_STRING_cmp() returns an integer greater than, equal to, or less than 0, -according to whether a is greater than, equal to, or less than b.

    +according to whether a is greater than, equal to, or less than b.

    ASN1_STRING_set() returns 1 on success or 0 on error.

    -

    ASN1_STRING_type() returns the type of x.

    -

    ASN1_STRING_to_UTF8() returns the number of bytes in output string out or a +

    ASN1_STRING_type() returns the type of x.

    +

    ASN1_STRING_to_UTF8() returns the number of bytes in output string out or a negative value if an error occurred.

    @@ -125,7 +125,7 @@ negative value if an error occurred.


    COPYRIGHT

    Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_new.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_new.html index 8884c7f..45d42fe 100755 --- a/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_new.html +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_new.html @@ -52,9 +52,9 @@ ASN1_STRING allocation functions

    ASN1_STRING_new() returns an allocated ASN1_STRING structure. Its type is undefined.

    ASN1_STRING_type_new() returns an allocated ASN1_STRING structure of -type type.

    -

    ASN1_STRING_free() frees up a. -If a is NULL nothing is done.

    +type type.

    +

    ASN1_STRING_free() frees up a. +If a is NULL nothing is done.


    @@ -66,7 +66,7 @@ ASN1_OCTET_STRING_new() calls ASN1_STRING_type(V_ASN1_OCTET_STRING).


    RETURN VALUES

    ASN1_STRING_new() and ASN1_STRING_type_new() return a valid -ASN1_STRING structure or NULL if an error occurred.

    +ASN1_STRING structure or NULL if an error occurred.

    ASN1_STRING_free() does not return a value.

    @@ -78,7 +78,7 @@ ASN1_OCTET_STRING_new() calls ASN1_STRING_type(V_ASN1_OCTET_STRING).


    COPYRIGHT

    Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_print.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_print.html new file mode 120000 index 0000000..8d0effe --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_print.html @@ -0,0 +1 @@ +ASN1_STRING_print_ex.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_print_ex.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_print_ex.html index d28dbb3..6c62070 100755 --- a/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_print_ex.html +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_print_ex.html @@ -53,13 +53,13 @@

    DESCRIPTION

    These functions output an ASN1_STRING structure. ASN1_STRING is used to represent all the ASN1 string types.

    -

    ASN1_STRING_print_ex() outputs str to out, the format is determined by -the options flags. ASN1_STRING_print_ex_fp() is identical except it outputs -to fp instead.

    -

    ASN1_STRING_print() prints str to out but using a different format to +

    ASN1_STRING_print_ex() outputs str to out, the format is determined by +the options flags. ASN1_STRING_print_ex_fp() is identical except it outputs +to fp instead.

    +

    ASN1_STRING_print() prints str to out but using a different format to ASN1_STRING_print_ex(). It replaces unprintable characters (other than CR, LF) with '.'.

    -

    ASN1_tag2str() returns a human-readable name of the specified ASN.1 tag.

    +

    ASN1_tag2str() returns a human-readable name of the specified ASN.1 tag.


    @@ -68,7 +68,7 @@ with '.'.

    ASN1_STRING_print_ex() instead.

    Although there are a large number of options frequently ASN1_STRFLGS_RFC2253 is suitable, or on UTF8 terminals ASN1_STRFLGS_RFC2253 & ~ASN1_STRFLGS_ESC_MSB.

    -

    The complete set of supported options for flags is listed below.

    +

    The complete set of supported options for flags is listed below.

    Various characters can be escaped. If ASN1_STRFLGS_ESC_2253 is set the characters determined by RFC2253 are escaped. If ASN1_STRFLGS_ESC_CTRL is set control characters are escaped. If ASN1_STRFLGS_ESC_MSB is set characters with the @@ -113,7 +113,7 @@ equivalent to:

    ASN1_STRING_print_ex() and ASN1_STRING_print_ex_fp() return the number of characters written or -1 if an error occurred.

    ASN1_STRING_print() returns 1 on success or 0 on error.

    -

    ASN1_tag2str() returns a human-readable name of the specified ASN.1 tag.

    +

    ASN1_tag2str() returns a human-readable name of the specified ASN.1 tag.


    @@ -125,7 +125,7 @@ characters written or -1 if an error occurred.


    COPYRIGHT

    Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_print_ex_fp.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_print_ex_fp.html new file mode 120000 index 0000000..8d0effe --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_print_ex_fp.html @@ -0,0 +1 @@ +ASN1_STRING_print_ex.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_set.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_set.html new file mode 120000 index 0000000..ed3d508 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_set.html @@ -0,0 +1 @@ +ASN1_STRING_length.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_to_UTF8.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_to_UTF8.html new file mode 120000 index 0000000..ed3d508 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_to_UTF8.html @@ -0,0 +1 @@ +ASN1_STRING_length.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_type.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_type.html new file mode 120000 index 0000000..ed3d508 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_type.html @@ -0,0 +1 @@ +ASN1_STRING_length.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_type_new.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_type_new.html new file mode 120000 index 0000000..2138a09 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_STRING_type_new.html @@ -0,0 +1 @@ +ASN1_STRING_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_TIME_adj.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_TIME_adj.html new file mode 120000 index 0000000..58ba688 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_TIME_adj.html @@ -0,0 +1 @@ +ASN1_TIME_set.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_TIME_check.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_TIME_check.html new file mode 120000 index 0000000..58ba688 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_TIME_check.html @@ -0,0 +1 @@ +ASN1_TIME_set.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_TIME_cmp_time_t.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_TIME_cmp_time_t.html new file mode 120000 index 0000000..58ba688 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_TIME_cmp_time_t.html @@ -0,0 +1 @@ +ASN1_TIME_set.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_TIME_compare.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_TIME_compare.html new file mode 120000 index 0000000..58ba688 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_TIME_compare.html @@ -0,0 +1 @@ +ASN1_TIME_set.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_TIME_diff.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_TIME_diff.html new file mode 120000 index 0000000..58ba688 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_TIME_diff.html @@ -0,0 +1 @@ +ASN1_TIME_set.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_TIME_normalize.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_TIME_normalize.html new file mode 120000 index 0000000..58ba688 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_TIME_normalize.html @@ -0,0 +1 @@ +ASN1_TIME_set.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_TIME_print.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_TIME_print.html new file mode 120000 index 0000000..58ba688 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_TIME_print.html @@ -0,0 +1 @@ +ASN1_TIME_set.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_TIME_set.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_TIME_set.html index 22f0e69..f38b81e 100755 --- a/linux_amd64/share/doc/openssl/html/man3/ASN1_TIME_set.html +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_TIME_set.html @@ -46,8 +46,7 @@ ASN1_TIME_print, ASN1_UTCTIME_print, ASN1_GENERALIZEDTIME_print, ASN1_TIME_diff, ASN1_TIME_cmp_time_t, ASN1_UTCTIME_cmp_time_t, ASN1_TIME_compare, -ASN1_TIME_to_generalizedtime, -ASN1_TIME_dup, ASN1_UTCTIME_dup, ASN1_GENERALIZEDTIME_dup - ASN.1 Time functions

    +ASN1_TIME_to_generalizedtime - ASN.1 Time functions


    @@ -93,112 +92,103 @@ ASN1_TIME_dup, ASN1_UTCTIME_dup, ASN1_GENERALIZEDTIME_dup - ASN.1 Time functions
      ASN1_GENERALIZEDTIME *ASN1_TIME_to_generalizedtime(ASN1_TIME *t,
                                                         ASN1_GENERALIZEDTIME **out);
    -
    - ASN1_TIME *ASN1_TIME_dup(const ASN1_TIME *t);
    - ASN1_UTCTIME *ASN1_UTCTIME_dup(const ASN1_UTCTIME *t);
    - ASN1_GENERALIZEDTIME *ASN1_GENERALIZEDTIME_dup(const ASN1_GENERALIZEDTIME *t);


    DESCRIPTION

    The ASN1_TIME_set(), ASN1_UTCTIME_set() and ASN1_GENERALIZEDTIME_set() -functions set the structure s to the time represented by the time_t -value t. If s is NULL a new time structure is allocated and returned.

    +functions set the structure s to the time represented by the time_t +value t. If s is NULL a new time structure is allocated and returned.

    The ASN1_TIME_adj(), ASN1_UTCTIME_adj() and ASN1_GENERALIZEDTIME_adj() -functions set the time structure s to the time represented -by the time offset_day and offset_sec after the time_t value t. -The values of offset_day or offset_sec can be negative to set a -time before t. The offset_sec value can also exceed the number of -seconds in a day. If s is NULL a new structure is allocated +functions set the time structure s to the time represented +by the time offset_day and offset_sec after the time_t value t. +The values of offset_day or offset_sec can be negative to set a +time before t. The offset_sec value can also exceed the number of +seconds in a day. If s is NULL a new structure is allocated and returned.

    The ASN1_TIME_set_string(), ASN1_UTCTIME_set_string() and -ASN1_GENERALIZEDTIME_set_string() functions set the time structure s -to the time represented by string str which must be in appropriate ASN.1 -time format (for example YYMMDDHHMMSSZ or YYYYMMDDHHMMSSZ). If s is NULL -this function performs a format check on str only. The string str -is copied into s.

    -

    ASN1_TIME_set_string_X509() sets ASN1_TIME structure s to the time -represented by string str which must be in appropriate time format +ASN1_GENERALIZEDTIME_set_string() functions set the time structure s +to the time represented by string str which must be in appropriate ASN.1 +time format (for example YYMMDDHHMMSSZ or YYYYMMDDHHMMSSZ). If s is NULL +this function performs a format check on str only. The string str +is copied into s.

    +

    ASN1_TIME_set_string_X509() sets ASN1_TIME structure s to the time +represented by string str which must be in appropriate time format that RFC 5280 requires, which means it only allows YYMMDDHHMMSSZ and YYYYMMDDHHMMSSZ (leap second is rejected), all other ASN.1 time format -are not allowed. If s is NULL this function performs a format check -on str only.

    -

    The ASN1_TIME_normalize() function converts an ASN1_GENERALIZEDTIME or -ASN1_UTCTIME into a time value that can be used in a certificate. It +are not allowed. If s is NULL this function performs a format check +on str only.

    +

    The ASN1_TIME_normalize() function converts an ASN1_GENERALIZEDTIME or +ASN1_UTCTIME into a time value that can be used in a certificate. It should be used after the ASN1_TIME_set_string() functions and before ASN1_TIME_print() functions to get consistent (i.e. GMT) results.

    The ASN1_TIME_check(), ASN1_UTCTIME_check() and ASN1_GENERALIZEDTIME_check() -functions check the syntax of the time structure s.

    +functions check the syntax of the time structure s.

    The ASN1_TIME_print(), ASN1_UTCTIME_print() and ASN1_GENERALIZEDTIME_print() -functions print the time structure s to BIO b in human readable +functions print the time structure s to BIO b in human readable format. It will be of the format MMM DD HH:MM:SS YYYY [GMT], for example "Feb 3 00:55:52 2015 GMT" it does not include a newline. If the time structure has invalid format it prints out "Bad time value" and returns an error. The output for generalized time may include a fractional part following the second.

    -

    ASN1_TIME_to_tm() converts the time s to the standard tm structure. -If s is NULL, then the current time is converted. The output time is GMT. -The tm_sec, tm_min, tm_hour, tm_mday, tm_wday, tm_yday, -tm_mon and tm_year fields of tm structure are set to proper values, -whereas all other fields are set to 0. If tm is NULL this function performs -a format check on s only. If s is in Generalized format with fractional +

    ASN1_TIME_to_tm() converts the time s to the standard tm structure. +If s is NULL, then the current time is converted. The output time is GMT. +The tm_sec, tm_min, tm_hour, tm_mday, tm_wday, tm_yday, +tm_mon and tm_year fields of tm structure are set to proper values, +whereas all other fields are set to 0. If tm is NULL this function performs +a format check on s only. If s is in Generalized format with fractional seconds, e.g. YYYYMMDDHHMMSS.SSSZ, the fractional seconds will be lost while -converting s to tm structure.

    -

    ASN1_TIME_diff() sets *pday and *psec to the time difference between -from and to. If to represents a time later than from then -one or both (depending on the time difference) of *pday and *psec -will be positive. If to represents a time earlier than from then -one or both of *pday and *psec will be negative. If to and from -represent the same time then *pday and *psec will both be zero. -If both *pday and *psec are nonzero they will always have the same -sign. The value of *psec will always be less than the number of seconds -in a day. If from or to is NULL the current time is used.

    +converting s to tm structure.

    +

    ASN1_TIME_diff() sets *pday and *psec to the time difference between +from and to. If to represents a time later than from then +one or both (depending on the time difference) of *pday and *psec +will be positive. If to represents a time earlier than from then +one or both of *pday and *psec will be negative. If to and from +represent the same time then *pday and *psec will both be zero. +If both *pday and *psec are non-zero they will always have the same +sign. The value of *psec will always be less than the number of seconds +in a day. If from or to is NULL the current time is used.

    The ASN1_TIME_cmp_time_t() and ASN1_UTCTIME_cmp_time_t() functions compare -the two times represented by the time structure s and the time_t t.

    +the two times represented by the time structure s and the time_t t.

    The ASN1_TIME_compare() function compares the two times represented by the -time structures a and b.

    -

    The ASN1_TIME_to_generalizedtime() function converts an ASN1_TIME to an -ASN1_GENERALIZEDTIME, regardless of year. If either out or -*out are NULL, then a new object is allocated and must be freed after use.

    -

    The ASN1_TIME_dup(), ASN1_UTCTIME_dup() and ASN1_GENERALIZEDTIME_dup() functions -duplicate the time structure t and return the duplicated result -correspondingly.

    +time structures a and b.

    +

    The ASN1_TIME_to_generalizedtime() function converts an ASN1_TIME to an +ASN1_GENERALIZEDTIME, regardless of year. If either out or +*out are NULL, then a new object is allocated and must be freed after use.


    NOTES

    -

    The ASN1_TIME structure corresponds to the ASN.1 structure Time +

    The ASN1_TIME structure corresponds to the ASN.1 structure Time defined in RFC5280 et al. The time setting functions obey the rules outlined in RFC5280: if the date can be represented by UTCTime it is used, else GeneralizedTime is used.

    -

    The ASN1_TIME, ASN1_UTCTIME and ASN1_GENERALIZEDTIME structures are -represented as an ASN1_STRING internally and can be freed up using -ASN1_STRING_free().

    -

    The ASN1_TIME structure can represent years from 0000 to 9999 but no attempt +

    The ASN1_TIME, ASN1_UTCTIME and ASN1_GENERALIZEDTIME structures are represented +as an ASN1_STRING internally and can be freed up using ASN1_STRING_free().

    +

    The ASN1_TIME structure can represent years from 0000 to 9999 but no attempt is made to correct ancient calendar changes (for example from Julian to Gregorian calendars).

    -

    ASN1_UTCTIME is limited to a year range of 1950 through 2049.

    +

    ASN1_UTCTIME is limited to a year range of 1950 through 2049.

    Some applications add offset times directly to a time_t value and pass the results to ASN1_TIME_set() (or equivalent). This can cause problems as the time_t value can overflow on some systems resulting in unexpected results. New applications should use ASN1_TIME_adj() instead and pass the offset value -in the offset_sec and offset_day parameters instead of directly +in the offset_sec and offset_day parameters instead of directly manipulating a time_t value.

    -

    ASN1_TIME_adj() may change the type from ASN1_GENERALIZEDTIME to -ASN1_UTCTIME, or vice versa, based on the resulting year. -ASN1_GENERALIZEDTIME_adj() and ASN1_UTCTIME_adj() will not modify the type -of the return structure.

    -

    It is recommended that functions starting with ASN1_TIME be used instead of -those starting with ASN1_UTCTIME or ASN1_GENERALIZEDTIME. The functions -starting with ASN1_UTCTIME and ASN1_GENERALIZEDTIME act only on that -specific time format. The functions starting with ASN1_TIME will operate on -either format.

    +

    ASN1_TIME_adj() may change the type from ASN1_GENERALIZEDTIME to ASN1_UTCTIME, +or vice versa, based on the resulting year. The ASN1_GENERALIZEDTIME_adj() and +ASN1_UTCTIME_adj() functions will not modify the type of the return structure.

    +

    It is recommended that functions starting with ASN1_TIME be used instead of +those starting with ASN1_UTCTIME or ASN1_GENERALIZEDTIME. The functions +starting with ASN1_UTCTIME and ASN1_GENERALIZEDTIME act only on that specific +time format. The functions starting with ASN1_TIME will operate on either +format.


    BUGS

    ASN1_TIME_print(), ASN1_UTCTIME_print() and ASN1_GENERALIZEDTIME_print() -do not print out the timezone: it either prints out "GMT" or nothing. But all +do not print out the time zone: it either prints out "GMT" or nothing. But all certificates complying with RFC5280 et al use GMT anyway.

    Use the ASN1_TIME_normalize() function to normalize the time value before printing to get GMT results.

    @@ -206,31 +196,27 @@ printing to get GMT results.


    RETURN VALUES

    -

    ASN1_TIME_set(), ASN1_UTCTIME_set(), ASN1_GENERALIZEDTIME_set(), -ASN1_TIME_adj(), ASN1_UTCTIME_adj() and ASN1_GENERALIZEDTIME_set() return -a pointer to a time structure or NULL if an error occurred.

    -

    ASN1_TIME_set_string(), ASN1_UTCTIME_set_string(), -ASN1_GENERALIZEDTIME_set_string() and ASN1_TIME_set_string_X509() return -1 if the time value is successfully set and 0 otherwise.

    +

    ASN1_TIME_set(), ASN1_UTCTIME_set(), ASN1_GENERALIZEDTIME_set(), ASN1_TIME_adj(), +ASN1_UTCTIME_adj and ASN1_GENERALIZEDTIME_set return a pointer to a time structure +or NULL if an error occurred.

    +

    ASN1_TIME_set_string(), ASN1_UTCTIME_set_string(), ASN1_GENERALIZEDTIME_set_string() +ASN1_TIME_set_string_X509() return 1 if the time value is successfully set and 0 otherwise.

    ASN1_TIME_normalize() returns 1 on success, and 0 on error.

    ASN1_TIME_check(), ASN1_UTCTIME_check and ASN1_GENERALIZEDTIME_check() return 1 if the structure is syntactically correct and 0 otherwise.

    -

    ASN1_TIME_print(), ASN1_UTCTIME_print() and ASN1_GENERALIZEDTIME_print() return -1 if the time is successfully printed out and 0 if an error occurred (I/O error -or invalid time format).

    +

    ASN1_TIME_print(), ASN1_UTCTIME_print() and ASN1_GENERALIZEDTIME_print() return 1 +if the time is successfully printed out and 0 if an error occurred (I/O error or +invalid time format).

    ASN1_TIME_to_tm() returns 1 if the time is successfully parsed and 0 if an error occurred (invalid time format).

    ASN1_TIME_diff() returns 1 for success and 0 for failure. It can fail if the passed-in time structure has invalid syntax, for example.

    -

    ASN1_TIME_cmp_time_t() and ASN1_UTCTIME_cmp_time_t() return -1 if s is -before t, 0 if s equals t, or 1 if s is after t. -2 is returned +

    ASN1_TIME_cmp_time_t() and ASN1_UTCTIME_cmp_time_t() return -1 if s is +before t, 0 if s equals t, or 1 if s is after t. -2 is returned on error.

    -

    ASN1_TIME_compare() returns -1 if a is before b, 0 if a equals b, -or 1 if a is after b. -2 is returned on error.

    -

    ASN1_TIME_to_generalizedtime() returns a pointer to the appropriate time -structure on success or NULL if an error occurred.

    -

    ASN1_TIME_dup(), ASN1_UTCTIME_dup() and ASN1_GENERALIZEDTIME_dup() return a -pointer to a time structure or NULL if an error occurred.

    +

    ASN1_TIME_compare() returns -1 if a is before b, 0 if a equals b, or 1 if a is after b. -2 is returned on error.

    +

    ASN1_TIME_to_generalizedtime() returns a pointer to +the appropriate time structure on success or NULL if an error occurred.


    @@ -276,8 +262,8 @@ The ASN1_TIME_compare() function was added in OpenSSL 1.1.1.


    COPYRIGHT

    -

    Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2015-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_TIME_set_string.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_TIME_set_string.html new file mode 120000 index 0000000..58ba688 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_TIME_set_string.html @@ -0,0 +1 @@ +ASN1_TIME_set.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_TIME_set_string_X509.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_TIME_set_string_X509.html new file mode 120000 index 0000000..58ba688 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_TIME_set_string_X509.html @@ -0,0 +1 @@ +ASN1_TIME_set.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_TIME_to_generalizedtime.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_TIME_to_generalizedtime.html new file mode 120000 index 0000000..58ba688 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_TIME_to_generalizedtime.html @@ -0,0 +1 @@ +ASN1_TIME_set.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_TIME_to_tm.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_TIME_to_tm.html new file mode 120000 index 0000000..58ba688 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_TIME_to_tm.html @@ -0,0 +1 @@ +ASN1_TIME_set.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_TYPE_cmp.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_TYPE_cmp.html new file mode 120000 index 0000000..226d07d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_TYPE_cmp.html @@ -0,0 +1 @@ +ASN1_TYPE_get.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_TYPE_get.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_TYPE_get.html index cd120ca..7b32ade 100755 --- a/linux_amd64/share/doc/openssl/html/man3/ASN1_TYPE_get.html +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_TYPE_get.html @@ -53,47 +53,46 @@ functions


    DESCRIPTION

    -

    These functions allow an ASN1_TYPE structure to be manipulated. The -ASN1_TYPE structure can contain any ASN.1 type or constructed type +

    These functions allow an ASN1_TYPE structure to be manipulated. The +ASN1_TYPE structure can contain any ASN.1 type or constructed type such as a SEQUENCE: it is effectively equivalent to the ASN.1 ANY type.

    -

    ASN1_TYPE_get() returns the type of a.

    -

    ASN1_TYPE_set() sets the value of a to type and value. This -function uses the pointer value internally so it must not be freed +

    ASN1_TYPE_get() returns the type of a.

    +

    ASN1_TYPE_set() sets the value of a to type and value. This +function uses the pointer value internally so it must not be freed up after the call.

    -

    ASN1_TYPE_set1() sets the value of a to type a copy of value.

    -

    ASN1_TYPE_cmp() compares ASN.1 types a and b and returns 0 if -they are identical and nonzero otherwise.

    +

    ASN1_TYPE_set1() sets the value of a to type a copy of value.

    +

    ASN1_TYPE_cmp() compares ASN.1 types a and b and returns 0 if +they are identical and non-zero otherwise.

    ASN1_TYPE_unpack_sequence() attempts to parse the SEQUENCE present in -t using the ASN.1 structure it. If successful it returns a pointer -to the ASN.1 structure corresponding to it which must be freed by the +t using the ASN.1 structure it. If successful it returns a pointer +to the ASN.1 structure corresponding to it which must be freed by the caller. If it fails it return NULL.

    -

    ASN1_TYPE_pack_sequence() attempts to encode the ASN.1 structure s -corresponding to it into an ASN1_TYPE. If successful the encoded -ASN1_TYPE is returned. If t and *t are not NULL the encoded type -is written to t overwriting any existing data. If t is not NULL -but *t is NULL the returned ASN1_TYPE is written to *t.

    +

    ASN1_TYPE_pack_sequence() attempts to encode the ASN.1 structure s +corresponding to it into an ASN1_TYPE. If successful the encoded +ASN1_TYPE is returned. If t and *t are not NULL the encoded type +is written to t overwriting any existing data. If t is not NULL +but *t is NULL the returned ASN1_TYPE is written to *t.


    NOTES

    -

    The type and meaning of the value parameter for ASN1_TYPE_set() and -ASN1_TYPE_set1() is determined by the type parameter. -If type is V_ASN1_NULL value is ignored. If type is -V_ASN1_BOOLEAN -then the boolean is set to TRUE if value is not NULL. If type is -V_ASN1_OBJECT then value is an ASN1_OBJECT structure. Otherwise type -is and ASN1_STRING structure. If type corresponds to a primitive type -(or a string type) then the contents of the ASN1_STRING contain the content -octets of the type. If type corresponds to a constructed type or -a tagged type (V_ASN1_SEQUENCE, V_ASN1_SET or V_ASN1_OTHER) then the -ASN1_STRING contains the entire ASN.1 encoding verbatim (including tag and +

    The type and meaning of the value parameter for ASN1_TYPE_set() and +ASN1_TYPE_set1() is determined by the type parameter. +If type is V_ASN1_NULL value is ignored. If type is V_ASN1_BOOLEAN +then the boolean is set to TRUE if value is not NULL. If type is +V_ASN1_OBJECT then value is an ASN1_OBJECT structure. Otherwise type +is and ASN1_STRING structure. If type corresponds to a primitive type +(or a string type) then the contents of the ASN1_STRING contain the content +octets of the type. If type corresponds to a constructed type or +a tagged type (V_ASN1_SEQUENCE, V_ASN1_SET or V_ASN1_OTHER) then the +ASN1_STRING contains the entire ASN.1 encoding verbatim (including tag and length octets).

    ASN1_TYPE_cmp() may not return zero if two types are equivalent but have different encodings. For example the single content octet of the boolean TRUE -value under BER can have any nonzero encoding but ASN1_TYPE_cmp() will +value under BER can have any non-zero encoding but ASN1_TYPE_cmp() will only return zero if the values are the same.

    If either or both of the parameters passed to ASN1_TYPE_cmp() is NULL the -return value is nonzero. Technically if both parameters are NULL the two +return value is non-zero. Technically if both parameters are NULL the two types could be absent OPTIONAL fields and so should match, however passing NULL values could also indicate a programming error (for example an unparsable type which returns NULL) for types which do not match. So @@ -102,20 +101,20 @@ applications should handle the case of two absent values separately.


    RETURN VALUES

    -

    ASN1_TYPE_get() returns the type of the ASN1_TYPE argument.

    +

    ASN1_TYPE_get() returns the type of the ASN1_TYPE argument.

    ASN1_TYPE_set() does not return a value.

    ASN1_TYPE_set1() returns 1 for success and 0 for failure.

    -

    ASN1_TYPE_cmp() returns 0 if the types are identical and nonzero otherwise.

    +

    ASN1_TYPE_cmp() returns 0 if the types are identical and non-zero otherwise.

    ASN1_TYPE_unpack_sequence() returns a pointer to an ASN.1 structure or NULL on failure.

    -

    ASN1_TYPE_pack_sequence() return an ASN1_TYPE structure if it succeeds or +

    ASN1_TYPE_pack_sequence() return an ASN1_TYPE structure if it succeeds or NULL on failure.


    COPYRIGHT

    Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_TYPE_pack_sequence.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_TYPE_pack_sequence.html new file mode 120000 index 0000000..226d07d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_TYPE_pack_sequence.html @@ -0,0 +1 @@ +ASN1_TYPE_get.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_TYPE_set.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_TYPE_set.html new file mode 120000 index 0000000..226d07d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_TYPE_set.html @@ -0,0 +1 @@ +ASN1_TYPE_get.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_TYPE_set1.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_TYPE_set1.html new file mode 120000 index 0000000..226d07d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_TYPE_set1.html @@ -0,0 +1 @@ +ASN1_TYPE_get.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_TYPE_unpack_sequence.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_TYPE_unpack_sequence.html new file mode 120000 index 0000000..226d07d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_TYPE_unpack_sequence.html @@ -0,0 +1 @@ +ASN1_TYPE_get.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_UTCTIME_adj.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_UTCTIME_adj.html new file mode 120000 index 0000000..58ba688 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_UTCTIME_adj.html @@ -0,0 +1 @@ +ASN1_TIME_set.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_UTCTIME_check.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_UTCTIME_check.html new file mode 120000 index 0000000..58ba688 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_UTCTIME_check.html @@ -0,0 +1 @@ +ASN1_TIME_set.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_UTCTIME_cmp_time_t.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_UTCTIME_cmp_time_t.html new file mode 120000 index 0000000..58ba688 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_UTCTIME_cmp_time_t.html @@ -0,0 +1 @@ +ASN1_TIME_set.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_UTCTIME_print.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_UTCTIME_print.html new file mode 120000 index 0000000..58ba688 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_UTCTIME_print.html @@ -0,0 +1 @@ +ASN1_TIME_set.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_UTCTIME_set.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_UTCTIME_set.html new file mode 120000 index 0000000..58ba688 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_UTCTIME_set.html @@ -0,0 +1 @@ +ASN1_TIME_set.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_UTCTIME_set_string.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_UTCTIME_set_string.html new file mode 120000 index 0000000..58ba688 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_UTCTIME_set_string.html @@ -0,0 +1 @@ +ASN1_TIME_set.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_add_oid_module.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_add_oid_module.html new file mode 120000 index 0000000..4a8db77 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_add_oid_module.html @@ -0,0 +1 @@ +OPENSSL_load_builtin_modules.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_generate_nconf.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_generate_nconf.html index 9c8cbcf..4348dc5 100755 --- a/linux_amd64/share/doc/openssl/html/man3/ASN1_generate_nconf.html +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_generate_nconf.html @@ -56,27 +56,27 @@

    DESCRIPTION

    These functions generate the ASN1 encoding of a string in an ASN1_TYPE structure.

    -

    str contains the string to encode nconf or cnf contains +

    str contains the string to encode nconf or cnf contains the optional configuration information where additional strings -will be read from. nconf will typically come from a config -file whereas cnf is obtained from an X509V3_CTX structure +will be read from. nconf will typically come from a config +file whereas cnf is obtained from an X509V3_CTX structure which will typically be used by X509 v3 certificate extension -functions. cnf or nconf can be set to NULL if no additional +functions. cnf or nconf can be set to NULL if no additional configuration will be used.


    GENERATION STRING FORMAT

    -

    The actual data encoded is determined by the string str and +

    The actual data encoded is determined by the string str and the configuration information. The general format of the string is:

    -
    [modifier,]type[:value]
    +
    [modifier,]type[:value]

    That is zero or more comma separated modifiers followed by a type -followed by an optional colon and a value. The formats of type, -value and modifier are explained below.

    +followed by an optional colon and a value. The formats of type, +value and modifier are explained below.

    Supported Types

    @@ -86,7 +86,7 @@ only the ASCII format is permissible.

    BOOLEAN, BOOL
    -

    This encodes a boolean type. The value string is mandatory and +

    This encodes a boolean type. The value string is mandatory and should be TRUE or FALSE. Additionally TRUE, true, Y, y, YES, yes, FALSE, false, N, n, NO and no are acceptable.

    @@ -94,12 +94,12 @@ are acceptable.

    NULL
    -

    Encode the NULL type, the value string must not be present.

    +

    Encode the NULL type, the value string must not be present.

    INTEGER, INT
    -

    Encodes an ASN1 INTEGER type. The value string represents +

    Encodes an ASN1 INTEGER type. The value string represents the value of the integer, it can be prefaced by a minus sign and is normally interpreted as a decimal value unless the prefix 0x is included.

    @@ -113,7 +113,7 @@ is included.

    OBJECT, OID
    -

    Encodes an ASN1 OBJECT IDENTIFIER, the value string can be +

    Encodes an ASN1 OBJECT IDENTIFIER, the value string can be a short name, a long name or numerical format.

    UTCTIME, UTC
    @@ -131,16 +131,16 @@ the format YYYYMMDDHHMMSSZ.

    OCTETSTRING, OCT
    -

    Encodes an ASN1 OCTET STRING. value represents the contents +

    Encodes an ASN1 OCTET STRING. value represents the contents of this structure, the format strings ASCII and HEX can be -used to specify the format of value.

    +used to specify the format of value.

    BITSTRING, BITSTR
    -

    Encodes an ASN1 BIT STRING. value represents the contents +

    Encodes an ASN1 BIT STRING. value represents the contents of this structure, the format strings ASCII, HEX and BITLIST -can be used to specify the format of value.

    +can be used to specify the format of value.

    If the format is anything other than BITLIST the number of unused bits is set to zero.

    @@ -151,16 +151,16 @@ bits is set to zero.

    NUMERIC
    -

    These encode the corresponding string types. value represents the +

    These encode the corresponding string types. value represents the contents of this structure. The format can be ASCII or UTF8.

    SEQUENCE, SEQ, SET
    -

    Formats the result as an ASN1 SEQUENCE or SET type. value +

    Formats the result as an ASN1 SEQUENCE or SET type. value should be a section name which will contain the contents. The field names in the section are ignored and the values are in the -generated string format. If value is absent then an empty SEQUENCE +generated string format. If value is absent then an empty SEQUENCE will be encoded.

    @@ -212,7 +212,7 @@ bits are zero.


    RETURN VALUES

    ASN1_generate_nconf() and ASN1_generate_v3() return the encoded -data as an ASN1_TYPE structure or NULL if an error occurred.

    +data as an ASN1_TYPE structure or NULL if an error occurred.

    The error codes that can be obtained by ERR_get_error(3).

    @@ -303,8 +303,8 @@ structure:


    COPYRIGHT

    -

    Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2002-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_generate_v3.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_generate_v3.html new file mode 120000 index 0000000..718befe --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_generate_v3.html @@ -0,0 +1 @@ +ASN1_generate_nconf.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASN1_tag2str.html b/linux_amd64/share/doc/openssl/html/man3/ASN1_tag2str.html new file mode 120000 index 0000000..8d0effe --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASN1_tag2str.html @@ -0,0 +1 @@ +ASN1_STRING_print_ex.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASRange_free.html b/linux_amd64/share/doc/openssl/html/man3/ASRange_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASRange_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASRange_new.html b/linux_amd64/share/doc/openssl/html/man3/ASRange_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASRange_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASYNC_WAIT_CTX_clear_fd.html b/linux_amd64/share/doc/openssl/html/man3/ASYNC_WAIT_CTX_clear_fd.html new file mode 120000 index 0000000..8ff30ec --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASYNC_WAIT_CTX_clear_fd.html @@ -0,0 +1 @@ +ASYNC_WAIT_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASYNC_WAIT_CTX_free.html b/linux_amd64/share/doc/openssl/html/man3/ASYNC_WAIT_CTX_free.html new file mode 120000 index 0000000..8ff30ec --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASYNC_WAIT_CTX_free.html @@ -0,0 +1 @@ +ASYNC_WAIT_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASYNC_WAIT_CTX_get_all_fds.html b/linux_amd64/share/doc/openssl/html/man3/ASYNC_WAIT_CTX_get_all_fds.html new file mode 120000 index 0000000..8ff30ec --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASYNC_WAIT_CTX_get_all_fds.html @@ -0,0 +1 @@ +ASYNC_WAIT_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASYNC_WAIT_CTX_get_changed_fds.html b/linux_amd64/share/doc/openssl/html/man3/ASYNC_WAIT_CTX_get_changed_fds.html new file mode 120000 index 0000000..8ff30ec --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASYNC_WAIT_CTX_get_changed_fds.html @@ -0,0 +1 @@ +ASYNC_WAIT_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASYNC_WAIT_CTX_get_fd.html b/linux_amd64/share/doc/openssl/html/man3/ASYNC_WAIT_CTX_get_fd.html new file mode 120000 index 0000000..8ff30ec --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASYNC_WAIT_CTX_get_fd.html @@ -0,0 +1 @@ +ASYNC_WAIT_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASYNC_WAIT_CTX_new.html b/linux_amd64/share/doc/openssl/html/man3/ASYNC_WAIT_CTX_new.html index 2f26b4a..5aea0d3 100755 --- a/linux_amd64/share/doc/openssl/html/man3/ASYNC_WAIT_CTX_new.html +++ b/linux_amd64/share/doc/openssl/html/man3/ASYNC_WAIT_CTX_new.html @@ -36,12 +36,8 @@

    NAME

    ASYNC_WAIT_CTX_new, ASYNC_WAIT_CTX_free, ASYNC_WAIT_CTX_set_wait_fd, ASYNC_WAIT_CTX_get_fd, ASYNC_WAIT_CTX_get_all_fds, -ASYNC_WAIT_CTX_get_changed_fds, ASYNC_WAIT_CTX_clear_fd, -ASYNC_WAIT_CTX_set_callback, ASYNC_WAIT_CTX_get_callback, -ASYNC_WAIT_CTX_set_status, ASYNC_WAIT_CTX_get_status, ASYNC_callback_fn, -ASYNC_STATUS_UNSUPPORTED, ASYNC_STATUS_ERR, ASYNC_STATUS_OK, -ASYNC_STATUS_EAGAIN -- functions to manage waiting for asynchronous jobs to complete

    +ASYNC_WAIT_CTX_get_changed_fds, ASYNC_WAIT_CTX_clear_fd - functions to manage +waiting for asynchronous jobs to complete


    @@ -49,11 +45,6 @@ ASYNC_STATUS_EAGAIN
      #include <openssl/async.h>
    - #define ASYNC_STATUS_UNSUPPORTED    0
    - #define ASYNC_STATUS_ERR            1
    - #define ASYNC_STATUS_OK             2
    - #define ASYNC_STATUS_EAGAIN         3
    - typedef int (*ASYNC_callback_fn)(void *arg);
      ASYNC_WAIT_CTX *ASYNC_WAIT_CTX_new(void);
      void ASYNC_WAIT_CTX_free(ASYNC_WAIT_CTX *ctx);
      int ASYNC_WAIT_CTX_set_wait_fd(ASYNC_WAIT_CTX *ctx, const void *key,
    @@ -68,75 +59,67 @@ ASYNC_STATUS_EAGAIN
      int ASYNC_WAIT_CTX_get_changed_fds(ASYNC_WAIT_CTX *ctx, OSSL_ASYNC_FD *addfd,
                                         size_t *numaddfds, OSSL_ASYNC_FD *delfd,
                                         size_t *numdelfds);
    - int ASYNC_WAIT_CTX_clear_fd(ASYNC_WAIT_CTX *ctx, const void *key);
    - int ASYNC_WAIT_CTX_set_callback(ASYNC_WAIT_CTX *ctx,
    -                                 ASYNC_callback_fn callback,
    -                                 void *callback_arg);
    - int ASYNC_WAIT_CTX_get_callback(ASYNC_WAIT_CTX *ctx,
    -                                 ASYNC_callback_fn *callback,
    -                                 void **callback_arg);
    - int ASYNC_WAIT_CTX_set_status(ASYNC_WAIT_CTX *ctx, int status);
    - int ASYNC_WAIT_CTX_get_status(ASYNC_WAIT_CTX *ctx);
    + int ASYNC_WAIT_CTX_clear_fd(ASYNC_WAIT_CTX *ctx, const void *key);


    DESCRIPTION

    For an overview of how asynchronous operations are implemented in OpenSSL see -ASYNC_start_job(3). An ASYNC_WAIT_CTX object represents an asynchronous +ASYNC_start_job(3). An ASYNC_WAIT_CTX object represents an asynchronous "session", i.e. a related set of crypto operations. For example in SSL terms this would have a one-to-one correspondence with an SSL connection.

    -

    Application code must create an ASYNC_WAIT_CTX using the ASYNC_WAIT_CTX_new() +

    Application code must create an ASYNC_WAIT_CTX using the ASYNC_WAIT_CTX_new() function prior to calling ASYNC_start_job() (see ASYNC_start_job(3)). When -the job is started it is associated with the ASYNC_WAIT_CTX for the duration -of that job. An ASYNC_WAIT_CTX should only be used for one ASYNC_JOB at -any one time, but can be reused after an ASYNC_JOB has finished for a -subsequent ASYNC_JOB. When the session is complete (e.g. the SSL connection -is closed), application code cleans up with ASYNC_WAIT_CTX_free().

    -

    ASYNC_WAIT_CTXs can have "wait" file descriptors associated with them. -Calling ASYNC_WAIT_CTX_get_all_fds() and passing in a pointer to an -ASYNC_WAIT_CTX in the ctx parameter will return the wait file descriptors -associated with that job in *fd. The number of file descriptors returned will -be stored in *numfds. It is the caller's responsibility to ensure that -sufficient memory has been allocated in *fd to receive all the file -descriptors. Calling ASYNC_WAIT_CTX_get_all_fds() with a NULL fd value will -return no file descriptors but will still populate *numfds. Therefore -application code is typically expected to call this function twice: once to get -the number of fds, and then again when sufficient memory has been allocated. If -only one asynchronous engine is being used then normally this call will only -ever return one fd. If multiple asynchronous engines are being used then more -could be returned.

    +the job is started it is associated with the ASYNC_WAIT_CTX for the duration of +that job. An ASYNC_WAIT_CTX should only be used for one ASYNC_JOB at any one +time, but can be reused after an ASYNC_JOB has finished for a subsequent +ASYNC_JOB. When the session is complete (e.g. the SSL connection is closed), +application code cleans up with ASYNC_WAIT_CTX_free().

    +

    ASYNC_WAIT_CTXs can have "wait" file descriptors associated with them. Calling +ASYNC_WAIT_CTX_get_all_fds() and passing in a pointer to an ASYNC_WAIT_CTX in +the ctx parameter will return the wait file descriptors associated with that +job in *fd. The number of file descriptors returned will be stored in +*numfds. It is the caller's responsibility to ensure that sufficient memory +has been allocated in *fd to receive all the file descriptors. Calling +ASYNC_WAIT_CTX_get_all_fds() with a NULL fd value will return no file +descriptors but will still populate *numfds. Therefore application code is +typically expected to call this function twice: once to get the number of fds, +and then again when sufficient memory has been allocated. If only one +asynchronous engine is being used then normally this call will only ever return +one fd. If multiple asynchronous engines are being used then more could be +returned.

    The function ASYNC_WAIT_CTX_get_changed_fds() can be used to detect if any fds -have changed since the last call time ASYNC_start_job() returned ASYNC_PAUSE -(or since the ASYNC_WAIT_CTX was created if no ASYNC_PAUSE result has -been received). The numaddfds and numdelfds parameters will be populated -with the number of fds added or deleted respectively. *addfd and *delfd +have changed since the last call time ASYNC_start_job() returned an ASYNC_PAUSE +result (or since the ASYNC_WAIT_CTX was created if no ASYNC_PAUSE result has +been received). The numaddfds and numdelfds parameters will be populated +with the number of fds added or deleted respectively. *addfd and *delfd will be populated with the list of added and deleted fds respectively. Similarly to ASYNC_WAIT_CTX_get_all_fds() either of these can be NULL, but if they are not NULL then the caller is responsible for ensuring sufficient memory is allocated.

    Implementors of async aware code (e.g. engines) are encouraged to return a -stable fd for the lifetime of the ASYNC_WAIT_CTX in order to reduce the -"churn" of regularly changing fds - although no guarantees of this are provided -to applications.

    +stable fd for the lifetime of the ASYNC_WAIT_CTX in order to reduce the "churn" +of regularly changing fds - although no guarantees of this are provided to +applications.

    Applications can wait for the file descriptor to be ready for "read" using a system function call such as select or poll (being ready for "read" indicates that the job should be resumed). If no file descriptor is made available then an application will have to periodically "poll" the job by attempting to restart it to see if it is ready to continue.

    -

    Async aware code (e.g. engines) can get the current ASYNC_WAIT_CTX from the -job via ASYNC_get_wait_ctx(3) and provide a file descriptor to use for -waiting on by calling ASYNC_WAIT_CTX_set_wait_fd(). Typically this would be done -by an engine immediately prior to calling ASYNC_pause_job() and not by end user -code. An existing association with a file descriptor can be obtained using +

    Async aware code (e.g. engines) can get the current ASYNC_WAIT_CTX from the job +via ASYNC_get_wait_ctx(3) and provide a file descriptor to use for waiting +on by calling ASYNC_WAIT_CTX_set_wait_fd(). Typically this would be done by an +engine immediately prior to calling ASYNC_pause_job() and not by end user code. +An existing association with a file descriptor can be obtained using ASYNC_WAIT_CTX_get_fd() and cleared using ASYNC_WAIT_CTX_clear_fd(). Both of -these functions requires a key value which is unique to the async aware +these functions requires a key value which is unique to the async aware code. This could be any unique value but a good candidate might be the -ENGINE * for the engine. The custom_data parameter can be any value, and +ENGINE * for the engine. The custom_data parameter can be any value, and will be returned in a subsequent call to ASYNC_WAIT_CTX_get_fd(). The ASYNC_WAIT_CTX_set_wait_fd() function also expects a pointer to a "cleanup" routine. This can be NULL but if provided will automatically get called when -the ASYNC_WAIT_CTX is freed, and gives the engine the opportunity to close -the fd or any other resources. Note: The "cleanup" routine does not get called -if the fd is cleared directly via a call to ASYNC_WAIT_CTX_clear_fd().

    +the ASYNC_WAIT_CTX is freed, and gives the engine the opportunity to close the +fd or any other resources. Note: The "cleanup" routine does not get called if +the fd is cleared directly via a call to ASYNC_WAIT_CTX_clear_fd().

    An example of typical usage might be an async capable engine. User code would initiate cryptographic operations. The engine would initiate those operations asynchronously and then call ASYNC_WAIT_CTX_set_wait_fd() followed by @@ -146,71 +129,15 @@ similar function on the wait file descriptor. The engine can signal to the user code that the job should be resumed by making the wait file descriptor "readable". Once resumed the engine should clear the wake signal on the wait file descriptor.

    -

    As well as a file descriptor, user code may also be notified via a callback. The -callback and data pointers are stored within the ASYNC_WAIT_CTX along with an -additional status field that can be used for the notification of retries from an -engine. This additional method can be used when the user thinks that a file -descriptor is too costly in terms of CPU cycles or in some context where a file -descriptor is not appropriate.

    -

    ASYNC_WAIT_CTX_set_callback() sets the callback and the callback argument. The -callback will be called to notify user code when an engine completes a -cryptography operation. It is a requirement that the callback function is small -and non-blocking as it will be run in the context of a polling mechanism or an -interrupt.

    -

    ASYNC_WAIT_CTX_get_callback() returns the callback set in the ASYNC_WAIT_CTX -structure.

    -

    ASYNC_WAIT_CTX_set_status() allows an engine to set the current engine status. -The possible status values are the following:

    -
    -
    ASYNC_STATUS_UNSUPPORTED
    - -
    -

    The engine does not support the callback mechanism. This is the default value. -The engine must call ASYNC_WAIT_CTX_set_status() to set the status to some value -other than ASYNC_STATUS_UNSUPPORTED if it intends to enable the callback -mechanism.

    -
    -
    ASYNC_STATUS_ERR
    - -
    -

    The engine has a fatal problem with this request. The user code should clean up -this session.

    -
    -
    ASYNC_STATUS_OK
    - -
    -

    The request has been successfully submitted.

    -
    -
    ASYNC_STATUS_EAGAIN
    - -
    -

    The engine has some problem which will be recovered soon, such as a buffer is -full, so user code should resume the job.

    -
    -
    -

    ASYNC_WAIT_CTX_get_status() allows user code to obtain the current status value. -If the status is any value other than ASYNC_STATUS_OK then the user code -should not expect to receive a callback from the engine even if one has been -set.

    -

    An example of the usage of the callback method might be the following. User -code would initiate cryptographic operations, and the engine code would dispatch -this operation to hardware, and if the dispatch is successful, then the engine -code would call ASYNC_pause_job() to return control to the user code. After -that, user code can perform other tasks. When the hardware completes the -operation, normally it is detected by a polling function or an interrupt, as the -user code set a callback by calling ASYNC_WAIT_CTX_set_callback() previously, -then the registered callback will be called.


    RETURN VALUES

    -

    ASYNC_WAIT_CTX_new() returns a pointer to the newly allocated ASYNC_WAIT_CTX -or NULL on error.

    +

    ASYNC_WAIT_CTX_new() returns a pointer to the newly allocated ASYNC_WAIT_CTX or +NULL on error.

    ASYNC_WAIT_CTX_set_wait_fd, ASYNC_WAIT_CTX_get_fd, ASYNC_WAIT_CTX_get_all_fds, -ASYNC_WAIT_CTX_get_changed_fds, ASYNC_WAIT_CTX_clear_fd, -ASYNC_WAIT_CTX_set_callback, ASYNC_WAIT_CTX_get_callback and -ASYNC_WAIT_CTX_set_status all return 1 on success or 0 on error. -ASYNC_WAIT_CTX_get_status() returns the engine status.

    +ASYNC_WAIT_CTX_get_changed_fds and ASYNC_WAIT_CTX_clear_fd all return 1 on +success or 0 on error.


    @@ -234,15 +161,12 @@ windows.h prior to async.h.

    ASYNC_WAIT_CTX_get_fd(), ASYNC_WAIT_CTX_get_all_fds(), ASYNC_WAIT_CTX_get_changed_fds() and ASYNC_WAIT_CTX_clear_fd() were added in OpenSSL 1.1.0.

    -

    ASYNC_WAIT_CTX_set_callback(), ASYNC_WAIT_CTX_get_callback(), -ASYNC_WAIT_CTX_set_status(), and ASYNC_WAIT_CTX_get_status() -were added in OpenSSL 3.0.


    COPYRIGHT

    Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/ASYNC_WAIT_CTX_set_wait_fd.html b/linux_amd64/share/doc/openssl/html/man3/ASYNC_WAIT_CTX_set_wait_fd.html new file mode 120000 index 0000000..8ff30ec --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASYNC_WAIT_CTX_set_wait_fd.html @@ -0,0 +1 @@ +ASYNC_WAIT_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASYNC_block_pause.html b/linux_amd64/share/doc/openssl/html/man3/ASYNC_block_pause.html new file mode 120000 index 0000000..e064cad --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASYNC_block_pause.html @@ -0,0 +1 @@ +ASYNC_start_job.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASYNC_cleanup_thread.html b/linux_amd64/share/doc/openssl/html/man3/ASYNC_cleanup_thread.html new file mode 120000 index 0000000..e064cad --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASYNC_cleanup_thread.html @@ -0,0 +1 @@ +ASYNC_start_job.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASYNC_get_current_job.html b/linux_amd64/share/doc/openssl/html/man3/ASYNC_get_current_job.html new file mode 120000 index 0000000..e064cad --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASYNC_get_current_job.html @@ -0,0 +1 @@ +ASYNC_start_job.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASYNC_get_wait_ctx.html b/linux_amd64/share/doc/openssl/html/man3/ASYNC_get_wait_ctx.html new file mode 120000 index 0000000..e064cad --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASYNC_get_wait_ctx.html @@ -0,0 +1 @@ +ASYNC_start_job.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASYNC_init_thread.html b/linux_amd64/share/doc/openssl/html/man3/ASYNC_init_thread.html new file mode 120000 index 0000000..e064cad --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASYNC_init_thread.html @@ -0,0 +1 @@ +ASYNC_start_job.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASYNC_is_capable.html b/linux_amd64/share/doc/openssl/html/man3/ASYNC_is_capable.html new file mode 120000 index 0000000..e064cad --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASYNC_is_capable.html @@ -0,0 +1 @@ +ASYNC_start_job.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASYNC_pause_job.html b/linux_amd64/share/doc/openssl/html/man3/ASYNC_pause_job.html new file mode 120000 index 0000000..e064cad --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASYNC_pause_job.html @@ -0,0 +1 @@ +ASYNC_start_job.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ASYNC_start_job.html b/linux_amd64/share/doc/openssl/html/man3/ASYNC_start_job.html index 3928bdc..0949c99 100755 --- a/linux_amd64/share/doc/openssl/html/man3/ASYNC_start_job.html +++ b/linux_amd64/share/doc/openssl/html/man3/ASYNC_start_job.html @@ -63,37 +63,37 @@ ASYNC_get_current_job, ASYNC_block_pause, ASYNC_unblock_pause, ASYNC_is_capable


    DESCRIPTION

    -

    OpenSSL implements asynchronous capabilities through an ASYNC_JOB. This +

    OpenSSL implements asynchronous capabilities through an ASYNC_JOB. This represents code that can be started and executes until some event occurs. At that point the code can be paused and control returns to user code until some subsequent event indicates that the job can be resumed.

    -

    The creation of an ASYNC_JOB is a relatively expensive operation. Therefore, -for efficiency reasons, jobs can be created up front and reused many times. They -are held in a pool until they are needed, at which point they are removed from -the pool, used, and then returned to the pool when the job completes. If the -user application is multi-threaded, then ASYNC_init_thread() may be called for -each thread that will initiate asynchronous jobs. Before +

    The creation of an ASYNC_JOB is a relatively expensive operation. Therefore, for +efficiency reasons, jobs can be created up front and reused many times. They are +held in a pool until they are needed, at which point they are removed from the +pool, used, and then returned to the pool when the job completes. If the user +application is multi-threaded, then ASYNC_init_thread() may be called for each +thread that will initiate asynchronous jobs. Before user code exits per-thread resources need to be cleaned up. This will normally occur automatically (see OPENSSL_init_crypto(3)) but may be explicitly initiated by using ASYNC_cleanup_thread(). No asynchronous jobs must be outstanding for the thread when ASYNC_cleanup_thread() is called. Failing to ensure this will result in memory leaks.

    -

    The max_size argument limits the number of ASYNC_JOBs that will be held in -the pool. If max_size is set to 0 then no upper limit is set. When an -ASYNC_JOB is needed but there are none available in the pool already then one -will be automatically created, as long as the total of ASYNC_JOBs managed by -the pool does not exceed max_size. When the pool is first initialised -init_size ASYNC_JOBs will be created immediately. If ASYNC_init_thread() -is not called before the pool is first used then it will be called automatically -with a max_size of 0 (no upper limit) and an init_size of 0 (no -ASYNC_JOBs created up front).

    +

    The max_size argument limits the number of ASYNC_JOBs that will be held in +the pool. If max_size is set to 0 then no upper limit is set. When an +ASYNC_JOB is needed but there are none available in the pool already then one +will be automatically created, as long as the total of ASYNC_JOBs managed by the +pool does not exceed max_size. When the pool is first initialised +init_size ASYNC_JOBs will be created immediately. If ASYNC_init_thread() is +not called before the pool is first used then it will be called automatically +with a max_size of 0 (no upper limit) and an init_size of 0 (no ASYNC_JOBs +created up front).

    An asynchronous job is started by calling the ASYNC_start_job() function. -Initially *job should be NULL. ctx should point to an ASYNC_WAIT_CTX -object created through the ASYNC_WAIT_CTX_new(3) function. ret should +Initially *job should be NULL. ctx should point to an ASYNC_WAIT_CTX +object created through the ASYNC_WAIT_CTX_new(3) function. ret should point to a location where the return value of the asynchronous function should -be stored on completion of the job. func represents the function that should -be started asynchronously. The data pointed to by args and of size size -will be copied and then passed as an argument to func when the job starts. +be stored on completion of the job. func represents the function that should +be started asynchronously. The data pointed to by args and of size size +will be copied and then passed as an argument to func when the job starts. ASYNC_start_job will return one of the following values:

    ASYNC_ERR
    @@ -112,61 +112,58 @@ again at a later time.

    The job was successfully started but was "paused" before it completed (see -ASYNC_pause_job() below). A handle to the job is placed in *job. Other work +ASYNC_pause_job() below). A handle to the job is placed in *job. Other work can be performed (if desired) and the job restarted at a later time. To restart -a job call ASYNC_start_job() again passing the job handle in *job. The -func, args and size parameters will be ignored when restarting a job. +a job call ASYNC_start_job() again passing the job handle in *job. The +func, args and size parameters will be ignored when restarting a job. When restarting a job ASYNC_start_job() must be called from the same thread that the job was originally started from.

    ASYNC_FINISH
    -

    The job completed. *job will be NULL and the return value from func will -be placed in *ret.

    +

    The job completed. *job will be NULL and the return value from func will +be placed in *ret.

    At any one time there can be a maximum of one job actively running per thread (you can have many that are paused). ASYNC_get_current_job() can be used to get -a pointer to the currently executing ASYNC_JOB. If no job is currently -executing then this will return NULL.

    +a pointer to the currently executing ASYNC_JOB. If no job is currently executing +then this will return NULL.

    If executing within the context of a job (i.e. having been called directly or indirectly by the function "func" passed as an argument to ASYNC_start_job()) then ASYNC_pause_job() will immediately return control to the calling -application with ASYNC_PAUSE returned from the ASYNC_start_job() call. A -subsequent call to ASYNC_start_job passing in the relevant ASYNC_JOB in the -*job parameter will resume execution from the ASYNC_pause_job() call. If +application with ASYNC_PAUSE returned from the ASYNC_start_job() call. A +subsequent call to ASYNC_start_job passing in the relevant ASYNC_JOB in the +*job parameter will resume execution from the ASYNC_pause_job() call. If ASYNC_pause_job() is called whilst not within the context of a job then no action is taken and ASYNC_pause_job() returns immediately.

    -

    ASYNC_get_wait_ctx() can be used to get a pointer to the ASYNC_WAIT_CTX -for the job. ASYNC_WAIT_CTXs contain two different ways to notify -applications that a job is ready to be resumed. One is a "wait" file -descriptor, and the other is a "callback" mechanism.

    -

    The "wait" file descriptor associated with ASYNC_WAIT_CTX is used for -applications to wait for the file descriptor to be ready for "read" using a -system function call such as select or poll (being ready for "read" indicates -that the job should be resumed). If no file descriptor is made available then -an application will have to periodically "poll" the job by attempting to restart -it to see if it is ready to continue.

    -

    ASYNC_WAIT_CTXs also have a "callback" mechanism to notify applications. The -callback is set by an application, and it will be automatically called when an -engine completes a cryptography operation, so that the application can resume -the paused work flow without polling. An engine could be written to look whether -the callback has been set. If it has then it would use the callback mechanism -in preference to the file descriptor notifications. If a callback is not set -then the engine may use file descriptor based notifications. Please note that -not all engines may support the callback mechanism, so the callback may not be -used even if it has been set. See ASYNC_WAIT_CTX_new() for more details.

    +

    ASYNC_get_wait_ctx() can be used to get a pointer to the ASYNC_WAIT_CTX +for the job. ASYNC_WAIT_CTXs can have a "wait" file descriptor associated +with them. Applications can wait for the file descriptor to be ready for "read" +using a system function call such as select or poll (being ready for "read" +indicates that the job should be resumed). If no file descriptor is made +available then an application will have to periodically "poll" the job by +attempting to restart it to see if it is ready to continue.

    +

    An example of typical usage might be an async capable engine. User code would +initiate cryptographic operations. The engine would initiate those operations +asynchronously and then call ASYNC_WAIT_CTX_set_wait_fd(3) followed by +ASYNC_pause_job() to return control to the user code. The user code can then +perform other tasks or wait for the job to be ready by calling "select" or other +similar function on the wait file descriptor. The engine can signal to the user +code that the job should be resumed by making the wait file descriptor +"readable". Once resumed the engine should clear the wake signal on the wait +file descriptor.

    The ASYNC_block_pause() function will prevent the currently active job from pausing. The block will remain in place until a subsequent call to ASYNC_unblock_pause(). These functions can be nested, e.g. if you call ASYNC_block_pause() twice then you must call ASYNC_unblock_pause() twice in order to re-enable pausing. If these functions are called while there is no currently active job then they have no effect. This functionality can be useful -to avoid deadlock scenarios. For example during the execution of an ASYNC_JOB -an application acquires a lock. It then calls some cryptographic function which +to avoid deadlock scenarios. For example during the execution of an ASYNC_JOB an +application acquires a lock. It then calls some cryptographic function which invokes ASYNC_pause_job(). This returns control back to the code that created -the ASYNC_JOB. If that code then attempts to acquire the same lock before +the ASYNC_JOB. If that code then attempts to acquire the same lock before resuming the original job then a deadlock can occur. By calling ASYNC_block_pause() immediately after acquiring the lock and ASYNC_unblock_pause() immediately before releasing it then this situation cannot @@ -178,14 +175,14 @@ can be used to detect whether the current platform is async capable or not.


    RETURN VALUES

    ASYNC_init_thread returns 1 on success or 0 otherwise.

    -

    ASYNC_start_job returns one of ASYNC_ERR, ASYNC_NO_JOBS, ASYNC_PAUSE or -ASYNC_FINISH as described above.

    +

    ASYNC_start_job returns one of ASYNC_ERR, ASYNC_NO_JOBS, ASYNC_PAUSE or +ASYNC_FINISH as described above.

    ASYNC_pause_job returns 0 if an error occurred or 1 on success. If called when -not within the context of an ASYNC_JOB then this is counted as success so 1 -is returned.

    -

    ASYNC_get_current_job returns a pointer to the currently executing ASYNC_JOB -or NULL if not within the context of a job.

    -

    ASYNC_get_wait_ctx() returns a pointer to the ASYNC_WAIT_CTX for the job.

    +not within the context of an ASYNC_JOB then this is counted as success so 1 is +returned.

    +

    ASYNC_get_current_job returns a pointer to the currently executing ASYNC_JOB or +NULL if not within the context of a job.

    +

    ASYNC_get_wait_ctx() returns a pointer to the ASYNC_WAIT_CTX for the job.

    ASYNC_is_capable() returns 1 if the current platform is async capable or 0 otherwise.

    @@ -353,8 +350,8 @@ added in OpenSSL 1.1.0.


    COPYRIGHT

    -

    Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2015-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/ASYNC_unblock_pause.html b/linux_amd64/share/doc/openssl/html/man3/ASYNC_unblock_pause.html new file mode 120000 index 0000000..e064cad --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ASYNC_unblock_pause.html @@ -0,0 +1 @@ +ASYNC_start_job.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/AUTHORITY_INFO_ACCESS_free.html b/linux_amd64/share/doc/openssl/html/man3/AUTHORITY_INFO_ACCESS_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/AUTHORITY_INFO_ACCESS_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/AUTHORITY_INFO_ACCESS_new.html b/linux_amd64/share/doc/openssl/html/man3/AUTHORITY_INFO_ACCESS_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/AUTHORITY_INFO_ACCESS_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/AUTHORITY_KEYID_free.html b/linux_amd64/share/doc/openssl/html/man3/AUTHORITY_KEYID_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/AUTHORITY_KEYID_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/AUTHORITY_KEYID_new.html b/linux_amd64/share/doc/openssl/html/man3/AUTHORITY_KEYID_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/AUTHORITY_KEYID_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BASIC_CONSTRAINTS_free.html b/linux_amd64/share/doc/openssl/html/man3/BASIC_CONSTRAINTS_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BASIC_CONSTRAINTS_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BASIC_CONSTRAINTS_new.html b/linux_amd64/share/doc/openssl/html/man3/BASIC_CONSTRAINTS_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BASIC_CONSTRAINTS_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BF_cbc_encrypt.html b/linux_amd64/share/doc/openssl/html/man3/BF_cbc_encrypt.html new file mode 120000 index 0000000..2a8d02c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BF_cbc_encrypt.html @@ -0,0 +1 @@ +BF_encrypt.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BF_cfb64_encrypt.html b/linux_amd64/share/doc/openssl/html/man3/BF_cfb64_encrypt.html new file mode 120000 index 0000000..2a8d02c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BF_cfb64_encrypt.html @@ -0,0 +1 @@ +BF_encrypt.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BF_decrypt.html b/linux_amd64/share/doc/openssl/html/man3/BF_decrypt.html new file mode 120000 index 0000000..2a8d02c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BF_decrypt.html @@ -0,0 +1 @@ +BF_encrypt.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BF_ecb_encrypt.html b/linux_amd64/share/doc/openssl/html/man3/BF_ecb_encrypt.html new file mode 120000 index 0000000..2a8d02c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BF_ecb_encrypt.html @@ -0,0 +1 @@ +BF_encrypt.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BF_encrypt.html b/linux_amd64/share/doc/openssl/html/man3/BF_encrypt.html index 8eea641..a1e70ab 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BF_encrypt.html +++ b/linux_amd64/share/doc/openssl/html/man3/BF_encrypt.html @@ -22,7 +22,6 @@
  16. RETURN VALUES
  17. NOTE
  18. SEE ALSO
  19. -
  20. HISTORY
  21. COPYRIGHT
  22. @@ -42,9 +41,6 @@ BF_cfb64_encrypt, BF_ofb64_encrypt, BF_options - Blowfish encryption

    SYNOPSIS

      #include <openssl/blowfish.h>
    -

    Deprecated since OpenSSL 3.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

      void BF_set_key(BF_KEY *key, int len, const unsigned char *data);
    @@ -67,9 +63,6 @@ BF_cfb64_encrypt, BF_ofb64_encrypt, BF_options - Blowfish encryption


    DESCRIPTION

    -

    All of the functions described on this page are deprecated. Applications should -instead use EVP_EncryptInit_ex(3), EVP_EncryptUpdate(3) and -EVP_EncryptFinal_ex(3) or the equivalently named decrypt functions.

    This library implements the Blowfish cipher, which was invented and described by Counterpane (see http://www.counterpane.com/blowfish.html ).

    Blowfish is a block cipher that operates on 64 bit (8 byte) blocks of data. @@ -144,14 +137,9 @@ functions directly.


    -

    HISTORY

    -

    All of these functions were deprecated in OpenSSL 3.0.

    -

    -

    -

    COPYRIGHT

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/BF_ofb64_encrypt.html b/linux_amd64/share/doc/openssl/html/man3/BF_ofb64_encrypt.html new file mode 120000 index 0000000..2a8d02c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BF_ofb64_encrypt.html @@ -0,0 +1 @@ +BF_encrypt.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BF_options.html b/linux_amd64/share/doc/openssl/html/man3/BF_options.html new file mode 120000 index 0000000..2a8d02c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BF_options.html @@ -0,0 +1 @@ +BF_encrypt.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BF_set_key.html b/linux_amd64/share/doc/openssl/html/man3/BF_set_key.html new file mode 120000 index 0000000..2a8d02c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BF_set_key.html @@ -0,0 +1 @@ +BF_encrypt.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_ADDR.html b/linux_amd64/share/doc/openssl/html/man3/BIO_ADDR.html index d6bd1df..dc80944 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BIO_ADDR.html +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_ADDR.html @@ -80,7 +80,7 @@ therefore ignored) and populates the given BIO_ADDR with them. In case this creates a AF_UNIX BIO_ADDR, wherelen is expected to be the length of the path string (not including the terminating NUL, such as the result of a call to strlen()). -Read on about the addresses in RAW ADDRESSES below.

    +Read on about the addresses in RAW ADDRESSES below.

    BIO_ADDR_family() returns the protocol family of the given BIO_ADDR. The possible non-error results are one of the constants AF_INET, AF_INET6 and AF_UNIX. It will also return AF_UNSPEC if the @@ -95,7 +95,7 @@ order, most significant byte first. In case this is a AF_UNIX BIO_ADDR, l gets the length of the path string (not including the terminating NUL, such as the result of a call to strlen()). -Read on about the addresses in RAW ADDRESSES below.

    +Read on about the addresses in RAW ADDRESSES below.

    BIO_ADDR_rawport() returns the raw port of the given BIO_ADDR. The raw port will be in network byte order.

    BIO_ADDR_hostname_string() returns a character string with the @@ -143,7 +143,7 @@ information they should return isn't available.


    COPYRIGHT

    Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_ADDRINFO.html b/linux_amd64/share/doc/openssl/html/man3/BIO_ADDRINFO.html index 76da541..9192e5b 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BIO_ADDRINFO.html +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_ADDRINFO.html @@ -132,7 +132,7 @@ explicitly set to IPPROTO_SCTP. The same may be true on other platforms.


    COPYRIGHT

    Copyright 2016-2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_ADDRINFO_address.html b/linux_amd64/share/doc/openssl/html/man3/BIO_ADDRINFO_address.html new file mode 120000 index 0000000..6eec175 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_ADDRINFO_address.html @@ -0,0 +1 @@ +BIO_ADDRINFO.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_ADDRINFO_family.html b/linux_amd64/share/doc/openssl/html/man3/BIO_ADDRINFO_family.html new file mode 120000 index 0000000..6eec175 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_ADDRINFO_family.html @@ -0,0 +1 @@ +BIO_ADDRINFO.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_ADDRINFO_free.html b/linux_amd64/share/doc/openssl/html/man3/BIO_ADDRINFO_free.html new file mode 120000 index 0000000..6eec175 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_ADDRINFO_free.html @@ -0,0 +1 @@ +BIO_ADDRINFO.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_ADDRINFO_next.html b/linux_amd64/share/doc/openssl/html/man3/BIO_ADDRINFO_next.html new file mode 120000 index 0000000..6eec175 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_ADDRINFO_next.html @@ -0,0 +1 @@ +BIO_ADDRINFO.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_ADDRINFO_protocol.html b/linux_amd64/share/doc/openssl/html/man3/BIO_ADDRINFO_protocol.html new file mode 120000 index 0000000..6eec175 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_ADDRINFO_protocol.html @@ -0,0 +1 @@ +BIO_ADDRINFO.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_ADDRINFO_socktype.html b/linux_amd64/share/doc/openssl/html/man3/BIO_ADDRINFO_socktype.html new file mode 120000 index 0000000..6eec175 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_ADDRINFO_socktype.html @@ -0,0 +1 @@ +BIO_ADDRINFO.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_ADDR_clear.html b/linux_amd64/share/doc/openssl/html/man3/BIO_ADDR_clear.html new file mode 120000 index 0000000..538ac92 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_ADDR_clear.html @@ -0,0 +1 @@ +BIO_ADDR.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_ADDR_family.html b/linux_amd64/share/doc/openssl/html/man3/BIO_ADDR_family.html new file mode 120000 index 0000000..538ac92 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_ADDR_family.html @@ -0,0 +1 @@ +BIO_ADDR.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_ADDR_free.html b/linux_amd64/share/doc/openssl/html/man3/BIO_ADDR_free.html new file mode 120000 index 0000000..538ac92 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_ADDR_free.html @@ -0,0 +1 @@ +BIO_ADDR.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_ADDR_hostname_string.html b/linux_amd64/share/doc/openssl/html/man3/BIO_ADDR_hostname_string.html new file mode 120000 index 0000000..538ac92 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_ADDR_hostname_string.html @@ -0,0 +1 @@ +BIO_ADDR.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_ADDR_new.html b/linux_amd64/share/doc/openssl/html/man3/BIO_ADDR_new.html new file mode 120000 index 0000000..538ac92 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_ADDR_new.html @@ -0,0 +1 @@ +BIO_ADDR.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_ADDR_path_string.html b/linux_amd64/share/doc/openssl/html/man3/BIO_ADDR_path_string.html new file mode 120000 index 0000000..538ac92 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_ADDR_path_string.html @@ -0,0 +1 @@ +BIO_ADDR.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_ADDR_rawaddress.html b/linux_amd64/share/doc/openssl/html/man3/BIO_ADDR_rawaddress.html new file mode 120000 index 0000000..538ac92 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_ADDR_rawaddress.html @@ -0,0 +1 @@ +BIO_ADDR.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_ADDR_rawmake.html b/linux_amd64/share/doc/openssl/html/man3/BIO_ADDR_rawmake.html new file mode 120000 index 0000000..538ac92 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_ADDR_rawmake.html @@ -0,0 +1 @@ +BIO_ADDR.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_ADDR_rawport.html b/linux_amd64/share/doc/openssl/html/man3/BIO_ADDR_rawport.html new file mode 120000 index 0000000..538ac92 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_ADDR_rawport.html @@ -0,0 +1 @@ +BIO_ADDR.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_ADDR_service_string.html b/linux_amd64/share/doc/openssl/html/man3/BIO_ADDR_service_string.html new file mode 120000 index 0000000..538ac92 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_ADDR_service_string.html @@ -0,0 +1 @@ +BIO_ADDR.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_accept_ex.html b/linux_amd64/share/doc/openssl/html/man3/BIO_accept_ex.html new file mode 120000 index 0000000..31fcee2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_accept_ex.html @@ -0,0 +1 @@ +BIO_connect.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_append_filename.html b/linux_amd64/share/doc/openssl/html/man3/BIO_append_filename.html new file mode 120000 index 0000000..325ebbb --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_append_filename.html @@ -0,0 +1 @@ +BIO_s_file.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_bind.html b/linux_amd64/share/doc/openssl/html/man3/BIO_bind.html new file mode 120000 index 0000000..31fcee2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_bind.html @@ -0,0 +1 @@ +BIO_connect.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_callback_ctrl.html b/linux_amd64/share/doc/openssl/html/man3/BIO_callback_ctrl.html new file mode 120000 index 0000000..f1ad7ee --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_callback_ctrl.html @@ -0,0 +1 @@ +BIO_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_callback_fn.html b/linux_amd64/share/doc/openssl/html/man3/BIO_callback_fn.html new file mode 120000 index 0000000..a566161 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_callback_fn.html @@ -0,0 +1 @@ +BIO_set_callback.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_callback_fn_ex.html b/linux_amd64/share/doc/openssl/html/man3/BIO_callback_fn_ex.html new file mode 120000 index 0000000..a566161 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_callback_fn_ex.html @@ -0,0 +1 @@ +BIO_set_callback.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_closesocket.html b/linux_amd64/share/doc/openssl/html/man3/BIO_closesocket.html new file mode 120000 index 0000000..31fcee2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_closesocket.html @@ -0,0 +1 @@ +BIO_connect.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_connect.html b/linux_amd64/share/doc/openssl/html/man3/BIO_connect.html index b6626b0..5cfc1c4 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BIO_connect.html +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_connect.html @@ -144,7 +144,7 @@ Use the functions described above instead.


    COPYRIGHT

    Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_ctrl.html b/linux_amd64/share/doc/openssl/html/man3/BIO_ctrl.html index 1966fb5..c10754d 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BIO_ctrl.html +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_ctrl.html @@ -22,7 +22,6 @@
  23. RETURN VALUES
  24. NOTES
  25. BUGS
  26. -
  27. HISTORY
  28. COPYRIGHT
  29. @@ -37,8 +36,7 @@

    BIO_ctrl, BIO_callback_ctrl, BIO_ptr_ctrl, BIO_int_ctrl, BIO_reset, BIO_seek, BIO_tell, BIO_flush, BIO_eof, BIO_set_close, BIO_get_close, BIO_pending, BIO_wpending, BIO_ctrl_pending, BIO_ctrl_wpending, -BIO_get_info_callback, BIO_set_info_callback, BIO_info_cb, BIO_get_ktls_send, -BIO_get_ktls_recv +BIO_get_info_callback, BIO_set_info_callback, BIO_info_cb - BIO control operations

    @@ -68,9 +66,6 @@ BIO_get_ktls_recv
      int BIO_get_info_callback(BIO *b, BIO_info_cb **cbp);
      int BIO_set_info_callback(BIO *b, BIO_info_cb *cb);
    -
    - int BIO_get_ktls_send(BIO *b);
    - int BIO_get_ktls_recv(BIO *b);


    @@ -102,10 +97,6 @@ return the number of pending characters in the BIOs read and write buffers. Not all BIOs support these calls. BIO_ctrl_pending() and BIO_ctrl_wpending() return a size_t type and are functions, BIO_pending() and BIO_wpending() are macros which call BIO_ctrl().

    -

    BIO_get_ktls_send() returns 1 if the BIO is using the Kernel TLS data-path for -sending. Otherwise, it returns zero. -BIO_get_ktls_recv() returns 1 if the BIO is using the Kernel TLS data-path for -receiving. Otherwise, it returns zero.


    @@ -121,10 +112,6 @@ for success and -1 for failure.

    BIO_get_close() returns the close flag value: BIO_CLOSE or BIO_NOCLOSE.

    BIO_pending(), BIO_ctrl_pending(), BIO_wpending() and BIO_ctrl_wpending() return the amount of pending data.

    -

    BIO_get_ktls_send() returns 1 if the BIO is using the Kernel TLS data-path for -sending. Otherwise, it returns zero. -BIO_get_ktls_recv() returns 1 if the BIO is using the Kernel TLS data-path for -receiving. Otherwise, it returns zero.


    @@ -159,15 +146,9 @@ the case of BIO_seek() on a file BIO for a successful operation.


    -

    HISTORY

    -

    The BIO_get_ktls_send() and BIO_get_ktls_recv() functions were added in -OpenSSL 3.0.

    -

    -

    -

    COPYRIGHT

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_ctrl_get_read_request.html b/linux_amd64/share/doc/openssl/html/man3/BIO_ctrl_get_read_request.html new file mode 120000 index 0000000..05662c1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_ctrl_get_read_request.html @@ -0,0 +1 @@ +BIO_s_bio.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_ctrl_get_write_guarantee.html b/linux_amd64/share/doc/openssl/html/man3/BIO_ctrl_get_write_guarantee.html new file mode 120000 index 0000000..05662c1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_ctrl_get_write_guarantee.html @@ -0,0 +1 @@ +BIO_s_bio.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_ctrl_pending.html b/linux_amd64/share/doc/openssl/html/man3/BIO_ctrl_pending.html new file mode 120000 index 0000000..f1ad7ee --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_ctrl_pending.html @@ -0,0 +1 @@ +BIO_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_ctrl_reset_read_request.html b/linux_amd64/share/doc/openssl/html/man3/BIO_ctrl_reset_read_request.html new file mode 120000 index 0000000..05662c1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_ctrl_reset_read_request.html @@ -0,0 +1 @@ +BIO_s_bio.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_ctrl_wpending.html b/linux_amd64/share/doc/openssl/html/man3/BIO_ctrl_wpending.html new file mode 120000 index 0000000..f1ad7ee --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_ctrl_wpending.html @@ -0,0 +1 @@ +BIO_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_debug_callback.html b/linux_amd64/share/doc/openssl/html/man3/BIO_debug_callback.html new file mode 120000 index 0000000..a566161 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_debug_callback.html @@ -0,0 +1 @@ +BIO_set_callback.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_destroy_bio_pair.html b/linux_amd64/share/doc/openssl/html/man3/BIO_destroy_bio_pair.html new file mode 120000 index 0000000..05662c1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_destroy_bio_pair.html @@ -0,0 +1 @@ +BIO_s_bio.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_do_accept.html b/linux_amd64/share/doc/openssl/html/man3/BIO_do_accept.html new file mode 120000 index 0000000..a78e972 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_do_accept.html @@ -0,0 +1 @@ +BIO_s_accept.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_do_connect.html b/linux_amd64/share/doc/openssl/html/man3/BIO_do_connect.html new file mode 120000 index 0000000..6c6f132 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_do_connect.html @@ -0,0 +1 @@ +BIO_s_connect.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_do_handshake.html b/linux_amd64/share/doc/openssl/html/man3/BIO_do_handshake.html new file mode 120000 index 0000000..201471c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_do_handshake.html @@ -0,0 +1 @@ +BIO_f_ssl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_eof.html b/linux_amd64/share/doc/openssl/html/man3/BIO_eof.html new file mode 120000 index 0000000..f1ad7ee --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_eof.html @@ -0,0 +1 @@ +BIO_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_f_base64.html b/linux_amd64/share/doc/openssl/html/man3/BIO_f_base64.html index 3529fe8..41afd25 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BIO_f_base64.html +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_f_base64.html @@ -115,7 +115,7 @@ to reliably determine EOF (for example a MIME boundary).


    COPYRIGHT

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_f_buffer.html b/linux_amd64/share/doc/openssl/html/man3/BIO_f_buffer.html index ce2c0d5..262e196 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BIO_f_buffer.html +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_f_buffer.html @@ -120,7 +120,7 @@ there was an error.


    COPYRIGHT

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_f_cipher.html b/linux_amd64/share/doc/openssl/html/man3/BIO_f_cipher.html index 9d1ff23..5e46e49 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BIO_f_cipher.html +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_f_cipher.html @@ -96,7 +96,7 @@ for failure.


    COPYRIGHT

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_f_md.html b/linux_amd64/share/doc/openssl/html/man3/BIO_f_md.html index 5c6cbd2..141defe 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BIO_f_md.html +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_f_md.html @@ -180,7 +180,7 @@ BIO was initialized first.


    COPYRIGHT

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_f_null.html b/linux_amd64/share/doc/openssl/html/man3/BIO_f_null.html index d2f58d7..5177ef8 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BIO_f_null.html +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_f_null.html @@ -65,7 +65,7 @@ behaves just as though the BIO was not there.


    COPYRIGHT

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_f_ssl.html b/linux_amd64/share/doc/openssl/html/man3/BIO_f_ssl.html index 91ee468..fdb8285 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BIO_f_ssl.html +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_f_ssl.html @@ -311,8 +311,8 @@ be modified to handle this fix or they may free up an already freed BIO.


    COPYRIGHT

    -

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_find_type.html b/linux_amd64/share/doc/openssl/html/man3/BIO_find_type.html index fed88bc..f4b63dd 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BIO_find_type.html +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_find_type.html @@ -89,8 +89,8 @@ certain type.


    COPYRIGHT

    -

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_flush.html b/linux_amd64/share/doc/openssl/html/man3/BIO_flush.html new file mode 120000 index 0000000..f1ad7ee --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_flush.html @@ -0,0 +1 @@ +BIO_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_free.html b/linux_amd64/share/doc/openssl/html/man3/BIO_free.html new file mode 120000 index 0000000..3e54c9f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_free.html @@ -0,0 +1 @@ +BIO_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_free_all.html b/linux_amd64/share/doc/openssl/html/man3/BIO_free_all.html new file mode 120000 index 0000000..3e54c9f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_free_all.html @@ -0,0 +1 @@ +BIO_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_get_accept_ip_family.html b/linux_amd64/share/doc/openssl/html/man3/BIO_get_accept_ip_family.html new file mode 120000 index 0000000..a78e972 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_get_accept_ip_family.html @@ -0,0 +1 @@ +BIO_s_accept.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_get_accept_name.html b/linux_amd64/share/doc/openssl/html/man3/BIO_get_accept_name.html new file mode 120000 index 0000000..a78e972 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_get_accept_name.html @@ -0,0 +1 @@ +BIO_s_accept.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_get_accept_port.html b/linux_amd64/share/doc/openssl/html/man3/BIO_get_accept_port.html new file mode 120000 index 0000000..a78e972 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_get_accept_port.html @@ -0,0 +1 @@ +BIO_s_accept.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_get_bind_mode.html b/linux_amd64/share/doc/openssl/html/man3/BIO_get_bind_mode.html new file mode 120000 index 0000000..a78e972 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_get_bind_mode.html @@ -0,0 +1 @@ +BIO_s_accept.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_get_buffer_num_lines.html b/linux_amd64/share/doc/openssl/html/man3/BIO_get_buffer_num_lines.html new file mode 120000 index 0000000..8f8127a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_get_buffer_num_lines.html @@ -0,0 +1 @@ +BIO_f_buffer.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_get_callback.html b/linux_amd64/share/doc/openssl/html/man3/BIO_get_callback.html new file mode 120000 index 0000000..a566161 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_get_callback.html @@ -0,0 +1 @@ +BIO_set_callback.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_get_callback_arg.html b/linux_amd64/share/doc/openssl/html/man3/BIO_get_callback_arg.html new file mode 120000 index 0000000..a566161 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_get_callback_arg.html @@ -0,0 +1 @@ +BIO_set_callback.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_get_callback_ex.html b/linux_amd64/share/doc/openssl/html/man3/BIO_get_callback_ex.html new file mode 120000 index 0000000..a566161 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_get_callback_ex.html @@ -0,0 +1 @@ +BIO_set_callback.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_get_cipher_ctx.html b/linux_amd64/share/doc/openssl/html/man3/BIO_get_cipher_ctx.html new file mode 120000 index 0000000..5eca86f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_get_cipher_ctx.html @@ -0,0 +1 @@ +BIO_f_cipher.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_get_cipher_status.html b/linux_amd64/share/doc/openssl/html/man3/BIO_get_cipher_status.html new file mode 120000 index 0000000..5eca86f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_get_cipher_status.html @@ -0,0 +1 @@ +BIO_f_cipher.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_get_close.html b/linux_amd64/share/doc/openssl/html/man3/BIO_get_close.html new file mode 120000 index 0000000..f1ad7ee --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_get_close.html @@ -0,0 +1 @@ +BIO_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_get_conn_address.html b/linux_amd64/share/doc/openssl/html/man3/BIO_get_conn_address.html new file mode 120000 index 0000000..6c6f132 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_get_conn_address.html @@ -0,0 +1 @@ +BIO_s_connect.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_get_conn_hostname.html b/linux_amd64/share/doc/openssl/html/man3/BIO_get_conn_hostname.html new file mode 120000 index 0000000..6c6f132 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_get_conn_hostname.html @@ -0,0 +1 @@ +BIO_s_connect.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_get_conn_ip_family.html b/linux_amd64/share/doc/openssl/html/man3/BIO_get_conn_ip_family.html new file mode 120000 index 0000000..6c6f132 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_get_conn_ip_family.html @@ -0,0 +1 @@ +BIO_s_connect.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_get_conn_port.html b/linux_amd64/share/doc/openssl/html/man3/BIO_get_conn_port.html new file mode 120000 index 0000000..6c6f132 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_get_conn_port.html @@ -0,0 +1 @@ +BIO_s_connect.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_get_data.html b/linux_amd64/share/doc/openssl/html/man3/BIO_get_data.html index 668578b..03e0b69 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BIO_get_data.html +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_get_data.html @@ -57,7 +57,7 @@ BIO_get_shutdown - functions for managing BIO state information

    the BIO. This data can subsequently be retrieved via a call to BIO_get_data(). This can be used by custom BIOs for storing implementation specific information.

    The BIO_set_init() function sets the value of the BIO's "init" flag to indicate -whether initialisation has been completed for this BIO or not. A nonzero value +whether initialisation has been completed for this BIO or not. A non-zero value indicates that initialisation is complete, whilst zero indicates that it is not. Often initialisation will complete during initial construction of the BIO. For some BIOs however, initialisation may not complete until after additional steps @@ -78,7 +78,7 @@ associated with this BIO, or NULL if none has been set.


    SEE ALSO

    -

    bio(7), BIO_meth_new(3)

    +

    the bio manpage, the BIO_meth_new manpage


    @@ -89,7 +89,7 @@ associated with this BIO, or NULL if none has been set.


    COPYRIGHT

    Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_get_ex_data.html b/linux_amd64/share/doc/openssl/html/man3/BIO_get_ex_data.html new file mode 120000 index 0000000..6d5f2d2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_get_ex_data.html @@ -0,0 +1 @@ +BIO_get_ex_new_index.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_get_ex_new_index.html b/linux_amd64/share/doc/openssl/html/man3/BIO_get_ex_new_index.html index 927aebc..0fd2264 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BIO_get_ex_new_index.html +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_get_ex_new_index.html @@ -33,27 +33,16 @@

    NAME

    BIO_get_ex_new_index, BIO_set_ex_data, BIO_get_ex_data, -BIO_set_app_data, BIO_get_app_data, +ENGINE_get_ex_new_index, ENGINE_set_ex_data, ENGINE_get_ex_data, +UI_get_ex_new_index, UI_set_ex_data, UI_get_ex_data, +X509_get_ex_new_index, X509_set_ex_data, X509_get_ex_data, +X509_STORE_get_ex_new_index, X509_STORE_set_ex_data, X509_STORE_get_ex_data, +X509_STORE_CTX_get_ex_new_index, X509_STORE_CTX_set_ex_data, X509_STORE_CTX_get_ex_data, DH_get_ex_new_index, DH_set_ex_data, DH_get_ex_data, DSA_get_ex_new_index, DSA_set_ex_data, DSA_get_ex_data, ECDH_get_ex_new_index, ECDH_set_ex_data, ECDH_get_ex_data, EC_KEY_get_ex_new_index, EC_KEY_set_ex_data, EC_KEY_get_ex_data, -ENGINE_get_ex_new_index, ENGINE_set_ex_data, ENGINE_get_ex_data, -RAND_DRBG_set_ex_data, RAND_DRBG_get_ex_data, RAND_DRBG_get_ex_new_index, -RSA_get_ex_new_index, RSA_set_ex_data, RSA_get_ex_data, -RSA_set_app_data, RSA_get_app_data, -SSL_get_ex_new_index, SSL_set_ex_data, SSL_get_ex_data, -SSL_set_app_data, SSL_get_app_data, -SSL_CTX_get_ex_new_index, SSL_CTX_set_ex_data, SSL_CTX_get_ex_data, -SSL_CTX_set_app_data, SSL_CTX_get_app_data, -SSL_SESSION_get_ex_new_index, SSL_SESSION_set_ex_data, SSL_SESSION_get_ex_data, -SSL_SESSION_set_app_data, SSL_SESSION_get_app_data, -UI_get_ex_new_index, UI_set_ex_data, UI_get_ex_data, -UI_set_app_data, UI_get_app_data, -X509_STORE_CTX_get_ex_new_index, X509_STORE_CTX_set_ex_data, X509_STORE_CTX_get_ex_data, -X509_STORE_CTX_set_app_data, X509_STORE_CTX_get_app_data, -X509_STORE_get_ex_new_index, X509_STORE_set_ex_data, X509_STORE_get_ex_data, -X509_get_ex_new_index, X509_set_ex_data, X509_get_ex_data +RSA_get_ex_new_index, RSA_set_ex_data, RSA_get_ex_data - application-specific data

    @@ -70,9 +59,6 @@ X509_get_ex_new_index, X509_set_ex_data, X509_get_ex_data int TYPE_set_ex_data(TYPE *d, int idx, void *arg);
      void *TYPE_get_ex_data(TYPE *d, int idx);
    -
    - #define TYPE_set_app_data(TYPE *d, void *arg)
    - #define TYPE_get_app_data(TYPE *d)


    @@ -88,15 +74,6 @@ with the correct index value.

    an offset into the opaque exdata part of the TYPE object.

    TYPE_get_ex_data() is a function that calls CRYPTO_get_ex_data() with an offset into the opaque exdata part of the TYPE object.

    -

    For compatibility with previous releases, the exdata index of zero is -reserved for "application data." There are two convenience functions for -this. -TYPE_set_app_data() is a macro that invokes TYPE_set_ex_data() with -idx set to zero. -TYPE_get_app_data() is a macro that invokes TYPE_get_ex_data() with -idx set to zero. -Note that these functions are not defined for the RAND_DRBG type because -there are no backward compatibility concerns.


    @@ -114,7 +91,7 @@ there are no backward compatibility concerns.


    COPYRIGHT

    Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_get_fd.html b/linux_amd64/share/doc/openssl/html/man3/BIO_get_fd.html new file mode 120000 index 0000000..93464df --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_get_fd.html @@ -0,0 +1 @@ +BIO_s_fd.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_get_fp.html b/linux_amd64/share/doc/openssl/html/man3/BIO_get_fp.html new file mode 120000 index 0000000..325ebbb --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_get_fp.html @@ -0,0 +1 @@ +BIO_s_file.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_get_info_callback.html b/linux_amd64/share/doc/openssl/html/man3/BIO_get_info_callback.html new file mode 120000 index 0000000..f1ad7ee --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_get_info_callback.html @@ -0,0 +1 @@ +BIO_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_get_init.html b/linux_amd64/share/doc/openssl/html/man3/BIO_get_init.html new file mode 120000 index 0000000..825e8c0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_get_init.html @@ -0,0 +1 @@ +BIO_get_data.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_get_md.html b/linux_amd64/share/doc/openssl/html/man3/BIO_get_md.html new file mode 120000 index 0000000..7021b6b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_get_md.html @@ -0,0 +1 @@ +BIO_f_md.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_get_md_ctx.html b/linux_amd64/share/doc/openssl/html/man3/BIO_get_md_ctx.html new file mode 120000 index 0000000..7021b6b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_get_md_ctx.html @@ -0,0 +1 @@ +BIO_f_md.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_get_mem_data.html b/linux_amd64/share/doc/openssl/html/man3/BIO_get_mem_data.html new file mode 120000 index 0000000..f3ea701 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_get_mem_data.html @@ -0,0 +1 @@ +BIO_s_mem.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_get_mem_ptr.html b/linux_amd64/share/doc/openssl/html/man3/BIO_get_mem_ptr.html new file mode 120000 index 0000000..f3ea701 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_get_mem_ptr.html @@ -0,0 +1 @@ +BIO_s_mem.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_get_new_index.html b/linux_amd64/share/doc/openssl/html/man3/BIO_get_new_index.html new file mode 120000 index 0000000..bdca18b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_get_new_index.html @@ -0,0 +1 @@ +BIO_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_get_num_renegotiates.html b/linux_amd64/share/doc/openssl/html/man3/BIO_get_num_renegotiates.html new file mode 120000 index 0000000..201471c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_get_num_renegotiates.html @@ -0,0 +1 @@ +BIO_f_ssl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_get_peer_name.html b/linux_amd64/share/doc/openssl/html/man3/BIO_get_peer_name.html new file mode 120000 index 0000000..a78e972 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_get_peer_name.html @@ -0,0 +1 @@ +BIO_s_accept.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_get_peer_port.html b/linux_amd64/share/doc/openssl/html/man3/BIO_get_peer_port.html new file mode 120000 index 0000000..a78e972 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_get_peer_port.html @@ -0,0 +1 @@ +BIO_s_accept.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_get_read_request.html b/linux_amd64/share/doc/openssl/html/man3/BIO_get_read_request.html new file mode 120000 index 0000000..05662c1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_get_read_request.html @@ -0,0 +1 @@ +BIO_s_bio.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_get_retry_BIO.html b/linux_amd64/share/doc/openssl/html/man3/BIO_get_retry_BIO.html new file mode 120000 index 0000000..1df22d4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_get_retry_BIO.html @@ -0,0 +1 @@ +BIO_should_retry.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_get_retry_reason.html b/linux_amd64/share/doc/openssl/html/man3/BIO_get_retry_reason.html new file mode 120000 index 0000000..1df22d4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_get_retry_reason.html @@ -0,0 +1 @@ +BIO_should_retry.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_get_shutdown.html b/linux_amd64/share/doc/openssl/html/man3/BIO_get_shutdown.html new file mode 120000 index 0000000..825e8c0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_get_shutdown.html @@ -0,0 +1 @@ +BIO_get_data.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_get_ssl.html b/linux_amd64/share/doc/openssl/html/man3/BIO_get_ssl.html new file mode 120000 index 0000000..201471c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_get_ssl.html @@ -0,0 +1 @@ +BIO_f_ssl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_get_write_buf_size.html b/linux_amd64/share/doc/openssl/html/man3/BIO_get_write_buf_size.html new file mode 120000 index 0000000..05662c1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_get_write_buf_size.html @@ -0,0 +1 @@ +BIO_s_bio.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_get_write_guarantee.html b/linux_amd64/share/doc/openssl/html/man3/BIO_get_write_guarantee.html new file mode 120000 index 0000000..05662c1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_get_write_guarantee.html @@ -0,0 +1 @@ +BIO_s_bio.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_gets.html b/linux_amd64/share/doc/openssl/html/man3/BIO_gets.html new file mode 120000 index 0000000..abb8fc5 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_gets.html @@ -0,0 +1 @@ +BIO_read.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_hostserv_priorities.html b/linux_amd64/share/doc/openssl/html/man3/BIO_hostserv_priorities.html new file mode 120000 index 0000000..5099617 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_hostserv_priorities.html @@ -0,0 +1 @@ +BIO_parse_hostserv.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_info_cb.html b/linux_amd64/share/doc/openssl/html/man3/BIO_info_cb.html new file mode 120000 index 0000000..f1ad7ee --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_info_cb.html @@ -0,0 +1 @@ +BIO_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_int_ctrl.html b/linux_amd64/share/doc/openssl/html/man3/BIO_int_ctrl.html new file mode 120000 index 0000000..f1ad7ee --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_int_ctrl.html @@ -0,0 +1 @@ +BIO_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_listen.html b/linux_amd64/share/doc/openssl/html/man3/BIO_listen.html new file mode 120000 index 0000000..31fcee2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_listen.html @@ -0,0 +1 @@ +BIO_connect.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_lookup.html b/linux_amd64/share/doc/openssl/html/man3/BIO_lookup.html new file mode 120000 index 0000000..6eec175 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_lookup.html @@ -0,0 +1 @@ +BIO_ADDRINFO.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_lookup_ex.html b/linux_amd64/share/doc/openssl/html/man3/BIO_lookup_ex.html new file mode 120000 index 0000000..6eec175 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_lookup_ex.html @@ -0,0 +1 @@ +BIO_ADDRINFO.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_lookup_type.html b/linux_amd64/share/doc/openssl/html/man3/BIO_lookup_type.html new file mode 120000 index 0000000..6eec175 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_lookup_type.html @@ -0,0 +1 @@ +BIO_ADDRINFO.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_make_bio_pair.html b/linux_amd64/share/doc/openssl/html/man3/BIO_make_bio_pair.html new file mode 120000 index 0000000..05662c1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_make_bio_pair.html @@ -0,0 +1 @@ +BIO_s_bio.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_meth_free.html b/linux_amd64/share/doc/openssl/html/man3/BIO_meth_free.html new file mode 120000 index 0000000..bdca18b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_meth_free.html @@ -0,0 +1 @@ +BIO_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_meth_get_callback_ctrl.html b/linux_amd64/share/doc/openssl/html/man3/BIO_meth_get_callback_ctrl.html new file mode 120000 index 0000000..bdca18b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_meth_get_callback_ctrl.html @@ -0,0 +1 @@ +BIO_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_meth_get_create.html b/linux_amd64/share/doc/openssl/html/man3/BIO_meth_get_create.html new file mode 120000 index 0000000..bdca18b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_meth_get_create.html @@ -0,0 +1 @@ +BIO_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_meth_get_ctrl.html b/linux_amd64/share/doc/openssl/html/man3/BIO_meth_get_ctrl.html new file mode 120000 index 0000000..bdca18b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_meth_get_ctrl.html @@ -0,0 +1 @@ +BIO_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_meth_get_destroy.html b/linux_amd64/share/doc/openssl/html/man3/BIO_meth_get_destroy.html new file mode 120000 index 0000000..bdca18b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_meth_get_destroy.html @@ -0,0 +1 @@ +BIO_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_meth_get_gets.html b/linux_amd64/share/doc/openssl/html/man3/BIO_meth_get_gets.html new file mode 120000 index 0000000..bdca18b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_meth_get_gets.html @@ -0,0 +1 @@ +BIO_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_meth_get_puts.html b/linux_amd64/share/doc/openssl/html/man3/BIO_meth_get_puts.html new file mode 120000 index 0000000..bdca18b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_meth_get_puts.html @@ -0,0 +1 @@ +BIO_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_meth_get_read.html b/linux_amd64/share/doc/openssl/html/man3/BIO_meth_get_read.html new file mode 120000 index 0000000..bdca18b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_meth_get_read.html @@ -0,0 +1 @@ +BIO_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_meth_get_read_ex.html b/linux_amd64/share/doc/openssl/html/man3/BIO_meth_get_read_ex.html new file mode 120000 index 0000000..bdca18b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_meth_get_read_ex.html @@ -0,0 +1 @@ +BIO_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_meth_get_write.html b/linux_amd64/share/doc/openssl/html/man3/BIO_meth_get_write.html new file mode 120000 index 0000000..bdca18b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_meth_get_write.html @@ -0,0 +1 @@ +BIO_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_meth_get_write_ex.html b/linux_amd64/share/doc/openssl/html/man3/BIO_meth_get_write_ex.html new file mode 120000 index 0000000..bdca18b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_meth_get_write_ex.html @@ -0,0 +1 @@ +BIO_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_meth_new.html b/linux_amd64/share/doc/openssl/html/man3/BIO_meth_new.html index 2263809..ee60499 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BIO_meth_new.html +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_meth_new.html @@ -94,7 +94,7 @@ BIO_meth_set_callback_ctrl - Routines to build up BIO methods

    DESCRIPTION

    The BIO_METHOD type is a structure used for the implementation of new BIO types. It provides a set of functions used by OpenSSL for the implementation -of the various BIO capabilities. See the bio(7) page for more information.

    +of the various BIO capabilities. See the the bio manpage page for more information.

    BIO_meth_new() creates a new BIO_METHOD structure. It should be given a unique integer type and a string that represents its name. Use BIO_get_new_index() to get the value for type.

    @@ -104,7 +104,7 @@ include BIO_TYPE_BUFFER and BIO_TYPE_CIPHER. F type which have the "filter" bit set (BIO_TYPE_FILTER). Source/sink BIOs should have the "source/sink" bit set (BIO_TYPE_SOURCE_SINK). File descriptor based BIOs (e.g. socket, fd, connect, accept etc) should additionally have the -"descriptor" bit set (BIO_TYPE_DESCRIPTOR). See the BIO_find_type(3) page for +"descriptor" bit set (BIO_TYPE_DESCRIPTOR). See the the BIO_find_type manpage page for more information.

    BIO_meth_free() destroys a BIO_METHOD structure and frees up any memory associated with it.

    @@ -134,7 +134,7 @@ page for more information). This function will be called in response to the application calling BIO_gets(). The parameters for the function have the same meaning as for BIO_gets().

    BIO_meth_get_ctrl() and BIO_meth_set_ctrl() get and set the function used for -processing ctrl messages in the BIO respectively. See the BIO_ctrl(3) page for +processing ctrl messages in the BIO respectively. See the the BIO_ctrl manpage page for more information. This function will be called in response to the application calling BIO_ctrl(). The parameters for the function have the same meaning as for BIO_ctrl().

    @@ -168,7 +168,7 @@ if an error occurred.


    SEE ALSO

    -

    bio(7), BIO_find_type(3), BIO_ctrl(3), BIO_read_ex(3), BIO_new(3)

    +

    the bio manpage, the BIO_find_type manpage, the BIO_ctrl manpage, BIO_read_ex, the BIO_new manpage


    @@ -179,7 +179,7 @@ if an error occurred.


    COPYRIGHT

    Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_meth_set_callback_ctrl.html b/linux_amd64/share/doc/openssl/html/man3/BIO_meth_set_callback_ctrl.html new file mode 120000 index 0000000..bdca18b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_meth_set_callback_ctrl.html @@ -0,0 +1 @@ +BIO_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_meth_set_create.html b/linux_amd64/share/doc/openssl/html/man3/BIO_meth_set_create.html new file mode 120000 index 0000000..bdca18b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_meth_set_create.html @@ -0,0 +1 @@ +BIO_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_meth_set_ctrl.html b/linux_amd64/share/doc/openssl/html/man3/BIO_meth_set_ctrl.html new file mode 120000 index 0000000..bdca18b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_meth_set_ctrl.html @@ -0,0 +1 @@ +BIO_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_meth_set_destroy.html b/linux_amd64/share/doc/openssl/html/man3/BIO_meth_set_destroy.html new file mode 120000 index 0000000..bdca18b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_meth_set_destroy.html @@ -0,0 +1 @@ +BIO_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_meth_set_gets.html b/linux_amd64/share/doc/openssl/html/man3/BIO_meth_set_gets.html new file mode 120000 index 0000000..bdca18b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_meth_set_gets.html @@ -0,0 +1 @@ +BIO_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_meth_set_puts.html b/linux_amd64/share/doc/openssl/html/man3/BIO_meth_set_puts.html new file mode 120000 index 0000000..bdca18b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_meth_set_puts.html @@ -0,0 +1 @@ +BIO_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_meth_set_read.html b/linux_amd64/share/doc/openssl/html/man3/BIO_meth_set_read.html new file mode 120000 index 0000000..bdca18b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_meth_set_read.html @@ -0,0 +1 @@ +BIO_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_meth_set_read_ex.html b/linux_amd64/share/doc/openssl/html/man3/BIO_meth_set_read_ex.html new file mode 120000 index 0000000..bdca18b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_meth_set_read_ex.html @@ -0,0 +1 @@ +BIO_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_meth_set_write.html b/linux_amd64/share/doc/openssl/html/man3/BIO_meth_set_write.html new file mode 120000 index 0000000..bdca18b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_meth_set_write.html @@ -0,0 +1 @@ +BIO_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_meth_set_write_ex.html b/linux_amd64/share/doc/openssl/html/man3/BIO_meth_set_write_ex.html new file mode 120000 index 0000000..bdca18b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_meth_set_write_ex.html @@ -0,0 +1 @@ +BIO_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_method_type.html b/linux_amd64/share/doc/openssl/html/man3/BIO_method_type.html new file mode 120000 index 0000000..c561139 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_method_type.html @@ -0,0 +1 @@ +BIO_find_type.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_new.html b/linux_amd64/share/doc/openssl/html/man3/BIO_new.html index 4dff444..20a5ffc 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BIO_new.html +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_new.html @@ -95,8 +95,8 @@ on it other than the discarded return value.


    COPYRIGHT

    -

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_new_CMS.html b/linux_amd64/share/doc/openssl/html/man3/BIO_new_CMS.html index f150a9f..3d760a3 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BIO_new_CMS.html +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_new_CMS.html @@ -103,7 +103,7 @@ occurred. The error can be obtained from ERR_get_error(3).


    COPYRIGHT

    Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_new_accept.html b/linux_amd64/share/doc/openssl/html/man3/BIO_new_accept.html new file mode 120000 index 0000000..a78e972 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_new_accept.html @@ -0,0 +1 @@ +BIO_s_accept.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_new_bio_pair.html b/linux_amd64/share/doc/openssl/html/man3/BIO_new_bio_pair.html new file mode 120000 index 0000000..05662c1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_new_bio_pair.html @@ -0,0 +1 @@ +BIO_s_bio.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_new_buffer_ssl_connect.html b/linux_amd64/share/doc/openssl/html/man3/BIO_new_buffer_ssl_connect.html new file mode 120000 index 0000000..201471c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_new_buffer_ssl_connect.html @@ -0,0 +1 @@ +BIO_f_ssl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_new_connect.html b/linux_amd64/share/doc/openssl/html/man3/BIO_new_connect.html new file mode 120000 index 0000000..6c6f132 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_new_connect.html @@ -0,0 +1 @@ +BIO_s_connect.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_new_fd.html b/linux_amd64/share/doc/openssl/html/man3/BIO_new_fd.html new file mode 120000 index 0000000..93464df --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_new_fd.html @@ -0,0 +1 @@ +BIO_s_fd.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_new_file.html b/linux_amd64/share/doc/openssl/html/man3/BIO_new_file.html new file mode 120000 index 0000000..325ebbb --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_new_file.html @@ -0,0 +1 @@ +BIO_s_file.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_new_fp.html b/linux_amd64/share/doc/openssl/html/man3/BIO_new_fp.html new file mode 120000 index 0000000..325ebbb --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_new_fp.html @@ -0,0 +1 @@ +BIO_s_file.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_new_mem_buf.html b/linux_amd64/share/doc/openssl/html/man3/BIO_new_mem_buf.html new file mode 120000 index 0000000..f3ea701 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_new_mem_buf.html @@ -0,0 +1 @@ +BIO_s_mem.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_new_socket.html b/linux_amd64/share/doc/openssl/html/man3/BIO_new_socket.html new file mode 120000 index 0000000..986cc36 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_new_socket.html @@ -0,0 +1 @@ +BIO_s_socket.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_new_ssl.html b/linux_amd64/share/doc/openssl/html/man3/BIO_new_ssl.html new file mode 120000 index 0000000..201471c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_new_ssl.html @@ -0,0 +1 @@ +BIO_f_ssl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_new_ssl_connect.html b/linux_amd64/share/doc/openssl/html/man3/BIO_new_ssl_connect.html new file mode 120000 index 0000000..201471c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_new_ssl_connect.html @@ -0,0 +1 @@ +BIO_f_ssl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_next.html b/linux_amd64/share/doc/openssl/html/man3/BIO_next.html new file mode 120000 index 0000000..c561139 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_next.html @@ -0,0 +1 @@ +BIO_find_type.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_parse_hostserv.html b/linux_amd64/share/doc/openssl/html/man3/BIO_parse_hostserv.html index 82ac841..d2a9164 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BIO_parse_hostserv.html +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_parse_hostserv.html @@ -52,10 +52,10 @@ BIO_parse_hostserv

    DESCRIPTION

    BIO_parse_hostserv() will parse the information given in hostserv, -create strings with the hostname and service name and give those +create strings with the host name and service name and give those back via host and service. Those will need to be freed after they are used. hostserv_prio helps determine if hostserv shall -be interpreted primarily as a hostname or a service name in ambiguous +be interpreted primarily as a host name or a service name in ambiguous cases.

    The syntax the BIO_parse_hostserv() recognises is:

    @@ -101,7 +101,7 @@ and hostserv_prio, as follows:


    COPYRIGHT

    Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_pending.html b/linux_amd64/share/doc/openssl/html/man3/BIO_pending.html new file mode 120000 index 0000000..f1ad7ee --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_pending.html @@ -0,0 +1 @@ +BIO_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_pop.html b/linux_amd64/share/doc/openssl/html/man3/BIO_pop.html new file mode 120000 index 0000000..810fc2f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_pop.html @@ -0,0 +1 @@ +BIO_push.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_printf.html b/linux_amd64/share/doc/openssl/html/man3/BIO_printf.html index cd3bd53..7a0e1fe 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BIO_printf.html +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_printf.html @@ -72,7 +72,7 @@ buffer is too small.


    COPYRIGHT

    Copyright 2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_ptr_ctrl.html b/linux_amd64/share/doc/openssl/html/man3/BIO_ptr_ctrl.html new file mode 120000 index 0000000..f1ad7ee --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_ptr_ctrl.html @@ -0,0 +1 @@ +BIO_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_push.html b/linux_amd64/share/doc/openssl/html/man3/BIO_push.html index 0ebe8f8..2c93e58 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BIO_push.html +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_push.html @@ -102,7 +102,7 @@ be written to md1 as before.


    SEE ALSO

    -

    bio(7)

    +

    the bio manpage


    @@ -112,8 +112,8 @@ be written to md1 as before.


    COPYRIGHT

    -

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_puts.html b/linux_amd64/share/doc/openssl/html/man3/BIO_puts.html new file mode 120000 index 0000000..abb8fc5 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_puts.html @@ -0,0 +1 @@ +BIO_read.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_read.html b/linux_amd64/share/doc/openssl/html/man3/BIO_read.html index 9da038e..acd59ca 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BIO_read.html +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_read.html @@ -119,7 +119,7 @@ keep the '\n' at the end of the line in the buffer.


    COPYRIGHT

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_read_ex.html b/linux_amd64/share/doc/openssl/html/man3/BIO_read_ex.html new file mode 120000 index 0000000..abb8fc5 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_read_ex.html @@ -0,0 +1 @@ +BIO_read.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_read_filename.html b/linux_amd64/share/doc/openssl/html/man3/BIO_read_filename.html new file mode 120000 index 0000000..325ebbb --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_read_filename.html @@ -0,0 +1 @@ +BIO_s_file.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_reset.html b/linux_amd64/share/doc/openssl/html/man3/BIO_reset.html new file mode 120000 index 0000000..f1ad7ee --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_reset.html @@ -0,0 +1 @@ +BIO_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_retry_type.html b/linux_amd64/share/doc/openssl/html/man3/BIO_retry_type.html new file mode 120000 index 0000000..1df22d4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_retry_type.html @@ -0,0 +1 @@ +BIO_should_retry.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_rw_filename.html b/linux_amd64/share/doc/openssl/html/man3/BIO_rw_filename.html new file mode 120000 index 0000000..325ebbb --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_rw_filename.html @@ -0,0 +1 @@ +BIO_s_file.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_s_accept.html b/linux_amd64/share/doc/openssl/html/man3/BIO_s_accept.html index 214105f..42c4dd2 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BIO_s_accept.html +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_s_accept.html @@ -238,8 +238,8 @@ down each and finally closes both down.


    COPYRIGHT

    -

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_s_bio.html b/linux_amd64/share/doc/openssl/html/man3/BIO_s_bio.html index be47a61..9ad83f3 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BIO_s_bio.html +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_s_bio.html @@ -211,8 +211,8 @@ the peer might be waiting for the data before being able to continue.


    COPYRIGHT

    -

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_s_connect.html b/linux_amd64/share/doc/openssl/html/man3/BIO_s_connect.html index f5d59bc..cb39b52 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BIO_s_connect.html +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_s_connect.html @@ -125,7 +125,7 @@ to determine if the call should be retried.

    If blocking I/O is set then a non positive return value from any I/O call is caused by an error condition, although a zero return will normally mean that the connection was closed.

    -

    If the port name is supplied as part of the hostname then this will +

    If the port name is supplied as part of the host name then this will override any value set with BIO_set_conn_port(). This may be undesirable if the application does not wish to allow connection to arbitrary ports. This can be avoided by checking for the presence of the ':' @@ -211,8 +211,8 @@ Use BIO_set_conn_address() and BIO_get_conn_address()


    COPYRIGHT

    -

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_s_fd.html b/linux_amd64/share/doc/openssl/html/man3/BIO_s_fd.html index d64e8e6..4f11ebf 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BIO_s_fd.html +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_s_fd.html @@ -115,8 +115,8 @@ occurred.


    COPYRIGHT

    -

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_s_file.html b/linux_amd64/share/doc/openssl/html/man3/BIO_s_file.html index b06f618..3a5a4f0 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BIO_s_file.html +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_s_file.html @@ -100,7 +100,7 @@ normally be closed so the BIO_NOCLOSE flag should be set.

    in stdio behaviour will be mirrored by the corresponding BIO.

    On Windows BIO_new_files reserves for the filename argument to be UTF-8 encoded. In other words if you have to make it work in multi- -lingual environment, encode filenames in UTF-8.

    +lingual environment, encode file names in UTF-8.


    @@ -177,8 +177,8 @@ occurred this differs from other types of BIO which will typically return


    COPYRIGHT

    -

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_s_mem.html b/linux_amd64/share/doc/openssl/html/man3/BIO_s_mem.html index 023a79c..18e7e72 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BIO_s_mem.html +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_s_mem.html @@ -168,8 +168,8 @@ return 1 on success or a value which is less than or equal to 0 if an error occu


    COPYRIGHT

    -

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_s_null.html b/linux_amd64/share/doc/openssl/html/man3/BIO_s_null.html index a90b256..952ba15 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BIO_s_null.html +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_s_null.html @@ -69,7 +69,7 @@ by adding a null sink BIO to the end of the chain


    COPYRIGHT

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_s_secmem.html b/linux_amd64/share/doc/openssl/html/man3/BIO_s_secmem.html new file mode 120000 index 0000000..f3ea701 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_s_secmem.html @@ -0,0 +1 @@ +BIO_s_mem.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_s_socket.html b/linux_amd64/share/doc/openssl/html/man3/BIO_s_socket.html index d586758..33312dd 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BIO_s_socket.html +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_s_socket.html @@ -76,7 +76,7 @@ occurred.


    COPYRIGHT

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_seek.html b/linux_amd64/share/doc/openssl/html/man3/BIO_seek.html new file mode 120000 index 0000000..f1ad7ee --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_seek.html @@ -0,0 +1 @@ +BIO_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_set_accept_bios.html b/linux_amd64/share/doc/openssl/html/man3/BIO_set_accept_bios.html new file mode 120000 index 0000000..a78e972 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_set_accept_bios.html @@ -0,0 +1 @@ +BIO_s_accept.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_set_accept_ip_family.html b/linux_amd64/share/doc/openssl/html/man3/BIO_set_accept_ip_family.html new file mode 120000 index 0000000..a78e972 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_set_accept_ip_family.html @@ -0,0 +1 @@ +BIO_s_accept.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_set_accept_name.html b/linux_amd64/share/doc/openssl/html/man3/BIO_set_accept_name.html new file mode 120000 index 0000000..a78e972 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_set_accept_name.html @@ -0,0 +1 @@ +BIO_s_accept.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_set_accept_port.html b/linux_amd64/share/doc/openssl/html/man3/BIO_set_accept_port.html new file mode 120000 index 0000000..a78e972 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_set_accept_port.html @@ -0,0 +1 @@ +BIO_s_accept.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_set_bind_mode.html b/linux_amd64/share/doc/openssl/html/man3/BIO_set_bind_mode.html new file mode 120000 index 0000000..a78e972 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_set_bind_mode.html @@ -0,0 +1 @@ +BIO_s_accept.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_set_buffer_read_data.html b/linux_amd64/share/doc/openssl/html/man3/BIO_set_buffer_read_data.html new file mode 120000 index 0000000..8f8127a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_set_buffer_read_data.html @@ -0,0 +1 @@ +BIO_f_buffer.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_set_buffer_size.html b/linux_amd64/share/doc/openssl/html/man3/BIO_set_buffer_size.html new file mode 120000 index 0000000..8f8127a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_set_buffer_size.html @@ -0,0 +1 @@ +BIO_f_buffer.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_set_callback.html b/linux_amd64/share/doc/openssl/html/man3/BIO_set_callback.html index d524fe2..6c7042c 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BIO_set_callback.html +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_set_callback.html @@ -78,7 +78,7 @@ used to set and retrieve an argument for use in the callback.

    out information relating to each BIO operation. If the callback argument is set it is interpreted as a BIO to send the information to, otherwise stderr is used.

    -

    BIO_callback_fn_ex is the type of the callback function and BIO_callback_fn +

    BIO_callback_fn_ex() is the type of the callback function and BIO_callback_fn() is the type of the old format callback function. The meaning of each argument is described below:

    @@ -252,8 +252,8 @@ in crypto/bio/bio_cb.c


    COPYRIGHT

    -

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_set_callback_arg.html b/linux_amd64/share/doc/openssl/html/man3/BIO_set_callback_arg.html new file mode 120000 index 0000000..a566161 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_set_callback_arg.html @@ -0,0 +1 @@ +BIO_set_callback.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_set_callback_ex.html b/linux_amd64/share/doc/openssl/html/man3/BIO_set_callback_ex.html new file mode 120000 index 0000000..a566161 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_set_callback_ex.html @@ -0,0 +1 @@ +BIO_set_callback.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_set_cipher.html b/linux_amd64/share/doc/openssl/html/man3/BIO_set_cipher.html new file mode 120000 index 0000000..5eca86f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_set_cipher.html @@ -0,0 +1 @@ +BIO_f_cipher.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_set_close.html b/linux_amd64/share/doc/openssl/html/man3/BIO_set_close.html new file mode 120000 index 0000000..f1ad7ee --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_set_close.html @@ -0,0 +1 @@ +BIO_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_set_conn_address.html b/linux_amd64/share/doc/openssl/html/man3/BIO_set_conn_address.html new file mode 120000 index 0000000..6c6f132 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_set_conn_address.html @@ -0,0 +1 @@ +BIO_s_connect.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_set_conn_hostname.html b/linux_amd64/share/doc/openssl/html/man3/BIO_set_conn_hostname.html new file mode 120000 index 0000000..6c6f132 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_set_conn_hostname.html @@ -0,0 +1 @@ +BIO_s_connect.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_set_conn_ip_family.html b/linux_amd64/share/doc/openssl/html/man3/BIO_set_conn_ip_family.html new file mode 120000 index 0000000..6c6f132 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_set_conn_ip_family.html @@ -0,0 +1 @@ +BIO_s_connect.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_set_conn_port.html b/linux_amd64/share/doc/openssl/html/man3/BIO_set_conn_port.html new file mode 120000 index 0000000..6c6f132 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_set_conn_port.html @@ -0,0 +1 @@ +BIO_s_connect.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_set_data.html b/linux_amd64/share/doc/openssl/html/man3/BIO_set_data.html new file mode 120000 index 0000000..825e8c0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_set_data.html @@ -0,0 +1 @@ +BIO_get_data.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_set_ex_data.html b/linux_amd64/share/doc/openssl/html/man3/BIO_set_ex_data.html new file mode 120000 index 0000000..6d5f2d2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_set_ex_data.html @@ -0,0 +1 @@ +BIO_get_ex_new_index.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_set_fd.html b/linux_amd64/share/doc/openssl/html/man3/BIO_set_fd.html new file mode 120000 index 0000000..93464df --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_set_fd.html @@ -0,0 +1 @@ +BIO_s_fd.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_set_fp.html b/linux_amd64/share/doc/openssl/html/man3/BIO_set_fp.html new file mode 120000 index 0000000..325ebbb --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_set_fp.html @@ -0,0 +1 @@ +BIO_s_file.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_set_info_callback.html b/linux_amd64/share/doc/openssl/html/man3/BIO_set_info_callback.html new file mode 120000 index 0000000..f1ad7ee --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_set_info_callback.html @@ -0,0 +1 @@ +BIO_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_set_init.html b/linux_amd64/share/doc/openssl/html/man3/BIO_set_init.html new file mode 120000 index 0000000..825e8c0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_set_init.html @@ -0,0 +1 @@ +BIO_get_data.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_set_md.html b/linux_amd64/share/doc/openssl/html/man3/BIO_set_md.html new file mode 120000 index 0000000..7021b6b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_set_md.html @@ -0,0 +1 @@ +BIO_f_md.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_set_mem_buf.html b/linux_amd64/share/doc/openssl/html/man3/BIO_set_mem_buf.html new file mode 120000 index 0000000..f3ea701 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_set_mem_buf.html @@ -0,0 +1 @@ +BIO_s_mem.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_set_mem_eof_return.html b/linux_amd64/share/doc/openssl/html/man3/BIO_set_mem_eof_return.html new file mode 120000 index 0000000..f3ea701 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_set_mem_eof_return.html @@ -0,0 +1 @@ +BIO_s_mem.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_set_nbio.html b/linux_amd64/share/doc/openssl/html/man3/BIO_set_nbio.html new file mode 120000 index 0000000..6c6f132 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_set_nbio.html @@ -0,0 +1 @@ +BIO_s_connect.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_set_nbio_accept.html b/linux_amd64/share/doc/openssl/html/man3/BIO_set_nbio_accept.html new file mode 120000 index 0000000..a78e972 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_set_nbio_accept.html @@ -0,0 +1 @@ +BIO_s_accept.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_set_next.html b/linux_amd64/share/doc/openssl/html/man3/BIO_set_next.html new file mode 120000 index 0000000..810fc2f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_set_next.html @@ -0,0 +1 @@ +BIO_push.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_set_read_buffer_size.html b/linux_amd64/share/doc/openssl/html/man3/BIO_set_read_buffer_size.html new file mode 120000 index 0000000..8f8127a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_set_read_buffer_size.html @@ -0,0 +1 @@ +BIO_f_buffer.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_set_retry_reason.html b/linux_amd64/share/doc/openssl/html/man3/BIO_set_retry_reason.html new file mode 120000 index 0000000..1df22d4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_set_retry_reason.html @@ -0,0 +1 @@ +BIO_should_retry.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_set_shutdown.html b/linux_amd64/share/doc/openssl/html/man3/BIO_set_shutdown.html new file mode 120000 index 0000000..825e8c0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_set_shutdown.html @@ -0,0 +1 @@ +BIO_get_data.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_set_ssl.html b/linux_amd64/share/doc/openssl/html/man3/BIO_set_ssl.html new file mode 120000 index 0000000..201471c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_set_ssl.html @@ -0,0 +1 @@ +BIO_f_ssl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_set_ssl_mode.html b/linux_amd64/share/doc/openssl/html/man3/BIO_set_ssl_mode.html new file mode 120000 index 0000000..201471c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_set_ssl_mode.html @@ -0,0 +1 @@ +BIO_f_ssl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_set_ssl_renegotiate_bytes.html b/linux_amd64/share/doc/openssl/html/man3/BIO_set_ssl_renegotiate_bytes.html new file mode 120000 index 0000000..201471c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_set_ssl_renegotiate_bytes.html @@ -0,0 +1 @@ +BIO_f_ssl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_set_ssl_renegotiate_timeout.html b/linux_amd64/share/doc/openssl/html/man3/BIO_set_ssl_renegotiate_timeout.html new file mode 120000 index 0000000..201471c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_set_ssl_renegotiate_timeout.html @@ -0,0 +1 @@ +BIO_f_ssl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_set_write_buf_size.html b/linux_amd64/share/doc/openssl/html/man3/BIO_set_write_buf_size.html new file mode 120000 index 0000000..05662c1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_set_write_buf_size.html @@ -0,0 +1 @@ +BIO_s_bio.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_set_write_buffer_size.html b/linux_amd64/share/doc/openssl/html/man3/BIO_set_write_buffer_size.html new file mode 120000 index 0000000..8f8127a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_set_write_buffer_size.html @@ -0,0 +1 @@ +BIO_f_buffer.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_should_io_special.html b/linux_amd64/share/doc/openssl/html/man3/BIO_should_io_special.html new file mode 120000 index 0000000..1df22d4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_should_io_special.html @@ -0,0 +1 @@ +BIO_should_retry.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_should_read.html b/linux_amd64/share/doc/openssl/html/man3/BIO_should_read.html new file mode 120000 index 0000000..1df22d4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_should_read.html @@ -0,0 +1 @@ +BIO_should_retry.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_should_retry.html b/linux_amd64/share/doc/openssl/html/man3/BIO_should_retry.html index 4def071..bc8e929 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BIO_should_retry.html +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_should_retry.html @@ -150,7 +150,7 @@ condition or false if there is no retry condition.


    SEE ALSO

    -

    bio(7)

    +

    the bio manpage


    @@ -162,7 +162,7 @@ OpenSSL 1.1.0.


    COPYRIGHT

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_should_write.html b/linux_amd64/share/doc/openssl/html/man3/BIO_should_write.html new file mode 120000 index 0000000..1df22d4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_should_write.html @@ -0,0 +1 @@ +BIO_should_retry.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_shutdown_wr.html b/linux_amd64/share/doc/openssl/html/man3/BIO_shutdown_wr.html new file mode 120000 index 0000000..05662c1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_shutdown_wr.html @@ -0,0 +1 @@ +BIO_s_bio.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_snprintf.html b/linux_amd64/share/doc/openssl/html/man3/BIO_snprintf.html new file mode 120000 index 0000000..dc1d9d6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_snprintf.html @@ -0,0 +1 @@ +BIO_printf.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_socket.html b/linux_amd64/share/doc/openssl/html/man3/BIO_socket.html new file mode 120000 index 0000000..31fcee2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_socket.html @@ -0,0 +1 @@ +BIO_connect.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_ssl_copy_session_id.html b/linux_amd64/share/doc/openssl/html/man3/BIO_ssl_copy_session_id.html new file mode 120000 index 0000000..201471c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_ssl_copy_session_id.html @@ -0,0 +1 @@ +BIO_f_ssl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_ssl_shutdown.html b/linux_amd64/share/doc/openssl/html/man3/BIO_ssl_shutdown.html new file mode 120000 index 0000000..201471c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_ssl_shutdown.html @@ -0,0 +1 @@ +BIO_f_ssl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_tell.html b/linux_amd64/share/doc/openssl/html/man3/BIO_tell.html new file mode 120000 index 0000000..f1ad7ee --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_tell.html @@ -0,0 +1 @@ +BIO_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_up_ref.html b/linux_amd64/share/doc/openssl/html/man3/BIO_up_ref.html new file mode 120000 index 0000000..3e54c9f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_up_ref.html @@ -0,0 +1 @@ +BIO_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_vfree.html b/linux_amd64/share/doc/openssl/html/man3/BIO_vfree.html new file mode 120000 index 0000000..3e54c9f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_vfree.html @@ -0,0 +1 @@ +BIO_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_vprintf.html b/linux_amd64/share/doc/openssl/html/man3/BIO_vprintf.html new file mode 120000 index 0000000..dc1d9d6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_vprintf.html @@ -0,0 +1 @@ +BIO_printf.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_vsnprintf.html b/linux_amd64/share/doc/openssl/html/man3/BIO_vsnprintf.html new file mode 120000 index 0000000..dc1d9d6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_vsnprintf.html @@ -0,0 +1 @@ +BIO_printf.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_wpending.html b/linux_amd64/share/doc/openssl/html/man3/BIO_wpending.html new file mode 120000 index 0000000..f1ad7ee --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_wpending.html @@ -0,0 +1 @@ +BIO_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_write.html b/linux_amd64/share/doc/openssl/html/man3/BIO_write.html new file mode 120000 index 0000000..abb8fc5 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_write.html @@ -0,0 +1 @@ +BIO_read.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_write_ex.html b/linux_amd64/share/doc/openssl/html/man3/BIO_write_ex.html new file mode 120000 index 0000000..abb8fc5 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_write_ex.html @@ -0,0 +1 @@ +BIO_read.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BIO_write_filename.html b/linux_amd64/share/doc/openssl/html/man3/BIO_write_filename.html new file mode 120000 index 0000000..325ebbb --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BIO_write_filename.html @@ -0,0 +1 @@ +BIO_s_file.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_convert.html b/linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_convert.html new file mode 120000 index 0000000..530f85d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_convert.html @@ -0,0 +1 @@ +BN_BLINDING_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_convert_ex.html b/linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_convert_ex.html new file mode 120000 index 0000000..530f85d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_convert_ex.html @@ -0,0 +1 @@ +BN_BLINDING_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_create_param.html b/linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_create_param.html new file mode 120000 index 0000000..530f85d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_create_param.html @@ -0,0 +1 @@ +BN_BLINDING_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_free.html b/linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_free.html new file mode 120000 index 0000000..530f85d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_free.html @@ -0,0 +1 @@ +BN_BLINDING_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_get_flags.html b/linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_get_flags.html new file mode 120000 index 0000000..530f85d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_get_flags.html @@ -0,0 +1 @@ +BN_BLINDING_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_invert.html b/linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_invert.html new file mode 120000 index 0000000..530f85d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_invert.html @@ -0,0 +1 @@ +BN_BLINDING_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_invert_ex.html b/linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_invert_ex.html new file mode 120000 index 0000000..530f85d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_invert_ex.html @@ -0,0 +1 @@ +BN_BLINDING_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_is_current_thread.html b/linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_is_current_thread.html new file mode 120000 index 0000000..530f85d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_is_current_thread.html @@ -0,0 +1 @@ +BN_BLINDING_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_lock.html b/linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_lock.html new file mode 120000 index 0000000..530f85d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_lock.html @@ -0,0 +1 @@ +BN_BLINDING_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_new.html b/linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_new.html index 60740f6..e352555 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_new.html +++ b/linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_new.html @@ -137,7 +137,7 @@ deprecates BN_BLINDING_set_thread_id() and BN_BLINDING_get_th

    COPYRIGHT

    Copyright 2005-2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_set_current_thread.html b/linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_set_current_thread.html new file mode 120000 index 0000000..530f85d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_set_current_thread.html @@ -0,0 +1 @@ +BN_BLINDING_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_set_flags.html b/linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_set_flags.html new file mode 120000 index 0000000..530f85d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_set_flags.html @@ -0,0 +1 @@ +BN_BLINDING_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_unlock.html b/linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_unlock.html new file mode 120000 index 0000000..530f85d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_unlock.html @@ -0,0 +1 @@ +BN_BLINDING_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_update.html b/linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_update.html new file mode 120000 index 0000000..530f85d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_BLINDING_update.html @@ -0,0 +1 @@ +BN_BLINDING_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_CTX_end.html b/linux_amd64/share/doc/openssl/html/man3/BN_CTX_end.html new file mode 120000 index 0000000..5d52957 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_CTX_end.html @@ -0,0 +1 @@ +BN_CTX_start.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_CTX_free.html b/linux_amd64/share/doc/openssl/html/man3/BN_CTX_free.html new file mode 120000 index 0000000..925c9ac --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_CTX_free.html @@ -0,0 +1 @@ +BN_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_CTX_get.html b/linux_amd64/share/doc/openssl/html/man3/BN_CTX_get.html new file mode 120000 index 0000000..5d52957 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_CTX_get.html @@ -0,0 +1 @@ +BN_CTX_start.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_CTX_new.html b/linux_amd64/share/doc/openssl/html/man3/BN_CTX_new.html index db992cd..8b9f795 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BN_CTX_new.html +++ b/linux_amd64/share/doc/openssl/html/man3/BN_CTX_new.html @@ -34,8 +34,7 @@


    NAME

    -

    BN_CTX_new_ex, BN_CTX_new, BN_CTX_secure_new_ex, BN_CTX_secure_new, BN_CTX_free -- allocate and free BN_CTX structures

    +

    BN_CTX_new, BN_CTX_secure_new, BN_CTX_free - allocate and free BN_CTX structures


    @@ -43,10 +42,8 @@
      #include <openssl/bn.h>
    - BN_CTX *BN_CTX_new_ex(OPENSSL_CTX *ctx);
      BN_CTX *BN_CTX_new(void);
    - BN_CTX *BN_CTX_secure_new_ex(OPENSSL_CTX *ctx);
      BN_CTX *BN_CTX_secure_new(void);
      void BN_CTX_free(BN_CTX *c);
    @@ -58,16 +55,10 @@ library functions. Since dynamic memory allocation to create BIGNUMs is rather expensive when used in conjunction with repeated subroutine calls, the BN_CTX structure is used.

    -

    BN_CTX_new_ex() allocates and initializes a BN_CTX structure for the given -library context ctx. The <ctx> value may be NULL in which case the default -library context will be used. BN_CTX_new() is the same as BN_CTX_new_ex() except -that the default library context is always used.

    -

    BN_CTX_secure_new_ex() allocates and initializes a BN_CTX structure +

    BN_CTX_new() allocates and initializes a BN_CTX structure. +BN_CTX_secure_new() allocates and initializes a BN_CTX structure but uses the secure heap (see CRYPTO_secure_malloc(3)) to hold the -BIGNUMs for the given library context ctx. The <ctx> value may be NULL in -which case the default library context will be used. BN_CTX_secure_new() is the -same as BN_CTX_secure_new_ex() except that the default library context is always -used.

    +BIGNUMs.

    BN_CTX_free() frees the components of the BN_CTX and the structure itself. Since BN_CTX_start() is required in order to obtain BIGNUMs from the BN_CTX, in most cases BN_CTX_end() must be called before the BN_CTX may @@ -115,7 +106,7 @@ replace use of BN_CTX_init with BN_CTX_new instead:


    COPYRIGHT

    Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_CTX_secure_new.html b/linux_amd64/share/doc/openssl/html/man3/BN_CTX_secure_new.html new file mode 120000 index 0000000..925c9ac --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_CTX_secure_new.html @@ -0,0 +1 @@ +BN_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_CTX_start.html b/linux_amd64/share/doc/openssl/html/man3/BN_CTX_start.html index 79b20e8..eb765b0 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BN_CTX_start.html +++ b/linux_amd64/share/doc/openssl/html/man3/BN_CTX_start.html @@ -80,8 +80,8 @@ can be obtained by ERR_get_error(3).


    COPYRIGHT

    -

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_GENCB_call.html b/linux_amd64/share/doc/openssl/html/man3/BN_GENCB_call.html new file mode 120000 index 0000000..5f85825 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_GENCB_call.html @@ -0,0 +1 @@ +BN_generate_prime.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_GENCB_free.html b/linux_amd64/share/doc/openssl/html/man3/BN_GENCB_free.html new file mode 120000 index 0000000..5f85825 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_GENCB_free.html @@ -0,0 +1 @@ +BN_generate_prime.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_GENCB_get_arg.html b/linux_amd64/share/doc/openssl/html/man3/BN_GENCB_get_arg.html new file mode 120000 index 0000000..5f85825 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_GENCB_get_arg.html @@ -0,0 +1 @@ +BN_generate_prime.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_GENCB_new.html b/linux_amd64/share/doc/openssl/html/man3/BN_GENCB_new.html new file mode 120000 index 0000000..5f85825 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_GENCB_new.html @@ -0,0 +1 @@ +BN_generate_prime.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_GENCB_set.html b/linux_amd64/share/doc/openssl/html/man3/BN_GENCB_set.html new file mode 120000 index 0000000..5f85825 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_GENCB_set.html @@ -0,0 +1 @@ +BN_generate_prime.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_GENCB_set_old.html b/linux_amd64/share/doc/openssl/html/man3/BN_GENCB_set_old.html new file mode 120000 index 0000000..5f85825 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_GENCB_set_old.html @@ -0,0 +1 @@ +BN_generate_prime.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_MONT_CTX_copy.html b/linux_amd64/share/doc/openssl/html/man3/BN_MONT_CTX_copy.html new file mode 120000 index 0000000..369c4b3 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_MONT_CTX_copy.html @@ -0,0 +1 @@ +BN_mod_mul_montgomery.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_MONT_CTX_free.html b/linux_amd64/share/doc/openssl/html/man3/BN_MONT_CTX_free.html new file mode 120000 index 0000000..369c4b3 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_MONT_CTX_free.html @@ -0,0 +1 @@ +BN_mod_mul_montgomery.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_MONT_CTX_new.html b/linux_amd64/share/doc/openssl/html/man3/BN_MONT_CTX_new.html new file mode 120000 index 0000000..369c4b3 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_MONT_CTX_new.html @@ -0,0 +1 @@ +BN_mod_mul_montgomery.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_MONT_CTX_set.html b/linux_amd64/share/doc/openssl/html/man3/BN_MONT_CTX_set.html new file mode 120000 index 0000000..369c4b3 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_MONT_CTX_set.html @@ -0,0 +1 @@ +BN_mod_mul_montgomery.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_RECP_CTX_free.html b/linux_amd64/share/doc/openssl/html/man3/BN_RECP_CTX_free.html new file mode 120000 index 0000000..2d4c99f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_RECP_CTX_free.html @@ -0,0 +1 @@ +BN_mod_mul_reciprocal.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_RECP_CTX_new.html b/linux_amd64/share/doc/openssl/html/man3/BN_RECP_CTX_new.html new file mode 120000 index 0000000..2d4c99f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_RECP_CTX_new.html @@ -0,0 +1 @@ +BN_mod_mul_reciprocal.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_RECP_CTX_set.html b/linux_amd64/share/doc/openssl/html/man3/BN_RECP_CTX_set.html new file mode 120000 index 0000000..2d4c99f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_RECP_CTX_set.html @@ -0,0 +1 @@ +BN_mod_mul_reciprocal.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_add.html b/linux_amd64/share/doc/openssl/html/man3/BN_add.html index 67891ad..157b9fd 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BN_add.html +++ b/linux_amd64/share/doc/openssl/html/man3/BN_add.html @@ -141,7 +141,7 @@ The error codes can be obtained by ERR_get_error(3).


    COPYRIGHT

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_add_word.html b/linux_amd64/share/doc/openssl/html/man3/BN_add_word.html index 06ac1c8..eb632db 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BN_add_word.html +++ b/linux_amd64/share/doc/openssl/html/man3/BN_add_word.html @@ -81,7 +81,7 @@ on error. The error codes can be obtained by ERR_get_error(3).


    COPYRIGHT

    Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_bin2bn.html b/linux_amd64/share/doc/openssl/html/man3/BN_bin2bn.html new file mode 120000 index 0000000..43c6c9b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_bin2bn.html @@ -0,0 +1 @@ +BN_bn2bin.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_bn2bin.html b/linux_amd64/share/doc/openssl/html/man3/BN_bn2bin.html index 3c8e58b..e6c7f99 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BN_bn2bin.html +++ b/linux_amd64/share/doc/openssl/html/man3/BN_bn2bin.html @@ -33,9 +33,9 @@

    NAME

    BN_bn2binpad, -BN_bn2bin, BN_bin2bn, BN_bn2lebinpad, BN_lebin2bn, -BN_bn2nativepad, BN_native2bn, BN_bn2hex, BN_bn2dec, BN_hex2bn, BN_dec2bn, -BN_print, BN_print_fp, BN_bn2mpi, BN_mpi2bn - format conversions

    +BN_bn2bin, BN_bin2bn, BN_bn2lebinpad, BN_lebin2bn, BN_bn2hex, BN_bn2dec, +BN_hex2bn, BN_dec2bn, BN_print, BN_print_fp, BN_bn2mpi, +BN_mpi2bn - format conversions


    @@ -49,9 +49,6 @@ BN_print, BN_print_fp, BN_bn2mpi, BN_mpi2bn - format conversions

      int BN_bn2lebinpad(const BIGNUM *a, unsigned char *to, int tolen);
      BIGNUM *BN_lebin2bn(const unsigned char *s, int len, BIGNUM *ret);
    -
    - int BN_bn2nativepad(const BIGNUM *a, unsigned char *to, int tolen);
    - BIGNUM *BN_native2bn(const unsigned char *s, int len, BIGNUM *ret);
      char *BN_bn2hex(const BIGNUM *a);
      char *BN_bn2dec(const BIGNUM *a);
    @@ -72,17 +69,13 @@ and stores it at to. to must point to BN_num_b
     memory.

    BN_bn2binpad() also converts the absolute value of a into big-endian form and stores it at to. tolen indicates the length of the output buffer -to. The result is padded with zeros if necessary. If tolen is less than +to. The result is padded with zeroes if necessary. If tolen is less than BN_num_bytes(a) an error is returned.

    BN_bin2bn() converts the positive integer in big-endian form of length len at s into a BIGNUM and places it in ret. If ret is NULL, a new BIGNUM is created.

    BN_bn2lebinpad() and BN_lebin2bn() are identical to BN_bn2binpad() and BN_bin2bn() except the buffer is in little-endian format.

    -

    BN_bn2nativepad() and BN_native2bn() are identical to BN_bn2binpad() and -BN_bin2bn() except the buffer is in native format, i.e. most significant -byte first on big-endian platforms, and least significant byte first on -little-endian platforms.

    BN_bn2hex() and BN_bn2dec() return printable strings containing the hexadecimal and decimal encoding of a respectively. For negative numbers, the string is prefaced with a leading '-'. The string must be @@ -136,7 +129,7 @@ returns the BIGNUM, and NULL on error.


    COPYRIGHT

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_bn2binpad.html b/linux_amd64/share/doc/openssl/html/man3/BN_bn2binpad.html new file mode 120000 index 0000000..43c6c9b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_bn2binpad.html @@ -0,0 +1 @@ +BN_bn2bin.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_bn2dec.html b/linux_amd64/share/doc/openssl/html/man3/BN_bn2dec.html new file mode 120000 index 0000000..43c6c9b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_bn2dec.html @@ -0,0 +1 @@ +BN_bn2bin.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_bn2hex.html b/linux_amd64/share/doc/openssl/html/man3/BN_bn2hex.html new file mode 120000 index 0000000..43c6c9b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_bn2hex.html @@ -0,0 +1 @@ +BN_bn2bin.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_bn2lebinpad.html b/linux_amd64/share/doc/openssl/html/man3/BN_bn2lebinpad.html new file mode 120000 index 0000000..43c6c9b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_bn2lebinpad.html @@ -0,0 +1 @@ +BN_bn2bin.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_bn2mpi.html b/linux_amd64/share/doc/openssl/html/man3/BN_bn2mpi.html new file mode 120000 index 0000000..43c6c9b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_bn2mpi.html @@ -0,0 +1 @@ +BN_bn2bin.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_clear.html b/linux_amd64/share/doc/openssl/html/man3/BN_clear.html new file mode 120000 index 0000000..f716937 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_clear.html @@ -0,0 +1 @@ +BN_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_clear_bit.html b/linux_amd64/share/doc/openssl/html/man3/BN_clear_bit.html new file mode 120000 index 0000000..1f71a05 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_clear_bit.html @@ -0,0 +1 @@ +BN_set_bit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_clear_free.html b/linux_amd64/share/doc/openssl/html/man3/BN_clear_free.html new file mode 120000 index 0000000..f716937 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_clear_free.html @@ -0,0 +1 @@ +BN_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_cmp.html b/linux_amd64/share/doc/openssl/html/man3/BN_cmp.html index aab28b7..8b0de6a 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BN_cmp.html +++ b/linux_amd64/share/doc/openssl/html/man3/BN_cmp.html @@ -69,7 +69,7 @@ the condition is true, 0 otherwise.


    COPYRIGHT

    Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_copy.html b/linux_amd64/share/doc/openssl/html/man3/BN_copy.html index 78d6b19..df129ca 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BN_copy.html +++ b/linux_amd64/share/doc/openssl/html/man3/BN_copy.html @@ -90,7 +90,7 @@ by ERR_get_error(3).


    COPYRIGHT

    Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_dec2bn.html b/linux_amd64/share/doc/openssl/html/man3/BN_dec2bn.html new file mode 120000 index 0000000..43c6c9b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_dec2bn.html @@ -0,0 +1 @@ +BN_bn2bin.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_div.html b/linux_amd64/share/doc/openssl/html/man3/BN_div.html new file mode 120000 index 0000000..a4fd0b5 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_div.html @@ -0,0 +1 @@ +BN_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_div_recp.html b/linux_amd64/share/doc/openssl/html/man3/BN_div_recp.html new file mode 120000 index 0000000..2d4c99f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_div_recp.html @@ -0,0 +1 @@ +BN_mod_mul_reciprocal.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_div_word.html b/linux_amd64/share/doc/openssl/html/man3/BN_div_word.html new file mode 120000 index 0000000..85a00b4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_div_word.html @@ -0,0 +1 @@ +BN_add_word.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_dup.html b/linux_amd64/share/doc/openssl/html/man3/BN_dup.html new file mode 120000 index 0000000..0f200c9 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_dup.html @@ -0,0 +1 @@ +BN_copy.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_exp.html b/linux_amd64/share/doc/openssl/html/man3/BN_exp.html new file mode 120000 index 0000000..a4fd0b5 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_exp.html @@ -0,0 +1 @@ +BN_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_free.html b/linux_amd64/share/doc/openssl/html/man3/BN_free.html new file mode 120000 index 0000000..f716937 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_free.html @@ -0,0 +1 @@ +BN_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_from_montgomery.html b/linux_amd64/share/doc/openssl/html/man3/BN_from_montgomery.html new file mode 120000 index 0000000..369c4b3 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_from_montgomery.html @@ -0,0 +1 @@ +BN_mod_mul_montgomery.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_gcd.html b/linux_amd64/share/doc/openssl/html/man3/BN_gcd.html new file mode 120000 index 0000000..a4fd0b5 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_gcd.html @@ -0,0 +1 @@ +BN_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_generate_prime.html b/linux_amd64/share/doc/openssl/html/man3/BN_generate_prime.html index c43fb7f..c73f109 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BN_generate_prime.html +++ b/linux_amd64/share/doc/openssl/html/man3/BN_generate_prime.html @@ -34,25 +34,24 @@


    NAME

    -

    BN_generate_prime_ex2, BN_generate_prime_ex, BN_is_prime_ex, BN_check_prime, -BN_is_prime_fasttest_ex, BN_GENCB_call, BN_GENCB_new, BN_GENCB_free, -BN_GENCB_set_old, BN_GENCB_set, BN_GENCB_get_arg, BN_generate_prime, -BN_is_prime, BN_is_prime_fasttest - generate primes and test for primality

    +

    BN_generate_prime_ex, BN_is_prime_ex, BN_is_prime_fasttest_ex, BN_GENCB_call, +BN_GENCB_new, BN_GENCB_free, BN_GENCB_set_old, BN_GENCB_set, BN_GENCB_get_arg, +BN_generate_prime, BN_is_prime, BN_is_prime_fasttest - generate primes and test +for primality


    SYNOPSIS

      #include <openssl/bn.h>
    -
    - int BN_generate_prime_ex2(BIGNUM *ret, int bits, int safe,
    -                           const BIGNUM *add, const BIGNUM *rem, BN_GENCB *cb,
    -                           BN_CTX *ctx);
      int BN_generate_prime_ex(BIGNUM *ret, int bits, int safe, const BIGNUM *add,
                               const BIGNUM *rem, BN_GENCB *cb);
    - int BN_check_prime(const BIGNUM *p, BN_CTX *ctx, BN_GENCB *cb);
    + int BN_is_prime_ex(const BIGNUM *p, int nchecks, BN_CTX *ctx, BN_GENCB *cb);
    +
    + int BN_is_prime_fasttest_ex(const BIGNUM *p, int nchecks, BN_CTX *ctx,
    +                             int do_trial_division, BN_GENCB *cb);
      int BN_GENCB_call(BN_GENCB *cb, int a, int b);
    @@ -67,40 +66,27 @@ BN_is_prime, BN_is_prime_fasttest - generate primes and test for primality

    int (*callback)(int, int, BN_GENCB *), void *cb_arg);
      void *BN_GENCB_get_arg(BN_GENCB *cb);
    -

    Deprecated since OpenSSL 0.9.8, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

    +

    Deprecated:

    + #if OPENSSL_API_COMPAT < 0x00908000L
      BIGNUM *BN_generate_prime(BIGNUM *ret, int num, int safe, BIGNUM *add,
                                BIGNUM *rem, void (*callback)(int, int, void *),
                                void *cb_arg);
    - int BN_is_prime(const BIGNUM *p, int nchecks,
    + int BN_is_prime(const BIGNUM *a, int checks,
                      void (*callback)(int, int, void *), BN_CTX *ctx, void *cb_arg);
    - int BN_is_prime_fasttest(const BIGNUM *p, int nchecks,
    + int BN_is_prime_fasttest(const BIGNUM *a, int checks,
                               void (*callback)(int, int, void *), BN_CTX *ctx,
    -                          void *cb_arg, int do_trial_division);
    -

    Deprecated since OpenSSL 3.0:

    -
    - int BN_is_prime_ex(const BIGNUM *p, int nchecks, BN_CTX *ctx, BN_GENCB *cb);
    -
    - int BN_is_prime_fasttest_ex(const BIGNUM *p, int nchecks, BN_CTX *ctx,
    -                             int do_trial_division, BN_GENCB *cb);
    + void *cb_arg, int do_trial_division); + #endif


    DESCRIPTION

    -

    BN_generate_prime_ex2() generates a pseudo-random prime number of -at least bit length bits using the BN_CTX provided in ctx. The value of -ctx must not be NULL.

    -

    The returned number is probably prime with a negligible error. -The maximum error rate is 2^-128. -It's 2^-287 for a 512 bit prime, 2^-435 for a 1024 bit prime, -2^-648 for a 2048 bit prime, and lower than 2^-882 for primes larger -than 2048 bit.

    -

    If add is NULL the returned prime number will have exact bit -length bits with the top most two bits set.

    +

    BN_generate_prime_ex() generates a pseudo-random prime number of +at least bit length bits. The returned number is probably prime +with a negligible error.

    If ret is not NULL, it will be used to store the number.

    If cb is not NULL, it is used as follows:

      @@ -126,45 +112,36 @@ Diffie-Hellman key exchange:

      == rem (p % add == 1 if rem == NULL) in order to suit a given generator.

      If safe is true, it will be a safe prime (i.e. a prime p so -that (p-1)/2 is also prime). If safe is true, and rem == NULL -the condition will be p % add == 3. -It is recommended that add is a multiple of 4.

      +that (p-1)/2 is also prime).

      The random generator must be seeded prior to calling BN_generate_prime_ex(). If the automatic seeding or reseeding of the OpenSSL CSPRNG fails due to -external circumstances (see RAND(7)), the operation will fail. -The random number generator configured for the OPENSSL_CTX associated with -ctx will be used.

      -

      BN_generate_prime_ex() is the same as BN_generate_prime_ex2() except that no -ctx parameter is passed. -In this case the random number generator associated with the default OPENSSL_CTX -will be used.

      -

      BN_check_prime(), BN_is_prime_ex(), BN_is_prime_fasttest_ex(), BN_is_prime() -and BN_is_prime_fasttest() test if the number p is prime. -The functions tests until one of the tests shows that p is composite, -or all the tests passed. -If p passes all these tests, it is considered a probable prime.

      -

      The test performed on p are trial division by a number of small primes -and rounds of the of the Miller-Rabin probabilistic primality test.

      -

      The functions do at least 64 rounds of the Miller-Rabin test giving a maximum -false positive rate of 2^-128. -If the size of p is more than 2048 bits, they do at least 128 rounds -giving a maximum false positive rate of 2^-256.

      -

      If nchecks is larger than the minimum above (64 or 128), nchecks -rounds of the Miller-Rabin test will be done.

      -

      If do_trial_division set to 0, the trial division will be skipped. -BN_is_prime_ex() and BN_is_prime() always skip the trial division.

      -

      BN_is_prime_ex(), BN_is_prime_fasttest_ex(), BN_is_prime() -and BN_is_prime_fasttest() are deprecated.

      -

      BN_is_prime_fasttest() and BN_is_prime() behave just like -BN_is_prime_fasttest_ex() and BN_is_prime_ex() respectively, but with the old -style call back.

      -

      ctx is a pre-allocated BN_CTX (to save the overhead of allocating and +external circumstances (see RAND(7)), the operation will fail.

      +

      BN_is_prime_ex() and BN_is_prime_fasttest_ex() test if the number p is +prime. The following tests are performed until one of them shows that +p is composite; if p passes all these tests, it is considered +prime.

      +

      BN_is_prime_fasttest_ex(), when called with do_trial_division == 1, +first attempts trial division by a number of small primes; +if no divisors are found by this test and cb is not NULL, +BN_GENCB_call(cb, 1, -1) is called. +If do_trial_division == 0, this test is skipped.

      +

      Both BN_is_prime_ex() and BN_is_prime_fasttest_ex() perform a Miller-Rabin +probabilistic primality test with nchecks iterations. If +nchecks == BN_prime_checks, a number of iterations is used that +yields a false positive rate of at most 2^-64 for random input. +The error rate depends on the size of the prime and goes down for bigger primes. +The rate is 2^-80 starting at 308 bits, 2^-112 at 852 bits, 2^-128 at 1080 bits, +2^-192 at 3747 bits and 2^-256 at 6394 bits.

      +

      When the source of the prime is not random or not trusted, the number +of checks needs to be much higher to reach the same level of assurance: +It should equal half of the targeted security level in bits (rounded up to the +next integer if necessary). +For instance, to reach the 128 bit security level, nchecks should be set to +64.

      +

      If cb is not NULL, BN_GENCB_call(cb, 1, j) is called +after the j-th iteration (j = 0, 1, ...). ctx is a +pre-allocated BN_CTX (to save the overhead of allocating and freeing the structure in a loop), or NULL.

      -

      If the trial division is done, and no divisors are found and cb -is not NULL, BN_GENCB_call(cb, 1, -1) is called.

      -

      After each round of the Miller-Rabin probabilistic primality test, -if cb is not NULL, BN_GENCB_call(cb, 1, j) is called -with j the iteration (j = 0, 1, ...).

      BN_GENCB_call() calls the callback function held in the BN_GENCB structure and passes the ints a and b as arguments. There are two types of BN_GENCB structure that are supported: "new" style and "old" style. New @@ -194,9 +171,9 @@ can similarly be compared to BN_is_prime_ex() and


      RETURN VALUES

      BN_generate_prime_ex() return 1 on success or 0 on error.

      -

      BN_is_prime_ex(), BN_is_prime_fasttest_ex(), BN_is_prime(), -BN_is_prime_fasttest() and BN_check_prime return 0 if the number is composite, -1 if it is prime with an error probability of less than 0.25^nchecks, and +

      BN_is_prime_ex(), BN_is_prime_fasttest_ex(), BN_is_prime() and +BN_is_prime_fasttest() return 0 if the number is composite, 1 if it is +prime with an error probability of less than 0.25^nchecks, and -1 on error.

      BN_generate_prime() returns the prime number on success, NULL otherwise.

      BN_GENCB_new returns a pointer to a BN_GENCB structure on success, or NULL @@ -234,13 +211,12 @@ directly, as in:

      HISTORY

      The BN_GENCB_new(), BN_GENCB_free(), and BN_GENCB_get_arg() functions were added in OpenSSL 1.1.0.

      -

      BN_check_prime() was added in OpenSSL 3.0.


      COPYRIGHT

      Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

      -

      Licensed under the Apache License 2.0 (the "License"). You may not use +

      Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

      diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_generate_prime_ex.html b/linux_amd64/share/doc/openssl/html/man3/BN_generate_prime_ex.html new file mode 120000 index 0000000..5f85825 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_generate_prime_ex.html @@ -0,0 +1 @@ +BN_generate_prime.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_get0_nist_prime_192.html b/linux_amd64/share/doc/openssl/html/man3/BN_get0_nist_prime_192.html new file mode 120000 index 0000000..cda713b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_get0_nist_prime_192.html @@ -0,0 +1 @@ +DH_get_1024_160.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_get0_nist_prime_224.html b/linux_amd64/share/doc/openssl/html/man3/BN_get0_nist_prime_224.html new file mode 120000 index 0000000..cda713b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_get0_nist_prime_224.html @@ -0,0 +1 @@ +DH_get_1024_160.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_get0_nist_prime_256.html b/linux_amd64/share/doc/openssl/html/man3/BN_get0_nist_prime_256.html new file mode 120000 index 0000000..cda713b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_get0_nist_prime_256.html @@ -0,0 +1 @@ +DH_get_1024_160.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_get0_nist_prime_384.html b/linux_amd64/share/doc/openssl/html/man3/BN_get0_nist_prime_384.html new file mode 120000 index 0000000..cda713b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_get0_nist_prime_384.html @@ -0,0 +1 @@ +DH_get_1024_160.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_get0_nist_prime_521.html b/linux_amd64/share/doc/openssl/html/man3/BN_get0_nist_prime_521.html new file mode 120000 index 0000000..cda713b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_get0_nist_prime_521.html @@ -0,0 +1 @@ +DH_get_1024_160.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_get_rfc2409_prime_1024.html b/linux_amd64/share/doc/openssl/html/man3/BN_get_rfc2409_prime_1024.html new file mode 120000 index 0000000..cda713b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_get_rfc2409_prime_1024.html @@ -0,0 +1 @@ +DH_get_1024_160.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_get_rfc2409_prime_768.html b/linux_amd64/share/doc/openssl/html/man3/BN_get_rfc2409_prime_768.html new file mode 120000 index 0000000..cda713b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_get_rfc2409_prime_768.html @@ -0,0 +1 @@ +DH_get_1024_160.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_get_rfc3526_prime_1536.html b/linux_amd64/share/doc/openssl/html/man3/BN_get_rfc3526_prime_1536.html new file mode 120000 index 0000000..cda713b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_get_rfc3526_prime_1536.html @@ -0,0 +1 @@ +DH_get_1024_160.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_get_rfc3526_prime_2048.html b/linux_amd64/share/doc/openssl/html/man3/BN_get_rfc3526_prime_2048.html new file mode 120000 index 0000000..cda713b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_get_rfc3526_prime_2048.html @@ -0,0 +1 @@ +DH_get_1024_160.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_get_rfc3526_prime_3072.html b/linux_amd64/share/doc/openssl/html/man3/BN_get_rfc3526_prime_3072.html new file mode 120000 index 0000000..cda713b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_get_rfc3526_prime_3072.html @@ -0,0 +1 @@ +DH_get_1024_160.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_get_rfc3526_prime_4096.html b/linux_amd64/share/doc/openssl/html/man3/BN_get_rfc3526_prime_4096.html new file mode 120000 index 0000000..cda713b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_get_rfc3526_prime_4096.html @@ -0,0 +1 @@ +DH_get_1024_160.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_get_rfc3526_prime_6144.html b/linux_amd64/share/doc/openssl/html/man3/BN_get_rfc3526_prime_6144.html new file mode 120000 index 0000000..cda713b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_get_rfc3526_prime_6144.html @@ -0,0 +1 @@ +DH_get_1024_160.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_get_rfc3526_prime_8192.html b/linux_amd64/share/doc/openssl/html/man3/BN_get_rfc3526_prime_8192.html new file mode 120000 index 0000000..cda713b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_get_rfc3526_prime_8192.html @@ -0,0 +1 @@ +DH_get_1024_160.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_get_word.html b/linux_amd64/share/doc/openssl/html/man3/BN_get_word.html new file mode 120000 index 0000000..6dc3680 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_get_word.html @@ -0,0 +1 @@ +BN_zero.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_hex2bn.html b/linux_amd64/share/doc/openssl/html/man3/BN_hex2bn.html new file mode 120000 index 0000000..43c6c9b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_hex2bn.html @@ -0,0 +1 @@ +BN_bn2bin.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_is_bit_set.html b/linux_amd64/share/doc/openssl/html/man3/BN_is_bit_set.html new file mode 120000 index 0000000..1f71a05 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_is_bit_set.html @@ -0,0 +1 @@ +BN_set_bit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_is_odd.html b/linux_amd64/share/doc/openssl/html/man3/BN_is_odd.html new file mode 120000 index 0000000..b6485f1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_is_odd.html @@ -0,0 +1 @@ +BN_cmp.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_is_one.html b/linux_amd64/share/doc/openssl/html/man3/BN_is_one.html new file mode 120000 index 0000000..b6485f1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_is_one.html @@ -0,0 +1 @@ +BN_cmp.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_is_prime.html b/linux_amd64/share/doc/openssl/html/man3/BN_is_prime.html new file mode 120000 index 0000000..5f85825 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_is_prime.html @@ -0,0 +1 @@ +BN_generate_prime.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_is_prime_ex.html b/linux_amd64/share/doc/openssl/html/man3/BN_is_prime_ex.html new file mode 120000 index 0000000..5f85825 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_is_prime_ex.html @@ -0,0 +1 @@ +BN_generate_prime.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_is_prime_fasttest.html b/linux_amd64/share/doc/openssl/html/man3/BN_is_prime_fasttest.html new file mode 120000 index 0000000..5f85825 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_is_prime_fasttest.html @@ -0,0 +1 @@ +BN_generate_prime.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_is_prime_fasttest_ex.html b/linux_amd64/share/doc/openssl/html/man3/BN_is_prime_fasttest_ex.html new file mode 120000 index 0000000..5f85825 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_is_prime_fasttest_ex.html @@ -0,0 +1 @@ +BN_generate_prime.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_is_word.html b/linux_amd64/share/doc/openssl/html/man3/BN_is_word.html new file mode 120000 index 0000000..b6485f1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_is_word.html @@ -0,0 +1 @@ +BN_cmp.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_is_zero.html b/linux_amd64/share/doc/openssl/html/man3/BN_is_zero.html new file mode 120000 index 0000000..b6485f1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_is_zero.html @@ -0,0 +1 @@ +BN_cmp.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_lebin2bn.html b/linux_amd64/share/doc/openssl/html/man3/BN_lebin2bn.html new file mode 120000 index 0000000..43c6c9b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_lebin2bn.html @@ -0,0 +1 @@ +BN_bn2bin.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_lshift.html b/linux_amd64/share/doc/openssl/html/man3/BN_lshift.html new file mode 120000 index 0000000..1f71a05 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_lshift.html @@ -0,0 +1 @@ +BN_set_bit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_lshift1.html b/linux_amd64/share/doc/openssl/html/man3/BN_lshift1.html new file mode 120000 index 0000000..1f71a05 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_lshift1.html @@ -0,0 +1 @@ +BN_set_bit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_mask_bits.html b/linux_amd64/share/doc/openssl/html/man3/BN_mask_bits.html new file mode 120000 index 0000000..1f71a05 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_mask_bits.html @@ -0,0 +1 @@ +BN_set_bit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_mod.html b/linux_amd64/share/doc/openssl/html/man3/BN_mod.html new file mode 120000 index 0000000..a4fd0b5 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_mod.html @@ -0,0 +1 @@ +BN_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_mod_add.html b/linux_amd64/share/doc/openssl/html/man3/BN_mod_add.html new file mode 120000 index 0000000..a4fd0b5 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_mod_add.html @@ -0,0 +1 @@ +BN_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_mod_exp.html b/linux_amd64/share/doc/openssl/html/man3/BN_mod_exp.html new file mode 120000 index 0000000..a4fd0b5 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_mod_exp.html @@ -0,0 +1 @@ +BN_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_mod_inverse.html b/linux_amd64/share/doc/openssl/html/man3/BN_mod_inverse.html index 3844a77..d3ade77 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BN_mod_inverse.html +++ b/linux_amd64/share/doc/openssl/html/man3/BN_mod_inverse.html @@ -67,7 +67,7 @@ NULL on error. The error codes can be obtained by ERR_get_error(3).


      COPYRIGHT

      Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved.

      -

      Licensed under the Apache License 2.0 (the "License"). You may not use +

      Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

      diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_mod_mul.html b/linux_amd64/share/doc/openssl/html/man3/BN_mod_mul.html new file mode 120000 index 0000000..a4fd0b5 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_mod_mul.html @@ -0,0 +1 @@ +BN_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_mod_mul_montgomery.html b/linux_amd64/share/doc/openssl/html/man3/BN_mod_mul_montgomery.html index 173e96b..d2f966f 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BN_mod_mul_montgomery.html +++ b/linux_amd64/share/doc/openssl/html/man3/BN_mod_mul_montgomery.html @@ -110,8 +110,8 @@ outside the expected range.


      COPYRIGHT

      -

      Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved.

      -

      Licensed under the Apache License 2.0 (the "License"). You may not use +

      Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

      +

      Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

      diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_mod_mul_reciprocal.html b/linux_amd64/share/doc/openssl/html/man3/BN_mod_mul_reciprocal.html index fce4e39..40bf22d 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BN_mod_mul_reciprocal.html +++ b/linux_amd64/share/doc/openssl/html/man3/BN_mod_mul_reciprocal.html @@ -98,7 +98,7 @@ The error codes can be obtained by ERR_get_error(3).


      COPYRIGHT

      Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved.

      -

      Licensed under the Apache License 2.0 (the "License"). You may not use +

      Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

      diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_mod_sqr.html b/linux_amd64/share/doc/openssl/html/man3/BN_mod_sqr.html new file mode 120000 index 0000000..a4fd0b5 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_mod_sqr.html @@ -0,0 +1 @@ +BN_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_mod_sub.html b/linux_amd64/share/doc/openssl/html/man3/BN_mod_sub.html new file mode 120000 index 0000000..a4fd0b5 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_mod_sub.html @@ -0,0 +1 @@ +BN_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_mod_word.html b/linux_amd64/share/doc/openssl/html/man3/BN_mod_word.html new file mode 120000 index 0000000..85a00b4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_mod_word.html @@ -0,0 +1 @@ +BN_add_word.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_mpi2bn.html b/linux_amd64/share/doc/openssl/html/man3/BN_mpi2bn.html new file mode 120000 index 0000000..43c6c9b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_mpi2bn.html @@ -0,0 +1 @@ +BN_bn2bin.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_mul.html b/linux_amd64/share/doc/openssl/html/man3/BN_mul.html new file mode 120000 index 0000000..a4fd0b5 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_mul.html @@ -0,0 +1 @@ +BN_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_mul_word.html b/linux_amd64/share/doc/openssl/html/man3/BN_mul_word.html new file mode 120000 index 0000000..85a00b4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_mul_word.html @@ -0,0 +1 @@ +BN_add_word.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_new.html b/linux_amd64/share/doc/openssl/html/man3/BN_new.html index 0f06556..dedd4f8 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BN_new.html +++ b/linux_amd64/share/doc/openssl/html/man3/BN_new.html @@ -89,8 +89,8 @@ by ERR_get_error(3).


      COPYRIGHT

      -

      Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved.

      -

      Licensed under the Apache License 2.0 (the "License"). You may not use +

      Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

      +

      Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

      diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_nnmod.html b/linux_amd64/share/doc/openssl/html/man3/BN_nnmod.html new file mode 120000 index 0000000..a4fd0b5 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_nnmod.html @@ -0,0 +1 @@ +BN_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_num_bits.html b/linux_amd64/share/doc/openssl/html/man3/BN_num_bits.html new file mode 120000 index 0000000..f3ea63f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_num_bits.html @@ -0,0 +1 @@ +BN_num_bytes.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_num_bits_word.html b/linux_amd64/share/doc/openssl/html/man3/BN_num_bits_word.html new file mode 120000 index 0000000..f3ea63f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_num_bits_word.html @@ -0,0 +1 @@ +BN_num_bytes.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_num_bytes.html b/linux_amd64/share/doc/openssl/html/man3/BN_num_bytes.html index c1b91b3..7d36777 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BN_num_bytes.html +++ b/linux_amd64/share/doc/openssl/html/man3/BN_num_bytes.html @@ -87,7 +87,7 @@ more probability).


      COPYRIGHT

      Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved.

      -

      Licensed under the Apache License 2.0 (the "License"). You may not use +

      Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

      diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_one.html b/linux_amd64/share/doc/openssl/html/man3/BN_one.html new file mode 120000 index 0000000..6dc3680 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_one.html @@ -0,0 +1 @@ +BN_zero.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_print.html b/linux_amd64/share/doc/openssl/html/man3/BN_print.html new file mode 120000 index 0000000..43c6c9b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_print.html @@ -0,0 +1 @@ +BN_bn2bin.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_print_fp.html b/linux_amd64/share/doc/openssl/html/man3/BN_print_fp.html new file mode 120000 index 0000000..43c6c9b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_print_fp.html @@ -0,0 +1 @@ +BN_bn2bin.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_priv_rand.html b/linux_amd64/share/doc/openssl/html/man3/BN_priv_rand.html new file mode 120000 index 0000000..d2e540c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_priv_rand.html @@ -0,0 +1 @@ +BN_rand.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_priv_rand_range.html b/linux_amd64/share/doc/openssl/html/man3/BN_priv_rand_range.html new file mode 120000 index 0000000..d2e540c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_priv_rand_range.html @@ -0,0 +1 @@ +BN_rand.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_pseudo_rand.html b/linux_amd64/share/doc/openssl/html/man3/BN_pseudo_rand.html new file mode 120000 index 0000000..d2e540c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_pseudo_rand.html @@ -0,0 +1 @@ +BN_rand.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_pseudo_rand_range.html b/linux_amd64/share/doc/openssl/html/man3/BN_pseudo_rand_range.html new file mode 120000 index 0000000..d2e540c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_pseudo_rand_range.html @@ -0,0 +1 @@ +BN_rand.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_rand.html b/linux_amd64/share/doc/openssl/html/man3/BN_rand.html index 985fbbc..050659e 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BN_rand.html +++ b/linux_amd64/share/doc/openssl/html/man3/BN_rand.html @@ -34,9 +34,8 @@


      NAME

      -

      BN_rand_ex, BN_rand, BN_priv_rand_ex, BN_priv_rand, BN_pseudo_rand, -BN_rand_range_ex, BN_rand_range, BN_priv_rand_range_ex, BN_priv_rand_range, -BN_pseudo_rand_range +

      BN_rand, BN_priv_rand, BN_pseudo_rand, +BN_rand_range, BN_priv_rand_range, BN_pseudo_rand_range - generate pseudo-random number

      @@ -45,18 +44,14 @@ BN_pseudo_rand_range
        #include <openssl/bn.h>
      - int BN_rand_ex(BIGNUM *rnd, int bits, int top, int bottom, BN_CTX *ctx);
        int BN_rand(BIGNUM *rnd, int bits, int top, int bottom);
      - int BN_priv_rand_ex(BIGNUM *rnd, int bits, int top, int bottom, BN_CTX *ctx);
        int BN_priv_rand(BIGNUM *rnd, int bits, int top, int bottom);
        int BN_pseudo_rand(BIGNUM *rnd, int bits, int top, int bottom);
      - int BN_rand_range_ex(BIGNUM *rnd, BIGNUM *range, BN_CTX *ctx);
        int BN_rand_range(BIGNUM *rnd, BIGNUM *range);
      - int BN_priv_rand_range_ex(BIGNUM *rnd, BIGNUM *range, BN_CTX *ctx);
        int BN_priv_rand_range(BIGNUM *rnd, BIGNUM *range);
        int BN_pseudo_rand_range(BIGNUM *rnd, BIGNUM *range);
      @@ -64,10 +59,8 @@ BN_pseudo_rand_range


      DESCRIPTION

      -

      BN_rand_ex() generate a cryptographically strong pseudo-random -number of bits in length and stores it in rnd using the random number -generator for the library context associated with ctx. The parameter ctx -may be NULL in which case the default library context is used. +

      BN_rand() generates a cryptographically strong pseudo-random number of +bits in length and stores it in rnd. If bits is less than zero, or too small to accommodate the requirements specified by the top and bottom parameters, an error is returned. @@ -81,17 +74,10 @@ numbers will always have 2*bits length. If bottom is BN_RAND_BOTTOM_ODD, the number will be odd; if it is BN_RAND_BOTTOM_ANY it can be odd or even. If bits is 1 then top cannot also be BN_RAND_FLG_TOPTWO.

      -

      BN_rand() is the same as BN_rand_ex() except that the default library context -is always used.

      -

      BN_rand_range_ex() generates a cryptographically strong pseudo-random -number rnd in the range 0 <= rnd < range using the random number -generator for the library context associated with ctx. The parameter ctx -may be NULL in which case the default library context is used.

      -

      BN_rand_range() is the same as BN_rand_range_ex() except that the default -library context is always used.

      -

      BN_priv_rand_ex(), BN_priv_rand(), BN_priv_rand_rand_ex() and -BN_priv_rand_range() have the same semantics as BN_rand_ex(), BN_rand(), -BN_rand_range_ex() and BN_rand_range() respectively. They are intended to be +

      BN_rand_range() generates a cryptographically strong pseudo-random +number rnd in the range 0 <= rnd < range.

      +

      BN_priv_rand() and BN_priv_rand_range() have the same semantics as +BN_rand() and BN_rand_range() respectively. They are intended to be used for generating values that should remain private, and mirror the same difference between RAND_bytes(3) and RAND_priv_bytes(3).

      @@ -133,17 +119,13 @@ a future release.

      The BN_priv_rand() and BN_priv_rand_range() functions were added in OpenSSL 1.1.1.

      -
    • -

      The BN_rand_ex(), BN_priv_rand_ex(), BN_rand_range_ex() and -BN_priv_rand_range_ex() functions were added in OpenSSL 3.0.

      -


    COPYRIGHT

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_rand_range.html b/linux_amd64/share/doc/openssl/html/man3/BN_rand_range.html new file mode 120000 index 0000000..d2e540c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_rand_range.html @@ -0,0 +1 @@ +BN_rand.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_rshift.html b/linux_amd64/share/doc/openssl/html/man3/BN_rshift.html new file mode 120000 index 0000000..1f71a05 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_rshift.html @@ -0,0 +1 @@ +BN_set_bit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_rshift1.html b/linux_amd64/share/doc/openssl/html/man3/BN_rshift1.html new file mode 120000 index 0000000..1f71a05 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_rshift1.html @@ -0,0 +1 @@ +BN_set_bit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_secure_new.html b/linux_amd64/share/doc/openssl/html/man3/BN_secure_new.html new file mode 120000 index 0000000..f716937 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_secure_new.html @@ -0,0 +1 @@ +BN_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_security_bits.html b/linux_amd64/share/doc/openssl/html/man3/BN_security_bits.html index a2d8afd..b1e5324 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BN_security_bits.html +++ b/linux_amd64/share/doc/openssl/html/man3/BN_security_bits.html @@ -82,7 +82,7 @@ function. The symmetric algorithms are not covered neither.


    COPYRIGHT

    Copyright 2017-2019 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_set_bit.html b/linux_amd64/share/doc/openssl/html/man3/BN_set_bit.html index 22ed0ba..2111541 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BN_set_bit.html +++ b/linux_amd64/share/doc/openssl/html/man3/BN_set_bit.html @@ -89,7 +89,7 @@ can be obtained by ERR_get_error(3).


    COPYRIGHT

    Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_set_word.html b/linux_amd64/share/doc/openssl/html/man3/BN_set_word.html new file mode 120000 index 0000000..6dc3680 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_set_word.html @@ -0,0 +1 @@ +BN_zero.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_sqr.html b/linux_amd64/share/doc/openssl/html/man3/BN_sqr.html new file mode 120000 index 0000000..a4fd0b5 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_sqr.html @@ -0,0 +1 @@ +BN_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_sub.html b/linux_amd64/share/doc/openssl/html/man3/BN_sub.html new file mode 120000 index 0000000..a4fd0b5 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_sub.html @@ -0,0 +1 @@ +BN_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_sub_word.html b/linux_amd64/share/doc/openssl/html/man3/BN_sub_word.html new file mode 120000 index 0000000..85a00b4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_sub_word.html @@ -0,0 +1 @@ +BN_add_word.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_swap.html b/linux_amd64/share/doc/openssl/html/man3/BN_swap.html index 798ecc1..e974002 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BN_swap.html +++ b/linux_amd64/share/doc/openssl/html/man3/BN_swap.html @@ -55,7 +55,7 @@

    COPYRIGHT

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_to_ASN1_ENUMERATED.html b/linux_amd64/share/doc/openssl/html/man3/BN_to_ASN1_ENUMERATED.html new file mode 120000 index 0000000..7e6e652 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_to_ASN1_ENUMERATED.html @@ -0,0 +1 @@ +ASN1_INTEGER_get_int64.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_to_ASN1_INTEGER.html b/linux_amd64/share/doc/openssl/html/man3/BN_to_ASN1_INTEGER.html new file mode 120000 index 0000000..7e6e652 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_to_ASN1_INTEGER.html @@ -0,0 +1 @@ +ASN1_INTEGER_get_int64.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_to_montgomery.html b/linux_amd64/share/doc/openssl/html/man3/BN_to_montgomery.html new file mode 120000 index 0000000..369c4b3 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_to_montgomery.html @@ -0,0 +1 @@ +BN_mod_mul_montgomery.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_ucmp.html b/linux_amd64/share/doc/openssl/html/man3/BN_ucmp.html new file mode 120000 index 0000000..b6485f1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_ucmp.html @@ -0,0 +1 @@ +BN_cmp.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_value_one.html b/linux_amd64/share/doc/openssl/html/man3/BN_value_one.html new file mode 120000 index 0000000..6dc3680 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_value_one.html @@ -0,0 +1 @@ +BN_zero.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_with_flags.html b/linux_amd64/share/doc/openssl/html/man3/BN_with_flags.html new file mode 120000 index 0000000..0f200c9 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BN_with_flags.html @@ -0,0 +1 @@ +BN_copy.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BN_zero.html b/linux_amd64/share/doc/openssl/html/man3/BN_zero.html index 65bcee6..9efdd0e 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BN_zero.html +++ b/linux_amd64/share/doc/openssl/html/man3/BN_zero.html @@ -94,7 +94,7 @@ versions returned an int.


    COPYRIGHT

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/BUF_MEM_free.html b/linux_amd64/share/doc/openssl/html/man3/BUF_MEM_free.html new file mode 120000 index 0000000..4a33c00 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BUF_MEM_free.html @@ -0,0 +1 @@ +BUF_MEM_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BUF_MEM_grow.html b/linux_amd64/share/doc/openssl/html/man3/BUF_MEM_grow.html new file mode 120000 index 0000000..4a33c00 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BUF_MEM_grow.html @@ -0,0 +1 @@ +BUF_MEM_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BUF_MEM_grow_clean.html b/linux_amd64/share/doc/openssl/html/man3/BUF_MEM_grow_clean.html new file mode 120000 index 0000000..4a33c00 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BUF_MEM_grow_clean.html @@ -0,0 +1 @@ +BUF_MEM_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BUF_MEM_new.html b/linux_amd64/share/doc/openssl/html/man3/BUF_MEM_new.html index fe53a30..e795e5b 100755 --- a/linux_amd64/share/doc/openssl/html/man3/BUF_MEM_new.html +++ b/linux_amd64/share/doc/openssl/html/man3/BUF_MEM_new.html @@ -96,7 +96,7 @@ zero on error or the new size (i.e., len).


    COPYRIGHT

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/BUF_MEM_new_ex.html b/linux_amd64/share/doc/openssl/html/man3/BUF_MEM_new_ex.html new file mode 120000 index 0000000..4a33c00 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BUF_MEM_new_ex.html @@ -0,0 +1 @@ +BUF_MEM_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/BUF_reverse.html b/linux_amd64/share/doc/openssl/html/man3/BUF_reverse.html new file mode 120000 index 0000000..4a33c00 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/BUF_reverse.html @@ -0,0 +1 @@ +BUF_MEM_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CERTIFICATEPOLICIES_free.html b/linux_amd64/share/doc/openssl/html/man3/CERTIFICATEPOLICIES_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CERTIFICATEPOLICIES_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CERTIFICATEPOLICIES_new.html b/linux_amd64/share/doc/openssl/html/man3/CERTIFICATEPOLICIES_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CERTIFICATEPOLICIES_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CMS_ContentInfo_free.html b/linux_amd64/share/doc/openssl/html/man3/CMS_ContentInfo_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CMS_ContentInfo_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CMS_ContentInfo_new.html b/linux_amd64/share/doc/openssl/html/man3/CMS_ContentInfo_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CMS_ContentInfo_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CMS_ContentInfo_print_ctx.html b/linux_amd64/share/doc/openssl/html/man3/CMS_ContentInfo_print_ctx.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CMS_ContentInfo_print_ctx.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CMS_ReceiptRequest_create0.html b/linux_amd64/share/doc/openssl/html/man3/CMS_ReceiptRequest_create0.html new file mode 120000 index 0000000..bb32380 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CMS_ReceiptRequest_create0.html @@ -0,0 +1 @@ +CMS_get1_ReceiptRequest.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CMS_ReceiptRequest_free.html b/linux_amd64/share/doc/openssl/html/man3/CMS_ReceiptRequest_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CMS_ReceiptRequest_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CMS_ReceiptRequest_get0_values.html b/linux_amd64/share/doc/openssl/html/man3/CMS_ReceiptRequest_get0_values.html new file mode 120000 index 0000000..bb32380 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CMS_ReceiptRequest_get0_values.html @@ -0,0 +1 @@ +CMS_get1_ReceiptRequest.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CMS_ReceiptRequest_new.html b/linux_amd64/share/doc/openssl/html/man3/CMS_ReceiptRequest_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CMS_ReceiptRequest_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CMS_RecipientInfo_decrypt.html b/linux_amd64/share/doc/openssl/html/man3/CMS_RecipientInfo_decrypt.html new file mode 120000 index 0000000..5766049 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CMS_RecipientInfo_decrypt.html @@ -0,0 +1 @@ +CMS_get0_RecipientInfos.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CMS_RecipientInfo_encrypt.html b/linux_amd64/share/doc/openssl/html/man3/CMS_RecipientInfo_encrypt.html new file mode 120000 index 0000000..5766049 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CMS_RecipientInfo_encrypt.html @@ -0,0 +1 @@ +CMS_get0_RecipientInfos.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CMS_RecipientInfo_kekri_get0_id.html b/linux_amd64/share/doc/openssl/html/man3/CMS_RecipientInfo_kekri_get0_id.html new file mode 120000 index 0000000..5766049 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CMS_RecipientInfo_kekri_get0_id.html @@ -0,0 +1 @@ +CMS_get0_RecipientInfos.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CMS_RecipientInfo_kekri_id_cmp.html b/linux_amd64/share/doc/openssl/html/man3/CMS_RecipientInfo_kekri_id_cmp.html new file mode 120000 index 0000000..5766049 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CMS_RecipientInfo_kekri_id_cmp.html @@ -0,0 +1 @@ +CMS_get0_RecipientInfos.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CMS_RecipientInfo_ktri_cert_cmp.html b/linux_amd64/share/doc/openssl/html/man3/CMS_RecipientInfo_ktri_cert_cmp.html new file mode 120000 index 0000000..5766049 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CMS_RecipientInfo_ktri_cert_cmp.html @@ -0,0 +1 @@ +CMS_get0_RecipientInfos.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CMS_RecipientInfo_ktri_get0_signer_id.html b/linux_amd64/share/doc/openssl/html/man3/CMS_RecipientInfo_ktri_get0_signer_id.html new file mode 120000 index 0000000..5766049 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CMS_RecipientInfo_ktri_get0_signer_id.html @@ -0,0 +1 @@ +CMS_get0_RecipientInfos.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CMS_RecipientInfo_set0_key.html b/linux_amd64/share/doc/openssl/html/man3/CMS_RecipientInfo_set0_key.html new file mode 120000 index 0000000..5766049 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CMS_RecipientInfo_set0_key.html @@ -0,0 +1 @@ +CMS_get0_RecipientInfos.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CMS_RecipientInfo_set0_pkey.html b/linux_amd64/share/doc/openssl/html/man3/CMS_RecipientInfo_set0_pkey.html new file mode 120000 index 0000000..5766049 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CMS_RecipientInfo_set0_pkey.html @@ -0,0 +1 @@ +CMS_get0_RecipientInfos.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CMS_RecipientInfo_type.html b/linux_amd64/share/doc/openssl/html/man3/CMS_RecipientInfo_type.html new file mode 120000 index 0000000..5766049 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CMS_RecipientInfo_type.html @@ -0,0 +1 @@ +CMS_get0_RecipientInfos.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CMS_SignerInfo_cert_cmp.html b/linux_amd64/share/doc/openssl/html/man3/CMS_SignerInfo_cert_cmp.html new file mode 120000 index 0000000..6b045f7 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CMS_SignerInfo_cert_cmp.html @@ -0,0 +1 @@ +CMS_get0_SignerInfos.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CMS_SignerInfo_get0_signature.html b/linux_amd64/share/doc/openssl/html/man3/CMS_SignerInfo_get0_signature.html new file mode 120000 index 0000000..6b045f7 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CMS_SignerInfo_get0_signature.html @@ -0,0 +1 @@ +CMS_get0_SignerInfos.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CMS_SignerInfo_get0_signer_id.html b/linux_amd64/share/doc/openssl/html/man3/CMS_SignerInfo_get0_signer_id.html new file mode 120000 index 0000000..6b045f7 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CMS_SignerInfo_get0_signer_id.html @@ -0,0 +1 @@ +CMS_get0_SignerInfos.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CMS_SignerInfo_set1_signer_cert.html b/linux_amd64/share/doc/openssl/html/man3/CMS_SignerInfo_set1_signer_cert.html new file mode 120000 index 0000000..6b045f7 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CMS_SignerInfo_set1_signer_cert.html @@ -0,0 +1 @@ +CMS_get0_SignerInfos.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CMS_SignerInfo_sign.html b/linux_amd64/share/doc/openssl/html/man3/CMS_SignerInfo_sign.html new file mode 120000 index 0000000..e139e3c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CMS_SignerInfo_sign.html @@ -0,0 +1 @@ +CMS_add1_signer.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CMS_add0_cert.html b/linux_amd64/share/doc/openssl/html/man3/CMS_add0_cert.html index b474f87..4e939eb 100755 --- a/linux_amd64/share/doc/openssl/html/man3/CMS_add0_cert.html +++ b/linux_amd64/share/doc/openssl/html/man3/CMS_add0_cert.html @@ -93,7 +93,7 @@ in practice is if the cms type is invalid.


    COPYRIGHT

    Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/CMS_add0_crl.html b/linux_amd64/share/doc/openssl/html/man3/CMS_add0_crl.html new file mode 120000 index 0000000..9dbe674 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CMS_add0_crl.html @@ -0,0 +1 @@ +CMS_add0_cert.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CMS_add0_recipient_key.html b/linux_amd64/share/doc/openssl/html/man3/CMS_add0_recipient_key.html new file mode 120000 index 0000000..fe9bdb0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CMS_add0_recipient_key.html @@ -0,0 +1 @@ +CMS_add1_recipient_cert.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CMS_add1_ReceiptRequest.html b/linux_amd64/share/doc/openssl/html/man3/CMS_add1_ReceiptRequest.html new file mode 120000 index 0000000..bb32380 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CMS_add1_ReceiptRequest.html @@ -0,0 +1 @@ +CMS_get1_ReceiptRequest.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CMS_add1_cert.html b/linux_amd64/share/doc/openssl/html/man3/CMS_add1_cert.html new file mode 120000 index 0000000..9dbe674 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CMS_add1_cert.html @@ -0,0 +1 @@ +CMS_add0_cert.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CMS_add1_crl.html b/linux_amd64/share/doc/openssl/html/man3/CMS_add1_crl.html new file mode 120000 index 0000000..9dbe674 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CMS_add1_crl.html @@ -0,0 +1 @@ +CMS_add0_cert.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CMS_add1_recipient_cert.html b/linux_amd64/share/doc/openssl/html/man3/CMS_add1_recipient_cert.html index ed09294..ea206a8 100755 --- a/linux_amd64/share/doc/openssl/html/man3/CMS_add1_recipient_cert.html +++ b/linux_amd64/share/doc/openssl/html/man3/CMS_add1_recipient_cert.html @@ -97,7 +97,7 @@ occurs.


    COPYRIGHT

    Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/CMS_add1_signer.html b/linux_amd64/share/doc/openssl/html/man3/CMS_add1_signer.html index 09cc0a0..cc16cdf 100755 --- a/linux_amd64/share/doc/openssl/html/man3/CMS_add1_signer.html +++ b/linux_amd64/share/doc/openssl/html/man3/CMS_add1_signer.html @@ -124,7 +124,7 @@ structure just added or NULL if an error occurs.


    COPYRIGHT

    Copyright 2014-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/CMS_compress.html b/linux_amd64/share/doc/openssl/html/man3/CMS_compress.html index f0fea0a..726c3ef 100755 --- a/linux_amd64/share/doc/openssl/html/man3/CMS_compress.html +++ b/linux_amd64/share/doc/openssl/html/man3/CMS_compress.html @@ -19,6 +19,8 @@
  30. NAME
  31. SYNOPSIS
  32. DESCRIPTION
  33. +
  34. NOTES
  35. +
  36. NOTES
  37. RETURN VALUES
  38. SEE ALSO
  39. HISTORY
  40. @@ -50,6 +52,10 @@ is the compression algorithm to use or NID_undef to use the default algorithm (zlib compression). in is the content to be compressed. flags is an optional set of flags.

    +

    +

    +
    +

    NOTES

    The only currently supported compression algorithm is zlib using the NID NID_zlib_compression.

    If zlib support is not compiled into OpenSSL then CMS_compress() will return @@ -66,6 +72,10 @@ returned suitable for streaming I/O: no data is read from the BIO inThe compressed data is included in the CMS_ContentInfo structure, unless CMS_DETACHED is set in which case it is omitted. This is rarely used in practice and is not supported by SMIME_write_CMS().

    +

    +

    +
    +

    NOTES

    If the flag CMS_STREAM is set the returned CMS_ContentInfo structure is not complete and outputting its contents via a function that does not properly finalize the CMS_ContentInfo structure will give unpredictable @@ -97,7 +107,7 @@ occurred. The error can be obtained from ERR_get_error(3).


    COPYRIGHT

    Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/CMS_decrypt.html b/linux_amd64/share/doc/openssl/html/man3/CMS_decrypt.html index 684780f..6fa7f90 100755 --- a/linux_amd64/share/doc/openssl/html/man3/CMS_decrypt.html +++ b/linux_amd64/share/doc/openssl/html/man3/CMS_decrypt.html @@ -107,7 +107,7 @@ mentioned in CMS_verify() also applies to CMS_decrypt()

    COPYRIGHT

    Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/CMS_encrypt.html b/linux_amd64/share/doc/openssl/html/man3/CMS_encrypt.html index 2e7ef5d..a0cf149 100755 --- a/linux_amd64/share/doc/openssl/html/man3/CMS_encrypt.html +++ b/linux_amd64/share/doc/openssl/html/man3/CMS_encrypt.html @@ -19,6 +19,8 @@
  41. NAME
  42. SYNOPSIS
  43. DESCRIPTION
  44. +
  45. NOTES
  46. +
  47. NOTES
  48. RETURN VALUES
  49. SEE ALSO
  50. HISTORY
  51. @@ -50,6 +52,10 @@

    CMS_encrypt() creates and returns a CMS EnvelopedData structure. certs is a list of recipient certificates. in is the content to be encrypted. cipher is the symmetric cipher to use. flags is an optional set of flags.

    +

    +

    +
    +

    NOTES

    Only certificates carrying RSA, Diffie-Hellman or EC keys are supported by this function.

    EVP_des_ede3_cbc() (triple DES) is the algorithm of choice for S/MIME use @@ -80,6 +86,10 @@ finalization.

    The data being encrypted is included in the CMS_ContentInfo structure, unless CMS_DETACHED is set in which case it is omitted. This is rarely used in practice and is not supported by SMIME_write_CMS().

    +

    +

    +
    +

    NOTES

    If the flag CMS_STREAM is set the returned CMS_ContentInfo structure is not complete and outputting its contents via a function that does not properly finalize the CMS_ContentInfo structure will give unpredictable @@ -114,7 +124,7 @@ occurred. The error can be obtained from ERR_get_error(3).


    COPYRIGHT

    Copyright 2008-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/CMS_final.html b/linux_amd64/share/doc/openssl/html/man3/CMS_final.html index c2e00c5..0c2878a 100755 --- a/linux_amd64/share/doc/openssl/html/man3/CMS_final.html +++ b/linux_amd64/share/doc/openssl/html/man3/CMS_final.html @@ -74,8 +74,8 @@ I/O functions perform finalisation operations internally.


    COPYRIGHT

    -

    Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2008-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/CMS_get0_RecipientInfos.html b/linux_amd64/share/doc/openssl/html/man3/CMS_get0_RecipientInfos.html index e6e30d2..09e3e5b 100755 --- a/linux_amd64/share/doc/openssl/html/man3/CMS_get0_RecipientInfos.html +++ b/linux_amd64/share/doc/openssl/html/man3/CMS_get0_RecipientInfos.html @@ -154,7 +154,7 @@ for a successful comparison and non zero otherwise.


    COPYRIGHT

    Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/CMS_get0_SignerInfos.html b/linux_amd64/share/doc/openssl/html/man3/CMS_get0_SignerInfos.html index e3691e5..7c5018a 100755 --- a/linux_amd64/share/doc/openssl/html/man3/CMS_get0_SignerInfos.html +++ b/linux_amd64/share/doc/openssl/html/man3/CMS_get0_SignerInfos.html @@ -108,7 +108,7 @@ zero otherwise.


    COPYRIGHT

    Copyright 2008-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/CMS_get0_content.html b/linux_amd64/share/doc/openssl/html/man3/CMS_get0_content.html new file mode 120000 index 0000000..d015e64 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CMS_get0_content.html @@ -0,0 +1 @@ +CMS_get0_type.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CMS_get0_eContentType.html b/linux_amd64/share/doc/openssl/html/man3/CMS_get0_eContentType.html new file mode 120000 index 0000000..d015e64 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CMS_get0_eContentType.html @@ -0,0 +1 @@ +CMS_get0_type.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CMS_get0_signers.html b/linux_amd64/share/doc/openssl/html/man3/CMS_get0_signers.html new file mode 120000 index 0000000..0f5e052 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CMS_get0_signers.html @@ -0,0 +1 @@ +CMS_verify.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CMS_get0_type.html b/linux_amd64/share/doc/openssl/html/man3/CMS_get0_type.html index f14d8d2..8deb35a 100755 --- a/linux_amd64/share/doc/openssl/html/man3/CMS_get0_type.html +++ b/linux_amd64/share/doc/openssl/html/man3/CMS_get0_type.html @@ -53,8 +53,7 @@ an ASN1_OBJECT pointer. An application can then decide how to process the CMS_ContentInfo structure based on this value.

    CMS_set1_eContentType() sets the embedded content type of a CMS_ContentInfo -structure. It should be called with CMS functions (such as CMS_sign(3), -CMS_encrypt(3)) +structure. It should be called with CMS functions (such as the CMS_sign manpage, the CMS_encrypt manpage) with the CMS_PARTIAL flag and before the structure is finalised, otherwise the results are undefined.

    @@ -104,8 +103,8 @@ error can be obtained from ERR_get_error(3).


    COPYRIGHT

    -

    Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2008-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/CMS_get1_ReceiptRequest.html b/linux_amd64/share/doc/openssl/html/man3/CMS_get1_ReceiptRequest.html index a815a28..69ffd8e 100755 --- a/linux_amd64/share/doc/openssl/html/man3/CMS_get1_ReceiptRequest.html +++ b/linux_amd64/share/doc/openssl/html/man3/CMS_get1_ReceiptRequest.html @@ -101,7 +101,7 @@ it is present but malformed.


    COPYRIGHT

    Copyright 2008-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/CMS_get1_certs.html b/linux_amd64/share/doc/openssl/html/man3/CMS_get1_certs.html new file mode 120000 index 0000000..9dbe674 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CMS_get1_certs.html @@ -0,0 +1 @@ +CMS_add0_cert.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CMS_get1_crls.html b/linux_amd64/share/doc/openssl/html/man3/CMS_get1_crls.html new file mode 120000 index 0000000..9dbe674 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CMS_get1_crls.html @@ -0,0 +1 @@ +CMS_add0_cert.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CMS_set1_eContentType.html b/linux_amd64/share/doc/openssl/html/man3/CMS_set1_eContentType.html new file mode 120000 index 0000000..d015e64 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CMS_set1_eContentType.html @@ -0,0 +1 @@ +CMS_get0_type.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CMS_sign.html b/linux_amd64/share/doc/openssl/html/man3/CMS_sign.html index b979827..7aa640d 100755 --- a/linux_amd64/share/doc/openssl/html/man3/CMS_sign.html +++ b/linux_amd64/share/doc/openssl/html/man3/CMS_sign.html @@ -146,7 +146,7 @@ it is supported for embedded data in OpenSSL 1.0.0 and later.


    COPYRIGHT

    Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/CMS_sign_receipt.html b/linux_amd64/share/doc/openssl/html/man3/CMS_sign_receipt.html index 48710b9..b5d433b 100755 --- a/linux_amd64/share/doc/openssl/html/man3/CMS_sign_receipt.html +++ b/linux_amd64/share/doc/openssl/html/man3/CMS_sign_receipt.html @@ -80,7 +80,7 @@ an error occurred. The error can be obtained from ERR_get_error(3)

    COPYRIGHT

    Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/CMS_uncompress.html b/linux_amd64/share/doc/openssl/html/man3/CMS_uncompress.html index 04cb362..62aed0e 100755 --- a/linux_amd64/share/doc/openssl/html/man3/CMS_uncompress.html +++ b/linux_amd64/share/doc/openssl/html/man3/CMS_uncompress.html @@ -86,7 +86,7 @@ mentioned in CMS_verify() also applies to CMS_decompress()

    COPYRIGHT

    Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/CMS_verify.html b/linux_amd64/share/doc/openssl/html/man3/CMS_verify.html index 2e67e51..0a517a5 100755 --- a/linux_amd64/share/doc/openssl/html/man3/CMS_verify.html +++ b/linux_amd64/share/doc/openssl/html/man3/CMS_verify.html @@ -144,8 +144,8 @@ be held in memory if it is not detached.


    COPYRIGHT

    -

    Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2008-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/CMS_verify_receipt.html b/linux_amd64/share/doc/openssl/html/man3/CMS_verify_receipt.html index 3d6207c..81737d4 100755 --- a/linux_amd64/share/doc/openssl/html/man3/CMS_verify_receipt.html +++ b/linux_amd64/share/doc/openssl/html/man3/CMS_verify_receipt.html @@ -81,7 +81,7 @@ error occurred.


    COPYRIGHT

    Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/CONF_modules_finish.html b/linux_amd64/share/doc/openssl/html/man3/CONF_modules_finish.html new file mode 120000 index 0000000..f2b0e86 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CONF_modules_finish.html @@ -0,0 +1 @@ +CONF_modules_free.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CONF_modules_free.html b/linux_amd64/share/doc/openssl/html/man3/CONF_modules_free.html index 5702f2c..120468d 100755 --- a/linux_amd64/share/doc/openssl/html/man3/CONF_modules_free.html +++ b/linux_amd64/share/doc/openssl/html/man3/CONF_modules_free.html @@ -44,11 +44,11 @@ OpenSSL configuration cleanup functions

      void CONF_modules_finish(void);
      void CONF_modules_unload(int all);
    -

    Deprecated since OpenSSL 1.1.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

    +

    Deprecated:

    - void CONF_modules_free(void)
    + #if OPENSSL_API_COMPAT < 0x10100000L + void CONF_modules_free(void) + #endif


    @@ -61,7 +61,7 @@ applications called to free up any configuration that module may have performed.

    CONF_modules_unload() finishes and unloads configuration modules. If all is set to 0 only modules loaded from DSOs will be unloads. If -all is 1 all modules, including built-in modules will be unloaded.

    +all is 1 all modules, including builtin modules will be unloaded.


    @@ -84,7 +84,7 @@ For more information see OPENSSL_init_crypto(3).


    COPYRIGHT

    Copyright 2004-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/CONF_modules_load.html b/linux_amd64/share/doc/openssl/html/man3/CONF_modules_load.html new file mode 120000 index 0000000..ca135f0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CONF_modules_load.html @@ -0,0 +1 @@ +CONF_modules_load_file.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CONF_modules_load_file.html b/linux_amd64/share/doc/openssl/html/man3/CONF_modules_load_file.html index 6556d6c..d74abcc 100755 --- a/linux_amd64/share/doc/openssl/html/man3/CONF_modules_load_file.html +++ b/linux_amd64/share/doc/openssl/html/man3/CONF_modules_load_file.html @@ -161,8 +161,8 @@ missing configuration file ignored:


    COPYRIGHT

    -

    Copyright 2004-2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2004-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/CONF_modules_unload.html b/linux_amd64/share/doc/openssl/html/man3/CONF_modules_unload.html new file mode 120000 index 0000000..f2b0e86 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CONF_modules_unload.html @@ -0,0 +1 @@ +CONF_modules_free.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CRL_DIST_POINTS_free.html b/linux_amd64/share/doc/openssl/html/man3/CRL_DIST_POINTS_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CRL_DIST_POINTS_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CRL_DIST_POINTS_new.html b/linux_amd64/share/doc/openssl/html/man3/CRL_DIST_POINTS_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CRL_DIST_POINTS_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CRYPTO_EX_dup.html b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_EX_dup.html new file mode 120000 index 0000000..6ee6c38 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_EX_dup.html @@ -0,0 +1 @@ +CRYPTO_get_ex_new_index.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CRYPTO_EX_free.html b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_EX_free.html new file mode 120000 index 0000000..6ee6c38 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_EX_free.html @@ -0,0 +1 @@ +CRYPTO_get_ex_new_index.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CRYPTO_EX_new.html b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_EX_new.html new file mode 120000 index 0000000..6ee6c38 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_EX_new.html @@ -0,0 +1 @@ +CRYPTO_get_ex_new_index.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CRYPTO_THREAD_lock_free.html b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_THREAD_lock_free.html new file mode 120000 index 0000000..b247071 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_THREAD_lock_free.html @@ -0,0 +1 @@ +CRYPTO_THREAD_run_once.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CRYPTO_THREAD_lock_new.html b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_THREAD_lock_new.html new file mode 120000 index 0000000..b247071 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_THREAD_lock_new.html @@ -0,0 +1 @@ +CRYPTO_THREAD_run_once.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CRYPTO_THREAD_read_lock.html b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_THREAD_read_lock.html new file mode 120000 index 0000000..b247071 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_THREAD_read_lock.html @@ -0,0 +1 @@ +CRYPTO_THREAD_run_once.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CRYPTO_THREAD_run_once.html b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_THREAD_run_once.html index d8706f0..abf5468 100755 --- a/linux_amd64/share/doc/openssl/html/man3/CRYPTO_THREAD_run_once.html +++ b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_THREAD_run_once.html @@ -22,6 +22,7 @@
  52. RETURN VALUES
  53. NOTES
  54. EXAMPLES
  55. +
  56. NOTES
  57. SEE ALSO
  58. COPYRIGHT
  59. @@ -124,14 +125,6 @@ crypto.h where use of CRYPTO_THREAD_* types and functions is required.


    EXAMPLES

    -

    You can find out if OpenSSL was configured with thread support:

    -
    - #include <openssl/opensslconf.h>
    - #if defined(OPENSSL_THREADS)
    -     /* thread support enabled */
    - #else
    -     /* no thread support */
    - #endif

    This example safely initializes and uses a lock.

      #ifdef _WIN32
    @@ -178,14 +171,26 @@ repeatedly load/unload shared libraries that allocate locks.


    +

    NOTES

    +

    You can find out if OpenSSL was configured with thread support:

    +
    + #include <openssl/opensslconf.h>
    + #if defined(OPENSSL_THREADS)
    +     /* thread support enabled */
    + #else
    +     /* no thread support */
    + #endif
    +

    +

    +

    SEE ALSO

    crypto(7)


    COPYRIGHT

    -

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/CRYPTO_THREAD_unlock.html b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_THREAD_unlock.html new file mode 120000 index 0000000..b247071 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_THREAD_unlock.html @@ -0,0 +1 @@ +CRYPTO_THREAD_run_once.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CRYPTO_THREAD_write_lock.html b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_THREAD_write_lock.html new file mode 120000 index 0000000..b247071 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_THREAD_write_lock.html @@ -0,0 +1 @@ +CRYPTO_THREAD_run_once.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CRYPTO_atomic_add.html b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_atomic_add.html new file mode 120000 index 0000000..b247071 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_atomic_add.html @@ -0,0 +1 @@ +CRYPTO_THREAD_run_once.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CRYPTO_clear_free.html b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_clear_free.html new file mode 120000 index 0000000..759cff8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_clear_free.html @@ -0,0 +1 @@ +OPENSSL_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CRYPTO_clear_realloc.html b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_clear_realloc.html new file mode 120000 index 0000000..759cff8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_clear_realloc.html @@ -0,0 +1 @@ +OPENSSL_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CRYPTO_free.html b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_free.html new file mode 120000 index 0000000..759cff8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_free.html @@ -0,0 +1 @@ +OPENSSL_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CRYPTO_free_ex_data.html b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_free_ex_data.html new file mode 120000 index 0000000..6ee6c38 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_free_ex_data.html @@ -0,0 +1 @@ +CRYPTO_get_ex_new_index.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CRYPTO_free_ex_index.html b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_free_ex_index.html new file mode 120000 index 0000000..6ee6c38 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_free_ex_index.html @@ -0,0 +1 @@ +CRYPTO_get_ex_new_index.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CRYPTO_get_alloc_counts.html b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_get_alloc_counts.html new file mode 120000 index 0000000..759cff8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_get_alloc_counts.html @@ -0,0 +1 @@ +OPENSSL_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CRYPTO_get_ex_data.html b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_get_ex_data.html new file mode 120000 index 0000000..6ee6c38 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_get_ex_data.html @@ -0,0 +1 @@ +CRYPTO_get_ex_new_index.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CRYPTO_get_ex_new_index.html b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_get_ex_new_index.html index d60c069..b5b06f2 100755 --- a/linux_amd64/share/doc/openssl/html/man3/CRYPTO_get_ex_new_index.html +++ b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_get_ex_new_index.html @@ -25,7 +25,6 @@
  60. RETURN VALUES
  61. -
  62. HISTORY
  63. COPYRIGHT
  64. @@ -38,9 +37,8 @@

    NAME

    CRYPTO_EX_new, CRYPTO_EX_free, CRYPTO_EX_dup, -CRYPTO_free_ex_index, CRYPTO_get_ex_new_index, -CRYPTO_alloc_ex_data, CRYPTO_set_ex_data, CRYPTO_get_ex_data, -CRYPTO_free_ex_data, CRYPTO_new_ex_data +CRYPTO_free_ex_index, CRYPTO_get_ex_new_index, CRYPTO_set_ex_data, +CRYPTO_get_ex_data, CRYPTO_free_ex_data, CRYPTO_new_ex_data - functions supporting application-specific data

    @@ -63,9 +61,6 @@ CRYPTO_free_ex_data, CRYPTO_new_ex_data void *from_d, int idx, long argl, void *argp);
      int CRYPTO_new_ex_data(int class_index, void *obj, CRYPTO_EX_DATA *ad)
    -
    - int CRYPTO_alloc_ex_data(int class_index, void *obj, CRYPTO_EX_DATA *ad,
    -                          int idx);
      int CRYPTO_set_ex_data(CRYPTO_EX_DATA *r, int idx, void *arg);
    @@ -82,12 +77,13 @@ CRYPTO_free_ex_data, CRYPTO_new_ex_data
     known as "exdata."
     The specific structures are:

    +    APP
         BIO
         DH
    +    DRBG
         DSA
         EC_KEY
         ENGINE
    -    RAND_DRBG
         RSA
         SSL
         SSL_CTX
    @@ -97,7 +93,6 @@ The specific structures are:

    X509 X509_STORE X509_STORE_CTX
    -

    In addition, the APP name is reserved for use by application code.

    Each is identified by an CRYPTO_EX_INDEX_xxx define in the crypto.h header file. In addition, CRYPTO_EX_INDEX_APP is reserved for applications to use this facility for their own structures.

    @@ -146,8 +141,7 @@ call them as described here.

    that the entire parent, or containing, structure has been set up. The new_func() is typically used only to allocate memory to store the exdata, and perhaps an "initialized" flag within that memory. -The exdata value may be allocated later on with CRYPTO_alloc_ex_data(), -or may be set by calling CRYPTO_set_ex_data().

    +The exdata value should be set by calling CRYPTO_set_ex_data().

    When a structure is free'd (such as SSL_CTX_free()) then the free_func() is called for every defined index. Again, the state of the parent structure is not guaranteed. The free_func() may be called with a @@ -177,22 +171,17 @@ will fail.


    RETURN VALUES

    CRYPTO_get_ex_new_index() returns a new index or -1 on failure.

    -

    CRYPTO_free_ex_index(), CRYPTO_alloc_ex_data() and CRYPTO_set_ex_data() -return 1 on success or 0 on failure.

    +

    CRYPTO_free_ex_index() and +CRYPTO_set_ex_data() return 1 on success or 0 on failure.

    CRYPTO_get_ex_data() returns the application data or NULL on failure; note that NULL may be a valid value.

    dup_func() should return 0 for failure and 1 for success.


    -

    HISTORY

    -

    CRYPTO_alloc_ex_data() was added in OpenSSL 3.0.

    -

    -

    -

    COPYRIGHT

    -

    Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2015-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/CRYPTO_get_mem_functions.html b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_get_mem_functions.html new file mode 120000 index 0000000..759cff8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_get_mem_functions.html @@ -0,0 +1 @@ +OPENSSL_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CRYPTO_malloc.html b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_malloc.html new file mode 120000 index 0000000..759cff8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_malloc.html @@ -0,0 +1 @@ +OPENSSL_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CRYPTO_mem_ctrl.html b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_mem_ctrl.html new file mode 120000 index 0000000..759cff8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_mem_ctrl.html @@ -0,0 +1 @@ +OPENSSL_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CRYPTO_mem_debug_pop.html b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_mem_debug_pop.html new file mode 120000 index 0000000..759cff8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_mem_debug_pop.html @@ -0,0 +1 @@ +OPENSSL_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CRYPTO_mem_debug_push.html b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_mem_debug_push.html new file mode 120000 index 0000000..759cff8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_mem_debug_push.html @@ -0,0 +1 @@ +OPENSSL_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CRYPTO_mem_leaks.html b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_mem_leaks.html new file mode 120000 index 0000000..759cff8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_mem_leaks.html @@ -0,0 +1 @@ +OPENSSL_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CRYPTO_mem_leaks_cb.html b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_mem_leaks_cb.html new file mode 120000 index 0000000..759cff8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_mem_leaks_cb.html @@ -0,0 +1 @@ +OPENSSL_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CRYPTO_mem_leaks_fp.html b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_mem_leaks_fp.html new file mode 120000 index 0000000..759cff8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_mem_leaks_fp.html @@ -0,0 +1 @@ +OPENSSL_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CRYPTO_memcmp.html b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_memcmp.html index 5aa296c..01182a9 100755 --- a/linux_amd64/share/doc/openssl/html/man3/CRYPTO_memcmp.html +++ b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_memcmp.html @@ -53,14 +53,14 @@ contents of the memory regions pointed to by a and b

    RETURN VALUES

    -

    CRYPTO_memcmp() returns 0 if the memory regions are equal and nonzero +

    CRYPTO_memcmp() returns 0 if the memory regions are equal and non-zero otherwise.


    NOTES

    Unlike memcmp(2), this function cannot be used to order the two memory regions -as the return value when they differ is undefined, other than being nonzero.

    +as the return value when they differ is undefined, other than being non-zero.


    diff --git a/linux_amd64/share/doc/openssl/html/man3/CRYPTO_new_ex_data.html b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_new_ex_data.html new file mode 120000 index 0000000..6ee6c38 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_new_ex_data.html @@ -0,0 +1 @@ +CRYPTO_get_ex_new_index.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CRYPTO_realloc.html b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_realloc.html new file mode 120000 index 0000000..759cff8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_realloc.html @@ -0,0 +1 @@ +OPENSSL_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CRYPTO_secure_allocated.html b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_secure_allocated.html new file mode 120000 index 0000000..e482ff0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_secure_allocated.html @@ -0,0 +1 @@ +OPENSSL_secure_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CRYPTO_secure_clear_free.html b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_secure_clear_free.html new file mode 120000 index 0000000..e482ff0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_secure_clear_free.html @@ -0,0 +1 @@ +OPENSSL_secure_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CRYPTO_secure_free.html b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_secure_free.html new file mode 120000 index 0000000..e482ff0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_secure_free.html @@ -0,0 +1 @@ +OPENSSL_secure_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CRYPTO_secure_malloc.html b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_secure_malloc.html new file mode 120000 index 0000000..e482ff0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_secure_malloc.html @@ -0,0 +1 @@ +OPENSSL_secure_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CRYPTO_secure_malloc_done.html b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_secure_malloc_done.html new file mode 120000 index 0000000..e482ff0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_secure_malloc_done.html @@ -0,0 +1 @@ +OPENSSL_secure_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CRYPTO_secure_malloc_init.html b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_secure_malloc_init.html new file mode 120000 index 0000000..e482ff0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_secure_malloc_init.html @@ -0,0 +1 @@ +OPENSSL_secure_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CRYPTO_secure_malloc_initialized.html b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_secure_malloc_initialized.html new file mode 120000 index 0000000..e482ff0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_secure_malloc_initialized.html @@ -0,0 +1 @@ +OPENSSL_secure_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CRYPTO_secure_used.html b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_secure_used.html new file mode 120000 index 0000000..e482ff0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_secure_used.html @@ -0,0 +1 @@ +OPENSSL_secure_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CRYPTO_secure_zalloc.html b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_secure_zalloc.html new file mode 120000 index 0000000..e482ff0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_secure_zalloc.html @@ -0,0 +1 @@ +OPENSSL_secure_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CRYPTO_set_ex_data.html b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_set_ex_data.html new file mode 120000 index 0000000..6ee6c38 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_set_ex_data.html @@ -0,0 +1 @@ +CRYPTO_get_ex_new_index.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CRYPTO_set_mem_debug.html b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_set_mem_debug.html new file mode 120000 index 0000000..759cff8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_set_mem_debug.html @@ -0,0 +1 @@ +OPENSSL_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CRYPTO_set_mem_functions.html b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_set_mem_functions.html new file mode 120000 index 0000000..759cff8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_set_mem_functions.html @@ -0,0 +1 @@ +OPENSSL_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CRYPTO_strdup.html b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_strdup.html new file mode 120000 index 0000000..759cff8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_strdup.html @@ -0,0 +1 @@ +OPENSSL_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CRYPTO_strndup.html b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_strndup.html new file mode 120000 index 0000000..759cff8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_strndup.html @@ -0,0 +1 @@ +OPENSSL_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CRYPTO_zalloc.html b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_zalloc.html new file mode 120000 index 0000000..759cff8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CRYPTO_zalloc.html @@ -0,0 +1 @@ +OPENSSL_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CTLOG_STORE_free.html b/linux_amd64/share/doc/openssl/html/man3/CTLOG_STORE_free.html new file mode 120000 index 0000000..c31801a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CTLOG_STORE_free.html @@ -0,0 +1 @@ +CTLOG_STORE_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CTLOG_STORE_get0_log_by_id.html b/linux_amd64/share/doc/openssl/html/man3/CTLOG_STORE_get0_log_by_id.html index 9a655ef..a4f4d85 100755 --- a/linux_amd64/share/doc/openssl/html/man3/CTLOG_STORE_get0_log_by_id.html +++ b/linux_amd64/share/doc/openssl/html/man3/CTLOG_STORE_get0_log_by_id.html @@ -77,7 +77,7 @@ exists in the given CTLOG_STORE, otherwise it returns NULL.


    COPYRIGHT

    Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/CTLOG_STORE_load_default_file.html b/linux_amd64/share/doc/openssl/html/man3/CTLOG_STORE_load_default_file.html new file mode 120000 index 0000000..c31801a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CTLOG_STORE_load_default_file.html @@ -0,0 +1 @@ +CTLOG_STORE_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CTLOG_STORE_load_file.html b/linux_amd64/share/doc/openssl/html/man3/CTLOG_STORE_load_file.html new file mode 120000 index 0000000..c31801a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CTLOG_STORE_load_file.html @@ -0,0 +1 @@ +CTLOG_STORE_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CTLOG_STORE_new.html b/linux_amd64/share/doc/openssl/html/man3/CTLOG_STORE_new.html index 04ef05e..272bd24 100755 --- a/linux_amd64/share/doc/openssl/html/man3/CTLOG_STORE_new.html +++ b/linux_amd64/share/doc/openssl/html/man3/CTLOG_STORE_new.html @@ -59,8 +59,8 @@ logs). The list can be loaded from one or more files and then searched by LogID

    CTLOG_STORE_new() creates an empty list of CT logs. This is then populated by CTLOG_STORE_load_default_file() or CTLOG_STORE_load_file(). CTLOG_STORE_load_default_file() loads from the default file, which is named -ct_log_list.cnf in OPENSSLDIR (see the output of openssl-version(1)). -This can be overridden using an environment variable named CTLOG_FILE. +"ct_log_list.cnf" in OPENSSLDIR (see the output of the version manpage). This can be +overridden using an environment variable named "CTLOG_FILE". CTLOG_STORE_load_file() loads from a caller-specified file path instead. Both of these functions append any loaded CT logs to the CTLOG_STORE.

    The expected format of the file is:

    @@ -107,7 +107,7 @@ all CT logs in the file are successfully parsed and loaded, 0 otherwise.


    COPYRIGHT

    Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/CTLOG_free.html b/linux_amd64/share/doc/openssl/html/man3/CTLOG_free.html new file mode 120000 index 0000000..a357543 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CTLOG_free.html @@ -0,0 +1 @@ +CTLOG_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CTLOG_get0_log_id.html b/linux_amd64/share/doc/openssl/html/man3/CTLOG_get0_log_id.html new file mode 120000 index 0000000..a357543 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CTLOG_get0_log_id.html @@ -0,0 +1 @@ +CTLOG_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CTLOG_get0_name.html b/linux_amd64/share/doc/openssl/html/man3/CTLOG_get0_name.html new file mode 120000 index 0000000..a357543 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CTLOG_get0_name.html @@ -0,0 +1 @@ +CTLOG_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CTLOG_get0_public_key.html b/linux_amd64/share/doc/openssl/html/man3/CTLOG_get0_public_key.html new file mode 120000 index 0000000..a357543 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CTLOG_get0_public_key.html @@ -0,0 +1 @@ +CTLOG_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CTLOG_new.html b/linux_amd64/share/doc/openssl/html/man3/CTLOG_new.html index 053e799..e1f5933 100755 --- a/linux_amd64/share/doc/openssl/html/man3/CTLOG_new.html +++ b/linux_amd64/share/doc/openssl/html/man3/CTLOG_new.html @@ -95,7 +95,7 @@ EVP_PKEY remains with the CTLOG.


    COPYRIGHT

    Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/CTLOG_new_from_base64.html b/linux_amd64/share/doc/openssl/html/man3/CTLOG_new_from_base64.html new file mode 120000 index 0000000..a357543 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CTLOG_new_from_base64.html @@ -0,0 +1 @@ +CTLOG_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CT_POLICY_EVAL_CTX_free.html b/linux_amd64/share/doc/openssl/html/man3/CT_POLICY_EVAL_CTX_free.html new file mode 120000 index 0000000..e3cb2fb --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CT_POLICY_EVAL_CTX_free.html @@ -0,0 +1 @@ +CT_POLICY_EVAL_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CT_POLICY_EVAL_CTX_get0_cert.html b/linux_amd64/share/doc/openssl/html/man3/CT_POLICY_EVAL_CTX_get0_cert.html new file mode 120000 index 0000000..e3cb2fb --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CT_POLICY_EVAL_CTX_get0_cert.html @@ -0,0 +1 @@ +CT_POLICY_EVAL_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CT_POLICY_EVAL_CTX_get0_issuer.html b/linux_amd64/share/doc/openssl/html/man3/CT_POLICY_EVAL_CTX_get0_issuer.html new file mode 120000 index 0000000..e3cb2fb --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CT_POLICY_EVAL_CTX_get0_issuer.html @@ -0,0 +1 @@ +CT_POLICY_EVAL_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CT_POLICY_EVAL_CTX_get0_log_store.html b/linux_amd64/share/doc/openssl/html/man3/CT_POLICY_EVAL_CTX_get0_log_store.html new file mode 120000 index 0000000..e3cb2fb --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CT_POLICY_EVAL_CTX_get0_log_store.html @@ -0,0 +1 @@ +CT_POLICY_EVAL_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CT_POLICY_EVAL_CTX_get_time.html b/linux_amd64/share/doc/openssl/html/man3/CT_POLICY_EVAL_CTX_get_time.html new file mode 120000 index 0000000..e3cb2fb --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CT_POLICY_EVAL_CTX_get_time.html @@ -0,0 +1 @@ +CT_POLICY_EVAL_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CT_POLICY_EVAL_CTX_new.html b/linux_amd64/share/doc/openssl/html/man3/CT_POLICY_EVAL_CTX_new.html index 665928d..04fa07e 100755 --- a/linux_amd64/share/doc/openssl/html/man3/CT_POLICY_EVAL_CTX_new.html +++ b/linux_amd64/share/doc/openssl/html/man3/CT_POLICY_EVAL_CTX_new.html @@ -104,7 +104,7 @@ CT_POLICY_EVAL_CTX.

    issued in the future. RFC6962 states that "TLS clients MUST reject SCTs whose timestamp is in the future". By default, this will be set to 5 minutes in the future (e.g. (time() + 300) * 1000), to allow for clock drift.

    -

    The time should be in milliseconds since the Unix Epoch.

    +

    The time should be in milliseconds since the Unix epoch.

    Each setter has a matching getter for accessing the current value.

    @@ -138,7 +138,7 @@ found in the TLS SCT extension or OCSP response.


    COPYRIGHT

    Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/CT_POLICY_EVAL_CTX_set1_cert.html b/linux_amd64/share/doc/openssl/html/man3/CT_POLICY_EVAL_CTX_set1_cert.html new file mode 120000 index 0000000..e3cb2fb --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CT_POLICY_EVAL_CTX_set1_cert.html @@ -0,0 +1 @@ +CT_POLICY_EVAL_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CT_POLICY_EVAL_CTX_set1_issuer.html b/linux_amd64/share/doc/openssl/html/man3/CT_POLICY_EVAL_CTX_set1_issuer.html new file mode 120000 index 0000000..e3cb2fb --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CT_POLICY_EVAL_CTX_set1_issuer.html @@ -0,0 +1 @@ +CT_POLICY_EVAL_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CT_POLICY_EVAL_CTX_set_shared_CTLOG_STORE.html b/linux_amd64/share/doc/openssl/html/man3/CT_POLICY_EVAL_CTX_set_shared_CTLOG_STORE.html new file mode 120000 index 0000000..e3cb2fb --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CT_POLICY_EVAL_CTX_set_shared_CTLOG_STORE.html @@ -0,0 +1 @@ +CT_POLICY_EVAL_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/CT_POLICY_EVAL_CTX_set_time.html b/linux_amd64/share/doc/openssl/html/man3/CT_POLICY_EVAL_CTX_set_time.html new file mode 120000 index 0000000..e3cb2fb --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/CT_POLICY_EVAL_CTX_set_time.html @@ -0,0 +1 @@ +CT_POLICY_EVAL_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DECLARE_ASN1_FUNCTIONS.html b/linux_amd64/share/doc/openssl/html/man3/DECLARE_ASN1_FUNCTIONS.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DECLARE_ASN1_FUNCTIONS.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DECLARE_LHASH_OF.html b/linux_amd64/share/doc/openssl/html/man3/DECLARE_LHASH_OF.html new file mode 120000 index 0000000..48e7190 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DECLARE_LHASH_OF.html @@ -0,0 +1 @@ +OPENSSL_LH_COMPFUNC.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DECLARE_PEM_rw.html b/linux_amd64/share/doc/openssl/html/man3/DECLARE_PEM_rw.html new file mode 120000 index 0000000..1527243 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DECLARE_PEM_rw.html @@ -0,0 +1 @@ +PEM_read_CMS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DEFINE_SPECIAL_STACK_OF.html b/linux_amd64/share/doc/openssl/html/man3/DEFINE_SPECIAL_STACK_OF.html new file mode 120000 index 0000000..1053507 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DEFINE_SPECIAL_STACK_OF.html @@ -0,0 +1 @@ +DEFINE_STACK_OF.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DEFINE_SPECIAL_STACK_OF_CONST.html b/linux_amd64/share/doc/openssl/html/man3/DEFINE_SPECIAL_STACK_OF_CONST.html new file mode 120000 index 0000000..1053507 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DEFINE_SPECIAL_STACK_OF_CONST.html @@ -0,0 +1 @@ +DEFINE_STACK_OF.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DEFINE_STACK_OF.html b/linux_amd64/share/doc/openssl/html/man3/DEFINE_STACK_OF.html index 76f9309..06b1008 100755 --- a/linux_amd64/share/doc/openssl/html/man3/DEFINE_STACK_OF.html +++ b/linux_amd64/share/doc/openssl/html/man3/DEFINE_STACK_OF.html @@ -93,20 +93,19 @@ sk_TYPE_dup, sk_TYPE_deep_copy, sk_TYPE_set_cmp_func, sk_TYPE_new_reserve

    Applications can create and use their own stacks by placing any of the macros described below in a header file. These macros define typesafe inline functions that wrap around the utility OPENSSL_sk_ API. -In the description here, TYPE is used -as a placeholder for any of the OpenSSL datatypes, such as X509.

    -

    STACK_OF() returns the name for a stack of the specified TYPE. -DEFINE_STACK_OF() creates set of functions for a stack of TYPE. This -will mean that type TYPE is stored in each stack, the type is referenced by -STACK_OF(TYPE) and each function name begins with sk_TYPE_. -For example:

    +In the description here, TYPE is used +as a placeholder for any of the OpenSSL datatypes, such as X509.

    +

    STACK_OF() returns the name for a stack of the specified TYPE. +DEFINE_STACK_OF() creates set of functions for a stack of TYPE. This +will mean that type TYPE is stored in each stack, the type is referenced by +STACK_OF(TYPE) and each function name begins with sk_TYPE_. For example:

      TYPE *sk_TYPE_value(STACK_OF(TYPE) *sk, int idx);

    DEFINE_STACK_OF_CONST() is identical to DEFINE_STACK_OF() except each element is constant. For example:

      const TYPE *sk_TYPE_value(STACK_OF(TYPE) *sk, int idx);
    -

    DEFINE_SPECIAL_STACK_OF() defines a stack of TYPE but +

    DEFINE_SPECIAL_STACK_OF() defines a stack of TYPE but each function uses FUNCNAME in the function name. For example:

      TYPE *sk_FUNCNAME_value(STACK_OF(TYPE) *sk, int idx);
    @@ -114,95 +113,93 @@ each function uses FUNCNAME in the function name. For example:< constant:

      const TYPE *sk_FUNCNAME_value(STACK_OF(TYPE) *sk, int idx);
    -

    sk_TYPE_num() returns the number of elements in sk or -1 if sk is -NULL.

    -

    sk_TYPE_value() returns element idx in sk, where idx starts at -zero. If idx is out of range then NULL is returned.

    -

    sk_TYPE_new() allocates a new empty stack using comparison function -compare. If compare is NULL then no comparison function is used. This -function is equivalent to sk_TYPE_new_reserve(compare, 0).

    -

    sk_TYPE_new_null() allocates a new empty stack with no comparison -function. This function is equivalent to sk_TYPE_new_reserve(NULL, 0).

    -

    sk_TYPE_reserve() allocates additional memory in the sk structure -such that the next n calls to sk_TYPE_insert(), sk_TYPE_push() -or sk_TYPE_unshift() will not fail or cause memory to be allocated -or reallocated. If n is zero, any excess space allocated in the -sk structure is freed. On error sk is unchanged.

    -

    sk_TYPE_new_reserve() allocates a new stack. The new stack will have -additional memory allocated to hold n elements if n is positive. -The next n calls to sk_TYPE_insert(), sk_TYPE_push() or -sk_TYPE_unshift() will not fail or cause memory to be allocated or -reallocated. If n is zero or less than zero, no memory is allocated. -sk_TYPE_new_reserve() also sets the comparison function compare -to the newly created stack. If compare is NULL then no comparison -function is used.

    -

    sk_TYPE_set_cmp_func() sets the comparison function of sk to -compare. The previous comparison function is returned or NULL if there -was no previous comparison function.

    -

    sk_TYPE_free() frees up the sk structure. It does not free up any -elements of sk. After this call sk is no longer valid.

    -

    sk_TYPE_zero() sets the number of elements in sk to zero. It does not -free sk so after this call sk is still valid.

    -

    sk_TYPE_pop_free() frees up all elements of sk and sk itself. The +

    sk_TYPE_num() returns the number of elements in sk or -1 if sk is +NULL.

    +

    sk_TYPE_value() returns element idx in sk, where idx starts at +zero. If idx is out of range then NULL is returned.

    +

    sk_TYPE_new() allocates a new empty stack using comparison function compare. +If compare is NULL then no comparison function is used. This function is +equivalent to sk_TYPE_new_reserve(compare, 0).

    +

    sk_TYPE_new_null() allocates a new empty stack with no comparison function. This +function is equivalent to sk_TYPE_new_reserve(NULL, 0).

    +

    sk_TYPE_reserve() allocates additional memory in the sk structure +such that the next n calls to sk_TYPE_insert(), sk_TYPE_push() +or sk_TYPE_unshift() will not fail or cause memory to be allocated +or reallocated. If n is zero, any excess space allocated in the +sk structure is freed. On error sk is unchanged.

    +

    sk_TYPE_new_reserve() allocates a new stack. The new stack will have additional +memory allocated to hold n elements if n is positive. The next n calls +to sk_TYPE_insert(), sk_TYPE_push() or sk_TYPE_unshift() will not fail or cause +memory to be allocated or reallocated. If n is zero or less than zero, no +memory is allocated. sk_TYPE_new_reserve() also sets the comparison function +compare to the newly created stack. If compare is NULL then no +comparison function is used.

    +

    sk_TYPE_set_cmp_func() sets the comparison function of sk to compare. +The previous comparison function is returned or NULL if there was +no previous comparison function.

    +

    sk_TYPE_free() frees up the sk structure. It does not free up any +elements of sk. After this call sk is no longer valid.

    +

    sk_TYPE_zero() sets the number of elements in sk to zero. It does not free +sk so after this call sk is still valid.

    +

    sk_TYPE_pop_free() frees up all elements of sk and sk itself. The free function freefunc() is called on each element to free it.

    -

    sk_TYPE_delete() deletes element i from sk. It returns the deleted -element or NULL if i is out of range.

    -

    sk_TYPE_delete_ptr() deletes element matching ptr from sk. It -returns the deleted element or NULL if no element matching ptr was found.

    -

    sk_TYPE_insert() inserts ptr into sk at position idx. Any -existing elements at or after idx are moved downwards. If idx is out -of range the new element is appended to sk. sk_TYPE_insert() either -returns the number of elements in sk after the new element is inserted or -zero if an error (such as memory allocation failure) occurred.

    -

    sk_TYPE_push() appends ptr to sk it is equivalent to:

    +

    sk_TYPE_delete() deletes element i from sk. It returns the deleted +element or NULL if i is out of range.

    +

    sk_TYPE_delete_ptr() deletes element matching ptr from sk. It returns +the deleted element or NULL if no element matching ptr was found.

    +

    sk_TYPE_insert() inserts ptr into sk at position idx. Any existing +elements at or after idx are moved downwards. If idx is out of range +the new element is appended to sk. sk_TYPE_insert() either returns the +number of elements in sk after the new element is inserted or zero if +an error (such as memory allocation failure) occurred.

    +

    sk_TYPE_push() appends ptr to sk it is equivalent to:

      sk_TYPE_insert(sk, ptr, -1);
    -

    sk_TYPE_unshift() inserts ptr at the start of sk it is equivalent -to:

    +

    sk_TYPE_unshift() inserts ptr at the start of sk it is equivalent to:

      sk_TYPE_insert(sk, ptr, 0);
    -

    sk_TYPE_pop() returns and removes the last element from sk.

    -

    sk_TYPE_shift() returns and removes the first element from sk.

    -

    sk_TYPE_set() sets element idx of sk to ptr replacing the current -element. The new element value is returned or NULL if an error occurred: -this will only happen if sk is NULL or idx is out of range.

    -

    sk_TYPE_find() searches sk for the element ptr. In the case +

    sk_TYPE_pop() returns and removes the last element from sk.

    +

    sk_TYPE_shift() returns and removes the first element from sk.

    +

    sk_TYPE_set() sets element idx of sk to ptr replacing the current +element. The new element value is returned or NULL if an error occurred: +this will only happen if sk is NULL or idx is out of range.

    +

    sk_TYPE_find() searches sk for the element ptr. In the case where no comparison function has been specified, the function performs -a linear search for a pointer equal to ptr. The index of the first +a linear search for a pointer equal to ptr. The index of the first matching element is returned or -1 if there is no match. In the case -where a comparison function has been specified, sk is sorted then -sk_TYPE_find() returns the index of a matching element or -1 if there +where a comparison function has been specified, sk is sorted then +sk_TYPE_find() returns the index of a matching element or -1 if there is no match. Note that, in this case, the matching element returned is not guaranteed to be the first; the comparison function will usually compare the values pointed to rather than the pointers themselves and -the order of elements in sk could change.

    -

    sk_TYPE_find_ex() operates like sk_TYPE_find() except when a -comparison function has been specified and no matching element is found. -Instead of returning -1, sk_TYPE_find_ex() returns the index of the -element either before or after the location where ptr would be if it were -present in sk.

    -

    sk_TYPE_sort() sorts sk using the supplied comparison function.

    -

    sk_TYPE_is_sorted() returns 1 if sk is sorted and 0 otherwise.

    -

    sk_TYPE_dup() returns a copy of sk. Note the pointers in the copy +the order of elements in sk could change.

    +

    sk_TYPE_find_ex() operates like sk_TYPE_find() except when a comparison +function has been specified and no matching element is found. Instead +of returning -1, sk_TYPE_find_ex() returns the index of the element +either before or after the location where ptr would be if it were +present in sk.

    +

    sk_TYPE_sort() sorts sk using the supplied comparison function.

    +

    sk_TYPE_is_sorted() returns 1 if sk is sorted and 0 otherwise.

    +

    sk_TYPE_dup() returns a copy of sk. Note the pointers in the copy are identical to the original.

    -

    sk_TYPE_deep_copy() returns a new stack where each element has been -copied. Copying is performed by the supplied copyfunc() and freeing by -freefunc(). The function freefunc() is only called if an error occurs.

    +

    sk_TYPE_deep_copy() returns a new stack where each element has been copied. +Copying is performed by the supplied copyfunc() and freeing by freefunc(). The +function freefunc() is only called if an error occurs.


    NOTES

    Care should be taken when accessing stacks in multi-threaded environments. -Any operation which increases the size of a stack such as sk_TYPE_insert() -or sk_TYPE_push() can "grow" the size of an internal array and cause race -conditions if the same stack is accessed in a different thread. Operations such -as sk_TYPE_find() and sk_TYPE_sort() can also reorder the stack.

    +Any operation which increases the size of a stack such as sk_TYPE_insert() or +sk_push() can "grow" the size of an internal array and cause race conditions +if the same stack is accessed in a different thread. Operations such as +sk_find() and sk_sort() can also reorder the stack.

    Any comparison function supplied should use a metric suitable for use in a binary search operation. That is it should return zero, a -positive or negative value if a is equal to, greater than -or less than b respectively.

    +positive or negative value if a is equal to, greater than +or less than b respectively.

    Care should be taken when checking the return values of the functions -sk_TYPE_find() and sk_TYPE_find_ex(). They return an index to the +sk_TYPE_find() and sk_TYPE_find_ex(). They return an index to the matching element. In particular 0 indicates a matching first element. A failed search is indicated by a -1 return value.

    STACK_OF(), DEFINE_STACK_OF(), DEFINE_STACK_OF_CONST(), and @@ -221,45 +218,43 @@ It defines these functions: OPENSSL_sk_deep_copy(),


    RETURN VALUES

    -

    sk_TYPE_num() returns the number of elements in the stack or -1 if the -passed stack is NULL.

    -

    sk_TYPE_value() returns a pointer to a stack element or NULL if the +

    sk_TYPE_num() returns the number of elements in the stack or -1 if the +passed stack is NULL.

    +

    sk_TYPE_value() returns a pointer to a stack element or NULL if the index is out of range.

    -

    sk_TYPE_new(), sk_TYPE_new_null() and sk_TYPE_new_reserve() -return an empty stack or NULL if an error occurs.

    -

    sk_TYPE_reserve() returns 1 on successful allocation of the required -memory or 0 on error.

    -

    sk_TYPE_set_cmp_func() returns the old comparison function or NULL if +

    sk_TYPE_new(), sk_TYPE_new_null() and sk_TYPE_new_reserve() return an empty +stack or NULL if an error occurs.

    +

    sk_TYPE_reserve() returns 1 on successful allocation of the required memory +or 0 on error.

    +

    sk_TYPE_set_cmp_func() returns the old comparison function or NULL if there was no old comparison function.

    -

    sk_TYPE_free(), sk_TYPE_zero(), sk_TYPE_pop_free() and -sk_TYPE_sort() do not return values.

    -

    sk_TYPE_pop(), sk_TYPE_shift(), sk_TYPE_delete() and -sk_TYPE_delete_ptr() return a pointer to the deleted element or NULL -on error.

    -

    sk_TYPE_insert(), sk_TYPE_push() and sk_TYPE_unshift() return -the total number of elements in the stack and 0 if an error occurred.

    -

    sk_TYPE_set() returns a pointer to the replacement element or NULL on +

    sk_TYPE_free(), sk_TYPE_zero(), sk_TYPE_pop_free() and sk_TYPE_sort() do +not return values.

    +

    sk_TYPE_pop(), sk_TYPE_shift(), sk_TYPE_delete() and sk_TYPE_delete_ptr() +return a pointer to the deleted element or NULL on error.

    +

    sk_TYPE_insert(), sk_TYPE_push() and sk_TYPE_unshift() return the total +number of elements in the stack and 0 if an error occurred.

    +

    sk_TYPE_set() returns a pointer to the replacement element or NULL on error.

    -

    sk_TYPE_find() and sk_TYPE_find_ex() return an index to the found -element or -1 on error.

    -

    sk_TYPE_is_sorted() returns 1 if the stack is sorted and 0 if it is +

    sk_TYPE_find() and sk_TYPE_find_ex() return an index to the found element +or -1 on error.

    +

    sk_TYPE_is_sorted() returns 1 if the stack is sorted and 0 if it is not.

    -

    sk_TYPE_dup() and sk_TYPE_deep_copy() return a pointer to the copy -of the stack.

    +

    sk_TYPE_dup() and sk_TYPE_deep_copy() return a pointer to the copy of the +stack.


    HISTORY

    Before OpenSSL 1.1.0, this was implemented via macros and not inline functions and was not a public API.

    -

    sk_TYPE_reserve() and sk_TYPE_new_reserve() were added in OpenSSL -1.1.1.

    +

    sk_TYPE_reserve() and sk_TYPE_new_reserve() were added in OpenSSL 1.1.1.


    COPYRIGHT

    Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/DEFINE_STACK_OF_CONST.html b/linux_amd64/share/doc/openssl/html/man3/DEFINE_STACK_OF_CONST.html new file mode 120000 index 0000000..1053507 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DEFINE_STACK_OF_CONST.html @@ -0,0 +1 @@ +DEFINE_STACK_OF.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DES_cbc_cksum.html b/linux_amd64/share/doc/openssl/html/man3/DES_cbc_cksum.html new file mode 120000 index 0000000..b408aa1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DES_cbc_cksum.html @@ -0,0 +1 @@ +DES_random_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DES_cfb64_encrypt.html b/linux_amd64/share/doc/openssl/html/man3/DES_cfb64_encrypt.html new file mode 120000 index 0000000..b408aa1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DES_cfb64_encrypt.html @@ -0,0 +1 @@ +DES_random_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DES_cfb_encrypt.html b/linux_amd64/share/doc/openssl/html/man3/DES_cfb_encrypt.html new file mode 120000 index 0000000..b408aa1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DES_cfb_encrypt.html @@ -0,0 +1 @@ +DES_random_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DES_crypt.html b/linux_amd64/share/doc/openssl/html/man3/DES_crypt.html new file mode 120000 index 0000000..b408aa1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DES_crypt.html @@ -0,0 +1 @@ +DES_random_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DES_ecb2_encrypt.html b/linux_amd64/share/doc/openssl/html/man3/DES_ecb2_encrypt.html new file mode 120000 index 0000000..b408aa1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DES_ecb2_encrypt.html @@ -0,0 +1 @@ +DES_random_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DES_ecb3_encrypt.html b/linux_amd64/share/doc/openssl/html/man3/DES_ecb3_encrypt.html new file mode 120000 index 0000000..b408aa1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DES_ecb3_encrypt.html @@ -0,0 +1 @@ +DES_random_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DES_ecb_encrypt.html b/linux_amd64/share/doc/openssl/html/man3/DES_ecb_encrypt.html new file mode 120000 index 0000000..b408aa1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DES_ecb_encrypt.html @@ -0,0 +1 @@ +DES_random_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DES_ede2_cbc_encrypt.html b/linux_amd64/share/doc/openssl/html/man3/DES_ede2_cbc_encrypt.html new file mode 120000 index 0000000..b408aa1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DES_ede2_cbc_encrypt.html @@ -0,0 +1 @@ +DES_random_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DES_ede2_cfb64_encrypt.html b/linux_amd64/share/doc/openssl/html/man3/DES_ede2_cfb64_encrypt.html new file mode 120000 index 0000000..b408aa1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DES_ede2_cfb64_encrypt.html @@ -0,0 +1 @@ +DES_random_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DES_ede2_ofb64_encrypt.html b/linux_amd64/share/doc/openssl/html/man3/DES_ede2_ofb64_encrypt.html new file mode 120000 index 0000000..b408aa1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DES_ede2_ofb64_encrypt.html @@ -0,0 +1 @@ +DES_random_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DES_ede3_cbc_encrypt.html b/linux_amd64/share/doc/openssl/html/man3/DES_ede3_cbc_encrypt.html new file mode 120000 index 0000000..b408aa1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DES_ede3_cbc_encrypt.html @@ -0,0 +1 @@ +DES_random_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DES_ede3_cfb64_encrypt.html b/linux_amd64/share/doc/openssl/html/man3/DES_ede3_cfb64_encrypt.html new file mode 120000 index 0000000..b408aa1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DES_ede3_cfb64_encrypt.html @@ -0,0 +1 @@ +DES_random_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DES_ede3_ofb64_encrypt.html b/linux_amd64/share/doc/openssl/html/man3/DES_ede3_ofb64_encrypt.html new file mode 120000 index 0000000..b408aa1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DES_ede3_ofb64_encrypt.html @@ -0,0 +1 @@ +DES_random_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DES_fcrypt.html b/linux_amd64/share/doc/openssl/html/man3/DES_fcrypt.html new file mode 120000 index 0000000..b408aa1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DES_fcrypt.html @@ -0,0 +1 @@ +DES_random_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DES_is_weak_key.html b/linux_amd64/share/doc/openssl/html/man3/DES_is_weak_key.html new file mode 120000 index 0000000..b408aa1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DES_is_weak_key.html @@ -0,0 +1 @@ +DES_random_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DES_key_sched.html b/linux_amd64/share/doc/openssl/html/man3/DES_key_sched.html new file mode 120000 index 0000000..b408aa1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DES_key_sched.html @@ -0,0 +1 @@ +DES_random_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DES_ncbc_encrypt.html b/linux_amd64/share/doc/openssl/html/man3/DES_ncbc_encrypt.html new file mode 120000 index 0000000..b408aa1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DES_ncbc_encrypt.html @@ -0,0 +1 @@ +DES_random_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DES_ofb64_encrypt.html b/linux_amd64/share/doc/openssl/html/man3/DES_ofb64_encrypt.html new file mode 120000 index 0000000..b408aa1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DES_ofb64_encrypt.html @@ -0,0 +1 @@ +DES_random_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DES_ofb_encrypt.html b/linux_amd64/share/doc/openssl/html/man3/DES_ofb_encrypt.html new file mode 120000 index 0000000..b408aa1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DES_ofb_encrypt.html @@ -0,0 +1 @@ +DES_random_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DES_pcbc_encrypt.html b/linux_amd64/share/doc/openssl/html/man3/DES_pcbc_encrypt.html new file mode 120000 index 0000000..b408aa1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DES_pcbc_encrypt.html @@ -0,0 +1 @@ +DES_random_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DES_quad_cksum.html b/linux_amd64/share/doc/openssl/html/man3/DES_quad_cksum.html new file mode 120000 index 0000000..b408aa1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DES_quad_cksum.html @@ -0,0 +1 @@ +DES_random_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DES_random_key.html b/linux_amd64/share/doc/openssl/html/man3/DES_random_key.html index c6220c5..fc6ae86 100755 --- a/linux_amd64/share/doc/openssl/html/man3/DES_random_key.html +++ b/linux_amd64/share/doc/openssl/html/man3/DES_random_key.html @@ -50,9 +50,6 @@ DES_fcrypt, DES_crypt - DES encryption

    SYNOPSIS

      #include <openssl/des.h>
    -

    Deprecated since OpenSSL 3.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

      void DES_random_key(DES_cblock *ret);
    @@ -133,9 +130,6 @@ DES_fcrypt, DES_crypt - DES encryption


    DESCRIPTION

    -

    All of the functions described on this page are deprecated. Applications should -instead use EVP_EncryptInit_ex(3), EVP_EncryptUpdate(3) and -EVP_EncryptFinal_ex(3) or the equivalently named decrypt functions.

    This library contains a fast implementation of the DES encryption algorithm.

    There are two phases to the use of DES encryption. The first is the @@ -156,8 +150,11 @@ architecture dependent DES_key_schedule via the and is not a weak or semi-weak key. If the parity is wrong, then -1 is returned. If the key is a weak key, then -2 is returned. If an error is returned, the key schedule is not generated.

    -

    DES_set_key() works like DES_set_key_checked() and remains for -backward compatibility.

    +

    DES_set_key() works like +DES_set_key_checked() if the DES_check_key flag is non-zero, +otherwise like DES_set_key_unchecked(). These functions are available +for compatibility; it is recommended to use a function that does not +depend on a global variable.

    DES_set_odd_parity() sets the parity of the passed key to odd.

    DES_is_weak_key() returns 1 if the passed key is a weak key, 0 if it is ok.

    @@ -167,7 +164,7 @@ is ok.

    decrypts a single 8-byte DES_cblock in electronic code book (ECB) mode. It always transforms the input data, pointed to by input, into the output data, pointed to by the output argument. -If the encrypt argument is nonzero (DES_ENCRYPT), the input +If the encrypt argument is non-zero (DES_ENCRYPT), the input (cleartext) is encrypted in to the output (ciphertext) using the key_schedule specified by the schedule argument, previously set via DES_set_key. If encrypt is zero (DES_DECRYPT), the input (now @@ -183,7 +180,7 @@ using ECB mode and ks1 as the key.

    The macro DES_ecb2_encrypt() is provided to perform two-key Triple-DES encryption by using ks1 for the final encryption.

    DES_ncbc_encrypt() encrypts/decrypts using the cipher-block-chaining -(CBC) mode of DES. If the encrypt argument is nonzero, the +(CBC) mode of DES. If the encrypt argument is non-zero, the routine cipher-block-chain encrypts the cleartext data pointed to by the input argument into the ciphertext pointed to by the output argument, using the key schedule provided by the schedule argument, @@ -313,7 +310,6 @@ to a static buffer on success; otherwise they return NULL.


    HISTORY

    -

    All of these functions were deprecated in OpenSSL 3.0.

    The requirement that the salt parameter to DES_crypt() and DES_fcrypt() be two ASCII characters was first enforced in OpenSSL 1.1.0. Previous versions tried to use the letter uppercase A @@ -323,8 +319,8 @@ on some platforms.


    COPYRIGHT

    -

    Copyright 2000-2020 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/DES_set_key.html b/linux_amd64/share/doc/openssl/html/man3/DES_set_key.html new file mode 120000 index 0000000..b408aa1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DES_set_key.html @@ -0,0 +1 @@ +DES_random_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DES_set_key_checked.html b/linux_amd64/share/doc/openssl/html/man3/DES_set_key_checked.html new file mode 120000 index 0000000..b408aa1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DES_set_key_checked.html @@ -0,0 +1 @@ +DES_random_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DES_set_key_unchecked.html b/linux_amd64/share/doc/openssl/html/man3/DES_set_key_unchecked.html new file mode 120000 index 0000000..b408aa1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DES_set_key_unchecked.html @@ -0,0 +1 @@ +DES_random_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DES_set_odd_parity.html b/linux_amd64/share/doc/openssl/html/man3/DES_set_odd_parity.html new file mode 120000 index 0000000..b408aa1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DES_set_odd_parity.html @@ -0,0 +1 @@ +DES_random_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DES_string_to_2keys.html b/linux_amd64/share/doc/openssl/html/man3/DES_string_to_2keys.html new file mode 120000 index 0000000..b408aa1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DES_string_to_2keys.html @@ -0,0 +1 @@ +DES_random_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DES_string_to_key.html b/linux_amd64/share/doc/openssl/html/man3/DES_string_to_key.html new file mode 120000 index 0000000..b408aa1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DES_string_to_key.html @@ -0,0 +1 @@ +DES_random_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DES_xcbc_encrypt.html b/linux_amd64/share/doc/openssl/html/man3/DES_xcbc_encrypt.html new file mode 120000 index 0000000..b408aa1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DES_xcbc_encrypt.html @@ -0,0 +1 @@ +DES_random_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_OpenSSL.html b/linux_amd64/share/doc/openssl/html/man3/DH_OpenSSL.html new file mode 120000 index 0000000..bb7e151 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_OpenSSL.html @@ -0,0 +1 @@ +DH_set_method.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_bits.html b/linux_amd64/share/doc/openssl/html/man3/DH_bits.html new file mode 120000 index 0000000..c850910 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_bits.html @@ -0,0 +1 @@ +DH_size.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_check.html b/linux_amd64/share/doc/openssl/html/man3/DH_check.html new file mode 120000 index 0000000..f542f1a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_check.html @@ -0,0 +1 @@ +DH_generate_parameters.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_check_ex.html b/linux_amd64/share/doc/openssl/html/man3/DH_check_ex.html new file mode 120000 index 0000000..f542f1a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_check_ex.html @@ -0,0 +1 @@ +DH_generate_parameters.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_check_params.html b/linux_amd64/share/doc/openssl/html/man3/DH_check_params.html new file mode 120000 index 0000000..f542f1a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_check_params.html @@ -0,0 +1 @@ +DH_generate_parameters.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_check_params_ex.html b/linux_amd64/share/doc/openssl/html/man3/DH_check_params_ex.html new file mode 120000 index 0000000..f542f1a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_check_params_ex.html @@ -0,0 +1 @@ +DH_generate_parameters.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_check_pub_key_ex.html b/linux_amd64/share/doc/openssl/html/man3/DH_check_pub_key_ex.html new file mode 120000 index 0000000..f542f1a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_check_pub_key_ex.html @@ -0,0 +1 @@ +DH_generate_parameters.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_clear_flags.html b/linux_amd64/share/doc/openssl/html/man3/DH_clear_flags.html new file mode 120000 index 0000000..d17bff2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_clear_flags.html @@ -0,0 +1 @@ +DH_get0_pqg.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_compute_key.html b/linux_amd64/share/doc/openssl/html/man3/DH_compute_key.html new file mode 120000 index 0000000..66846d9 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_compute_key.html @@ -0,0 +1 @@ +DH_generate_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_free.html b/linux_amd64/share/doc/openssl/html/man3/DH_free.html new file mode 120000 index 0000000..8f0af9c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_free.html @@ -0,0 +1 @@ +DH_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_generate_key.html b/linux_amd64/share/doc/openssl/html/man3/DH_generate_key.html index 99e3a2f..a7ae4a4 100755 --- a/linux_amd64/share/doc/openssl/html/man3/DH_generate_key.html +++ b/linux_amd64/share/doc/openssl/html/man3/DH_generate_key.html @@ -21,7 +21,6 @@
  65. DESCRIPTION
  66. RETURN VALUES
  67. SEE ALSO
  68. -
  69. HISTORY
  70. COPYRIGHT
  71. @@ -40,9 +39,6 @@

    SYNOPSIS

      #include <openssl/dh.h>
    -

    Deprecated since OpenSSL 3.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

      int DH_generate_key(DH *dh);
    @@ -51,9 +47,6 @@
     


    DESCRIPTION

    -

    Both of the functions described on this page are deprecated. -Applications should instead use EVP_PKEY_derive_init(3) -and EVP_PKEY_derive(3).

    DH_generate_key() performs the first step of a Diffie-Hellman key exchange by generating private and public DH values. By calling DH_compute_key(), these are combined with the other party's public @@ -78,19 +71,13 @@ on error.


    SEE ALSO

    -

    EVP_PKEY_derive(3), -DH_new(3), ERR_get_error(3), RAND_bytes(3), DH_size(3)

    -

    -

    -
    -

    HISTORY

    -

    Both of these functions were deprecated in OpenSSL 3.0.

    +

    DH_new(3), ERR_get_error(3), RAND_bytes(3), DH_size(3)


    COPYRIGHT

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_generate_parameters.html b/linux_amd64/share/doc/openssl/html/man3/DH_generate_parameters.html index 543284a..c4eca1e 100755 --- a/linux_amd64/share/doc/openssl/html/man3/DH_generate_parameters.html +++ b/linux_amd64/share/doc/openssl/html/man3/DH_generate_parameters.html @@ -44,9 +44,6 @@ parameters

    SYNOPSIS

      #include <openssl/dh.h>
    -

    Deprecated since OpenSSL 3.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

      int DH_generate_parameters_ex(DH *dh, int prime_len, int generator, BN_GENCB *cb);
    @@ -56,20 +53,16 @@ parameters

    int DH_check_ex(const DH *dh); int DH_check_params_ex(const DH *dh); int DH_check_pub_key_ex(const DH *dh, const BIGNUM *pub_key);
    -

    Deprecated since OpenSSL 0.9.8, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

    +

    Deprecated:

    + #if OPENSSL_API_COMPAT < 0x00908000L
      DH *DH_generate_parameters(int prime_len, int generator,
    -                            void (*callback)(int, int, void *), void *cb_arg);
    + void (*callback)(int, int, void *), void *cb_arg); + #endif


    DESCRIPTION

    -

    All of the functions described on this page are deprecated. -Applications should instead use EVP_PKEY_check(3), -EVP_PKEY_public_check(3), EVP_PKEY_private_check(3) and -EVP_PKEY_param_check(3).

    DH_generate_parameters_ex() generates Diffie-Hellman parameters that can be shared among a group of users, and stores them in the provided DH structure. The pseudo-random number generator must be @@ -109,16 +102,6 @@ prime.

    Note that the lack of this bit doesn't guarantee that g is suitable, unless p is known to be a strong prime.

    -
    DH_MODULUS_TOO_SMALL
    - -
    -

    The modulus is too small.

    -
    -
    DH_MODULUS_TOO_LARGE
    - -
    -

    The modulus is too large.

    -

    DH_check() confirms that the Diffie-Hellman parameters dh are valid. The value of *codes is updated with any problems found. If *codes is zero then @@ -185,15 +168,14 @@ check is successful, 0 for failed.


    HISTORY

    -

    All of these functions were deprecated in OpenSSL 3.0.

    DH_generate_parameters() was deprecated in OpenSSL 0.9.8; use DH_generate_parameters_ex() instead.


    COPYRIGHT

    -

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_generate_parameters_ex.html b/linux_amd64/share/doc/openssl/html/man3/DH_generate_parameters_ex.html new file mode 120000 index 0000000..f542f1a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_generate_parameters_ex.html @@ -0,0 +1 @@ +DH_generate_parameters.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_get0_engine.html b/linux_amd64/share/doc/openssl/html/man3/DH_get0_engine.html new file mode 120000 index 0000000..d17bff2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_get0_engine.html @@ -0,0 +1 @@ +DH_get0_pqg.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_get0_g.html b/linux_amd64/share/doc/openssl/html/man3/DH_get0_g.html new file mode 120000 index 0000000..d17bff2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_get0_g.html @@ -0,0 +1 @@ +DH_get0_pqg.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_get0_key.html b/linux_amd64/share/doc/openssl/html/man3/DH_get0_key.html new file mode 120000 index 0000000..d17bff2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_get0_key.html @@ -0,0 +1 @@ +DH_get0_pqg.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_get0_p.html b/linux_amd64/share/doc/openssl/html/man3/DH_get0_p.html new file mode 120000 index 0000000..d17bff2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_get0_p.html @@ -0,0 +1 @@ +DH_get0_pqg.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_get0_pqg.html b/linux_amd64/share/doc/openssl/html/man3/DH_get0_pqg.html index 90137dd..bafbc0d 100755 --- a/linux_amd64/share/doc/openssl/html/man3/DH_get0_pqg.html +++ b/linux_amd64/share/doc/openssl/html/man3/DH_get0_pqg.html @@ -59,11 +59,7 @@ DH_get_length, DH_set_length - Routines for getting and setting data in a DH obj const BIGNUM *DH_get0_pub_key(const DH *dh); void DH_clear_flags(DH *dh, int flags); int DH_test_flags(const DH *dh, int flags); - void DH_set_flags(DH *dh, int flags);
    -

    Deprecated since OpenSSL 3.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

    -
    + void DH_set_flags(DH *dh, int flags);
      ENGINE *DH_get0_engine(DH *d);
      long DH_get_length(const DH *dh);
      int DH_set_length(DH *dh, long length);
    @@ -110,12 +106,11 @@ flags can be tested in one go. All flags that are currently set are returned, or zero if none of the flags are set. DH_clear_flags() clears the specified flags within the DH object.

    DH_get0_engine() returns a handle to the ENGINE that has been set for this DH -object, or NULL if no such ENGINE has been set. This function is deprecated.

    +object, or NULL if no such ENGINE has been set.

    The DH_get_length() and DH_set_length() functions get and set the optional -length parameter associated with this DH object. If the length is nonzero then +length parameter associated with this DH object. If the length is non-zero then it is used, otherwise it is ignored. The length parameter indicates the -length of the secret exponent (private key) in bits. These functions are -deprecated.

    +length of the secret exponent (private key) in bits.


    @@ -146,15 +141,13 @@ or zero if no such length has been explicitly set.


    HISTORY

    -

    The DH_get0_engine(), DH_get_length() and DH_set_length() functions were -deprecated in OpenSSL 3.0.

    The functions described here were added in OpenSSL 1.1.0.


    COPYRIGHT

    Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_get0_priv_key.html b/linux_amd64/share/doc/openssl/html/man3/DH_get0_priv_key.html new file mode 120000 index 0000000..d17bff2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_get0_priv_key.html @@ -0,0 +1 @@ +DH_get0_pqg.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_get0_pub_key.html b/linux_amd64/share/doc/openssl/html/man3/DH_get0_pub_key.html new file mode 120000 index 0000000..d17bff2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_get0_pub_key.html @@ -0,0 +1 @@ +DH_get0_pqg.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_get0_q.html b/linux_amd64/share/doc/openssl/html/man3/DH_get0_q.html new file mode 120000 index 0000000..d17bff2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_get0_q.html @@ -0,0 +1 @@ +DH_get0_pqg.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_get_1024_160.html b/linux_amd64/share/doc/openssl/html/man3/DH_get_1024_160.html index af5ff21..6fabdc0 100755 --- a/linux_amd64/share/doc/openssl/html/man3/DH_get_1024_160.html +++ b/linux_amd64/share/doc/openssl/html/man3/DH_get_1024_160.html @@ -97,7 +97,7 @@ is not NULL, the BIGNUM will be set into that location as well.


    COPYRIGHT

    Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_get_2048_224.html b/linux_amd64/share/doc/openssl/html/man3/DH_get_2048_224.html new file mode 120000 index 0000000..cda713b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_get_2048_224.html @@ -0,0 +1 @@ +DH_get_1024_160.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_get_2048_256.html b/linux_amd64/share/doc/openssl/html/man3/DH_get_2048_256.html new file mode 120000 index 0000000..cda713b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_get_2048_256.html @@ -0,0 +1 @@ +DH_get_1024_160.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_get_default_method.html b/linux_amd64/share/doc/openssl/html/man3/DH_get_default_method.html new file mode 120000 index 0000000..bb7e151 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_get_default_method.html @@ -0,0 +1 @@ +DH_set_method.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_get_ex_data.html b/linux_amd64/share/doc/openssl/html/man3/DH_get_ex_data.html new file mode 120000 index 0000000..6d5f2d2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_get_ex_data.html @@ -0,0 +1 @@ +BIO_get_ex_new_index.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_get_ex_new_index.html b/linux_amd64/share/doc/openssl/html/man3/DH_get_ex_new_index.html new file mode 120000 index 0000000..6d5f2d2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_get_ex_new_index.html @@ -0,0 +1 @@ +BIO_get_ex_new_index.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_get_length.html b/linux_amd64/share/doc/openssl/html/man3/DH_get_length.html new file mode 120000 index 0000000..d17bff2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_get_length.html @@ -0,0 +1 @@ +DH_get0_pqg.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_get_nid.html b/linux_amd64/share/doc/openssl/html/man3/DH_get_nid.html new file mode 120000 index 0000000..a39b79a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_get_nid.html @@ -0,0 +1 @@ +DH_new_by_nid.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_meth_dup.html b/linux_amd64/share/doc/openssl/html/man3/DH_meth_dup.html new file mode 120000 index 0000000..8f1677d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_meth_dup.html @@ -0,0 +1 @@ +DH_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_meth_free.html b/linux_amd64/share/doc/openssl/html/man3/DH_meth_free.html new file mode 120000 index 0000000..8f1677d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_meth_free.html @@ -0,0 +1 @@ +DH_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_meth_get0_app_data.html b/linux_amd64/share/doc/openssl/html/man3/DH_meth_get0_app_data.html new file mode 120000 index 0000000..8f1677d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_meth_get0_app_data.html @@ -0,0 +1 @@ +DH_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_meth_get0_name.html b/linux_amd64/share/doc/openssl/html/man3/DH_meth_get0_name.html new file mode 120000 index 0000000..8f1677d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_meth_get0_name.html @@ -0,0 +1 @@ +DH_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_meth_get_bn_mod_exp.html b/linux_amd64/share/doc/openssl/html/man3/DH_meth_get_bn_mod_exp.html new file mode 120000 index 0000000..8f1677d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_meth_get_bn_mod_exp.html @@ -0,0 +1 @@ +DH_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_meth_get_compute_key.html b/linux_amd64/share/doc/openssl/html/man3/DH_meth_get_compute_key.html new file mode 120000 index 0000000..8f1677d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_meth_get_compute_key.html @@ -0,0 +1 @@ +DH_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_meth_get_finish.html b/linux_amd64/share/doc/openssl/html/man3/DH_meth_get_finish.html new file mode 120000 index 0000000..8f1677d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_meth_get_finish.html @@ -0,0 +1 @@ +DH_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_meth_get_flags.html b/linux_amd64/share/doc/openssl/html/man3/DH_meth_get_flags.html new file mode 120000 index 0000000..8f1677d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_meth_get_flags.html @@ -0,0 +1 @@ +DH_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_meth_get_generate_key.html b/linux_amd64/share/doc/openssl/html/man3/DH_meth_get_generate_key.html new file mode 120000 index 0000000..8f1677d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_meth_get_generate_key.html @@ -0,0 +1 @@ +DH_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_meth_get_generate_params.html b/linux_amd64/share/doc/openssl/html/man3/DH_meth_get_generate_params.html new file mode 120000 index 0000000..8f1677d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_meth_get_generate_params.html @@ -0,0 +1 @@ +DH_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_meth_get_init.html b/linux_amd64/share/doc/openssl/html/man3/DH_meth_get_init.html new file mode 120000 index 0000000..8f1677d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_meth_get_init.html @@ -0,0 +1 @@ +DH_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_meth_new.html b/linux_amd64/share/doc/openssl/html/man3/DH_meth_new.html index bf460bc..5ac077b 100755 --- a/linux_amd64/share/doc/openssl/html/man3/DH_meth_new.html +++ b/linux_amd64/share/doc/openssl/html/man3/DH_meth_new.html @@ -46,9 +46,6 @@ DH_meth_set_generate_params - Routines to build up DH methods

    SYNOPSIS

      #include <openssl/dh.h>
    -

    Deprecated since OpenSSL 3.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

      DH_METHOD *DH_meth_new(const char *name, int flags);
    @@ -95,8 +92,6 @@ DH_meth_set_generate_params - Routines to build up DH methods


    DESCRIPTION

    -

    All of the functions described on this page are deprecated. -Applications should instead use the provider APIs.

    The DH_METHOD type is a structure used for the provision of custom DH implementations. It provides a set of functions used by OpenSSL for the implementation of the various DH capabilities.

    @@ -179,14 +174,13 @@ set.


    HISTORY

    -

    All of these functions were deprecated in OpenSSL 3.0.

    The functions described here were added in OpenSSL 1.1.0.


    COPYRIGHT

    Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_meth_set0_app_data.html b/linux_amd64/share/doc/openssl/html/man3/DH_meth_set0_app_data.html new file mode 120000 index 0000000..8f1677d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_meth_set0_app_data.html @@ -0,0 +1 @@ +DH_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_meth_set1_name.html b/linux_amd64/share/doc/openssl/html/man3/DH_meth_set1_name.html new file mode 120000 index 0000000..8f1677d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_meth_set1_name.html @@ -0,0 +1 @@ +DH_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_meth_set_bn_mod_exp.html b/linux_amd64/share/doc/openssl/html/man3/DH_meth_set_bn_mod_exp.html new file mode 120000 index 0000000..8f1677d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_meth_set_bn_mod_exp.html @@ -0,0 +1 @@ +DH_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_meth_set_compute_key.html b/linux_amd64/share/doc/openssl/html/man3/DH_meth_set_compute_key.html new file mode 120000 index 0000000..8f1677d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_meth_set_compute_key.html @@ -0,0 +1 @@ +DH_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_meth_set_finish.html b/linux_amd64/share/doc/openssl/html/man3/DH_meth_set_finish.html new file mode 120000 index 0000000..8f1677d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_meth_set_finish.html @@ -0,0 +1 @@ +DH_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_meth_set_flags.html b/linux_amd64/share/doc/openssl/html/man3/DH_meth_set_flags.html new file mode 120000 index 0000000..8f1677d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_meth_set_flags.html @@ -0,0 +1 @@ +DH_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_meth_set_generate_key.html b/linux_amd64/share/doc/openssl/html/man3/DH_meth_set_generate_key.html new file mode 120000 index 0000000..8f1677d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_meth_set_generate_key.html @@ -0,0 +1 @@ +DH_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_meth_set_generate_params.html b/linux_amd64/share/doc/openssl/html/man3/DH_meth_set_generate_params.html new file mode 120000 index 0000000..8f1677d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_meth_set_generate_params.html @@ -0,0 +1 @@ +DH_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_meth_set_init.html b/linux_amd64/share/doc/openssl/html/man3/DH_meth_set_init.html new file mode 120000 index 0000000..8f1677d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_meth_set_init.html @@ -0,0 +1 @@ +DH_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_new.html b/linux_amd64/share/doc/openssl/html/man3/DH_new.html index 5e5d46c..9cef84c 100755 --- a/linux_amd64/share/doc/openssl/html/man3/DH_new.html +++ b/linux_amd64/share/doc/openssl/html/man3/DH_new.html @@ -71,7 +71,7 @@ a pointer to the newly allocated structure.


    COPYRIGHT

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_new_by_nid.html b/linux_amd64/share/doc/openssl/html/man3/DH_new_by_nid.html index ad004f0..b30d992 100755 --- a/linux_amd64/share/doc/openssl/html/man3/DH_new_by_nid.html +++ b/linux_amd64/share/doc/openssl/html/man3/DH_new_by_nid.html @@ -20,7 +20,6 @@
  72. SYNOPSIS
  73. DESCRIPTION
  74. RETURN VALUES
  75. -
  76. HISTORY
  77. COPYRIGHT
  78. @@ -39,24 +38,18 @@

    SYNOPSIS

      #include <openssl/dh.h>
    - DH *DH_new_by_nid(int nid);
    -

    Deprecated since OpenSSL 3.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

    -
    - int *DH_get_nid(DH *dh);
    + DH *DH_new_by_nid(int nid); + int *DH_get_nid(const DH *dh);


    DESCRIPTION

    DH_new_by_nid() creates and returns a DH structure containing named parameters nid. Currently nid must be NID_ffdhe2048, NID_ffdhe3072, -NID_ffdhe4096, NID_ffdhe6144, NID_ffdhe8192, -NID_modp_1536, NID_modp_2048, NID_modp_3072, -NID_modp_4096, NID_modp_6144 or NID_modp_8192.

    +NID_ffdhe4096, NID_ffdhe6144 or NID_ffdhe8192.

    DH_get_nid() determines if the parameters contained in dh match any named set. It returns the NID corresponding to the matching parameters or -NID_undef if there is no match. This function is deprecated.

    +NID_undef if there is no match.


    @@ -67,14 +60,9 @@ any named set. It returns the NID corresponding to the matching parameters or


    -

    HISTORY

    -

    The DH_get_nid() function was deprecated in OpenSSL 3.0.

    -

    -

    -

    COPYRIGHT

    -

    Copyright 2017-2020 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2017 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_new_method.html b/linux_amd64/share/doc/openssl/html/man3/DH_new_method.html new file mode 120000 index 0000000..bb7e151 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_new_method.html @@ -0,0 +1 @@ +DH_set_method.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_security_bits.html b/linux_amd64/share/doc/openssl/html/man3/DH_security_bits.html new file mode 120000 index 0000000..c850910 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_security_bits.html @@ -0,0 +1 @@ +DH_size.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_set0_key.html b/linux_amd64/share/doc/openssl/html/man3/DH_set0_key.html new file mode 120000 index 0000000..d17bff2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_set0_key.html @@ -0,0 +1 @@ +DH_get0_pqg.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_set0_pqg.html b/linux_amd64/share/doc/openssl/html/man3/DH_set0_pqg.html new file mode 120000 index 0000000..d17bff2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_set0_pqg.html @@ -0,0 +1 @@ +DH_get0_pqg.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_set_default_method.html b/linux_amd64/share/doc/openssl/html/man3/DH_set_default_method.html new file mode 120000 index 0000000..bb7e151 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_set_default_method.html @@ -0,0 +1 @@ +DH_set_method.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_set_ex_data.html b/linux_amd64/share/doc/openssl/html/man3/DH_set_ex_data.html new file mode 120000 index 0000000..6d5f2d2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_set_ex_data.html @@ -0,0 +1 @@ +BIO_get_ex_new_index.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_set_flags.html b/linux_amd64/share/doc/openssl/html/man3/DH_set_flags.html new file mode 120000 index 0000000..d17bff2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_set_flags.html @@ -0,0 +1 @@ +DH_get0_pqg.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_set_length.html b/linux_amd64/share/doc/openssl/html/man3/DH_set_length.html new file mode 120000 index 0000000..d17bff2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_set_length.html @@ -0,0 +1 @@ +DH_get0_pqg.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_set_method.html b/linux_amd64/share/doc/openssl/html/man3/DH_set_method.html index 2da2b2a..0a2c7a9 100755 --- a/linux_amd64/share/doc/openssl/html/man3/DH_set_method.html +++ b/linux_amd64/share/doc/openssl/html/man3/DH_set_method.html @@ -21,7 +21,6 @@
  79. DESCRIPTION
  80. RETURN VALUES
  81. SEE ALSO
  82. -
  83. HISTORY
  84. COPYRIGHT
  85. @@ -41,9 +40,6 @@ DH_set_method, DH_new_method, DH_OpenSSL - select DH method

    SYNOPSIS

      #include <openssl/dh.h>
    -

    Deprecated since OpenSSL 3.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

      void DH_set_default_method(const DH_METHOD *meth);
    @@ -58,8 +54,6 @@ DH_set_method, DH_new_method, DH_OpenSSL - select DH method


    DESCRIPTION

    -

    All of the functions described on this page are deprecated. -Applications should instead use the provider APIs.

    A DH_METHOD specifies the functions that OpenSSL uses for Diffie-Hellman operations. By modifying the method, alternative implementations such as hardware accelerators may be used. IMPORTANT: See the NOTES section for @@ -96,7 +90,7 @@ operations is used, and if no default ENGINE is set, the DH_METHOD controlled by

    DH_OpenSSL() and DH_get_default_method() return pointers to the respective DH_METHODs.

    DH_set_default_method() returns no value.

    -

    DH_set_method() returns nonzero if the provided meth was successfully set as +

    DH_set_method() returns non-zero if the provided meth was successfully set as the method for dh (including unloading the ENGINE handle if the previous method was supplied by an ENGINE).

    DH_new_method() returns NULL and sets an error code that can be obtained by @@ -110,14 +104,9 @@ returns a pointer to the newly allocated structure.


    -

    HISTORY

    -

    All of these functions were deprecated in OpenSSL 3.0.

    -

    -

    -

    COPYRIGHT

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_size.html b/linux_amd64/share/doc/openssl/html/man3/DH_size.html index 0c995ec..ec78757 100755 --- a/linux_amd64/share/doc/openssl/html/man3/DH_size.html +++ b/linux_amd64/share/doc/openssl/html/man3/DH_size.html @@ -41,9 +41,6 @@ security bits

    SYNOPSIS

      #include <openssl/dh.h>
    -

    Deprecated since OpenSSL 3.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

      int DH_size(const DH *dh);
    @@ -54,9 +51,6 @@ security bits


    DESCRIPTION

    -

    All of the functions described on this page are deprecated. -Applications should instead use EVP_PKEY_bits(3), -EVP_PKEY_security_bits(3) and EVP_PKEY_size(3).

    DH_size() returns the Diffie-Hellman prime size in bytes. It can be used to determine how much memory must be allocated for the shared secret computed by DH_compute_key(3).

    @@ -75,21 +69,19 @@ key. See BN_security_bits(3).


    SEE ALSO

    -

    EVP_PKEY_bits(3), -DH_new(3), DH_generate_key(3), +

    DH_new(3), DH_generate_key(3), BN_num_bits(3)


    HISTORY

    -

    All of these functions were deprecated in OpenSSL 3.0.

    The DH_bits() function was added in OpenSSL 1.1.0.


    COPYRIGHT

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/DH_test_flags.html b/linux_amd64/share/doc/openssl/html/man3/DH_test_flags.html new file mode 120000 index 0000000..d17bff2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DH_test_flags.html @@ -0,0 +1 @@ +DH_get0_pqg.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DHparams_print.html b/linux_amd64/share/doc/openssl/html/man3/DHparams_print.html new file mode 120000 index 0000000..a46aa61 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DHparams_print.html @@ -0,0 +1 @@ +RSA_print.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DHparams_print_fp.html b/linux_amd64/share/doc/openssl/html/man3/DHparams_print_fp.html new file mode 120000 index 0000000..a46aa61 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DHparams_print_fp.html @@ -0,0 +1 @@ +RSA_print.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DIRECTORYSTRING_free.html b/linux_amd64/share/doc/openssl/html/man3/DIRECTORYSTRING_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DIRECTORYSTRING_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DIRECTORYSTRING_new.html b/linux_amd64/share/doc/openssl/html/man3/DIRECTORYSTRING_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DIRECTORYSTRING_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DISPLAYTEXT_free.html b/linux_amd64/share/doc/openssl/html/man3/DISPLAYTEXT_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DISPLAYTEXT_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DISPLAYTEXT_new.html b/linux_amd64/share/doc/openssl/html/man3/DISPLAYTEXT_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DISPLAYTEXT_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DIST_POINT_NAME_free.html b/linux_amd64/share/doc/openssl/html/man3/DIST_POINT_NAME_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DIST_POINT_NAME_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DIST_POINT_NAME_new.html b/linux_amd64/share/doc/openssl/html/man3/DIST_POINT_NAME_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DIST_POINT_NAME_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DIST_POINT_free.html b/linux_amd64/share/doc/openssl/html/man3/DIST_POINT_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DIST_POINT_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DIST_POINT_new.html b/linux_amd64/share/doc/openssl/html/man3/DIST_POINT_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DIST_POINT_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_OpenSSL.html b/linux_amd64/share/doc/openssl/html/man3/DSA_OpenSSL.html new file mode 120000 index 0000000..bb83665 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_OpenSSL.html @@ -0,0 +1 @@ +DSA_set_method.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_SIG_free.html b/linux_amd64/share/doc/openssl/html/man3/DSA_SIG_free.html new file mode 120000 index 0000000..51ad1be --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_SIG_free.html @@ -0,0 +1 @@ +DSA_SIG_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_SIG_get0.html b/linux_amd64/share/doc/openssl/html/man3/DSA_SIG_get0.html new file mode 120000 index 0000000..51ad1be --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_SIG_get0.html @@ -0,0 +1 @@ +DSA_SIG_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_SIG_new.html b/linux_amd64/share/doc/openssl/html/man3/DSA_SIG_new.html index 1b9e0ee..204855c 100755 --- a/linux_amd64/share/doc/openssl/html/man3/DSA_SIG_new.html +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_SIG_new.html @@ -80,7 +80,7 @@ to the newly allocated structure.


    COPYRIGHT

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_SIG_set0.html b/linux_amd64/share/doc/openssl/html/man3/DSA_SIG_set0.html new file mode 120000 index 0000000..51ad1be --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_SIG_set0.html @@ -0,0 +1 @@ +DSA_SIG_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_bits.html b/linux_amd64/share/doc/openssl/html/man3/DSA_bits.html new file mode 120000 index 0000000..d9ae088 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_bits.html @@ -0,0 +1 @@ +DSA_size.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_clear_flags.html b/linux_amd64/share/doc/openssl/html/man3/DSA_clear_flags.html new file mode 120000 index 0000000..0c70337 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_clear_flags.html @@ -0,0 +1 @@ +DSA_get0_pqg.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_do_sign.html b/linux_amd64/share/doc/openssl/html/man3/DSA_do_sign.html index d08f6c8..8894be1 100755 --- a/linux_amd64/share/doc/openssl/html/man3/DSA_do_sign.html +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_do_sign.html @@ -77,7 +77,7 @@ on error. The error codes can be obtained by

    COPYRIGHT

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_do_verify.html b/linux_amd64/share/doc/openssl/html/man3/DSA_do_verify.html new file mode 120000 index 0000000..9414ed5 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_do_verify.html @@ -0,0 +1 @@ +DSA_do_sign.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_dup_DH.html b/linux_amd64/share/doc/openssl/html/man3/DSA_dup_DH.html index 3fdb671..74726c2 100755 --- a/linux_amd64/share/doc/openssl/html/man3/DSA_dup_DH.html +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_dup_DH.html @@ -22,7 +22,6 @@
  86. RETURN VALUES
  87. NOTE
  88. SEE ALSO
  89. -
  90. HISTORY
  91. COPYRIGHT
  92. @@ -41,18 +40,12 @@

    SYNOPSIS

      #include <openssl/dsa.h>
    -

    Deprecated since OpenSSL 3.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

      DH *DSA_dup_DH(const DSA *r);


    DESCRIPTION

    -

    The function described on this page is deprecated. There is no direct -replacement, applications should use the EVP_PKEY APIs for Diffie-Hellman -operations.

    DSA_dup_DH() duplicates DSA parameters/keys as DH parameters/keys. q is lost during that conversion, but the resulting DH parameters contain its length.

    @@ -75,14 +68,9 @@ error codes can be obtained by ERR_get_error(3).


    -

    HISTORY

    -

    This function was deprecated in OpenSSL 3.0.

    -

    -

    -

    COPYRIGHT

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_free.html b/linux_amd64/share/doc/openssl/html/man3/DSA_free.html new file mode 120000 index 0000000..477b101 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_free.html @@ -0,0 +1 @@ +DSA_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_generate_key.html b/linux_amd64/share/doc/openssl/html/man3/DSA_generate_key.html index 8bcb45f..ca60169 100755 --- a/linux_amd64/share/doc/openssl/html/man3/DSA_generate_key.html +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_generate_key.html @@ -66,8 +66,8 @@ The error codes can be obtained by ERR_get_error(3).


    COPYRIGHT

    -

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_generate_parameters.html b/linux_amd64/share/doc/openssl/html/man3/DSA_generate_parameters.html index 257d2d4..6561d8e 100755 --- a/linux_amd64/share/doc/openssl/html/man3/DSA_generate_parameters.html +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_generate_parameters.html @@ -46,13 +46,13 @@ const unsigned char *seed, int seed_len, int *counter_ret, unsigned long *h_ret, BN_GENCB *cb);
    -

    Deprecated since OpenSSL 0.9.8, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

    +

    Deprecated:

    + #if OPENSSL_API_COMPAT < 0x00908000L
      DSA *DSA_generate_parameters(int bits, unsigned char *seed, int seed_len,
                                   int *counter_ret, unsigned long *h_ret,
    -                              void (*callback)(int, int, void *), void *cb_arg);
    + void (*callback)(int, int, void *), void *cb_arg); + #endif


    @@ -141,7 +141,7 @@ The error codes can be obtained by ERR_get_error(3).


    COPYRIGHT

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_generate_parameters_ex.html b/linux_amd64/share/doc/openssl/html/man3/DSA_generate_parameters_ex.html new file mode 120000 index 0000000..99ccfbd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_generate_parameters_ex.html @@ -0,0 +1 @@ +DSA_generate_parameters.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_get0_engine.html b/linux_amd64/share/doc/openssl/html/man3/DSA_get0_engine.html new file mode 120000 index 0000000..0c70337 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_get0_engine.html @@ -0,0 +1 @@ +DSA_get0_pqg.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_get0_g.html b/linux_amd64/share/doc/openssl/html/man3/DSA_get0_g.html new file mode 120000 index 0000000..0c70337 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_get0_g.html @@ -0,0 +1 @@ +DSA_get0_pqg.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_get0_key.html b/linux_amd64/share/doc/openssl/html/man3/DSA_get0_key.html new file mode 120000 index 0000000..0c70337 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_get0_key.html @@ -0,0 +1 @@ +DSA_get0_pqg.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_get0_p.html b/linux_amd64/share/doc/openssl/html/man3/DSA_get0_p.html new file mode 120000 index 0000000..0c70337 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_get0_p.html @@ -0,0 +1 @@ +DSA_get0_pqg.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_get0_pqg.html b/linux_amd64/share/doc/openssl/html/man3/DSA_get0_pqg.html index f1af70b..663c7b2 100755 --- a/linux_amd64/share/doc/openssl/html/man3/DSA_get0_pqg.html +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_get0_pqg.html @@ -136,7 +136,7 @@ has been set.


    COPYRIGHT

    Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_get0_priv_key.html b/linux_amd64/share/doc/openssl/html/man3/DSA_get0_priv_key.html new file mode 120000 index 0000000..0c70337 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_get0_priv_key.html @@ -0,0 +1 @@ +DSA_get0_pqg.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_get0_pub_key.html b/linux_amd64/share/doc/openssl/html/man3/DSA_get0_pub_key.html new file mode 120000 index 0000000..0c70337 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_get0_pub_key.html @@ -0,0 +1 @@ +DSA_get0_pqg.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_get0_q.html b/linux_amd64/share/doc/openssl/html/man3/DSA_get0_q.html new file mode 120000 index 0000000..0c70337 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_get0_q.html @@ -0,0 +1 @@ +DSA_get0_pqg.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_get_default_method.html b/linux_amd64/share/doc/openssl/html/man3/DSA_get_default_method.html new file mode 120000 index 0000000..bb83665 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_get_default_method.html @@ -0,0 +1 @@ +DSA_set_method.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_get_ex_data.html b/linux_amd64/share/doc/openssl/html/man3/DSA_get_ex_data.html new file mode 120000 index 0000000..6d5f2d2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_get_ex_data.html @@ -0,0 +1 @@ +BIO_get_ex_new_index.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_get_ex_new_index.html b/linux_amd64/share/doc/openssl/html/man3/DSA_get_ex_new_index.html new file mode 120000 index 0000000..6d5f2d2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_get_ex_new_index.html @@ -0,0 +1 @@ +BIO_get_ex_new_index.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_meth_dup.html b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_dup.html new file mode 120000 index 0000000..38ce618 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_dup.html @@ -0,0 +1 @@ +DSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_meth_free.html b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_free.html new file mode 120000 index 0000000..38ce618 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_free.html @@ -0,0 +1 @@ +DSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_meth_get0_app_data.html b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_get0_app_data.html new file mode 120000 index 0000000..38ce618 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_get0_app_data.html @@ -0,0 +1 @@ +DSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_meth_get0_name.html b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_get0_name.html new file mode 120000 index 0000000..38ce618 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_get0_name.html @@ -0,0 +1 @@ +DSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_meth_get_bn_mod_exp.html b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_get_bn_mod_exp.html new file mode 120000 index 0000000..38ce618 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_get_bn_mod_exp.html @@ -0,0 +1 @@ +DSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_meth_get_finish.html b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_get_finish.html new file mode 120000 index 0000000..38ce618 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_get_finish.html @@ -0,0 +1 @@ +DSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_meth_get_flags.html b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_get_flags.html new file mode 120000 index 0000000..38ce618 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_get_flags.html @@ -0,0 +1 @@ +DSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_meth_get_init.html b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_get_init.html new file mode 120000 index 0000000..38ce618 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_get_init.html @@ -0,0 +1 @@ +DSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_meth_get_keygen.html b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_get_keygen.html new file mode 120000 index 0000000..38ce618 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_get_keygen.html @@ -0,0 +1 @@ +DSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_meth_get_mod_exp.html b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_get_mod_exp.html new file mode 120000 index 0000000..38ce618 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_get_mod_exp.html @@ -0,0 +1 @@ +DSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_meth_get_paramgen.html b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_get_paramgen.html new file mode 120000 index 0000000..38ce618 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_get_paramgen.html @@ -0,0 +1 @@ +DSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_meth_get_sign.html b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_get_sign.html new file mode 120000 index 0000000..38ce618 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_get_sign.html @@ -0,0 +1 @@ +DSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_meth_get_sign_setup.html b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_get_sign_setup.html new file mode 120000 index 0000000..38ce618 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_get_sign_setup.html @@ -0,0 +1 @@ +DSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_meth_get_verify.html b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_get_verify.html new file mode 120000 index 0000000..38ce618 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_get_verify.html @@ -0,0 +1 @@ +DSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_meth_new.html b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_new.html index be32521..0dfd8c1 100755 --- a/linux_amd64/share/doc/openssl/html/man3/DSA_meth_new.html +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_new.html @@ -48,9 +48,6 @@ DSA_meth_set_keygen - Routines to build up DSA methods

    SYNOPSIS

      #include <openssl/dsa.h>
    -

    Deprecated since OpenSSL 3.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

      DSA_METHOD *DSA_meth_new(const char *name, int flags);
    @@ -123,12 +120,10 @@ DSA_meth_set_keygen - Routines to build up DSA methods


    DESCRIPTION

    -

    All of the functions described on this page are deprecated. -Applications and extension implementations should instead use the -OSSL_PROVIDER APIs.

    The DSA_METHOD type is a structure used for the provision of custom DSA implementations. It provides a set of functions used by OpenSSL for the -implementation of the various DSA capabilities.

    +implementation of the various DSA capabilities. See the the dsa manpage page for more +information.

    DSA_meth_new() creates a new DSA_METHOD structure. It should be given a unique name and a set of flags. The name should be a NULL terminated string, which will be duplicated and stored in the DSA_METHOD object. It is @@ -223,14 +218,13 @@ set.


    HISTORY

    -

    The functions described here were deprecated in OpenSSL 3.0.

    The functions described here were added in OpenSSL 1.1.0.


    COPYRIGHT

    -

    Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_meth_set0_app_data.html b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_set0_app_data.html new file mode 120000 index 0000000..38ce618 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_set0_app_data.html @@ -0,0 +1 @@ +DSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_meth_set1_name.html b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_set1_name.html new file mode 120000 index 0000000..38ce618 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_set1_name.html @@ -0,0 +1 @@ +DSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_meth_set_bn_mod_exp.html b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_set_bn_mod_exp.html new file mode 120000 index 0000000..38ce618 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_set_bn_mod_exp.html @@ -0,0 +1 @@ +DSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_meth_set_finish.html b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_set_finish.html new file mode 120000 index 0000000..38ce618 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_set_finish.html @@ -0,0 +1 @@ +DSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_meth_set_flags.html b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_set_flags.html new file mode 120000 index 0000000..38ce618 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_set_flags.html @@ -0,0 +1 @@ +DSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_meth_set_init.html b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_set_init.html new file mode 120000 index 0000000..38ce618 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_set_init.html @@ -0,0 +1 @@ +DSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_meth_set_keygen.html b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_set_keygen.html new file mode 120000 index 0000000..38ce618 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_set_keygen.html @@ -0,0 +1 @@ +DSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_meth_set_mod_exp.html b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_set_mod_exp.html new file mode 120000 index 0000000..38ce618 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_set_mod_exp.html @@ -0,0 +1 @@ +DSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_meth_set_paramgen.html b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_set_paramgen.html new file mode 120000 index 0000000..38ce618 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_set_paramgen.html @@ -0,0 +1 @@ +DSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_meth_set_sign.html b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_set_sign.html new file mode 120000 index 0000000..38ce618 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_set_sign.html @@ -0,0 +1 @@ +DSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_meth_set_sign_setup.html b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_set_sign_setup.html new file mode 120000 index 0000000..38ce618 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_set_sign_setup.html @@ -0,0 +1 @@ +DSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_meth_set_verify.html b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_set_verify.html new file mode 120000 index 0000000..38ce618 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_meth_set_verify.html @@ -0,0 +1 @@ +DSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_new.html b/linux_amd64/share/doc/openssl/html/man3/DSA_new.html index a9574df..03db557 100755 --- a/linux_amd64/share/doc/openssl/html/man3/DSA_new.html +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_new.html @@ -73,7 +73,7 @@ to the newly allocated structure.


    COPYRIGHT

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_new_method.html b/linux_amd64/share/doc/openssl/html/man3/DSA_new_method.html new file mode 120000 index 0000000..bb83665 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_new_method.html @@ -0,0 +1 @@ +DSA_set_method.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_print.html b/linux_amd64/share/doc/openssl/html/man3/DSA_print.html new file mode 120000 index 0000000..a46aa61 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_print.html @@ -0,0 +1 @@ +RSA_print.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_print_fp.html b/linux_amd64/share/doc/openssl/html/man3/DSA_print_fp.html new file mode 120000 index 0000000..a46aa61 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_print_fp.html @@ -0,0 +1 @@ +RSA_print.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_security_bits.html b/linux_amd64/share/doc/openssl/html/man3/DSA_security_bits.html new file mode 120000 index 0000000..d9ae088 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_security_bits.html @@ -0,0 +1 @@ +DSA_size.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_set0_key.html b/linux_amd64/share/doc/openssl/html/man3/DSA_set0_key.html new file mode 120000 index 0000000..0c70337 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_set0_key.html @@ -0,0 +1 @@ +DSA_get0_pqg.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_set0_pqg.html b/linux_amd64/share/doc/openssl/html/man3/DSA_set0_pqg.html new file mode 120000 index 0000000..0c70337 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_set0_pqg.html @@ -0,0 +1 @@ +DSA_get0_pqg.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_set_default_method.html b/linux_amd64/share/doc/openssl/html/man3/DSA_set_default_method.html new file mode 120000 index 0000000..bb83665 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_set_default_method.html @@ -0,0 +1 @@ +DSA_set_method.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_set_ex_data.html b/linux_amd64/share/doc/openssl/html/man3/DSA_set_ex_data.html new file mode 120000 index 0000000..6d5f2d2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_set_ex_data.html @@ -0,0 +1 @@ +BIO_get_ex_new_index.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_set_flags.html b/linux_amd64/share/doc/openssl/html/man3/DSA_set_flags.html new file mode 120000 index 0000000..0c70337 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_set_flags.html @@ -0,0 +1 @@ +DSA_get0_pqg.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_set_method.html b/linux_amd64/share/doc/openssl/html/man3/DSA_set_method.html index 49abd5d..608ee26 100755 --- a/linux_amd64/share/doc/openssl/html/man3/DSA_set_method.html +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_set_method.html @@ -78,7 +78,7 @@ be released during the change. It is possible to have DSA keys that only work with certain DSA_METHOD implementations (eg. from an ENGINE module that supports embedded hardware-protected keys), and in such cases attempting to change the DSA_METHOD for the key can have unexpected -results. See DSA_meth_new(3) for information on constructing custom DSA_METHOD +results. See the DSA_meth_new manpage for information on constructing custom DSA_METHOD objects;

    DSA_new_method() allocates and initializes a DSA structure so that engine will be used for the DSA operations. If engine is NULL, the default engine @@ -91,7 +91,7 @@ controlled by DSA_set_default_method() is used.

    DSA_OpenSSL() and DSA_get_default_method() return pointers to the respective DSA_METHODs.

    DSA_set_default_method() returns no value.

    -

    DSA_set_method() returns nonzero if the provided meth was successfully set as +

    DSA_set_method() returns non-zero if the provided meth was successfully set as the method for dsa (including unloading the ENGINE handle if the previous method was supplied by an ENGINE).

    DSA_new_method() returns NULL and sets an error code that can be @@ -107,7 +107,7 @@ fails. Otherwise it returns a pointer to the newly allocated structure.


    COPYRIGHT

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_sign.html b/linux_amd64/share/doc/openssl/html/man3/DSA_sign.html index 897bcc1..767aa49 100755 --- a/linux_amd64/share/doc/openssl/html/man3/DSA_sign.html +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_sign.html @@ -95,8 +95,8 @@ Standard, DSS), ANSI X9.30


    COPYRIGHT

    -

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_sign_setup.html b/linux_amd64/share/doc/openssl/html/man3/DSA_sign_setup.html new file mode 120000 index 0000000..e259321 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_sign_setup.html @@ -0,0 +1 @@ +DSA_sign.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_size.html b/linux_amd64/share/doc/openssl/html/man3/DSA_size.html index b8c4617..2b1959b 100755 --- a/linux_amd64/share/doc/openssl/html/man3/DSA_size.html +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_size.html @@ -21,7 +21,6 @@
  93. DESCRIPTION
  94. RETURN VALUES
  95. SEE ALSO
  96. -
  97. HISTORY
  98. COPYRIGHT
  99. @@ -40,9 +39,6 @@

    SYNOPSIS

      #include <openssl/dsa.h>
    -

    Deprecated since OpenSSL 3.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

      int DSA_size(const DSA *dsa);
      int DSA_bits(const DSA *dsa);
    @@ -51,9 +47,6 @@
     


    DESCRIPTION

    -

    All of the functions described on this page are deprecated. -Applications should instead use EVP_PKEY_bits(3), -EVP_PKEY_security_bits(3) and EVP_PKEY_size(3).

    DSA_size() returns the maximum size of an ASN.1 encoded DSA signature for key dsa in bytes. It can be used to determine how much memory must be allocated for a DSA signature.

    @@ -72,21 +65,13 @@ key. See BN_security_bits(3).


    SEE ALSO

    -

    EVP_PKEY_bits(3), -EVP_PKEY_security_bits(3), -EVP_PKEY_size(3), -DSA_new(3), DSA_sign(3)

    -

    -

    -
    -

    HISTORY

    -

    All of these functions were deprecated in OpenSSL 3.0.

    +

    DSA_new(3), DSA_sign(3)


    COPYRIGHT

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_test_flags.html b/linux_amd64/share/doc/openssl/html/man3/DSA_test_flags.html new file mode 120000 index 0000000..0c70337 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_test_flags.html @@ -0,0 +1 @@ +DSA_get0_pqg.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSA_verify.html b/linux_amd64/share/doc/openssl/html/man3/DSA_verify.html new file mode 120000 index 0000000..e259321 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSA_verify.html @@ -0,0 +1 @@ +DSA_sign.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSAparams_dup.html b/linux_amd64/share/doc/openssl/html/man3/DSAparams_dup.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSAparams_dup.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSAparams_print.html b/linux_amd64/share/doc/openssl/html/man3/DSAparams_print.html new file mode 120000 index 0000000..a46aa61 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSAparams_print.html @@ -0,0 +1 @@ +RSA_print.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DSAparams_print_fp.html b/linux_amd64/share/doc/openssl/html/man3/DSAparams_print_fp.html new file mode 120000 index 0000000..a46aa61 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DSAparams_print_fp.html @@ -0,0 +1 @@ +RSA_print.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DTLS_client_method.html b/linux_amd64/share/doc/openssl/html/man3/DTLS_client_method.html new file mode 120000 index 0000000..6e8810c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DTLS_client_method.html @@ -0,0 +1 @@ +SSL_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DTLS_get_data_mtu.html b/linux_amd64/share/doc/openssl/html/man3/DTLS_get_data_mtu.html index e918265..15a1587 100755 --- a/linux_amd64/share/doc/openssl/html/man3/DTLS_get_data_mtu.html +++ b/linux_amd64/share/doc/openssl/html/man3/DTLS_get_data_mtu.html @@ -63,7 +63,7 @@ of the DTLS record header, encryption and authentication currently in use.


    COPYRIGHT

    Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/DTLS_method.html b/linux_amd64/share/doc/openssl/html/man3/DTLS_method.html new file mode 120000 index 0000000..6e8810c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DTLS_method.html @@ -0,0 +1 @@ +SSL_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DTLS_server_method.html b/linux_amd64/share/doc/openssl/html/man3/DTLS_server_method.html new file mode 120000 index 0000000..6e8810c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DTLS_server_method.html @@ -0,0 +1 @@ +SSL_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DTLS_set_timer_cb.html b/linux_amd64/share/doc/openssl/html/man3/DTLS_set_timer_cb.html index b7022b9..af3afab 100755 --- a/linux_amd64/share/doc/openssl/html/man3/DTLS_set_timer_cb.html +++ b/linux_amd64/share/doc/openssl/html/man3/DTLS_set_timer_cb.html @@ -67,7 +67,7 @@ called by DTLS for every new DTLS packet that is sent.


    COPYRIGHT

    Copyright 2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/DTLS_timer_cb.html b/linux_amd64/share/doc/openssl/html/man3/DTLS_timer_cb.html new file mode 120000 index 0000000..c0e2970 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DTLS_timer_cb.html @@ -0,0 +1 @@ +DTLS_set_timer_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DTLSv1_2_client_method.html b/linux_amd64/share/doc/openssl/html/man3/DTLSv1_2_client_method.html new file mode 120000 index 0000000..6e8810c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DTLSv1_2_client_method.html @@ -0,0 +1 @@ +SSL_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DTLSv1_2_method.html b/linux_amd64/share/doc/openssl/html/man3/DTLSv1_2_method.html new file mode 120000 index 0000000..6e8810c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DTLSv1_2_method.html @@ -0,0 +1 @@ +SSL_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DTLSv1_2_server_method.html b/linux_amd64/share/doc/openssl/html/man3/DTLSv1_2_server_method.html new file mode 120000 index 0000000..6e8810c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DTLSv1_2_server_method.html @@ -0,0 +1 @@ +SSL_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DTLSv1_client_method.html b/linux_amd64/share/doc/openssl/html/man3/DTLSv1_client_method.html new file mode 120000 index 0000000..6e8810c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DTLSv1_client_method.html @@ -0,0 +1 @@ +SSL_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DTLSv1_listen.html b/linux_amd64/share/doc/openssl/html/man3/DTLSv1_listen.html index a167a5a..f004e4b 100755 --- a/linux_amd64/share/doc/openssl/html/man3/DTLSv1_listen.html +++ b/linux_amd64/share/doc/openssl/html/man3/DTLSv1_listen.html @@ -153,7 +153,7 @@ The type of "peer" also changed in OpenSSL 1.1.0.


    COPYRIGHT

    Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/DTLSv1_method.html b/linux_amd64/share/doc/openssl/html/man3/DTLSv1_method.html new file mode 120000 index 0000000..6e8810c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DTLSv1_method.html @@ -0,0 +1 @@ +SSL_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/DTLSv1_server_method.html b/linux_amd64/share/doc/openssl/html/man3/DTLSv1_server_method.html new file mode 120000 index 0000000..6e8810c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/DTLSv1_server_method.html @@ -0,0 +1 @@ +SSL_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ECDH_get_ex_data.html b/linux_amd64/share/doc/openssl/html/man3/ECDH_get_ex_data.html new file mode 120000 index 0000000..6d5f2d2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ECDH_get_ex_data.html @@ -0,0 +1 @@ +BIO_get_ex_new_index.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ECDH_get_ex_new_index.html b/linux_amd64/share/doc/openssl/html/man3/ECDH_get_ex_new_index.html new file mode 120000 index 0000000..6d5f2d2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ECDH_get_ex_new_index.html @@ -0,0 +1 @@ +BIO_get_ex_new_index.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ECDH_set_ex_data.html b/linux_amd64/share/doc/openssl/html/man3/ECDH_set_ex_data.html new file mode 120000 index 0000000..6d5f2d2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ECDH_set_ex_data.html @@ -0,0 +1 @@ +BIO_get_ex_new_index.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ECDSA_SIG_free.html b/linux_amd64/share/doc/openssl/html/man3/ECDSA_SIG_free.html new file mode 120000 index 0000000..f5ea88c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ECDSA_SIG_free.html @@ -0,0 +1 @@ +ECDSA_SIG_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ECDSA_SIG_get0.html b/linux_amd64/share/doc/openssl/html/man3/ECDSA_SIG_get0.html new file mode 120000 index 0000000..f5ea88c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ECDSA_SIG_get0.html @@ -0,0 +1 @@ +ECDSA_SIG_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ECDSA_SIG_get0_r.html b/linux_amd64/share/doc/openssl/html/man3/ECDSA_SIG_get0_r.html new file mode 120000 index 0000000..f5ea88c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ECDSA_SIG_get0_r.html @@ -0,0 +1 @@ +ECDSA_SIG_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ECDSA_SIG_get0_s.html b/linux_amd64/share/doc/openssl/html/man3/ECDSA_SIG_get0_s.html new file mode 120000 index 0000000..f5ea88c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ECDSA_SIG_get0_s.html @@ -0,0 +1 @@ +ECDSA_SIG_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ECDSA_SIG_new.html b/linux_amd64/share/doc/openssl/html/man3/ECDSA_SIG_new.html index 3754540..0a6ac9f 100755 --- a/linux_amd64/share/doc/openssl/html/man3/ECDSA_SIG_new.html +++ b/linux_amd64/share/doc/openssl/html/man3/ECDSA_SIG_new.html @@ -23,7 +23,6 @@
  100. EXAMPLES
  101. CONFORMING TO
  102. SEE ALSO
  103. -
  104. HISTORY
  105. COPYRIGHT
  106. @@ -52,11 +51,7 @@ functions

    void ECDSA_SIG_get0(const ECDSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps); const BIGNUM *ECDSA_SIG_get0_r(const ECDSA_SIG *sig); const BIGNUM *ECDSA_SIG_get0_s(const ECDSA_SIG *sig); - int ECDSA_SIG_set0(ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s);
    -

    Deprecated since OpenSSL 3.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

    -
    + int ECDSA_SIG_set0(ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s);
      int ECDSA_size(const EC_KEY *eckey);
      int ECDSA_sign(int type, const unsigned char *dgst, int dgstlen,
    @@ -80,6 +75,9 @@ functions


    DESCRIPTION

    +

    Note: these functions provide a low level interface to ECDSA. Most +applications should use the higher level EVP interface such as +EVP_DigestSignInit(3) or EVP_DigestVerifyInit(3) instead.

    ECDSA_SIG is an opaque structure consisting of two BIGNUMs for the r and s value of an ECDSA signature (see X9.62 or FIPS 186-2).

    ECDSA_SIG_new() allocates an empty ECDSA_SIG structure. Note: before @@ -98,12 +96,8 @@ and therefore the values that have been passed in should not be freed directly after this function has been called.

    See i2d_ECDSA_SIG(3) and d2i_ECDSA_SIG(3) for information about encoding and decoding ECDSA signatures to/from DER.

    -

    All of the functions described below are deprecated. Applications should -use the higher level EVP interface such as EVP_DigestSignInit(3) -or EVP_DigestVerifyInit(3) instead.

    ECDSA_size() returns the maximum length of a DER encoded ECDSA signature -created with the private EC key eckey. To obtain the actual signature -size use EVP_PKEY_sign(3) with a NULL sig parameter.

    +created with the private EC key eckey.

    ECDSA_sign() computes a digital signature of the dgstlen bytes hash value dgst using the private EC key eckey. The DER encoded signatures is stored in sig and its length is returned in sig_len. Note: sig must @@ -211,22 +205,14 @@ using ECDSA_do_sign():

    EC_KEY_new(3), EVP_DigestSignInit(3), EVP_DigestVerifyInit(3), -EVP_PKEY_sign(3) i2d_ECDSA_SIG(3), d2i_ECDSA_SIG(3)


    -

    HISTORY

    -

    The ECDSA_size(), ECDSA_sign(), ECDSA_do_sign(), ECDSA_verify(), -ECDSA_do_verify(), ECDSA_sign_setup(), ECDSA_sign_ex() and ECDSA_do_sign_ex() -functions were deprecated in OpenSSL 3.0.

    -

    -

    -

    COPYRIGHT

    -

    Copyright 2004-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2004-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/ECDSA_SIG_set0.html b/linux_amd64/share/doc/openssl/html/man3/ECDSA_SIG_set0.html new file mode 120000 index 0000000..f5ea88c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ECDSA_SIG_set0.html @@ -0,0 +1 @@ +ECDSA_SIG_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ECDSA_do_sign.html b/linux_amd64/share/doc/openssl/html/man3/ECDSA_do_sign.html new file mode 120000 index 0000000..f5ea88c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ECDSA_do_sign.html @@ -0,0 +1 @@ +ECDSA_SIG_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ECDSA_do_sign_ex.html b/linux_amd64/share/doc/openssl/html/man3/ECDSA_do_sign_ex.html new file mode 120000 index 0000000..f5ea88c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ECDSA_do_sign_ex.html @@ -0,0 +1 @@ +ECDSA_SIG_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ECDSA_do_verify.html b/linux_amd64/share/doc/openssl/html/man3/ECDSA_do_verify.html new file mode 120000 index 0000000..f5ea88c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ECDSA_do_verify.html @@ -0,0 +1 @@ +ECDSA_SIG_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ECDSA_sign.html b/linux_amd64/share/doc/openssl/html/man3/ECDSA_sign.html new file mode 120000 index 0000000..f5ea88c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ECDSA_sign.html @@ -0,0 +1 @@ +ECDSA_SIG_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ECDSA_sign_ex.html b/linux_amd64/share/doc/openssl/html/man3/ECDSA_sign_ex.html new file mode 120000 index 0000000..f5ea88c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ECDSA_sign_ex.html @@ -0,0 +1 @@ +ECDSA_SIG_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ECDSA_sign_setup.html b/linux_amd64/share/doc/openssl/html/man3/ECDSA_sign_setup.html new file mode 120000 index 0000000..f5ea88c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ECDSA_sign_setup.html @@ -0,0 +1 @@ +ECDSA_SIG_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ECDSA_size.html b/linux_amd64/share/doc/openssl/html/man3/ECDSA_size.html new file mode 120000 index 0000000..f5ea88c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ECDSA_size.html @@ -0,0 +1 @@ +ECDSA_SIG_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ECDSA_verify.html b/linux_amd64/share/doc/openssl/html/man3/ECDSA_verify.html new file mode 120000 index 0000000..f5ea88c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ECDSA_verify.html @@ -0,0 +1 @@ +ECDSA_SIG_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ECPARAMETERS_free.html b/linux_amd64/share/doc/openssl/html/man3/ECPARAMETERS_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ECPARAMETERS_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ECPARAMETERS_new.html b/linux_amd64/share/doc/openssl/html/man3/ECPARAMETERS_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ECPARAMETERS_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ECPKPARAMETERS_free.html b/linux_amd64/share/doc/openssl/html/man3/ECPKPARAMETERS_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ECPKPARAMETERS_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ECPKPARAMETERS_new.html b/linux_amd64/share/doc/openssl/html/man3/ECPKPARAMETERS_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ECPKPARAMETERS_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ECPKParameters_print.html b/linux_amd64/share/doc/openssl/html/man3/ECPKParameters_print.html index dcabd8e..370fe47 100755 --- a/linux_amd64/share/doc/openssl/html/man3/ECPKParameters_print.html +++ b/linux_amd64/share/doc/openssl/html/man3/ECPKParameters_print.html @@ -70,7 +70,7 @@ return 1 for success and 0 if an error occurs.


    COPYRIGHT

    Copyright 2013-2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/ECPKParameters_print_fp.html b/linux_amd64/share/doc/openssl/html/man3/ECPKParameters_print_fp.html new file mode 120000 index 0000000..4dae723 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ECPKParameters_print_fp.html @@ -0,0 +1 @@ +ECPKParameters_print.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GF2m_simple_method.html b/linux_amd64/share/doc/openssl/html/man3/EC_GF2m_simple_method.html new file mode 120000 index 0000000..71f7f5e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GF2m_simple_method.html @@ -0,0 +1 @@ +EC_GFp_simple_method.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GFp_mont_method.html b/linux_amd64/share/doc/openssl/html/man3/EC_GFp_mont_method.html new file mode 120000 index 0000000..71f7f5e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GFp_mont_method.html @@ -0,0 +1 @@ +EC_GFp_simple_method.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GFp_nist_method.html b/linux_amd64/share/doc/openssl/html/man3/EC_GFp_nist_method.html new file mode 120000 index 0000000..71f7f5e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GFp_nist_method.html @@ -0,0 +1 @@ +EC_GFp_simple_method.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GFp_nistp224_method.html b/linux_amd64/share/doc/openssl/html/man3/EC_GFp_nistp224_method.html new file mode 120000 index 0000000..71f7f5e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GFp_nistp224_method.html @@ -0,0 +1 @@ +EC_GFp_simple_method.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GFp_nistp256_method.html b/linux_amd64/share/doc/openssl/html/man3/EC_GFp_nistp256_method.html new file mode 120000 index 0000000..71f7f5e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GFp_nistp256_method.html @@ -0,0 +1 @@ +EC_GFp_simple_method.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GFp_nistp521_method.html b/linux_amd64/share/doc/openssl/html/man3/EC_GFp_nistp521_method.html new file mode 120000 index 0000000..71f7f5e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GFp_nistp521_method.html @@ -0,0 +1 @@ +EC_GFp_simple_method.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GFp_simple_method.html b/linux_amd64/share/doc/openssl/html/man3/EC_GFp_simple_method.html index f2615d5..3651449 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EC_GFp_simple_method.html +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GFp_simple_method.html @@ -91,7 +91,7 @@ obj_mac.h header file.


    COPYRIGHT

    Copyright 2013-2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_check.html b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_check.html new file mode 120000 index 0000000..698ce05 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_check.html @@ -0,0 +1 @@ +EC_GROUP_copy.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_check_discriminant.html b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_check_discriminant.html new file mode 120000 index 0000000..698ce05 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_check_discriminant.html @@ -0,0 +1 @@ +EC_GROUP_copy.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_clear_free.html b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_clear_free.html new file mode 120000 index 0000000..b8199b6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_clear_free.html @@ -0,0 +1 @@ +EC_GROUP_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_cmp.html b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_cmp.html new file mode 120000 index 0000000..698ce05 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_cmp.html @@ -0,0 +1 @@ +EC_GROUP_copy.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_copy.html b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_copy.html index 19d2896..2baea5d 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_copy.html +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_copy.html @@ -21,7 +21,6 @@
  107. DESCRIPTION
  108. RETURN VALUES
  109. SEE ALSO
  110. -
  111. HISTORY
  112. COPYRIGHT
  113. @@ -40,10 +39,9 @@ EC_GROUP_set_curve_name, EC_GROUP_get_curve_name, EC_GROUP_set_asn1_flag, EC_GROUP_get_asn1_flag, EC_GROUP_set_point_conversion_form, EC_GROUP_get_point_conversion_form, EC_GROUP_get0_seed, EC_GROUP_get_seed_len, EC_GROUP_set_seed, EC_GROUP_get_degree, -EC_GROUP_check, EC_GROUP_check_named_curve, -EC_GROUP_check_discriminant, EC_GROUP_cmp, +EC_GROUP_check, EC_GROUP_check_discriminant, EC_GROUP_cmp, EC_GROUP_get_basis_type, EC_GROUP_get_trinomial_basis, -EC_GROUP_get_pentanomial_basis, EC_GROUP_get0_field +EC_GROUP_get_pentanomial_basis - Functions for manipulating EC_GROUP objects

    @@ -65,8 +63,7 @@ EC_GROUP_get_pentanomial_basis, EC_GROUP_get0_field const BIGNUM *EC_GROUP_get0_order(const EC_GROUP *group); int EC_GROUP_order_bits(const EC_GROUP *group); int EC_GROUP_get_cofactor(const EC_GROUP *group, BIGNUM *cofactor, BN_CTX *ctx); - const BIGNUM *EC_GROUP_get0_cofactor(const EC_GROUP *group); - const BIGNUM *EC_GROUP_get0_field(const EC_GROUP *group);
    + const BIGNUM *EC_GROUP_get0_cofactor(const EC_GROUP *group);
      void EC_GROUP_set_curve_name(EC_GROUP *group, int nid);
      int EC_GROUP_get_curve_name(const EC_GROUP *group);
    @@ -83,9 +80,7 @@ EC_GROUP_get_pentanomial_basis, EC_GROUP_get0_field
      int EC_GROUP_get_degree(const EC_GROUP *group);
    - int EC_GROUP_check(const EC_GROUP *group, BN_CTX *ctx);
    - int EC_GROUP_check_named_curve(const EC_GROUP *group, int nist_only,
    -                                BN_CTX *ctx);
    + int EC_GROUP_check(const EC_GROUP *group, BN_CTX *ctx);
      int EC_GROUP_check_discriminant(const EC_GROUP *group, BN_CTX *ctx);
    @@ -167,15 +162,6 @@ simply b. In either case for the curve to be valid the discriminant must be non
     

    The function EC_GROUP_check() performs a number of checks on a curve to verify that it is valid. Checks performed include verifying that the discriminant is non zero; that a generator has been defined; that the generator is on the curve and has the correct order.

    -

    The function EC_GROUP_check_named_curve() determines if the group's domain parameters match one of the built-in curves supported by the library. -The curve name is returned as a NID if it matches. If the group's domain parameters have been modified then no match will be found. -If the curve name of the given group is NID_undef (e.g. it has been created by using explicit parameters with no curve name), -then this method can be used to lookup the name of the curve that matches the group domain parameters. The built-in curves contain -aliases, so that multiple NID's can map to the same domain parameters. For such curves it is unspecified which of the aliases will be -returned if the curve name of the given group is NID_undef. -If nist_only is 1 it will only look for NIST approved curves, otherwise it searches all built-in curves. -This function may be passed a BN_CTX object in the ctx parameter. -The ctx parameter may be NULL.

    EC_GROUP_cmp() compares a and b to determine whether they represent the same curve or not.

    The functions EC_GROUP_get_basis_type(), EC_GROUP_get_trinomial_basis() and EC_GROUP_get_pentanomial_basis() should only be called for curves defined over an F2^m field. Addition and multiplication operations within an F2^m field are performed using an irreducible polynomial @@ -203,12 +189,9 @@ the function EC_GROUP_get_pentanomial_basis() must only be called w

    EC_GROUP_get_asn1_flag() returns the ASN1 flag for the specified group .

    EC_GROUP_get_point_conversion_form() returns the point_conversion_form for group.

    EC_GROUP_get_degree() returns the degree for group or 0 if the operation is not supported by the underlying group implementation.

    -

    EC_GROUP_check_named_curve() returns the nid of the matching named curve, otherwise it returns 0 for no match, or -1 on error.

    EC_GROUP_get0_order() returns an internal pointer to the group order. EC_GROUP_order_bits() returns the number of bits in the group order. -EC_GROUP_get0_cofactor() returns an internal pointer to the group cofactor. -EC_GROUP_get0_field() returns an internal pointer to the group field. For curves over GF(p), this is the modulus; for curves -over GF(2^m), this is the irreducible polynomial defining the field.

    +EC_GROUP_get0_cofactor() returns an internal pointer to the group cofactor.

    EC_GROUP_get0_seed() returns a pointer to the seed that was used to generate the parameter b, or NULL if the seed is not specified. EC_GROUP_get_seed_len() returns the length of the seed or 0 if the seed is not specified.

    EC_GROUP_set_seed() returns the length of the seed that has been set. If the supplied seed is NULL, or the supplied seed length is @@ -226,14 +209,9 @@ trinomial or pentanomial respectively. Alternatively in the event of an error a


    -

    HISTORY

    -

    The EC_GROUP_check_named_curve() function was added in OpenSSL 3.0.

    -

    -

    -

    COPYRIGHT

    -

    Copyright 2013-2019 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2013-2017 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_dup.html b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_dup.html new file mode 120000 index 0000000..698ce05 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_dup.html @@ -0,0 +1 @@ +EC_GROUP_copy.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_free.html b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_free.html new file mode 120000 index 0000000..b8199b6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_free.html @@ -0,0 +1 @@ +EC_GROUP_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get0_cofactor.html b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get0_cofactor.html new file mode 120000 index 0000000..698ce05 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get0_cofactor.html @@ -0,0 +1 @@ +EC_GROUP_copy.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get0_generator.html b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get0_generator.html new file mode 120000 index 0000000..698ce05 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get0_generator.html @@ -0,0 +1 @@ +EC_GROUP_copy.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get0_order.html b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get0_order.html new file mode 120000 index 0000000..698ce05 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get0_order.html @@ -0,0 +1 @@ +EC_GROUP_copy.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get0_seed.html b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get0_seed.html new file mode 120000 index 0000000..698ce05 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get0_seed.html @@ -0,0 +1 @@ +EC_GROUP_copy.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_asn1_flag.html b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_asn1_flag.html new file mode 120000 index 0000000..698ce05 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_asn1_flag.html @@ -0,0 +1 @@ +EC_GROUP_copy.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_basis_type.html b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_basis_type.html new file mode 120000 index 0000000..698ce05 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_basis_type.html @@ -0,0 +1 @@ +EC_GROUP_copy.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_cofactor.html b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_cofactor.html new file mode 120000 index 0000000..698ce05 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_cofactor.html @@ -0,0 +1 @@ +EC_GROUP_copy.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_curve.html b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_curve.html new file mode 120000 index 0000000..b8199b6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_curve.html @@ -0,0 +1 @@ +EC_GROUP_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_curve_GF2m.html b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_curve_GF2m.html new file mode 120000 index 0000000..b8199b6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_curve_GF2m.html @@ -0,0 +1 @@ +EC_GROUP_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_curve_GFp.html b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_curve_GFp.html new file mode 120000 index 0000000..b8199b6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_curve_GFp.html @@ -0,0 +1 @@ +EC_GROUP_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_curve_name.html b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_curve_name.html new file mode 120000 index 0000000..698ce05 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_curve_name.html @@ -0,0 +1 @@ +EC_GROUP_copy.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_degree.html b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_degree.html new file mode 120000 index 0000000..698ce05 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_degree.html @@ -0,0 +1 @@ +EC_GROUP_copy.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_ecparameters.html b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_ecparameters.html new file mode 120000 index 0000000..b8199b6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_ecparameters.html @@ -0,0 +1 @@ +EC_GROUP_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_ecpkparameters.html b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_ecpkparameters.html new file mode 120000 index 0000000..b8199b6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_ecpkparameters.html @@ -0,0 +1 @@ +EC_GROUP_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_order.html b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_order.html new file mode 120000 index 0000000..698ce05 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_order.html @@ -0,0 +1 @@ +EC_GROUP_copy.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_pentanomial_basis.html b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_pentanomial_basis.html new file mode 120000 index 0000000..698ce05 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_pentanomial_basis.html @@ -0,0 +1 @@ +EC_GROUP_copy.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_point_conversion_form.html b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_point_conversion_form.html new file mode 120000 index 0000000..698ce05 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_point_conversion_form.html @@ -0,0 +1 @@ +EC_GROUP_copy.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_seed_len.html b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_seed_len.html new file mode 120000 index 0000000..698ce05 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_seed_len.html @@ -0,0 +1 @@ +EC_GROUP_copy.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_trinomial_basis.html b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_trinomial_basis.html new file mode 120000 index 0000000..698ce05 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_get_trinomial_basis.html @@ -0,0 +1 @@ +EC_GROUP_copy.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_have_precompute_mult.html b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_have_precompute_mult.html new file mode 120000 index 0000000..2080f42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_have_precompute_mult.html @@ -0,0 +1 @@ +EC_POINT_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_method_of.html b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_method_of.html new file mode 120000 index 0000000..698ce05 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_method_of.html @@ -0,0 +1 @@ +EC_GROUP_copy.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_new.html b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_new.html index 647a984..925d915 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_new.html +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_new.html @@ -21,7 +21,6 @@
  114. DESCRIPTION
  115. RETURN VALUES
  116. SEE ALSO
  117. -
  118. HISTORY
  119. COPYRIGHT
  120. @@ -35,7 +34,6 @@

    NAME

    EC_GROUP_get_ecparameters, EC_GROUP_get_ecpkparameters, -EC_GROUP_new_ex, EC_GROUP_new, EC_GROUP_new_from_ecparameters, EC_GROUP_new_from_ecpkparameters, @@ -43,7 +41,6 @@ EC_GROUP_free, EC_GROUP_clear_free, EC_GROUP_new_curve_GFp, EC_GROUP_new_curve_GF2m, -EC_GROUP_new_by_curve_name_ex, EC_GROUP_new_by_curve_name, EC_GROUP_set_curve, EC_GROUP_get_curve, @@ -60,17 +57,16 @@ objects

      #include <openssl/ec.h>
    - EC_GROUP *EC_GROUP_new_ex(OPENSSL_CTX *libctx, const EC_METHOD *meth);
      EC_GROUP *EC_GROUP_new(const EC_METHOD *meth);
      EC_GROUP *EC_GROUP_new_from_ecparameters(const ECPARAMETERS *params)
      EC_GROUP *EC_GROUP_new_from_ecpkparameters(const ECPKPARAMETERS *params)
    - void EC_GROUP_free(EC_GROUP *group);
    + void EC_GROUP_free(EC_GROUP *group); + void EC_GROUP_clear_free(EC_GROUP *group);
      EC_GROUP *EC_GROUP_new_curve_GFp(const BIGNUM *p, const BIGNUM *a,
                                       const BIGNUM *b, BN_CTX *ctx);
      EC_GROUP *EC_GROUP_new_curve_GF2m(const BIGNUM *p, const BIGNUM *a,
                                        const BIGNUM *b, BN_CTX *ctx);
    - EC_GROUP *EC_GROUP_new_by_curve_name_ex(OPENSSL_CTX *libctx, int nid);
      EC_GROUP *EC_GROUP_new_by_curve_name(int nid);
      int EC_GROUP_set_curve(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a,
    @@ -90,11 +86,6 @@ objects

    ECPKPARAMETERS *EC_GROUP_get_ecpkparameters(const EC_GROUP *group, ECPKPARAMETERS *params)
      size_t EC_get_builtin_curves(EC_builtin_curve *r, size_t nitems);
    -

    Deprecated since OpenSSL 3.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

    -
    - void EC_GROUP_clear_free(EC_GROUP *group);


    @@ -108,21 +99,15 @@ elliptic curve equation as follows:

    the field are integers of length at most m bits. For this form the elliptic curve equation is modified to:

    y^2 + xy = x^3 + ax^2 + b (where b != 0)

    -

    Operations in a binary field are performed relative to an -irreducible polynomial. All such curves with OpenSSL use a trinomial or a -pentanomial for this parameter.

    -

    A new curve can be constructed by calling EC_GROUP_new_ex(), using the -implementation provided by meth (see EC_GFp_simple_method(3)) and -associated with the library context ctx (see OPENSSL_CTX(3)). -The ctx parameter may be NULL in which case the default library context is -used. -It is then necessary to call EC_GROUP_set_curve() to set the curve parameters. -EC_GROUP_new_from_ecparameters() will create a group from the -specified params and -EC_GROUP_new_from_ecpkparameters() will create a group from the specific PK -params.

    -

    EC_GROUP_new() is the same as EC_GROUP_new_ex() except that the library context -used is always the default library context.

    +

    Operations in a binary field are performed relative to an irreducible +polynomial. All such curves with OpenSSL use a trinomial or a pentanomial for +this parameter.

    +

    A new curve can be constructed by calling EC_GROUP_new(), using the +implementation provided by meth (see EC_GFp_simple_method(3)). It is then +necessary to call EC_GROUP_set_curve() to set the curve parameters. +EC_GROUP_new_from_ecparameters() will create a group from the specified +params and EC_GROUP_new_from_ecpkparameters() will create a group from the +specific PK params.

    EC_GROUP_set_curve() sets the curve parameters p, a and b. For a curve over Fp p is the prime for the field. For a curve over F2^m p represents the irreducible polynomial - each bit represents a term in the polynomial. @@ -145,7 +130,7 @@ above, there are also a number of predefined curves that are available. In order to obtain a list of all of the predefined curves, call the function EC_get_builtin_curves(). The parameter r should be an array of EC_builtin_curve structures of size nitems. The function will populate the -r array with information about the built-in curves. If nitems is less than +r array with information about the builtin curves. If nitems is less than the total number of curves available, then the first nitems curves will be returned. Otherwise the total number of curves will be provided. The return value is the total number of curves available (whether that number has been @@ -159,28 +144,20 @@ The EC_builtin_curve structure is defined as follows:

    } EC_builtin_curve;

    Each EC_builtin_curve item has a unique integer id (nid), and a human readable comment string describing the curve.

    -

    In order to construct a built-in curve use the function -EC_GROUP_new_by_curve_name_ex() and provide the nid of the curve to be -constructed and the associated library context to be used in ctx (see -OPENSSL_CTX(3)). The ctx value may be NULL in which case the default -library context is used.

    -

    EC_GROUP_new_by_curve_name() is the same as EC_GROUP_new_by_curve_name_ex() -except that the default library context is always used.

    +

    In order to construct a builtin curve use the function +EC_GROUP_new_by_curve_name() and provide the nid of the curve to +be constructed.

    EC_GROUP_free() frees the memory associated with the EC_GROUP. If group is NULL nothing is done.

    -

    EC_GROUP_clear_free() is deprecated: it was meant to destroy any sensitive data -held within the EC_GROUP and then free its memory, but since all the data stored -in the EC_GROUP is public anyway, this function is unnecessary. -Its use can be safely replaced with EC_GROUP_free(). -If group is NULL nothing is done.

    +

    EC_GROUP_clear_free() destroys any sensitive data held within the EC_GROUP and +then frees its memory. If group is NULL nothing is done.


    RETURN VALUES

    All EC_GROUP_new* functions return a pointer to the newly constructed group, or NULL on error.

    -

    EC_get_builtin_curves() returns the number of built-in curves that are -available.

    +

    EC_get_builtin_curves() returns the number of builtin curves that are available.

    EC_GROUP_set_curve_GFp(), EC_GROUP_get_curve_GFp(), EC_GROUP_set_curve_GF2m(), EC_GROUP_get_curve_GF2m() return 1 on success or 0 on error.

    @@ -189,27 +166,13 @@ EC_GROUP_get_curve_GF2m() return 1 on success or 0 on error.

    SEE ALSO

    crypto(7), EC_GROUP_copy(3), EC_POINT_new(3), EC_POINT_add(3), EC_KEY_new(3), -EC_GFp_simple_method(3), d2i_ECPKParameters(3), -OPENSSL_CTX(3)

    -

    -

    -
    -

    HISTORY

    -
      -
    • -

      EC_GROUP_new_ex() and EC_GROUP_new_by_curve_name_ex() were added in OpenSSL 3.0.

      -
    • -
    • -

      EC_GROUP_clear_free() was deprecated in OpenSSL 3.0; use EC_GROUP_free() -instead.

      -
    • -
    +EC_GFp_simple_method(3), d2i_ECPKParameters(3)


    COPYRIGHT

    -

    Copyright 2013-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2013-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_new_by_curve_name.html b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_new_by_curve_name.html new file mode 120000 index 0000000..b8199b6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_new_by_curve_name.html @@ -0,0 +1 @@ +EC_GROUP_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_new_curve_GF2m.html b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_new_curve_GF2m.html new file mode 120000 index 0000000..b8199b6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_new_curve_GF2m.html @@ -0,0 +1 @@ +EC_GROUP_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_new_curve_GFp.html b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_new_curve_GFp.html new file mode 120000 index 0000000..b8199b6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_new_curve_GFp.html @@ -0,0 +1 @@ +EC_GROUP_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_new_from_ecparameters.html b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_new_from_ecparameters.html new file mode 120000 index 0000000..b8199b6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_new_from_ecparameters.html @@ -0,0 +1 @@ +EC_GROUP_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_new_from_ecpkparameters.html b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_new_from_ecpkparameters.html new file mode 120000 index 0000000..b8199b6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_new_from_ecpkparameters.html @@ -0,0 +1 @@ +EC_GROUP_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_order_bits.html b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_order_bits.html new file mode 120000 index 0000000..698ce05 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_order_bits.html @@ -0,0 +1 @@ +EC_GROUP_copy.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_precompute_mult.html b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_precompute_mult.html new file mode 120000 index 0000000..2080f42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_precompute_mult.html @@ -0,0 +1 @@ +EC_POINT_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_set_asn1_flag.html b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_set_asn1_flag.html new file mode 120000 index 0000000..698ce05 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_set_asn1_flag.html @@ -0,0 +1 @@ +EC_GROUP_copy.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_set_curve.html b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_set_curve.html new file mode 120000 index 0000000..b8199b6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_set_curve.html @@ -0,0 +1 @@ +EC_GROUP_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_set_curve_GF2m.html b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_set_curve_GF2m.html new file mode 120000 index 0000000..b8199b6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_set_curve_GF2m.html @@ -0,0 +1 @@ +EC_GROUP_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_set_curve_GFp.html b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_set_curve_GFp.html new file mode 120000 index 0000000..b8199b6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_set_curve_GFp.html @@ -0,0 +1 @@ +EC_GROUP_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_set_curve_name.html b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_set_curve_name.html new file mode 120000 index 0000000..698ce05 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_set_curve_name.html @@ -0,0 +1 @@ +EC_GROUP_copy.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_set_generator.html b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_set_generator.html new file mode 120000 index 0000000..698ce05 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_set_generator.html @@ -0,0 +1 @@ +EC_GROUP_copy.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_set_point_conversion_form.html b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_set_point_conversion_form.html new file mode 120000 index 0000000..698ce05 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_set_point_conversion_form.html @@ -0,0 +1 @@ +EC_GROUP_copy.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_set_seed.html b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_set_seed.html new file mode 120000 index 0000000..698ce05 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_GROUP_set_seed.html @@ -0,0 +1 @@ +EC_GROUP_copy.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_KEY_check_key.html b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_check_key.html new file mode 120000 index 0000000..a264ad0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_check_key.html @@ -0,0 +1 @@ +EC_KEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_KEY_clear_flags.html b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_clear_flags.html new file mode 120000 index 0000000..a264ad0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_clear_flags.html @@ -0,0 +1 @@ +EC_KEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_KEY_copy.html b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_copy.html new file mode 120000 index 0000000..a264ad0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_copy.html @@ -0,0 +1 @@ +EC_KEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_KEY_dup.html b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_dup.html new file mode 120000 index 0000000..a264ad0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_dup.html @@ -0,0 +1 @@ +EC_KEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_KEY_free.html b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_free.html new file mode 120000 index 0000000..a264ad0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_free.html @@ -0,0 +1 @@ +EC_KEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_KEY_generate_key.html b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_generate_key.html new file mode 120000 index 0000000..a264ad0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_generate_key.html @@ -0,0 +1 @@ +EC_KEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_KEY_get0_engine.html b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_get0_engine.html new file mode 120000 index 0000000..a264ad0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_get0_engine.html @@ -0,0 +1 @@ +EC_KEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_KEY_get0_group.html b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_get0_group.html new file mode 120000 index 0000000..a264ad0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_get0_group.html @@ -0,0 +1 @@ +EC_KEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_KEY_get0_private_key.html b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_get0_private_key.html new file mode 120000 index 0000000..a264ad0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_get0_private_key.html @@ -0,0 +1 @@ +EC_KEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_KEY_get0_public_key.html b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_get0_public_key.html new file mode 120000 index 0000000..a264ad0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_get0_public_key.html @@ -0,0 +1 @@ +EC_KEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_KEY_get_conv_form.html b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_get_conv_form.html new file mode 120000 index 0000000..a264ad0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_get_conv_form.html @@ -0,0 +1 @@ +EC_KEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_KEY_get_enc_flags.html b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_get_enc_flags.html index a77e62b..6b79d5d 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EC_KEY_get_enc_flags.html +++ b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_get_enc_flags.html @@ -84,7 +84,7 @@ EC_KEY.


    COPYRIGHT

    Copyright 2015-2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_KEY_get_ex_data.html b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_get_ex_data.html new file mode 120000 index 0000000..6d5f2d2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_get_ex_data.html @@ -0,0 +1 @@ +BIO_get_ex_new_index.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_KEY_get_ex_new_index.html b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_get_ex_new_index.html new file mode 120000 index 0000000..6d5f2d2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_get_ex_new_index.html @@ -0,0 +1 @@ +BIO_get_ex_new_index.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_KEY_get_flags.html b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_get_flags.html new file mode 120000 index 0000000..a264ad0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_get_flags.html @@ -0,0 +1 @@ +EC_KEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_KEY_get_method.html b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_get_method.html new file mode 120000 index 0000000..a264ad0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_get_method.html @@ -0,0 +1 @@ +EC_KEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_KEY_key2buf.html b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_key2buf.html new file mode 120000 index 0000000..a264ad0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_key2buf.html @@ -0,0 +1 @@ +EC_KEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_KEY_new.html b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_new.html index cc7d1b6..3de2aea 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EC_KEY_new.html +++ b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_new.html @@ -32,10 +32,10 @@


    NAME

    -

    EC_KEY_get_method, EC_KEY_set_method, EC_KEY_new_ex, +

    EC_KEY_get_method, EC_KEY_set_method, EC_KEY_new, EC_KEY_get_flags, EC_KEY_set_flags, EC_KEY_clear_flags, -EC_KEY_new_by_curve_name_ex, EC_KEY_new_by_curve_name, EC_KEY_free, EC_KEY_copy, -EC_KEY_dup, EC_KEY_up_ref, EC_KEY_get0_engine, +EC_KEY_new_by_curve_name, EC_KEY_free, EC_KEY_copy, EC_KEY_dup, EC_KEY_up_ref, +EC_KEY_get0_engine, EC_KEY_get0_group, EC_KEY_set_group, EC_KEY_get0_private_key, EC_KEY_set_private_key, EC_KEY_get0_public_key, EC_KEY_set_public_key, EC_KEY_get_conv_form, @@ -51,12 +51,10 @@ EC_KEY objects

      #include <openssl/ec.h>
    - EC_KEY *EC_KEY_new_ex(OPENSSL_CTX *ctx);
      EC_KEY *EC_KEY_new(void);
      int EC_KEY_get_flags(const EC_KEY *key);
      void EC_KEY_set_flags(EC_KEY *key, int flags);
      void EC_KEY_clear_flags(EC_KEY *key, int flags);
    - EC_KEY *EC_KEY_new_by_curve_name_ex(OPENSSL_CTX *ctx, int nid);
      EC_KEY *EC_KEY_new_by_curve_name(int nid);
      void EC_KEY_free(EC_KEY *key);
      EC_KEY *EC_KEY_copy(EC_KEY *dst, const EC_KEY *src);
    @@ -92,28 +90,14 @@ EC_KEY objects


    DESCRIPTION

    An EC_KEY represents a public key and, optionally, the associated private -key. -A new EC_KEY with no associated curve can be constructed by calling -EC_KEY_new_ex() and specifying the associated library context in ctx -(see OPENSSL_CTX(3)). -The ctx parameter may be NULL in which case the default library context is -used. -The reference count for the newly created EC_KEY is initially -set to 1. -A curve can be associated with the EC_KEY by calling +key. A new EC_KEY with no associated curve can be constructed by calling +EC_KEY_new(). The reference count for the newly created EC_KEY is initially +set to 1. A curve can be associated with the EC_KEY by calling EC_KEY_set_group().

    -

    EC_KEY_new() is the same as EC_KEY_new_ex() except that the default library -context is always used.

    Alternatively a new EC_KEY can be constructed by calling -EC_KEY_new_by_curve_name_ex() and supplying the nid of the associated curve and -the library context to be used ctx (see OPENSSL_CTX(3)). -The ctx parameter may be NULL in which case the default library context is -used. -See EC_GROUP_new(3) for a description of curve names. -This function simply wraps calls to EC_KEY_new_ex() and -EC_GROUP_new_by_curve_name_ex().

    -

    EC_KEY_new_by_curve_name() is the same as EC_KEY_new_by_curve_name_ex() except -that the default library context is always used.

    +EC_KEY_new_by_curve_name() and supplying the nid of the associated curve. See +EC_GROUP_new(3) for a description of curve names. This function simply +wraps calls to EC_KEY_new() and EC_GROUP_new_by_curve_name().

    Calling EC_KEY_free() decrements the reference count for the EC_KEY object, and if it has dropped to zero then frees the memory associated with it. If key is NULL nothing is done.

    @@ -175,8 +159,8 @@ the pbuf parameter MUST NOT be NULL

    RETURN VALUES

    -

    EC_KEY_new_ex(), EC_KEY_new(), EC_KEY_new_by_curve_name() and EC_KEY_dup() -return a pointer to the newly created EC_KEY object, or NULL on error.

    +

    EC_KEY_new(), EC_KEY_new_by_curve_name() and EC_KEY_dup() return a pointer to +the newly created EC_KEY object, or NULL on error.

    EC_KEY_get_flags() returns the flags associated with the EC_KEY object as an integer.

    EC_KEY_copy() returns a pointer to the destination key, or NULL on error.

    @@ -198,14 +182,13 @@ of the buffer or 0 on error.

    EC_GROUP_copy(3), EC_POINT_new(3), EC_POINT_add(3), EC_GFp_simple_method(3), -d2i_ECPKParameters(3), -OPENSSL_CTX(3)

    +d2i_ECPKParameters(3)


    COPYRIGHT

    Copyright 2013-2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_KEY_new_by_curve_name.html b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_new_by_curve_name.html new file mode 120000 index 0000000..a264ad0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_new_by_curve_name.html @@ -0,0 +1 @@ +EC_KEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_KEY_oct2key.html b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_oct2key.html new file mode 120000 index 0000000..a264ad0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_oct2key.html @@ -0,0 +1 @@ +EC_KEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_KEY_oct2priv.html b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_oct2priv.html new file mode 120000 index 0000000..a264ad0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_oct2priv.html @@ -0,0 +1 @@ +EC_KEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_KEY_precompute_mult.html b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_precompute_mult.html new file mode 120000 index 0000000..a264ad0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_precompute_mult.html @@ -0,0 +1 @@ +EC_KEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_KEY_priv2buf.html b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_priv2buf.html new file mode 120000 index 0000000..a264ad0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_priv2buf.html @@ -0,0 +1 @@ +EC_KEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_KEY_priv2oct.html b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_priv2oct.html new file mode 120000 index 0000000..a264ad0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_priv2oct.html @@ -0,0 +1 @@ +EC_KEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_KEY_set_asn1_flag.html b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_set_asn1_flag.html new file mode 120000 index 0000000..a264ad0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_set_asn1_flag.html @@ -0,0 +1 @@ +EC_KEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_KEY_set_conv_form.html b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_set_conv_form.html new file mode 120000 index 0000000..a264ad0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_set_conv_form.html @@ -0,0 +1 @@ +EC_KEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_KEY_set_enc_flags.html b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_set_enc_flags.html new file mode 120000 index 0000000..c98537c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_set_enc_flags.html @@ -0,0 +1 @@ +EC_KEY_get_enc_flags.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_KEY_set_ex_data.html b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_set_ex_data.html new file mode 120000 index 0000000..6d5f2d2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_set_ex_data.html @@ -0,0 +1 @@ +BIO_get_ex_new_index.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_KEY_set_flags.html b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_set_flags.html new file mode 120000 index 0000000..a264ad0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_set_flags.html @@ -0,0 +1 @@ +EC_KEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_KEY_set_group.html b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_set_group.html new file mode 120000 index 0000000..a264ad0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_set_group.html @@ -0,0 +1 @@ +EC_KEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_KEY_set_method.html b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_set_method.html new file mode 120000 index 0000000..a264ad0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_set_method.html @@ -0,0 +1 @@ +EC_KEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_KEY_set_private_key.html b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_set_private_key.html new file mode 120000 index 0000000..a264ad0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_set_private_key.html @@ -0,0 +1 @@ +EC_KEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_KEY_set_public_key.html b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_set_public_key.html new file mode 120000 index 0000000..a264ad0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_set_public_key.html @@ -0,0 +1 @@ +EC_KEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_KEY_set_public_key_affine_coordinates.html b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_set_public_key_affine_coordinates.html new file mode 120000 index 0000000..a264ad0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_set_public_key_affine_coordinates.html @@ -0,0 +1 @@ +EC_KEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_KEY_up_ref.html b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_up_ref.html new file mode 120000 index 0000000..a264ad0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_KEY_up_ref.html @@ -0,0 +1 @@ +EC_KEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_METHOD_get_field_type.html b/linux_amd64/share/doc/openssl/html/man3/EC_METHOD_get_field_type.html new file mode 120000 index 0000000..71f7f5e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_METHOD_get_field_type.html @@ -0,0 +1 @@ +EC_GFp_simple_method.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_POINT_add.html b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_add.html index 0e7ee17..1df3e52 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EC_POINT_add.html +++ b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_add.html @@ -99,7 +99,7 @@ EC_POINTs_make_affine, EC_POINTs_make_affine, EC_POINT_mul, EC_POINTs_mul and EC

    COPYRIGHT

    Copyright 2013-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_POINT_bn2point.html b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_bn2point.html new file mode 120000 index 0000000..f7ef343 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_bn2point.html @@ -0,0 +1 @@ +EC_POINT_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_POINT_clear_free.html b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_clear_free.html new file mode 120000 index 0000000..f7ef343 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_clear_free.html @@ -0,0 +1 @@ +EC_POINT_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_POINT_cmp.html b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_cmp.html new file mode 120000 index 0000000..2080f42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_cmp.html @@ -0,0 +1 @@ +EC_POINT_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_POINT_copy.html b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_copy.html new file mode 120000 index 0000000..f7ef343 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_copy.html @@ -0,0 +1 @@ +EC_POINT_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_POINT_dbl.html b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_dbl.html new file mode 120000 index 0000000..2080f42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_dbl.html @@ -0,0 +1 @@ +EC_POINT_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_POINT_dup.html b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_dup.html new file mode 120000 index 0000000..f7ef343 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_dup.html @@ -0,0 +1 @@ +EC_POINT_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_POINT_free.html b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_free.html new file mode 120000 index 0000000..f7ef343 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_free.html @@ -0,0 +1 @@ +EC_POINT_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_POINT_get_Jprojective_coordinates_GFp.html b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_get_Jprojective_coordinates_GFp.html new file mode 120000 index 0000000..f7ef343 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_get_Jprojective_coordinates_GFp.html @@ -0,0 +1 @@ +EC_POINT_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_POINT_get_affine_coordinates.html b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_get_affine_coordinates.html new file mode 120000 index 0000000..f7ef343 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_get_affine_coordinates.html @@ -0,0 +1 @@ +EC_POINT_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_POINT_get_affine_coordinates_GF2m.html b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_get_affine_coordinates_GF2m.html new file mode 120000 index 0000000..f7ef343 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_get_affine_coordinates_GF2m.html @@ -0,0 +1 @@ +EC_POINT_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_POINT_get_affine_coordinates_GFp.html b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_get_affine_coordinates_GFp.html new file mode 120000 index 0000000..f7ef343 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_get_affine_coordinates_GFp.html @@ -0,0 +1 @@ +EC_POINT_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_POINT_hex2point.html b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_hex2point.html new file mode 120000 index 0000000..f7ef343 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_hex2point.html @@ -0,0 +1 @@ +EC_POINT_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_POINT_invert.html b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_invert.html new file mode 120000 index 0000000..2080f42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_invert.html @@ -0,0 +1 @@ +EC_POINT_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_POINT_is_at_infinity.html b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_is_at_infinity.html new file mode 120000 index 0000000..2080f42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_is_at_infinity.html @@ -0,0 +1 @@ +EC_POINT_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_POINT_is_on_curve.html b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_is_on_curve.html new file mode 120000 index 0000000..2080f42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_is_on_curve.html @@ -0,0 +1 @@ +EC_POINT_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_POINT_make_affine.html b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_make_affine.html new file mode 120000 index 0000000..2080f42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_make_affine.html @@ -0,0 +1 @@ +EC_POINT_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_POINT_method_of.html b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_method_of.html new file mode 120000 index 0000000..f7ef343 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_method_of.html @@ -0,0 +1 @@ +EC_POINT_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_POINT_mul.html b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_mul.html new file mode 120000 index 0000000..2080f42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_mul.html @@ -0,0 +1 @@ +EC_POINT_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_POINT_new.html b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_new.html index 1852787..359b498 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EC_POINT_new.html +++ b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_new.html @@ -252,7 +252,7 @@ error.


    COPYRIGHT

    Copyright 2013-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_POINT_oct2point.html b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_oct2point.html new file mode 120000 index 0000000..f7ef343 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_oct2point.html @@ -0,0 +1 @@ +EC_POINT_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_POINT_point2bn.html b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_point2bn.html new file mode 120000 index 0000000..f7ef343 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_point2bn.html @@ -0,0 +1 @@ +EC_POINT_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_POINT_point2buf.html b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_point2buf.html new file mode 120000 index 0000000..f7ef343 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_point2buf.html @@ -0,0 +1 @@ +EC_POINT_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_POINT_point2hex.html b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_point2hex.html new file mode 120000 index 0000000..f7ef343 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_point2hex.html @@ -0,0 +1 @@ +EC_POINT_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_POINT_point2oct.html b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_point2oct.html new file mode 120000 index 0000000..f7ef343 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_point2oct.html @@ -0,0 +1 @@ +EC_POINT_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_POINT_set_Jprojective_coordinates_GFp.html b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_set_Jprojective_coordinates_GFp.html new file mode 120000 index 0000000..f7ef343 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_set_Jprojective_coordinates_GFp.html @@ -0,0 +1 @@ +EC_POINT_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_POINT_set_affine_coordinates.html b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_set_affine_coordinates.html new file mode 120000 index 0000000..f7ef343 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_set_affine_coordinates.html @@ -0,0 +1 @@ +EC_POINT_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_POINT_set_affine_coordinates_GF2m.html b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_set_affine_coordinates_GF2m.html new file mode 120000 index 0000000..f7ef343 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_set_affine_coordinates_GF2m.html @@ -0,0 +1 @@ +EC_POINT_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_POINT_set_affine_coordinates_GFp.html b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_set_affine_coordinates_GFp.html new file mode 120000 index 0000000..f7ef343 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_set_affine_coordinates_GFp.html @@ -0,0 +1 @@ +EC_POINT_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_POINT_set_compressed_coordinates.html b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_set_compressed_coordinates.html new file mode 120000 index 0000000..f7ef343 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_set_compressed_coordinates.html @@ -0,0 +1 @@ +EC_POINT_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_POINT_set_compressed_coordinates_GF2m.html b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_set_compressed_coordinates_GF2m.html new file mode 120000 index 0000000..f7ef343 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_set_compressed_coordinates_GF2m.html @@ -0,0 +1 @@ +EC_POINT_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_POINT_set_compressed_coordinates_GFp.html b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_set_compressed_coordinates_GFp.html new file mode 120000 index 0000000..f7ef343 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_set_compressed_coordinates_GFp.html @@ -0,0 +1 @@ +EC_POINT_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_POINT_set_to_infinity.html b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_set_to_infinity.html new file mode 120000 index 0000000..f7ef343 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_POINT_set_to_infinity.html @@ -0,0 +1 @@ +EC_POINT_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_POINTs_make_affine.html b/linux_amd64/share/doc/openssl/html/man3/EC_POINTs_make_affine.html new file mode 120000 index 0000000..2080f42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_POINTs_make_affine.html @@ -0,0 +1 @@ +EC_POINT_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_POINTs_mul.html b/linux_amd64/share/doc/openssl/html/man3/EC_POINTs_mul.html new file mode 120000 index 0000000..2080f42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_POINTs_mul.html @@ -0,0 +1 @@ +EC_POINT_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EC_get_builtin_curves.html b/linux_amd64/share/doc/openssl/html/man3/EC_get_builtin_curves.html new file mode 120000 index 0000000..b8199b6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EC_get_builtin_curves.html @@ -0,0 +1 @@ +EC_GROUP_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EDIPARTYNAME_free.html b/linux_amd64/share/doc/openssl/html/man3/EDIPARTYNAME_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EDIPARTYNAME_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EDIPARTYNAME_new.html b/linux_amd64/share/doc/openssl/html/man3/EDIPARTYNAME_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EDIPARTYNAME_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_add.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_add.html index 49c60f7..357558b 100755 --- a/linux_amd64/share/doc/openssl/html/man3/ENGINE_add.html +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_add.html @@ -195,11 +195,11 @@ ENGINE_unregister_digests UI_METHOD *ui_method, void *callback_data); EVP_PKEY *ENGINE_load_public_key(ENGINE *e, const char *key_id, UI_METHOD *ui_method, void *callback_data);
    -

    Deprecated since OpenSSL 1.1.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

    +

    Deprecated:

    - void ENGINE_cleanup(void)
    + #if OPENSSL_API_COMPAT < 0x10100000L + void ENGINE_cleanup(void) + #endif


    @@ -285,7 +285,7 @@ operational ENGINE for a given cryptographic purpose.

    call the ENGINE_init() function. This returns zero if the ENGINE was not already operational and couldn't be successfully initialised (eg. lack of system drivers, no special hardware attached, etc), otherwise it will -return nonzero to indicate that the ENGINE is now operational and will +return non-zero to indicate that the ENGINE is now operational and will have allocated a new functional reference to the ENGINE. All functional references are released by calling ENGINE_finish() (which removes the implicit structural reference as well).

    @@ -360,7 +360,7 @@ acceleration hardware attached to the machine or some such thing. There are probably numerous other ways in which applications may prefer to handle things, so we will simply illustrate the consequences as they apply to a couple of simple cases and leave developers to consider these and the -source code to openssl's built-in utilities as guides.

    +source code to openssl's builtin utilities as guides.

    If no ENGINE API functions are called within an application, then OpenSSL will not allocate any internal resources. Prior to OpenSSL 1.1.0, however, if any ENGINEs are loaded, even if not registered or used, it was necessary to @@ -370,7 +370,7 @@ call ENGINE_cleanup() before the program exits.

    to want to use the "ACME" ENGINE if it is available in the version of OpenSSL the application was compiled with. If it is available, it should be used by default for all RSA, DSA, and symmetric cipher operations, otherwise -OpenSSL should use its built-in software as per usual. The following code +OpenSSL should use its builtin software as per usual. The following code illustrates how to approach this;

      ENGINE *e;
    @@ -397,7 +397,7 @@ illustrates how to approach this;

    ENGINE_finish(e); /* Release the structural reference from ENGINE_by_id() */ ENGINE_free(e);
    -

    Automatically using built-in ENGINE implementations

    +

    Automatically using builtin ENGINE implementations

    Here we'll assume we want to load and register all ENGINE implementations bundled with OpenSSL, such that for any cryptographic algorithm required by OpenSSL - if there is an ENGINE that implements it and can be initialised, @@ -442,7 +442,7 @@ calling ENGINE_init(). The other class of commands consist of setti operations that tweak certain behaviour or cause certain operations to take place, and these commands may work either before or after ENGINE_init(), or in some cases both. ENGINE implementations should provide indications of -this in the descriptions attached to built-in control commands and/or in +this in the descriptions attached to builtin control commands and/or in external product documentation.

    Issuing control commands to an ENGINE

    Let's illustrate by example; a function for which the caller supplies the @@ -494,7 +494,7 @@ boolean success or failure.

    return 1; }

    Note that ENGINE_ctrl_cmd_string() accepts a boolean argument that can -relax the semantics of the function - if set nonzero it will only return +relax the semantics of the function - if set non-zero it will only return failure if the ENGINE supported the given command name but failed while executing it, if the ENGINE doesn't support the command name it will simply return success without doing anything. In this case we assume the user is @@ -649,7 +649,7 @@ and should not be used.


    COPYRIGHT

    Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_add_conf_module.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_add_conf_module.html new file mode 120000 index 0000000..4a8db77 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_add_conf_module.html @@ -0,0 +1 @@ +OPENSSL_load_builtin_modules.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_by_id.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_by_id.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_by_id.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_cleanup.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_cleanup.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_cleanup.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_cmd_is_executable.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_cmd_is_executable.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_cmd_is_executable.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_ctrl.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_ctrl.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_ctrl.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_ctrl_cmd.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_ctrl_cmd.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_ctrl_cmd.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_ctrl_cmd_string.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_ctrl_cmd_string.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_ctrl_cmd_string.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_finish.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_finish.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_finish.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_free.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_free.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_free.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_DH.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_DH.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_DH.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_DSA.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_DSA.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_DSA.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_RAND.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_RAND.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_RAND.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_RSA.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_RSA.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_RSA.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_cipher.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_cipher.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_cipher.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_cipher_engine.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_cipher_engine.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_cipher_engine.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_ciphers.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_ciphers.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_ciphers.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_cmd_defns.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_cmd_defns.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_cmd_defns.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_ctrl_function.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_ctrl_function.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_ctrl_function.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_default_DH.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_default_DH.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_default_DH.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_default_DSA.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_default_DSA.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_default_DSA.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_default_RAND.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_default_RAND.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_default_RAND.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_default_RSA.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_default_RSA.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_default_RSA.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_destroy_function.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_destroy_function.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_destroy_function.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_digest.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_digest.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_digest.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_digest_engine.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_digest_engine.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_digest_engine.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_digests.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_digests.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_digests.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_ex_data.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_ex_data.html new file mode 120000 index 0000000..6d5f2d2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_ex_data.html @@ -0,0 +1 @@ +BIO_get_ex_new_index.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_ex_new_index.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_ex_new_index.html new file mode 120000 index 0000000..6d5f2d2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_ex_new_index.html @@ -0,0 +1 @@ +BIO_get_ex_new_index.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_finish_function.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_finish_function.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_finish_function.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_first.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_first.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_first.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_flags.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_flags.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_flags.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_id.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_id.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_id.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_init_function.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_init_function.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_init_function.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_last.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_last.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_last.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_load_privkey_function.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_load_privkey_function.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_load_privkey_function.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_load_pubkey_function.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_load_pubkey_function.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_load_pubkey_function.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_name.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_name.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_name.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_next.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_next.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_next.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_prev.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_prev.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_prev.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_table_flags.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_table_flags.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_get_table_flags.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_init.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_init.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_init.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_load_builtin_engines.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_load_builtin_engines.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_load_builtin_engines.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_load_private_key.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_load_private_key.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_load_private_key.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_load_public_key.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_load_public_key.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_load_public_key.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_new.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_new.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_new.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_register_DH.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_register_DH.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_register_DH.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_register_DSA.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_register_DSA.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_register_DSA.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_register_RAND.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_register_RAND.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_register_RAND.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_register_RSA.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_register_RSA.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_register_RSA.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_register_all_DH.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_register_all_DH.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_register_all_DH.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_register_all_DSA.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_register_all_DSA.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_register_all_DSA.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_register_all_RAND.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_register_all_RAND.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_register_all_RAND.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_register_all_RSA.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_register_all_RSA.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_register_all_RSA.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_register_all_ciphers.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_register_all_ciphers.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_register_all_ciphers.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_register_all_complete.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_register_all_complete.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_register_all_complete.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_register_all_digests.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_register_all_digests.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_register_all_digests.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_register_ciphers.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_register_ciphers.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_register_ciphers.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_register_complete.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_register_complete.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_register_complete.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_register_digests.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_register_digests.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_register_digests.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_remove.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_remove.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_remove.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_DH.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_DH.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_DH.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_DSA.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_DSA.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_DSA.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_RAND.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_RAND.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_RAND.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_RSA.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_RSA.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_RSA.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_ciphers.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_ciphers.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_ciphers.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_cmd_defns.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_cmd_defns.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_cmd_defns.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_ctrl_function.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_ctrl_function.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_ctrl_function.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_default.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_default.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_default.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_default_DH.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_default_DH.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_default_DH.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_default_DSA.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_default_DSA.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_default_DSA.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_default_RAND.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_default_RAND.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_default_RAND.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_default_RSA.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_default_RSA.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_default_RSA.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_default_ciphers.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_default_ciphers.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_default_ciphers.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_default_digests.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_default_digests.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_default_digests.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_default_string.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_default_string.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_default_string.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_destroy_function.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_destroy_function.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_destroy_function.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_digests.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_digests.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_digests.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_ex_data.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_ex_data.html new file mode 120000 index 0000000..6d5f2d2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_ex_data.html @@ -0,0 +1 @@ +BIO_get_ex_new_index.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_finish_function.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_finish_function.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_finish_function.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_flags.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_flags.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_flags.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_id.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_id.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_id.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_init_function.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_init_function.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_init_function.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_load_privkey_function.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_load_privkey_function.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_load_privkey_function.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_load_pubkey_function.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_load_pubkey_function.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_load_pubkey_function.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_name.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_name.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_name.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_table_flags.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_table_flags.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_set_table_flags.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_unregister_DH.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_unregister_DH.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_unregister_DH.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_unregister_DSA.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_unregister_DSA.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_unregister_DSA.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_unregister_RAND.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_unregister_RAND.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_unregister_RAND.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_unregister_RSA.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_unregister_RSA.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_unregister_RSA.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_unregister_ciphers.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_unregister_ciphers.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_unregister_ciphers.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_unregister_digests.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_unregister_digests.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_unregister_digests.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ENGINE_up_ref.html b/linux_amd64/share/doc/openssl/html/man3/ENGINE_up_ref.html new file mode 120000 index 0000000..3f52f1d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ENGINE_up_ref.html @@ -0,0 +1 @@ +ENGINE_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ERR_FATAL_ERROR.html b/linux_amd64/share/doc/openssl/html/man3/ERR_FATAL_ERROR.html new file mode 120000 index 0000000..dc94cf4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ERR_FATAL_ERROR.html @@ -0,0 +1 @@ +ERR_GET_LIB.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ERR_GET_FUNC.html b/linux_amd64/share/doc/openssl/html/man3/ERR_GET_FUNC.html new file mode 120000 index 0000000..dc94cf4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ERR_GET_FUNC.html @@ -0,0 +1 @@ +ERR_GET_LIB.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ERR_GET_LIB.html b/linux_amd64/share/doc/openssl/html/man3/ERR_GET_LIB.html index 1fdee3a..a4336b1 100755 --- a/linux_amd64/share/doc/openssl/html/man3/ERR_GET_LIB.html +++ b/linux_amd64/share/doc/openssl/html/man3/ERR_GET_LIB.html @@ -67,14 +67,13 @@ reasons.

    unique. However, when checking for sub-library specific reason codes, be sure to also compare the library number.

    ERR_GET_LIB(), ERR_GET_FUNC(), ERR_GET_REASON(), and ERR_FATAL_ERROR() -are macros.

    + are macros.


    RETURN VALUES

    The library number, function code, reason code, and whether the error -is fatal, respectively. -Starting with OpenSSL 3.0.0, the function code is always set to zero.

    +is fatal, respectively.


    @@ -91,7 +90,7 @@ all versions of OpenSSL.


    COPYRIGHT

    Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/ERR_GET_REASON.html b/linux_amd64/share/doc/openssl/html/man3/ERR_GET_REASON.html new file mode 120000 index 0000000..dc94cf4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ERR_GET_REASON.html @@ -0,0 +1 @@ +ERR_GET_LIB.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ERR_PACK.html b/linux_amd64/share/doc/openssl/html/man3/ERR_PACK.html new file mode 120000 index 0000000..4f06d08 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ERR_PACK.html @@ -0,0 +1 @@ +ERR_load_strings.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ERR_add_error_data.html b/linux_amd64/share/doc/openssl/html/man3/ERR_add_error_data.html new file mode 120000 index 0000000..4fc3561 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ERR_add_error_data.html @@ -0,0 +1 @@ +ERR_put_error.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ERR_add_error_vdata.html b/linux_amd64/share/doc/openssl/html/man3/ERR_add_error_vdata.html new file mode 120000 index 0000000..4fc3561 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ERR_add_error_vdata.html @@ -0,0 +1 @@ +ERR_put_error.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ERR_clear_error.html b/linux_amd64/share/doc/openssl/html/man3/ERR_clear_error.html index e9edbee..a745aae 100755 --- a/linux_amd64/share/doc/openssl/html/man3/ERR_clear_error.html +++ b/linux_amd64/share/doc/openssl/html/man3/ERR_clear_error.html @@ -61,7 +61,7 @@

    COPYRIGHT

    Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/ERR_error_string.html b/linux_amd64/share/doc/openssl/html/man3/ERR_error_string.html index c7986d2..478590b 100755 --- a/linux_amd64/share/doc/openssl/html/man3/ERR_error_string.html +++ b/linux_amd64/share/doc/openssl/html/man3/ERR_error_string.html @@ -21,7 +21,6 @@
  121. DESCRIPTION
  122. RETURN VALUES
  123. SEE ALSO
  124. -
  125. HISTORY
  126. COPYRIGHT
  127. @@ -47,10 +46,8 @@ error message

    void ERR_error_string_n(unsigned long e, char *buf, size_t len);
      const char *ERR_lib_error_string(unsigned long e);
    + const char *ERR_func_error_string(unsigned long e);
      const char *ERR_reason_error_string(unsigned long e);
    -

    Deprecated in OpenSSL 3.0:

    -
    - const char *ERR_func_error_string(unsigned long e);


    @@ -67,10 +64,11 @@ and truncates the string if necessary. For ERR_error_string_n(), buf may not be NULL.

    The string will have the following format:

    - error:[error code]:[library name]::[reason string]
    -

    error code is an 8 digit hexadecimal number, library name and -reason string are ASCII text.

    -

    ERR_lib_error_string() and ERR_reason_error_string() return the library + error:[error code]:[library name]:[function name]:[reason string] +

    error code is an 8 digit hexadecimal number, library name, +function name and reason string are ASCII text.

    +

    ERR_lib_error_string(), ERR_func_error_string() and +ERR_reason_error_string() return the library name, function name and reason string respectively.

    If there is no text string registered for the given error code, the error string will contain the numeric code.

    @@ -82,9 +80,9 @@ all error codes currently in the queue.

    RETURN VALUES

    ERR_error_string() returns a pointer to a static buffer containing the string if buf == NULL, buf otherwise.

    -

    ERR_lib_error_string() and ERR_reason_error_string() return the strings, -and NULL if none is registered for the error code.

    -

    ERR_func_error_string() returns NULL.

    +

    ERR_lib_error_string(), ERR_func_error_string() and +ERR_reason_error_string() return the strings, and NULL if +none is registered for the error code.


    @@ -94,14 +92,9 @@ and NULL if none is registered for the error code.


    -

    HISTORY

    -

    ERR_func_error_string() became deprecated in OpenSSL 3.0.

    -

    -

    -

    COPYRIGHT

    Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/ERR_error_string_n.html b/linux_amd64/share/doc/openssl/html/man3/ERR_error_string_n.html new file mode 120000 index 0000000..f54a5d9 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ERR_error_string_n.html @@ -0,0 +1 @@ +ERR_error_string.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ERR_free_strings.html b/linux_amd64/share/doc/openssl/html/man3/ERR_free_strings.html new file mode 120000 index 0000000..5dd87d8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ERR_free_strings.html @@ -0,0 +1 @@ +ERR_load_crypto_strings.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ERR_func_error_string.html b/linux_amd64/share/doc/openssl/html/man3/ERR_func_error_string.html new file mode 120000 index 0000000..f54a5d9 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ERR_func_error_string.html @@ -0,0 +1 @@ +ERR_error_string.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ERR_get_error.html b/linux_amd64/share/doc/openssl/html/man3/ERR_get_error.html index 2c460ab..7f9b7f2 100755 --- a/linux_amd64/share/doc/openssl/html/man3/ERR_get_error.html +++ b/linux_amd64/share/doc/openssl/html/man3/ERR_get_error.html @@ -21,7 +21,6 @@
  128. DESCRIPTION
  129. RETURN VALUES
  130. SEE ALSO
  131. -
  132. HISTORY
  133. COPYRIGHT
  134. @@ -35,11 +34,8 @@

    NAME

    ERR_get_error, ERR_peek_error, ERR_peek_last_error, ERR_get_error_line, ERR_peek_error_line, ERR_peek_last_error_line, -ERR_get_error_func, ERR_peek_error_func, ERR_peek_last_error_func, -ERR_get_error_data, ERR_peek_error_data, ERR_peek_last_error_data, -ERR_get_error_all, ERR_peek_error_all, ERR_peek_last_error_all, -ERR_get_error_line_data, ERR_peek_error_line_data, ERR_peek_last_error_line_data -- obtain error code and data

    +ERR_get_error_line_data, ERR_peek_error_line_data, +ERR_peek_last_error_line_data - obtain error code and data


    @@ -54,25 +50,6 @@ ERR_get_error_line_data, ERR_peek_error_line_data, ERR_peek_last_error_line_data unsigned long ERR_get_error_line(const char **file, int *line); unsigned long ERR_peek_error_line(const char **file, int *line); unsigned long ERR_peek_last_error_line(const char **file, int *line); -
    - unsigned long ERR_get_error_func(const char **func);
    - unsigned long ERR_peek_error_func(const char **func);
    - unsigned long ERR_peek_last_error_func(const char **func);
    -
    - unsigned long ERR_get_error_data(const char **data, int *flags);
    - unsigned long ERR_peek_error_data(const char **data, int *flags);
    - unsigned long ERR_peek_last_error_data(const char **data, int *flags);
    -
    - unsigned long ERR_get_error_all(const char **file, int *line,
    -                                 const char *func,
    -                                 const char **data, int *flags);
    - unsigned long ERR_peek_error_all(const char **file, int *line,
    -                                  const char *func,
    -                                  const char **data, int *flags);
    - unsigned long ERR_peek_last_error_all(const char **file, int *line,
    -                                       const char *func,
    -                                       const char **data, int *flags);
    -

    Deprecated since OpenSSL 3.0:

      unsigned long ERR_get_error_line_data(const char **file, int *line,
                                            const char **data, int *flags);
    @@ -91,38 +68,19 @@ until there are no more error codes to return.

    error queue without modifying it.

    ERR_peek_last_error() returns the latest error code from the thread's error queue without modifying it.

    -

    See ERR_GET_LIB(3) for obtaining further specific information -such as the reason of the error, -and ERR_error_string(3) for human-readable error messages.

    +

    See ERR_GET_LIB(3) for obtaining information about +location and reason of the error, and +ERR_error_string(3) for human-readable error +messages.

    ERR_get_error_line(), ERR_peek_error_line() and -ERR_peek_last_error_line() are the same as ERR_get_error(), -ERR_peek_error() and ERR_peek_last_error(), but on success they -additionally store the filename and line number where -the error occurred in *file and *line, as far as they are not NULL. -An unset filename is indicated as "", i.e., an empty string. -An unset line number is indicated as 0.

    -

    A pointer returned this way by these functions and the ones below -is valid until the respective entry is removed from the error queue.

    -

    ERR_get_error_func(), ERR_peek_error_func() and -ERR_peek_last_error_func() are the same as ERR_get_error(), -ERR_peek_error() and ERR_peek_last_error(), but on success they -additionally store the name of the function where the error occurred -in *func, unless it is NULL. -An unset function name is indicated as "".

    -

    ERR_get_error_data(), ERR_peek_error_data() and -ERR_peek_last_error_data() are the same as ERR_get_error(), -ERR_peek_error() and ERR_peek_last_error(), but on success they -additionally store additional data and flags associated with the error -code in *data and *flags, as far as they are not NULL. -Unset data is indicated as "". -In this case the value given for the flag is irrelevant (and equals 0). -*data contains a string if *flags&ERR_TXT_STRING is true.

    -

    ERR_get_error_all(), ERR_peek_error_all() and -ERR_peek_last_error_all() are combinations of all of the above.

    +ERR_peek_last_error_line() are the same as the above, but they +additionally store the file name and line number where +the error occurred in *file and *line, unless these are NULL.

    ERR_get_error_line_data(), ERR_peek_error_line_data() and -ERR_peek_last_error_line_data() are older variants of ERR_get_error_all(), -ERR_peek_error_all() and ERR_peek_last_error_all(), and should no longer -be used.

    +ERR_peek_last_error_line_data() store additional data and flags +associated with the error code in *data +and *flags, unless these are NULL. *data contains a string +if *flags&ERR_TXT_STRING is true.

    An application MUST NOT free the *data pointer (or any other pointers returned by these functions) with OPENSSL_free() as freeing is handled automatically by the error library.

    @@ -140,19 +98,9 @@ automatically by the error library.


    -

    HISTORY

    -

    ERR_get_error_func(), ERR_peek_error_func(), ERR_peek_last_error_func(), -ERR_get_error_data(), ERR_peek_error_data(), ERR_peek_last_error_data(), -ERR_get_error_all(), ERR_peek_error_all() and ERR_peek_last_error_all() -were added in OpenSSL 3.0.

    -

    ERR_get_error_line_data(), ERR_peek_error_line_data() and -ERR_peek_last_error_line_data() became deprecated in OpenSSL 3.0.

    -

    -

    -

    COPYRIGHT

    Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/ERR_get_error_line.html b/linux_amd64/share/doc/openssl/html/man3/ERR_get_error_line.html new file mode 120000 index 0000000..38ec3ca --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ERR_get_error_line.html @@ -0,0 +1 @@ +ERR_get_error.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ERR_get_error_line_data.html b/linux_amd64/share/doc/openssl/html/man3/ERR_get_error_line_data.html new file mode 120000 index 0000000..38ec3ca --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ERR_get_error_line_data.html @@ -0,0 +1 @@ +ERR_get_error.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ERR_get_next_error_library.html b/linux_amd64/share/doc/openssl/html/man3/ERR_get_next_error_library.html new file mode 120000 index 0000000..4f06d08 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ERR_get_next_error_library.html @@ -0,0 +1 @@ +ERR_load_strings.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ERR_lib_error_string.html b/linux_amd64/share/doc/openssl/html/man3/ERR_lib_error_string.html new file mode 120000 index 0000000..f54a5d9 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ERR_lib_error_string.html @@ -0,0 +1 @@ +ERR_error_string.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ERR_load_crypto_strings.html b/linux_amd64/share/doc/openssl/html/man3/ERR_load_crypto_strings.html index 60f83ef..d11fa0c 100755 --- a/linux_amd64/share/doc/openssl/html/man3/ERR_load_crypto_strings.html +++ b/linux_amd64/share/doc/openssl/html/man3/ERR_load_crypto_strings.html @@ -39,18 +39,20 @@ load and free error strings


    SYNOPSIS

    -

    Deprecated since OpenSSL 1.1.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

    +

    Deprecated:

      #include <openssl/err.h>
    + #if OPENSSL_API_COMPAT < 0x10100000L
      void ERR_load_crypto_strings(void);
    - void ERR_free_strings(void);
    + void ERR_free_strings(void); + #endif
      #include <openssl/ssl.h>
    - void SSL_load_error_strings(void);
    + #if OPENSSL_API_COMPAT < 0x10100000L + void SSL_load_error_strings(void); + #endif


    @@ -83,7 +85,7 @@ but also registers the libssl error strings.


    COPYRIGHT

    Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/ERR_load_strings.html b/linux_amd64/share/doc/openssl/html/man3/ERR_load_strings.html index 0d7ba13..8b1e3e9 100755 --- a/linux_amd64/share/doc/openssl/html/man3/ERR_load_strings.html +++ b/linux_amd64/share/doc/openssl/html/man3/ERR_load_strings.html @@ -63,7 +63,7 @@ reason code: error = ERR_PACK(lib, fun ERR_PACK() is a macro.

    The last entry in the array is {0,0}.

    ERR_get_next_error_library() can be used to assign library numbers -to user libraries at run time.

    +to user libraries at runtime.


    @@ -81,7 +81,7 @@ library number.


    COPYRIGHT

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/ERR_peek_error.html b/linux_amd64/share/doc/openssl/html/man3/ERR_peek_error.html new file mode 120000 index 0000000..38ec3ca --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ERR_peek_error.html @@ -0,0 +1 @@ +ERR_get_error.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ERR_peek_error_line.html b/linux_amd64/share/doc/openssl/html/man3/ERR_peek_error_line.html new file mode 120000 index 0000000..38ec3ca --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ERR_peek_error_line.html @@ -0,0 +1 @@ +ERR_get_error.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ERR_peek_error_line_data.html b/linux_amd64/share/doc/openssl/html/man3/ERR_peek_error_line_data.html new file mode 120000 index 0000000..38ec3ca --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ERR_peek_error_line_data.html @@ -0,0 +1 @@ +ERR_get_error.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ERR_peek_last_error.html b/linux_amd64/share/doc/openssl/html/man3/ERR_peek_last_error.html new file mode 120000 index 0000000..38ec3ca --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ERR_peek_last_error.html @@ -0,0 +1 @@ +ERR_get_error.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ERR_peek_last_error_line.html b/linux_amd64/share/doc/openssl/html/man3/ERR_peek_last_error_line.html new file mode 120000 index 0000000..38ec3ca --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ERR_peek_last_error_line.html @@ -0,0 +1 @@ +ERR_get_error.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ERR_peek_last_error_line_data.html b/linux_amd64/share/doc/openssl/html/man3/ERR_peek_last_error_line_data.html new file mode 120000 index 0000000..38ec3ca --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ERR_peek_last_error_line_data.html @@ -0,0 +1 @@ +ERR_get_error.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ERR_pop_to_mark.html b/linux_amd64/share/doc/openssl/html/man3/ERR_pop_to_mark.html new file mode 120000 index 0000000..b883dde --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ERR_pop_to_mark.html @@ -0,0 +1 @@ +ERR_set_mark.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ERR_print_errors.html b/linux_amd64/share/doc/openssl/html/man3/ERR_print_errors.html index 7559dc8..48d9a8d 100755 --- a/linux_amd64/share/doc/openssl/html/man3/ERR_print_errors.html +++ b/linux_amd64/share/doc/openssl/html/man3/ERR_print_errors.html @@ -58,7 +58,7 @@ emptying the error queue.

    u as the callback parameters.

    The error strings will have the following format:

    - [pid]:error:[error code]:[library name]:[function name]:[reason string]:[filename]:[line]:[optional text message]
    + [pid]:error:[error code]:[library name]:[function name]:[reason string]:[file name]:[line]:[optional text message]

    error code is an 8 digit hexadecimal number. library name, function name and reason string are ASCII text, as is optional text message if one was set for the respective error code.

    @@ -80,7 +80,7 @@ the error string will contain the numeric code.


    COPYRIGHT

    Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/ERR_print_errors_cb.html b/linux_amd64/share/doc/openssl/html/man3/ERR_print_errors_cb.html new file mode 120000 index 0000000..39316bd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ERR_print_errors_cb.html @@ -0,0 +1 @@ +ERR_print_errors.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ERR_print_errors_fp.html b/linux_amd64/share/doc/openssl/html/man3/ERR_print_errors_fp.html new file mode 120000 index 0000000..39316bd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ERR_print_errors_fp.html @@ -0,0 +1 @@ +ERR_print_errors.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ERR_put_error.html b/linux_amd64/share/doc/openssl/html/man3/ERR_put_error.html index 3714130..2adc9fa 100755 --- a/linux_amd64/share/doc/openssl/html/man3/ERR_put_error.html +++ b/linux_amd64/share/doc/openssl/html/man3/ERR_put_error.html @@ -25,9 +25,7 @@
  135. RETURN VALUES
  136. -
  137. NOTES
  138. SEE ALSO
  139. -
  140. HISTORY
  141. COPYRIGHT
  142. @@ -39,10 +37,7 @@


    NAME

    -

    ERR_raise, ERR_raise_data, -ERR_put_error, ERR_add_error_data, ERR_add_error_vdata, -ERR_add_error_txt, ERR_add_error_mem_bio -- record an error

    +

    ERR_put_error, ERR_add_error_data, ERR_add_error_vdata - record an error


    @@ -50,48 +45,21 @@ ERR_add_error_txt, ERR_add_error_mem_bio
      #include <openssl/err.h>
    - void ERR_raise(int lib, int reason);
    - void ERR_raise_data(int lib, int reason, const char *fmt, ...);
    + void ERR_put_error(int lib, int func, int reason, const char *file, int line);
      void ERR_add_error_data(int num, ...);
    - void ERR_add_error_vdata(int num, va_list arg);
    - void ERR_add_error_txt(const char *sep, const char *txt);
    - void ERR_add_error_mem_bio(const char *sep, BIO *bio);
    -

    Deprecated since OpenSSL 3.0:

    -
    - void ERR_put_error(int lib, int func, int reason, const char *file, int line);
    + void ERR_add_error_vdata(int num, va_list arg);


    DESCRIPTION

    -

    ERR_raise() adds a new error to the thread's error queue. The -error occurred in the library lib for the reason given by the -reason code. Furthermore, the name of the file, the line, and name -of the function where the error occurred is saved with the error -record.

    -

    ERR_raise_data() does the same thing as ERR_raise(), but also lets the -caller specify additional information as a format string fmt and an -arbitrary number of values, which are processed with BIO_snprintf(3).

    ERR_put_error() adds an error code to the thread's error queue. It signals that the error of reason code reason occurred in function func of library lib, in line number line of file. This function is usually called by a macro.

    ERR_add_error_data() associates the concatenation of its num string -arguments as additional data with the error code added last. -ERR_add_error_vdata() is similar except the argument is a va_list. -Multiple calls to these functions append to the current top of the error queue. -The total length of the string data per error is limited to 4096 characters.

    -

    ERR_add_error_txt() appends the given text string as additional data to the -last error queue entry, after inserting the optional separator string if it is -not NULL and the top error entry does not yet have additional data. -In case the separator is at the end of the text it is not appended to the data. -The sep argument may be for instance "\n" to insert a line break when needed. -If the associated data would become more than 4096 characters long -(which is the limit given above) -it is split over sufficiently many new copies of the last error queue entry.

    -

    ERR_add_error_mem_bio() is the same as ERR_add_error_txt() except that -the text string is taken from the given memory BIO. -It appends '\0' to the BIO contents if not already NUL-terminated.

    +arguments with the error code added last. +ERR_add_error_vdata() is similar except the argument is a va_list.

    ERR_load_strings(3) can be used to register error strings so that the application can a generate human-readable error messages for the error code.

    @@ -106,13 +74,13 @@ descriptions. For example, the function ssl3_read_bytes() reports a "handshake failure" as follows:

      SSLerr(SSL_F_SSL3_READ_BYTES, SSL_R_SSL_HANDSHAKE_FAILURE);
    -

    Function and reason codes should consist of uppercase characters, +

    Function and reason codes should consist of upper case characters, numbers and underscores only. The error file generation script translates function codes into function names by looking in the header files for an appropriate function name, if none is found it just uses the capitalized form such as "SSL3_READ_BYTES" in the above example.

    The trailing section of a reason code (after the "_R_") is translated -into lowercase and underscores changed to spaces.

    +into lower case and underscores changed to spaces.

    Although a library will normally report errors using its own specific XXXerr macro, another library's macro can be used. This is normally only done when a library wants to include ASN1 code which must use @@ -121,15 +89,8 @@ the ASN1err() macro.


    RETURN VALUES

    -

    ERR_raise(), ERR_put_error(), -ERR_add_error_data(), ERR_add_error_vdata() -ERR_add_error_txt(), and ERR_add_error_mem_bio() -return no values.

    -

    -

    -
    -

    NOTES

    -

    ERR_raise() and ERR_put_error() are implemented as macros.

    +

    ERR_put_error() and ERR_add_error_data() return +no values.


    @@ -138,14 +99,9 @@ return no values.


    -

    HISTORY

    -

    ERR_add_error_txt and ERR_add_error_mem_bio were added in OpenSSL 3.0.

    -

    -

    -

    COPYRIGHT

    -

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/ERR_reason_error_string.html b/linux_amd64/share/doc/openssl/html/man3/ERR_reason_error_string.html new file mode 120000 index 0000000..f54a5d9 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ERR_reason_error_string.html @@ -0,0 +1 @@ +ERR_error_string.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ERR_remove_state.html b/linux_amd64/share/doc/openssl/html/man3/ERR_remove_state.html index 6361e20..7c1e95f 100755 --- a/linux_amd64/share/doc/openssl/html/man3/ERR_remove_state.html +++ b/linux_amd64/share/doc/openssl/html/man3/ERR_remove_state.html @@ -38,16 +38,15 @@


    SYNOPSIS

    -

    Deprecated since OpenSSL 1.0.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

    +

    Deprecated:

    - void ERR_remove_state(unsigned long tid);
    -

    Deprecated since OpenSSL 1.1.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

    + #if OPENSSL_API_COMPAT < 0x10000000L + void ERR_remove_state(unsigned long tid); + #endif
    - void ERR_remove_thread_state(void *tid);
    + #if OPENSSL_API_COMPAT < 0x10100000L + void ERR_remove_thread_state(void *tid); + #endif


    @@ -78,7 +77,7 @@ and should not be used.


    COPYRIGHT

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/ERR_remove_thread_state.html b/linux_amd64/share/doc/openssl/html/man3/ERR_remove_thread_state.html new file mode 120000 index 0000000..668af6d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ERR_remove_thread_state.html @@ -0,0 +1 @@ +ERR_remove_state.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ERR_set_mark.html b/linux_amd64/share/doc/openssl/html/man3/ERR_set_mark.html index d71f416..4e73e78 100755 --- a/linux_amd64/share/doc/openssl/html/man3/ERR_set_mark.html +++ b/linux_amd64/share/doc/openssl/html/man3/ERR_set_mark.html @@ -62,7 +62,7 @@ implies that the stack became empty, otherwise 1.


    COPYRIGHT

    Copyright 2003-2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/ESS_CERT_ID_dup.html b/linux_amd64/share/doc/openssl/html/man3/ESS_CERT_ID_dup.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ESS_CERT_ID_dup.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ESS_CERT_ID_free.html b/linux_amd64/share/doc/openssl/html/man3/ESS_CERT_ID_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ESS_CERT_ID_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ESS_CERT_ID_new.html b/linux_amd64/share/doc/openssl/html/man3/ESS_CERT_ID_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ESS_CERT_ID_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ESS_ISSUER_SERIAL_dup.html b/linux_amd64/share/doc/openssl/html/man3/ESS_ISSUER_SERIAL_dup.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ESS_ISSUER_SERIAL_dup.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ESS_ISSUER_SERIAL_free.html b/linux_amd64/share/doc/openssl/html/man3/ESS_ISSUER_SERIAL_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ESS_ISSUER_SERIAL_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ESS_ISSUER_SERIAL_new.html b/linux_amd64/share/doc/openssl/html/man3/ESS_ISSUER_SERIAL_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ESS_ISSUER_SERIAL_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ESS_SIGNING_CERT_dup.html b/linux_amd64/share/doc/openssl/html/man3/ESS_SIGNING_CERT_dup.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ESS_SIGNING_CERT_dup.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ESS_SIGNING_CERT_free.html b/linux_amd64/share/doc/openssl/html/man3/ESS_SIGNING_CERT_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ESS_SIGNING_CERT_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ESS_SIGNING_CERT_new.html b/linux_amd64/share/doc/openssl/html/man3/ESS_SIGNING_CERT_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ESS_SIGNING_CERT_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_BytesToKey.html b/linux_amd64/share/doc/openssl/html/man3/EVP_BytesToKey.html index 4f0b87c..d7d46b7 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_BytesToKey.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_BytesToKey.html @@ -104,7 +104,7 @@ or 0 on error.


    COPYRIGHT

    Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_block_size.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_block_size.html new file mode 120000 index 0000000..05f553e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_block_size.html @@ -0,0 +1 @@ +EVP_EncryptInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_cipher.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_cipher.html new file mode 120000 index 0000000..05f553e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_cipher.html @@ -0,0 +1 @@ +EVP_EncryptInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_ctrl.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_ctrl.html new file mode 120000 index 0000000..05f553e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_ctrl.html @@ -0,0 +1 @@ +EVP_EncryptInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_flags.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_flags.html new file mode 120000 index 0000000..05f553e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_flags.html @@ -0,0 +1 @@ +EVP_EncryptInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_free.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_free.html new file mode 120000 index 0000000..05f553e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_free.html @@ -0,0 +1 @@ +EVP_EncryptInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_get_app_data.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_get_app_data.html new file mode 120000 index 0000000..05f553e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_get_app_data.html @@ -0,0 +1 @@ +EVP_EncryptInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_get_cipher_data.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_get_cipher_data.html index cf89172..3d9840b 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_get_cipher_data.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_get_cipher_data.html @@ -76,7 +76,7 @@ functions were added in OpenSSL 1.1.0.


    COPYRIGHT

    Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_iv_length.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_iv_length.html new file mode 120000 index 0000000..05f553e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_iv_length.html @@ -0,0 +1 @@ +EVP_EncryptInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_key_length.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_key_length.html new file mode 120000 index 0000000..05f553e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_key_length.html @@ -0,0 +1 @@ +EVP_EncryptInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_mode.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_mode.html new file mode 120000 index 0000000..05f553e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_mode.html @@ -0,0 +1 @@ +EVP_EncryptInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_new.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_new.html new file mode 120000 index 0000000..05f553e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_new.html @@ -0,0 +1 @@ +EVP_EncryptInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_nid.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_nid.html new file mode 120000 index 0000000..05f553e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_nid.html @@ -0,0 +1 @@ +EVP_EncryptInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_reset.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_reset.html new file mode 120000 index 0000000..05f553e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_reset.html @@ -0,0 +1 @@ +EVP_EncryptInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_set_app_data.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_set_app_data.html new file mode 120000 index 0000000..05f553e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_set_app_data.html @@ -0,0 +1 @@ +EVP_EncryptInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_set_cipher_data.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_set_cipher_data.html new file mode 120000 index 0000000..10ffb1e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_set_cipher_data.html @@ -0,0 +1 @@ +EVP_CIPHER_CTX_get_cipher_data.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_set_key_length.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_set_key_length.html new file mode 120000 index 0000000..05f553e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_set_key_length.html @@ -0,0 +1 @@ +EVP_EncryptInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_set_padding.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_set_padding.html new file mode 120000 index 0000000..05f553e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_set_padding.html @@ -0,0 +1 @@ +EVP_EncryptInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_type.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_type.html new file mode 120000 index 0000000..05f553e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_CTX_type.html @@ -0,0 +1 @@ +EVP_EncryptInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_asn1_to_param.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_asn1_to_param.html new file mode 120000 index 0000000..05f553e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_asn1_to_param.html @@ -0,0 +1 @@ +EVP_EncryptInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_block_size.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_block_size.html new file mode 120000 index 0000000..05f553e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_block_size.html @@ -0,0 +1 @@ +EVP_EncryptInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_flags.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_flags.html new file mode 120000 index 0000000..05f553e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_flags.html @@ -0,0 +1 @@ +EVP_EncryptInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_iv_length.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_iv_length.html new file mode 120000 index 0000000..05f553e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_iv_length.html @@ -0,0 +1 @@ +EVP_EncryptInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_key_length.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_key_length.html new file mode 120000 index 0000000..05f553e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_key_length.html @@ -0,0 +1 @@ +EVP_EncryptInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_dup.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_dup.html new file mode 120000 index 0000000..f441b74 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_dup.html @@ -0,0 +1 @@ +EVP_CIPHER_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_free.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_free.html new file mode 120000 index 0000000..f441b74 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_free.html @@ -0,0 +1 @@ +EVP_CIPHER_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_get_cleanup.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_get_cleanup.html new file mode 120000 index 0000000..f441b74 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_get_cleanup.html @@ -0,0 +1 @@ +EVP_CIPHER_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_get_ctrl.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_get_ctrl.html new file mode 120000 index 0000000..f441b74 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_get_ctrl.html @@ -0,0 +1 @@ +EVP_CIPHER_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_get_do_cipher.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_get_do_cipher.html new file mode 120000 index 0000000..f441b74 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_get_do_cipher.html @@ -0,0 +1 @@ +EVP_CIPHER_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_get_get_asn1_params.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_get_get_asn1_params.html new file mode 120000 index 0000000..f441b74 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_get_get_asn1_params.html @@ -0,0 +1 @@ +EVP_CIPHER_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_get_init.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_get_init.html new file mode 120000 index 0000000..f441b74 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_get_init.html @@ -0,0 +1 @@ +EVP_CIPHER_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_get_set_asn1_params.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_get_set_asn1_params.html new file mode 120000 index 0000000..f441b74 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_get_set_asn1_params.html @@ -0,0 +1 @@ +EVP_CIPHER_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_new.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_new.html index 201ec1f..f58014c 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_new.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_new.html @@ -41,8 +41,7 @@ EVP_CIPHER_meth_set_set_asn1_params, EVP_CIPHER_meth_set_get_asn1_params, EVP_CIPHER_meth_set_ctrl, EVP_CIPHER_meth_get_init, EVP_CIPHER_meth_get_do_cipher, EVP_CIPHER_meth_get_cleanup, EVP_CIPHER_meth_get_set_asn1_params, EVP_CIPHER_meth_get_get_asn1_params, -EVP_CIPHER_meth_get_ctrl -- Routines to build up EVP_CIPHER methods

    +EVP_CIPHER_meth_get_ctrl - Routines to build up EVP_CIPHER methods


    @@ -112,10 +111,10 @@ With the exception of cipher modes, of which only one may be present, several flags can be or'd together. The available flags are:

    -
    EVP_CIPH_STREAM_CIPHER, EVP_CIPH_ECB_MODE EVP_CIPH_CBC_MODE, +
    EVP_CIPH_STREAM_CIPHER, EVP_CIPH_ECB_MODE EVP_CIPH_CBC_MODE, EVP_CIPH_CFB_MODE, EVP_CIPH_OFB_MODE, EVP_CIPH_CTR_MODE, EVP_CIPH_GCM_MODE, EVP_CIPH_CCM_MODE, EVP_CIPH_XTS_MODE, EVP_CIPH_WRAP_MODE, -EVP_CIPH_OCB_MODE, EVP_CIPH_SIV_MODE
    +EVP_CIPH_OCB_MODE

    The cipher mode.

    @@ -260,20 +259,18 @@ respective cipher function.


    SEE ALSO

    -

    EVP_EncryptInit(3)

    +

    the EVP_EncryptInit manpage


    HISTORY

    -

    The functions described here were added in OpenSSL 1.1.0. -The EVP_CIPHER structure created with these functions became reference -counted in OpenSSL 3.0.

    +

    The functions described here were added in OpenSSL 1.1.0.


    COPYRIGHT

    Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_set_cleanup.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_set_cleanup.html new file mode 120000 index 0000000..f441b74 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_set_cleanup.html @@ -0,0 +1 @@ +EVP_CIPHER_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_set_ctrl.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_set_ctrl.html new file mode 120000 index 0000000..f441b74 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_set_ctrl.html @@ -0,0 +1 @@ +EVP_CIPHER_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_set_do_cipher.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_set_do_cipher.html new file mode 120000 index 0000000..f441b74 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_set_do_cipher.html @@ -0,0 +1 @@ +EVP_CIPHER_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_set_flags.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_set_flags.html new file mode 120000 index 0000000..f441b74 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_set_flags.html @@ -0,0 +1 @@ +EVP_CIPHER_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_set_get_asn1_params.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_set_get_asn1_params.html new file mode 120000 index 0000000..f441b74 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_set_get_asn1_params.html @@ -0,0 +1 @@ +EVP_CIPHER_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_set_impl_ctx_size.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_set_impl_ctx_size.html new file mode 120000 index 0000000..f441b74 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_set_impl_ctx_size.html @@ -0,0 +1 @@ +EVP_CIPHER_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_set_init.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_set_init.html new file mode 120000 index 0000000..f441b74 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_set_init.html @@ -0,0 +1 @@ +EVP_CIPHER_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_set_iv_length.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_set_iv_length.html new file mode 120000 index 0000000..f441b74 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_set_iv_length.html @@ -0,0 +1 @@ +EVP_CIPHER_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_set_set_asn1_params.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_set_set_asn1_params.html new file mode 120000 index 0000000..f441b74 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_meth_set_set_asn1_params.html @@ -0,0 +1 @@ +EVP_CIPHER_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_mode.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_mode.html new file mode 120000 index 0000000..05f553e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_mode.html @@ -0,0 +1 @@ +EVP_EncryptInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_nid.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_nid.html new file mode 120000 index 0000000..05f553e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_nid.html @@ -0,0 +1 @@ +EVP_EncryptInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_param_to_asn1.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_param_to_asn1.html new file mode 120000 index 0000000..05f553e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_param_to_asn1.html @@ -0,0 +1 @@ +EVP_EncryptInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_type.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_type.html new file mode 120000 index 0000000..05f553e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CIPHER_type.html @@ -0,0 +1 @@ +EVP_EncryptInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CipherFinal.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CipherFinal.html new file mode 120000 index 0000000..05f553e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CipherFinal.html @@ -0,0 +1 @@ +EVP_EncryptInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CipherFinal_ex.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CipherFinal_ex.html new file mode 120000 index 0000000..05f553e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CipherFinal_ex.html @@ -0,0 +1 @@ +EVP_EncryptInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CipherInit.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CipherInit.html new file mode 120000 index 0000000..05f553e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CipherInit.html @@ -0,0 +1 @@ +EVP_EncryptInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CipherInit_ex.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CipherInit_ex.html new file mode 120000 index 0000000..05f553e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CipherInit_ex.html @@ -0,0 +1 @@ +EVP_EncryptInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_CipherUpdate.html b/linux_amd64/share/doc/openssl/html/man3/EVP_CipherUpdate.html new file mode 120000 index 0000000..05f553e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_CipherUpdate.html @@ -0,0 +1 @@ +EVP_EncryptInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_DecodeBlock.html b/linux_amd64/share/doc/openssl/html/man3/EVP_DecodeBlock.html new file mode 120000 index 0000000..5c4e4f1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_DecodeBlock.html @@ -0,0 +1 @@ +EVP_EncodeInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_DecodeFinal.html b/linux_amd64/share/doc/openssl/html/man3/EVP_DecodeFinal.html new file mode 120000 index 0000000..5c4e4f1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_DecodeFinal.html @@ -0,0 +1 @@ +EVP_EncodeInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_DecodeInit.html b/linux_amd64/share/doc/openssl/html/man3/EVP_DecodeInit.html new file mode 120000 index 0000000..5c4e4f1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_DecodeInit.html @@ -0,0 +1 @@ +EVP_EncodeInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_DecodeUpdate.html b/linux_amd64/share/doc/openssl/html/man3/EVP_DecodeUpdate.html new file mode 120000 index 0000000..5c4e4f1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_DecodeUpdate.html @@ -0,0 +1 @@ +EVP_EncodeInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_DecryptFinal.html b/linux_amd64/share/doc/openssl/html/man3/EVP_DecryptFinal.html new file mode 120000 index 0000000..05f553e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_DecryptFinal.html @@ -0,0 +1 @@ +EVP_EncryptInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_DecryptFinal_ex.html b/linux_amd64/share/doc/openssl/html/man3/EVP_DecryptFinal_ex.html new file mode 120000 index 0000000..05f553e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_DecryptFinal_ex.html @@ -0,0 +1 @@ +EVP_EncryptInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_DecryptInit.html b/linux_amd64/share/doc/openssl/html/man3/EVP_DecryptInit.html new file mode 120000 index 0000000..05f553e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_DecryptInit.html @@ -0,0 +1 @@ +EVP_EncryptInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_DecryptInit_ex.html b/linux_amd64/share/doc/openssl/html/man3/EVP_DecryptInit_ex.html new file mode 120000 index 0000000..05f553e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_DecryptInit_ex.html @@ -0,0 +1 @@ +EVP_EncryptInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_DecryptUpdate.html b/linux_amd64/share/doc/openssl/html/man3/EVP_DecryptUpdate.html new file mode 120000 index 0000000..05f553e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_DecryptUpdate.html @@ -0,0 +1 @@ +EVP_EncryptInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_Digest.html b/linux_amd64/share/doc/openssl/html/man3/EVP_Digest.html new file mode 120000 index 0000000..41e2c97 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_Digest.html @@ -0,0 +1 @@ +EVP_DigestInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_DigestFinal.html b/linux_amd64/share/doc/openssl/html/man3/EVP_DigestFinal.html new file mode 120000 index 0000000..41e2c97 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_DigestFinal.html @@ -0,0 +1 @@ +EVP_DigestInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_DigestFinalXOF.html b/linux_amd64/share/doc/openssl/html/man3/EVP_DigestFinalXOF.html new file mode 120000 index 0000000..41e2c97 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_DigestFinalXOF.html @@ -0,0 +1 @@ +EVP_DigestInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_DigestFinal_ex.html b/linux_amd64/share/doc/openssl/html/man3/EVP_DigestFinal_ex.html new file mode 120000 index 0000000..41e2c97 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_DigestFinal_ex.html @@ -0,0 +1 @@ +EVP_DigestInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_DigestInit.html b/linux_amd64/share/doc/openssl/html/man3/EVP_DigestInit.html index 374d0ed..d0826f0 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_DigestInit.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_DigestInit.html @@ -19,7 +19,6 @@
  143. NAME
  144. SYNOPSIS
  145. DESCRIPTION
  146. -
  147. PARAMETERS
  148. CONTROLS
  149. FLAGS
  150. RETURN VALUES
  151. @@ -38,26 +37,17 @@


    NAME

    -

    EVP_MD_fetch, EVP_MD_up_ref, EVP_MD_free, -EVP_MD_get_params, EVP_MD_gettable_params, -EVP_MD_CTX_new, EVP_MD_CTX_reset, EVP_MD_CTX_free, EVP_MD_CTX_copy, -EVP_MD_CTX_copy_ex, EVP_MD_CTX_ctrl, -EVP_MD_CTX_set_params, EVP_MD_CTX_get_params, -EVP_MD_settable_ctx_params, EVP_MD_gettable_ctx_params, -EVP_MD_CTX_settable_params, EVP_MD_CTX_gettable_params, -EVP_MD_CTX_set_flags, EVP_MD_CTX_clear_flags, EVP_MD_CTX_test_flags, +

    EVP_MD_CTX_new, EVP_MD_CTX_reset, EVP_MD_CTX_free, EVP_MD_CTX_copy, +EVP_MD_CTX_copy_ex, EVP_MD_CTX_ctrl, EVP_MD_CTX_set_flags, +EVP_MD_CTX_clear_flags, EVP_MD_CTX_test_flags, EVP_Digest, EVP_DigestInit_ex, EVP_DigestInit, EVP_DigestUpdate, EVP_DigestFinal_ex, EVP_DigestFinalXOF, EVP_DigestFinal, -EVP_MD_is_a, EVP_MD_name, EVP_MD_number, EVP_MD_names_do_all, EVP_MD_provider, EVP_MD_type, EVP_MD_pkey_type, EVP_MD_size, EVP_MD_block_size, EVP_MD_flags, -EVP_MD_CTX_name, EVP_MD_CTX_md, EVP_MD_CTX_type, EVP_MD_CTX_size, EVP_MD_CTX_block_size, EVP_MD_CTX_md_data, EVP_MD_CTX_update_fn, EVP_MD_CTX_set_update_fn, EVP_md_null, EVP_get_digestbyname, EVP_get_digestbynid, EVP_get_digestbyobj, -EVP_MD_CTX_pkey_ctx, EVP_MD_CTX_set_pkey_ctx, -EVP_MD_do_all_provided -- EVP digest routines

    +EVP_MD_CTX_pkey_ctx, EVP_MD_CTX_set_pkey_ctx - EVP digest routines


    @@ -65,22 +55,10 @@ EVP_MD_do_all_provided
      #include <openssl/evp.h>
    - EVP_MD *EVP_MD_fetch(OPENSSL_CTX *ctx, const char *algorithm,
    -                      const char *properties);
    - int EVP_MD_up_ref(EVP_MD *md);
    - void EVP_MD_free(EVP_MD *md);
    - int EVP_MD_get_params(const EVP_MD *digest, OSSL_PARAM params[]);
    - const OSSL_PARAM *EVP_MD_gettable_params(const EVP_MD *digest);
      EVP_MD_CTX *EVP_MD_CTX_new(void);
      int EVP_MD_CTX_reset(EVP_MD_CTX *ctx);
      void EVP_MD_CTX_free(EVP_MD_CTX *ctx);
      void EVP_MD_CTX_ctrl(EVP_MD_CTX *ctx, int cmd, int p1, void* p2);
    - int EVP_MD_CTX_get_params(EVP_MD_CTX *ctx, OSSL_PARAM params[]);
    - int EVP_MD_CTX_set_params(EVP_MD_CTX *ctx, const OSSL_PARAM params[]);
    - const OSSL_PARAM *EVP_MD_settable_ctx_params(const EVP_MD *md);
    - const OSSL_PARAM *EVP_MD_gettable_ctx_params(const EVP_MD *md);
    - const OSSL_PARAM *EVP_MD_CTX_settable_params(EVP_MD_CTX *ctx);
    - const OSSL_PARAM *EVP_MD_CTX_gettable_params(EVP_MD_CTX *ctx);
      void EVP_MD_CTX_set_flags(EVP_MD_CTX *ctx, int flags);
      void EVP_MD_CTX_clear_flags(EVP_MD_CTX *ctx, int flags);
      int EVP_MD_CTX_test_flags(const EVP_MD_CTX *ctx, int flags);
    @@ -99,13 +77,6 @@ EVP_MD_do_all_provided
      int EVP_MD_CTX_copy(EVP_MD_CTX *out, EVP_MD_CTX *in);
    - const char *EVP_MD_name(const EVP_MD *md);
    - int EVP_MD_number(const EVP_MD *md);
    - int EVP_MD_is_a(const EVP_MD *md, const char *name);
    - void EVP_MD_names_do_all(const EVP_MD *md,
    -                          void (*fn)(const char *name, void *data),
    -                          void *data);
    - const OSSL_PROVIDER *EVP_MD_provider(const EVP_MD *md);
      int EVP_MD_type(const EVP_MD *md);
      int EVP_MD_pkey_type(const EVP_MD *md);
      int EVP_MD_size(const EVP_MD *md);
    @@ -113,7 +84,6 @@ EVP_MD_do_all_provided
      unsigned long EVP_MD_flags(const EVP_MD *md);
      const EVP_MD *EVP_MD_CTX_md(const EVP_MD_CTX *ctx);
    - const char *EVP_MD_CTX_name(const EVP_MD_CTX *ctx);
      int EVP_MD_CTX_size(const EVP_MD_CTX *ctx);
      int EVP_MD_CTX_block_size(const EVP_MD_CTX *ctx);
      int EVP_MD_CTX_type(const EVP_MD_CTX *ctx);
    @@ -132,38 +102,13 @@ EVP_MD_do_all_provided
     
      EVP_PKEY_CTX *EVP_MD_CTX_pkey_ctx(const EVP_MD_CTX *ctx);
      void EVP_MD_CTX_set_pkey_ctx(EVP_MD_CTX *ctx, EVP_PKEY_CTX *pctx);
    -
    - void EVP_MD_do_all_provided(OPENSSL_CTX *libctx,
    -                             void (*fn)(EVP_MD *mac, void *arg),
    -                             void *arg);


    DESCRIPTION

    The EVP digest routines are a high level interface to message digests, -and should be used instead of the digest-specific functions.

    -

    The EVP_MD type is a structure for digest method implementation.

    +and should be used instead of the cipher-specific functions.

    -
    EVP_MD_fetch()
    - -
    -

    Fetches the digest implementation for the given algorithm from any -provider offering it, within the criteria given by the properties. -See provider(7)/Fetching algorithms for further information.

    -

    The returned value must eventually be freed with EVP_MD_free().

    -

    Fetched EVP_MD structures are reference counted.

    -
    -
    EVP_MD_up_ref()
    - -
    -

    Increments the reference count for an EVP_MD structure.

    -
    -
    EVP_MD_free()
    - -
    -

    Decrements the reference count for the fetched EVP_MD structure. -If the reference count drops to 0 then the structure is freed.

    -
    EVP_MD_CTX_new()
    @@ -183,47 +128,12 @@ existing context.

    EVP_MD_CTX_ctrl()
    -

    This is a legacy method. EVP_MD_CTX_set_params() and EVP_MD_CTX_get_params() -is the mechanism that should be used to set and get parameters that are used by -providers. -Performs digest-specific control actions on context ctx. The control command +

    Performs digest-specific control actions on context ctx. The control command is indicated in cmd and any additional arguments in p1 and p2. EVP_MD_CTX_ctrl() must be called after EVP_DigestInit_ex(). Other restrictions may apply depending on the control type and digest implementation. See CONTROLS below for more information.

    -
    EVP_MD_get_params()
    - -
    -

    Retrieves the requested list of params from a MD md. -See PARAMETERS below for more information.

    -
    -
    EVP_MD_CTX_get_params()
    - -
    -

    Retrieves the requested list of params from a MD context ctx. -See PARAMETERS below for more information.

    -
    -
    EVP_MD_CTX_set_params()
    - -
    -

    Sets the list of params into a MD context ctx. -See PARAMETERS below for more information.

    -
    -
    EVP_MD_gettable_params(), EVP_MD_gettable_ctx_params(), -EVP_MD_settable_ctx_params(), EVP_MD_CTX_gettable_params(), -EVP_MD_CTX_settable_params()
    - -
    -

    Get a OSSL_PARAM array that describes the retrievable and settable -parameters. EVP_MD_gettable_params() returns parameters that can be used with -EVP_MD_get_params(). EVP_MD_gettable_ctx_params() and -EVP_MD_CTX_gettable_params() return parameters that can be used with -EVP_MD_CTX_get_params(). EVP_MD_settable_ctx_params() and -EVP_MD_CTX_settable_params() return parameters that can be used with -EVP_MD_CTX_set_params(). -See OSSL_PARAM(3) for the use of OSSL_PARAM as parameter descriptor.

    -
    EVP_MD_CTX_set_flags(), EVP_MD_CTX_clear_flags(), EVP_MD_CTX_test_flags()
    @@ -241,11 +151,9 @@ If impl is NULL the default implementation of digest ty
    EVP_DigestInit_ex()
    -

    Sets up digest context ctx to use a digest type. -type is typically supplied by a function such as EVP_sha1(), or a -value explicitly fetched with EVP_MD_fetch().

    -

    If impl is non-NULL, its implementation of the digest type is used if -there is one, and if not, the default implementation is used.

    +

    Sets up digest context ctx to use a digest type from ENGINE impl. +type will typically be supplied by a function such as EVP_sha1(). If +impl is NULL then the default implementation of digest type is used.

    EVP_DigestUpdate()
    @@ -297,42 +205,6 @@ automatically cleaned up.

    Similar to EVP_MD_CTX_copy_ex() except the destination out does not have to be initialized.

    -
    EVP_MD_is_a()
    - -
    -

    Returns 1 if md is an implementation of an algorithm that's -identifiable with name, otherwise 0.

    -

    If md is a legacy digest (it's the return value from the likes of -EVP_sha256() rather than the result of an EVP_MD_fetch()), only cipher -names registered with the default library context (see -OPENSSL_CTX(3)) will be considered.

    -
    -
    EVP_MD_number()
    - -
    -

    Returns the internal dynamic number assigned to the md. This is -only useful with fetched EVP_MDs.

    -
    -
    EVP_MD_name(), -EVP_MD_CTX_name()
    - -
    -

    Return the name of the given message digest. For fetched message -digests with multiple names, only one of them is returned; it's -recommended to use EVP_MD_names_do_all() instead.

    -
    -
    EVP_MD_names_do_all()
    - -
    -

    Traverses all names for the md, and calls fn with each name and -data. This is only useful with fetched EVP_MDs.

    -
    -
    EVP_MD_provider()
    - -
    -

    Returns an OSSL_PROVIDER pointer to the provider that implements the given -EVP_MD.

    -
    EVP_MD_size(), EVP_MD_CTX_size()
    @@ -365,12 +237,7 @@ The space is allocated by OpenSSL and has the size originally set with
    EVP_MD_CTX_md()
    -

    Returns the EVP_MD structure corresponding to the passed EVP_MD_CTX. This -will be the same EVP_MD object originally passed to EVP_DigestInit_ex() (or -other similar function) when the EVP_MD_CTX was first initialised. Note that -where explicit fetch is in use (see EVP_MD_fetch(3)) the value returned from -this function will not have its reference count incremented and therefore it -should not be used after the EVP_MD_CTX is freed.

    +

    Returns the EVP_MD structure corresponding to the passed EVP_MD_CTX.

    EVP_MD_CTX_set_update_fn()
    @@ -428,45 +295,6 @@ by the caller. A NULL pctx pointer is also allowed to clear the assigned to ctx. In such case, freeing the cleared EVP_PKEY_CTX or not depends on how the EVP_PKEY_CTX is created.

    -
    EVP_MD_do_all_provided()
    - -
    -

    Traverses all messages digests implemented by all activated providers -in the given library context libctx, and for each of the implementations, -calls the given function fn with the implementation method and the given -arg as argument.

    -
    -
    -

    -

    -
    -

    PARAMETERS

    -

    See OSSL_PARAM(3) for information about passing parameters.

    -

    EVP_MD_CTX_set_params() can be used with the following OSSL_PARAM keys:

    -
    -
    "xoflen" (OSSL_PARAM_DIGEST_KEY_XOFLEN) <unsigned integer>
    - -
    -

    Sets the digest length for extendable output functions. -It is used by the SHAKE algorithm and should not exceed what can be given -using a size_t.

    -
    -
    "pad_type" (OSSL_PARAM_DIGEST_KEY_PAD_TYPE) <integer>
    - -
    -

    Sets the pad type. -It is used by the MDC2 algorithm.

    -
    -
    -

    EVP_MD_CTX_get_params() can be used with the following OSSL_PARAM keys:

    -
    -
    "micalg" (OSSL_PARAM_DIGEST_KEY_MICALG) <UTF8 string>.
    - -
    -

    Gets the digest Message Integrity Check algorithm string. This is used when -creating S/MIME multipart/signed messages, as specified in RFC 3851. -It may be used by external engines or providers.

    -

    @@ -522,16 +350,6 @@ disabled with this flag.


    RETURN VALUES

    -
    EVP_MD_fetch()
    - -
    -

    Returns a pointer to a EVP_MD for success or NULL for failure.

    -
    -
    EVP_MD_up_ref()
    - -
    -

    Returns 1 for success or 0 for failure.

    -
    EVP_DigestInit_ex(), EVP_DigestUpdate(), EVP_DigestFinal_ex()
    @@ -545,19 +363,6 @@ success and 0 for failure.

    Returns 1 if successful or 0 for failure.

    -
    EVP_MD_CTX_set_params(), -EVP_MD_CTX_get_params()
    - -
    -

    Returns 1 if successful or 0 for failure.

    -
    -
    EVP_MD_CTX_settable_params(), -EVP_MD_CTX_gettable_params()
    - -
    -

    Return an array of constant OSSL_PARAMs, or NULL if there is none -to get.

    -
    EVP_MD_CTX_copy_ex()
    @@ -616,9 +421,9 @@ instead of initializing and cleaning it up on each call and allow non default implementations of digests to be specified.

    If digest contexts are not cleaned up after use, memory leaks will occur.

    -

    EVP_MD_CTX_name(), EVP_MD_CTX_size(), EVP_MD_CTX_block_size(), -EVP_MD_CTX_type(), EVP_get_digestbynid() and EVP_get_digestbyobj() are defined -as macros.

    +

    EVP_MD_CTX_size(), EVP_MD_CTX_block_size(), EVP_MD_CTX_type(), +EVP_get_digestbynid() and EVP_get_digestbyobj() are defined as +macros.

    EVP_MD_CTX_ctrl() sends commands to message digests for additional configuration or control.

    @@ -671,10 +476,8 @@ digest name passed on the command line.


    SEE ALSO

    EVP_MD_meth_new(3), -openssl-dgst(1), -evp(7), -OSSL_PROVIDER(3), -OSSL_PARAM(3)

    +dgst(1), +evp(7)

    The full list of digest algorithms are provided below.

    EVP_blake2b512(3), EVP_md2(3), @@ -686,8 +489,7 @@ digest name passed on the command line.

    EVP_sha224(3), EVP_sha3_224(3), EVP_sm3(3), -EVP_whirlpool(3) -provider(7)/Fetching algorithms

    +EVP_whirlpool(3)


    @@ -698,14 +500,12 @@ digest name passed on the command line.

    later, so now EVP_sha1() can be used with RSA and DSA.

    The EVP_dss1() function was removed in OpenSSL 1.1.0.

    The EVP_MD_CTX_set_pkey_ctx() function was added in 1.1.1.

    -

    The EVP_MD_fetch(), EVP_MD_free(), EVP_MD_up_ref(), EVP_MD_CTX_set_params() -and EVP_MD_CTX_get_params() functions were added in 3.0.


    COPYRIGHT

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_DigestInit_ex.html b/linux_amd64/share/doc/openssl/html/man3/EVP_DigestInit_ex.html new file mode 120000 index 0000000..41e2c97 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_DigestInit_ex.html @@ -0,0 +1 @@ +EVP_DigestInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_DigestSign.html b/linux_amd64/share/doc/openssl/html/man3/EVP_DigestSign.html new file mode 120000 index 0000000..d8f078d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_DigestSign.html @@ -0,0 +1 @@ +EVP_DigestSignInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_DigestSignFinal.html b/linux_amd64/share/doc/openssl/html/man3/EVP_DigestSignFinal.html new file mode 120000 index 0000000..d8f078d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_DigestSignFinal.html @@ -0,0 +1 @@ +EVP_DigestSignInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_DigestSignInit.html b/linux_amd64/share/doc/openssl/html/man3/EVP_DigestSignInit.html index 7ff6f4d..5c06984 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_DigestSignInit.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_DigestSignInit.html @@ -34,8 +34,8 @@


    NAME

    -

    EVP_DigestSignInit_ex, EVP_DigestSignInit, EVP_DigestSignUpdate, -EVP_DigestSignFinal, EVP_DigestSign - EVP signing functions

    +

    EVP_DigestSignInit, EVP_DigestSignUpdate, EVP_DigestSignFinal, +EVP_DigestSign - EVP signing functions


    @@ -43,9 +43,6 @@ EVP_DigestSignFinal, EVP_DigestSign - EVP signing functions

      #include <openssl/evp.h>
    - int EVP_DigestSignInit_ex(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx,
    -                           const char *mdname, const char *props,
    -                           EVP_PKEY *pkey);
      int EVP_DigestSignInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx,
                             const EVP_MD *type, ENGINE *e, EVP_PKEY *pkey);
      int EVP_DigestSignUpdate(EVP_MD_CTX *ctx, const void *d, size_t cnt);
    @@ -58,36 +55,20 @@ EVP_DigestSignFinal, EVP_DigestSign - EVP signing functions


    DESCRIPTION

    -

    The EVP signature routines are a high level interface to digital signatures. -Input data is digested first before the signing takes place.

    -

    EVP_DigestSignInit_ex() sets up signing context ctx to use a digest with the -name mdname and private key pkey. The name of the digest to be used is -passed to the provider of the signature algorithm in use. How that provider -interprets the digest name is provider specific. The provider may implement -that digest directly itself or it may (optionally) choose to fetch it (which -could result in a digest from a different provider being selected). If the -provider supports fetching the digest then it may use the props argument for -the properties to be used during the fetch.

    -

    The pkey algorithm is used to fetch a EVP_SIGNATURE method implicitly, to -be used for the actual signing. See provider(7)/Implicit fetch for -more information about implict fetches.

    -

    The OpenSSL default and legacy providers support fetching digests and can fetch -those digests from any available provider. The OpenSSL fips provider also -supports fetching digests but will only fetch digests that are themselves -implemented inside the fips provider.

    -

    ctx must be created with EVP_MD_CTX_new() before calling this function. If -pctx is not NULL, the EVP_PKEY_CTX of the signing operation will be written -to *pctx: this can be used to set alternative signing options. Note that any -existing value in *pctx is overwritten. The EVP_PKEY_CTX value returned must -not be freed directly by the application if ctx is not assigned an -EVP_PKEY_CTX value before being passed to EVP_DigestSignInit_ex() (which means -the EVP_PKEY_CTX is created inside EVP_DigestSignInit_ex() and it will be freed -automatically when the EVP_MD_CTX is freed).

    -

    The digest mdname may be NULL if the signing algorithm supports it. The -props argument can always be NULL.

    -

    No EVP_PKEY_CTX will be created by EVP_DigestSignInit_ex() if the passed -ctx has already been assigned one via EVP_MD_CTX_set_pkey_ctx(3). See also -SM2(7).

    +

    The EVP signature routines are a high level interface to digital signatures.

    +

    EVP_DigestSignInit() sets up signing context ctx to use digest type from +ENGINE e and private key pkey. ctx must be created with +EVP_MD_CTX_new() before calling this function. If pctx is not NULL, the +EVP_PKEY_CTX of the signing operation will be written to *pctx: this can +be used to set alternative signing options. Note that any existing value in +*pctx is overwritten. The EVP_PKEY_CTX value returned must not be freed +directly by the application if ctx is not assigned an EVP_PKEY_CTX value before +being passed to EVP_DigestSignInit() (which means the EVP_PKEY_CTX is created +inside EVP_DigestSignInit() and it will be freed automatically when the +EVP_MD_CTX is freed).

    +

    The digest type may be NULL if the signing algorithm supports it.

    +

    No EVP_PKEY_CTX will be created by EVP_DigestSignInit() if the passed ctx +has already been assigned one via EVP_MD_CTX_set_pkey_ctx(3). See also SM2(7).

    Only EVP_PKEY types that support signing can be used with these functions. This includes MAC algorithms where the MAC generation is considered as a form of "signing". Built-in EVP_PKEY types supported by these functions are CMAC, @@ -107,7 +88,7 @@ Poly1305, DSA, ECDSA, HMAC, RSA, SipHash, Ed25519 and Ed448.

    RSA with no padding
    -

    Supports no digests (the digest type must be NULL)

    +

    Supports no digests (the digest type must be NULL)

    RSA with X931 padding
    @@ -123,7 +104,7 @@ SHA3-224, SHA3-256, SHA3-384, SHA3-512

    Ed25519 and Ed448
    -

    Support no digests (the digest type must be NULL)

    +

    Support no digests (the digest type must be NULL)

    HMAC
    @@ -137,21 +118,18 @@ SHA3-224, SHA3-256, SHA3-384, SHA3-512

    If RSA-PSS is used and restrictions apply then the digest must match.

    -

    EVP_DigestSignInit() works in the same way as EVP_DigestSignInit_ex() except -that the mdname parameter will be inferred from the supplied digest type, -and props will be NULL. Where supplied the ENGINE e will be used for the -signing and digest algorithm implementations. e may be NULL.

    -

    EVP_DigestSignUpdate() hashes cnt bytes of data at d into the -signature context ctx. This function can be called several times on the -same ctx to include additional data.

    -

    EVP_DigestSignFinal() signs the data in ctx and places the signature in sig. -If sig is NULL then the maximum size of the output buffer is written to -the siglen parameter. If sig is not NULL then before the call the -siglen parameter should contain the length of the sig buffer. If the -call is successful the signature is written to sig and the amount of data -written to siglen.

    -

    EVP_DigestSign() signs tbslen bytes of data at tbs and places the -signature in sig and its length in siglen in a similar way to +

    EVP_DigestSignUpdate() hashes cnt bytes of data at d into the +signature context ctx. This function can be called several times on the +same ctx to include additional data. This function is currently implemented +using a macro.

    +

    EVP_DigestSignFinal() signs the data in ctx and places the signature in sig. +If sig is NULL then the maximum size of the output buffer is written to +the siglen parameter. If sig is not NULL then before the call the +siglen parameter should contain the length of the sig buffer. If the +call is successful the signature is written to sig and the amount of data +written to siglen.

    +

    EVP_DigestSign() signs tbslen bytes of data at tbs and places the +signature in sig and its length in siglen in a similar way to EVP_DigestSignFinal().

    @@ -196,7 +174,7 @@ which indicates the maximum possible signature for any set of parameters.

    EVP_DigestInit(3), evp(7), HMAC(3), MD2(3), MD5(3), MDC2(3), RIPEMD160(3), -SHA1(3), openssl-dgst(1), +SHA1(3), dgst(1), RAND(7)

    @@ -204,14 +182,12 @@ which indicates the maximum possible signature for any set of parameters.

    HISTORY

    EVP_DigestSignInit(), EVP_DigestSignUpdate() and EVP_DigestSignFinal() were added in OpenSSL 1.0.0.

    -

    EVP_DigestSignInit_ex() was added in OpenSSL 3.0.

    -

    EVP_DigestSignUpdate() was converted from a macro to a function in OpenSSL 3.0.


    COPYRIGHT

    -

    Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2006-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_DigestSignUpdate.html b/linux_amd64/share/doc/openssl/html/man3/EVP_DigestSignUpdate.html new file mode 120000 index 0000000..d8f078d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_DigestSignUpdate.html @@ -0,0 +1 @@ +EVP_DigestSignInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_DigestUpdate.html b/linux_amd64/share/doc/openssl/html/man3/EVP_DigestUpdate.html new file mode 120000 index 0000000..41e2c97 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_DigestUpdate.html @@ -0,0 +1 @@ +EVP_DigestInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_DigestVerify.html b/linux_amd64/share/doc/openssl/html/man3/EVP_DigestVerify.html new file mode 120000 index 0000000..2d1cd13 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_DigestVerify.html @@ -0,0 +1 @@ +EVP_DigestVerifyInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_DigestVerifyFinal.html b/linux_amd64/share/doc/openssl/html/man3/EVP_DigestVerifyFinal.html new file mode 120000 index 0000000..2d1cd13 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_DigestVerifyFinal.html @@ -0,0 +1 @@ +EVP_DigestVerifyInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_DigestVerifyInit.html b/linux_amd64/share/doc/openssl/html/man3/EVP_DigestVerifyInit.html index 38ec71f..582a25a 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_DigestVerifyInit.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_DigestVerifyInit.html @@ -34,8 +34,8 @@


    NAME

    -

    EVP_DigestVerifyInit_ex, EVP_DigestVerifyInit, EVP_DigestVerifyUpdate, -EVP_DigestVerifyFinal, EVP_DigestVerify - EVP signature verification functions

    +

    EVP_DigestVerifyInit, EVP_DigestVerifyUpdate, EVP_DigestVerifyFinal, +EVP_DigestVerify - EVP signature verification functions


    @@ -43,9 +43,6 @@ EVP_DigestVerifyFinal, EVP_DigestVerify - EVP signature verification functions #include <openssl/evp.h>
    - int EVP_DigestVerifyInit_ex(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx,
    -                             const char *mdname, const char *props,
    -                             EVP_PKEY *pkey, EVP_SIGNATURE *signature);
      int EVP_DigestVerifyInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx,
                               const EVP_MD *type, ENGINE *e, EVP_PKEY *pkey);
      int EVP_DigestVerifyUpdate(EVP_MD_CTX *ctx, const void *d, size_t cnt);
    @@ -57,89 +54,23 @@ EVP_DigestVerifyFinal, EVP_DigestVerify - EVP signature verification functions
     

    DESCRIPTION

    -

    The EVP signature routines are a high level interface to digital signatures. -Input data is digested first before the signature verification takes place.

    -

    EVP_DigestVerifyInit_ex() sets up verification context ctx to use a digest -with the name mdname and public key pkey. The signature algorithm -signature will be used for the actual signature verification which must be -compatible with the public key. The name of the digest to be used is passed to -the provider of the signature algorithm in use. How that provider interprets the -digest name is provider specific. The provider may implement that digest -directly itself or it may (optionally) choose to fetch it (which could result in -a digest from a different provider being selected). If the provider supports -fetching the digest then it may use the props argument for the properties to -be used during the fetch.

    -

    The signature parameter may be NULL in which case a suitable signature -algorithm implementation will be implicitly fetched based on the type of key in -use. See provider(7) for further information about providers and fetching -algorithms.

    -

    The OpenSSL default and legacy providers support fetching digests and can fetch -those digests from any available provider. The OpenSSL fips provider also -supports fetching digests but will only fetch digests that are themselves -implemented inside the fips provider.

    -

    ctx must be created with EVP_MD_CTX_new() before calling this function. If -pctx is not NULL, the EVP_PKEY_CTX of the verification operation will be -written to *pctx: this can be used to set alternative verification options. -Note that any existing value in *pctx is overwritten. The EVP_PKEY_CTX value -returned must not be freed directly by the application if ctx is not assigned -an EVP_PKEY_CTX value before being passed to EVP_DigestVerifyInit_ex() (which -means the EVP_PKEY_CTX is created inside EVP_DigestVerifyInit_ex() and it will -be freed automatically when the EVP_MD_CTX is freed).

    -

    No EVP_PKEY_CTX will be created by EVP_DigestSignInit_ex() if the passed -ctx has already been assigned one via EVP_MD_CTX_set_pkey_ctx(3). See also -SM2(7).

    -

    Not all digests can be used for all key types. The following combinations apply.

    -
    -
    DSA
    - -
    -

    Supports SHA1, SHA224, SHA256, SHA384 and SHA512

    -
    -
    ECDSA
    - -
    -

    Supports SHA1, SHA224, SHA256, SHA384, SHA512 and SM3

    -
    -
    RSA with no padding
    - -
    -

    Supports no digests (the digest type must be NULL)

    -
    -
    RSA with X931 padding
    - -
    -

    Supports SHA1, SHA256, SHA384 and SHA512

    -
    -
    All other RSA padding types
    - -
    -

    Support SHA1, SHA224, SHA256, SHA384, SHA512, MD5, MD5_SHA1, MD2, MD4, MDC2, -SHA3-224, SHA3-256, SHA3-384, SHA3-512

    -
    -
    Ed25519 and Ed448
    - -
    -

    Support no digests (the digest type must be NULL)

    -
    -
    HMAC
    - -
    -

    Supports any digest

    -
    -
    CMAC, Poly1305 and SipHash
    - -
    -

    Will ignore any digest provided.

    -
    -
    -

    If RSA-PSS is used and restrictions apply then the digest must match.

    -

    EVP_DigestVerifyInit() works in the same way as EVP_DigestVerifyInit_ex() except -that the mdname parameter will be inferred from the supplied digest type, -and props will be NULL. Where supplied the ENGINE e will be used for the -signature verification and digest algorithm implementations. e may be NULL.

    +

    The EVP signature routines are a high level interface to digital signatures.

    +

    EVP_DigestVerifyInit() sets up verification context ctx to use digest +type from ENGINE e and public key pkey. ctx must be created +with EVP_MD_CTX_new() before calling this function. If pctx is not NULL, the +EVP_PKEY_CTX of the verification operation will be written to *pctx: this +can be used to set alternative verification options. Note that any existing +value in *pctx is overwritten. The EVP_PKEY_CTX value returned must not be freed +directly by the application if ctx is not assigned an EVP_PKEY_CTX value before +being passed to EVP_DigestVerifyInit() (which means the EVP_PKEY_CTX is created +inside EVP_DigestVerifyInit() and it will be freed automatically when the +EVP_MD_CTX is freed).

    +

    No EVP_PKEY_CTX will be created by EVP_DigestSignInit() if the passed ctx +has already been assigned one via EVP_MD_CTX_set_pkey_ctx(3). See also SM2(7).

    EVP_DigestVerifyUpdate() hashes cnt bytes of data at d into the verification context ctx. This function can be called several times on the -same ctx to include additional data.

    +same ctx to include additional data. This function is currently implemented +using a macro.

    EVP_DigestVerifyFinal() verifies the data in ctx against the signature in sig of length siglen.

    EVP_DigestVerify() verifies tbslen bytes at tbs against the signature @@ -187,9 +118,9 @@ will occur.

    SEE ALSO

    EVP_DigestSignInit(3), EVP_DigestInit(3), -evp(7), HMAC(3), MD2(3), +evp(7), HMAC(3), MD2(3), MD5(3), MDC2(3), RIPEMD160(3), -SHA1(3), openssl-dgst(1), +SHA1(3), dgst(1), RAND(7)

    @@ -197,15 +128,12 @@ will occur.

    HISTORY

    EVP_DigestVerifyInit(), EVP_DigestVerifyUpdate() and EVP_DigestVerifyFinal() were added in OpenSSL 1.0.0.

    -

    EVP_DigestVerifyInit_ex() was added in OpenSSL 3.0.

    -

    EVP_DigestVerifyUpdate() was converted from a macro to a function in OpenSSL -3.0.


    COPYRIGHT

    -

    Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2006-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_DigestVerifyUpdate.html b/linux_amd64/share/doc/openssl/html/man3/EVP_DigestVerifyUpdate.html new file mode 120000 index 0000000..2d1cd13 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_DigestVerifyUpdate.html @@ -0,0 +1 @@ +EVP_DigestVerifyInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_ENCODE_CTX_copy.html b/linux_amd64/share/doc/openssl/html/man3/EVP_ENCODE_CTX_copy.html new file mode 120000 index 0000000..5c4e4f1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_ENCODE_CTX_copy.html @@ -0,0 +1 @@ +EVP_EncodeInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_ENCODE_CTX_free.html b/linux_amd64/share/doc/openssl/html/man3/EVP_ENCODE_CTX_free.html new file mode 120000 index 0000000..5c4e4f1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_ENCODE_CTX_free.html @@ -0,0 +1 @@ +EVP_EncodeInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_ENCODE_CTX_new.html b/linux_amd64/share/doc/openssl/html/man3/EVP_ENCODE_CTX_new.html new file mode 120000 index 0000000..5c4e4f1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_ENCODE_CTX_new.html @@ -0,0 +1 @@ +EVP_EncodeInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_ENCODE_CTX_num.html b/linux_amd64/share/doc/openssl/html/man3/EVP_ENCODE_CTX_num.html new file mode 120000 index 0000000..5c4e4f1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_ENCODE_CTX_num.html @@ -0,0 +1 @@ +EVP_EncodeInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_EncodeBlock.html b/linux_amd64/share/doc/openssl/html/man3/EVP_EncodeBlock.html new file mode 120000 index 0000000..5c4e4f1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_EncodeBlock.html @@ -0,0 +1 @@ +EVP_EncodeInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_EncodeFinal.html b/linux_amd64/share/doc/openssl/html/man3/EVP_EncodeFinal.html new file mode 120000 index 0000000..5c4e4f1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_EncodeFinal.html @@ -0,0 +1 @@ +EVP_EncodeInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_EncodeInit.html b/linux_amd64/share/doc/openssl/html/man3/EVP_EncodeInit.html index 57733f8..80f1eba 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_EncodeInit.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_EncodeInit.html @@ -169,7 +169,7 @@ then no more non-padding base 64 characters are expected.


    COPYRIGHT

    Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_EncodeUpdate.html b/linux_amd64/share/doc/openssl/html/man3/EVP_EncodeUpdate.html new file mode 120000 index 0000000..5c4e4f1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_EncodeUpdate.html @@ -0,0 +1 @@ +EVP_EncodeInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_EncryptFinal.html b/linux_amd64/share/doc/openssl/html/man3/EVP_EncryptFinal.html new file mode 120000 index 0000000..05f553e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_EncryptFinal.html @@ -0,0 +1 @@ +EVP_EncryptInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_EncryptFinal_ex.html b/linux_amd64/share/doc/openssl/html/man3/EVP_EncryptFinal_ex.html new file mode 120000 index 0000000..05f553e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_EncryptFinal_ex.html @@ -0,0 +1 @@ +EVP_EncryptInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_EncryptInit.html b/linux_amd64/share/doc/openssl/html/man3/EVP_EncryptInit.html index 4035870..076a4ac 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_EncryptInit.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_EncryptInit.html @@ -21,12 +21,11 @@
  152. DESCRIPTION
  153. RETURN VALUES
  154. CIPHER LISTING
  155. -
  156. AEAD INTERFACE
  157. +
  158. AEAD Interface
  159. @@ -46,10 +45,7 @@


    NAME

    -

    EVP_CIPHER_fetch, -EVP_CIPHER_up_ref, -EVP_CIPHER_free, -EVP_CIPHER_CTX_new, +

    EVP_CIPHER_CTX_new, EVP_CIPHER_CTX_reset, EVP_CIPHER_CTX_free, EVP_EncryptInit_ex, @@ -69,18 +65,10 @@ EVP_DecryptInit, EVP_DecryptFinal, EVP_CipherInit, EVP_CipherFinal, -EVP_Cipher, EVP_get_cipherbyname, EVP_get_cipherbynid, EVP_get_cipherbyobj, -EVP_CIPHER_is_a, -EVP_CIPHER_name, -EVP_CIPHER_number, -EVP_CIPHER_names_do_all, -EVP_CIPHER_provider, EVP_CIPHER_nid, -EVP_CIPHER_get_params, -EVP_CIPHER_gettable_params, EVP_CIPHER_block_size, EVP_CIPHER_key_length, EVP_CIPHER_iv_length, @@ -88,16 +76,10 @@ EVP_CIPHER_flags, EVP_CIPHER_mode, EVP_CIPHER_type, EVP_CIPHER_CTX_cipher, -EVP_CIPHER_CTX_name, EVP_CIPHER_CTX_nid, -EVP_CIPHER_CTX_get_params, -EVP_CIPHER_gettable_ctx_params, -EVP_CIPHER_CTX_set_params, -EVP_CIPHER_settable_ctx_params, EVP_CIPHER_CTX_block_size, EVP_CIPHER_CTX_key_length, EVP_CIPHER_CTX_iv_length, -EVP_CIPHER_CTX_tag_length, EVP_CIPHER_CTX_get_app_data, EVP_CIPHER_CTX_set_app_data, EVP_CIPHER_CTX_type, @@ -106,8 +88,7 @@ EVP_CIPHER_CTX_mode, EVP_CIPHER_param_to_asn1, EVP_CIPHER_asn1_to_param, EVP_CIPHER_CTX_set_padding, -EVP_enc_null, -EVP_CIPHER_do_all_provided +EVP_enc_null - EVP cipher routines

    @@ -116,10 +97,6 @@ EVP_CIPHER_do_all_provided
      #include <openssl/evp.h>
    - EVP_CIPHER *EVP_CIPHER_fetch(OPENSSL_CTX *ctx, const char *algorithm,
    -                              const char *properties);
    - int EVP_CIPHER_up_ref(EVP_CIPHER *cipher);
    - void EVP_CIPHER_free(EVP_CIPHER *cipher);
      EVP_CIPHER_CTX *EVP_CIPHER_CTX_new(void);
      int EVP_CIPHER_CTX_reset(EVP_CIPHER_CTX *ctx);
      void EVP_CIPHER_CTX_free(EVP_CIPHER_CTX *ctx);
    @@ -153,9 +130,6 @@ EVP_CIPHER_do_all_provided int EVP_CipherInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *type, const unsigned char *key, const unsigned char *iv, int enc); int EVP_CipherFinal(EVP_CIPHER_CTX *ctx, unsigned char *outm, int *outl);
    -
    - int EVP_Cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
    -                const unsigned char *in, unsigned int inl);
      int EVP_CIPHER_CTX_set_padding(EVP_CIPHER_CTX *x, int padding);
      int EVP_CIPHER_CTX_set_key_length(EVP_CIPHER_CTX *x, int keylen);
    @@ -167,13 +141,6 @@ EVP_CIPHER_do_all_provided
      const EVP_CIPHER *EVP_get_cipherbyobj(const ASN1_OBJECT *a);
      int EVP_CIPHER_nid(const EVP_CIPHER *e);
    - int EVP_CIPHER_number(const EVP_CIPHER *e);
    - int EVP_CIPHER_is_a(const EVP_CIPHER *cipher, const char *name);
    - void EVP_CIPHER_names_do_all(const EVP_CIPHER *cipher,
    -                              void (*fn)(const char *name, void *data),
    -                              void *data);
    - const char *EVP_CIPHER_name(const EVP_CIPHER *cipher);
    - const OSSL_PROVIDER *EVP_CIPHER_provider(const EVP_CIPHER *cipher);
      int EVP_CIPHER_block_size(const EVP_CIPHER *e);
      int EVP_CIPHER_key_length(const EVP_CIPHER *e);
      int EVP_CIPHER_iv_length(const EVP_CIPHER *e);
    @@ -183,18 +150,9 @@ EVP_CIPHER_do_all_provided
     
      const EVP_CIPHER *EVP_CIPHER_CTX_cipher(const EVP_CIPHER_CTX *ctx);
      int EVP_CIPHER_CTX_nid(const EVP_CIPHER_CTX *ctx);
    - const char *EVP_CIPHER_CTX_name(const EVP_CIPHER_CTX *ctx);
    -
    - int EVP_CIPHER_get_params(EVP_CIPHER *cipher, OSSL_PARAM params[]);
    - int EVP_CIPHER_CTX_set_params(EVP_CIPHER_CTX *ctx, const OSSL_PARAM params[]);
    - int EVP_CIPHER_CTX_get_params(EVP_CIPHER_CTX *ctx, OSSL_PARAM params[]);
    - const OSSL_PARAM *EVP_CIPHER_gettable_params(const EVP_CIPHER *cipher);
    - const OSSL_PARAM *EVP_CIPHER_settable_ctx_params(const EVP_CIPHER *cipher);
    - const OSSL_PARAM *EVP_CIPHER_gettable_ctx_params(const EVP_CIPHER *cipher);
      int EVP_CIPHER_CTX_block_size(const EVP_CIPHER_CTX *ctx);
      int EVP_CIPHER_CTX_key_length(const EVP_CIPHER_CTX *ctx);
      int EVP_CIPHER_CTX_iv_length(const EVP_CIPHER_CTX *ctx);
    - int EVP_CIPHER_CTX_tag_length(const EVP_CIPHER_CTX *ctx);
      void *EVP_CIPHER_CTX_get_app_data(const EVP_CIPHER_CTX *ctx);
      void EVP_CIPHER_CTX_set_app_data(const EVP_CIPHER_CTX *ctx, void *data);
      int EVP_CIPHER_CTX_type(const EVP_CIPHER_CTX *ctx);
    @@ -202,27 +160,12 @@ EVP_CIPHER_do_all_provided
     
      int EVP_CIPHER_param_to_asn1(EVP_CIPHER_CTX *c, ASN1_TYPE *type);
      int EVP_CIPHER_asn1_to_param(EVP_CIPHER_CTX *c, ASN1_TYPE *type);
    -
    - void EVP_CIPHER_do_all_provided(OPENSSL_CTX *libctx,
    -                                 void (*fn)(EVP_CIPHER *cipher, void *arg),
    -                                 void *arg);


    DESCRIPTION

    The EVP cipher routines are a high level interface to certain symmetric ciphers.

    -

    The EVP_CIPHER type is a structure for cipher method implementation.

    -

    EVP_CIPHER_fetch() fetches the cipher implementation for the given -algorithm from any provider offering it, within the criteria given -by the properties. -See provider(7)/Fetching algorithms for further information.

    -

    The returned value must eventually be freed with EVP_CIPHER_free().

    -

    EVP_CIPHER_up_ref() increments the reference count for an EVP_CIPHER -structure.

    -

    EVP_CIPHER_free() decrements the reference count for the EVP_CIPHER -structure. -If the reference count drops to 0 then the structure is freed.

    EVP_CIPHER_CTX_new() creates a cipher context.

    EVP_CIPHER_CTX_free() clears all information from a cipher context and free up any allocated memory associate with it, including ctx @@ -230,19 +173,16 @@ itself. This function should be called after all operations using a cipher are complete so sensitive information does not remain in memory.

    EVP_EncryptInit_ex() sets up cipher context ctx for encryption -with cipher type. type is typically supplied by a function such -as EVP_aes_256_cbc(), or a value explicitly fetched with -EVP_CIPHER_fetch(). If impl is non-NULL, its implementation of the -cipher type is used if there is one, and if not, the default -implementation is used. key is the symmetric key to use +with cipher type from ENGINE impl. ctx must be created +before calling this function. type is normally supplied +by a function such as EVP_aes_256_cbc(). If impl is NULL then the +default implementation is used. key is the symmetric key to use and iv is the IV to use (if necessary), the actual number of bytes used for the key and IV depends on the cipher. It is possible to set all parameters to NULL except type in an initial call and supply the remaining parameters in subsequent calls, all of which have type set to NULL. This is done when the default cipher parameters are not -appropriate. -For EVP_CIPH_GCM_MODE the IV will be generated internally if it is not -specified.

    +appropriate.

    EVP_EncryptUpdate() encrypts inl bytes from the buffer in and writes the encrypted version to out. This function can be called multiple times to encrypt successive blocks of data. The amount @@ -289,14 +229,6 @@ identical to EVP_EncryptFinal_ex(), EVP_DecryptFinal_ex()EVP_CipherFinal_ex(). In previous releases they also cleaned up the ctx, but this is no longer done and EVP_CIPHER_CTX_clean() must be called to free any context resources.

    -

    EVP_Cipher() encrypts or decrypts a maximum inl amount of bytes from -in and leaves the result in out. -If the cipher doesn't have the flag EVP_CIPH_FLAG_CUSTOM_CIPHER set, -then inl must be a multiple of EVP_CIPHER_block_size(). If it isn't, -the result is undefined. If the cipher has that flag set, then inl -can be any size. -This function is historic and shouldn't be used in an application, please -consider using EVP_CipherUpdate() and EVP_CipherFinal_ex instead.

    EVP_get_cipherbyname(), EVP_get_cipherbynid() and EVP_get_cipherbyobj() return an EVP_CIPHER structure when passed a cipher name, a NID or an ASN1_OBJECT structure.

    @@ -312,18 +244,6 @@ standard block padding and the padding is checked and removed when decrypting. If the pad parameter is zero then no padding is performed, the total amount of data encrypted or decrypted must then be a multiple of the block size or an error will occur.

    -

    EVP_CIPHER_get_params() retrieves the requested list of algorithm -params from a cipher.

    -

    EVP_CIPHER_CTX_set_params() Sets the list of operation params into a CIPHER -context ctx.

    -

    EVP_CIPHER_CTX_get_params() retrieves the requested list of operation -params from CIPHER context ctx.

    -

    EVP_CIPHER_gettable_params(), EVP_CIPHER_gettable_ctx_params(), and -EVP_CIPHER_settable_ctx_params() get a constant OSSL_PARAM array -that describes the retrievable and settable parameters, i.e. parameters -that can be used with EVP_CIPHER_get_params(), EVP_CIPHER_CTX_get_params() -and EVP_CIPHER_CTX_set_params(), respectively. -See OSSL_PARAM(3) for the use of OSSL_PARAM as parameter descriptor.

    EVP_CIPHER_key_length() and EVP_CIPHER_CTX_key_length() return the key length of a cipher when passed an EVP_CIPHER or EVP_CIPHER_CTX structure. The constant EVP_MAX_KEY_LENGTH is the maximum key length @@ -337,9 +257,6 @@ length to any value other than the fixed value is an error.

    length of a cipher when passed an EVP_CIPHER or EVP_CIPHER_CTX. It will return zero if the cipher does not use an IV. The constant EVP_MAX_IV_LENGTH is the maximum IV length for all ciphers.

    -

    EVP_CIPHER_CTX_tag_length() returns the tag length of a AEAD cipher when passed -a EVP_CIPHER_CTX. It will return zero if the cipher does not support a tag. -It returns a default value if the tag length has not been set.

    EVP_CIPHER_block_size() and EVP_CIPHER_CTX_block_size() return the block size of a cipher when passed an EVP_CIPHER or EVP_CIPHER_CTX structure. The constant EVP_MAX_BLOCK_LENGTH is also the maximum block @@ -350,32 +267,13 @@ IDENTIFIER as such it ignores the cipher parameters and 40 bit RC2 and 128 bit RC2 have the same NID. If the cipher does not have an object identifier or does not have ASN1 support this function will return NID_undef.

    -

    EVP_CIPHER_is_a() returns 1 if cipher is an implementation of an -algorithm that's identifiable with name, otherwise 0. -If cipher is a legacy cipher (it's the return value from the likes -of EVP_aes128() rather than the result of an EVP_CIPHER_fetch()), only -cipher names registered with the default library context (see -OPENSSL_CTX(3)) will be considered.

    -

    EVP_CIPHER_number() returns the internal dynamic number assigned to -the cipher. This is only useful with fetched EVP_CIPHERs.

    -

    EVP_CIPHER_name() and EVP_CIPHER_CTX_name() return the name of the passed -cipher or context. For fetched ciphers with multiple names, only one -of them is returned; it's recommended to use EVP_CIPHER_names_do_all() -instead.

    -

    EVP_CIPHER_names_do_all() traverses all names for the cipher, and -calls fn with each name and data. This is only useful with -fetched EVP_CIPHERs.

    -

    EVP_CIPHER_provider() returns an OSSL_PROVIDER pointer to the provider -that implements the given EVP_CIPHER.

    EVP_CIPHER_CTX_cipher() returns the EVP_CIPHER structure when passed an EVP_CIPHER_CTX structure.

    EVP_CIPHER_mode() and EVP_CIPHER_CTX_mode() return the block cipher mode: EVP_CIPH_ECB_MODE, EVP_CIPH_CBC_MODE, EVP_CIPH_CFB_MODE, EVP_CIPH_OFB_MODE, EVP_CIPH_CTR_MODE, EVP_CIPH_GCM_MODE, EVP_CIPH_CCM_MODE, EVP_CIPH_XTS_MODE, -EVP_CIPH_WRAP_MODE, EVP_CIPH_OCB_MODE or EVP_CIPH_SIV_MODE. If the cipher is a -stream cipher then EVP_CIPH_STREAM_CIPHER is returned.

    -

    EVP_CIPHER_flags() returns any flags associated with the cipher. See -EVP_CIPHER_meth_set_flags() for a list of currently defined flags.

    +EVP_CIPH_WRAP_MODE or EVP_CIPH_OCB_MODE. If the cipher is a stream cipher then +EVP_CIPH_STREAM_CIPHER is returned.

    EVP_CIPHER_param_to_asn1() sets the AlgorithmIdentifier "parameter" based on the passed cipher. This will typically include any parameters and an IV. The cipher IV (if any) must be set when this call is made. This call @@ -398,17 +296,10 @@ and set.

    based on the cipher context. The EVP_CIPHER can provide its own random key generation routine to support keys of a specific form. Key must point to a buffer at least as big as the value returned by EVP_CIPHER_CTX_key_length().

    -

    EVP_CIPHER_do_all_provided() traverses all ciphers implemented by all activated -providers in the given library context libctx, and for each of the -implementations, calls the given function fn with the implementation method -and the given arg as argument.


    RETURN VALUES

    -

    EVP_CIPHER_fetch() returns a pointer to a EVP_CIPHER for success -and NULL for failure.

    -

    EVP_CIPHER_up_ref() returns 1 for success or 0 otherwise.

    EVP_CIPHER_CTX_new() returns a pointer to a newly created EVP_CIPHER_CTX for success and NULL for failure.

    EVP_EncryptInit_ex(), EVP_EncryptUpdate() and EVP_EncryptFinal_ex() @@ -417,10 +308,6 @@ return 1 for success and 0 for failure.

    EVP_DecryptFinal_ex() returns 0 if the decrypt failed or 1 for success.

    EVP_CipherInit_ex() and EVP_CipherUpdate() return 1 for success and 0 for failure. EVP_CipherFinal_ex() returns 0 for a decryption failure or 1 for success.

    -

    EVP_Cipher() returns the amount of encrypted / decrypted bytes, or -1 -on failure, if the flag EVP_CIPH_FLAG_CUSTOM_CIPHER is set for the -cipher. EVP_Cipher() returns 1 on success or 0 on failure, if the flag -EVP_CIPH_FLAG_CUSTOM_CIPHER is not set for the cipher.

    EVP_CIPHER_CTX_reset() returns 1 for success and 0 for failure.

    EVP_get_cipherbyname(), EVP_get_cipherbynid() and EVP_get_cipherbyobj() return an EVP_CIPHER structure or NULL on error.

    @@ -432,8 +319,6 @@ length.

    EVP_CIPHER_CTX_set_padding() always returns 1.

    EVP_CIPHER_iv_length() and EVP_CIPHER_CTX_iv_length() return the IV length or zero if the cipher does not use an IV.

    -

    EVP_CIPHER_CTX_tag_length() return the tag length or zero if the cipher does not -use a tag.

    EVP_CIPHER_type() and EVP_CIPHER_CTX_type() return the NID of the cipher's OBJECT IDENTIFIER or NID_undef if it has no defined OBJECT IDENTIFIER.

    EVP_CIPHER_CTX_cipher() returns an EVP_CIPHER structure.

    @@ -457,7 +342,7 @@ interface.


    -

    AEAD INTERFACE

    +

    AEAD Interface

    The EVP interface for Authenticated Encryption with Associated Data (AEAD) modes are subtly altered and several additional ctrl operations are supported depending on the mode specified.

    @@ -525,7 +410,7 @@ the length of the tag (with the tag parameter set to NULL) when enc The tag length is often referred to as M. If not set a default value is used (12 for AES). When decrypting, the tag needs to be set before passing in data to be decrypted, but as in GCM and OCB mode, it can be set after -passing additional authenticated data (see AEAD INTERFACE).

    +passing additional authenticated data (see AEAD Interface).

    EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_CCM_SET_L, ivlen, NULL)
    @@ -542,44 +427,6 @@ AES.

    -

    SIV Mode

    -

    For SIV mode ciphers the behaviour of the EVP interface is subtly -altered and several additional ctrl operations are supported.

    -

    To specify any additional authenticated data (AAD) and/or a Nonce, a call to -EVP_CipherUpdate(), EVP_EncryptUpdate() or EVP_DecryptUpdate() should be made -with the output parameter out set to NULL.

    -

    RFC5297 states that the Nonce is the last piece of AAD before the actual -encrypt/decrypt takes place. The API does not differentiate the Nonce from -other AAD.

    -

    When decrypting the return value of EVP_DecryptFinal() or EVP_CipherFinal() -indicates if the operation was successful. If it does not indicate success -the authentication operation has failed and any output data MUST NOT -be used as it is corrupted.

    -

    The following ctrls are supported in both SIV modes.

    -
    -
    EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_GET_TAG, taglen, tag);
    - -
    -

    Writes taglen bytes of the tag value to the buffer indicated by tag. -This call can only be made when encrypting data and after all data has been -processed (e.g. after an EVP_EncryptFinal() call). For SIV mode the taglen must -be 16.

    -
    -
    EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_SET_TAG, taglen, tag);
    - -
    -

    Sets the expected tag to taglen bytes from tag. This call is only legal -when decrypting data and must be made before any data is processed (e.g. -before any EVP_DecryptUpdate() call). For SIV mode the taglen must be 16.

    -
    -
    -

    SIV mode makes two passes over the input data, thus, only one call to -EVP_CipherUpdate(), EVP_EncryptUpdate() or EVP_DecryptUpdate() should be made -with out set to a non-NULL value. A call to EVP_Decrypt_Final() or -EVP_CipherFinal() is not required, but will indicate if the update -operation succeeded.

    -

    -

    ChaCha20-Poly1305

    The following ctrls are supported for the ChaCha20-Poly1305 AEAD algorithm.

    @@ -770,20 +617,20 @@ with a 128-bit key:

    SEE ALSO

    evp(7)

    Supported ciphers are listed in:

    -

    EVP_aes_128_gcm(3), -EVP_aria_128_gcm(3), -EVP_bf_cbc(3), -EVP_camellia_128_ecb(3), -EVP_cast5_cbc(3), +

    EVP_aes(3), +EVP_aria(3), +EVP_bf(3), +EVP_camellia(3), +EVP_cast5(3), EVP_chacha20(3), -EVP_des_cbc(3), -EVP_desx_cbc(3), -EVP_idea_cbc(3), -EVP_rc2_cbc(3), +EVP_des(3), +EVP_desx(3), +EVP_idea(3), +EVP_rc2(3), EVP_rc4(3), -EVP_rc5_32_12_16_cbc(3), -EVP_seed_cbc(3), -EVP_sm4_cbc(3)

    +EVP_rc5(3), +EVP_seed(3), +EVP_sm4(3)


    @@ -793,15 +640,12 @@ with a 128-bit key:

    EVP_CIPHER_CTX_reset() appeared and EVP_CIPHER_CTX_cleanup() disappeared. EVP_CIPHER_CTX_init() remains as an alias for EVP_CIPHER_CTX_reset().

    -

    The EVP_CIPHER_fetch(), EVP_CIPHER_free(), EVP_CIPHER_up_ref(), -EVP_CIPHER_CTX_set_params() and EVP_CIPHER_CTX_get_params() functions -were added in 3.0.


    COPYRIGHT

    -

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_EncryptInit_ex.html b/linux_amd64/share/doc/openssl/html/man3/EVP_EncryptInit_ex.html new file mode 120000 index 0000000..05f553e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_EncryptInit_ex.html @@ -0,0 +1 @@ +EVP_EncryptInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_EncryptUpdate.html b/linux_amd64/share/doc/openssl/html/man3/EVP_EncryptUpdate.html new file mode 120000 index 0000000..05f553e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_EncryptUpdate.html @@ -0,0 +1 @@ +EVP_EncryptInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_block_size.html b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_block_size.html new file mode 120000 index 0000000..41e2c97 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_block_size.html @@ -0,0 +1 @@ +EVP_DigestInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_clear_flags.html b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_clear_flags.html new file mode 120000 index 0000000..41e2c97 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_clear_flags.html @@ -0,0 +1 @@ +EVP_DigestInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_copy.html b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_copy.html new file mode 120000 index 0000000..41e2c97 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_copy.html @@ -0,0 +1 @@ +EVP_DigestInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_copy_ex.html b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_copy_ex.html new file mode 120000 index 0000000..41e2c97 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_copy_ex.html @@ -0,0 +1 @@ +EVP_DigestInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_ctrl.html b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_ctrl.html new file mode 120000 index 0000000..41e2c97 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_ctrl.html @@ -0,0 +1 @@ +EVP_DigestInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_free.html b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_free.html new file mode 120000 index 0000000..41e2c97 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_free.html @@ -0,0 +1 @@ +EVP_DigestInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_md.html b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_md.html new file mode 120000 index 0000000..41e2c97 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_md.html @@ -0,0 +1 @@ +EVP_DigestInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_md_data.html b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_md_data.html new file mode 120000 index 0000000..41e2c97 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_md_data.html @@ -0,0 +1 @@ +EVP_DigestInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_new.html b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_new.html new file mode 120000 index 0000000..41e2c97 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_new.html @@ -0,0 +1 @@ +EVP_DigestInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_pkey_ctx.html b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_pkey_ctx.html new file mode 120000 index 0000000..41e2c97 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_pkey_ctx.html @@ -0,0 +1 @@ +EVP_DigestInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_reset.html b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_reset.html new file mode 120000 index 0000000..41e2c97 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_reset.html @@ -0,0 +1 @@ +EVP_DigestInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_set_flags.html b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_set_flags.html new file mode 120000 index 0000000..41e2c97 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_set_flags.html @@ -0,0 +1 @@ +EVP_DigestInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_set_pkey_ctx.html b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_set_pkey_ctx.html new file mode 120000 index 0000000..41e2c97 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_set_pkey_ctx.html @@ -0,0 +1 @@ +EVP_DigestInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_set_update_fn.html b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_set_update_fn.html new file mode 120000 index 0000000..41e2c97 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_set_update_fn.html @@ -0,0 +1 @@ +EVP_DigestInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_size.html b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_size.html new file mode 120000 index 0000000..41e2c97 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_size.html @@ -0,0 +1 @@ +EVP_DigestInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_test_flags.html b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_test_flags.html new file mode 120000 index 0000000..41e2c97 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_test_flags.html @@ -0,0 +1 @@ +EVP_DigestInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_type.html b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_type.html new file mode 120000 index 0000000..41e2c97 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_type.html @@ -0,0 +1 @@ +EVP_DigestInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_update_fn.html b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_update_fn.html new file mode 120000 index 0000000..41e2c97 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_CTX_update_fn.html @@ -0,0 +1 @@ +EVP_DigestInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_MD_block_size.html b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_block_size.html new file mode 120000 index 0000000..41e2c97 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_block_size.html @@ -0,0 +1 @@ +EVP_DigestInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_MD_flags.html b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_flags.html new file mode 120000 index 0000000..41e2c97 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_flags.html @@ -0,0 +1 @@ +EVP_DigestInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_dup.html b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_dup.html new file mode 120000 index 0000000..4e78f1b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_dup.html @@ -0,0 +1 @@ +EVP_MD_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_free.html b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_free.html new file mode 120000 index 0000000..4e78f1b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_free.html @@ -0,0 +1 @@ +EVP_MD_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_get_app_datasize.html b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_get_app_datasize.html new file mode 120000 index 0000000..4e78f1b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_get_app_datasize.html @@ -0,0 +1 @@ +EVP_MD_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_get_cleanup.html b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_get_cleanup.html new file mode 120000 index 0000000..4e78f1b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_get_cleanup.html @@ -0,0 +1 @@ +EVP_MD_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_get_copy.html b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_get_copy.html new file mode 120000 index 0000000..4e78f1b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_get_copy.html @@ -0,0 +1 @@ +EVP_MD_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_get_ctrl.html b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_get_ctrl.html new file mode 120000 index 0000000..4e78f1b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_get_ctrl.html @@ -0,0 +1 @@ +EVP_MD_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_get_final.html b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_get_final.html new file mode 120000 index 0000000..4e78f1b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_get_final.html @@ -0,0 +1 @@ +EVP_MD_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_get_flags.html b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_get_flags.html new file mode 120000 index 0000000..4e78f1b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_get_flags.html @@ -0,0 +1 @@ +EVP_MD_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_get_init.html b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_get_init.html new file mode 120000 index 0000000..4e78f1b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_get_init.html @@ -0,0 +1 @@ +EVP_MD_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_get_input_blocksize.html b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_get_input_blocksize.html new file mode 120000 index 0000000..4e78f1b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_get_input_blocksize.html @@ -0,0 +1 @@ +EVP_MD_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_get_result_size.html b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_get_result_size.html new file mode 120000 index 0000000..4e78f1b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_get_result_size.html @@ -0,0 +1 @@ +EVP_MD_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_get_update.html b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_get_update.html new file mode 120000 index 0000000..4e78f1b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_get_update.html @@ -0,0 +1 @@ +EVP_MD_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_new.html b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_new.html index 1885977..04e9abd 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_new.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_new.html @@ -33,8 +33,8 @@


    NAME

    -

    EVP_MD_meth_new, EVP_MD_meth_dup, EVP_MD_meth_free, -EVP_MD_meth_set_input_blocksize, +

    EVP_MD_meth_dup, +EVP_MD_meth_new, EVP_MD_meth_free, EVP_MD_meth_set_input_blocksize, EVP_MD_meth_set_result_size, EVP_MD_meth_set_app_datasize, EVP_MD_meth_set_flags, EVP_MD_meth_set_init, EVP_MD_meth_set_update, EVP_MD_meth_set_final, EVP_MD_meth_set_copy, EVP_MD_meth_set_cleanup, @@ -43,7 +43,7 @@ EVP_MD_meth_get_result_size, EVP_MD_meth_get_app_datasize, EVP_MD_meth_get_flags, EVP_MD_meth_get_init, EVP_MD_meth_get_update, EVP_MD_meth_get_final, EVP_MD_meth_get_copy, EVP_MD_meth_get_cleanup, EVP_MD_meth_get_ctrl -- Routines to build up legacy EVP_MD methods

    +- Routines to build up EVP_MD methods


    @@ -93,11 +93,9 @@ EVP_MD_meth_get_ctrl

    The EVP_MD type is a structure for digest method implementation. It can also have associated public/private key signing and verifying routines.

    -

    EVP_MD_meth_new() creates a new EVP_MD structure. -These EVP_MD structures are reference counted.

    +

    EVP_MD_meth_new() creates a new EVP_MD structure.

    EVP_MD_meth_dup() creates a copy of md.

    -

    EVP_MD_meth_free() decrements the reference count for the EVP_MD structure. -If the reference count drops to 0 then the structure is freed.

    +

    EVP_MD_meth_free() destroys a EVP_MD structure.

    EVP_MD_meth_set_input_blocksize() sets the internal input block size for the method md to blocksize bytes.

    EVP_MD_meth_set_result_size() sets the size of the result that the @@ -205,16 +203,13 @@ respective md function.


    HISTORY

    The EVP_MD structure was openly available in OpenSSL before version -1.1. -The functions described here were added in OpenSSL 1.1. -The EVP_MD structure created with these functions became reference -counted in OpenSSL 3.0.

    +1.1. The functions described here were added in OpenSSL 1.1.


    COPYRIGHT

    Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_set_app_datasize.html b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_set_app_datasize.html new file mode 120000 index 0000000..4e78f1b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_set_app_datasize.html @@ -0,0 +1 @@ +EVP_MD_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_set_cleanup.html b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_set_cleanup.html new file mode 120000 index 0000000..4e78f1b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_set_cleanup.html @@ -0,0 +1 @@ +EVP_MD_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_set_copy.html b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_set_copy.html new file mode 120000 index 0000000..4e78f1b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_set_copy.html @@ -0,0 +1 @@ +EVP_MD_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_set_ctrl.html b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_set_ctrl.html new file mode 120000 index 0000000..4e78f1b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_set_ctrl.html @@ -0,0 +1 @@ +EVP_MD_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_set_final.html b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_set_final.html new file mode 120000 index 0000000..4e78f1b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_set_final.html @@ -0,0 +1 @@ +EVP_MD_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_set_flags.html b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_set_flags.html new file mode 120000 index 0000000..4e78f1b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_set_flags.html @@ -0,0 +1 @@ +EVP_MD_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_set_init.html b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_set_init.html new file mode 120000 index 0000000..4e78f1b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_set_init.html @@ -0,0 +1 @@ +EVP_MD_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_set_input_blocksize.html b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_set_input_blocksize.html new file mode 120000 index 0000000..4e78f1b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_set_input_blocksize.html @@ -0,0 +1 @@ +EVP_MD_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_set_result_size.html b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_set_result_size.html new file mode 120000 index 0000000..4e78f1b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_set_result_size.html @@ -0,0 +1 @@ +EVP_MD_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_set_update.html b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_set_update.html new file mode 120000 index 0000000..4e78f1b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_meth_set_update.html @@ -0,0 +1 @@ +EVP_MD_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_MD_pkey_type.html b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_pkey_type.html new file mode 120000 index 0000000..41e2c97 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_pkey_type.html @@ -0,0 +1 @@ +EVP_DigestInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_MD_size.html b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_size.html new file mode 120000 index 0000000..41e2c97 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_size.html @@ -0,0 +1 @@ +EVP_DigestInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_MD_type.html b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_type.html new file mode 120000 index 0000000..41e2c97 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_MD_type.html @@ -0,0 +1 @@ +EVP_DigestInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_OpenFinal.html b/linux_amd64/share/doc/openssl/html/man3/EVP_OpenFinal.html new file mode 120000 index 0000000..cfd4e5e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_OpenFinal.html @@ -0,0 +1 @@ +EVP_OpenInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_OpenInit.html b/linux_amd64/share/doc/openssl/html/man3/EVP_OpenInit.html index b8af13e..e78a2e4 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_OpenInit.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_OpenInit.html @@ -93,7 +93,7 @@ recovered secret key size) if successful.


    COPYRIGHT

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_OpenUpdate.html b/linux_amd64/share/doc/openssl/html/man3/EVP_OpenUpdate.html new file mode 120000 index 0000000..cfd4e5e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_OpenUpdate.html @@ -0,0 +1 @@ +EVP_OpenInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_ASN1_METHOD.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_ASN1_METHOD.html index 181bc7c..d712dcd 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_ASN1_METHOD.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_ASN1_METHOD.html @@ -279,7 +279,6 @@ It's called by EVP_PKEY_free(3), EVP_PKEY_set_type(3), int (*pkey_ctrl) (EVP_PKEY *pkey, int op, long arg1, void *arg2);

    The pkey_ctrl() method adds extra algorithm specific control. It's called by EVP_PKEY_get_default_digest_nid(3), -EVP_PKEY_supports_digest_nid(3), EVP_PKEY_set1_tls_encodedpoint(3), EVP_PKEY_get1_tls_encodedpoint(3), PKCS7_SIGNER_INFO_set(3), PKCS7_RECIP_INFO_set(3), ...

    @@ -367,14 +366,6 @@ They are called by EVP_PKEY_check(3), EVP_PKEY_public_check(3) public key data for an EVP_PKEY. They MUST return 0 on error, or 1 on success. They are called by EVP_PKEY_new_raw_private_key(3), and EVP_PKEY_new_raw_public_key(3) respectively.

    -
    - size_t (*dirty) (const EVP_PKEY *pk);
    - void *(*export_to) (const EVP_PKEY *pk, EVP_KEYMGMT *keymgmt);
    -

    dirty_cnt() returns the internal key's dirty count. -This can be used to synchronise different copies of the same keys.

    -

    The export_to() method exports the key material from the given key to -a provider, through the EVP_KEYMGMT(3) interface, if that provider -supports importing key material.

    Functions

    @@ -433,7 +424,7 @@ or 1 on success.


    COPYRIGHT

    Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_add1_hkdf_info.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_add1_hkdf_info.html new file mode 120000 index 0000000..8821d0b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_add1_hkdf_info.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_set_hkdf_md.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_add1_tls1_prf_seed.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_add1_tls1_prf_seed.html new file mode 120000 index 0000000..ce13cf2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_add1_tls1_prf_seed.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_set_tls1_prf_md.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_ctrl.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_ctrl.html index af3083f..922c7dc 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_ctrl.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_ctrl.html @@ -45,11 +45,7 @@


    NAME

    -

    EVP_PKEY_CTX_get_params, -EVP_PKEY_CTX_gettable_params, -EVP_PKEY_CTX_set_params, -EVP_PKEY_CTX_settable_params, -EVP_PKEY_CTX_ctrl, +

    EVP_PKEY_CTX_ctrl, EVP_PKEY_CTX_ctrl_str, EVP_PKEY_CTX_ctrl_uint64, EVP_PKEY_CTX_md, @@ -63,14 +59,10 @@ EVP_PKEY_CTX_get_rsa_pss_saltlen, EVP_PKEY_CTX_set_rsa_keygen_bits, EVP_PKEY_CTX_set_rsa_keygen_pubexp, EVP_PKEY_CTX_set_rsa_keygen_primes, -EVP_PKEY_CTX_set_rsa_mgf1_md_name, EVP_PKEY_CTX_set_rsa_mgf1_md, EVP_PKEY_CTX_get_rsa_mgf1_md, -EVP_PKEY_CTX_get_rsa_mgf1_md_name, -EVP_PKEY_CTX_set_rsa_oaep_md_name, EVP_PKEY_CTX_set_rsa_oaep_md, EVP_PKEY_CTX_get_rsa_oaep_md, -EVP_PKEY_CTX_get_rsa_oaep_md_name, EVP_PKEY_CTX_set0_rsa_oaep_label, EVP_PKEY_CTX_get0_rsa_oaep_label, EVP_PKEY_CTX_set_dsa_paramgen_bits, @@ -114,11 +106,6 @@ EVP_PKEY_CTX_set1_id, EVP_PKEY_CTX_get1_id, EVP_PKEY_CTX_get1_id_len

    SYNOPSIS

      #include <openssl/evp.h>
    -
    - int EVP_PKEY_CTX_get_params(EVP_PKEY_CTX *ctx, OSSL_PARAM *params);
    - const OSSL_PARAM *EVP_PKEY_CTX_gettable_params(EVP_PKEY_CTX *ctx);
    - int EVP_PKEY_CTX_set_params(EVP_PKEY_CTX *ctx, OSSL_PARAM *params);
    - const OSSL_PARAM *EVP_PKEY_CTX_settable_params(EVP_PKEY_CTX *ctx);
      int EVP_PKEY_CTX_ctrl(EVP_PKEY_CTX *ctx, int keytype, int optype,
                            int cmd, int p1, void *p2);
    @@ -132,30 +119,21 @@ EVP_PKEY_CTX_set1_id, EVP_PKEY_CTX_get1_id, EVP_PKEY_CTX_get1_id_len
      int EVP_PKEY_CTX_set_signature_md(EVP_PKEY_CTX *ctx, const EVP_MD *md);
      int EVP_PKEY_CTX_get_signature_md(EVP_PKEY_CTX *ctx, const EVP_MD **pmd);
    - int EVP_PKEY_CTX_set_mac_key(EVP_PKEY_CTX *ctx, const unsigned char *key,
    -                              int len);
    + int EVP_PKEY_CTX_set_mac_key(EVP_PKEY_CTX *ctx, unsigned char *key, int len);
      #include <openssl/rsa.h>
      int EVP_PKEY_CTX_set_rsa_padding(EVP_PKEY_CTX *ctx, int pad);
      int EVP_PKEY_CTX_get_rsa_padding(EVP_PKEY_CTX *ctx, int *pad);
    - int EVP_PKEY_CTX_set_rsa_pss_saltlen(EVP_PKEY_CTX *ctx, int saltlen);
    - int EVP_PKEY_CTX_get_rsa_pss_saltlen(EVP_PKEY_CTX *ctx, int *saltlen);
    + int EVP_PKEY_CTX_set_rsa_pss_saltlen(EVP_PKEY_CTX *ctx, int len);
    + int EVP_PKEY_CTX_get_rsa_pss_saltlen(EVP_PKEY_CTX *ctx, int *len);
      int EVP_PKEY_CTX_set_rsa_keygen_bits(EVP_PKEY_CTX *ctx, int mbits);
      int EVP_PKEY_CTX_set_rsa_keygen_pubexp(EVP_PKEY_CTX *ctx, BIGNUM *pubexp);
      int EVP_PKEY_CTX_set_rsa_keygen_primes(EVP_PKEY_CTX *ctx, int primes);
    - int EVP_PKEY_CTX_set_rsa_mgf1_md_name(EVP_PKEY_CTX *ctx, const char *mdname,
    -                                     const char *mdprops);
      int EVP_PKEY_CTX_set_rsa_mgf1_md(EVP_PKEY_CTX *ctx, const EVP_MD *md);
      int EVP_PKEY_CTX_get_rsa_mgf1_md(EVP_PKEY_CTX *ctx, const EVP_MD **md);
    - int EVP_PKEY_CTX_get_rsa_mgf1_md_name(EVP_PKEY_CTX *ctx, char *name,
    -                                       size_t namelen);
    - int EVP_PKEY_CTX_set_rsa_oaep_md_name(EVP_PKEY_CTX *ctx, const char *mdname,
    -                                       const char *mdprops);
      int EVP_PKEY_CTX_set_rsa_oaep_md(EVP_PKEY_CTX *ctx, const EVP_MD *md);
      int EVP_PKEY_CTX_get_rsa_oaep_md(EVP_PKEY_CTX *ctx, const EVP_MD **md);
    - int EVP_PKEY_CTX_get_rsa_oaep_md_name(EVP_PKEY_CTX *ctx, char *name,
    -                                       size_t namelen)
      int EVP_PKEY_CTX_set0_rsa_oaep_label(EVP_PKEY_CTX *ctx, unsigned char *label, int len);
      int EVP_PKEY_CTX_get0_rsa_oaep_label(EVP_PKEY_CTX *ctx, unsigned char **label);
    @@ -208,71 +186,30 @@ EVP_PKEY_CTX_set1_id, EVP_PKEY_CTX_get1_id, EVP_PKEY_CTX_get1_id_len
     


    DESCRIPTION

    -

    The EVP_PKEY_CTX_get_params() and EVP_PKEY_CTX_set_params() functions get and -send arbitrary parameters from and to the algorithm implementation respectively. -Not all parameters may be supported by all providers. -See OSSL_PROVIDER(3) for more information on providers. -See OSSL_PARAM(3) for more information on parameters. -These functions must only be called after the EVP_PKEY_CTX has been initialised -for use in an operation.

    -

    The parameters currently supported by the default provider are:

    -
    -
    "pad" (OSSL_EXCHANGE_PARAM_PAD) <unsigned integer>
    - -
    -

    Sets the DH padding mode. -If OSSL_EXCHANGE_PARAM_PAD is 1 then the shared secret is padded with zeros -up to the size of the DH prime p. -If OSSL_EXCHANGE_PARAM_PAD is zero (the default) then no padding is -performed.

    -
    -
    "digest" (OSSL_SIGNATURE_PARAM_DIGEST) <UTF8 string>
    - -
    -

    Gets and sets the name of the digest algorithm used for the input to the -signature functions.

    -
    -
    "digest-size" (OSSL_SIGNATURE_PARAM_DIGEST_SIZE) <unsigned integer>
    - -
    -

    Gets and sets the output size of the digest algorithm used for the input to the -signature functions. -The length of the "digest-size" parameter should not exceed that of a size_t. -The internal algorithm that supports this parameter is DSA.

    -
    -
    -

    EVP_PKEY_CTX_gettable_params() and EVP_PKEY_CTX_settable_params() gets a -constant OSSL_PARAM array that describes the gettable and -settable parameters for the current algorithm implementation, i.e. parameters -that can be used with EVP_PKEY_CTX_get_params() and EVP_PKEY_CTX_set_params() -respectively. -See OSSL_PARAM(3) for the use of OSSL_PARAM as parameter descriptor. -These functions must only be called after the EVP_PKEY_CTX has been initialised -for use in an operation.

    The function EVP_PKEY_CTX_ctrl() sends a control operation to the context -ctx. The key type used must match keytype if it is not -1. The parameter -optype is a mask indicating which operations the control can be applied to. -The control command is indicated in cmd and any additional arguments in -p1 and p2.

    -

    For cmd = EVP_PKEY_CTRL_SET_MAC_KEY, p1 is the length of the MAC key, -and p2 is the MAC key. This is used by Poly1305, SipHash, HMAC and CMAC.

    +ctx. The key type used must match keytype if it is not -1. The parameter +optype is a mask indicating which operations the control can be applied to. +The control command is indicated in cmd and any additional arguments in +p1 and p2.

    +

    For cmd = EVP_PKEY_CTRL_SET_MAC_KEY, p1 is the length of the MAC key, +and p2 is MAC key. This is used by Poly1305, SipHash, HMAC and CMAC.

    Applications will not normally call EVP_PKEY_CTX_ctrl() directly but will instead call one of the algorithm specific macros below.

    The function EVP_PKEY_CTX_ctrl_uint64() is a wrapper that directly passes a -uint64 value as p2 to EVP_PKEY_CTX_ctrl().

    +uint64 value as p2 to EVP_PKEY_CTX_ctrl().

    The function EVP_PKEY_CTX_ctrl_str() allows an application to send an algorithm -specific control operation to a context ctx in string form. This is +specific control operation to a context ctx in string form. This is intended to be used for options specified on the command line or in text files. The commands supported are documented in the openssl utility -command line pages for the option -pkeyopt which is supported by the -pkeyutl, genpkey and req commands.

    +command line pages for the option -pkeyopt which is supported by the +pkeyutl, genpkey and req commands.

    The function EVP_PKEY_CTX_md() sends a message digest control operation -to the context ctx. The message digest is specified by its name md.

    -

    The EVP_PKEY_CTX_set_signature_md() function sets the message digest type used -in a signature. It can be used in the RSA, DSA and ECDSA algorithms.

    -

    The EVP_PKEY_CTX_get_signature_md() function gets the message digest type used -in a signature. It can be used in the RSA, DSA and ECDSA algorithms.

    +to the context ctx. The message digest is specified by its name md.

    All the remaining "functions" are implemented as macros.

    +

    The EVP_PKEY_CTX_set_signature_md() macro sets the message digest type used +in a signature. It can be used in the RSA, DSA and ECDSA algorithms.

    +

    The EVP_PKEY_CTX_get_signature_md() macro gets the message digest type used in a +signature. It can be used in the RSA, DSA and ECDSA algorithms.

    Key generation typically involves setting up parameters to be used and generating the private and public key data. Some algorithm implementations allow private key data to be set explicitly using the EVP_PKEY_CTX_set_mac_key() @@ -285,14 +222,12 @@ supported by the EVP_PKEY_new_raw_private_key(3) function.

    RSA parameters

    -

    The EVP_PKEY_CTX_set_rsa_padding() function sets the RSA padding mode for ctx. -The pad parameter can take the value RSA_PKCS1_PADDING for PKCS#1 +

    The EVP_PKEY_CTX_set_rsa_padding() macro sets the RSA padding mode for ctx. +The pad parameter can take the value RSA_PKCS1_PADDING for PKCS#1 padding, RSA_SSLV23_PADDING for SSLv23 padding, RSA_NO_PADDING for no padding, RSA_PKCS1_OAEP_PADDING for OAEP padding (encrypt and decrypt only), RSA_X931_PADDING for X9.31 padding (signature operations -only), RSA_PKCS1_PSS_PADDING (sign and verify only) and -RSA_PKCS1_WITH_TLS_PADDING for TLS RSA ClientKeyExchange message padding -(decryption only).

    +only) and RSA_PKCS1_PSS_PADDING (sign and verify only).

    Two RSA padding modes behave differently if EVP_PKEY_CTX_set_signature_md() is used. If this macro is called for PKCS#1 padding the plaintext buffer is an actual digest value and is encapsulated in a DigestInfo structure according @@ -302,223 +237,143 @@ supplied data is used directly and not encapsulated. In the case of X9.31 padding for RSA the algorithm identifier byte is added or checked and removed if this control is called. If it is not called then the first byte of the plaintext buffer is expected to be the algorithm identifier byte.

    -

    The EVP_PKEY_CTX_get_rsa_padding() function gets the RSA padding mode for ctx.

    -

    The EVP_PKEY_CTX_set_rsa_pss_saltlen() function sets the RSA PSS salt -length to saltlen. As its name implies it is only supported for PSS -padding. If this function is not called then the maximum salt length -is used when signing and auto detection when verifying. Three special -values are supported:

    -
    -
    RSA_PSS_SALTLEN_DIGEST
    - -
    -

    sets the salt length to the digest length.

    -
    -
    RSA_PSS_SALTLEN_MAX
    - -
    -

    sets the salt length to the maximum permissible value.

    -
    -
    RSA_PSS_SALTLEN_AUTO
    - -
    -

    causes the salt length to be automatically determined based on the -PSS block structure when verifying. When signing, it has the same -meaning as RSA_PSS_SALTLEN_MAX.

    -
    -
    -

    The EVP_PKEY_CTX_get_rsa_pss_saltlen() function gets the RSA PSS salt length -for ctx. The padding mode must already have been set to -RSA_PKCS1_PSS_PADDING.

    +

    The EVP_PKEY_CTX_get_rsa_padding() macro gets the RSA padding mode for ctx.

    +

    The EVP_PKEY_CTX_set_rsa_pss_saltlen() macro sets the RSA PSS salt length to +len. As its name implies it is only supported for PSS padding. Three special +values are supported: RSA_PSS_SALTLEN_DIGEST sets the salt length to the +digest length, RSA_PSS_SALTLEN_MAX sets the salt length to the maximum +permissible value. When verifying RSA_PSS_SALTLEN_AUTO causes the salt length +to be automatically determined based on the PSS block structure. If this +macro is not called maximum salt length is used when signing and auto detection +when verifying is used by default.

    +

    The EVP_PKEY_CTX_get_rsa_pss_saltlen() macro gets the RSA PSS salt length +for ctx. The padding mode must have been set to RSA_PKCS1_PSS_PADDING.

    The EVP_PKEY_CTX_set_rsa_keygen_bits() macro sets the RSA key length for -RSA key generation to bits. If not specified 2048 bits is used.

    +RSA key generation to bits. If not specified 1024 bits is used.

    The EVP_PKEY_CTX_set_rsa_keygen_pubexp() macro sets the public exponent value -for RSA key generation to pubexp. Currently it should be an odd integer. The -pubexp pointer is used internally by this function so it should not be +for RSA key generation to pubexp. Currently it should be an odd integer. The +pubexp pointer is used internally by this function so it should not be modified or freed after the call. If not specified 65537 is used.

    The EVP_PKEY_CTX_set_rsa_keygen_primes() macro sets the number of primes for -RSA key generation to primes. If not specified 2 is used.

    -

    The EVP_PKEY_CTX_set_rsa_mgf1_md_name() function sets the MGF1 digest for RSA -padding schemes to the digest named mdname. If the RSA algorithm -implementation for the selected provider supports it then the digest will be -fetched using the properties mdprops. If not explicitly set the signing -digest is used. The padding mode must have been set to RSA_PKCS1_OAEP_PADDING +RSA key generation to primes. If not specified 2 is used.

    +

    The EVP_PKEY_CTX_set_rsa_mgf1_md() macro sets the MGF1 digest for RSA padding +schemes to md. If not explicitly set the signing digest is used. The +padding mode must have been set to RSA_PKCS1_OAEP_PADDING or RSA_PKCS1_PSS_PADDING.

    -

    The EVP_PKEY_CTX_set_rsa_mgf1_md() function does the same as -EVP_PKEY_CTX_set_rsa_mgf1_md_name() except that the name of the digest is -inferred from the supplied md and it is not possible to specify any -properties.

    -

    The EVP_PKEY_CTX_get_rsa_mgf1_md_name() function gets the name of the MGF1 -digest algorithm for ctx. If not explicitly set the signing digest is used. -The padding mode must have been set to RSA_PKCS1_OAEP_PADDING or -RSA_PKCS1_PSS_PADDING.

    -

    The EVP_PKEY_CTX_get_rsa_mgf1_md() function does the same as -EVP_PKEY_CTX_get_rsa_mgf1_md_name() except that it returns a pointer to an -EVP_MD object instead. Note that only known, built-in EVP_MD objects will be -returned. The EVP_MD object may be NULL if the digest is not one of these (such -as a digest only implemented in a third party provider).

    -

    The EVP_PKEY_CTX_set_rsa_oaep_md_name() function sets the message digest type -used in RSA OAEP to the digest named mdname. If the RSA algorithm -implementation for the selected provider supports it then the digest will be -fetched using the properties mdprops. The padding mode must have been set to +

    The EVP_PKEY_CTX_get_rsa_mgf1_md() macro gets the MGF1 digest for ctx. +If not explicitly set the signing digest is used. The padding mode must have +been set to RSA_PKCS1_OAEP_PADDING or RSA_PKCS1_PSS_PADDING.

    +

    The EVP_PKEY_CTX_set_rsa_oaep_md() macro sets the message digest type used +in RSA OAEP to md. The padding mode must have been set to RSA_PKCS1_OAEP_PADDING.

    -

    The EVP_PKEY_CTX_set_rsa_oaep_md() function does the same as -EVP_PKEY_CTX_set_rsa_oaep_md_name() except that the name of the digest is -inferred from the supplied md and it is not possible to specify any -properties.

    -

    The EVP_PKEY_CTX_get_rsa_oaep_md_name() function gets the message digest -algorithm name used in RSA OAEP and stores it in the buffer name which is of -size namelen. The padding mode must have been set to -RSA_PKCS1_OAEP_PADDING. The buffer should be sufficiently large for any -expected digest algorithm names or the function will fail.

    -

    The EVP_PKEY_CTX_get_rsa_oaep_md() function does the same as -EVP_PKEY_CTX_get_rsa_oaep_md_name() except that it returns a pointer to an -EVP_MD object instead. Note that only known, built-in EVP_MD objects will be -returned. The EVP_MD object may be NULL if the digest is not one of these (such -as a digest only implemented in a third party provider).

    -

    The EVP_PKEY_CTX_set0_rsa_oaep_label() function sets the RSA OAEP label to -label and its length to len. If label is NULL or len is 0, +

    The EVP_PKEY_CTX_get_rsa_oaep_md() macro gets the message digest type used +in RSA OAEP to md. The padding mode must have been set to +RSA_PKCS1_OAEP_PADDING.

    +

    The EVP_PKEY_CTX_set0_rsa_oaep_label() macro sets the RSA OAEP label to +label and its length to len. If label is NULL or len is 0, the label is cleared. The library takes ownership of the label so the -caller should not free the original memory pointed to by label. +caller should not free the original memory pointed to by label. The padding mode must have been set to RSA_PKCS1_OAEP_PADDING.

    -

    The EVP_PKEY_CTX_get0_rsa_oaep_label() function gets the RSA OAEP label to -label. The return value is the label length. The padding mode +

    The EVP_PKEY_CTX_get0_rsa_oaep_label() macro gets the RSA OAEP label to +label. The return value is the label length. The padding mode must have been set to RSA_PKCS1_OAEP_PADDING. The resulting pointer is owned by the library and should not be freed by the caller.

    -

    RSA_PKCS1_WITH_TLS_PADDING is used when decrypting an RSA encrypted TLS -pre-master secret in a TLS ClientKeyExchange message. It is the same as -RSA_PKCS1_PADDING except that it additionally verifies that the result is the -correct length and the first two bytes are the protocol version initially -requested by the client. If the encrypted content is publicly invalid then the -decryption will fail. However, if the padding checks fail then decryption will -still appear to succeed but a random TLS premaster secret will be returned -instead. This padding mode accepts two parameters which can be set using the -EVP_PKEY_CTX_set_params(3) function. These are -OSSL_ASYM_CIPHER_PARAM_TLS_CLIENT_VERSION and -OSSL_ASYM_CIPHER_PARAM_TLS_NEGOTIATED_VERSION, both of which are expected to be -unsigned integers. Normally only the first of these will be set and represents -the TLS protocol version that was first requested by the client (e.g. 0x0303 for -TLSv1.2, 0x0302 for TLSv1.1 etc). Historically some buggy clients would use the -negotiated protocol version instead of the protocol version first requested. If -this behaviour should be tolerated then -OSSL_ASYM_CIPHER_PARAM_TLS_NEGOTIATED_VERSION should be set to the actual -negotiated protocol version. Otherwise it should be left unset.

    DSA parameters

    The EVP_PKEY_CTX_set_dsa_paramgen_bits() macro sets the number of bits used -for DSA parameter generation to nbits. If not specified, 2048 is used.

    +for DSA parameter generation to nbits. If not specified, 1024 is used.

    The EVP_PKEY_CTX_set_dsa_paramgen_q_bits() macro sets the number of bits in the -subprime parameter q for DSA parameter generation to qbits. If not -specified, 224 is used. If a digest function is specified below, this parameter -is ignored and instead, the number of bits in q matches the size of the +subprime parameter q for DSA parameter generation to qbits. If not +specified, 160 is used. If a digest function is specified below, this parameter +is ignored and instead, the number of bits in q matches the size of the digest.

    The EVP_PKEY_CTX_set_dsa_paramgen_md() macro sets the digest function used for -DSA parameter generation to md. If not specified, one of SHA-1, SHA-224, or -SHA-256 is selected to match the bit length of q above.

    +DSA parameter generation to md. If not specified, one of SHA-1, SHA-224, or +SHA-256 is selected to match the bit length of q above.

    DH parameters

    The EVP_PKEY_CTX_set_dh_paramgen_prime_len() macro sets the length of the DH -prime parameter p for DH parameter generation. If this macro is not called -then 2048 is used. Only accepts lengths greater than or equal to 256.

    +prime parameter p for DH parameter generation. If this macro is not called +then 1024 is used. Only accepts lengths greater than or equal to 256.

    The EVP_PKEY_CTX_set_dh_paramgen_subprime_len() macro sets the length of the DH -optional subprime parameter q for DH parameter generation. The default is +optional subprime parameter q for DH parameter generation. The default is 256 if the prime is at least 2048 bits long or 160 otherwise. The DH -paramgen type must have been set to DH_PARAMGEN_TYPE_FIPS_186_2 or -DH_PARAMGEN_TYPE_FIPS_186_4.

    -

    The EVP_PKEY_CTX_set_dh_paramgen_generator() macro sets DH generator to gen +paramgen type must have been set to x9.42.

    +

    The EVP_PKEY_CTX_set_dh_paramgen_generator() macro sets DH generator to gen for DH parameter generation. If not specified 2 is used.

    The EVP_PKEY_CTX_set_dh_paramgen_type() macro sets the key type for DH -parameter generation. The supported parameters are:

    -
    -
    DH_PARAMGEN_TYPE_GENERATOR
    - -
    -

    Uses a generator g (PKCS#3 format).

    -
    -
    DH_PARAMGEN_TYPE_FIPS_186_2
    - -
    -

    FIPS186-2 FFC parameter generator (X9.42 DH).

    -
    -
    DH_PARAMGEN_TYPE_FIPS_186_4
    - -
    -

    FIPS186-4 FFC parameter generator.

    -
    -
    -

    The default is DH_PARAMGEN_TYPE_GENERATOR.

    -

    The EVP_PKEY_CTX_set_dh_pad() function sets the DH padding mode. -If pad is 1 the shared secret is padded with zeros up to the size of the DH -prime p. -If pad is zero (the default) then no padding is performed.

    +parameter generation. Use 0 for PKCS#3 DH and 1 for X9.42 DH. +The default is 0.

    +

    The EVP_PKEY_CTX_set_dh_pad() macro sets the DH padding mode. If pad is +1 the shared secret is padded with zeroes up to the size of the DH prime p. +If pad is zero (the default) then no padding is performed.

    EVP_PKEY_CTX_set_dh_nid() sets the DH parameters to values corresponding to -nid as defined in RFC7919 or RFC3526. The nid parameter must be -NID_ffdhe2048, NID_ffdhe3072, NID_ffdhe4096, NID_ffdhe6144, -NID_ffdhe8192, NID_modp_1536, NID_modp_2048, NID_modp_3072, -NID_modp_4096, NID_modp_6144, NID_modp_8192 or NID_undef to clear -the stored value. This macro can be called during parameter or key generation. +nid as defined in RFC7919. The nid parameter must be NID_ffdhe2048, +NID_ffdhe3072, NID_ffdhe4096, NID_ffdhe6144, NID_ffdhe8192 +or NID_undef to clear the stored value. This macro can be called during +parameter or key generation. The nid parameter and the rfc5114 parameter are mutually exclusive.

    The EVP_PKEY_CTX_set_dh_rfc5114() and EVP_PKEY_CTX_set_dhx_rfc5114() macros are synonymous. They set the DH parameters to the values defined in RFC5114. The -rfc5114 parameter must be 1, 2 or 3 corresponding to RFC5114 sections +rfc5114 parameter must be 1, 2 or 3 corresponding to RFC5114 sections 2.1, 2.2 and 2.3. or 0 to clear the stored value. This macro can be called -during parameter generation. The ctx must have a key type of +during parameter generation. The ctx must have a key type of EVP_PKEY_DHX. The rfc5114 parameter and the nid parameter are mutually exclusive.

    DH key derivation function parameters

    -

    Note that all of the following functions require that the ctx parameter has +

    Note that all of the following functions require that the ctx parameter has a private key type of EVP_PKEY_DHX. When using key derivation, the output of EVP_PKEY_derive() is the output of the KDF instead of the DH shared secret. The KDF output is typically used as a Key Encryption Key (KEK) that in turn encrypts a Content Encryption Key (CEK).

    The EVP_PKEY_CTX_set_dh_kdf_type() macro sets the key derivation function type -to kdf for DH key derivation. Possible values are EVP_PKEY_DH_KDF_NONE +to kdf for DH key derivation. Possible values are EVP_PKEY_DH_KDF_NONE and EVP_PKEY_DH_KDF_X9_42 which uses the key derivation specified in RFC2631 (based on the keying algorithm described in X9.42). When using key derivation, -the kdf_oid, kdf_md and kdf_outlen parameters must also be specified.

    +the kdf_oid, kdf_md and kdf_outlen parameters must also be specified.

    The EVP_PKEY_CTX_get_dh_kdf_type() macro gets the key derivation function type -for ctx used for DH key derivation. Possible values are EVP_PKEY_DH_KDF_NONE +for ctx used for DH key derivation. Possible values are EVP_PKEY_DH_KDF_NONE and EVP_PKEY_DH_KDF_X9_42.

    The EVP_PKEY_CTX_set0_dh_kdf_oid() macro sets the key derivation function -object identifier to oid for DH key derivation. This OID should identify +object identifier to oid for DH key derivation. This OID should identify the algorithm to be used with the Content Encryption Key. The library takes ownership of the object identifier so the caller should not -free the original memory pointed to by oid.

    +free the original memory pointed to by oid.

    The EVP_PKEY_CTX_get0_dh_kdf_oid() macro gets the key derivation function oid -for ctx used for DH key derivation. The resulting pointer is owned by the +for ctx used for DH key derivation. The resulting pointer is owned by the library and should not be freed by the caller.

    The EVP_PKEY_CTX_set_dh_kdf_md() macro sets the key derivation function -message digest to md for DH key derivation. Note that RFC2631 specifies +message digest to md for DH key derivation. Note that RFC2631 specifies that this digest should be SHA1 but OpenSSL tolerates other digests.

    The EVP_PKEY_CTX_get_dh_kdf_md() macro gets the key derivation function -message digest for ctx used for DH key derivation.

    +message digest for ctx used for DH key derivation.

    The EVP_PKEY_CTX_set_dh_kdf_outlen() macro sets the key derivation function -output length to len for DH key derivation.

    +output length to len for DH key derivation.

    The EVP_PKEY_CTX_get_dh_kdf_outlen() macro gets the key derivation function -output length for ctx used for DH key derivation.

    +output length for ctx used for DH key derivation.

    The EVP_PKEY_CTX_set0_dh_kdf_ukm() macro sets the user key material to -ukm and its length to len for DH key derivation. This parameter is optional +ukm and its length to len for DH key derivation. This parameter is optional and corresponds to the partyAInfo field in RFC2631 terms. The specification requires that it is 512 bits long but this is not enforced by OpenSSL. The library takes ownership of the user key material so the caller should not -free the original memory pointed to by ukm.

    -

    The EVP_PKEY_CTX_get0_dh_kdf_ukm() macro gets the user key material for ctx. +free the original memory pointed to by ukm.

    +

    The EVP_PKEY_CTX_get0_dh_kdf_ukm() macro gets the user key material for ctx. The return value is the user key material length. The resulting pointer is owned by the library and should not be freed by the caller.

    EC parameters

    The EVP_PKEY_CTX_set_ec_paramgen_curve_nid() sets the EC curve for EC parameter -generation to nid. For EC parameter generation this macro must be called +generation to nid. For EC parameter generation this macro must be called or an error occurs because there is no default curve. This function can also be called to set the curve explicitly when generating an EC key.

    The EVP_PKEY_CTX_set_ec_param_enc() macro sets the EC parameter encoding to -param_enc when generating EC parameters or an EC key. The encoding can be +param_enc when generating EC parameters or an EC key. The encoding can be OPENSSL_EC_EXPLICIT_CURVE for explicit parameters (the default in versions of OpenSSL before 1.1.0) or OPENSSL_EC_NAMED_CURVE to use named curve form. For maximum compatibility the named curve form should be used. Note: the @@ -528,37 +383,37 @@ versions should use 0 instead.

    ECDH parameters

    The EVP_PKEY_CTX_set_ecdh_cofactor_mode() macro sets the cofactor mode to -cofactor_mode for ECDH key derivation. Possible values are 1 to enable +cofactor_mode for ECDH key derivation. Possible values are 1 to enable cofactor key derivation, 0 to disable it and -1 to clear the stored cofactor mode and fallback to the private key cofactor mode.

    The EVP_PKEY_CTX_get_ecdh_cofactor_mode() macro returns the cofactor mode for -ctx used for ECDH key derivation. Possible values are 1 when cofactor key +ctx used for ECDH key derivation. Possible values are 1 when cofactor key derivation is enabled and 0 otherwise.

    ECDH key derivation function parameters

    The EVP_PKEY_CTX_set_ecdh_kdf_type() macro sets the key derivation function type -to kdf for ECDH key derivation. Possible values are EVP_PKEY_ECDH_KDF_NONE +to kdf for ECDH key derivation. Possible values are EVP_PKEY_ECDH_KDF_NONE and EVP_PKEY_ECDH_KDF_X9_63 which uses the key derivation specified in X9.63. -When using key derivation, the kdf_md and kdf_outlen parameters must +When using key derivation, the kdf_md and kdf_outlen parameters must also be specified.

    The EVP_PKEY_CTX_get_ecdh_kdf_type() macro returns the key derivation function -type for ctx used for ECDH key derivation. Possible values are +type for ctx used for ECDH key derivation. Possible values are EVP_PKEY_ECDH_KDF_NONE and EVP_PKEY_ECDH_KDF_X9_63.

    The EVP_PKEY_CTX_set_ecdh_kdf_md() macro sets the key derivation function -message digest to md for ECDH key derivation. Note that X9.63 specifies +message digest to md for ECDH key derivation. Note that X9.63 specifies that this digest should be SHA1 but OpenSSL tolerates other digests.

    The EVP_PKEY_CTX_get_ecdh_kdf_md() macro gets the key derivation function -message digest for ctx used for ECDH key derivation.

    +message digest for ctx used for ECDH key derivation.

    The EVP_PKEY_CTX_set_ecdh_kdf_outlen() macro sets the key derivation function -output length to len for ECDH key derivation.

    +output length to len for ECDH key derivation.

    The EVP_PKEY_CTX_get_ecdh_kdf_outlen() macro gets the key derivation function -output length for ctx used for ECDH key derivation.

    -

    The EVP_PKEY_CTX_set0_ecdh_kdf_ukm() macro sets the user key material to ukm +output length for ctx used for ECDH key derivation.

    +

    The EVP_PKEY_CTX_set0_ecdh_kdf_ukm() macro sets the user key material to ukm for ECDH key derivation. This parameter is optional and corresponds to the shared info in X9.63 terms. The library takes ownership of the user key material -so the caller should not free the original memory pointed to by ukm.

    -

    The EVP_PKEY_CTX_get0_ecdh_kdf_ukm() macro gets the user key material for ctx. +so the caller should not free the original memory pointed to by ukm.

    +

    The EVP_PKEY_CTX_get0_ecdh_kdf_ukm() macro gets the user key material for ctx. The return value is the user key material length. The resulting pointer is owned by the library and should not be freed by the caller.

    @@ -566,25 +421,21 @@ by the library and should not be freed by the caller.

    Other parameters

    The EVP_PKEY_CTX_set1_id(), EVP_PKEY_CTX_get1_id() and EVP_PKEY_CTX_get1_id_len() macros are used to manipulate the special identifier field for specific signature -algorithms such as SM2. The EVP_PKEY_CTX_set1_id() sets an ID pointed by id with -the length id_len to the library. The library takes a copy of the id so that -the caller can safely free the original memory pointed to by id. The +algorithms such as SM2. The EVP_PKEY_CTX_set1_id() sets an ID pointed by id with +the length id_len to the library. The library takes a copy of the id so that +the caller can safely free the original memory pointed to by id. The EVP_PKEY_CTX_get1_id_len() macro returns the length of the ID set via a previous call to EVP_PKEY_CTX_set1_id(). The length is usually used to allocate adequate memory for further calls to EVP_PKEY_CTX_get1_id(). The EVP_PKEY_CTX_get1_id() -macro returns the previously set ID value to caller in id. The caller should -allocate adequate memory space for the id before calling EVP_PKEY_CTX_get1_id().

    +macro returns the previously set ID value to caller in id. The caller should +allocate adequate memory space for the id before calling EVP_PKEY_CTX_get1_id().


    RETURN VALUES

    -

    EVP_PKEY_CTX_set_params() returns 1 for success or 0 otherwise. -EVP_PKEY_CTX_settable_params() returns an OSSL_PARAM array on success or NULL on -error. -It may also return NULL if there are no settable parameters available.

    -

    All other functions and macros described on this page return a positive value -for success and 0 or a negative value for failure. In particular a return value -of -2 indicates the operation is not supported by the public key algorithm.

    +

    EVP_PKEY_CTX_ctrl() and its macros return a positive value for success and 0 +or a negative value for failure. In particular a return value of -2 +indicates the operation is not supported by the public key algorithm.


    @@ -601,26 +452,15 @@ of -2 indicates the operation is not supported by the public key algorithm.


    HISTORY

    -

    EVP_PKEY_CTX_get_signature_md(), EVP_PKEY_CTX_set_signature_md(), -EVP_PKEY_CTX_set_dh_pad(), EVP_PKEY_CTX_set_rsa_padding(), -EVP_PKEY_CTX_get_rsa_padding(), EVP_PKEY_CTX_get_rsa_mgf1_md(), -EVP_PKEY_CTX_set_rsa_mgf1_md(), EVP_PKEY_CTX_set_rsa_oaep_md(), -EVP_PKEY_CTX_get_rsa_oaep_md(), EVP_PKEY_CTX_set0_rsa_oaep_label(), -EVP_PKEY_CTX_get0_rsa_oaep_label(), EVP_PKEY_CTX_set_rsa_pss_saltlen(), -EVP_PKEY_CTX_get_rsa_pss_saltlen(), were macros in OpenSSL 1.1.1 and below. -From OpenSSL 3.0 they are functions.

    -

    EVP_PKEY_CTX_get_rsa_oaep_md_name(), EVP_PKEY_CTX_get_rsa_mgf1_md_name(), -EVP_PKEY_CTX_set_rsa_mgf1_md_name() and EVP_PKEY_CTX_set_rsa_oaep_md_name() were -added in OpenSSL 3.0.

    -

    The EVP_PKEY_CTX_set1_id(), EVP_PKEY_CTX_get1_id() and -EVP_PKEY_CTX_get1_id_len() macros were added in 1.1.1, other functions were -added in OpenSSL 1.0.0.

    +

    The +EVP_PKEY_CTX_set1_id(), EVP_PKEY_CTX_get1_id() and EVP_PKEY_CTX_get1_id_len() +macros were added in 1.1.1, other functions were added in OpenSSL 1.0.0.


    COPYRIGHT

    Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_ctrl_str.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_ctrl_str.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_ctrl_str.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_ctrl_uint64.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_ctrl_uint64.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_ctrl_uint64.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_dup.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_dup.html new file mode 120000 index 0000000..0a87b65 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_dup.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_free.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_free.html new file mode 120000 index 0000000..0a87b65 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_free.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get0_dh_kdf_oid.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get0_dh_kdf_oid.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get0_dh_kdf_oid.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get0_dh_kdf_ukm.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get0_dh_kdf_ukm.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get0_dh_kdf_ukm.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get0_ecdh_kdf_ukm.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get0_ecdh_kdf_ukm.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get0_ecdh_kdf_ukm.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get0_rsa_oaep_label.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get0_rsa_oaep_label.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get0_rsa_oaep_label.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get1_id.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get1_id.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get1_id.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get1_id_len.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get1_id_len.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get1_id_len.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_app_data.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_app_data.html new file mode 120000 index 0000000..e3d9ece --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_app_data.html @@ -0,0 +1 @@ +EVP_PKEY_keygen.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_cb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_cb.html new file mode 120000 index 0000000..e3d9ece --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_cb.html @@ -0,0 +1 @@ +EVP_PKEY_keygen.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_dh_kdf_md.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_dh_kdf_md.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_dh_kdf_md.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_dh_kdf_outlen.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_dh_kdf_outlen.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_dh_kdf_outlen.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_dh_kdf_type.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_dh_kdf_type.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_dh_kdf_type.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_ecdh_cofactor_mode.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_ecdh_cofactor_mode.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_ecdh_cofactor_mode.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_ecdh_kdf_md.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_ecdh_kdf_md.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_ecdh_kdf_md.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_ecdh_kdf_outlen.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_ecdh_kdf_outlen.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_ecdh_kdf_outlen.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_ecdh_kdf_type.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_ecdh_kdf_type.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_ecdh_kdf_type.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_keygen_info.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_keygen_info.html new file mode 120000 index 0000000..e3d9ece --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_keygen_info.html @@ -0,0 +1 @@ +EVP_PKEY_keygen.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_rsa_mgf1_md.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_rsa_mgf1_md.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_rsa_mgf1_md.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_rsa_oaep_md.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_rsa_oaep_md.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_rsa_oaep_md.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_rsa_padding.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_rsa_padding.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_rsa_padding.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_rsa_pss_saltlen.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_rsa_pss_saltlen.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_rsa_pss_saltlen.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_signature_md.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_signature_md.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_get_signature_md.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_hkdf_mode.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_hkdf_mode.html new file mode 120000 index 0000000..8821d0b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_hkdf_mode.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_set_hkdf_md.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_md.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_md.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_md.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_new.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_new.html index a4cf383..02a2442 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_new.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_new.html @@ -34,9 +34,7 @@


    NAME

    -

    EVP_PKEY_CTX_new, EVP_PKEY_CTX_new_id, EVP_PKEY_CTX_new_from_name, -EVP_PKEY_CTX_new_from_pkey, EVP_PKEY_CTX_dup, EVP_PKEY_CTX_free -- public key algorithm context functions

    +

    EVP_PKEY_CTX_new, EVP_PKEY_CTX_new_id, EVP_PKEY_CTX_dup, EVP_PKEY_CTX_free - public key algorithm context functions


    @@ -46,57 +44,29 @@ EVP_PKEY_CTX_new_from_pkey, EVP_PKEY_CTX_dup, EVP_PKEY_CTX_free
      EVP_PKEY_CTX *EVP_PKEY_CTX_new(EVP_PKEY *pkey, ENGINE *e);
      EVP_PKEY_CTX *EVP_PKEY_CTX_new_id(int id, ENGINE *e);
    - EVP_PKEY_CTX *EVP_PKEY_CTX_new_from_name(OPENSSL_CTX *libctx,
    -                                          const char *name,
    -                                          const char *propquery);
    - EVP_PKEY_CTX *EVP_PKEY_CTX_new_from_pkey(OPENSSL_CTX *libctx,
    -                                          EVP_PKEY *pkey);
    - EVP_PKEY_CTX *EVP_PKEY_CTX_dup(const EVP_PKEY_CTX *ctx);
    + EVP_PKEY_CTX *EVP_PKEY_CTX_dup(EVP_PKEY_CTX *ctx);
      void EVP_PKEY_CTX_free(EVP_PKEY_CTX *ctx);


    DESCRIPTION

    The EVP_PKEY_CTX_new() function allocates public key algorithm context using -the pkey key type and ENGINE e.

    +the algorithm specified in pkey and ENGINE e.

    The EVP_PKEY_CTX_new_id() function allocates public key algorithm context -using the key type specified by id and ENGINE e.

    -

    The EVP_PKEY_CTX_new_from_name() function allocates a public key algorithm -context using the library context libctx (see OPENSSL_CTX(3)), the -key type specified by name and the property query propquery. None -of the arguments are duplicated, so they must remain unchanged for the -lifetime of the returned EVP_PKEY_CTX or of any of its duplicates.

    -

    The EVP_PKEY_CTX_new_from_pkey() function allocates a public key algorithm -context using the library context libctx (see OPENSSL_CTX(3)) and the -algorithm specified by pkey and the property query propquery. None of the -arguments are duplicated, so they must remain unchanged for the lifetime of the -returned EVP_PKEY_CTX or any of its duplicates.

    -

    EVP_PKEY_CTX_new_id() and EVP_PKEY_CTX_new_from_name() are normally -used when no EVP_PKEY structure is associated with the operations, -for example during parameter generation or key generation for some -algorithms.

    -

    EVP_PKEY_CTX_dup() duplicates the context ctx.

    -

    EVP_PKEY_CTX_free() frees up the context ctx. -If ctx is NULL, nothing is done.

    +using the algorithm specified by id and ENGINE e. It is normally used +when no EVP_PKEY structure is associated with the operations, for example +during parameter generation of key generation for some algorithms.

    +

    EVP_PKEY_CTX_dup() duplicates the context ctx.

    +

    EVP_PKEY_CTX_free() frees up the context ctx. +If ctx is NULL, nothing is done.


    NOTES

    -
      -
    1. The EVP_PKEY_CTX structure is an opaque public key algorithm context used by the OpenSSL high level public key API. Contexts MUST NOT be shared between threads: that is it is not permissible to use the same context simultaneously in two threads.

      -
    2. -
    3. -

      We mention "key type" in this manual, which is the same -as "algorithm" in most cases, allowing either term to be used -interchangeably. There are algorithms where the key type and the -algorithm of the operations that use the keys are not the same, -such as EC keys being used for ECDSA and ECDH operations.

      -
    4. -


    @@ -113,16 +83,13 @@ the newly allocated EVP_PKEY_CTX structure of NULL

    HISTORY

    -

    The EVP_PKEY_CTX_new(), EVP_PKEY_CTX_new_id(), EVP_PKEY_CTX_dup() and -EVP_PKEY_CTX_free() functions were added in OpenSSL 1.0.0.

    -

    The EVP_PKEY_CTX_new_from_name() and EVP_PKEY_CTX_new_from_pkey() functions were -added in OpenSSL 3.0.

    +

    These functions were added in OpenSSL 1.0.0.


    COPYRIGHT

    Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_new_id.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_new_id.html new file mode 120000 index 0000000..0a87b65 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_new_id.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set0_dh_kdf_oid.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set0_dh_kdf_oid.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set0_dh_kdf_oid.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set0_dh_kdf_ukm.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set0_dh_kdf_ukm.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set0_dh_kdf_ukm.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set0_ecdh_kdf_ukm.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set0_ecdh_kdf_ukm.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set0_ecdh_kdf_ukm.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set0_rsa_oaep_label.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set0_rsa_oaep_label.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set0_rsa_oaep_label.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set1_hkdf_key.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set1_hkdf_key.html new file mode 120000 index 0000000..8821d0b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set1_hkdf_key.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_set_hkdf_md.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set1_hkdf_salt.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set1_hkdf_salt.html new file mode 120000 index 0000000..8821d0b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set1_hkdf_salt.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_set_hkdf_md.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set1_id.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set1_id.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set1_id.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set1_pbe_pass.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set1_pbe_pass.html index 9216111..899109d 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set1_pbe_pass.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set1_pbe_pass.html @@ -84,7 +84,7 @@ the public key algorithm.


    COPYRIGHT

    Copyright 2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set1_scrypt_salt.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set1_scrypt_salt.html new file mode 120000 index 0000000..0f72a5c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set1_scrypt_salt.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_set_scrypt_N.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set1_tls1_prf_secret.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set1_tls1_prf_secret.html new file mode 120000 index 0000000..ce13cf2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set1_tls1_prf_secret.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_set_tls1_prf_md.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_app_data.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_app_data.html new file mode 120000 index 0000000..e3d9ece --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_app_data.html @@ -0,0 +1 @@ +EVP_PKEY_keygen.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_cb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_cb.html new file mode 120000 index 0000000..e3d9ece --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_cb.html @@ -0,0 +1 @@ +EVP_PKEY_keygen.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dh_kdf_md.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dh_kdf_md.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dh_kdf_md.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dh_kdf_outlen.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dh_kdf_outlen.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dh_kdf_outlen.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dh_kdf_type.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dh_kdf_type.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dh_kdf_type.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dh_nid.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dh_nid.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dh_nid.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dh_pad.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dh_pad.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dh_pad.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dh_paramgen_generator.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dh_paramgen_generator.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dh_paramgen_generator.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dh_paramgen_prime_len.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dh_paramgen_prime_len.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dh_paramgen_prime_len.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dh_paramgen_subprime_len.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dh_paramgen_subprime_len.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dh_paramgen_subprime_len.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dh_paramgen_type.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dh_paramgen_type.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dh_paramgen_type.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dh_rfc5114.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dh_rfc5114.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dh_rfc5114.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dhx_rfc5114.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dhx_rfc5114.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dhx_rfc5114.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dsa_paramgen_bits.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dsa_paramgen_bits.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dsa_paramgen_bits.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dsa_paramgen_md.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dsa_paramgen_md.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dsa_paramgen_md.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dsa_paramgen_q_bits.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dsa_paramgen_q_bits.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_dsa_paramgen_q_bits.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_ec_param_enc.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_ec_param_enc.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_ec_param_enc.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_ec_paramgen_curve_nid.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_ec_paramgen_curve_nid.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_ec_paramgen_curve_nid.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_ecdh_cofactor_mode.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_ecdh_cofactor_mode.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_ecdh_cofactor_mode.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_ecdh_kdf_md.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_ecdh_kdf_md.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_ecdh_kdf_md.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_ecdh_kdf_outlen.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_ecdh_kdf_outlen.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_ecdh_kdf_outlen.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_ecdh_kdf_type.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_ecdh_kdf_type.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_ecdh_kdf_type.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_hkdf_md.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_hkdf_md.html index 072ebf9..9ec4c17 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_hkdf_md.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_hkdf_md.html @@ -189,8 +189,8 @@ salt value "salt" and info value "label":


    COPYRIGHT

    -

    Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_mac_key.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_mac_key.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_mac_key.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_rsa_keygen_bits.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_rsa_keygen_bits.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_rsa_keygen_bits.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_rsa_keygen_primes.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_rsa_keygen_primes.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_rsa_keygen_primes.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_rsa_keygen_pubexp.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_rsa_keygen_pubexp.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_rsa_keygen_pubexp.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_rsa_mgf1_md.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_rsa_mgf1_md.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_rsa_mgf1_md.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_rsa_oaep_md.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_rsa_oaep_md.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_rsa_oaep_md.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_rsa_padding.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_rsa_padding.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_rsa_padding.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_md.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_md.html index 442ce71..d49bd56 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_md.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_md.html @@ -73,10 +73,10 @@ made to set the salt length below the minimum value. It is otherwise similar to the RSA operation except detection of the salt length (using RSA_PSS_SALTLEN_AUTO) is not supported for verification if the key has usage restrictions.

    -

    The EVP_PKEY_CTX_set_signature_md(3) and EVP_PKEY_CTX_set_rsa_mgf1_md(3) -fuunctions are used to set the digest and MGF1 algorithms respectively. If the -key has usage restrictions then an error is returned if an attempt is made to -set the digest to anything other than the restricted value. Otherwise these are +

    The EVP_PKEY_CTX_set_signature_md() and EVP_PKEY_CTX_set_rsa_mgf1_md() macros +are used to set the digest and MGF1 algorithms respectively. If the key has +usage restrictions then an error is returned if an attempt is made to set the +digest to anything other than the restricted value. Otherwise these are similar to the RSA versions.

    @@ -123,7 +123,7 @@ the public key algorithm.


    COPYRIGHT

    Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md.html new file mode 120000 index 0000000..b006c2f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_set_rsa_pss_keygen_md.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen.html new file mode 120000 index 0000000..b006c2f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_set_rsa_pss_keygen_md.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_rsa_pss_saltlen.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_rsa_pss_saltlen.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_rsa_pss_saltlen.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_scrypt_N.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_scrypt_N.html index 7f6c25b..f2ec6b4 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_scrypt_N.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_scrypt_N.html @@ -64,7 +64,7 @@ EVP_PKEY_CTX_set_scrypt_maxmem_bytes

    DESCRIPTION

    These functions are used to set up the necessary data to use the scrypt KDF. -For more information on scrypt, see EVP_KDF-SCRYPT(7).

    +For more information on scrypt, see scrypt(7).

    EVP_PKEY_CTX_set1_scrypt_salt() sets the saltlen bytes long salt value.

    EVP_PKEY_CTX_set_scrypt_N(), EVP_PKEY_CTX_set_scrypt_r() and @@ -88,8 +88,6 @@ respectively.


    NOTES

    -

    There is a newer generic API for KDFs, EVP_KDF(3), which is -preferred over the EVP_PKEY method.

    The scrypt KDF also uses EVP_PKEY_CTX_set1_pbe_pass() as well as the value from the string controls "pass" and "hexpass". See EVP_PKEY_CTX_set1_pbe_pass(3).

    @@ -106,7 +104,7 @@ supported by the public key algorithm.


    SEE ALSO

    -

    EVP_KDF(3) +

    scrypt(7), EVP_PKEY_CTX_new(3), EVP_PKEY_CTX_ctrl_str(3), EVP_PKEY_derive(3)

    @@ -115,7 +113,7 @@ supported by the public key algorithm.


    COPYRIGHT

    Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_scrypt_maxmem_bytes.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_scrypt_maxmem_bytes.html new file mode 120000 index 0000000..0f72a5c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_scrypt_maxmem_bytes.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_set_scrypt_N.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_scrypt_p.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_scrypt_p.html new file mode 120000 index 0000000..0f72a5c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_scrypt_p.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_set_scrypt_N.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_scrypt_r.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_scrypt_r.html new file mode 120000 index 0000000..0f72a5c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_scrypt_r.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_set_scrypt_N.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_signature_md.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_signature_md.html new file mode 120000 index 0000000..ce5e26f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_signature_md.html @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_tls1_prf_md.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_tls1_prf_md.html index 1771392..c587bb5 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_tls1_prf_md.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_CTX_set_tls1_prf_md.html @@ -133,8 +133,8 @@ and seed value "seed":


    COPYRIGHT

    -

    Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_METHOD.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_METHOD.html new file mode 120000 index 0000000..6acd2dc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_METHOD.html @@ -0,0 +1 @@ +EVP_PKEY_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_add0.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_add0.html new file mode 120000 index 0000000..660161e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_add0.html @@ -0,0 +1 @@ +EVP_PKEY_ASN1_METHOD.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_add_alias.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_add_alias.html new file mode 120000 index 0000000..660161e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_add_alias.html @@ -0,0 +1 @@ +EVP_PKEY_ASN1_METHOD.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_copy.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_copy.html new file mode 120000 index 0000000..660161e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_copy.html @@ -0,0 +1 @@ +EVP_PKEY_ASN1_METHOD.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_find.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_find.html new file mode 120000 index 0000000..2b3a70f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_find.html @@ -0,0 +1 @@ +EVP_PKEY_asn1_get_count.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_find_str.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_find_str.html new file mode 120000 index 0000000..2b3a70f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_find_str.html @@ -0,0 +1 @@ +EVP_PKEY_asn1_get_count.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_free.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_free.html new file mode 120000 index 0000000..660161e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_free.html @@ -0,0 +1 @@ +EVP_PKEY_ASN1_METHOD.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_get0.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_get0.html new file mode 120000 index 0000000..2b3a70f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_get0.html @@ -0,0 +1 @@ +EVP_PKEY_asn1_get_count.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_get0_info.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_get0_info.html new file mode 120000 index 0000000..2b3a70f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_get0_info.html @@ -0,0 +1 @@ +EVP_PKEY_asn1_get_count.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_get_count.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_get_count.html index c85ccef..9d11039 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_get_count.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_get_count.html @@ -99,8 +99,8 @@ out of range.


    COPYRIGHT

    -

    Copyright 2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2017-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_new.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_new.html new file mode 120000 index 0000000..660161e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_new.html @@ -0,0 +1 @@ +EVP_PKEY_ASN1_METHOD.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_check.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_check.html new file mode 120000 index 0000000..660161e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_check.html @@ -0,0 +1 @@ +EVP_PKEY_ASN1_METHOD.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_ctrl.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_ctrl.html new file mode 120000 index 0000000..660161e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_ctrl.html @@ -0,0 +1 @@ +EVP_PKEY_ASN1_METHOD.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_free.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_free.html new file mode 120000 index 0000000..660161e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_free.html @@ -0,0 +1 @@ +EVP_PKEY_ASN1_METHOD.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_get_priv_key.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_get_priv_key.html new file mode 120000 index 0000000..660161e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_get_priv_key.html @@ -0,0 +1 @@ +EVP_PKEY_ASN1_METHOD.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_get_pub_key.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_get_pub_key.html new file mode 120000 index 0000000..660161e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_get_pub_key.html @@ -0,0 +1 @@ +EVP_PKEY_ASN1_METHOD.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_item.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_item.html new file mode 120000 index 0000000..660161e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_item.html @@ -0,0 +1 @@ +EVP_PKEY_ASN1_METHOD.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_param.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_param.html new file mode 120000 index 0000000..660161e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_param.html @@ -0,0 +1 @@ +EVP_PKEY_ASN1_METHOD.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_param_check.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_param_check.html new file mode 120000 index 0000000..660161e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_param_check.html @@ -0,0 +1 @@ +EVP_PKEY_ASN1_METHOD.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_private.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_private.html new file mode 120000 index 0000000..660161e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_private.html @@ -0,0 +1 @@ +EVP_PKEY_ASN1_METHOD.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_public.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_public.html new file mode 120000 index 0000000..660161e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_public.html @@ -0,0 +1 @@ +EVP_PKEY_ASN1_METHOD.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_public_check.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_public_check.html new file mode 120000 index 0000000..660161e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_public_check.html @@ -0,0 +1 @@ +EVP_PKEY_ASN1_METHOD.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_security_bits.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_security_bits.html new file mode 120000 index 0000000..660161e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_security_bits.html @@ -0,0 +1 @@ +EVP_PKEY_ASN1_METHOD.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_set_priv_key.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_set_priv_key.html new file mode 120000 index 0000000..660161e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_set_priv_key.html @@ -0,0 +1 @@ +EVP_PKEY_ASN1_METHOD.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_set_pub_key.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_set_pub_key.html new file mode 120000 index 0000000..660161e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_set_pub_key.html @@ -0,0 +1 @@ +EVP_PKEY_ASN1_METHOD.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_siginf.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_siginf.html new file mode 120000 index 0000000..660161e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_asn1_set_siginf.html @@ -0,0 +1 @@ +EVP_PKEY_ASN1_METHOD.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_assign_DH.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_assign_DH.html new file mode 120000 index 0000000..146ea9b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_assign_DH.html @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_assign_DSA.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_assign_DSA.html new file mode 120000 index 0000000..146ea9b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_assign_DSA.html @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_assign_EC_KEY.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_assign_EC_KEY.html new file mode 120000 index 0000000..146ea9b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_assign_EC_KEY.html @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_assign_POLY1305.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_assign_POLY1305.html new file mode 120000 index 0000000..146ea9b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_assign_POLY1305.html @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_assign_RSA.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_assign_RSA.html new file mode 120000 index 0000000..146ea9b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_assign_RSA.html @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_assign_SIPHASH.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_assign_SIPHASH.html new file mode 120000 index 0000000..146ea9b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_assign_SIPHASH.html @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_base_id.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_base_id.html new file mode 120000 index 0000000..146ea9b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_base_id.html @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_cmp.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_cmp.html index d170a85..fe92e6d 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_cmp.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_cmp.html @@ -96,7 +96,7 @@ keys match, 0 if they don't match, -1 if the key types are different and

    COPYRIGHT

    Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_cmp_parameters.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_cmp_parameters.html new file mode 120000 index 0000000..9ee805b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_cmp_parameters.html @@ -0,0 +1 @@ +EVP_PKEY_cmp.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_copy_parameters.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_copy_parameters.html new file mode 120000 index 0000000..9ee805b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_copy_parameters.html @@ -0,0 +1 @@ +EVP_PKEY_cmp.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_decrypt.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_decrypt.html index e82ced5..862bf81 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_decrypt.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_decrypt.html @@ -135,8 +135,8 @@ indicates the operation is not supported by the public key algorithm.


    COPYRIGHT

    -

    Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2006-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_decrypt_init.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_decrypt_init.html new file mode 120000 index 0000000..9b840c6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_decrypt_init.html @@ -0,0 +1 @@ +EVP_PKEY_decrypt.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_derive.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_derive.html index cd8fa45..4e3cc00 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_derive.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_derive.html @@ -35,8 +35,7 @@


    NAME

    -

    EVP_PKEY_derive_init, EVP_PKEY_derive_set_peer, EVP_PKEY_derive -- derive public key algorithm shared secret

    +

    EVP_PKEY_derive_init, EVP_PKEY_derive_set_peer, EVP_PKEY_derive - derive public key algorithm shared secret


    @@ -51,36 +50,32 @@


    DESCRIPTION

    -

    EVP_PKEY_derive_init() initializes a public key algorithm context ctx for -shared secret derivation using the algorithm given when the context was created -using EVP_PKEY_CTX_new(3) or variants thereof. The algorithm is used to -fetch a EVP_KEYEXCH method implicitly, see provider(7)/Implicit fetch for -more information about implict fetches.

    -

    EVP_PKEY_derive_set_peer() sets the peer key: this will normally +

    The EVP_PKEY_derive_init() function initializes a public key algorithm +context using key pkey for shared secret derivation.

    +

    The EVP_PKEY_derive_set_peer() function sets the peer key: this will normally be a public key.

    -

    EVP_PKEY_derive() derives a shared secret using ctx. -If key is NULL then the maximum size of the output buffer is written to the -keylen parameter. If key is not NULL then before the call the keylen -parameter should contain the length of the key buffer, if the call is -successful the shared secret is written to key and the amount of data -written to keylen.

    +

    The EVP_PKEY_derive() derives a shared secret using ctx. +If key is NULL then the maximum size of the output buffer is written to +the keylen parameter. If key is not NULL then before the call the +keylen parameter should contain the length of the key buffer, if the call +is successful the shared secret is written to key and the amount of data +written to keylen.


    NOTES

    -

    After the call to EVP_PKEY_derive_init(), algorithm -specific control operations can be performed to set any appropriate parameters -for the operation.

    +

    After the call to EVP_PKEY_derive_init() algorithm specific control +operations can be performed to set any appropriate parameters for the +operation.

    The function EVP_PKEY_derive() can be called more than once on the same context if several operations are performed using the same parameters.


    RETURN VALUES

    -

    EVP_PKEY_derive_init() and EVP_PKEY_derive() return 1 -for success and 0 or a negative value for failure. -In particular a return value of -2 indicates the operation is not supported by -the public key algorithm.

    +

    EVP_PKEY_derive_init() and EVP_PKEY_derive() return 1 for success and 0 +or a negative value for failure. In particular a return value of -2 +indicates the operation is not supported by the public key algorithm.


    @@ -127,8 +122,7 @@ the public key algorithm.

    EVP_PKEY_decrypt(3), EVP_PKEY_sign(3), EVP_PKEY_verify(3), -EVP_PKEY_verify_recover(3), -EVP_KEYEXCH_fetch(3)

    +EVP_PKEY_verify_recover(3),


    @@ -138,8 +132,8 @@ the public key algorithm.


    COPYRIGHT

    -

    Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2006-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_derive_init.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_derive_init.html new file mode 120000 index 0000000..9f9a1fd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_derive_init.html @@ -0,0 +1 @@ +EVP_PKEY_derive.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_derive_set_peer.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_derive_set_peer.html new file mode 120000 index 0000000..9f9a1fd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_derive_set_peer.html @@ -0,0 +1 @@ +EVP_PKEY_derive.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_encrypt.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_encrypt.html index 9b4097f..cc61c76 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_encrypt.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_encrypt.html @@ -140,8 +140,8 @@ set 'eng = NULL;' to start with the default OpenSSL RSA implementation:


    COPYRIGHT

    -

    Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2006-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_encrypt_init.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_encrypt_init.html new file mode 120000 index 0000000..cd25287 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_encrypt_init.html @@ -0,0 +1 @@ +EVP_PKEY_encrypt.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_free.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_free.html new file mode 120000 index 0000000..4adda42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_free.html @@ -0,0 +1 @@ +EVP_PKEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_gen_cb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_gen_cb.html new file mode 120000 index 0000000..e3d9ece --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_gen_cb.html @@ -0,0 +1 @@ +EVP_PKEY_keygen.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get0_DH.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get0_DH.html new file mode 120000 index 0000000..146ea9b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get0_DH.html @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get0_DSA.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get0_DSA.html new file mode 120000 index 0000000..146ea9b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get0_DSA.html @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get0_EC_KEY.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get0_EC_KEY.html new file mode 120000 index 0000000..146ea9b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get0_EC_KEY.html @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get0_RSA.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get0_RSA.html new file mode 120000 index 0000000..146ea9b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get0_RSA.html @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get0_asn1.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get0_asn1.html new file mode 120000 index 0000000..660161e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get0_asn1.html @@ -0,0 +1 @@ +EVP_PKEY_ASN1_METHOD.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get0_engine.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get0_engine.html new file mode 120000 index 0000000..146ea9b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get0_engine.html @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get0_hmac.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get0_hmac.html new file mode 120000 index 0000000..146ea9b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get0_hmac.html @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get0_poly1305.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get0_poly1305.html new file mode 120000 index 0000000..146ea9b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get0_poly1305.html @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get0_siphash.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get0_siphash.html new file mode 120000 index 0000000..146ea9b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get0_siphash.html @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get1_DH.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get1_DH.html new file mode 120000 index 0000000..146ea9b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get1_DH.html @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get1_DSA.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get1_DSA.html new file mode 120000 index 0000000..146ea9b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get1_DSA.html @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get1_EC_KEY.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get1_EC_KEY.html new file mode 120000 index 0000000..146ea9b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get1_EC_KEY.html @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get1_RSA.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get1_RSA.html new file mode 120000 index 0000000..146ea9b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get1_RSA.html @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get_default_digest_nid.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get_default_digest_nid.html index 5150376..74c76f4 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get_default_digest_nid.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get_default_digest_nid.html @@ -34,56 +34,42 @@


    NAME

    -

    EVP_PKEY_get_default_digest_nid, EVP_PKEY_get_default_digest_name -- get default signature digest

    +

    EVP_PKEY_get_default_digest_nid - get default signature digest


    SYNOPSIS

    - #include <openssl/evp.h>
    -
    - int EVP_PKEY_get_default_digest_name(EVP_PKEY *pkey,
    -                                      char *mdname, size_t mdname_sz)
    + #include <openssl/evp.h>
      int EVP_PKEY_get_default_digest_nid(EVP_PKEY *pkey, int *pnid);


    DESCRIPTION

    -

    EVP_PKEY_get_default_digest_name() fills in the default message digest -name for the public key signature operations associated with key -pkey into mdname, up to at most mdname_sz bytes including the -ending NUL byte.

    -

    EVP_PKEY_get_default_digest_nid() sets pnid to the default message -digest NID for the public key signature operations associated with key -pkey. Note that some signature algorithms (i.e. Ed25519 and Ed448) -do not use a digest during signing. In this case pnid will be set -to NID_undef. This function is only reliable for legacy keys, which -are keys with a EVP_PKEY_ASN1_METHOD; these keys have typically -been loaded from engines, or created with EVP_PKEY_assign_RSA(3) or -similar.

    +

    The EVP_PKEY_get_default_digest_nid() function sets pnid to the default +message digest NID for the public key signature operations associated with key +pkey. Note that some signature algorithms (i.e. Ed25519 and Ed448) do not use +a digest during signing. In this case pnid will be set to NID_undef.


    NOTES

    -

    For all current standard OpenSSL public key algorithms SHA256 is returned.

    +

    For all current standard OpenSSL public key algorithms SHA1 is returned.


    RETURN VALUES

    -

    EVP_PKEY_get_default_digest_name() and EVP_PKEY_get_default_digest_nid() -both return 1 if the message digest is advisory (that is other digests -can be used) and 2 if it is mandatory (other digests can not be used). -They return 0 or a negative value for failure. In particular a return -value of -2 indicates the operation is not supported by the public key -algorithm.

    +

    The EVP_PKEY_get_default_digest_nid() function returns 1 if the message digest +is advisory (that is other digests can be used) and 2 if it is mandatory (other +digests can not be used). It returns 0 or a negative value for failure. In +particular a return value of -2 indicates the operation is not supported by the +public key algorithm.


    SEE ALSO

    EVP_PKEY_CTX_new(3), EVP_PKEY_sign(3), -EVP_PKEY_supports_digest_nid(3), EVP_PKEY_verify(3), EVP_PKEY_verify_recover(3),

    @@ -96,7 +82,7 @@ algorithm.


    COPYRIGHT

    Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get_raw_private_key.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get_raw_private_key.html new file mode 120000 index 0000000..4adda42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get_raw_private_key.html @@ -0,0 +1 @@ +EVP_PKEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get_raw_public_key.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get_raw_public_key.html new file mode 120000 index 0000000..4adda42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_get_raw_public_key.html @@ -0,0 +1 @@ +EVP_PKEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_id.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_id.html new file mode 120000 index 0000000..146ea9b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_id.html @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_keygen.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_keygen.html index a85f863..fd724b2 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_keygen.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_keygen.html @@ -39,7 +39,8 @@ EVP_PKEY_paramgen, EVP_PKEY_CTX_set_cb, EVP_PKEY_CTX_get_cb, EVP_PKEY_CTX_get_keygen_info, EVP_PKEY_CTX_set_app_data, EVP_PKEY_CTX_get_app_data, -EVP_PKEY_gen_cb +EVP_PKEY_gen_cb, EVP_PKEY_check, EVP_PKEY_public_check, +EVP_PKEY_param_check - key and parameter generation and check functions

    @@ -62,6 +63,10 @@ EVP_PKEY_gen_cb
      void EVP_PKEY_CTX_set_app_data(EVP_PKEY_CTX *ctx, void *data);
      void *EVP_PKEY_CTX_get_app_data(EVP_PKEY_CTX *ctx);
    +
    + int EVP_PKEY_check(EVP_PKEY_CTX *ctx);
    + int EVP_PKEY_public_check(EVP_PKEY_CTX *ctx);
    + int EVP_PKEY_param_check(EVP_PKEY_CTX *ctx);


    @@ -87,6 +92,15 @@ a user clicks on a "cancel" button.

    and retrieve an opaque pointer. This can be used to set some application defined value which can be retrieved in the callback: for example a handle which is used to update a "progress dialog".

    +

    EVP_PKEY_check() validates the key-pair given by ctx. This function first tries +to use customized key check method in EVP_PKEY_METHOD if it's present; otherwise +it calls a default one defined in EVP_PKEY_ASN1_METHOD.

    +

    EVP_PKEY_public_check() validates the public component of the key-pair given by ctx. +This function first tries to use customized key check method in EVP_PKEY_METHOD +if it's present; otherwise it calls a default one defined in EVP_PKEY_ASN1_METHOD.

    +

    EVP_PKEY_param_check() validates the algorithm parameters of the key-pair given by ctx. +This function first tries to use customized key check method in EVP_PKEY_METHOD +if it's present; otherwise it calls a default one defined in EVP_PKEY_ASN1_METHOD.


    @@ -116,6 +130,9 @@ in functions which require the use of a public key or parameters.

    EVP_PKEY_paramgen() return 1 for success and 0 or a negative value for failure. In particular a return value of -2 indicates the operation is not supported by the public key algorithm.

    +

    EVP_PKEY_check(), EVP_PKEY_public_check() and EVP_PKEY_param_check() return 1 +for success or others for failure. They return -2 if the operation is not supported +for the specific algorithm.


    @@ -198,12 +215,14 @@ the public key algorithm.


    HISTORY

    These functions were added in OpenSSL 1.0.0.

    +

    EVP_PKEY_check(), EVP_PKEY_public_check() and EVP_PKEY_param_check() were added +in OpenSSL 1.1.1.


    COPYRIGHT

    Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_keygen_init.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_keygen_init.html new file mode 120000 index 0000000..e3d9ece --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_keygen_init.html @@ -0,0 +1 @@ +EVP_PKEY_keygen.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_add0.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_add0.html new file mode 120000 index 0000000..6acd2dc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_add0.html @@ -0,0 +1 @@ +EVP_PKEY_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_copy.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_copy.html new file mode 120000 index 0000000..6acd2dc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_copy.html @@ -0,0 +1 @@ +EVP_PKEY_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_find.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_find.html new file mode 120000 index 0000000..6acd2dc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_find.html @@ -0,0 +1 @@ +EVP_PKEY_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_free.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_free.html new file mode 120000 index 0000000..6acd2dc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_free.html @@ -0,0 +1 @@ +EVP_PKEY_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get0.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get0.html new file mode 120000 index 0000000..58efab3 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get0.html @@ -0,0 +1 @@ +EVP_PKEY_meth_get_count.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get0_info.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get0_info.html new file mode 120000 index 0000000..58efab3 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get0_info.html @@ -0,0 +1 @@ +EVP_PKEY_meth_get_count.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_check.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_check.html new file mode 120000 index 0000000..6acd2dc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_check.html @@ -0,0 +1 @@ +EVP_PKEY_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_cleanup.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_cleanup.html new file mode 120000 index 0000000..6acd2dc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_cleanup.html @@ -0,0 +1 @@ +EVP_PKEY_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_copy.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_copy.html new file mode 120000 index 0000000..6acd2dc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_copy.html @@ -0,0 +1 @@ +EVP_PKEY_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_count.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_count.html index 3212811..8d4c045 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_count.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_count.html @@ -73,7 +73,7 @@ out of range.


    COPYRIGHT

    Copyright 2002-2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_ctrl.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_ctrl.html new file mode 120000 index 0000000..6acd2dc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_ctrl.html @@ -0,0 +1 @@ +EVP_PKEY_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_decrypt.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_decrypt.html new file mode 120000 index 0000000..6acd2dc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_decrypt.html @@ -0,0 +1 @@ +EVP_PKEY_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_derive.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_derive.html new file mode 120000 index 0000000..6acd2dc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_derive.html @@ -0,0 +1 @@ +EVP_PKEY_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_digest_custom.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_digest_custom.html new file mode 120000 index 0000000..6acd2dc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_digest_custom.html @@ -0,0 +1 @@ +EVP_PKEY_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_digestsign.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_digestsign.html new file mode 120000 index 0000000..6acd2dc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_digestsign.html @@ -0,0 +1 @@ +EVP_PKEY_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_digestverify.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_digestverify.html new file mode 120000 index 0000000..6acd2dc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_digestverify.html @@ -0,0 +1 @@ +EVP_PKEY_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_encrypt.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_encrypt.html new file mode 120000 index 0000000..6acd2dc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_encrypt.html @@ -0,0 +1 @@ +EVP_PKEY_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_init.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_init.html new file mode 120000 index 0000000..6acd2dc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_init.html @@ -0,0 +1 @@ +EVP_PKEY_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_keygen.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_keygen.html new file mode 120000 index 0000000..6acd2dc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_keygen.html @@ -0,0 +1 @@ +EVP_PKEY_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_param_check.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_param_check.html new file mode 120000 index 0000000..6acd2dc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_param_check.html @@ -0,0 +1 @@ +EVP_PKEY_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_paramgen.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_paramgen.html new file mode 120000 index 0000000..6acd2dc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_paramgen.html @@ -0,0 +1 @@ +EVP_PKEY_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_public_check.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_public_check.html new file mode 120000 index 0000000..6acd2dc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_public_check.html @@ -0,0 +1 @@ +EVP_PKEY_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_sign.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_sign.html new file mode 120000 index 0000000..6acd2dc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_sign.html @@ -0,0 +1 @@ +EVP_PKEY_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_signctx.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_signctx.html new file mode 120000 index 0000000..6acd2dc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_signctx.html @@ -0,0 +1 @@ +EVP_PKEY_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_verify.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_verify.html new file mode 120000 index 0000000..6acd2dc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_verify.html @@ -0,0 +1 @@ +EVP_PKEY_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_verify_recover.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_verify_recover.html new file mode 120000 index 0000000..6acd2dc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_verify_recover.html @@ -0,0 +1 @@ +EVP_PKEY_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_verifyctx.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_verifyctx.html new file mode 120000 index 0000000..6acd2dc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_get_verifyctx.html @@ -0,0 +1 @@ +EVP_PKEY_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_new.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_new.html index a5f178c..770d662 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_new.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_new.html @@ -451,8 +451,8 @@ arguments.


    COPYRIGHT

    -

    Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2017-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_remove.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_remove.html new file mode 120000 index 0000000..6acd2dc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_remove.html @@ -0,0 +1 @@ +EVP_PKEY_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_check.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_check.html new file mode 120000 index 0000000..6acd2dc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_check.html @@ -0,0 +1 @@ +EVP_PKEY_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_cleanup.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_cleanup.html new file mode 120000 index 0000000..6acd2dc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_cleanup.html @@ -0,0 +1 @@ +EVP_PKEY_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_copy.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_copy.html new file mode 120000 index 0000000..6acd2dc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_copy.html @@ -0,0 +1 @@ +EVP_PKEY_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_ctrl.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_ctrl.html new file mode 120000 index 0000000..6acd2dc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_ctrl.html @@ -0,0 +1 @@ +EVP_PKEY_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_decrypt.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_decrypt.html new file mode 120000 index 0000000..6acd2dc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_decrypt.html @@ -0,0 +1 @@ +EVP_PKEY_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_derive.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_derive.html new file mode 120000 index 0000000..6acd2dc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_derive.html @@ -0,0 +1 @@ +EVP_PKEY_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_digest_custom.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_digest_custom.html new file mode 120000 index 0000000..6acd2dc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_digest_custom.html @@ -0,0 +1 @@ +EVP_PKEY_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_digestsign.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_digestsign.html new file mode 120000 index 0000000..6acd2dc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_digestsign.html @@ -0,0 +1 @@ +EVP_PKEY_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_digestverify.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_digestverify.html new file mode 120000 index 0000000..6acd2dc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_digestverify.html @@ -0,0 +1 @@ +EVP_PKEY_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_encrypt.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_encrypt.html new file mode 120000 index 0000000..6acd2dc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_encrypt.html @@ -0,0 +1 @@ +EVP_PKEY_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_init.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_init.html new file mode 120000 index 0000000..6acd2dc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_init.html @@ -0,0 +1 @@ +EVP_PKEY_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_keygen.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_keygen.html new file mode 120000 index 0000000..6acd2dc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_keygen.html @@ -0,0 +1 @@ +EVP_PKEY_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_param_check.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_param_check.html new file mode 120000 index 0000000..6acd2dc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_param_check.html @@ -0,0 +1 @@ +EVP_PKEY_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_paramgen.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_paramgen.html new file mode 120000 index 0000000..6acd2dc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_paramgen.html @@ -0,0 +1 @@ +EVP_PKEY_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_public_check.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_public_check.html new file mode 120000 index 0000000..6acd2dc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_public_check.html @@ -0,0 +1 @@ +EVP_PKEY_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_sign.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_sign.html new file mode 120000 index 0000000..6acd2dc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_sign.html @@ -0,0 +1 @@ +EVP_PKEY_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_signctx.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_signctx.html new file mode 120000 index 0000000..6acd2dc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_signctx.html @@ -0,0 +1 @@ +EVP_PKEY_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_verify.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_verify.html new file mode 120000 index 0000000..6acd2dc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_verify.html @@ -0,0 +1 @@ +EVP_PKEY_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_verify_recover.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_verify_recover.html new file mode 120000 index 0000000..6acd2dc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_verify_recover.html @@ -0,0 +1 @@ +EVP_PKEY_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_verifyctx.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_verifyctx.html new file mode 120000 index 0000000..6acd2dc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_meth_set_verifyctx.html @@ -0,0 +1 @@ +EVP_PKEY_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_missing_parameters.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_missing_parameters.html new file mode 120000 index 0000000..9ee805b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_missing_parameters.html @@ -0,0 +1 @@ +EVP_PKEY_cmp.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_new.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_new.html index 52edc2c..559b7c7 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_new.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_new.html @@ -122,8 +122,8 @@ only works for algorithms that support raw public keys. Currently this is: general private key without reference to any particular algorithm.

    The structure returned by EVP_PKEY_new() is empty. To add a private or public key to this empty structure use the appropriate functions described in -EVP_PKEY_set1_RSA(3), EVP_PKEY_set1_DSA(3), EVP_PKEY_set1_DH(3) or -EVP_PKEY_set1_EC_KEY(3).

    +EVP_PKEY_set1_RSA(3), EVP_PKEY_set1_DSA, EVP_PKEY_set1_DH or +EVP_PKEY_set1_EC_KEY.


    @@ -137,8 +137,8 @@ allocated EVP_PKEY structure or NULL if an err


    SEE ALSO

    -

    EVP_PKEY_set1_RSA(3), EVP_PKEY_set1_DSA(3), EVP_PKEY_set1_DH(3) or -EVP_PKEY_set1_EC_KEY(3)

    +

    EVP_PKEY_set1_RSA(3), EVP_PKEY_set1_DSA, EVP_PKEY_set1_DH or +EVP_PKEY_set1_EC_KEY


    @@ -155,7 +155,7 @@ allocated EVP_PKEY structure or NULL if an err

    COPYRIGHT

    Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_new_CMAC_key.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_new_CMAC_key.html new file mode 120000 index 0000000..4adda42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_new_CMAC_key.html @@ -0,0 +1 @@ +EVP_PKEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_new_mac_key.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_new_mac_key.html new file mode 120000 index 0000000..4adda42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_new_mac_key.html @@ -0,0 +1 @@ +EVP_PKEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_new_raw_private_key.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_new_raw_private_key.html new file mode 120000 index 0000000..4adda42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_new_raw_private_key.html @@ -0,0 +1 @@ +EVP_PKEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_new_raw_public_key.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_new_raw_public_key.html new file mode 120000 index 0000000..4adda42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_new_raw_public_key.html @@ -0,0 +1 @@ +EVP_PKEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_param_check.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_param_check.html new file mode 120000 index 0000000..e3d9ece --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_param_check.html @@ -0,0 +1 @@ +EVP_PKEY_keygen.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_paramgen.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_paramgen.html new file mode 120000 index 0000000..e3d9ece --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_paramgen.html @@ -0,0 +1 @@ +EVP_PKEY_keygen.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_paramgen_init.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_paramgen_init.html new file mode 120000 index 0000000..e3d9ece --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_paramgen_init.html @@ -0,0 +1 @@ +EVP_PKEY_keygen.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_print_params.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_print_params.html new file mode 120000 index 0000000..3480a4e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_print_params.html @@ -0,0 +1 @@ +EVP_PKEY_print_private.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_print_private.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_print_private.html index c8fb7ec..5b0d293 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_print_private.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_print_private.html @@ -90,7 +90,7 @@ the public key algorithm.


    COPYRIGHT

    Copyright 2006-2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_print_public.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_print_public.html new file mode 120000 index 0000000..3480a4e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_print_public.html @@ -0,0 +1 @@ +EVP_PKEY_print_private.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_public_check.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_public_check.html new file mode 120000 index 0000000..e3d9ece --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_public_check.html @@ -0,0 +1 @@ +EVP_PKEY_keygen.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_security_bits.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_security_bits.html new file mode 120000 index 0000000..8074b72 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_security_bits.html @@ -0,0 +1 @@ +EVP_SignInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_set1_DH.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_set1_DH.html new file mode 120000 index 0000000..146ea9b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_set1_DH.html @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_set1_DSA.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_set1_DSA.html new file mode 120000 index 0000000..146ea9b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_set1_DSA.html @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_set1_EC_KEY.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_set1_EC_KEY.html new file mode 120000 index 0000000..146ea9b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_set1_EC_KEY.html @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_set1_RSA.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_set1_RSA.html index e40ef51..df6b881 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_set1_RSA.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_set1_RSA.html @@ -62,10 +62,10 @@ EVP_PKEY_set1_engine, EVP_PKEY_get0_engine - EVP_PKEY assignment functions

    const unsigned char *EVP_PKEY_get0_hmac(const EVP_PKEY *pkey, size_t *len); const unsigned char *EVP_PKEY_get0_poly1305(const EVP_PKEY *pkey, size_t *len); const unsigned char *EVP_PKEY_get0_siphash(const EVP_PKEY *pkey, size_t *len); - RSA *EVP_PKEY_get0_RSA(const EVP_PKEY *pkey); - DSA *EVP_PKEY_get0_DSA(const EVP_PKEY *pkey); - DH *EVP_PKEY_get0_DH(const EVP_PKEY *pkey); - EC_KEY *EVP_PKEY_get0_EC_KEY(const EVP_PKEY *pkey);
    + RSA *EVP_PKEY_get0_RSA(EVP_PKEY *pkey); + DSA *EVP_PKEY_get0_DSA(EVP_PKEY *pkey); + DH *EVP_PKEY_get0_DH(EVP_PKEY *pkey); + EC_KEY *EVP_PKEY_get0_EC_KEY(EVP_PKEY *pkey);
      int EVP_PKEY_assign_RSA(EVP_PKEY *pkey, RSA *key);
      int EVP_PKEY_assign_DSA(EVP_PKEY *pkey, DSA *key);
    @@ -116,7 +116,8 @@ must be called after the key algorithm and components are set up.
     If engine does not include an EVP_PKEY_METHOD for pkey an
     error occurs.

    EVP_PKEY_set_alias_type() allows modifying a EVP_PKEY to use a -different set of algorithms than the default.

    +different set of algorithms than the default. This is currently used +to support SM2 keys, which use an identical encoding to ECDSA.


    @@ -127,14 +128,6 @@ freed as well as pkey.

    EVP_PKEY_assign_RSA(), EVP_PKEY_assign_DSA(), EVP_PKEY_assign_DH(), EVP_PKEY_assign_EC_KEY(), EVP_PKEY_assign_POLY1305() and EVP_PKEY_assign_SIPHASH() are implemented as macros.

    -

    EVP_PKEY_assign_EC_KEY() looks at the curve name id to determine if -the passed EC_KEY is an SM2(7) key, and will set the EVP_PKEY -type to EVP_PKEY_SM2 in that case, instead of EVP_PKEY_EC.

    -

    It's possible to switch back and forth between the types EVP_PKEY_EC -and EVP_PKEY_SM2 with a call to EVP_PKEY_set_alias_type() on keys -assigned with this macro if it's desirable to do a normal EC -computations with the SM2 curve instead of the special SM2 -computations, and vice versa.

    Most applications wishing to know a key type will simply call EVP_PKEY_base_id() and will not care about the actual type: which will be identical in almost all cases.

    @@ -171,13 +164,13 @@ algorithms with EVP_PKEY_set_alias_type:


    SEE ALSO

    -

    EVP_PKEY_new(3), SM2(7)

    +

    EVP_PKEY_new(3)


    COPYRIGHT

    -

    Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2002-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_set1_engine.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_set1_engine.html new file mode 120000 index 0000000..146ea9b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_set1_engine.html @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_set_alias_type.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_set_alias_type.html new file mode 120000 index 0000000..146ea9b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_set_alias_type.html @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_sign.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_sign.html index 2895f1d..a6cbca9 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_sign.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_sign.html @@ -35,8 +35,7 @@


    NAME

    -

    EVP_PKEY_sign_init, EVP_PKEY_sign -- sign using a public key algorithm

    +

    EVP_PKEY_sign_init, EVP_PKEY_sign - sign using a public key algorithm


    @@ -52,18 +51,15 @@


    DESCRIPTION

    -

    EVP_PKEY_sign_init() initializes a public key algorithm context ctx for -signing using the algorithm given when the context was created -using EVP_PKEY_CTX_new(3) or variants thereof. The algorithm is used to -fetch a EVP_SIGNATURE method implicitly, see provider(7)/Implicit fetch -for more information about implict fetches.

    +

    The EVP_PKEY_sign_init() function initializes a public key algorithm +context using key pkey for a signing operation.

    The EVP_PKEY_sign() function performs a public key signing operation -using ctx. The data to be signed is specified using the tbs and -tbslen parameters. If sig is NULL then the maximum size of the output -buffer is written to the siglen parameter. If sig is not NULL then -before the call the siglen parameter should contain the length of the -sig buffer, if the call is successful the signature is written to -sig and the amount of data written to siglen.

    +using ctx. The data to be signed is specified using the tbs and +tbslen parameters. If sig is NULL then the maximum size of the output +buffer is written to the siglen parameter. If sig is not NULL then +before the call the siglen parameter should contain the length of the +sig buffer, if the call is successful the signature is written to +sig and the amount of data written to siglen.


    @@ -147,8 +143,8 @@ indicates the operation is not supported by the public key algorithm.


    COPYRIGHT

    -

    Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2006-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_sign_init.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_sign_init.html new file mode 120000 index 0000000..42f7b6a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_sign_init.html @@ -0,0 +1 @@ +EVP_PKEY_sign.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_type.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_type.html new file mode 120000 index 0000000..146ea9b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_type.html @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_up_ref.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_up_ref.html new file mode 120000 index 0000000..4adda42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_up_ref.html @@ -0,0 +1 @@ +EVP_PKEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_verify.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_verify.html index da27073..cada3cb 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_verify.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_verify.html @@ -35,8 +35,7 @@


    NAME

    -

    EVP_PKEY_verify_init, EVP_PKEY_verify -- signature verification using a public key algorithm

    +

    EVP_PKEY_verify_init, EVP_PKEY_verify - signature verification using a public key algorithm


    @@ -52,15 +51,12 @@


    DESCRIPTION

    -

    EVP_PKEY_verify_init() initializes a public key algorithm context ctx for -signing using the algorithm given when the context was created -using EVP_PKEY_CTX_new(3) or variants thereof. The algorithm is used to -fetch a EVP_SIGNATURE method implicitly, see provider(7)/Implicit fetch -for more information about implict fetches.

    +

    The EVP_PKEY_verify_init() function initializes a public key algorithm +context using key pkey for a signature verification operation.

    The EVP_PKEY_verify() function performs a public key verification operation -using ctx. The signature is specified using the sig and -siglen parameters. The verified data (i.e. the data believed originally -signed) is specified using the tbs and tbslen parameters.

    +using ctx. The signature is specified using the sig and +siglen parameters. The verified data (i.e. the data believed originally +signed) is specified using the tbs and tbslen parameters.


    @@ -136,8 +132,8 @@ the public key algorithm.


    COPYRIGHT

    -

    Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2006-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_verify_init.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_verify_init.html new file mode 120000 index 0000000..31b94d0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_verify_init.html @@ -0,0 +1 @@ +EVP_PKEY_verify.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_verify_recover.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_verify_recover.html index 70d84a4..55cf4e1 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_verify_recover.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_verify_recover.html @@ -35,8 +35,7 @@


    NAME

    -

    EVP_PKEY_verify_recover_init, EVP_PKEY_verify_recover -- recover signature using a public key algorithm

    +

    EVP_PKEY_verify_recover_init, EVP_PKEY_verify_recover - recover signature using a public key algorithm


    @@ -52,18 +51,15 @@


    DESCRIPTION

    -

    EVP_PKEY_verify_recover_init() initializes a public key algorithm context -ctx for signing using the algorithm given when the context was created -using EVP_PKEY_CTX_new(3) or variants thereof. The algorithm is used to -fetch a EVP_SIGNATURE method implicitly, see provider(7)/Implicit fetch -for more information about implict fetches.

    +

    The EVP_PKEY_verify_recover_init() function initializes a public key algorithm +context using key pkey for a verify recover operation.

    The EVP_PKEY_verify_recover() function recovers signed data -using ctx. The signature is specified using the sig and -siglen parameters. If rout is NULL then the maximum size of the output -buffer is written to the routlen parameter. If rout is not NULL then -before the call the routlen parameter should contain the length of the -rout buffer, if the call is successful recovered data is written to -rout and the amount of data written to routlen.

    +using ctx. The signature is specified using the sig and +siglen parameters. If rout is NULL then the maximum size of the output +buffer is written to the routlen parameter. If rout is not NULL then +before the call the routlen parameter should contain the length of the +rout buffer, if the call is successful recovered data is written to +rout and the amount of data written to routlen.


    @@ -146,8 +142,8 @@ indicates the operation is not supported by the public key algorithm.


    COPYRIGHT

    -

    Copyright 2013-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2013-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_verify_recover_init.html b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_verify_recover_init.html new file mode 120000 index 0000000..4b56b84 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_PKEY_verify_recover_init.html @@ -0,0 +1 @@ +EVP_PKEY_verify_recover.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_SealFinal.html b/linux_amd64/share/doc/openssl/html/man3/EVP_SealFinal.html new file mode 120000 index 0000000..55547fb --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_SealFinal.html @@ -0,0 +1 @@ +EVP_SealInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_SealInit.html b/linux_amd64/share/doc/openssl/html/man3/EVP_SealInit.html index b227e88..d4c7504 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_SealInit.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_SealInit.html @@ -112,8 +112,8 @@ with type set to NULL.


    COPYRIGHT

    -

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_SealUpdate.html b/linux_amd64/share/doc/openssl/html/man3/EVP_SealUpdate.html new file mode 120000 index 0000000..55547fb --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_SealUpdate.html @@ -0,0 +1 @@ +EVP_SealInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_SignFinal.html b/linux_amd64/share/doc/openssl/html/man3/EVP_SignFinal.html new file mode 120000 index 0000000..8074b72 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_SignFinal.html @@ -0,0 +1 @@ +EVP_SignInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_SignInit.html b/linux_amd64/share/doc/openssl/html/man3/EVP_SignInit.html index adf88d8..c23703e 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_SignInit.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_SignInit.html @@ -34,8 +34,10 @@


    NAME

    -

    EVP_SignInit, EVP_SignInit_ex, EVP_SignUpdate, EVP_SignFinal -- EVP signing functions

    +

    EVP_PKEY_size, +EVP_SignInit, EVP_SignInit_ex, EVP_SignUpdate, EVP_SignFinal, +EVP_PKEY_security_bits - EVP signing +functions


    @@ -48,33 +50,42 @@ int EVP_SignFinal(EVP_MD_CTX *ctx, unsigned char *sig, unsigned int *s, EVP_PKEY *pkey);
      void EVP_SignInit(EVP_MD_CTX *ctx, const EVP_MD *type);
    +
    + int EVP_PKEY_size(const EVP_PKEY *pkey);
    + int EVP_PKEY_security_bits(const EVP_PKEY *pkey);


    DESCRIPTION

    The EVP signature routines are a high level interface to digital signatures.

    -

    EVP_SignInit_ex() sets up signing context ctx to use digest -type from ENGINE impl. ctx must be created with +

    EVP_SignInit_ex() sets up signing context ctx to use digest +type from ENGINE impl. ctx must be created with EVP_MD_CTX_new() before calling this function.

    -

    EVP_SignUpdate() hashes cnt bytes of data at d into the -signature context ctx. This function can be called several times on the -same ctx to include additional data.

    -

    EVP_SignFinal() signs the data in ctx using the private key pkey and -places the signature in sig. sig must be at least EVP_PKEY_size(pkey) -bytes in size. s is an OUT parameter, and not used as an IN parameter. +

    EVP_SignUpdate() hashes cnt bytes of data at d into the +signature context ctx. This function can be called several times on the +same ctx to include additional data.

    +

    EVP_SignFinal() signs the data in ctx using the private key pkey and +places the signature in sig. sig must be at least EVP_PKEY_size(pkey) +bytes in size. s is an OUT parameter, and not used as an IN parameter. The number of bytes of data written (i.e. the length of the signature) -will be written to the integer at s, at most EVP_PKEY_size(pkey) bytes +will be written to the integer at s, at most EVP_PKEY_size(pkey) bytes will be written.

    -

    EVP_SignInit() initializes a signing context ctx to use the default -implementation of digest type.

    +

    EVP_SignInit() initializes a signing context ctx to use the default +implementation of digest type.

    +

    EVP_PKEY_size() returns the maximum size of a signature in bytes. The actual +signature returned by EVP_SignFinal() may be smaller.

    +

    EVP_PKEY_security_bits() returns the number of security bits of the given pkey, +bits of security is defined in NIST SP800-57.


    RETURN VALUES

    EVP_SignInit_ex(), EVP_SignUpdate() and EVP_SignFinal() return 1 for success and 0 for failure.

    +

    EVP_PKEY_size() returns the maximum size of a signature in bytes.

    The error codes can be obtained by ERR_get_error(3).

    +

    EVP_PKEY_security_bits() returns the number of security bits.


    @@ -108,18 +119,17 @@ data have been passed through EVP_SignUpdate().


    SEE ALSO

    -

    EVP_PKEY_size(3), EVP_PKEY_bits(3), EVP_PKEY_security_bits(3), -EVP_VerifyInit(3), +

    EVP_VerifyInit(3), EVP_DigestInit(3), evp(7), HMAC(3), MD2(3), MD5(3), MDC2(3), RIPEMD160(3), -SHA1(3), openssl-dgst(1)

    +SHA1(3), dgst(1)


    COPYRIGHT

    -

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_SignInit_ex.html b/linux_amd64/share/doc/openssl/html/man3/EVP_SignInit_ex.html new file mode 120000 index 0000000..8074b72 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_SignInit_ex.html @@ -0,0 +1 @@ +EVP_SignInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_SignUpdate.html b/linux_amd64/share/doc/openssl/html/man3/EVP_SignUpdate.html new file mode 120000 index 0000000..8074b72 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_SignUpdate.html @@ -0,0 +1 @@ +EVP_SignInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_VerifyFinal.html b/linux_amd64/share/doc/openssl/html/man3/EVP_VerifyFinal.html new file mode 120000 index 0000000..02a9feb --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_VerifyFinal.html @@ -0,0 +1 @@ +EVP_VerifyInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_VerifyInit.html b/linux_amd64/share/doc/openssl/html/man3/EVP_VerifyInit.html index 9982076..a011a4b 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_VerifyInit.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_VerifyInit.html @@ -109,13 +109,13 @@ data have been passed through EVP_SignUpdate().

    EVP_DigestInit(3), evp(7), HMAC(3), MD2(3), MD5(3), MDC2(3), RIPEMD160(3), -SHA1(3), openssl-dgst(1)

    +SHA1(3), dgst(1)


    COPYRIGHT

    -

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_VerifyInit_ex.html b/linux_amd64/share/doc/openssl/html/man3/EVP_VerifyInit_ex.html new file mode 120000 index 0000000..02a9feb --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_VerifyInit_ex.html @@ -0,0 +1 @@ +EVP_VerifyInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_VerifyUpdate.html b/linux_amd64/share/doc/openssl/html/man3/EVP_VerifyUpdate.html new file mode 120000 index 0000000..02a9feb --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_VerifyUpdate.html @@ -0,0 +1 @@ +EVP_VerifyInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aes.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aes.html new file mode 100644 index 0000000..59bfba9 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aes.html @@ -0,0 +1,221 @@ + + + + +EVP_aes + + + + + + + + + + + +

    +

    +
    +

    NAME

    +

    EVP_aes_128_cbc, +EVP_aes_192_cbc, +EVP_aes_256_cbc, +EVP_aes_128_cfb, +EVP_aes_192_cfb, +EVP_aes_256_cfb, +EVP_aes_128_cfb1, +EVP_aes_192_cfb1, +EVP_aes_256_cfb1, +EVP_aes_128_cfb8, +EVP_aes_192_cfb8, +EVP_aes_256_cfb8, +EVP_aes_128_cfb128, +EVP_aes_192_cfb128, +EVP_aes_256_cfb128, +EVP_aes_128_ctr, +EVP_aes_192_ctr, +EVP_aes_256_ctr, +EVP_aes_128_ecb, +EVP_aes_192_ecb, +EVP_aes_256_ecb, +EVP_aes_128_ofb, +EVP_aes_192_ofb, +EVP_aes_256_ofb, +EVP_aes_128_cbc_hmac_sha1, +EVP_aes_256_cbc_hmac_sha1, +EVP_aes_128_cbc_hmac_sha256, +EVP_aes_256_cbc_hmac_sha256, +EVP_aes_128_ccm, +EVP_aes_192_ccm, +EVP_aes_256_ccm, +EVP_aes_128_gcm, +EVP_aes_192_gcm, +EVP_aes_256_gcm, +EVP_aes_128_ocb, +EVP_aes_192_ocb, +EVP_aes_256_ocb, +EVP_aes_128_wrap, +EVP_aes_192_wrap, +EVP_aes_256_wrap, +EVP_aes_128_wrap_pad, +EVP_aes_192_wrap_pad, +EVP_aes_256_wrap_pad, +EVP_aes_128_xts, +EVP_aes_256_xts +- EVP AES cipher

    +

    +

    +
    +

    SYNOPSIS

    +
    + #include <openssl/evp.h>
    +
    + const EVP_CIPHER *EVP_ciphername(void)
    +

    EVP_ciphername is used a placeholder for any of the described cipher +functions, such as EVP_aes_128_cbc.

    +

    +

    +
    +

    DESCRIPTION

    +

    The AES encryption algorithm for EVP.

    +
    +
    EVP_aes_128_cbc(), +EVP_aes_192_cbc(), +EVP_aes_256_cbc(), +EVP_aes_128_cfb(), +EVP_aes_192_cfb(), +EVP_aes_256_cfb(), +EVP_aes_128_cfb1(), +EVP_aes_192_cfb1(), +EVP_aes_256_cfb1(), +EVP_aes_128_cfb8(), +EVP_aes_192_cfb8(), +EVP_aes_256_cfb8(), +EVP_aes_128_cfb128(), +EVP_aes_192_cfb128(), +EVP_aes_256_cfb128(), +EVP_aes_128_ctr(), +EVP_aes_192_ctr(), +EVP_aes_256_ctr(), +EVP_aes_128_ecb(), +EVP_aes_192_ecb(), +EVP_aes_256_ecb(), +EVP_aes_128_ofb(), +EVP_aes_192_ofb(), +EVP_aes_256_ofb()
    + +
    +

    AES for 128, 192 and 256 bit keys in the following modes: CBC, CFB with 128-bit +shift, CFB with 1-bit shift, CFB with 8-bit shift, CTR, ECB, and OFB.

    +
    +
    EVP_aes_128_cbc_hmac_sha1(), +EVP_aes_256_cbc_hmac_sha1()
    + +
    +

    Authenticated encryption with AES in CBC mode using SHA-1 as HMAC, with keys of +128 and 256 bits length respectively. The authentication tag is 160 bits long.

    +

    WARNING: this is not intended for usage outside of TLS and requires calling of +some undocumented ctrl functions. These ciphers do not conform to the EVP AEAD +interface.

    +
    +
    EVP_aes_128_cbc_hmac_sha256(), +EVP_aes_256_cbc_hmac_sha256()
    + +
    +

    Authenticated encryption with AES in CBC mode using SHA256 (SHA-2, 256-bits) as +HMAC, with keys of 128 and 256 bits length respectively. The authentication tag +is 256 bits long.

    +

    WARNING: this is not intended for usage outside of TLS and requires calling of +some undocumented ctrl functions. These ciphers do not conform to the EVP AEAD +interface.

    +
    +
    EVP_aes_128_ccm(), +EVP_aes_192_ccm(), +EVP_aes_256_ccm(), +EVP_aes_128_gcm(), +EVP_aes_192_gcm(), +EVP_aes_256_gcm(), +EVP_aes_128_ocb(), +EVP_aes_192_ocb(), +EVP_aes_256_ocb()
    + +
    +

    AES for 128, 192 and 256 bit keys in CBC-MAC Mode (CCM), Galois Counter Mode +(GCM) and OCB Mode respectively. These ciphers require additional control +operations to function correctly, see the EVP_EncryptInit(3)/AEAD Interface +section for details.

    +
    +
    EVP_aes_128_wrap(), +EVP_aes_192_wrap(), +EVP_aes_256_wrap(), +EVP_aes_128_wrap_pad(), +EVP_aes_128_wrap(), +EVP_aes_192_wrap(), +EVP_aes_256_wrap(), +EVP_aes_192_wrap_pad(), +EVP_aes_128_wrap(), +EVP_aes_192_wrap(), +EVP_aes_256_wrap(), +EVP_aes_256_wrap_pad()
    + +
    +

    AES key wrap with 128, 192 and 256 bit keys, as according to RFC 3394 section +2.2.1 ("wrap") and RFC 5649 section 4.1 ("wrap with padding") respectively.

    +
    +
    EVP_aes_128_xts(), +EVP_aes_256_xts()
    + +
    +

    AES XTS mode (XTS-AES) is standardized in IEEE Std. 1619-2007 and described in NIST +SP 800-38E. The XTS (XEX-based tweaked-codebook mode with ciphertext stealing) +mode was designed by Prof. Phillip Rogaway of University of California, Davis, +intended for encrypting data on a storage device.

    +

    XTS-AES provides confidentiality but not authentication of data. It also +requires a key of double-length for protection of a certain key size. +In particular, XTS-AES-128 (EVP_aes_128_xts) takes input of a 256-bit key to +achieve AES 128-bit security, and XTS-AES-256 (EVP_aes_256_xts) takes input +of a 512-bit key to achieve AES 256-bit security.

    +
    +
    +

    +

    +
    +

    RETURN VALUES

    +

    These functions return an EVP_CIPHER structure that contains the +implementation of the symmetric cipher. See EVP_CIPHER_meth_new(3) for +details of the EVP_CIPHER structure.

    +

    +

    +
    +

    SEE ALSO

    +

    evp(7), +EVP_EncryptInit(3), +EVP_CIPHER_meth_new(3)

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_cbc.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_cbc.html new file mode 120000 index 0000000..186d8e6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_cbc.html @@ -0,0 +1 @@ +EVP_aes.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_cbc_hmac_sha1.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_cbc_hmac_sha1.html new file mode 120000 index 0000000..186d8e6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_cbc_hmac_sha1.html @@ -0,0 +1 @@ +EVP_aes.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_cbc_hmac_sha256.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_cbc_hmac_sha256.html new file mode 120000 index 0000000..186d8e6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_cbc_hmac_sha256.html @@ -0,0 +1 @@ +EVP_aes.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_ccm.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_ccm.html new file mode 120000 index 0000000..186d8e6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_ccm.html @@ -0,0 +1 @@ +EVP_aes.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_cfb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_cfb.html new file mode 120000 index 0000000..186d8e6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_cfb.html @@ -0,0 +1 @@ +EVP_aes.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_cfb1.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_cfb1.html new file mode 120000 index 0000000..186d8e6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_cfb1.html @@ -0,0 +1 @@ +EVP_aes.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_cfb128.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_cfb128.html new file mode 120000 index 0000000..186d8e6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_cfb128.html @@ -0,0 +1 @@ +EVP_aes.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_cfb8.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_cfb8.html new file mode 120000 index 0000000..186d8e6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_cfb8.html @@ -0,0 +1 @@ +EVP_aes.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_ctr.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_ctr.html new file mode 120000 index 0000000..186d8e6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_ctr.html @@ -0,0 +1 @@ +EVP_aes.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_ecb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_ecb.html new file mode 120000 index 0000000..186d8e6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_ecb.html @@ -0,0 +1 @@ +EVP_aes.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_ocb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_ocb.html new file mode 120000 index 0000000..186d8e6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_ocb.html @@ -0,0 +1 @@ +EVP_aes.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_ofb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_ofb.html new file mode 120000 index 0000000..186d8e6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_ofb.html @@ -0,0 +1 @@ +EVP_aes.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_wrap.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_wrap.html new file mode 120000 index 0000000..186d8e6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_wrap.html @@ -0,0 +1 @@ +EVP_aes.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_wrap_pad.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_wrap_pad.html new file mode 120000 index 0000000..186d8e6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_wrap_pad.html @@ -0,0 +1 @@ +EVP_aes.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_xts.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_xts.html new file mode 120000 index 0000000..186d8e6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_128_xts.html @@ -0,0 +1 @@ +EVP_aes.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_cbc.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_cbc.html new file mode 120000 index 0000000..186d8e6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_cbc.html @@ -0,0 +1 @@ +EVP_aes.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_ccm.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_ccm.html new file mode 120000 index 0000000..186d8e6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_ccm.html @@ -0,0 +1 @@ +EVP_aes.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_cfb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_cfb.html new file mode 120000 index 0000000..186d8e6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_cfb.html @@ -0,0 +1 @@ +EVP_aes.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_cfb1.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_cfb1.html new file mode 120000 index 0000000..186d8e6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_cfb1.html @@ -0,0 +1 @@ +EVP_aes.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_cfb128.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_cfb128.html new file mode 120000 index 0000000..186d8e6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_cfb128.html @@ -0,0 +1 @@ +EVP_aes.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_cfb8.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_cfb8.html new file mode 120000 index 0000000..186d8e6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_cfb8.html @@ -0,0 +1 @@ +EVP_aes.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_ctr.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_ctr.html new file mode 120000 index 0000000..186d8e6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_ctr.html @@ -0,0 +1 @@ +EVP_aes.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_ecb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_ecb.html new file mode 120000 index 0000000..186d8e6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_ecb.html @@ -0,0 +1 @@ +EVP_aes.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_gcm.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_gcm.html new file mode 120000 index 0000000..186d8e6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_gcm.html @@ -0,0 +1 @@ +EVP_aes.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_ocb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_ocb.html new file mode 120000 index 0000000..186d8e6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_ocb.html @@ -0,0 +1 @@ +EVP_aes.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_ofb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_ofb.html new file mode 120000 index 0000000..186d8e6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_ofb.html @@ -0,0 +1 @@ +EVP_aes.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_wrap.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_wrap.html new file mode 120000 index 0000000..186d8e6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_wrap.html @@ -0,0 +1 @@ +EVP_aes.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_wrap_pad.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_wrap_pad.html new file mode 120000 index 0000000..186d8e6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_192_wrap_pad.html @@ -0,0 +1 @@ +EVP_aes.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_cbc.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_cbc.html new file mode 120000 index 0000000..186d8e6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_cbc.html @@ -0,0 +1 @@ +EVP_aes.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_cbc_hmac_sha1.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_cbc_hmac_sha1.html new file mode 120000 index 0000000..186d8e6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_cbc_hmac_sha1.html @@ -0,0 +1 @@ +EVP_aes.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_cbc_hmac_sha256.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_cbc_hmac_sha256.html new file mode 120000 index 0000000..186d8e6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_cbc_hmac_sha256.html @@ -0,0 +1 @@ +EVP_aes.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_ccm.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_ccm.html new file mode 120000 index 0000000..186d8e6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_ccm.html @@ -0,0 +1 @@ +EVP_aes.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_cfb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_cfb.html new file mode 120000 index 0000000..186d8e6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_cfb.html @@ -0,0 +1 @@ +EVP_aes.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_cfb1.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_cfb1.html new file mode 120000 index 0000000..186d8e6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_cfb1.html @@ -0,0 +1 @@ +EVP_aes.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_cfb128.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_cfb128.html new file mode 120000 index 0000000..186d8e6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_cfb128.html @@ -0,0 +1 @@ +EVP_aes.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_cfb8.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_cfb8.html new file mode 120000 index 0000000..186d8e6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_cfb8.html @@ -0,0 +1 @@ +EVP_aes.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_ctr.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_ctr.html new file mode 120000 index 0000000..186d8e6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_ctr.html @@ -0,0 +1 @@ +EVP_aes.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_ecb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_ecb.html new file mode 120000 index 0000000..186d8e6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_ecb.html @@ -0,0 +1 @@ +EVP_aes.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_gcm.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_gcm.html new file mode 120000 index 0000000..186d8e6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_gcm.html @@ -0,0 +1 @@ +EVP_aes.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_ocb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_ocb.html new file mode 120000 index 0000000..186d8e6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_ocb.html @@ -0,0 +1 @@ +EVP_aes.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_ofb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_ofb.html new file mode 120000 index 0000000..186d8e6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_ofb.html @@ -0,0 +1 @@ +EVP_aes.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_wrap.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_wrap.html new file mode 120000 index 0000000..186d8e6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_wrap.html @@ -0,0 +1 @@ +EVP_aes.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_wrap_pad.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_wrap_pad.html new file mode 120000 index 0000000..186d8e6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_wrap_pad.html @@ -0,0 +1 @@ +EVP_aes.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_xts.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_xts.html new file mode 120000 index 0000000..186d8e6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aes_256_xts.html @@ -0,0 +1 @@ +EVP_aes.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aria.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aria.html new file mode 100644 index 0000000..416b90e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aria.html @@ -0,0 +1,150 @@ + + + + +EVP_aria + + + + + + + + + + + +

    +

    +
    +

    NAME

    +

    EVP_aria_128_cbc, +EVP_aria_192_cbc, +EVP_aria_256_cbc, +EVP_aria_128_cfb, +EVP_aria_192_cfb, +EVP_aria_256_cfb, +EVP_aria_128_cfb1, +EVP_aria_192_cfb1, +EVP_aria_256_cfb1, +EVP_aria_128_cfb8, +EVP_aria_192_cfb8, +EVP_aria_256_cfb8, +EVP_aria_128_cfb128, +EVP_aria_192_cfb128, +EVP_aria_256_cfb128, +EVP_aria_128_ctr, +EVP_aria_192_ctr, +EVP_aria_256_ctr, +EVP_aria_128_ecb, +EVP_aria_192_ecb, +EVP_aria_256_ecb, +EVP_aria_128_ofb, +EVP_aria_192_ofb, +EVP_aria_256_ofb, +EVP_aria_128_ccm, +EVP_aria_192_ccm, +EVP_aria_256_ccm, +EVP_aria_128_gcm, +EVP_aria_192_gcm, +EVP_aria_256_gcm, +- EVP ARIA cipher

    +

    +

    +
    +

    SYNOPSIS

    +
    + #include <openssl/evp.h>
    +
    + const EVP_CIPHER *EVP_ciphername(void)
    +

    EVP_ciphername is used a placeholder for any of the described cipher +functions, such as EVP_aria_128_cbc.

    +

    +

    +
    +

    DESCRIPTION

    +

    The ARIA encryption algorithm for EVP.

    +
    +
    EVP_aria_128_cbc(), +EVP_aria_192_cbc(), +EVP_aria_256_cbc(), +EVP_aria_128_cfb(), +EVP_aria_192_cfb(), +EVP_aria_256_cfb(), +EVP_aria_128_cfb1(), +EVP_aria_192_cfb1(), +EVP_aria_256_cfb1(), +EVP_aria_128_cfb8(), +EVP_aria_192_cfb8(), +EVP_aria_256_cfb8(), +EVP_aria_128_cfb128(), +EVP_aria_192_cfb128(), +EVP_aria_256_cfb128(), +EVP_aria_128_ctr(), +EVP_aria_192_ctr(), +EVP_aria_256_ctr(), +EVP_aria_128_ecb(), +EVP_aria_192_ecb(), +EVP_aria_256_ecb(), +EVP_aria_128_ofb(), +EVP_aria_192_ofb(), +EVP_aria_256_ofb()
    + +
    +

    ARIA for 128, 192 and 256 bit keys in the following modes: CBC, CFB with +128-bit shift, CFB with 1-bit shift, CFB with 8-bit shift, CTR, ECB and OFB.

    +
    +
    EVP_aria_128_ccm(), +EVP_aria_192_ccm(), +EVP_aria_256_ccm(), +EVP_aria_128_gcm(), +EVP_aria_192_gcm(), +EVP_aria_256_gcm(),
    + +
    +

    ARIA for 128, 192 and 256 bit keys in CBC-MAC Mode (CCM) and Galois Counter +Mode (GCM). These ciphers require additional control operations to function +correctly, see the EVP_EncryptInit(3)/AEAD Interface section for details.

    +
    +
    +

    +

    +
    +

    RETURN VALUES

    +

    These functions return an EVP_CIPHER structure that contains the +implementation of the symmetric cipher. See EVP_CIPHER_meth_new(3) for +details of the EVP_CIPHER structure.

    +

    +

    +
    +

    SEE ALSO

    +

    evp(7), +EVP_EncryptInit(3), +EVP_CIPHER_meth_new(3)

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2017-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aria_128_cbc.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_128_cbc.html new file mode 120000 index 0000000..6552884 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_128_cbc.html @@ -0,0 +1 @@ +EVP_aria.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aria_128_ccm.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_128_ccm.html new file mode 120000 index 0000000..6552884 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_128_ccm.html @@ -0,0 +1 @@ +EVP_aria.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aria_128_cfb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_128_cfb.html new file mode 120000 index 0000000..6552884 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_128_cfb.html @@ -0,0 +1 @@ +EVP_aria.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aria_128_cfb1.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_128_cfb1.html new file mode 120000 index 0000000..6552884 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_128_cfb1.html @@ -0,0 +1 @@ +EVP_aria.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aria_128_cfb128.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_128_cfb128.html new file mode 120000 index 0000000..6552884 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_128_cfb128.html @@ -0,0 +1 @@ +EVP_aria.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aria_128_cfb8.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_128_cfb8.html new file mode 120000 index 0000000..6552884 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_128_cfb8.html @@ -0,0 +1 @@ +EVP_aria.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aria_128_ctr.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_128_ctr.html new file mode 120000 index 0000000..6552884 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_128_ctr.html @@ -0,0 +1 @@ +EVP_aria.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aria_128_ecb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_128_ecb.html new file mode 120000 index 0000000..6552884 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_128_ecb.html @@ -0,0 +1 @@ +EVP_aria.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aria_128_ofb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_128_ofb.html new file mode 120000 index 0000000..6552884 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_128_ofb.html @@ -0,0 +1 @@ +EVP_aria.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aria_192_cbc.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_192_cbc.html new file mode 120000 index 0000000..6552884 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_192_cbc.html @@ -0,0 +1 @@ +EVP_aria.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aria_192_ccm.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_192_ccm.html new file mode 120000 index 0000000..6552884 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_192_ccm.html @@ -0,0 +1 @@ +EVP_aria.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aria_192_cfb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_192_cfb.html new file mode 120000 index 0000000..6552884 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_192_cfb.html @@ -0,0 +1 @@ +EVP_aria.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aria_192_cfb1.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_192_cfb1.html new file mode 120000 index 0000000..6552884 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_192_cfb1.html @@ -0,0 +1 @@ +EVP_aria.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aria_192_cfb128.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_192_cfb128.html new file mode 120000 index 0000000..6552884 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_192_cfb128.html @@ -0,0 +1 @@ +EVP_aria.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aria_192_cfb8.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_192_cfb8.html new file mode 120000 index 0000000..6552884 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_192_cfb8.html @@ -0,0 +1 @@ +EVP_aria.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aria_192_ctr.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_192_ctr.html new file mode 120000 index 0000000..6552884 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_192_ctr.html @@ -0,0 +1 @@ +EVP_aria.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aria_192_ecb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_192_ecb.html new file mode 120000 index 0000000..6552884 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_192_ecb.html @@ -0,0 +1 @@ +EVP_aria.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aria_192_gcm.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_192_gcm.html new file mode 120000 index 0000000..6552884 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_192_gcm.html @@ -0,0 +1 @@ +EVP_aria.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aria_192_ofb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_192_ofb.html new file mode 120000 index 0000000..6552884 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_192_ofb.html @@ -0,0 +1 @@ +EVP_aria.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aria_256_cbc.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_256_cbc.html new file mode 120000 index 0000000..6552884 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_256_cbc.html @@ -0,0 +1 @@ +EVP_aria.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aria_256_ccm.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_256_ccm.html new file mode 120000 index 0000000..6552884 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_256_ccm.html @@ -0,0 +1 @@ +EVP_aria.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aria_256_cfb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_256_cfb.html new file mode 120000 index 0000000..6552884 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_256_cfb.html @@ -0,0 +1 @@ +EVP_aria.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aria_256_cfb1.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_256_cfb1.html new file mode 120000 index 0000000..6552884 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_256_cfb1.html @@ -0,0 +1 @@ +EVP_aria.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aria_256_cfb128.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_256_cfb128.html new file mode 120000 index 0000000..6552884 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_256_cfb128.html @@ -0,0 +1 @@ +EVP_aria.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aria_256_cfb8.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_256_cfb8.html new file mode 120000 index 0000000..6552884 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_256_cfb8.html @@ -0,0 +1 @@ +EVP_aria.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aria_256_ctr.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_256_ctr.html new file mode 120000 index 0000000..6552884 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_256_ctr.html @@ -0,0 +1 @@ +EVP_aria.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aria_256_ecb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_256_ecb.html new file mode 120000 index 0000000..6552884 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_256_ecb.html @@ -0,0 +1 @@ +EVP_aria.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aria_256_gcm.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_256_gcm.html new file mode 120000 index 0000000..6552884 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_256_gcm.html @@ -0,0 +1 @@ +EVP_aria.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_aria_256_ofb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_256_ofb.html new file mode 120000 index 0000000..6552884 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_aria_256_ofb.html @@ -0,0 +1 @@ +EVP_aria.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_bf_cbc.html b/linux_amd64/share/doc/openssl/html/man3/EVP_bf_cbc.html index e4a1b09..90e89eb 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_bf_cbc.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_bf_cbc.html @@ -86,7 +86,7 @@ details of the EVP_CIPHER structure.


    COPYRIGHT

    Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_bf_cfb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_bf_cfb.html new file mode 120000 index 0000000..1d4d867 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_bf_cfb.html @@ -0,0 +1 @@ +EVP_bf_cbc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_bf_cfb64.html b/linux_amd64/share/doc/openssl/html/man3/EVP_bf_cfb64.html new file mode 120000 index 0000000..1d4d867 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_bf_cfb64.html @@ -0,0 +1 @@ +EVP_bf_cbc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_bf_ecb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_bf_ecb.html new file mode 120000 index 0000000..1d4d867 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_bf_ecb.html @@ -0,0 +1 @@ +EVP_bf_cbc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_bf_ofb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_bf_ofb.html new file mode 120000 index 0000000..1d4d867 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_bf_ofb.html @@ -0,0 +1 @@ +EVP_bf_cbc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_blake2b512.html b/linux_amd64/share/doc/openssl/html/man3/EVP_blake2b512.html index ec85ebb..3cbbcdc 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_blake2b512.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_blake2b512.html @@ -95,7 +95,7 @@ supported), which is 512-bits for BLAKE2b and 256-bits for BLAKE2s.


    COPYRIGHT

    Copyright 2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_blake2s256.html b/linux_amd64/share/doc/openssl/html/man3/EVP_blake2s256.html new file mode 120000 index 0000000..950eb33 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_blake2s256.html @@ -0,0 +1 @@ +EVP_blake2b512.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_camellia.html b/linux_amd64/share/doc/openssl/html/man3/EVP_camellia.html new file mode 100644 index 0000000..69ed9a2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_camellia.html @@ -0,0 +1,132 @@ + + + + +EVP_camellia + + + + + + + + + + + +

    +

    +
    +

    NAME

    +

    EVP_camellia_128_cbc, +EVP_camellia_192_cbc, +EVP_camellia_256_cbc, +EVP_camellia_128_cfb, +EVP_camellia_192_cfb, +EVP_camellia_256_cfb, +EVP_camellia_128_cfb1, +EVP_camellia_192_cfb1, +EVP_camellia_256_cfb1, +EVP_camellia_128_cfb8, +EVP_camellia_192_cfb8, +EVP_camellia_256_cfb8, +EVP_camellia_128_cfb128, +EVP_camellia_192_cfb128, +EVP_camellia_256_cfb128, +EVP_camellia_128_ctr, +EVP_camellia_192_ctr, +EVP_camellia_256_ctr, +EVP_camellia_128_ecb, +EVP_camellia_192_ecb, +EVP_camellia_256_ecb, +EVP_camellia_128_ofb, +EVP_camellia_192_ofb, +EVP_camellia_256_ofb +- EVP Camellia cipher

    +

    +

    +
    +

    SYNOPSIS

    +
    + #include <openssl/evp.h>
    +
    + const EVP_CIPHER *EVP_ciphername(void)
    +

    EVP_ciphername is used a placeholder for any of the described cipher +functions, such as EVP_camellia_128_cbc.

    +

    +

    +
    +

    DESCRIPTION

    +

    The Camellia encryption algorithm for EVP.

    +
    +
    EVP_camellia_128_cbc(), +EVP_camellia_192_cbc(), +EVP_camellia_256_cbc(), +EVP_camellia_128_cfb(), +EVP_camellia_192_cfb(), +EVP_camellia_256_cfb(), +EVP_camellia_128_cfb1(), +EVP_camellia_192_cfb1(), +EVP_camellia_256_cfb1(), +EVP_camellia_128_cfb8(), +EVP_camellia_192_cfb8(), +EVP_camellia_256_cfb8(), +EVP_camellia_128_cfb128(), +EVP_camellia_192_cfb128(), +EVP_camellia_256_cfb128(), +EVP_camellia_128_ctr(), +EVP_camellia_192_ctr(), +EVP_camellia_256_ctr(), +EVP_camellia_128_ecb(), +EVP_camellia_192_ecb(), +EVP_camellia_256_ecb(), +EVP_camellia_128_ofb(), +EVP_camellia_192_ofb(), +EVP_camellia_256_ofb()
    + +
    +

    Camellia for 128, 192 and 256 bit keys in the following modes: CBC, CFB with +128-bit shift, CFB with 1-bit shift, CFB with 8-bit shift, CTR, ECB and OFB.

    +
    +
    +

    +

    +
    +

    RETURN VALUES

    +

    These functions return an EVP_CIPHER structure that contains the +implementation of the symmetric cipher. See EVP_CIPHER_meth_new(3) for +details of the EVP_CIPHER structure.

    +

    +

    +
    +

    SEE ALSO

    +

    evp(7), +EVP_EncryptInit(3), +EVP_CIPHER_meth_new(3)

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_128_cbc.html b/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_128_cbc.html new file mode 120000 index 0000000..fe841ac --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_128_cbc.html @@ -0,0 +1 @@ +EVP_camellia.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_128_cfb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_128_cfb.html new file mode 120000 index 0000000..fe841ac --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_128_cfb.html @@ -0,0 +1 @@ +EVP_camellia.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_128_cfb1.html b/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_128_cfb1.html new file mode 120000 index 0000000..fe841ac --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_128_cfb1.html @@ -0,0 +1 @@ +EVP_camellia.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_128_cfb128.html b/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_128_cfb128.html new file mode 120000 index 0000000..fe841ac --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_128_cfb128.html @@ -0,0 +1 @@ +EVP_camellia.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_128_cfb8.html b/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_128_cfb8.html new file mode 120000 index 0000000..fe841ac --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_128_cfb8.html @@ -0,0 +1 @@ +EVP_camellia.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_128_ctr.html b/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_128_ctr.html new file mode 120000 index 0000000..fe841ac --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_128_ctr.html @@ -0,0 +1 @@ +EVP_camellia.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_128_ofb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_128_ofb.html new file mode 120000 index 0000000..fe841ac --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_128_ofb.html @@ -0,0 +1 @@ +EVP_camellia.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_192_cbc.html b/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_192_cbc.html new file mode 120000 index 0000000..fe841ac --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_192_cbc.html @@ -0,0 +1 @@ +EVP_camellia.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_192_cfb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_192_cfb.html new file mode 120000 index 0000000..fe841ac --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_192_cfb.html @@ -0,0 +1 @@ +EVP_camellia.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_192_cfb1.html b/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_192_cfb1.html new file mode 120000 index 0000000..fe841ac --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_192_cfb1.html @@ -0,0 +1 @@ +EVP_camellia.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_192_cfb128.html b/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_192_cfb128.html new file mode 120000 index 0000000..fe841ac --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_192_cfb128.html @@ -0,0 +1 @@ +EVP_camellia.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_192_cfb8.html b/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_192_cfb8.html new file mode 120000 index 0000000..fe841ac --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_192_cfb8.html @@ -0,0 +1 @@ +EVP_camellia.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_192_ctr.html b/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_192_ctr.html new file mode 120000 index 0000000..fe841ac --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_192_ctr.html @@ -0,0 +1 @@ +EVP_camellia.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_192_ecb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_192_ecb.html new file mode 120000 index 0000000..fe841ac --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_192_ecb.html @@ -0,0 +1 @@ +EVP_camellia.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_192_ofb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_192_ofb.html new file mode 120000 index 0000000..fe841ac --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_192_ofb.html @@ -0,0 +1 @@ +EVP_camellia.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_256_cbc.html b/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_256_cbc.html new file mode 120000 index 0000000..fe841ac --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_256_cbc.html @@ -0,0 +1 @@ +EVP_camellia.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_256_cfb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_256_cfb.html new file mode 120000 index 0000000..fe841ac --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_256_cfb.html @@ -0,0 +1 @@ +EVP_camellia.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_256_cfb1.html b/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_256_cfb1.html new file mode 120000 index 0000000..fe841ac --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_256_cfb1.html @@ -0,0 +1 @@ +EVP_camellia.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_256_cfb128.html b/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_256_cfb128.html new file mode 120000 index 0000000..fe841ac --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_256_cfb128.html @@ -0,0 +1 @@ +EVP_camellia.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_256_cfb8.html b/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_256_cfb8.html new file mode 120000 index 0000000..fe841ac --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_256_cfb8.html @@ -0,0 +1 @@ +EVP_camellia.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_256_ctr.html b/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_256_ctr.html new file mode 120000 index 0000000..fe841ac --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_256_ctr.html @@ -0,0 +1 @@ +EVP_camellia.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_256_ecb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_256_ecb.html new file mode 120000 index 0000000..fe841ac --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_256_ecb.html @@ -0,0 +1 @@ +EVP_camellia.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_256_ofb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_256_ofb.html new file mode 120000 index 0000000..fe841ac --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_camellia_256_ofb.html @@ -0,0 +1 @@ +EVP_camellia.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_cast5_cbc.html b/linux_amd64/share/doc/openssl/html/man3/EVP_cast5_cbc.html index ee165f0..c6e6eb6 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_cast5_cbc.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_cast5_cbc.html @@ -86,7 +86,7 @@ details of the EVP_CIPHER structure.


    COPYRIGHT

    Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_cast5_cfb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_cast5_cfb.html new file mode 120000 index 0000000..1bb7648 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_cast5_cfb.html @@ -0,0 +1 @@ +EVP_cast5_cbc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_cast5_cfb64.html b/linux_amd64/share/doc/openssl/html/man3/EVP_cast5_cfb64.html new file mode 120000 index 0000000..1bb7648 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_cast5_cfb64.html @@ -0,0 +1 @@ +EVP_cast5_cbc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_cast5_ecb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_cast5_ecb.html new file mode 120000 index 0000000..1bb7648 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_cast5_ecb.html @@ -0,0 +1 @@ +EVP_cast5_cbc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_cast5_ofb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_cast5_ofb.html new file mode 120000 index 0000000..1bb7648 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_cast5_ofb.html @@ -0,0 +1 @@ +EVP_cast5_cbc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_chacha20.html b/linux_amd64/share/doc/openssl/html/man3/EVP_chacha20.html index 98a9959..5d56a39 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_chacha20.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_chacha20.html @@ -87,8 +87,8 @@ details of the EVP_CIPHER structure.


    COPYRIGHT

    -

    Copyright 2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2017-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_chacha20_poly1305.html b/linux_amd64/share/doc/openssl/html/man3/EVP_chacha20_poly1305.html new file mode 120000 index 0000000..f30e424 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_chacha20_poly1305.html @@ -0,0 +1 @@ +EVP_chacha20.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_cleanup.html b/linux_amd64/share/doc/openssl/html/man3/EVP_cleanup.html new file mode 120000 index 0000000..35718c1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_cleanup.html @@ -0,0 +1 @@ +OpenSSL_add_all_algorithms.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_des.html b/linux_amd64/share/doc/openssl/html/man3/EVP_des.html new file mode 100644 index 0000000..d509970 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_des.html @@ -0,0 +1,141 @@ + + + + +EVP_des + + + + + + + + + + + +

    +

    +
    +

    NAME

    +

    EVP_des_cbc, +EVP_des_cfb, +EVP_des_cfb1, +EVP_des_cfb8, +EVP_des_cfb64, +EVP_des_ecb, +EVP_des_ofb, +EVP_des_ede, +EVP_des_ede_cbc, +EVP_des_ede_cfb, +EVP_des_ede_cfb64, +EVP_des_ede_ecb, +EVP_des_ede_ofb, +EVP_des_ede3, +EVP_des_ede3_cbc, +EVP_des_ede3_cfb, +EVP_des_ede3_cfb1, +EVP_des_ede3_cfb8, +EVP_des_ede3_cfb64, +EVP_des_ede3_ecb, +EVP_des_ede3_ofb, +EVP_des_ede3_wrap +- EVP DES cipher

    +

    +

    +
    +

    SYNOPSIS

    +
    + #include <openssl/evp.h>
    +
    + const EVP_CIPHER *EVP_ciphername(void)
    +

    EVP_ciphername is used a placeholder for any of the described cipher +functions, such as EVP_des_cbc.

    +

    +

    +
    +

    DESCRIPTION

    +

    The DES encryption algorithm for EVP.

    +
    +
    EVP_des_cbc(), +EVP_des_ecb(), +EVP_des_cfb(), +EVP_des_cfb1(), +EVP_des_cfb8(), +EVP_des_cfb64(), +EVP_des_ofb()
    + +
    +

    DES in CBC, ECB, CFB with 64-bit shift, CFB with 1-bit shift, CFB with 8-bit +shift and OFB modes.

    +
    +
    EVP_des_ede(), +EVP_des_ede_cbc(), +EVP_des_ede_cfb(), +EVP_des_ede_cfb64(), +EVP_des_ede_ecb(), +EVP_des_ede_ofb()
    + +
    +

    Two key triple DES in ECB, CBC, CFB with 64-bit shift and OFB modes.

    +
    +
    EVP_des_ede3(), +EVP_des_ede3_cbc(), +EVP_des_ede3_cfb(), +EVP_des_ede3_cfb1(), +EVP_des_ede3_cfb8(), +EVP_des_ede3_cfb64(), +EVP_des_ede3_ecb(), +EVP_des_ede3_ofb()
    + +
    +

    Three-key triple DES in ECB, CBC, CFB with 64-bit shift, CFB with 1-bit shift, +CFB with 8-bit shift and OFB modes.

    +
    +
    EVP_des_ede3_wrap()
    + +
    +

    Triple-DES key wrap according to RFC 3217 Section 3.

    +
    +
    +

    +

    +
    +

    RETURN VALUES

    +

    These functions return an EVP_CIPHER structure that contains the +implementation of the symmetric cipher. See EVP_CIPHER_meth_new(3) for +details of the EVP_CIPHER structure.

    +

    +

    +
    +

    SEE ALSO

    +

    evp(7), +EVP_EncryptInit(3), +EVP_CIPHER_meth_new(3)

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_des_cfb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_des_cfb.html new file mode 120000 index 0000000..3dfafa4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_des_cfb.html @@ -0,0 +1 @@ +EVP_des.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_des_cfb1.html b/linux_amd64/share/doc/openssl/html/man3/EVP_des_cfb1.html new file mode 120000 index 0000000..3dfafa4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_des_cfb1.html @@ -0,0 +1 @@ +EVP_des.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_des_cfb64.html b/linux_amd64/share/doc/openssl/html/man3/EVP_des_cfb64.html new file mode 120000 index 0000000..3dfafa4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_des_cfb64.html @@ -0,0 +1 @@ +EVP_des.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_des_cfb8.html b/linux_amd64/share/doc/openssl/html/man3/EVP_des_cfb8.html new file mode 120000 index 0000000..3dfafa4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_des_cfb8.html @@ -0,0 +1 @@ +EVP_des.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_des_ecb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_des_ecb.html new file mode 120000 index 0000000..3dfafa4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_des_ecb.html @@ -0,0 +1 @@ +EVP_des.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_des_ede.html b/linux_amd64/share/doc/openssl/html/man3/EVP_des_ede.html new file mode 120000 index 0000000..3dfafa4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_des_ede.html @@ -0,0 +1 @@ +EVP_des.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_des_ede3.html b/linux_amd64/share/doc/openssl/html/man3/EVP_des_ede3.html new file mode 120000 index 0000000..3dfafa4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_des_ede3.html @@ -0,0 +1 @@ +EVP_des.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_des_ede3_cbc.html b/linux_amd64/share/doc/openssl/html/man3/EVP_des_ede3_cbc.html new file mode 120000 index 0000000..3dfafa4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_des_ede3_cbc.html @@ -0,0 +1 @@ +EVP_des.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_des_ede3_cfb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_des_ede3_cfb.html new file mode 120000 index 0000000..3dfafa4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_des_ede3_cfb.html @@ -0,0 +1 @@ +EVP_des.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_des_ede3_cfb1.html b/linux_amd64/share/doc/openssl/html/man3/EVP_des_ede3_cfb1.html new file mode 120000 index 0000000..3dfafa4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_des_ede3_cfb1.html @@ -0,0 +1 @@ +EVP_des.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_des_ede3_cfb64.html b/linux_amd64/share/doc/openssl/html/man3/EVP_des_ede3_cfb64.html new file mode 120000 index 0000000..3dfafa4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_des_ede3_cfb64.html @@ -0,0 +1 @@ +EVP_des.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_des_ede3_cfb8.html b/linux_amd64/share/doc/openssl/html/man3/EVP_des_ede3_cfb8.html new file mode 120000 index 0000000..3dfafa4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_des_ede3_cfb8.html @@ -0,0 +1 @@ +EVP_des.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_des_ede3_ecb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_des_ede3_ecb.html new file mode 120000 index 0000000..3dfafa4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_des_ede3_ecb.html @@ -0,0 +1 @@ +EVP_des.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_des_ede3_ofb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_des_ede3_ofb.html new file mode 120000 index 0000000..3dfafa4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_des_ede3_ofb.html @@ -0,0 +1 @@ +EVP_des.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_des_ede3_wrap.html b/linux_amd64/share/doc/openssl/html/man3/EVP_des_ede3_wrap.html new file mode 120000 index 0000000..3dfafa4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_des_ede3_wrap.html @@ -0,0 +1 @@ +EVP_des.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_des_ede_cbc.html b/linux_amd64/share/doc/openssl/html/man3/EVP_des_ede_cbc.html new file mode 120000 index 0000000..3dfafa4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_des_ede_cbc.html @@ -0,0 +1 @@ +EVP_des.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_des_ede_cfb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_des_ede_cfb.html new file mode 120000 index 0000000..3dfafa4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_des_ede_cfb.html @@ -0,0 +1 @@ +EVP_des.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_des_ede_cfb64.html b/linux_amd64/share/doc/openssl/html/man3/EVP_des_ede_cfb64.html new file mode 120000 index 0000000..3dfafa4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_des_ede_cfb64.html @@ -0,0 +1 @@ +EVP_des.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_des_ede_ecb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_des_ede_ecb.html new file mode 120000 index 0000000..3dfafa4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_des_ede_ecb.html @@ -0,0 +1 @@ +EVP_des.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_des_ede_ofb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_des_ede_ofb.html new file mode 120000 index 0000000..3dfafa4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_des_ede_ofb.html @@ -0,0 +1 @@ +EVP_des.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_des_ofb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_des_ofb.html new file mode 120000 index 0000000..3dfafa4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_des_ofb.html @@ -0,0 +1 @@ +EVP_des.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_desx_cbc.html b/linux_amd64/share/doc/openssl/html/man3/EVP_desx_cbc.html index a770216..0d797a4 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_desx_cbc.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_desx_cbc.html @@ -74,7 +74,7 @@ details of the EVP_CIPHER structure.


    COPYRIGHT

    Copyright 2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_enc_null.html b/linux_amd64/share/doc/openssl/html/man3/EVP_enc_null.html new file mode 120000 index 0000000..05f553e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_enc_null.html @@ -0,0 +1 @@ +EVP_EncryptInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_get_cipherbyname.html b/linux_amd64/share/doc/openssl/html/man3/EVP_get_cipherbyname.html new file mode 120000 index 0000000..05f553e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_get_cipherbyname.html @@ -0,0 +1 @@ +EVP_EncryptInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_get_cipherbynid.html b/linux_amd64/share/doc/openssl/html/man3/EVP_get_cipherbynid.html new file mode 120000 index 0000000..05f553e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_get_cipherbynid.html @@ -0,0 +1 @@ +EVP_EncryptInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_get_cipherbyobj.html b/linux_amd64/share/doc/openssl/html/man3/EVP_get_cipherbyobj.html new file mode 120000 index 0000000..05f553e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_get_cipherbyobj.html @@ -0,0 +1 @@ +EVP_EncryptInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_get_digestbyname.html b/linux_amd64/share/doc/openssl/html/man3/EVP_get_digestbyname.html new file mode 120000 index 0000000..41e2c97 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_get_digestbyname.html @@ -0,0 +1 @@ +EVP_DigestInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_get_digestbynid.html b/linux_amd64/share/doc/openssl/html/man3/EVP_get_digestbynid.html new file mode 120000 index 0000000..41e2c97 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_get_digestbynid.html @@ -0,0 +1 @@ +EVP_DigestInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_get_digestbyobj.html b/linux_amd64/share/doc/openssl/html/man3/EVP_get_digestbyobj.html new file mode 120000 index 0000000..41e2c97 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_get_digestbyobj.html @@ -0,0 +1 @@ +EVP_DigestInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_idea_cbc.html b/linux_amd64/share/doc/openssl/html/man3/EVP_idea_cbc.html index 710bc00..86d7150 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_idea_cbc.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_idea_cbc.html @@ -85,7 +85,7 @@ details of the EVP_CIPHER structure.


    COPYRIGHT

    Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_idea_cfb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_idea_cfb.html new file mode 120000 index 0000000..6deef00 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_idea_cfb.html @@ -0,0 +1 @@ +EVP_idea_cbc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_idea_cfb64.html b/linux_amd64/share/doc/openssl/html/man3/EVP_idea_cfb64.html new file mode 120000 index 0000000..6deef00 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_idea_cfb64.html @@ -0,0 +1 @@ +EVP_idea_cbc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_idea_ecb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_idea_ecb.html new file mode 120000 index 0000000..6deef00 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_idea_ecb.html @@ -0,0 +1 @@ +EVP_idea_cbc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_idea_ofb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_idea_ofb.html new file mode 120000 index 0000000..6deef00 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_idea_ofb.html @@ -0,0 +1 @@ +EVP_idea_cbc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_md2.html b/linux_amd64/share/doc/openssl/html/man3/EVP_md2.html index fce5681..9b42693 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_md2.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_md2.html @@ -79,7 +79,7 @@ details of the EVP_MD structure.


    COPYRIGHT

    Copyright 2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_md4.html b/linux_amd64/share/doc/openssl/html/man3/EVP_md4.html index 240290b..cc379cf 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_md4.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_md4.html @@ -79,7 +79,7 @@ details of the EVP_MD structure.


    COPYRIGHT

    Copyright 2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_md5.html b/linux_amd64/share/doc/openssl/html/man3/EVP_md5.html index ec6e6c2..bf703cf 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_md5.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_md5.html @@ -89,8 +89,8 @@ details of the EVP_MD structure.


    COPYRIGHT

    -

    Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2017-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_md5_sha1.html b/linux_amd64/share/doc/openssl/html/man3/EVP_md5_sha1.html new file mode 120000 index 0000000..0549e3e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_md5_sha1.html @@ -0,0 +1 @@ +EVP_md5.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_md_null.html b/linux_amd64/share/doc/openssl/html/man3/EVP_md_null.html new file mode 120000 index 0000000..41e2c97 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_md_null.html @@ -0,0 +1 @@ +EVP_DigestInit.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_mdc2.html b/linux_amd64/share/doc/openssl/html/man3/EVP_mdc2.html index 87e4eb1..332eddc 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_mdc2.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_mdc2.html @@ -80,7 +80,7 @@ details of the EVP_MD structure.


    COPYRIGHT

    Copyright 2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_rc2_40_cbc.html b/linux_amd64/share/doc/openssl/html/man3/EVP_rc2_40_cbc.html new file mode 120000 index 0000000..a37807f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_rc2_40_cbc.html @@ -0,0 +1 @@ +EVP_rc2_cbc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_rc2_64_cbc.html b/linux_amd64/share/doc/openssl/html/man3/EVP_rc2_64_cbc.html new file mode 120000 index 0000000..a37807f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_rc2_64_cbc.html @@ -0,0 +1 @@ +EVP_rc2_cbc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_rc2_cbc.html b/linux_amd64/share/doc/openssl/html/man3/EVP_rc2_cbc.html index f16d4c2..635e58c 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_rc2_cbc.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_rc2_cbc.html @@ -101,7 +101,7 @@ details of the EVP_CIPHER structure.


    COPYRIGHT

    Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_rc2_cfb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_rc2_cfb.html new file mode 120000 index 0000000..a37807f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_rc2_cfb.html @@ -0,0 +1 @@ +EVP_rc2_cbc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_rc2_cfb64.html b/linux_amd64/share/doc/openssl/html/man3/EVP_rc2_cfb64.html new file mode 120000 index 0000000..a37807f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_rc2_cfb64.html @@ -0,0 +1 @@ +EVP_rc2_cbc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_rc2_ecb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_rc2_ecb.html new file mode 120000 index 0000000..a37807f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_rc2_ecb.html @@ -0,0 +1 @@ +EVP_rc2_cbc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_rc2_ofb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_rc2_ofb.html new file mode 120000 index 0000000..a37807f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_rc2_ofb.html @@ -0,0 +1 @@ +EVP_rc2_cbc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_rc4.html b/linux_amd64/share/doc/openssl/html/man3/EVP_rc4.html index 4b519d4..5527c93 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_rc4.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_rc4.html @@ -93,7 +93,7 @@ details of the EVP_CIPHER structure.


    COPYRIGHT

    Copyright 2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_rc4_40.html b/linux_amd64/share/doc/openssl/html/man3/EVP_rc4_40.html new file mode 120000 index 0000000..274f373 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_rc4_40.html @@ -0,0 +1 @@ +EVP_rc4.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_rc4_hmac_md5.html b/linux_amd64/share/doc/openssl/html/man3/EVP_rc4_hmac_md5.html new file mode 120000 index 0000000..274f373 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_rc4_hmac_md5.html @@ -0,0 +1 @@ +EVP_rc4.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_rc5_32_12_16_cbc.html b/linux_amd64/share/doc/openssl/html/man3/EVP_rc5_32_12_16_cbc.html index fd63225..7059cfd 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_rc5_32_12_16_cbc.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_rc5_32_12_16_cbc.html @@ -104,8 +104,8 @@ details of the EVP_CIPHER structure.


    COPYRIGHT

    -

    Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2017-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_rc5_32_12_16_cfb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_rc5_32_12_16_cfb.html new file mode 120000 index 0000000..9da730a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_rc5_32_12_16_cfb.html @@ -0,0 +1 @@ +EVP_rc5_32_12_16_cbc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_rc5_32_12_16_cfb64.html b/linux_amd64/share/doc/openssl/html/man3/EVP_rc5_32_12_16_cfb64.html new file mode 120000 index 0000000..9da730a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_rc5_32_12_16_cfb64.html @@ -0,0 +1 @@ +EVP_rc5_32_12_16_cbc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_rc5_32_12_16_ecb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_rc5_32_12_16_ecb.html new file mode 120000 index 0000000..9da730a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_rc5_32_12_16_ecb.html @@ -0,0 +1 @@ +EVP_rc5_32_12_16_cbc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_rc5_32_12_16_ofb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_rc5_32_12_16_ofb.html new file mode 120000 index 0000000..9da730a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_rc5_32_12_16_ofb.html @@ -0,0 +1 @@ +EVP_rc5_32_12_16_cbc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_ripemd160.html b/linux_amd64/share/doc/openssl/html/man3/EVP_ripemd160.html index 1a77784..9015cf1 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_ripemd160.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_ripemd160.html @@ -79,7 +79,7 @@ details of the EVP_MD structure.


    COPYRIGHT

    Copyright 2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_seed_cbc.html b/linux_amd64/share/doc/openssl/html/man3/EVP_seed_cbc.html index 126caa8..9bc6d3c 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_seed_cbc.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_seed_cbc.html @@ -86,7 +86,7 @@ details of the EVP_CIPHER structure.


    COPYRIGHT

    Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_seed_cfb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_seed_cfb.html new file mode 120000 index 0000000..5ee14c2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_seed_cfb.html @@ -0,0 +1 @@ +EVP_seed_cbc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_seed_cfb128.html b/linux_amd64/share/doc/openssl/html/man3/EVP_seed_cfb128.html new file mode 120000 index 0000000..5ee14c2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_seed_cfb128.html @@ -0,0 +1 @@ +EVP_seed_cbc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_seed_ecb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_seed_ecb.html new file mode 120000 index 0000000..5ee14c2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_seed_ecb.html @@ -0,0 +1 @@ +EVP_seed_cbc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_seed_ofb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_seed_ofb.html new file mode 120000 index 0000000..5ee14c2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_seed_ofb.html @@ -0,0 +1 @@ +EVP_seed_cbc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_sha1.html b/linux_amd64/share/doc/openssl/html/man3/EVP_sha1.html index f8a3746..39ef462 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_sha1.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_sha1.html @@ -80,7 +80,7 @@ details of the EVP_MD structure.


    COPYRIGHT

    Copyright 2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_sha224.html b/linux_amd64/share/doc/openssl/html/man3/EVP_sha224.html index e0648cd..f7c404b 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_sha224.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_sha224.html @@ -99,7 +99,7 @@ details of the EVP_MD structure.


    COPYRIGHT

    Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_sha256.html b/linux_amd64/share/doc/openssl/html/man3/EVP_sha256.html new file mode 120000 index 0000000..310e899 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_sha256.html @@ -0,0 +1 @@ +EVP_sha224.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_sha384.html b/linux_amd64/share/doc/openssl/html/man3/EVP_sha384.html new file mode 120000 index 0000000..310e899 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_sha384.html @@ -0,0 +1 @@ +EVP_sha224.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_sha3_224.html b/linux_amd64/share/doc/openssl/html/man3/EVP_sha3_224.html index 8f8807f..f33a20b 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_sha3_224.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_sha3_224.html @@ -105,7 +105,7 @@ details of the EVP_MD structure.


    COPYRIGHT

    Copyright 2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_sha3_256.html b/linux_amd64/share/doc/openssl/html/man3/EVP_sha3_256.html new file mode 120000 index 0000000..42dac40 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_sha3_256.html @@ -0,0 +1 @@ +EVP_sha3_224.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_sha3_384.html b/linux_amd64/share/doc/openssl/html/man3/EVP_sha3_384.html new file mode 120000 index 0000000..42dac40 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_sha3_384.html @@ -0,0 +1 @@ +EVP_sha3_224.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_sha3_512.html b/linux_amd64/share/doc/openssl/html/man3/EVP_sha3_512.html new file mode 120000 index 0000000..42dac40 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_sha3_512.html @@ -0,0 +1 @@ +EVP_sha3_224.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_sha512.html b/linux_amd64/share/doc/openssl/html/man3/EVP_sha512.html new file mode 120000 index 0000000..310e899 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_sha512.html @@ -0,0 +1 @@ +EVP_sha224.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_sha512_224.html b/linux_amd64/share/doc/openssl/html/man3/EVP_sha512_224.html new file mode 120000 index 0000000..310e899 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_sha512_224.html @@ -0,0 +1 @@ +EVP_sha224.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_sha512_256.html b/linux_amd64/share/doc/openssl/html/man3/EVP_sha512_256.html new file mode 120000 index 0000000..310e899 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_sha512_256.html @@ -0,0 +1 @@ +EVP_sha224.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_shake128.html b/linux_amd64/share/doc/openssl/html/man3/EVP_shake128.html new file mode 120000 index 0000000..42dac40 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_shake128.html @@ -0,0 +1 @@ +EVP_sha3_224.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_shake256.html b/linux_amd64/share/doc/openssl/html/man3/EVP_shake256.html new file mode 120000 index 0000000..42dac40 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_shake256.html @@ -0,0 +1 @@ +EVP_sha3_224.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_sm3.html b/linux_amd64/share/doc/openssl/html/man3/EVP_sm3.html index b34e265..edf1580 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_sm3.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_sm3.html @@ -80,7 +80,7 @@ details of the EVP_MD structure.

    COPYRIGHT

    Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. Copyright 2017 Ribose Inc. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_sm4_cbc.html b/linux_amd64/share/doc/openssl/html/man3/EVP_sm4_cbc.html index 315f431..ad7e1d5 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_sm4_cbc.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_sm4_cbc.html @@ -91,7 +91,7 @@ details of the EVP_CIPHER structure.

    COPYRIGHT

    Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved. Copyright 2017 Ribose Inc. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_sm4_cfb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_sm4_cfb.html new file mode 120000 index 0000000..6f2402f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_sm4_cfb.html @@ -0,0 +1 @@ +EVP_sm4_cbc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_sm4_cfb128.html b/linux_amd64/share/doc/openssl/html/man3/EVP_sm4_cfb128.html new file mode 120000 index 0000000..6f2402f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_sm4_cfb128.html @@ -0,0 +1 @@ +EVP_sm4_cbc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_sm4_ctr.html b/linux_amd64/share/doc/openssl/html/man3/EVP_sm4_ctr.html new file mode 120000 index 0000000..6f2402f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_sm4_ctr.html @@ -0,0 +1 @@ +EVP_sm4_cbc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_sm4_ecb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_sm4_ecb.html new file mode 120000 index 0000000..6f2402f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_sm4_ecb.html @@ -0,0 +1 @@ +EVP_sm4_cbc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_sm4_ofb.html b/linux_amd64/share/doc/openssl/html/man3/EVP_sm4_ofb.html new file mode 120000 index 0000000..6f2402f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_sm4_ofb.html @@ -0,0 +1 @@ +EVP_sm4_cbc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EVP_whirlpool.html b/linux_amd64/share/doc/openssl/html/man3/EVP_whirlpool.html index aa3a8f6..a8c07e1 100755 --- a/linux_amd64/share/doc/openssl/html/man3/EVP_whirlpool.html +++ b/linux_amd64/share/doc/openssl/html/man3/EVP_whirlpool.html @@ -80,7 +80,7 @@ details of the EVP_MD structure.


    COPYRIGHT

    Copyright 2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/EXTENDED_KEY_USAGE_free.html b/linux_amd64/share/doc/openssl/html/man3/EXTENDED_KEY_USAGE_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EXTENDED_KEY_USAGE_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/EXTENDED_KEY_USAGE_new.html b/linux_amd64/share/doc/openssl/html/man3/EXTENDED_KEY_USAGE_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/EXTENDED_KEY_USAGE_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/GENERAL_NAMES_free.html b/linux_amd64/share/doc/openssl/html/man3/GENERAL_NAMES_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/GENERAL_NAMES_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/GENERAL_NAMES_new.html b/linux_amd64/share/doc/openssl/html/man3/GENERAL_NAMES_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/GENERAL_NAMES_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/GENERAL_NAME_dup.html b/linux_amd64/share/doc/openssl/html/man3/GENERAL_NAME_dup.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/GENERAL_NAME_dup.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/GENERAL_NAME_free.html b/linux_amd64/share/doc/openssl/html/man3/GENERAL_NAME_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/GENERAL_NAME_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/GENERAL_NAME_new.html b/linux_amd64/share/doc/openssl/html/man3/GENERAL_NAME_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/GENERAL_NAME_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/GENERAL_SUBTREE_free.html b/linux_amd64/share/doc/openssl/html/man3/GENERAL_SUBTREE_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/GENERAL_SUBTREE_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/GENERAL_SUBTREE_new.html b/linux_amd64/share/doc/openssl/html/man3/GENERAL_SUBTREE_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/GENERAL_SUBTREE_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/GEN_SESSION_CB.html b/linux_amd64/share/doc/openssl/html/man3/GEN_SESSION_CB.html new file mode 120000 index 0000000..6c5144d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/GEN_SESSION_CB.html @@ -0,0 +1 @@ +SSL_CTX_set_generate_session_id.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/HMAC.html b/linux_amd64/share/doc/openssl/html/man3/HMAC.html index 3d16d7f..efe173a 100755 --- a/linux_amd64/share/doc/openssl/html/man3/HMAC.html +++ b/linux_amd64/share/doc/openssl/html/man3/HMAC.html @@ -53,9 +53,6 @@ HMAC_size

    SYNOPSIS

      #include <openssl/hmac.h>
    -

    Deprecated since OpenSSL 3.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

      unsigned char *HMAC(const EVP_MD *evp_md, const void *key,
                          int key_len, const unsigned char *d, int n,
    @@ -76,19 +73,16 @@ HMAC_size
      const EVP_MD *HMAC_CTX_get_md(const HMAC_CTX *ctx);
      size_t HMAC_size(const HMAC_CTX *e);
    -

    Deprecated since OpenSSL 1.1.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

    +

    Deprecated:

    + #if OPENSSL_API_COMPAT < 0x10100000L
      int HMAC_Init(HMAC_CTX *ctx, const void *key, int key_len,
    -               const EVP_MD *md);
    + const EVP_MD *md); + #endif


    DESCRIPTION

    -

    All of the functions described on this page are deprecated. Applications should -instead use EVP_MAC_CTX_new(3), EVP_MAC_CTX_free(3), EVP_MAC_init(3), -EVP_MAC_update(3) and EVP_MAC_final(3).

    HMAC is a MAC (message authentication code), i.e. a keyed hash function used for message authentication, which is based on a hash function.

    @@ -104,7 +98,7 @@ value for md to use the static array is not thread safe.

    not support variable output length digests such as EVP_shake128() and EVP_shake256().

    HMAC_CTX_new() creates a new HMAC_CTX in heap memory.

    -

    HMAC_CTX_reset() clears an existing HMAC_CTX and associated +

    HMAC_CTX_reset() zeroes an existing HMAC_CTX and associated resources, making it suitable for new computations as if it was newly created with HMAC_CTX_new().

    HMAC_CTX_free() erases the key and other data from the HMAC_CTX, @@ -162,7 +156,6 @@ or zero on error.


    HISTORY

    -

    All of these functions were deprecated in OpenSSL 3.0.

    HMAC_CTX_init() was replaced with HMAC_CTX_reset() in OpenSSL 1.1.0.

    HMAC_CTX_cleanup() existed in OpenSSL before version 1.1.0.

    HMAC_CTX_new(), HMAC_CTX_free() and HMAC_CTX_get_md() are new in OpenSSL 1.1.0.

    @@ -172,8 +165,8 @@ OpenSSL before version 1.0.0.


    COPYRIGHT

    -

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/HMAC_CTX_copy.html b/linux_amd64/share/doc/openssl/html/man3/HMAC_CTX_copy.html new file mode 120000 index 0000000..28ebfd1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/HMAC_CTX_copy.html @@ -0,0 +1 @@ +HMAC.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/HMAC_CTX_free.html b/linux_amd64/share/doc/openssl/html/man3/HMAC_CTX_free.html new file mode 120000 index 0000000..28ebfd1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/HMAC_CTX_free.html @@ -0,0 +1 @@ +HMAC.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/HMAC_CTX_get_md.html b/linux_amd64/share/doc/openssl/html/man3/HMAC_CTX_get_md.html new file mode 120000 index 0000000..28ebfd1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/HMAC_CTX_get_md.html @@ -0,0 +1 @@ +HMAC.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/HMAC_CTX_new.html b/linux_amd64/share/doc/openssl/html/man3/HMAC_CTX_new.html new file mode 120000 index 0000000..28ebfd1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/HMAC_CTX_new.html @@ -0,0 +1 @@ +HMAC.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/HMAC_CTX_reset.html b/linux_amd64/share/doc/openssl/html/man3/HMAC_CTX_reset.html new file mode 120000 index 0000000..28ebfd1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/HMAC_CTX_reset.html @@ -0,0 +1 @@ +HMAC.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/HMAC_CTX_set_flags.html b/linux_amd64/share/doc/openssl/html/man3/HMAC_CTX_set_flags.html new file mode 120000 index 0000000..28ebfd1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/HMAC_CTX_set_flags.html @@ -0,0 +1 @@ +HMAC.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/HMAC_Final.html b/linux_amd64/share/doc/openssl/html/man3/HMAC_Final.html new file mode 120000 index 0000000..28ebfd1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/HMAC_Final.html @@ -0,0 +1 @@ +HMAC.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/HMAC_Init.html b/linux_amd64/share/doc/openssl/html/man3/HMAC_Init.html new file mode 120000 index 0000000..28ebfd1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/HMAC_Init.html @@ -0,0 +1 @@ +HMAC.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/HMAC_Init_ex.html b/linux_amd64/share/doc/openssl/html/man3/HMAC_Init_ex.html new file mode 120000 index 0000000..28ebfd1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/HMAC_Init_ex.html @@ -0,0 +1 @@ +HMAC.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/HMAC_Update.html b/linux_amd64/share/doc/openssl/html/man3/HMAC_Update.html new file mode 120000 index 0000000..28ebfd1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/HMAC_Update.html @@ -0,0 +1 @@ +HMAC.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/HMAC_size.html b/linux_amd64/share/doc/openssl/html/man3/HMAC_size.html new file mode 120000 index 0000000..28ebfd1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/HMAC_size.html @@ -0,0 +1 @@ +HMAC.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/IMPLEMENT_ASN1_FUNCTIONS.html b/linux_amd64/share/doc/openssl/html/man3/IMPLEMENT_ASN1_FUNCTIONS.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/IMPLEMENT_ASN1_FUNCTIONS.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/IMPLEMENT_LHASH_COMP_FN.html b/linux_amd64/share/doc/openssl/html/man3/IMPLEMENT_LHASH_COMP_FN.html new file mode 120000 index 0000000..48e7190 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/IMPLEMENT_LHASH_COMP_FN.html @@ -0,0 +1 @@ +OPENSSL_LH_COMPFUNC.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/IMPLEMENT_LHASH_HASH_FN.html b/linux_amd64/share/doc/openssl/html/man3/IMPLEMENT_LHASH_HASH_FN.html new file mode 120000 index 0000000..48e7190 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/IMPLEMENT_LHASH_HASH_FN.html @@ -0,0 +1 @@ +OPENSSL_LH_COMPFUNC.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/IPAddressChoice_free.html b/linux_amd64/share/doc/openssl/html/man3/IPAddressChoice_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/IPAddressChoice_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/IPAddressChoice_new.html b/linux_amd64/share/doc/openssl/html/man3/IPAddressChoice_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/IPAddressChoice_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/IPAddressFamily_free.html b/linux_amd64/share/doc/openssl/html/man3/IPAddressFamily_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/IPAddressFamily_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/IPAddressFamily_new.html b/linux_amd64/share/doc/openssl/html/man3/IPAddressFamily_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/IPAddressFamily_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/IPAddressOrRange_free.html b/linux_amd64/share/doc/openssl/html/man3/IPAddressOrRange_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/IPAddressOrRange_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/IPAddressOrRange_new.html b/linux_amd64/share/doc/openssl/html/man3/IPAddressOrRange_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/IPAddressOrRange_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/IPAddressRange_free.html b/linux_amd64/share/doc/openssl/html/man3/IPAddressRange_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/IPAddressRange_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/IPAddressRange_new.html b/linux_amd64/share/doc/openssl/html/man3/IPAddressRange_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/IPAddressRange_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ISSUING_DIST_POINT_free.html b/linux_amd64/share/doc/openssl/html/man3/ISSUING_DIST_POINT_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ISSUING_DIST_POINT_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ISSUING_DIST_POINT_new.html b/linux_amd64/share/doc/openssl/html/man3/ISSUING_DIST_POINT_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ISSUING_DIST_POINT_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/LHASH.html b/linux_amd64/share/doc/openssl/html/man3/LHASH.html new file mode 120000 index 0000000..48e7190 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/LHASH.html @@ -0,0 +1 @@ +OPENSSL_LH_COMPFUNC.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/LHASH_DOALL_ARG_FN_TYPE.html b/linux_amd64/share/doc/openssl/html/man3/LHASH_DOALL_ARG_FN_TYPE.html new file mode 120000 index 0000000..48e7190 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/LHASH_DOALL_ARG_FN_TYPE.html @@ -0,0 +1 @@ +OPENSSL_LH_COMPFUNC.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/MD2.html b/linux_amd64/share/doc/openssl/html/man3/MD2.html new file mode 120000 index 0000000..6b46625 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/MD2.html @@ -0,0 +1 @@ +MD5.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/MD2_Final.html b/linux_amd64/share/doc/openssl/html/man3/MD2_Final.html new file mode 120000 index 0000000..6b46625 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/MD2_Final.html @@ -0,0 +1 @@ +MD5.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/MD2_Init.html b/linux_amd64/share/doc/openssl/html/man3/MD2_Init.html new file mode 120000 index 0000000..6b46625 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/MD2_Init.html @@ -0,0 +1 @@ +MD5.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/MD2_Update.html b/linux_amd64/share/doc/openssl/html/man3/MD2_Update.html new file mode 120000 index 0000000..6b46625 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/MD2_Update.html @@ -0,0 +1 @@ +MD5.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/MD4.html b/linux_amd64/share/doc/openssl/html/man3/MD4.html new file mode 120000 index 0000000..6b46625 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/MD4.html @@ -0,0 +1 @@ +MD5.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/MD4_Final.html b/linux_amd64/share/doc/openssl/html/man3/MD4_Final.html new file mode 120000 index 0000000..6b46625 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/MD4_Final.html @@ -0,0 +1 @@ +MD5.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/MD4_Init.html b/linux_amd64/share/doc/openssl/html/man3/MD4_Init.html new file mode 120000 index 0000000..6b46625 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/MD4_Init.html @@ -0,0 +1 @@ +MD5.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/MD4_Update.html b/linux_amd64/share/doc/openssl/html/man3/MD4_Update.html new file mode 120000 index 0000000..6b46625 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/MD4_Update.html @@ -0,0 +1 @@ +MD5.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/MD5.html b/linux_amd64/share/doc/openssl/html/man3/MD5.html index 6dcf326..151d538 100755 --- a/linux_amd64/share/doc/openssl/html/man3/MD5.html +++ b/linux_amd64/share/doc/openssl/html/man3/MD5.html @@ -23,7 +23,6 @@
  160. RETURN VALUES
  161. CONFORMING TO
  162. SEE ALSO
  163. -
  164. HISTORY
  165. COPYRIGHT
  166. @@ -43,9 +42,6 @@ MD4_Final, MD5_Init, MD5_Update, MD5_Final - MD2, MD4, and MD5 hash functions

    SYNOPSIS

    >cC@i#u)(l>IO671e+Ljki|wuNec-B! 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 @s>t*-Qzxx#CGsw(}B%!Z& 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

      #include <openssl/md2.h>
    -

    Deprecated since OpenSSL 3.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

      unsigned char *MD2(const unsigned char *d, unsigned long n, unsigned char *md);
    @@ -54,9 +50,6 @@ MD4_Final, MD5_Init, MD5_Update, MD5_Final - MD2, MD4, and MD5 hash functions

      #include <openssl/md4.h>
    -

    Deprecated since OpenSSL 3.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

      unsigned char *MD4(const unsigned char *d, unsigned long n, unsigned char *md);
    @@ -65,9 +58,6 @@ MD4_Final, MD5_Init, MD5_Update, MD5_Final - MD2, MD4, and MD5 hash functions

      #include <openssl/md5.h>
    -

    Deprecated since OpenSSL 3.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

      unsigned char *MD5(const unsigned char *d, unsigned long n, unsigned char *md);
    @@ -78,9 +68,6 @@ MD4_Final, MD5_Init, MD5_Update, MD5_Final - MD2, MD4, and MD5 hash functions


    DESCRIPTION

    -

    All of the functions described on this page are deprecated. -Applications should instead use EVP_DigestInit_ex(3), EVP_DigestUpdate(3) -and EVP_DigestFinal_ex(3).

    MD2, MD4, and MD5 are cryptographic hash functions with a 128 bit output.

    MD2(), MD4(), and MD5() compute the MD2, MD4, and MD5 message digest of the n bytes at d and place it in md (which must have space @@ -127,14 +114,9 @@ success, 0 otherwise.


    -

    HISTORY

    -

    All of these functions were deprecated in OpenSSL 3.0.

    -

    -

    -

    COPYRIGHT

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/MD5_Final.html b/linux_amd64/share/doc/openssl/html/man3/MD5_Final.html new file mode 120000 index 0000000..6b46625 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/MD5_Final.html @@ -0,0 +1 @@ +MD5.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/MD5_Init.html b/linux_amd64/share/doc/openssl/html/man3/MD5_Init.html new file mode 120000 index 0000000..6b46625 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/MD5_Init.html @@ -0,0 +1 @@ +MD5.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/MD5_Update.html b/linux_amd64/share/doc/openssl/html/man3/MD5_Update.html new file mode 120000 index 0000000..6b46625 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/MD5_Update.html @@ -0,0 +1 @@ +MD5.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/MDC2.html b/linux_amd64/share/doc/openssl/html/man3/MDC2.html new file mode 120000 index 0000000..820a574 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/MDC2.html @@ -0,0 +1 @@ +MDC2_Init.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/MDC2_Final.html b/linux_amd64/share/doc/openssl/html/man3/MDC2_Final.html new file mode 120000 index 0000000..820a574 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/MDC2_Final.html @@ -0,0 +1 @@ +MDC2_Init.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/MDC2_Init.html b/linux_amd64/share/doc/openssl/html/man3/MDC2_Init.html index 31692e6..775f78a 100755 --- a/linux_amd64/share/doc/openssl/html/man3/MDC2_Init.html +++ b/linux_amd64/share/doc/openssl/html/man3/MDC2_Init.html @@ -22,7 +22,6 @@
  167. RETURN VALUES
  168. CONFORMING TO
  169. SEE ALSO
  170. -
  171. HISTORY
  172. COPYRIGHT
  173. @@ -41,9 +40,6 @@

    SYNOPSIS

      #include <openssl/mdc2.h>
    -

    Deprecated since OpenSSL 3.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

      unsigned char *MDC2(const unsigned char *d, unsigned long n,
                          unsigned char *md);
    @@ -56,9 +52,6 @@


    DESCRIPTION

    -

    All of the functions described on this page are deprecated. -Applications should instead use EVP_DigestInit_ex(3), EVP_DigestUpdate(3) -and EVP_DigestFinal_ex(3).

    MDC2 is a method to construct hash functions with 128 bit output from block ciphers. These functions are an implementation of MDC2 with DES.

    @@ -95,14 +88,9 @@ hash functions directly.


    -

    HISTORY

    -

    All of these functions were deprecated in OpenSSL 3.0.

    -

    -

    -

    COPYRIGHT

    Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/MDC2_Update.html b/linux_amd64/share/doc/openssl/html/man3/MDC2_Update.html new file mode 120000 index 0000000..820a574 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/MDC2_Update.html @@ -0,0 +1 @@ +MDC2_Init.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/NAME_CONSTRAINTS_free.html b/linux_amd64/share/doc/openssl/html/man3/NAME_CONSTRAINTS_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/NAME_CONSTRAINTS_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/NAME_CONSTRAINTS_new.html b/linux_amd64/share/doc/openssl/html/man3/NAME_CONSTRAINTS_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/NAME_CONSTRAINTS_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/NAMING_AUTHORITY.html b/linux_amd64/share/doc/openssl/html/man3/NAMING_AUTHORITY.html new file mode 120000 index 0000000..c372727 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/NAMING_AUTHORITY.html @@ -0,0 +1 @@ +ADMISSIONS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/NAMING_AUTHORITY_free.html b/linux_amd64/share/doc/openssl/html/man3/NAMING_AUTHORITY_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/NAMING_AUTHORITY_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/NAMING_AUTHORITY_get0_authorityId.html b/linux_amd64/share/doc/openssl/html/man3/NAMING_AUTHORITY_get0_authorityId.html new file mode 120000 index 0000000..c372727 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/NAMING_AUTHORITY_get0_authorityId.html @@ -0,0 +1 @@ +ADMISSIONS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/NAMING_AUTHORITY_get0_authorityText.html b/linux_amd64/share/doc/openssl/html/man3/NAMING_AUTHORITY_get0_authorityText.html new file mode 120000 index 0000000..c372727 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/NAMING_AUTHORITY_get0_authorityText.html @@ -0,0 +1 @@ +ADMISSIONS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/NAMING_AUTHORITY_get0_authorityURL.html b/linux_amd64/share/doc/openssl/html/man3/NAMING_AUTHORITY_get0_authorityURL.html new file mode 120000 index 0000000..c372727 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/NAMING_AUTHORITY_get0_authorityURL.html @@ -0,0 +1 @@ +ADMISSIONS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/NAMING_AUTHORITY_new.html b/linux_amd64/share/doc/openssl/html/man3/NAMING_AUTHORITY_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/NAMING_AUTHORITY_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/NAMING_AUTHORITY_set0_authorityId.html b/linux_amd64/share/doc/openssl/html/man3/NAMING_AUTHORITY_set0_authorityId.html new file mode 120000 index 0000000..c372727 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/NAMING_AUTHORITY_set0_authorityId.html @@ -0,0 +1 @@ +ADMISSIONS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/NAMING_AUTHORITY_set0_authorityText.html b/linux_amd64/share/doc/openssl/html/man3/NAMING_AUTHORITY_set0_authorityText.html new file mode 120000 index 0000000..c372727 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/NAMING_AUTHORITY_set0_authorityText.html @@ -0,0 +1 @@ +ADMISSIONS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/NAMING_AUTHORITY_set0_authorityURL.html b/linux_amd64/share/doc/openssl/html/man3/NAMING_AUTHORITY_set0_authorityURL.html new file mode 120000 index 0000000..c372727 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/NAMING_AUTHORITY_set0_authorityURL.html @@ -0,0 +1 @@ +ADMISSIONS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/NETSCAPE_CERT_SEQUENCE_free.html b/linux_amd64/share/doc/openssl/html/man3/NETSCAPE_CERT_SEQUENCE_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/NETSCAPE_CERT_SEQUENCE_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/NETSCAPE_CERT_SEQUENCE_new.html b/linux_amd64/share/doc/openssl/html/man3/NETSCAPE_CERT_SEQUENCE_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/NETSCAPE_CERT_SEQUENCE_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/NETSCAPE_SPKAC_free.html b/linux_amd64/share/doc/openssl/html/man3/NETSCAPE_SPKAC_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/NETSCAPE_SPKAC_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/NETSCAPE_SPKAC_new.html b/linux_amd64/share/doc/openssl/html/man3/NETSCAPE_SPKAC_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/NETSCAPE_SPKAC_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/NETSCAPE_SPKI_free.html b/linux_amd64/share/doc/openssl/html/man3/NETSCAPE_SPKI_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/NETSCAPE_SPKI_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/NETSCAPE_SPKI_new.html b/linux_amd64/share/doc/openssl/html/man3/NETSCAPE_SPKI_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/NETSCAPE_SPKI_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/NOTICEREF_free.html b/linux_amd64/share/doc/openssl/html/man3/NOTICEREF_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/NOTICEREF_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/NOTICEREF_new.html b/linux_amd64/share/doc/openssl/html/man3/NOTICEREF_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/NOTICEREF_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OBJ_cleanup.html b/linux_amd64/share/doc/openssl/html/man3/OBJ_cleanup.html new file mode 120000 index 0000000..1da4abe --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OBJ_cleanup.html @@ -0,0 +1 @@ +OBJ_nid2obj.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OBJ_cmp.html b/linux_amd64/share/doc/openssl/html/man3/OBJ_cmp.html new file mode 120000 index 0000000..1da4abe --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OBJ_cmp.html @@ -0,0 +1 @@ +OBJ_nid2obj.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OBJ_create.html b/linux_amd64/share/doc/openssl/html/man3/OBJ_create.html new file mode 120000 index 0000000..1da4abe --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OBJ_create.html @@ -0,0 +1 @@ +OBJ_nid2obj.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OBJ_dup.html b/linux_amd64/share/doc/openssl/html/man3/OBJ_dup.html new file mode 120000 index 0000000..1da4abe --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OBJ_dup.html @@ -0,0 +1 @@ +OBJ_nid2obj.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OBJ_get0_data.html b/linux_amd64/share/doc/openssl/html/man3/OBJ_get0_data.html new file mode 120000 index 0000000..1da4abe --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OBJ_get0_data.html @@ -0,0 +1 @@ +OBJ_nid2obj.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OBJ_length.html b/linux_amd64/share/doc/openssl/html/man3/OBJ_length.html new file mode 120000 index 0000000..1da4abe --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OBJ_length.html @@ -0,0 +1 @@ +OBJ_nid2obj.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OBJ_ln2nid.html b/linux_amd64/share/doc/openssl/html/man3/OBJ_ln2nid.html new file mode 120000 index 0000000..1da4abe --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OBJ_ln2nid.html @@ -0,0 +1 @@ +OBJ_nid2obj.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OBJ_nid2ln.html b/linux_amd64/share/doc/openssl/html/man3/OBJ_nid2ln.html new file mode 120000 index 0000000..1da4abe --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OBJ_nid2ln.html @@ -0,0 +1 @@ +OBJ_nid2obj.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OBJ_nid2obj.html b/linux_amd64/share/doc/openssl/html/man3/OBJ_nid2obj.html index ab300c5..a8982d0 100755 --- a/linux_amd64/share/doc/openssl/html/man3/OBJ_nid2obj.html +++ b/linux_amd64/share/doc/openssl/html/man3/OBJ_nid2obj.html @@ -70,11 +70,11 @@ OBJ_dup, OBJ_txt2obj, OBJ_obj2txt, OBJ_create, OBJ_cleanup
      size_t OBJ_length(const ASN1_OBJECT *obj);
      const unsigned char *OBJ_get0_data(const ASN1_OBJECT *obj);
    -

    Deprecated since OpenSSL 1.1.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

    +

    Deprecated:

    - void OBJ_cleanup(void)
    + #if OPENSSL_API_COMPAT < 0x10100000L + void OBJ_cleanup(void) + #endif


    @@ -200,8 +200,8 @@ and should not be used.


    COPYRIGHT

    -

    Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2002-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/OBJ_nid2sn.html b/linux_amd64/share/doc/openssl/html/man3/OBJ_nid2sn.html new file mode 120000 index 0000000..1da4abe --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OBJ_nid2sn.html @@ -0,0 +1 @@ +OBJ_nid2obj.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OBJ_obj2nid.html b/linux_amd64/share/doc/openssl/html/man3/OBJ_obj2nid.html new file mode 120000 index 0000000..1da4abe --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OBJ_obj2nid.html @@ -0,0 +1 @@ +OBJ_nid2obj.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OBJ_obj2txt.html b/linux_amd64/share/doc/openssl/html/man3/OBJ_obj2txt.html new file mode 120000 index 0000000..1da4abe --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OBJ_obj2txt.html @@ -0,0 +1 @@ +OBJ_nid2obj.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OBJ_sn2nid.html b/linux_amd64/share/doc/openssl/html/man3/OBJ_sn2nid.html new file mode 120000 index 0000000..1da4abe --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OBJ_sn2nid.html @@ -0,0 +1 @@ +OBJ_nid2obj.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OBJ_txt2nid.html b/linux_amd64/share/doc/openssl/html/man3/OBJ_txt2nid.html new file mode 120000 index 0000000..1da4abe --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OBJ_txt2nid.html @@ -0,0 +1 @@ +OBJ_nid2obj.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OBJ_txt2obj.html b/linux_amd64/share/doc/openssl/html/man3/OBJ_txt2obj.html new file mode 120000 index 0000000..1da4abe --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OBJ_txt2obj.html @@ -0,0 +1 @@ +OBJ_nid2obj.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_BASICRESP_free.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_BASICRESP_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_BASICRESP_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_BASICRESP_new.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_BASICRESP_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_BASICRESP_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_CERTID_dup.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_CERTID_dup.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_CERTID_dup.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_CERTID_free.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_CERTID_free.html new file mode 120000 index 0000000..ba01feb --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_CERTID_free.html @@ -0,0 +1 @@ +OCSP_cert_to_id.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_CERTID_new.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_CERTID_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_CERTID_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_CERTSTATUS_free.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_CERTSTATUS_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_CERTSTATUS_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_CERTSTATUS_new.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_CERTSTATUS_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_CERTSTATUS_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_CRLID_free.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_CRLID_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_CRLID_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_CRLID_new.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_CRLID_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_CRLID_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_ONEREQ_free.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_ONEREQ_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_ONEREQ_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_ONEREQ_new.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_ONEREQ_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_ONEREQ_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_REQINFO_free.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_REQINFO_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_REQINFO_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_REQINFO_new.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_REQINFO_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_REQINFO_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_REQUEST_free.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_REQUEST_free.html new file mode 120000 index 0000000..2c2ce6b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_REQUEST_free.html @@ -0,0 +1 @@ +OCSP_REQUEST_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_REQUEST_new.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_REQUEST_new.html index 150b15d..0bb093a 100755 --- a/linux_amd64/share/doc/openssl/html/man3/OCSP_REQUEST_new.html +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_REQUEST_new.html @@ -137,8 +137,8 @@ OCSP responders.


    COPYRIGHT

    -

    Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2015-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_REQ_CTX_add1_header.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_REQ_CTX_add1_header.html new file mode 120000 index 0000000..46db398 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_REQ_CTX_add1_header.html @@ -0,0 +1 @@ +OCSP_sendreq_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_REQ_CTX_free.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_REQ_CTX_free.html new file mode 120000 index 0000000..46db398 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_REQ_CTX_free.html @@ -0,0 +1 @@ +OCSP_sendreq_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_REQ_CTX_set1_req.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_REQ_CTX_set1_req.html new file mode 120000 index 0000000..46db398 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_REQ_CTX_set1_req.html @@ -0,0 +1 @@ +OCSP_sendreq_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_RESPBYTES_free.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_RESPBYTES_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_RESPBYTES_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_RESPBYTES_new.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_RESPBYTES_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_RESPBYTES_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_RESPDATA_free.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_RESPDATA_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_RESPDATA_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_RESPDATA_new.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_RESPDATA_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_RESPDATA_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_RESPID_free.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_RESPID_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_RESPID_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_RESPID_match.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_RESPID_match.html new file mode 120000 index 0000000..b1453b2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_RESPID_match.html @@ -0,0 +1 @@ +OCSP_response_status.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_RESPID_new.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_RESPID_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_RESPID_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_RESPID_set_by_key.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_RESPID_set_by_key.html new file mode 120000 index 0000000..b1453b2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_RESPID_set_by_key.html @@ -0,0 +1 @@ +OCSP_response_status.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_RESPID_set_by_name.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_RESPID_set_by_name.html new file mode 120000 index 0000000..b1453b2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_RESPID_set_by_name.html @@ -0,0 +1 @@ +OCSP_response_status.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_RESPONSE_free.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_RESPONSE_free.html new file mode 120000 index 0000000..b1453b2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_RESPONSE_free.html @@ -0,0 +1 @@ +OCSP_response_status.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_RESPONSE_new.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_RESPONSE_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_RESPONSE_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_REVOKEDINFO_free.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_REVOKEDINFO_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_REVOKEDINFO_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_REVOKEDINFO_new.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_REVOKEDINFO_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_REVOKEDINFO_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_SERVICELOC_free.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_SERVICELOC_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_SERVICELOC_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_SERVICELOC_new.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_SERVICELOC_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_SERVICELOC_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_SIGNATURE_free.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_SIGNATURE_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_SIGNATURE_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_SIGNATURE_new.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_SIGNATURE_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_SIGNATURE_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_SINGLERESP_free.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_SINGLERESP_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_SINGLERESP_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_SINGLERESP_new.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_SINGLERESP_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_SINGLERESP_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_basic_add1_nonce.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_basic_add1_nonce.html new file mode 120000 index 0000000..d9d613c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_basic_add1_nonce.html @@ -0,0 +1 @@ +OCSP_request_add1_nonce.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_basic_sign.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_basic_sign.html new file mode 120000 index 0000000..b1453b2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_basic_sign.html @@ -0,0 +1 @@ +OCSP_response_status.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_basic_sign_ctx.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_basic_sign_ctx.html new file mode 120000 index 0000000..b1453b2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_basic_sign_ctx.html @@ -0,0 +1 @@ +OCSP_response_status.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_basic_verify.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_basic_verify.html new file mode 120000 index 0000000..16f6930 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_basic_verify.html @@ -0,0 +1 @@ +OCSP_resp_find_status.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_cert_id_new.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_cert_id_new.html new file mode 120000 index 0000000..ba01feb --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_cert_id_new.html @@ -0,0 +1 @@ +OCSP_cert_to_id.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_cert_to_id.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_cert_to_id.html index f409827..f19d405 100755 --- a/linux_amd64/share/doc/openssl/html/man3/OCSP_cert_to_id.html +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_cert_to_id.html @@ -80,7 +80,7 @@ corresponding parameter can be set to NULL.

    RETURN VALUES

    OCSP_cert_to_id() and OCSP_cert_id_new() return either a pointer to a valid OCSP_CERTID structure or NULL if an error occurred.

    -

    OCSP_id_cmp() and OCSP_id_issuer_cmp() returns zero for a match and nonzero +

    OCSP_id_cmp() and OCSP_id_issuer_cmp() returns zero for a match and non-zero otherwise.

    OCSP_CERTID_free() does not return a value.

    OCSP_id_get0_info() returns 1 for success and 0 for failure.

    @@ -107,8 +107,8 @@ NOT
    be freed up by an application: they will be freed when the correspo


    COPYRIGHT

    -

    Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2015-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_check_nonce.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_check_nonce.html new file mode 120000 index 0000000..d9d613c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_check_nonce.html @@ -0,0 +1 @@ +OCSP_request_add1_nonce.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_check_validity.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_check_validity.html new file mode 120000 index 0000000..16f6930 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_check_validity.html @@ -0,0 +1 @@ +OCSP_resp_find_status.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_copy_nonce.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_copy_nonce.html new file mode 120000 index 0000000..d9d613c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_copy_nonce.html @@ -0,0 +1 @@ +OCSP_request_add1_nonce.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_id_cmp.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_id_cmp.html new file mode 120000 index 0000000..ba01feb --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_id_cmp.html @@ -0,0 +1 @@ +OCSP_cert_to_id.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_id_get0_info.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_id_get0_info.html new file mode 120000 index 0000000..ba01feb --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_id_get0_info.html @@ -0,0 +1 @@ +OCSP_cert_to_id.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_id_issuer_cmp.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_id_issuer_cmp.html new file mode 120000 index 0000000..ba01feb --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_id_issuer_cmp.html @@ -0,0 +1 @@ +OCSP_cert_to_id.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_request_add0_id.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_request_add0_id.html new file mode 120000 index 0000000..2c2ce6b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_request_add0_id.html @@ -0,0 +1 @@ +OCSP_REQUEST_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_request_add1_cert.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_request_add1_cert.html new file mode 120000 index 0000000..2c2ce6b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_request_add1_cert.html @@ -0,0 +1 @@ +OCSP_REQUEST_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_request_add1_nonce.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_request_add1_nonce.html index a284059..6838c18 100755 --- a/linux_amd64/share/doc/openssl/html/man3/OCSP_request_add1_nonce.html +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_request_add1_nonce.html @@ -84,7 +84,7 @@ supplied.

    performance reasons. As a result they do not support nonces.

    The return values of OCSP_check_nonce() can be checked to cover each case. A positive return value effectively indicates success: nonces are both present -and match, both absent or present in the response only. A nonzero return +and match, both absent or present in the response only. A non-zero return additionally covers the case where the nonce is present in the request only: this will happen if the responder doesn't support nonces. A zero return value indicates present and mismatched nonces: this should be treated as an error @@ -104,7 +104,7 @@ condition.


    COPYRIGHT

    Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_request_onereq_count.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_request_onereq_count.html new file mode 120000 index 0000000..2c2ce6b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_request_onereq_count.html @@ -0,0 +1 @@ +OCSP_REQUEST_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_request_onereq_get0.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_request_onereq_get0.html new file mode 120000 index 0000000..2c2ce6b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_request_onereq_get0.html @@ -0,0 +1 @@ +OCSP_REQUEST_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_request_sign.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_request_sign.html new file mode 120000 index 0000000..2c2ce6b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_request_sign.html @@ -0,0 +1 @@ +OCSP_REQUEST_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_resp_count.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_resp_count.html new file mode 120000 index 0000000..16f6930 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_resp_count.html @@ -0,0 +1 @@ +OCSP_resp_find_status.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_resp_find.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_resp_find.html new file mode 120000 index 0000000..16f6930 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_resp_find.html @@ -0,0 +1 @@ +OCSP_resp_find_status.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_resp_find_status.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_resp_find_status.html index d3fcf2d..ff0dafc 100755 --- a/linux_amd64/share/doc/openssl/html/man3/OCSP_resp_find_status.html +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_resp_find_status.html @@ -134,7 +134,7 @@ in case of success and 0 in case of failure. If OCSP_resp_get1_id() returns 0, no freeing of the results is necessary.

    OCSP_check_validity() checks the validity of thisupd and nextupd values which will be typically obtained from OCSP_resp_find_status() or -OCSP_single_get0_status(). If sec is nonzero it indicates how many seconds +OCSP_single_get0_status(). If sec is non-zero it indicates how many seconds leeway should be allowed in the check. If maxsec is positive it indicates the maximum age of thisupd in seconds.

    OCSP_basic_verify() checks that the basic response message bs is correctly @@ -183,7 +183,7 @@ ID of interest and then check its validity using OCSP_check_validity()

    An OCSP response for a certificate contains thisUpdate and nextUpdate fields. Normally the current time should be between these two values. To -account for clock skew the maxsec field can be set to nonzero in +account for clock skew the maxsec field can be set to non-zero in OCSP_check_validity(). Some responders do not set the nextUpdate field, this would otherwise mean an ancient response would be considered valid: the maxsec parameter to OCSP_check_validity() can be used to limit the permitted @@ -207,7 +207,7 @@ parameters can be set to NULL if their value is not required.


    COPYRIGHT

    Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_resp_get0.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_resp_get0.html new file mode 120000 index 0000000..16f6930 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_resp_get0.html @@ -0,0 +1 @@ +OCSP_resp_find_status.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_resp_get0_certs.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_resp_get0_certs.html new file mode 120000 index 0000000..16f6930 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_resp_get0_certs.html @@ -0,0 +1 @@ +OCSP_resp_find_status.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_resp_get0_id.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_resp_get0_id.html new file mode 120000 index 0000000..16f6930 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_resp_get0_id.html @@ -0,0 +1 @@ +OCSP_resp_find_status.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_resp_get0_produced_at.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_resp_get0_produced_at.html new file mode 120000 index 0000000..16f6930 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_resp_get0_produced_at.html @@ -0,0 +1 @@ +OCSP_resp_find_status.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_resp_get0_respdata.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_resp_get0_respdata.html new file mode 120000 index 0000000..16f6930 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_resp_get0_respdata.html @@ -0,0 +1 @@ +OCSP_resp_find_status.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_resp_get0_signature.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_resp_get0_signature.html new file mode 120000 index 0000000..16f6930 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_resp_get0_signature.html @@ -0,0 +1 @@ +OCSP_resp_find_status.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_resp_get0_signer.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_resp_get0_signer.html new file mode 120000 index 0000000..16f6930 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_resp_get0_signer.html @@ -0,0 +1 @@ +OCSP_resp_find_status.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_resp_get0_tbs_sigalg.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_resp_get0_tbs_sigalg.html new file mode 120000 index 0000000..16f6930 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_resp_get0_tbs_sigalg.html @@ -0,0 +1 @@ +OCSP_resp_find_status.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_resp_get1_id.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_resp_get1_id.html new file mode 120000 index 0000000..16f6930 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_resp_get1_id.html @@ -0,0 +1 @@ +OCSP_resp_find_status.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_response_create.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_response_create.html new file mode 120000 index 0000000..b1453b2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_response_create.html @@ -0,0 +1 @@ +OCSP_response_status.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_response_get1_basic.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_response_get1_basic.html new file mode 120000 index 0000000..b1453b2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_response_get1_basic.html @@ -0,0 +1 @@ +OCSP_response_status.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_response_status.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_response_status.html index 333abcf..87be50f 100755 --- a/linux_amd64/share/doc/openssl/html/man3/OCSP_response_status.html +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_response_status.html @@ -134,7 +134,7 @@ functions were added in OpenSSL 1.1.0a.


    COPYRIGHT

    Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_sendreq_bio.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_sendreq_bio.html new file mode 120000 index 0000000..46db398 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_sendreq_bio.html @@ -0,0 +1 @@ +OCSP_sendreq_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_sendreq_nbio.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_sendreq_nbio.html new file mode 120000 index 0000000..46db398 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_sendreq_nbio.html @@ -0,0 +1 @@ +OCSP_sendreq_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_sendreq_new.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_sendreq_new.html index f7b1259..fa97b8e 100755 --- a/linux_amd64/share/doc/openssl/html/man3/OCSP_sendreq_new.html +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_sendreq_new.html @@ -43,20 +43,19 @@ OCSP_REQ_CTX_set1_req, OCSP_sendreq_bio - OCSP responder query functions

      #include <openssl/ocsp.h>
    - OCSP_REQ_CTX *OCSP_sendreq_new(BIO *io, const char *path,
    -                                OCSP_REQUEST *req, int maxline);
    + OCSP_REQ_CTX *OCSP_sendreq_new(BIO *io, const char *path, OCSP_REQUEST *req, + int maxline);
      int OCSP_sendreq_nbio(OCSP_RESPONSE **presp, OCSP_REQ_CTX *rctx);
      void OCSP_REQ_CTX_free(OCSP_REQ_CTX *rctx);
    - void OCSP_set_max_response_length(OCSP_REQ_CTX *rctx,
    -                                   unsigned long len);
    + void OCSP_set_max_response_length(OCSP_REQ_CTX *rctx, unsigned long len);
      int OCSP_REQ_CTX_add1_header(OCSP_REQ_CTX *rctx,
                                   const char *name, const char *value);
    - int OCSP_REQ_CTX_set1_req(OCSP_REQ_CTX *rctx, const OCSP_REQUEST *req);
    + int OCSP_REQ_CTX_set1_req(OCSP_REQ_CTX *rctx, OCSP_REQUEST *req);
      OCSP_RESPONSE *OCSP_sendreq_bio(BIO *io, const char *path, OCSP_REQUEST *req);

    @@ -68,12 +67,12 @@ responder io, the URL path path, the OCSP requ response header maximum line length of maxline. If maxline is zero a default value of 4k is used. The OCSP request req may be set to NULL and provided later if required.

    -

    OCSP_sendreq_nbio() performs I/O on the OCSP request context rctx. -When the operation is complete it returns the response in *presp.

    +

    OCSP_sendreq_nbio() performs non-blocking I/O on the OCSP request context +rctx. When the operation is complete it returns the response in *presp.

    OCSP_REQ_CTX_free() frees up the OCSP context rctx.

    -

    OCSP_set_max_response_length() sets the maximum response length -for rctx to len. If the response exceeds this length an error occurs. -If not set a default value of 100k is used.

    +

    OCSP_set_max_response_length() sets the maximum response length for rctx +to len. If the response exceeds this length an error occurs. If not +set a default value of 100k is used.

    OCSP_REQ_CTX_add1_header() adds header name with value value to the context rctx. It can be called more than once to add multiple headers. It MUST be called before any calls to OCSP_sendreq_nbio(). The req @@ -82,20 +81,21 @@ additional headers are set.

    OCSP_REQ_CTX_set1_req() sets the OCSP request in rctx to req. This function should be called after any calls to OCSP_REQ_CTX_add1_header().

    OCSP_sendreq_bio() performs an OCSP request using the responder io, the URL -path path, the OCSP request req and with a response header maximum line +path path, and the OCSP request req with a response header maximum line length 4k. It waits indefinitely on a response.


    RETURN VALUES

    -

    OCSP_sendreq_new() returns a valid OCSP_REQ_CTX structure or NULL -if an error occurred.

    -

    OCSP_sendreq_nbio(), OCSP_REQ_CTX_add1_header() and OCSP_REQ_CTX_set1_req() -return 1 for success and 0 for failure.

    +

    OCSP_sendreq_new() returns a valid OCSP_REQ_CTX structure or NULL if +an error occurred.

    +

    OCSP_sendreq_nbio() returns 1 if the operation was completed successfully, +-1 if the operation should be retried and 0 if an error occurred.

    +

    OCSP_REQ_CTX_add1_header() and OCSP_REQ_CTX_set1_req() return 1 for success +and 0 for failure.

    OCSP_sendreq_bio() returns the OCSP_RESPONSE structure sent by the responder or NULL if an error occurred.

    -

    OCSP_REQ_CTX_free() and OCSP_set_max_response_length() -do not return values.

    +

    OCSP_REQ_CTX_free() and OCSP_set_max_response_length() do not return values.


    @@ -113,9 +113,13 @@ should be set to "/ocspreq"

    a Host header for ocsp.com you would call:

      OCSP_REQ_CTX_add1_header(ctx, "Host", "ocsp.com");
    -

    OCSP_sendreq_bio() does not support timeout nor setting extra headers. -It is retained for compatibility. -Better use OCSP_sendreq_nbio() instead.

    +

    If OCSP_sendreq_nbio() indicates an operation should be retried the +corresponding BIO can be examined to determine which operation (read or +write) should be retried and appropriate action taken (for example a select() +call on the underlying socket).

    +

    OCSP_sendreq_bio() does not support retries and so cannot handle non-blocking +I/O efficiently. It is retained for compatibility and its use in new +applications is not recommended.


    @@ -131,7 +135,7 @@ Better use OCSP_sendreq_nbio() instead.


    COPYRIGHT

    Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_set_max_response_length.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_set_max_response_length.html new file mode 120000 index 0000000..46db398 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_set_max_response_length.html @@ -0,0 +1 @@ +OCSP_sendreq_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OCSP_single_get0_status.html b/linux_amd64/share/doc/openssl/html/man3/OCSP_single_get0_status.html new file mode 120000 index 0000000..16f6930 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OCSP_single_get0_status.html @@ -0,0 +1 @@ +OCSP_resp_find_status.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_Applink.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_Applink.html index 79ed517..77d49e4 100755 --- a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_Applink.html +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_Applink.html @@ -60,7 +60,7 @@ the public header files (only on the platforms where applicable).


    COPYRIGHT

    Copyright 2004-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_INIT_free.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_INIT_free.html new file mode 120000 index 0000000..2e99423 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_INIT_free.html @@ -0,0 +1 @@ +OPENSSL_init_crypto.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_INIT_new.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_INIT_new.html new file mode 120000 index 0000000..2e99423 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_INIT_new.html @@ -0,0 +1 @@ +OPENSSL_init_crypto.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_INIT_set_config_appname.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_INIT_set_config_appname.html new file mode 120000 index 0000000..2e99423 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_INIT_set_config_appname.html @@ -0,0 +1 @@ +OPENSSL_init_crypto.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_INIT_set_config_file_flags.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_INIT_set_config_file_flags.html new file mode 120000 index 0000000..2e99423 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_INIT_set_config_file_flags.html @@ -0,0 +1 @@ +OPENSSL_init_crypto.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_INIT_set_config_filename.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_INIT_set_config_filename.html new file mode 120000 index 0000000..2e99423 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_INIT_set_config_filename.html @@ -0,0 +1 @@ +OPENSSL_init_crypto.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_LH_COMPFUNC.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_LH_COMPFUNC.html index 2463491..5fca2f4 100755 --- a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_LH_COMPFUNC.html +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_LH_COMPFUNC.html @@ -39,7 +39,7 @@ OPENSSL_LH_COMPFUNC, OPENSSL_LH_HASHFUNC, OPENSSL_LH_DOALL_FUNC, LHASH_DOALL_ARG_FN_TYPE, IMPLEMENT_LHASH_HASH_FN, IMPLEMENT_LHASH_COMP_FN, -lh_TYPE_new, lh_TYPE_free, lh_TYPE_flush, +lh_TYPE_new, lh_TYPE_free, lh_TYPE_insert, lh_TYPE_delete, lh_TYPE_retrieve, lh_TYPE_doall, lh_TYPE_doall_arg, lh_TYPE_error - dynamic hash table

    @@ -52,8 +52,7 @@ lh_TYPE_doall, lh_TYPE_doall_arg, lh_TYPE_error - dynamic hash table

    DECLARE_LHASH_OF(TYPE);
      LHASH *lh_TYPE_new(OPENSSL_LH_HASHFUNC hash, OPENSSL_LH_COMPFUNC compare);
    - void lh_TYPE_free(LHASH_OF(TYPE) *table);
    - void lh_TYPE_flush(LHASH_OF(TYPE) *table);
    + void lh_TYPE_free(LHASH_OF(TYPE) *table);
      TYPE *lh_TYPE_insert(LHASH_OF(TYPE) *table, TYPE *data);
      TYPE *lh_TYPE_delete(LHASH_OF(TYPE) *table, TYPE *data);
    @@ -75,23 +74,23 @@ lh_TYPE_doall, lh_TYPE_doall_arg, lh_TYPE_error - dynamic hash table

    DESCRIPTION

    This library implements type-checked dynamic hash tables. The hash table entries can be arbitrary structures. Usually they consist of key -and value fields. In the description here, TYPE is used a placeholder +and value fields. In the description here, TYPE is used a placeholder for any of the OpenSSL datatypes, such as SSL_SESSION.

    -

    lh_TYPE_new() creates a new LHASH_OF(TYPE) structure to store +

    lh_TYPE_new() creates a new LHASH_OF(TYPE) structure to store arbitrary data entries, and specifies the 'hash' and 'compare' -callbacks to be used in organising the table's entries. The hash +callbacks to be used in organising the table's entries. The hash callback takes a pointer to a table entry as its argument and returns an unsigned long hash value for its key field. The hash value is normally truncated to a power of 2, so make sure that your hash -function returns well mixed low order bits. The compare callback +function returns well mixed low order bits. The compare callback takes two arguments (pointers to two hash table entries), and returns -0 if their keys are equal, nonzero otherwise.

    +0 if their keys are equal, non-zero otherwise.

    If your hash table -will contain items of some particular type and the hash and -compare callbacks hash/compare these types, then the +will contain items of some particular type and the hash and +compare callbacks hash/compare these types, then the IMPLEMENT_LHASH_HASH_FN and IMPLEMENT_LHASH_COMP_FN macros can be used to create callback wrappers of the prototypes required by -lh_TYPE_new() as shown in this example:

    +lh_TYPE_new() as shown in this example:

      /*
       * Implement the hash and compare functions; "stuff" can be any word.
    @@ -115,29 +114,25 @@ can be used in a common header file to declare the function wrappers:

      DECLARE_LHASH_HASH_FN(stuff, TYPE)
      DECLARE_LHASH_COMP_FN(stuff, TYPE)
    -

    Then a hash table of TYPE objects can be created using this:

    +

    Then a hash table of TYPE objects can be created using this:

      LHASH_OF(TYPE) *htable;
    - htable = B<lh_I<TYPE>_new>(LHASH_HASH_FN(stuff), LHASH_COMP_FN(stuff));
    -

    lh_TYPE_free() frees the LHASH_OF(TYPE) structure -table. Allocated hash table entries will not be freed; consider -using lh_TYPE_doall() to deallocate any remaining entries in the + htable = lh_TYPE_new(LHASH_HASH_FN(stuff), LHASH_COMP_FN(stuff));

    +

    lh_TYPE_free() frees the LHASH_OF(TYPE) structure +table. Allocated hash table entries will not be freed; consider +using lh_TYPE_doall() to deallocate any remaining entries in the hash table (see below).

    -

    lh_TYPE_flush() empties the LHASH_OF(TYPE) structure table. New -entries can be added to the flushed table. Allocated hash table entries -will not be freed; consider using lh_TYPE_doall() to deallocate any -remaining entries in the hash table (see below).

    -

    lh_TYPE_insert() inserts the structure pointed to by data into -table. If there already is an entry with the same key, the old -value is replaced. Note that lh_TYPE_insert() stores pointers, the +

    lh_TYPE_insert() inserts the structure pointed to by data into +table. If there already is an entry with the same key, the old +value is replaced. Note that lh_TYPE_insert() stores pointers, the data are not copied.

    -

    lh_TYPE_delete() deletes an entry from table.

    -

    lh_TYPE_retrieve() looks up an entry in table. Normally, data +

    lh_TYPE_delete() deletes an entry from table.

    +

    lh_TYPE_retrieve() looks up an entry in table. Normally, data is a structure with the key field(s) set; the function will return a pointer to a fully populated structure.

    -

    lh_TYPE_doall() will, for every entry in the hash table, call -func with the data item as its parameter. +

    lh_TYPE_doall() will, for every entry in the hash table, call +func with the data item as its parameter. For example:

      /* Cleans up resources belonging to 'a' (this is implemented elsewhere) */
    @@ -159,9 +154,9 @@ best solution to this problem is to set hash->down_load=0 before
     you start (which will stop the hash table ever decreasing in size).
     The best solution is probably to avoid deleting items from the hash
     table inside a "doall" callback!

    -

    lh_TYPE_doall_arg() is the same as lh_TYPE_doall() except that -func will be called with arg as the second argument and func -should be of type LHASH_DOALL_ARG_FN(TYPE) (a callback prototype +

    lh_TYPE_doall_arg() is the same as lh_TYPE_doall() except that +func will be called with arg as the second argument and func +should be of type LHASH_DOALL_ARG_FN_TYPE (a callback prototype that is passed both the table entry and an extra argument). As with lh_doall(), you can instead choose to declare your callback with a prototype matching the types you are dealing with and use the @@ -179,30 +174,29 @@ that is provided by the caller):

    /* Print out the entire hashtable to a particular BIO */ lh_TYPE_doall_arg(hashtable, LHASH_DOALL_ARG_FN(TYPE_print), BIO, logging_bio);
    -

    lh_TYPE_error() can be used to determine if an error occurred in the last +

    lh_TYPE_error() can be used to determine if an error occurred in the last operation.


    RETURN VALUES

    -

    lh_TYPE_new() returns NULL on error, otherwise a pointer to the new +

    lh_TYPE_new() returns NULL on error, otherwise a pointer to the new LHASH structure.

    -

    When a hash table entry is replaced, lh_TYPE_insert() returns the value -being replaced. NULL is returned on normal operation and on error.

    -

    lh_TYPE_delete() returns the entry being deleted. NULL is returned if +

    When a hash table entry is replaced, lh_TYPE_insert() returns the value +being replaced. NULL is returned on normal operation and on error.

    +

    lh_TYPE_delete() returns the entry being deleted. NULL is returned if there is no such value in the hash table.

    -

    lh_TYPE_retrieve() returns the hash table entry if it has been found, -NULL otherwise.

    -

    lh_TYPE_error() returns 1 if an error occurred in the last operation, 0 +

    lh_TYPE_retrieve() returns the hash table entry if it has been found, +NULL otherwise.

    +

    lh_TYPE_error() returns 1 if an error occurred in the last operation, 0 otherwise. It's meaningful only after non-retrieve operations.

    -

    lh_TYPE_free(), lh_TYPE_flush(), lh_TYPE_doall() and -lh_TYPE_doall_arg() return no values.

    +

    lh_TYPE_free(), lh_TYPE_doall() and lh_TYPE_doall_arg() return no values.


    NOTE

    The LHASH code is not thread safe. All updating operations, as well as -lh_TYPE_error() call must be performed under a write lock. All retrieve +lh_TYPE_error call must be performed under a write lock. All retrieve operations should be performed under a read lock, unless accurate usage statistics are desired. In which case, a write lock should be used for retrieve operations as well. For output of the usage statistics, @@ -238,7 +232,7 @@ without any "const" qualifiers.


    BUGS

    -

    lh_TYPE_insert() returns NULL both for success and error.

    +

    lh_TYPE_insert() returns NULL both for success and error.


    @@ -255,7 +249,7 @@ type checking.


    COPYRIGHT

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_LH_DOALL_FUNC.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_LH_DOALL_FUNC.html new file mode 120000 index 0000000..48e7190 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_LH_DOALL_FUNC.html @@ -0,0 +1 @@ +OPENSSL_LH_COMPFUNC.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_LH_HASHFUNC.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_LH_HASHFUNC.html new file mode 120000 index 0000000..48e7190 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_LH_HASHFUNC.html @@ -0,0 +1 @@ +OPENSSL_LH_COMPFUNC.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_LH_node_stats.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_LH_node_stats.html new file mode 120000 index 0000000..504572a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_LH_node_stats.html @@ -0,0 +1 @@ +OPENSSL_LH_stats.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_LH_node_stats_bio.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_LH_node_stats_bio.html new file mode 120000 index 0000000..504572a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_LH_node_stats_bio.html @@ -0,0 +1 @@ +OPENSSL_LH_stats.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_LH_node_usage_stats.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_LH_node_usage_stats.html new file mode 120000 index 0000000..504572a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_LH_node_usage_stats.html @@ -0,0 +1 @@ +OPENSSL_LH_stats.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_LH_node_usage_stats_bio.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_LH_node_usage_stats_bio.html new file mode 120000 index 0000000..504572a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_LH_node_usage_stats_bio.html @@ -0,0 +1 @@ +OPENSSL_LH_stats.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_LH_stats.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_LH_stats.html index 9d06eb5..be83101 100755 --- a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_LH_stats.html +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_LH_stats.html @@ -93,7 +93,7 @@ when using the LHASH data structure.


    COPYRIGHT

    Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_LH_stats_bio.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_LH_stats_bio.html new file mode 120000 index 0000000..504572a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_LH_stats_bio.html @@ -0,0 +1 @@ +OPENSSL_LH_stats.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_MALLOC_FAILURES.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_MALLOC_FAILURES.html new file mode 120000 index 0000000..759cff8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_MALLOC_FAILURES.html @@ -0,0 +1 @@ +OPENSSL_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_MALLOC_FD.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_MALLOC_FD.html new file mode 120000 index 0000000..759cff8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_MALLOC_FD.html @@ -0,0 +1 @@ +OPENSSL_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_VERSION_NUMBER.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_VERSION_NUMBER.html new file mode 100644 index 0000000..6f46e7b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_VERSION_NUMBER.html @@ -0,0 +1,144 @@ + + + + +OPENSSL_VERSION_NUMBER + + + + + + + + + + + +

    +

    +
    +

    NAME

    +

    OPENSSL_VERSION_NUMBER, OPENSSL_VERSION_TEXT, OpenSSL_version, +OpenSSL_version_num - get OpenSSL version number

    +

    +

    +
    +

    SYNOPSIS

    +
    + #include <openssl/opensslv.h>
    + #define OPENSSL_VERSION_NUMBER 0xnnnnnnnnnL
    + #define OPENSSL_VERSION_TEXT "OpenSSL x.y.z xx XXX xxxx"
    +
    + #include <openssl/crypto.h>
    +
    + unsigned long OpenSSL_version_num();
    + const char *OpenSSL_version(int t);
    +

    +

    +
    +

    DESCRIPTION

    +

    OPENSSL_VERSION_NUMBER is a numeric release version identifier:

    +
    + MNNFFPPS: major minor fix patch status
    +

    The status nibble has one of the values 0 for development, 1 to e for betas +1 to 14, and f for release.

    +

    for example

    +
    + 0x000906000 == 0.9.6 dev
    + 0x000906023 == 0.9.6b beta 3
    + 0x00090605f == 0.9.6e release
    +

    Versions prior to 0.9.3 have identifiers < 0x0930. +Versions between 0.9.3 and 0.9.5 had a version identifier with this +interpretation:

    +
    + MMNNFFRBB major minor fix final beta/patch
    +

    for example

    +
    + 0x000904100 == 0.9.4 release
    + 0x000905000 == 0.9.5 dev
    +

    Version 0.9.5a had an interim interpretation that is like the current one, +except the patch level got the highest bit set, to keep continuity. The +number was therefore 0x0090581f.

    +

    OPENSSL_VERSION_TEXT is the text variant of the version number and the +release date. For example, +"OpenSSL 1.0.1a 15 Oct 2015".

    +

    OpenSSL_version_num() returns the version number.

    +

    OpenSSL_version() returns different strings depending on t:

    +
    +
    OPENSSL_VERSION
    + +
    +

    The text variant of the version number and the release date. For example, +"OpenSSL 1.0.1a 15 Oct 2015".

    +
    +
    OPENSSL_CFLAGS
    + +
    +

    The compiler flags set for the compilation process in the form +"compiler: ..." if available or "compiler: information not available" +otherwise.

    +
    +
    OPENSSL_BUILT_ON
    + +
    +

    The date of the build process in the form "built on: ..." if available +or "built on: date not available" otherwise.

    +
    +
    OPENSSL_PLATFORM
    + +
    +

    The "Configure" target of the library build in the form "platform: ..." +if available or "platform: information not available" otherwise.

    +
    +
    OPENSSL_DIR
    + +
    +

    The "OPENSSLDIR" setting of the library build in the form "OPENSSLDIR: "..."" +if available or "OPENSSLDIR: N/A" otherwise.

    +
    +
    OPENSSL_ENGINES_DIR
    + +
    +

    The "ENGINESDIR" setting of the library build in the form "ENGINESDIR: "..."" +if available or "ENGINESDIR: N/A" otherwise.

    +
    +
    +

    For an unknown t, the text "not available" is returned.

    +

    +

    +
    +

    RETURN VALUES

    +

    OpenSSL_version_num() returns the version number.

    +

    OpenSSL_version() returns requested version strings.

    +

    +

    +
    +

    SEE ALSO

    +

    crypto(7)

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_VERSION_TEXT.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_VERSION_TEXT.html new file mode 120000 index 0000000..041c431 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_VERSION_TEXT.html @@ -0,0 +1 @@ +OPENSSL_VERSION_NUMBER.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_atexit.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_atexit.html new file mode 120000 index 0000000..2e99423 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_atexit.html @@ -0,0 +1 @@ +OPENSSL_init_crypto.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_buf2hexstr.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_buf2hexstr.html new file mode 120000 index 0000000..759cff8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_buf2hexstr.html @@ -0,0 +1 @@ +OPENSSL_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_cipher_name.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_cipher_name.html new file mode 120000 index 0000000..f66ae75 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_cipher_name.html @@ -0,0 +1 @@ +SSL_CIPHER_get_name.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_cleanse.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_cleanse.html new file mode 120000 index 0000000..759cff8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_cleanse.html @@ -0,0 +1 @@ +OPENSSL_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_cleanup.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_cleanup.html new file mode 120000 index 0000000..2e99423 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_cleanup.html @@ -0,0 +1 @@ +OPENSSL_init_crypto.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_clear_free.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_clear_free.html new file mode 120000 index 0000000..759cff8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_clear_free.html @@ -0,0 +1 @@ +OPENSSL_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_clear_realloc.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_clear_realloc.html new file mode 120000 index 0000000..759cff8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_clear_realloc.html @@ -0,0 +1 @@ +OPENSSL_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_config.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_config.html index 081814b..5822087 100755 --- a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_config.html +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_config.html @@ -42,12 +42,11 @@

    SYNOPSIS

      #include <openssl/conf.h>
    -

    Deprecated since OpenSSL 1.1.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

    + #if OPENSSL_API_COMPAT < 0x10100000L
      void OPENSSL_config(const char *appname);
    - void OPENSSL_no_config(void);
    + void OPENSSL_no_config(void); + #endif


    @@ -116,7 +115,7 @@ deprecated in OpenSSL 1.1.0 by OPENSSL_init_crypto().


    COPYRIGHT

    Copyright 2004-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_fork_child.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_fork_child.html new file mode 120000 index 0000000..0acebd7 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_fork_child.html @@ -0,0 +1 @@ +OPENSSL_fork_prepare.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_fork_parent.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_fork_parent.html new file mode 120000 index 0000000..0acebd7 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_fork_parent.html @@ -0,0 +1 @@ +OPENSSL_fork_prepare.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_fork_prepare.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_fork_prepare.html index 3c7bd2c..bde2775 100755 --- a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_fork_prepare.html +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_fork_prepare.html @@ -89,8 +89,8 @@ return values.


    COPYRIGHT

    -

    Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2017-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_free.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_free.html new file mode 120000 index 0000000..759cff8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_free.html @@ -0,0 +1 @@ +OPENSSL_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_hexstr2buf.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_hexstr2buf.html new file mode 120000 index 0000000..759cff8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_hexstr2buf.html @@ -0,0 +1 @@ +OPENSSL_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_ia32cap.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_ia32cap.html index 9508fb0..331ec28 100755 --- a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_ia32cap.html +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_ia32cap.html @@ -99,10 +99,10 @@ executed on SSE2 capable CPU, but under control of OS that does not enable XMM registers. Historically address of the capability vector copy was exposed to application through OPENSSL_ia32cap_loc(), but not anymore. Now the only way to affect the capability detection is to set -OPENSSL_ia32cap environment variable prior target application start. To -give a specific example, on Intel P4 processor -env OPENSSL_ia32cap=0x16980010 apps/openssl, or better yet -env OPENSSL_ia32cap=~0x1000000 apps/openssl would achieve the desired +OPENSSL_ia32cap environment variable prior target application start. To +give a specific example, on Intel P4 processor 'env +OPENSSL_ia32cap=0x16980010 apps/openssl', or better yet 'env +OPENSSL_ia32cap=~0x1000000 apps/openssl' would achieve the desired effect. Alternatively you can reconfigure the toolkit with no-sse2 option and recompile.

    Less intuitive is clearing bit #28, or ~0x10000000 in the "environment @@ -141,9 +141,9 @@ a.k.a. AVX512IFMA extension;

    bit #64+42 denoting availability of VPCLMULQDQ extension;
    -

    To control this extended capability word use : as delimiter when -setting up OPENSSL_ia32cap environment variable. For example assigning -:~0x20 would disable AVX2 code paths, and :0 - all post-AVX +

    To control this extended capability word use ':' as delimiter when +setting up OPENSSL_ia32cap environment variable. For example assigning +':~0x20' would disable AVX2 code paths, and ':0' - all post-AVX extensions.

    It should be noted that whether or not some of the most "fancy" extension code paths are actually assembled depends on current assembler @@ -184,7 +184,7 @@ version is used, as it is GNU assembler version that will be checked.


    COPYRIGHT

    Copyright 2004-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_init_crypto.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_init_crypto.html index d9c6277..8327245 100755 --- a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_init_crypto.html +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_init_crypto.html @@ -37,7 +37,7 @@

    OPENSSL_INIT_new, OPENSSL_INIT_set_config_filename, OPENSSL_INIT_set_config_appname, OPENSSL_INIT_set_config_file_flags, OPENSSL_INIT_free, OPENSSL_init_crypto, OPENSSL_cleanup, OPENSSL_atexit, -OPENSSL_thread_stop_ex, OPENSSL_thread_stop - OpenSSL initialisation +OPENSSL_thread_stop - OpenSSL initialisation and deinitialisation functions

    @@ -49,7 +49,6 @@ and deinitialisation functions

    void OPENSSL_cleanup(void); int OPENSSL_init_crypto(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings); int OPENSSL_atexit(void (*handler)(void)); - void OPENSSL_thread_stop_ex(OPENSSL_CTX *ctx); void OPENSSL_thread_stop(void);
      OPENSSL_INIT_SETTINGS *OPENSSL_INIT_new(void);
    @@ -137,12 +136,10 @@ calls to OPENSSL_init_crypto() with the option
     
     

    With this option an OpenSSL configuration file will be automatically loaded and -used by calling OPENSSL_config(). This is a default option. -Note that in OpenSSL 1.1.1 this was the default for libssl but not for -libcrypto (see OPENSSL_init_ssl(3) for further details about libssl -initialisation). -In OpenSSL 1.1.0 this was a non-default option for both libssl and libcrypto. -See the description of OPENSSL_INIT_new(), below.

    +used by calling OPENSSL_config(). This is not a default option for libcrypto. +As of OpenSSL 1.1.1 this is a default option for libssl (see +OPENSSL_init_ssl(3) for further details about libssl initialisation). See the +description of OPENSSL_INIT_new(), below.

    OPENSSL_INIT_NO_LOAD_CONFIG
    @@ -242,35 +239,24 @@ Attempts to call OPENSSL_init_crypto() will fail and an ERR_R_INIT_ will be added to the error stack. Note that because initialisation has failed OpenSSL error strings will not be available, only an error code. This code can be put through the openssl errstr command line application to produce a human -readable error (see openssl-errstr(1)).

    +readable error (see errstr(1)).

    The OPENSSL_atexit() function enables the registration of a function to be called during OPENSSL_cleanup(). Stop handlers are called after deinitialisation of resources local to a thread, but before other process wide resources are freed. In the event that multiple stop handlers are registered, no guarantees are made about the order of execution.

    -

    The OPENSSL_thread_stop_ex() function deallocates resources associated -with the current thread for the given OPENSSL_CTX ctx. The ctx parameter -can be NULL in which case the default OPENSSL_CTX is used.

    -

    Typically, this function will be called automatically by the library when -the thread exits as long as the OPENSSL_CTX has not been freed before the thread -exits. If OPENSSL_CTX_free() is called OPENSSL_thread_stop_ex will be called -automatically for the current thread (but not any other threads that may have -used this OPENSSL_CTX).

    -

    OPENSSL_thread_stop_ex should be called on all threads that will exit after the -OPENSSL_CTX is freed. -Typically this is not necessary for the default OPENSSL_CTX (because all -resources are cleaned up on library exit) except if thread local resources -should be freed before library exit, or under the circumstances described in -the NOTES section below.

    -

    OPENSSL_thread_stop() is the same as OPENSSL_thread_stop_ex() except that the -default OPENSSL_CTX is always used.

    +

    The OPENSSL_thread_stop() function deallocates resources associated +with the current thread. Typically this function will be called automatically by +the library when the thread exits. This should only be called directly if +resources should be freed at an earlier time, or under the circumstances +described in the NOTES section below.

    The OPENSSL_INIT_LOAD_CONFIG flag will load a configuration file, as with CONF_modules_load_file(3) with NULL filename and application name and the CONF_MFLAGS_IGNORE_MISSING_FILE, CONF_MFLAGS_IGNORE_RETURN_CODES and CONF_MFLAGS_DEFAULT_SECTION flags. The filename, application name, and flags can be customized by providing a non-null OPENSSL_INIT_SETTINGS object. -The object can be allocated via OPENSSL_INIT_new(). +The object can be allocated via OPENSSL_init_new(). The OPENSSL_INIT_set_config_filename() function can be used to specify a non-default filename, which is copied and need not refer to persistent storage. Similarly, OPENSSL_INIT_set_config_appname() can be used to specify a @@ -324,8 +310,8 @@ and OPENSSL_INIT_free() functions were added in OpenSSL 1.1.0.


    COPYRIGHT

    -

    Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_init_ssl.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_init_ssl.html index df977fe..0df2767 100755 --- a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_init_ssl.html +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_init_ssl.html @@ -108,7 +108,7 @@ set parameter values. See OPENSSL_init_crypto(3) for details.


    COPYRIGHT

    Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_instrument_bus.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_instrument_bus.html index 56156ce..cccf2d7 100755 --- a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_instrument_bus.html +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_instrument_bus.html @@ -75,7 +75,7 @@ line' was introduced with the SSE2 extensions.


    COPYRIGHT

    Copyright 2011-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_instrument_bus2.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_instrument_bus2.html new file mode 120000 index 0000000..33e3851 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_instrument_bus2.html @@ -0,0 +1 @@ +OPENSSL_instrument_bus.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_load_builtin_modules.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_load_builtin_modules.html index 6762d5f..9b35aa8 100755 --- a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_load_builtin_modules.html +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_load_builtin_modules.html @@ -81,7 +81,7 @@ modules are added.


    COPYRIGHT

    Copyright 2004-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_malloc.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_malloc.html index aa1b625..5f6c75b 100755 --- a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_malloc.html +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_malloc.html @@ -20,7 +20,7 @@
  174. SYNOPSIS
  175. DESCRIPTION
  176. RETURN VALUES
  177. -
  178. HISTORY
  179. +
  180. NOTES
  181. COPYRIGHT
  182. @@ -38,11 +38,11 @@ OPENSSL_clear_realloc, OPENSSL_clear_free, OPENSSL_cleanse, CRYPTO_malloc, CRYPTO_zalloc, CRYPTO_realloc, CRYPTO_free, OPENSSL_strdup, OPENSSL_strndup, OPENSSL_memdup, OPENSSL_strlcpy, OPENSSL_strlcat, +OPENSSL_hexstr2buf, OPENSSL_buf2hexstr, OPENSSL_hexchar2int, CRYPTO_strdup, CRYPTO_strndup, OPENSSL_mem_debug_push, OPENSSL_mem_debug_pop, CRYPTO_mem_debug_push, CRYPTO_mem_debug_pop, CRYPTO_clear_realloc, CRYPTO_clear_free, -CRYPTO_malloc_fn, CRYPTO_realloc_fn, CRYPTO_free_fn, CRYPTO_get_mem_functions, CRYPTO_set_mem_functions, CRYPTO_get_alloc_counts, CRYPTO_set_mem_debug, CRYPTO_mem_ctrl, @@ -57,59 +57,63 @@ OPENSSL_MALLOC_FD
      #include <openssl/crypto.h>
    - int OPENSSL_malloc_init(void);
    + int OPENSSL_malloc_init(void)
    - void *OPENSSL_malloc(size_t num);
    - void *OPENSSL_zalloc(size_t num);
    - void *OPENSSL_realloc(void *addr, size_t num);
    - void OPENSSL_free(void *addr);
    - char *OPENSSL_strdup(const char *str);
    - char *OPENSSL_strndup(const char *str, size_t s);
    + void *OPENSSL_malloc(size_t num)
    + void *OPENSSL_zalloc(size_t num)
    + void *OPENSSL_realloc(void *addr, size_t num)
    + void OPENSSL_free(void *addr)
    + char *OPENSSL_strdup(const char *str)
    + char *OPENSSL_strndup(const char *str, size_t s)
      size_t OPENSSL_strlcat(char *dst, const char *src, size_t size);
      size_t OPENSSL_strlcpy(char *dst, const char *src, size_t size);
    - void *OPENSSL_memdup(void *data, size_t s);
    - void *OPENSSL_clear_realloc(void *p, size_t old_len, size_t num);
    - void OPENSSL_clear_free(void *str, size_t num);
    + void *OPENSSL_memdup(void *data, size_t s)
    + void *OPENSSL_clear_realloc(void *p, size_t old_len, size_t num)
    + void OPENSSL_clear_free(void *str, size_t num)
      void OPENSSL_cleanse(void *ptr, size_t len);
    - void *CRYPTO_malloc(size_t num, const char *file, int line);
    - void *CRYPTO_zalloc(size_t num, const char *file, int line);
    - void *CRYPTO_realloc(void *p, size_t num, const char *file, int line);
    - void CRYPTO_free(void *str, const char *, int);
    - char *CRYPTO_strdup(const char *p, const char *file, int line);
    - char *CRYPTO_strndup(const char *p, size_t num, const char *file, int line);
    + unsigned char *OPENSSL_hexstr2buf(const char *str, long *len);
    + char *OPENSSL_buf2hexstr(const unsigned char *buffer, long len);
    + int OPENSSL_hexchar2int(unsigned char c);
    +
    + void *CRYPTO_malloc(size_t num, const char *file, int line)
    + void *CRYPTO_zalloc(size_t num, const char *file, int line)
    + void *CRYPTO_realloc(void *p, size_t num, const char *file, int line)
    + void CRYPTO_free(void *str, const char *, int)
    + char *CRYPTO_strdup(const char *p, const char *file, int line)
    + char *CRYPTO_strndup(const char *p, size_t num, const char *file, int line)
      void *CRYPTO_clear_realloc(void *p, size_t old_len, size_t num,
    -                            const char *file, int line);
    +                            const char *file, int line)
      void CRYPTO_clear_free(void *str, size_t num, const char *, int)
    - typedef void *(*CRYPTO_malloc_fn)(size_t num, const char *file, int line);
    - typedef void *(*CRYPTO_realloc_fn)(void *addr, size_t num, const char *file,
    -                                    int line);
    - typedef void (*CRYPTO_free_fn)(void *addr, const char *file, int line);
    - void CRYPTO_get_mem_functions(CRYPTO_malloc_fn *malloc_fn,
    -                               CRYPTO_realloc_fn *realloc_fn,
    -                               CRYPTO_free_fn *free_fn);
    - int CRYPTO_set_mem_functions(CRYPTO_malloc_fn malloc_fn,
    -                              CRYPTO_realloc_fn realloc_fn,
    -                              CRYPTO_free_fn free_fn);
    + void CRYPTO_get_mem_functions( + void *(**m)(size_t, const char *, int), + void *(**r)(void *, size_t, const char *, int), + void (**f)(void *, const char *, int)) + int CRYPTO_set_mem_functions( + void *(*m)(size_t, const char *, int), + void *(*r)(void *, size_t, const char *, int), + void (*f)(void *, const char *, int))
    - void CRYPTO_get_alloc_counts(int *mcount, int *rcount, int *fcount);
    + void CRYPTO_get_alloc_counts(int *m, int *r, int *f) +
    + int CRYPTO_set_mem_debug(int onoff)
      env OPENSSL_MALLOC_FAILURES=... <application>
      env OPENSSL_MALLOC_FD=... <application>
    -

    Deprecated:

    +
    + int CRYPTO_mem_ctrl(int mode);
    +
    + int OPENSSL_mem_debug_push(const char *info)
    + int OPENSSL_mem_debug_pop(void);
    +
    + int CRYPTO_mem_debug_push(const char *info, const char *file, int line);
    + int CRYPTO_mem_debug_pop(void);
      int CRYPTO_mem_leaks(BIO *b);
      int CRYPTO_mem_leaks_fp(FILE *fp);
      int CRYPTO_mem_leaks_cb(int (*cb)(const char *str, size_t len, void *u),
                              void *u);
    -
    - int CRYPTO_set_mem_debug(int onoff)
    - int CRYPTO_mem_ctrl(int mode);
    - int OPENSSL_mem_debug_push(const char *info)
    - int OPENSSL_mem_debug_pop(void);
    - int CRYPTO_mem_debug_push(const char *info, const char *file, int line);
    - int CRYPTO_mem_debug_pop(void);


    @@ -140,17 +144,54 @@ equivalent C functions, except that memory is allocated by calling the

    OPENSSL_strlcpy(), OPENSSL_strlcat() and OPENSSL_strnlen() are equivalents of the common C library functions and are provided for portability.

    +

    OPENSSL_hexstr2buf() parses str as a hex string and returns a +pointer to the parsed value. The memory is allocated by calling +OPENSSL_malloc() and should be released by calling OPENSSL_free(). +If len is not NULL, it is filled in with the output length. +Colons between two-character hex "bytes" are ignored. +An odd number of hex digits is an error.

    +

    OPENSSL_buf2hexstr() takes the specified buffer and length, and returns +a hex string for value, or NULL on error. +Buffer cannot be NULL; if len is 0 an empty string is returned.

    +

    OPENSSL_hexchar2int() converts a character to the hexadecimal equivalent, +or returns -1 on error.

    If no allocations have been done, it is possible to "swap out" the default -implementations for OPENSSL_malloc(), OPENSSL_realloc() and OPENSSL_free() -and replace them with alternate versions. +implementations for OPENSSL_malloc(), OPENSSL_realloc and OPENSSL_free() +and replace them with alternate versions (hooks). CRYPTO_get_mem_functions() function fills in the given arguments with the function pointers for the current implementations. With CRYPTO_set_mem_functions(), you can specify a different set of functions. -If any of malloc_fn, realloc_fn, or free_fn are NULL, then -the function is not changed. -While it's permitted to swap out only a few and not all the functions -with CRYPTO_set_mem_functions(), it's recommended to swap them all out -at once.

    +If any of m, r, or f are NULL, then the function is not changed.

    +

    The default implementation can include some debugging capability (if enabled +at build-time). +This adds some overhead by keeping a list of all memory allocations, and +removes items from the list when they are free'd. +This is most useful for identifying memory leaks. +CRYPTO_set_mem_debug() turns this tracking on and off. In order to have +any effect, is must be called before any of the allocation functions +(e.g., CRYPTO_malloc()) are called, and is therefore normally one of the +first lines of main() in an application. +CRYPTO_mem_ctrl() provides fine-grained control of memory leak tracking. +To enable tracking call CRYPTO_mem_ctrl() with a mode argument of +the CRYPTO_MEM_CHECK_ON. +To disable tracking call CRYPTO_mem_ctrl() with a mode argument of +the CRYPTO_MEM_CHECK_OFF.

    +

    While checking memory, it can be useful to store additional context +about what is being done. +For example, identifying the field names when parsing a complicated +data structure. +OPENSSL_mem_debug_push() (which calls CRYPTO_mem_debug_push()) +attaches an identifying string to the allocation stack. +This must be a global or other static string; it is not copied. +OPENSSL_mem_debug_pop() removes identifying state from the stack.

    +

    At the end of the program, calling CRYPTO_mem_leaks() or +CRYPTO_mem_leaks_fp() will report all "leaked" memory, writing it +to the specified BIO b or FILE fp. These functions return 1 if +there are no leaks, 0 if there are leaks and -1 if an error occurred.

    +

    CRYPTO_mem_leaks_cb() does the same as CRYPTO_mem_leaks(), but instead +of writing to a given BIO, the callback function is called for each +output string with the string, length, and userdata u as the callback +parameters.

    If the library is built with the crypto-mdebug option, then one function, CRYPTO_get_alloc_counts(), and two additional environment variables, OPENSSL_MALLOC_FAILURES and OPENSSL_MALLOC_FD, @@ -187,36 +228,37 @@ to use this (will not work on all platforms):

    OPENSSL_malloc_init(), OPENSSL_free(), OPENSSL_clear_free() CRYPTO_free(), CRYPTO_clear_free() and CRYPTO_get_mem_functions() return no value.

    +

    CRYPTO_mem_leaks(), CRYPTO_mem_leaks_fp() and CRYPTO_mem_leaks_cb() return 1 if +there are no leaks, 0 if there are leaks and -1 if an error occurred.

    OPENSSL_malloc(), OPENSSL_zalloc(), OPENSSL_realloc(), OPENSSL_clear_realloc(), CRYPTO_malloc(), CRYPTO_zalloc(), CRYPTO_realloc(), CRYPTO_clear_realloc(), +OPENSSL_buf2hexstr(), OPENSSL_hexstr2buf(), OPENSSL_strdup(), and OPENSSL_strndup() return a pointer to allocated memory or NULL on error.

    -

    CRYPTO_set_mem_functions() returns 1 on success or 0 on failure (almost +

    CRYPTO_set_mem_functions() and CRYPTO_set_mem_debug() +return 1 on success or 0 on failure (almost always because allocations have already happened).

    -

    CRYPTO_mem_leaks(), CRYPTO_mem_leaks_fp(), CRYPTO_mem_leaks_cb(), -CRYPTO_set_mem_debug(), and CRYPTO_mem_ctrl() are deprecated and return -1. -OPENSSL_mem_debug_push(), OPENSSL_mem_debug_pop(), -CRYPTO_mem_debug_push(), and CRYPTO_mem_debug_pop() -are deprecated and return 0.

    +

    CRYPTO_mem_ctrl() returns -1 if an error occurred, otherwise the +previous value of the mode.

    +

    OPENSSL_mem_debug_push() and OPENSSL_mem_debug_pop() +return 1 on success or 0 on failure.


    -

    HISTORY

    -

    OPENSSL_mem_debug_push(), OPENSSL_mem_debug_pop(), -CRYPTO_mem_debug_push(), CRYPTO_mem_debug_pop(), -CRYPTO_mem_leaks(), CRYPTO_mem_leaks_fp(), -CRYPTO_mem_leaks_cb(), CRYPTO_set_mem_debug(), CRYPTO_mem_ctrl() -were deprecated in OpenSSL 3.0. -The memory-leak checking has been deprecated in OpenSSL 3.0 in favor of -clang's memory and leak sanitizer.

    +

    NOTES

    +

    While it's permitted to swap out only a few and not all the functions +with CRYPTO_set_mem_functions(), it's recommended to swap them all out +at once. This applies specially if OpenSSL was built with the +configuration option crypto-mdebug enabled. In case, swapping out +only, say, the malloc() implementation is outright dangerous.


    COPYRIGHT

    -

    Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_malloc_init.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_malloc_init.html new file mode 120000 index 0000000..759cff8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_malloc_init.html @@ -0,0 +1 @@ +OPENSSL_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_mem_debug_pop.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_mem_debug_pop.html new file mode 120000 index 0000000..759cff8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_mem_debug_pop.html @@ -0,0 +1 @@ +OPENSSL_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_mem_debug_push.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_mem_debug_push.html new file mode 120000 index 0000000..759cff8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_mem_debug_push.html @@ -0,0 +1 @@ +OPENSSL_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_memdup.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_memdup.html new file mode 120000 index 0000000..759cff8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_memdup.html @@ -0,0 +1 @@ +OPENSSL_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_no_config.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_no_config.html new file mode 120000 index 0000000..a2e0fe5 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_no_config.html @@ -0,0 +1 @@ +OPENSSL_config.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_realloc.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_realloc.html new file mode 120000 index 0000000..759cff8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_realloc.html @@ -0,0 +1 @@ +OPENSSL_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_secure_actual_size.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_secure_actual_size.html new file mode 120000 index 0000000..e482ff0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_secure_actual_size.html @@ -0,0 +1 @@ +OPENSSL_secure_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_secure_clear_free.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_secure_clear_free.html new file mode 120000 index 0000000..e482ff0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_secure_clear_free.html @@ -0,0 +1 @@ +OPENSSL_secure_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_secure_free.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_secure_free.html new file mode 120000 index 0000000..e482ff0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_secure_free.html @@ -0,0 +1 @@ +OPENSSL_secure_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_secure_malloc.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_secure_malloc.html index 26bbe55..cdcecd6 100755 --- a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_secure_malloc.html +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_secure_malloc.html @@ -47,7 +47,7 @@ CRYPTO_secure_used - secure heap storage

      #include <openssl/crypto.h>
    - int CRYPTO_secure_malloc_init(size_t size, size_t minsize);
    + int CRYPTO_secure_malloc_init(size_t size, int minsize);
      int CRYPTO_secure_malloc_initialized();
    @@ -85,10 +85,8 @@ This protects long-term storage of private keys, but will not necessarily
     put all intermediate values and computations there.

    CRYPTO_secure_malloc_init() creates the secure heap, with the specified size in bytes. The minsize parameter is the minimum size to -allocate from the heap or zero to use a reasonable default value. -Both size and, if specified, minsize must be a power of two and -minsize should generally be small, for example 16 or 32. -minsize must be less than a quarter of size in any case.

    +allocate from the heap. Both size and minsize must be a power +of two.

    CRYPTO_secure_malloc_initialized() indicates whether or not the secure heap as been initialized and is available.

    CRYPTO_secure_malloc_done() releases the heap and makes the memory unavailable @@ -148,14 +146,12 @@ allocated.


    HISTORY

    The OPENSSL_secure_clear_free() function was added in OpenSSL 1.1.0g.

    -

    The second argument to CRYPTO_secure_malloc_init() was changed from an int to -a size_t in OpenSSL 3.0.


    COPYRIGHT

    Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_secure_zalloc.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_secure_zalloc.html new file mode 120000 index 0000000..e482ff0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_secure_zalloc.html @@ -0,0 +1 @@ +OPENSSL_secure_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_strdup.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_strdup.html new file mode 120000 index 0000000..759cff8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_strdup.html @@ -0,0 +1 @@ +OPENSSL_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_strlcat.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_strlcat.html new file mode 120000 index 0000000..759cff8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_strlcat.html @@ -0,0 +1 @@ +OPENSSL_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_strlcpy.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_strlcpy.html new file mode 120000 index 0000000..759cff8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_strlcpy.html @@ -0,0 +1 @@ +OPENSSL_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_strndup.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_strndup.html new file mode 120000 index 0000000..759cff8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_strndup.html @@ -0,0 +1 @@ +OPENSSL_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_thread_stop.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_thread_stop.html new file mode 120000 index 0000000..2e99423 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_thread_stop.html @@ -0,0 +1 @@ +OPENSSL_init_crypto.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OPENSSL_zalloc.html b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_zalloc.html new file mode 120000 index 0000000..759cff8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OPENSSL_zalloc.html @@ -0,0 +1 @@ +OPENSSL_malloc.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_CTX.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_CTX.html new file mode 120000 index 0000000..ef7dac0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_CTX.html @@ -0,0 +1 @@ +OSSL_STORE_open.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO.html index 5929cbe..fd6afcf 100755 --- a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO.html +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO.html @@ -232,7 +232,7 @@ were added in OpenSSL 1.1.1.


    COPYRIGHT

    Copyright 2016-2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_free.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_free.html new file mode 120000 index 0000000..c0e99ca --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_free.html @@ -0,0 +1 @@ +OSSL_STORE_INFO.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get0_CERT.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get0_CERT.html new file mode 120000 index 0000000..c0e99ca --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get0_CERT.html @@ -0,0 +1 @@ +OSSL_STORE_INFO.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get0_CRL.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get0_CRL.html new file mode 120000 index 0000000..c0e99ca --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get0_CRL.html @@ -0,0 +1 @@ +OSSL_STORE_INFO.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get0_NAME.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get0_NAME.html new file mode 120000 index 0000000..c0e99ca --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get0_NAME.html @@ -0,0 +1 @@ +OSSL_STORE_INFO.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get0_NAME_description.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get0_NAME_description.html new file mode 120000 index 0000000..c0e99ca --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get0_NAME_description.html @@ -0,0 +1 @@ +OSSL_STORE_INFO.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get0_PARAMS.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get0_PARAMS.html new file mode 120000 index 0000000..c0e99ca --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get0_PARAMS.html @@ -0,0 +1 @@ +OSSL_STORE_INFO.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get0_PKEY.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get0_PKEY.html new file mode 120000 index 0000000..c0e99ca --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get0_PKEY.html @@ -0,0 +1 @@ +OSSL_STORE_INFO.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get1_CERT.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get1_CERT.html new file mode 120000 index 0000000..c0e99ca --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get1_CERT.html @@ -0,0 +1 @@ +OSSL_STORE_INFO.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get1_CRL.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get1_CRL.html new file mode 120000 index 0000000..c0e99ca --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get1_CRL.html @@ -0,0 +1 @@ +OSSL_STORE_INFO.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get1_NAME.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get1_NAME.html new file mode 120000 index 0000000..c0e99ca --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get1_NAME.html @@ -0,0 +1 @@ +OSSL_STORE_INFO.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get1_NAME_description.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get1_NAME_description.html new file mode 120000 index 0000000..c0e99ca --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get1_NAME_description.html @@ -0,0 +1 @@ +OSSL_STORE_INFO.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get1_PARAMS.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get1_PARAMS.html new file mode 120000 index 0000000..c0e99ca --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get1_PARAMS.html @@ -0,0 +1 @@ +OSSL_STORE_INFO.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get1_PKEY.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get1_PKEY.html new file mode 120000 index 0000000..c0e99ca --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get1_PKEY.html @@ -0,0 +1 @@ +OSSL_STORE_INFO.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get_type.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get_type.html new file mode 120000 index 0000000..c0e99ca --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_get_type.html @@ -0,0 +1 @@ +OSSL_STORE_INFO.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_new_CERT.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_new_CERT.html new file mode 120000 index 0000000..c0e99ca --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_new_CERT.html @@ -0,0 +1 @@ +OSSL_STORE_INFO.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_new_CRL.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_new_CRL.html new file mode 120000 index 0000000..c0e99ca --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_new_CRL.html @@ -0,0 +1 @@ +OSSL_STORE_INFO.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_new_NAME.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_new_NAME.html new file mode 120000 index 0000000..c0e99ca --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_new_NAME.html @@ -0,0 +1 @@ +OSSL_STORE_INFO.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_new_PARAMS.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_new_PARAMS.html new file mode 120000 index 0000000..c0e99ca --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_new_PARAMS.html @@ -0,0 +1 @@ +OSSL_STORE_INFO.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_new_PKEY.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_new_PKEY.html new file mode 120000 index 0000000..c0e99ca --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_new_PKEY.html @@ -0,0 +1 @@ +OSSL_STORE_INFO.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_set0_NAME_description.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_set0_NAME_description.html new file mode 120000 index 0000000..c0e99ca --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_set0_NAME_description.html @@ -0,0 +1 @@ +OSSL_STORE_INFO.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_type_string.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_type_string.html new file mode 120000 index 0000000..c0e99ca --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_INFO_type_string.html @@ -0,0 +1 @@ +OSSL_STORE_INFO.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER.html index d265762..a8934ee 100755 --- a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER.html +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER.html @@ -277,8 +277,8 @@ were added in OpenSSL 1.1.1.


    COPYRIGHT

    -

    Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_CTX.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_CTX.html new file mode 120000 index 0000000..3024f9a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_CTX.html @@ -0,0 +1 @@ +OSSL_STORE_LOADER.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_free.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_free.html new file mode 120000 index 0000000..3024f9a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_free.html @@ -0,0 +1 @@ +OSSL_STORE_LOADER.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_get0_engine.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_get0_engine.html new file mode 120000 index 0000000..3024f9a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_get0_engine.html @@ -0,0 +1 @@ +OSSL_STORE_LOADER.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_get0_scheme.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_get0_scheme.html new file mode 120000 index 0000000..3024f9a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_get0_scheme.html @@ -0,0 +1 @@ +OSSL_STORE_LOADER.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_new.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_new.html new file mode 120000 index 0000000..3024f9a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_new.html @@ -0,0 +1 @@ +OSSL_STORE_LOADER.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_set_close.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_set_close.html new file mode 120000 index 0000000..3024f9a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_set_close.html @@ -0,0 +1 @@ +OSSL_STORE_LOADER.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_set_ctrl.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_set_ctrl.html new file mode 120000 index 0000000..3024f9a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_set_ctrl.html @@ -0,0 +1 @@ +OSSL_STORE_LOADER.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_set_eof.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_set_eof.html new file mode 120000 index 0000000..3024f9a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_set_eof.html @@ -0,0 +1 @@ +OSSL_STORE_LOADER.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_set_error.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_set_error.html new file mode 120000 index 0000000..3024f9a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_set_error.html @@ -0,0 +1 @@ +OSSL_STORE_LOADER.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_set_expect.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_set_expect.html new file mode 120000 index 0000000..3024f9a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_set_expect.html @@ -0,0 +1 @@ +OSSL_STORE_LOADER.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_set_find.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_set_find.html new file mode 120000 index 0000000..3024f9a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_set_find.html @@ -0,0 +1 @@ +OSSL_STORE_LOADER.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_set_load.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_set_load.html new file mode 120000 index 0000000..3024f9a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_set_load.html @@ -0,0 +1 @@ +OSSL_STORE_LOADER.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_set_open.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_set_open.html new file mode 120000 index 0000000..3024f9a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_LOADER_set_open.html @@ -0,0 +1 @@ +OSSL_STORE_LOADER.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_SEARCH.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_SEARCH.html index d2d3a87..2591067 100755 --- a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_SEARCH.html +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_SEARCH.html @@ -224,7 +224,7 @@ were added in OpenSSL 1.1.1.


    COPYRIGHT

    Copyright 2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_SEARCH_by_alias.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_SEARCH_by_alias.html new file mode 120000 index 0000000..37e6e2d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_SEARCH_by_alias.html @@ -0,0 +1 @@ +OSSL_STORE_SEARCH.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_SEARCH_by_issuer_serial.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_SEARCH_by_issuer_serial.html new file mode 120000 index 0000000..37e6e2d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_SEARCH_by_issuer_serial.html @@ -0,0 +1 @@ +OSSL_STORE_SEARCH.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_SEARCH_by_key_fingerprint.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_SEARCH_by_key_fingerprint.html new file mode 120000 index 0000000..37e6e2d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_SEARCH_by_key_fingerprint.html @@ -0,0 +1 @@ +OSSL_STORE_SEARCH.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_SEARCH_by_name.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_SEARCH_by_name.html new file mode 120000 index 0000000..37e6e2d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_SEARCH_by_name.html @@ -0,0 +1 @@ +OSSL_STORE_SEARCH.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_SEARCH_free.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_SEARCH_free.html new file mode 120000 index 0000000..37e6e2d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_SEARCH_free.html @@ -0,0 +1 @@ +OSSL_STORE_SEARCH.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_SEARCH_get0_bytes.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_SEARCH_get0_bytes.html new file mode 120000 index 0000000..37e6e2d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_SEARCH_get0_bytes.html @@ -0,0 +1 @@ +OSSL_STORE_SEARCH.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_SEARCH_get0_digest.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_SEARCH_get0_digest.html new file mode 120000 index 0000000..37e6e2d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_SEARCH_get0_digest.html @@ -0,0 +1 @@ +OSSL_STORE_SEARCH.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_SEARCH_get0_name.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_SEARCH_get0_name.html new file mode 120000 index 0000000..37e6e2d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_SEARCH_get0_name.html @@ -0,0 +1 @@ +OSSL_STORE_SEARCH.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_SEARCH_get0_serial.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_SEARCH_get0_serial.html new file mode 120000 index 0000000..37e6e2d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_SEARCH_get0_serial.html @@ -0,0 +1 @@ +OSSL_STORE_SEARCH.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_SEARCH_get0_string.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_SEARCH_get0_string.html new file mode 120000 index 0000000..37e6e2d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_SEARCH_get0_string.html @@ -0,0 +1 @@ +OSSL_STORE_SEARCH.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_SEARCH_get_type.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_SEARCH_get_type.html new file mode 120000 index 0000000..37e6e2d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_SEARCH_get_type.html @@ -0,0 +1 @@ +OSSL_STORE_SEARCH.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_close.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_close.html new file mode 120000 index 0000000..ef7dac0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_close.html @@ -0,0 +1 @@ +OSSL_STORE_open.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_close_fn.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_close_fn.html new file mode 120000 index 0000000..3024f9a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_close_fn.html @@ -0,0 +1 @@ +OSSL_STORE_LOADER.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_ctrl.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_ctrl.html new file mode 120000 index 0000000..ef7dac0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_ctrl.html @@ -0,0 +1 @@ +OSSL_STORE_open.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_ctrl_fn.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_ctrl_fn.html new file mode 120000 index 0000000..3024f9a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_ctrl_fn.html @@ -0,0 +1 @@ +OSSL_STORE_LOADER.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_eof.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_eof.html new file mode 120000 index 0000000..ef7dac0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_eof.html @@ -0,0 +1 @@ +OSSL_STORE_open.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_eof_fn.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_eof_fn.html new file mode 120000 index 0000000..3024f9a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_eof_fn.html @@ -0,0 +1 @@ +OSSL_STORE_LOADER.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_error.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_error.html new file mode 120000 index 0000000..ef7dac0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_error.html @@ -0,0 +1 @@ +OSSL_STORE_open.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_error_fn.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_error_fn.html new file mode 120000 index 0000000..3024f9a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_error_fn.html @@ -0,0 +1 @@ +OSSL_STORE_LOADER.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_expect.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_expect.html index a91b49b..7a4da61 100755 --- a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_expect.html +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_expect.html @@ -65,7 +65,7 @@ except for OSSL_STORE_INFO_NAME are supported.

    grained search of objects.

    OSSL_STORE_supports_search() checks if the loader of the given OSSL_STORE context supports the given search type. -See OSSL_STORE_SEARCH(3)/SUPPORTED CRITERION TYPES for information on the +See SUPPORTED CRITERION TYPES in the OSSL_STORE_SEARCH manpage for information on the supported search criterion types.

    OSSL_STORE_expect() and OSSL_STORE_find must be called before the first OSSL_STORE_load() of a given session, or they will fail.

    @@ -103,8 +103,8 @@ were added in OpenSSL 1.1.1.


    COPYRIGHT

    -

    Copyright 2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2018-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_expect_fn.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_expect_fn.html new file mode 120000 index 0000000..3024f9a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_expect_fn.html @@ -0,0 +1 @@ +OSSL_STORE_LOADER.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_find.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_find.html new file mode 120000 index 0000000..0361dda --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_find.html @@ -0,0 +1 @@ +OSSL_STORE_expect.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_find_fn.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_find_fn.html new file mode 120000 index 0000000..3024f9a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_find_fn.html @@ -0,0 +1 @@ +OSSL_STORE_LOADER.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_load.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_load.html new file mode 120000 index 0000000..ef7dac0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_load.html @@ -0,0 +1 @@ +OSSL_STORE_open.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_load_fn.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_load_fn.html new file mode 120000 index 0000000..3024f9a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_load_fn.html @@ -0,0 +1 @@ +OSSL_STORE_LOADER.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_open.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_open.html index 28015fd..6859166 100755 --- a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_open.html +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_open.html @@ -186,7 +186,7 @@ were added in OpenSSL 1.1.1.


    COPYRIGHT

    Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_open_fn.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_open_fn.html new file mode 120000 index 0000000..3024f9a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_open_fn.html @@ -0,0 +1 @@ +OSSL_STORE_LOADER.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_post_process_info_fn.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_post_process_info_fn.html new file mode 120000 index 0000000..ef7dac0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_post_process_info_fn.html @@ -0,0 +1 @@ +OSSL_STORE_open.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_register_loader.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_register_loader.html new file mode 120000 index 0000000..3024f9a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_register_loader.html @@ -0,0 +1 @@ +OSSL_STORE_LOADER.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_supports_search.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_supports_search.html new file mode 120000 index 0000000..0361dda --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_supports_search.html @@ -0,0 +1 @@ +OSSL_STORE_expect.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_unregister_loader.html b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_unregister_loader.html new file mode 120000 index 0000000..3024f9a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OSSL_STORE_unregister_loader.html @@ -0,0 +1 @@ +OSSL_STORE_LOADER.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OTHERNAME_free.html b/linux_amd64/share/doc/openssl/html/man3/OTHERNAME_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OTHERNAME_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OTHERNAME_new.html b/linux_amd64/share/doc/openssl/html/man3/OTHERNAME_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OTHERNAME_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OpenSSL_add_all_algorithms.html b/linux_amd64/share/doc/openssl/html/man3/OpenSSL_add_all_algorithms.html index 6d32474..0e3bd7d 100755 --- a/linux_amd64/share/doc/openssl/html/man3/OpenSSL_add_all_algorithms.html +++ b/linux_amd64/share/doc/openssl/html/man3/OpenSSL_add_all_algorithms.html @@ -41,15 +41,15 @@ add algorithms to internal table

    SYNOPSIS

      #include <openssl/evp.h>
    -

    Deprecated since OpenSSL 1.1.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

    +

    Deprecated:

    + # if OPENSSL_API_COMPAT < 0x10100000L
      void OpenSSL_add_all_algorithms(void);
      void OpenSSL_add_all_ciphers(void);
      void OpenSSL_add_all_digests(void);
    - void EVP_cleanup(void)
    + void EVP_cleanup(void) +# endif


    @@ -87,7 +87,7 @@ not be used.


    COPYRIGHT

    Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/OpenSSL_add_all_ciphers.html b/linux_amd64/share/doc/openssl/html/man3/OpenSSL_add_all_ciphers.html new file mode 120000 index 0000000..35718c1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OpenSSL_add_all_ciphers.html @@ -0,0 +1 @@ +OpenSSL_add_all_algorithms.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OpenSSL_add_all_digests.html b/linux_amd64/share/doc/openssl/html/man3/OpenSSL_add_all_digests.html new file mode 120000 index 0000000..35718c1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OpenSSL_add_all_digests.html @@ -0,0 +1 @@ +OpenSSL_add_all_algorithms.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OpenSSL_add_ssl_algorithms.html b/linux_amd64/share/doc/openssl/html/man3/OpenSSL_add_ssl_algorithms.html new file mode 120000 index 0000000..3bf5035 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OpenSSL_add_ssl_algorithms.html @@ -0,0 +1 @@ +SSL_library_init.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/OpenSSL_version_num.html b/linux_amd64/share/doc/openssl/html/man3/OpenSSL_version_num.html new file mode 120000 index 0000000..041c431 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/OpenSSL_version_num.html @@ -0,0 +1 @@ +OPENSSL_VERSION_NUMBER.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PBE2PARAM_free.html b/linux_amd64/share/doc/openssl/html/man3/PBE2PARAM_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PBE2PARAM_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PBE2PARAM_new.html b/linux_amd64/share/doc/openssl/html/man3/PBE2PARAM_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PBE2PARAM_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PBEPARAM_free.html b/linux_amd64/share/doc/openssl/html/man3/PBEPARAM_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PBEPARAM_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PBEPARAM_new.html b/linux_amd64/share/doc/openssl/html/man3/PBEPARAM_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PBEPARAM_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PBKDF2PARAM_free.html b/linux_amd64/share/doc/openssl/html/man3/PBKDF2PARAM_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PBKDF2PARAM_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PBKDF2PARAM_new.html b/linux_amd64/share/doc/openssl/html/man3/PBKDF2PARAM_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PBKDF2PARAM_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_FLAG_EAY_COMPATIBLE.html b/linux_amd64/share/doc/openssl/html/man3/PEM_FLAG_EAY_COMPATIBLE.html new file mode 120000 index 0000000..73fc461 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_FLAG_EAY_COMPATIBLE.html @@ -0,0 +1 @@ +PEM_read_bio_ex.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_FLAG_ONLY_B64.html b/linux_amd64/share/doc/openssl/html/man3/PEM_FLAG_ONLY_B64.html new file mode 120000 index 0000000..73fc461 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_FLAG_ONLY_B64.html @@ -0,0 +1 @@ +PEM_read_bio_ex.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_FLAG_SECURE.html b/linux_amd64/share/doc/openssl/html/man3/PEM_FLAG_SECURE.html new file mode 120000 index 0000000..73fc461 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_FLAG_SECURE.html @@ -0,0 +1 @@ +PEM_read_bio_ex.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_bytes_read_bio.html b/linux_amd64/share/doc/openssl/html/man3/PEM_bytes_read_bio.html index a4e31f7..d3ceeea 100755 --- a/linux_amd64/share/doc/openssl/html/man3/PEM_bytes_read_bio.html +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_bytes_read_bio.html @@ -112,7 +112,7 @@ It will simply be treated as a byte sequence.


    COPYRIGHT

    Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_bytes_read_bio_secmem.html b/linux_amd64/share/doc/openssl/html/man3/PEM_bytes_read_bio_secmem.html new file mode 120000 index 0000000..c3cec70 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_bytes_read_bio_secmem.html @@ -0,0 +1 @@ +PEM_bytes_read_bio.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_do_header.html b/linux_amd64/share/doc/openssl/html/man3/PEM_do_header.html new file mode 120000 index 0000000..d814172 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_do_header.html @@ -0,0 +1 @@ +PEM_read.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_get_EVP_CIPHER_INFO.html b/linux_amd64/share/doc/openssl/html/man3/PEM_get_EVP_CIPHER_INFO.html new file mode 120000 index 0000000..d814172 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_get_EVP_CIPHER_INFO.html @@ -0,0 +1 @@ +PEM_read.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_read.html b/linux_amd64/share/doc/openssl/html/man3/PEM_read.html index d6c21e1..c6786fb 100755 --- a/linux_amd64/share/doc/openssl/html/man3/PEM_read.html +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_read.html @@ -151,7 +151,7 @@ It will simply be treated as a byte sequence.


    COPYRIGHT

    Copyright 1998-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_read_CMS.html b/linux_amd64/share/doc/openssl/html/man3/PEM_read_CMS.html index 1404bcd..7497a30 100755 --- a/linux_amd64/share/doc/openssl/html/man3/PEM_read_CMS.html +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_read_CMS.html @@ -66,11 +66,7 @@ PEM_write_bio_PKCS8_PRIV_KEY_INFO, PEM_read_SSL_SESSION, PEM_read_bio_SSL_SESSION, PEM_write_SSL_SESSION, -PEM_write_bio_SSL_SESSION, -PEM_read_X509_PUBKEY, -PEM_read_bio_X509_PUBKEY, -PEM_write_X509_PUBKEY, -PEM_write_bio_X509_PUBKEY +PEM_write_bio_SSL_SESSION - PEM object encoding routines

    @@ -89,22 +85,20 @@ PEM_write_bio_X509_PUBKEY


    DESCRIPTION

    -

    In the description below, TYPE is used -as a placeholder for any of the OpenSSL datatypes, such as X509. +

    In the description below, TYPE is used +as a placeholder for any of the OpenSSL datatypes, such as X509. The macro DECLARE_PEM_rw expands to the set of declarations shown in the next four lines of the synopsis.

    These routines convert between local instances of ASN1 datatypes and the PEM encoding. For more information on the templates, see ASN1_ITEM(3). For more information on the lower-level routines used by the functions here, see PEM_read(3).

    -

    PEM_read_TYPE() reads a PEM-encoded object of TYPE from the file -fp and returns it. The cb and u parameters are as described in +

    PEM_read_TYPE() reads a PEM-encoded object of TYPE from the file fp +and returns it. The cb and u parameters are as described in pem_password_cb(3).

    -

    PEM_read_bio_TYPE() is similar to PEM_read_TYPE() but reads from -the BIO bp.

    -

    PEM_write_TYPE() writes the PEM encoding of the object a to the file -fp.

    -

    PEM_write_bio_TYPE() similarly writes to the BIO bp.

    +

    PEM_read_bio_TYPE() is similar to PEM_read_TYPE() but reads from the BIO bp.

    +

    PEM_write_TYPE() writes the PEM encoding of the object a to the file fp.

    +

    PEM_write_bio_TYPE() similarly writes to the BIO bp.


    @@ -116,11 +110,10 @@ It will simply be treated as a byte sequence.


    RETURN VALUES

    -

    PEM_read_TYPE() and PEM_read_bio_TYPE() return a pointer to an -allocated object, which should be released by calling TYPE_free(), or -NULL on error.

    -

    PEM_write_TYPE() and PEM_write_bio_TYPE() return the number of bytes -written or zero on error.

    +

    PEM_read_TYPE() and PEM_read_bio_TYPE() return a pointer to an allocated +object, which should be released by calling TYPE_free(), or NULL on error.

    +

    PEM_write_TYPE() and PEM_write_bio_TYPE() return the number of bytes written +or zero on error.


    @@ -132,7 +125,7 @@ written or zero on error.


    COPYRIGHT

    Copyright 1998-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_read_DHparams.html b/linux_amd64/share/doc/openssl/html/man3/PEM_read_DHparams.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_read_DHparams.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_read_DSAPrivateKey.html b/linux_amd64/share/doc/openssl/html/man3/PEM_read_DSAPrivateKey.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_read_DSAPrivateKey.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_read_DSA_PUBKEY.html b/linux_amd64/share/doc/openssl/html/man3/PEM_read_DSA_PUBKEY.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_read_DSA_PUBKEY.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_read_DSAparams.html b/linux_amd64/share/doc/openssl/html/man3/PEM_read_DSAparams.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_read_DSAparams.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_read_ECPKParameters.html b/linux_amd64/share/doc/openssl/html/man3/PEM_read_ECPKParameters.html new file mode 120000 index 0000000..1527243 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_read_ECPKParameters.html @@ -0,0 +1 @@ +PEM_read_CMS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_read_ECPrivateKey.html b/linux_amd64/share/doc/openssl/html/man3/PEM_read_ECPrivateKey.html new file mode 120000 index 0000000..1527243 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_read_ECPrivateKey.html @@ -0,0 +1 @@ +PEM_read_CMS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_read_EC_PUBKEY.html b/linux_amd64/share/doc/openssl/html/man3/PEM_read_EC_PUBKEY.html new file mode 120000 index 0000000..1527243 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_read_EC_PUBKEY.html @@ -0,0 +1 @@ +PEM_read_CMS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_read_NETSCAPE_CERT_SEQUENCE.html b/linux_amd64/share/doc/openssl/html/man3/PEM_read_NETSCAPE_CERT_SEQUENCE.html new file mode 120000 index 0000000..1527243 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_read_NETSCAPE_CERT_SEQUENCE.html @@ -0,0 +1 @@ +PEM_read_CMS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_read_PKCS7.html b/linux_amd64/share/doc/openssl/html/man3/PEM_read_PKCS7.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_read_PKCS7.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_read_PKCS8.html b/linux_amd64/share/doc/openssl/html/man3/PEM_read_PKCS8.html new file mode 120000 index 0000000..1527243 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_read_PKCS8.html @@ -0,0 +1 @@ +PEM_read_CMS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_read_PKCS8_PRIV_KEY_INFO.html b/linux_amd64/share/doc/openssl/html/man3/PEM_read_PKCS8_PRIV_KEY_INFO.html new file mode 120000 index 0000000..1527243 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_read_PKCS8_PRIV_KEY_INFO.html @@ -0,0 +1 @@ +PEM_read_CMS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_read_PUBKEY.html b/linux_amd64/share/doc/openssl/html/man3/PEM_read_PUBKEY.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_read_PUBKEY.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_read_PrivateKey.html b/linux_amd64/share/doc/openssl/html/man3/PEM_read_PrivateKey.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_read_PrivateKey.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_read_RSAPrivateKey.html b/linux_amd64/share/doc/openssl/html/man3/PEM_read_RSAPrivateKey.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_read_RSAPrivateKey.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_read_RSAPublicKey.html b/linux_amd64/share/doc/openssl/html/man3/PEM_read_RSAPublicKey.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_read_RSAPublicKey.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_read_RSA_PUBKEY.html b/linux_amd64/share/doc/openssl/html/man3/PEM_read_RSA_PUBKEY.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_read_RSA_PUBKEY.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_read_SSL_SESSION.html b/linux_amd64/share/doc/openssl/html/man3/PEM_read_SSL_SESSION.html new file mode 120000 index 0000000..1527243 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_read_SSL_SESSION.html @@ -0,0 +1 @@ +PEM_read_CMS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_read_X509.html b/linux_amd64/share/doc/openssl/html/man3/PEM_read_X509.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_read_X509.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_read_X509_AUX.html b/linux_amd64/share/doc/openssl/html/man3/PEM_read_X509_AUX.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_read_X509_AUX.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_read_X509_CRL.html b/linux_amd64/share/doc/openssl/html/man3/PEM_read_X509_CRL.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_read_X509_CRL.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_read_X509_REQ.html b/linux_amd64/share/doc/openssl/html/man3/PEM_read_X509_REQ.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_read_X509_REQ.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio.html b/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio.html new file mode 120000 index 0000000..d814172 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio.html @@ -0,0 +1 @@ +PEM_read.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_CMS.html b/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_CMS.html new file mode 120000 index 0000000..1527243 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_CMS.html @@ -0,0 +1 @@ +PEM_read_CMS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_DHparams.html b/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_DHparams.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_DHparams.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_DSAPrivateKey.html b/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_DSAPrivateKey.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_DSAPrivateKey.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_DSA_PUBKEY.html b/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_DSA_PUBKEY.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_DSA_PUBKEY.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_DSAparams.html b/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_DSAparams.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_DSAparams.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_ECPKParameters.html b/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_ECPKParameters.html new file mode 120000 index 0000000..1527243 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_ECPKParameters.html @@ -0,0 +1 @@ +PEM_read_CMS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_EC_PUBKEY.html b/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_EC_PUBKEY.html new file mode 120000 index 0000000..1527243 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_EC_PUBKEY.html @@ -0,0 +1 @@ +PEM_read_CMS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_NETSCAPE_CERT_SEQUENCE.html b/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_NETSCAPE_CERT_SEQUENCE.html new file mode 120000 index 0000000..1527243 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_NETSCAPE_CERT_SEQUENCE.html @@ -0,0 +1 @@ +PEM_read_CMS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_PKCS7.html b/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_PKCS7.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_PKCS7.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_PKCS8.html b/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_PKCS8.html new file mode 120000 index 0000000..1527243 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_PKCS8.html @@ -0,0 +1 @@ +PEM_read_CMS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_PKCS8_PRIV_KEY_INFO.html b/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_PKCS8_PRIV_KEY_INFO.html new file mode 120000 index 0000000..1527243 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_PKCS8_PRIV_KEY_INFO.html @@ -0,0 +1 @@ +PEM_read_CMS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_PUBKEY.html b/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_PUBKEY.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_PUBKEY.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_Parameters.html b/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_Parameters.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_Parameters.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_PrivateKey.html b/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_PrivateKey.html index 00591aa..1c404a3 100755 --- a/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_PrivateKey.html +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_PrivateKey.html @@ -75,7 +75,7 @@ PEM_write_bio_PKCS7, PEM_write_PKCS7 - PEM routines

    pem_password_cb *cb, void *u); EVP_PKEY *PEM_read_PrivateKey(FILE *fp, EVP_PKEY **x, pem_password_cb *cb, void *u); - int PEM_write_bio_PrivateKey(BIO *bp, const EVP_PKEY *x, const EVP_CIPHER *enc, + int PEM_write_bio_PrivateKey(BIO *bp, EVP_PKEY *x, const EVP_CIPHER *enc, unsigned char *kstr, int klen, pem_password_cb *cb, void *u); int PEM_write_bio_PrivateKey_traditional(BIO *bp, EVP_PKEY *x, @@ -84,17 +84,18 @@ PEM_write_bio_PKCS7, PEM_write_PKCS7 - PEM routines

    pem_password_cb *cb, void *u); int PEM_write_PrivateKey(FILE *fp, EVP_PKEY *x, const EVP_CIPHER *enc, unsigned char *kstr, int klen, - pem_password_cb *cb, void *u); + pem_password_cb *cb, void *u); +
      int PEM_write_bio_PKCS8PrivateKey(BIO *bp, EVP_PKEY *x, const EVP_CIPHER *enc,
                                        char *kstr, int klen,
                                        pem_password_cb *cb, void *u);
      int PEM_write_PKCS8PrivateKey(FILE *fp, EVP_PKEY *x, const EVP_CIPHER *enc,
                                    char *kstr, int klen,
                                    pem_password_cb *cb, void *u);
    - int PEM_write_bio_PKCS8PrivateKey_nid(BIO *bp, const EVP_PKEY *x, int nid,
    + int PEM_write_bio_PKCS8PrivateKey_nid(BIO *bp, EVP_PKEY *x, int nid,
                                            char *kstr, int klen,
                                            pem_password_cb *cb, void *u);
    - int PEM_write_PKCS8PrivateKey_nid(FILE *fp, const EVP_PKEY *x, int nid,
    + int PEM_write_PKCS8PrivateKey_nid(FILE *fp, EVP_PKEY *x, int nid,
                                        char *kstr, int klen,
                                        pem_password_cb *cb, void *u);
    @@ -201,9 +202,9 @@ by header lines.

    For more details about the meaning of arguments see the PEM FUNCTION ARGUMENTS section.

    Each operation has four functions associated with it. For -brevity the term "TYPE functions" will be used below to collectively -refer to the PEM_read_bio_TYPE(), PEM_read_TYPE(), -PEM_write_bio_TYPE(), and PEM_write_TYPE() functions.

    +brevity the term "TYPE functions" will be used below to collectively +refer to the PEM_read_bio_TYPE(), PEM_read_TYPE(), +PEM_write_bio_TYPE(), and PEM_write_TYPE() functions.

    The PrivateKey functions read or write a private key in PEM format using an EVP_PKEY structure. The write routines use PKCS#8 private key format and are equivalent to PEM_write_bio_PKCS8PrivateKey().The read functions transparently @@ -213,15 +214,15 @@ handle traditional and PKCS#8 format encrypted and unencrypted keys.

    be used for compatibility with legacy programs.

    PEM_write_bio_PKCS8PrivateKey() and PEM_write_PKCS8PrivateKey() write a private key in an EVP_PKEY structure in PKCS#8 EncryptedPrivateKeyInfo format using -PKCS#5 v2.0 password based encryption algorithms. The cipher argument +PKCS#5 v2.0 password based encryption algorithms. The cipher argument specifies the encryption algorithm to use: unlike some other PEM routines the encryption is applied at the PKCS#8 level and not in the PEM headers. If -cipher is NULL then no encryption is used and a PKCS#8 PrivateKeyInfo +cipher is NULL then no encryption is used and a PKCS#8 PrivateKeyInfo structure is used instead.

    PEM_write_bio_PKCS8PrivateKey_nid() and PEM_write_PKCS8PrivateKey_nid() also write out a private key as a PKCS#8 EncryptedPrivateKeyInfo however it uses PKCS#5 v1.5 or PKCS#12 encryption algorithms instead. The algorithm -to use is specified in the nid parameter and should be the NID of the +to use is specified in the nid parameter and should be the NID of the corresponding OBJECT IDENTIFIER (see NOTES section).

    The PUBKEY functions process a public key using an EVP_PKEY structure. The public key is encoded as a SubjectPublicKeyInfo @@ -276,30 +277,30 @@ structure.


    PEM FUNCTION ARGUMENTS

    The PEM functions have many common arguments.

    -

    The bp BIO parameter (if present) specifies the BIO to read from +

    The bp BIO parameter (if present) specifies the BIO to read from or write to.

    -

    The fp FILE parameter (if present) specifies the FILE pointer to +

    The fp FILE parameter (if present) specifies the FILE pointer to read from or write to.

    -

    The PEM read functions all take an argument TYPE **x and return -a TYPE * pointer. Where TYPE is whatever structure the function -uses. If x is NULL then the parameter is ignored. If x is not -NULL but *x is NULL then the structure returned will be written -to *x. If neither x nor *x is NULL then an attempt is made -to reuse the structure at *x (but see BUGS and EXAMPLES sections). -Irrespective of the value of x a pointer to the structure is always +

    The PEM read functions all take an argument TYPE **x and return +a TYPE * pointer. Where TYPE is whatever structure the function +uses. If x is NULL then the parameter is ignored. If x is not +NULL but *x is NULL then the structure returned will be written +to *x. If neither x nor *x is NULL then an attempt is made +to reuse the structure at *x (but see BUGS and EXAMPLES sections). +Irrespective of the value of x a pointer to the structure is always returned (or NULL if an error occurred).

    -

    The PEM functions which write private keys take an enc parameter +

    The PEM functions which write private keys take an enc parameter which specifies the encryption algorithm to use, encryption is done at the PEM level. If this parameter is set to NULL then the private key is written in unencrypted form.

    -

    The cb argument is the callback to use when querying for the pass +

    The cb argument is the callback to use when querying for the pass phrase used for encrypted PEM structures (normally only private keys).

    -

    For the PEM write routines if the kstr parameter is not NULL then -klen bytes at kstr are used as the passphrase and cb is +

    For the PEM write routines if the kstr parameter is not NULL then +klen bytes at kstr are used as the passphrase and cb is ignored.

    -

    If the cb parameters is set to NULL and the u parameter is not -NULL then the u parameter is interpreted as a null terminated string -to use as the passphrase. If both cb and u are NULL then the +

    If the cb parameters is set to NULL and the u parameter is not +NULL then the u parameter is interpreted as a null terminated string +to use as the passphrase. If both cb and u are NULL then the default callback routine is used which will typically prompt for the passphrase on the current terminal with echoing turned off.

    The default passphrase callback is sometimes inappropriate (for example @@ -307,15 +308,15 @@ in a GUI application) so an alternative can be supplied. The callback routine has the following form:

      int cb(char *buf, int size, int rwflag, void *u);
    -

    buf is the buffer to write the passphrase to. size is the maximum -length of the passphrase (i.e. the size of buf). rwflag is a flag +

    buf is the buffer to write the passphrase to. size is the maximum +length of the passphrase (i.e. the size of buf). rwflag is a flag which is set to 0 when reading and 1 when writing. A typical routine will ask the user to verify the passphrase (for example by prompting -for it twice) if rwflag is 1. The u parameter has the same -value as the u parameter passed to the PEM routine. It allows +for it twice) if rwflag is 1. The u parameter has the same +value as the u parameter passed to the PEM routine. It allows arbitrary data to be passed to the callback by the application (for example a window handle in a GUI application). The callback -must return the number of characters in the passphrase or -1 if +must return the number of characters in the passphrase or -1 if an error occurred.

    @@ -335,7 +336,7 @@ this:

    X509 *x;
      PEM_read_bio_X509(bp, &x, 0, NULL);
    -

    this is a bug because an attempt will be made to reuse the data at x +

    this is a bug because an attempt will be made to reuse the data at x which is an uninitialised pointer.

    These functions make no assumption regarding the pass phrase received from the password callback. @@ -360,14 +361,14 @@ used by EVP_get_cipherbyname() and an initialization vector used by cipher encoded as a set of hexadecimal digits. After those two lines is the base64-encoded encrypted data.

    The encryption key is derived using EVP_BytesToKey(). The cipher's -initialization vector is passed to EVP_BytesToKey() as the salt +initialization vector is passed to EVP_BytesToKey() as the salt parameter. Internally, PKCS5_SALT_LEN bytes of the salt are used (regardless of the size of the initialization vector). The user's -password is passed to EVP_BytesToKey() using the data and datal +password is passed to EVP_BytesToKey() using the data and datal parameters. Finally, the library uses an iteration count of 1 for EVP_BytesToKey().

    -

    The key derived by EVP_BytesToKey() along with the original initialization -vector is then used to decrypt the encrypted data. The iv produced by +

    The key derived by EVP_BytesToKey() along with the original initialization +vector is then used to decrypt the encrypted data. The iv produced by EVP_BytesToKey() is not utilized or needed, and NULL should be passed to the function.

    The pseudo code to derive the key would look similar to:

    @@ -394,7 +395,7 @@ the function.

    an existing structure. Therefore the following:

      PEM_read_bio_X509(bp, &x, 0, NULL);
    -

    where x already contains a valid certificate, may not work, whereas:

    +

    where x already contains a valid certificate, may not work, whereas:

      X509_free(x);
      x = PEM_read_bio_X509(bp, NULL, 0, NULL);
    @@ -483,7 +484,7 @@ as they will be formally deprecated in a future releases.


    COPYRIGHT

    Copyright 2001-2019 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_RSAPrivateKey.html b/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_RSAPrivateKey.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_RSAPrivateKey.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_RSAPublicKey.html b/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_RSAPublicKey.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_RSAPublicKey.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_RSA_PUBKEY.html b/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_RSA_PUBKEY.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_RSA_PUBKEY.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_SSL_SESSION.html b/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_SSL_SESSION.html new file mode 120000 index 0000000..1527243 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_SSL_SESSION.html @@ -0,0 +1 @@ +PEM_read_CMS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_X509.html b/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_X509.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_X509.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_X509_AUX.html b/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_X509_AUX.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_X509_AUX.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_X509_CRL.html b/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_X509_CRL.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_X509_CRL.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_X509_REQ.html b/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_X509_REQ.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_X509_REQ.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_ex.html b/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_ex.html index 540b2ac..c0e2e60 100755 --- a/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_ex.html +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_read_bio_ex.html @@ -96,7 +96,7 @@ If PEM_FLAG_SECURE was set, use OPENSSL_secure_free(); otherwise,

    COPYRIGHT

    Copyright 2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write.html new file mode 120000 index 0000000..d814172 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write.html @@ -0,0 +1 @@ +PEM_read.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_CMS.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_CMS.html new file mode 120000 index 0000000..1527243 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_CMS.html @@ -0,0 +1 @@ +PEM_read_CMS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_DHparams.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_DHparams.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_DHparams.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_DHxparams.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_DHxparams.html new file mode 120000 index 0000000..1527243 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_DHxparams.html @@ -0,0 +1 @@ +PEM_read_CMS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_DSAPrivateKey.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_DSAPrivateKey.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_DSAPrivateKey.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_DSA_PUBKEY.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_DSA_PUBKEY.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_DSA_PUBKEY.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_DSAparams.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_DSAparams.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_DSAparams.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_ECPKParameters.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_ECPKParameters.html new file mode 120000 index 0000000..1527243 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_ECPKParameters.html @@ -0,0 +1 @@ +PEM_read_CMS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_ECPrivateKey.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_ECPrivateKey.html new file mode 120000 index 0000000..1527243 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_ECPrivateKey.html @@ -0,0 +1 @@ +PEM_read_CMS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_EC_PUBKEY.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_EC_PUBKEY.html new file mode 120000 index 0000000..1527243 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_EC_PUBKEY.html @@ -0,0 +1 @@ +PEM_read_CMS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_NETSCAPE_CERT_SEQUENCE.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_NETSCAPE_CERT_SEQUENCE.html new file mode 120000 index 0000000..1527243 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_NETSCAPE_CERT_SEQUENCE.html @@ -0,0 +1 @@ +PEM_read_CMS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_PKCS7.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_PKCS7.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_PKCS7.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_PKCS8.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_PKCS8.html new file mode 120000 index 0000000..1527243 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_PKCS8.html @@ -0,0 +1 @@ +PEM_read_CMS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_PKCS8PrivateKey.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_PKCS8PrivateKey.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_PKCS8PrivateKey.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_PKCS8PrivateKey_nid.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_PKCS8PrivateKey_nid.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_PKCS8PrivateKey_nid.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_PKCS8_PRIV_KEY_INFO.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_PKCS8_PRIV_KEY_INFO.html new file mode 120000 index 0000000..1527243 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_PKCS8_PRIV_KEY_INFO.html @@ -0,0 +1 @@ +PEM_read_CMS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_PUBKEY.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_PUBKEY.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_PUBKEY.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_PrivateKey.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_PrivateKey.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_PrivateKey.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_RSAPrivateKey.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_RSAPrivateKey.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_RSAPrivateKey.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_RSAPublicKey.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_RSAPublicKey.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_RSAPublicKey.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_RSA_PUBKEY.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_RSA_PUBKEY.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_RSA_PUBKEY.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_SSL_SESSION.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_SSL_SESSION.html new file mode 120000 index 0000000..1527243 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_SSL_SESSION.html @@ -0,0 +1 @@ +PEM_read_CMS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_X509.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_X509.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_X509.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_X509_AUX.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_X509_AUX.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_X509_AUX.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_X509_CRL.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_X509_CRL.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_X509_CRL.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_X509_REQ.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_X509_REQ.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_X509_REQ.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_X509_REQ_NEW.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_X509_REQ_NEW.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_X509_REQ_NEW.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio.html new file mode 120000 index 0000000..d814172 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio.html @@ -0,0 +1 @@ +PEM_read.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_CMS.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_CMS.html new file mode 120000 index 0000000..1527243 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_CMS.html @@ -0,0 +1 @@ +PEM_read_CMS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_CMS_stream.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_CMS_stream.html index a8799c6..e62636d 100755 --- a/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_CMS_stream.html +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_CMS_stream.html @@ -80,7 +80,7 @@ streaming.


    COPYRIGHT

    Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_DHparams.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_DHparams.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_DHparams.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_DHxparams.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_DHxparams.html new file mode 120000 index 0000000..1527243 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_DHxparams.html @@ -0,0 +1 @@ +PEM_read_CMS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_DSAPrivateKey.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_DSAPrivateKey.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_DSAPrivateKey.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_DSA_PUBKEY.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_DSA_PUBKEY.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_DSA_PUBKEY.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_DSAparams.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_DSAparams.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_DSAparams.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_ECPKParameters.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_ECPKParameters.html new file mode 120000 index 0000000..1527243 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_ECPKParameters.html @@ -0,0 +1 @@ +PEM_read_CMS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_ECPrivateKey.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_ECPrivateKey.html new file mode 120000 index 0000000..1527243 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_ECPrivateKey.html @@ -0,0 +1 @@ +PEM_read_CMS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_EC_PUBKEY.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_EC_PUBKEY.html new file mode 120000 index 0000000..1527243 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_EC_PUBKEY.html @@ -0,0 +1 @@ +PEM_read_CMS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_NETSCAPE_CERT_SEQUENCE.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_NETSCAPE_CERT_SEQUENCE.html new file mode 120000 index 0000000..1527243 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_NETSCAPE_CERT_SEQUENCE.html @@ -0,0 +1 @@ +PEM_read_CMS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_PKCS7.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_PKCS7.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_PKCS7.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_PKCS7_stream.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_PKCS7_stream.html index d730d93..3d9b4f3 100755 --- a/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_PKCS7_stream.html +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_PKCS7_stream.html @@ -79,7 +79,7 @@ streaming.


    COPYRIGHT

    Copyright 2007-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_PKCS8.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_PKCS8.html new file mode 120000 index 0000000..1527243 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_PKCS8.html @@ -0,0 +1 @@ +PEM_read_CMS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_PKCS8PrivateKey.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_PKCS8PrivateKey.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_PKCS8PrivateKey.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_PKCS8PrivateKey_nid.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_PKCS8PrivateKey_nid.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_PKCS8PrivateKey_nid.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_PKCS8_PRIV_KEY_INFO.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_PKCS8_PRIV_KEY_INFO.html new file mode 120000 index 0000000..1527243 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_PKCS8_PRIV_KEY_INFO.html @@ -0,0 +1 @@ +PEM_read_CMS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_PUBKEY.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_PUBKEY.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_PUBKEY.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_Parameters.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_Parameters.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_Parameters.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_PrivateKey.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_PrivateKey.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_PrivateKey.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_PrivateKey_traditional.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_PrivateKey_traditional.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_PrivateKey_traditional.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_RSAPrivateKey.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_RSAPrivateKey.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_RSAPrivateKey.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_RSAPublicKey.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_RSAPublicKey.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_RSAPublicKey.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_RSA_PUBKEY.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_RSA_PUBKEY.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_RSA_PUBKEY.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_SSL_SESSION.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_SSL_SESSION.html new file mode 120000 index 0000000..1527243 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_SSL_SESSION.html @@ -0,0 +1 @@ +PEM_read_CMS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_X509.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_X509.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_X509.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_X509_AUX.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_X509_AUX.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_X509_AUX.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_X509_CRL.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_X509_CRL.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_X509_CRL.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_X509_REQ.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_X509_REQ.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_X509_REQ.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_X509_REQ_NEW.html b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_X509_REQ_NEW.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PEM_write_bio_X509_REQ_NEW.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PKCS12_BAGS_free.html b/linux_amd64/share/doc/openssl/html/man3/PKCS12_BAGS_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PKCS12_BAGS_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PKCS12_BAGS_new.html b/linux_amd64/share/doc/openssl/html/man3/PKCS12_BAGS_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PKCS12_BAGS_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PKCS12_MAC_DATA_free.html b/linux_amd64/share/doc/openssl/html/man3/PKCS12_MAC_DATA_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PKCS12_MAC_DATA_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PKCS12_MAC_DATA_new.html b/linux_amd64/share/doc/openssl/html/man3/PKCS12_MAC_DATA_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PKCS12_MAC_DATA_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PKCS12_SAFEBAG_free.html b/linux_amd64/share/doc/openssl/html/man3/PKCS12_SAFEBAG_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PKCS12_SAFEBAG_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PKCS12_SAFEBAG_new.html b/linux_amd64/share/doc/openssl/html/man3/PKCS12_SAFEBAG_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PKCS12_SAFEBAG_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PKCS12_create.html b/linux_amd64/share/doc/openssl/html/man3/PKCS12_create.html index c60ef5b..f963de0 100755 --- a/linux_amd64/share/doc/openssl/html/man3/PKCS12_create.html +++ b/linux_amd64/share/doc/openssl/html/man3/PKCS12_create.html @@ -105,7 +105,7 @@ See passphrase-encoding(7) for more information.


    COPYRIGHT

    Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/PKCS12_free.html b/linux_amd64/share/doc/openssl/html/man3/PKCS12_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PKCS12_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PKCS12_new.html b/linux_amd64/share/doc/openssl/html/man3/PKCS12_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PKCS12_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PKCS12_newpass.html b/linux_amd64/share/doc/openssl/html/man3/PKCS12_newpass.html index 83aca33..9dab4bf 100755 --- a/linux_amd64/share/doc/openssl/html/man3/PKCS12_newpass.html +++ b/linux_amd64/share/doc/openssl/html/man3/PKCS12_newpass.html @@ -19,8 +19,10 @@
  183. NAME
  184. SYNOPSIS
  185. DESCRIPTION
  186. +
  187. NOTES
  188. RETURN VALUES
  189. EXAMPLES
  190. +
  191. NOTES
  192. BUGS
  193. SEE ALSO
  194. COPYRIGHT
  195. @@ -50,6 +52,10 @@

    PKCS12_newpass() changes the password of a PKCS12 structure.

    p12 is a pointer to a PKCS12 structure. oldpass is the existing password and newpass is the new password.

    +

    +

    +
    +

    NOTES

    Each of oldpass and newpass is independently interpreted as a string in the UTF-8 encoding. If it is not valid UTF-8, it is assumed to be ISO8859-1 instead.

    @@ -58,13 +64,6 @@ instead.

    use. This may include passwords from local text files, or input from the terminal or command line. Refer to the documentation of UI_OpenSSL(3), for example.

    -

    If the PKCS#12 structure does not have a password, then you must use the empty -string "" for oldpass. Using NULL for oldpass will result in a -PKCS12_newpass() failure.

    -

    If the wrong password is used for oldpass then the function will fail, -with a MAC verification error. In rare cases the PKCS12 structure does not -contain a MAC: in this case it will usually fail with a decryption padding -error.


    @@ -123,6 +122,17 @@ the result to a new file.


    +

    NOTES

    +

    If the PKCS#12 structure does not have a password, then you must use the empty +string "" for oldpass. Using NULL for oldpass will result in a +PKCS12_newpass() failure.

    +

    If the wrong password is used for oldpass then the function will fail, +with a MAC verification error. In rare cases the PKCS12 structure does not +contain a MAC: in this case it will usually fail with a decryption padding +error.

    +

    +

    +

    BUGS

    The password format is a NULL terminated ASCII string which is converted to Unicode form internally. As a result some passwords cannot be supplied to @@ -137,8 +147,8 @@ this function.


    COPYRIGHT

    -

    Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/PKCS12_parse.html b/linux_amd64/share/doc/openssl/html/man3/PKCS12_parse.html index e0920b2..17a086b 100755 --- a/linux_amd64/share/doc/openssl/html/man3/PKCS12_parse.html +++ b/linux_amd64/share/doc/openssl/html/man3/PKCS12_parse.html @@ -97,7 +97,7 @@ certificates. Other attributes are discarded.


    COPYRIGHT

    Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/PKCS5_PBKDF2_HMAC.html b/linux_amd64/share/doc/openssl/html/man3/PKCS5_PBKDF2_HMAC.html index 0d880eb..476463f 100755 --- a/linux_amd64/share/doc/openssl/html/man3/PKCS5_PBKDF2_HMAC.html +++ b/linux_amd64/share/doc/openssl/html/man3/PKCS5_PBKDF2_HMAC.html @@ -99,7 +99,7 @@ It will simply be treated as a byte sequence.


    COPYRIGHT

    Copyright 2014-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/PKCS5_PBKDF2_HMAC_SHA1.html b/linux_amd64/share/doc/openssl/html/man3/PKCS5_PBKDF2_HMAC_SHA1.html new file mode 120000 index 0000000..92c524f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PKCS5_PBKDF2_HMAC_SHA1.html @@ -0,0 +1 @@ +PKCS5_PBKDF2_HMAC.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PKCS7_DIGEST_free.html b/linux_amd64/share/doc/openssl/html/man3/PKCS7_DIGEST_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PKCS7_DIGEST_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PKCS7_DIGEST_new.html b/linux_amd64/share/doc/openssl/html/man3/PKCS7_DIGEST_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PKCS7_DIGEST_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PKCS7_ENCRYPT_free.html b/linux_amd64/share/doc/openssl/html/man3/PKCS7_ENCRYPT_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PKCS7_ENCRYPT_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PKCS7_ENCRYPT_new.html b/linux_amd64/share/doc/openssl/html/man3/PKCS7_ENCRYPT_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PKCS7_ENCRYPT_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PKCS7_ENC_CONTENT_free.html b/linux_amd64/share/doc/openssl/html/man3/PKCS7_ENC_CONTENT_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PKCS7_ENC_CONTENT_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PKCS7_ENC_CONTENT_new.html b/linux_amd64/share/doc/openssl/html/man3/PKCS7_ENC_CONTENT_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PKCS7_ENC_CONTENT_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PKCS7_ENVELOPE_free.html b/linux_amd64/share/doc/openssl/html/man3/PKCS7_ENVELOPE_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PKCS7_ENVELOPE_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PKCS7_ENVELOPE_new.html b/linux_amd64/share/doc/openssl/html/man3/PKCS7_ENVELOPE_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PKCS7_ENVELOPE_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PKCS7_ISSUER_AND_SERIAL_digest.html b/linux_amd64/share/doc/openssl/html/man3/PKCS7_ISSUER_AND_SERIAL_digest.html new file mode 120000 index 0000000..f168418 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PKCS7_ISSUER_AND_SERIAL_digest.html @@ -0,0 +1 @@ +X509_digest.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PKCS7_ISSUER_AND_SERIAL_free.html b/linux_amd64/share/doc/openssl/html/man3/PKCS7_ISSUER_AND_SERIAL_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PKCS7_ISSUER_AND_SERIAL_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PKCS7_ISSUER_AND_SERIAL_new.html b/linux_amd64/share/doc/openssl/html/man3/PKCS7_ISSUER_AND_SERIAL_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PKCS7_ISSUER_AND_SERIAL_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PKCS7_RECIP_INFO_free.html b/linux_amd64/share/doc/openssl/html/man3/PKCS7_RECIP_INFO_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PKCS7_RECIP_INFO_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PKCS7_RECIP_INFO_new.html b/linux_amd64/share/doc/openssl/html/man3/PKCS7_RECIP_INFO_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PKCS7_RECIP_INFO_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PKCS7_SIGNED_free.html b/linux_amd64/share/doc/openssl/html/man3/PKCS7_SIGNED_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PKCS7_SIGNED_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PKCS7_SIGNED_new.html b/linux_amd64/share/doc/openssl/html/man3/PKCS7_SIGNED_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PKCS7_SIGNED_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PKCS7_SIGNER_INFO_free.html b/linux_amd64/share/doc/openssl/html/man3/PKCS7_SIGNER_INFO_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PKCS7_SIGNER_INFO_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PKCS7_SIGNER_INFO_new.html b/linux_amd64/share/doc/openssl/html/man3/PKCS7_SIGNER_INFO_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PKCS7_SIGNER_INFO_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PKCS7_SIGN_ENVELOPE_free.html b/linux_amd64/share/doc/openssl/html/man3/PKCS7_SIGN_ENVELOPE_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PKCS7_SIGN_ENVELOPE_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PKCS7_SIGN_ENVELOPE_new.html b/linux_amd64/share/doc/openssl/html/man3/PKCS7_SIGN_ENVELOPE_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PKCS7_SIGN_ENVELOPE_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PKCS7_decrypt.html b/linux_amd64/share/doc/openssl/html/man3/PKCS7_decrypt.html index 1ee7d7e..a867a2d 100755 --- a/linux_amd64/share/doc/openssl/html/man3/PKCS7_decrypt.html +++ b/linux_amd64/share/doc/openssl/html/man3/PKCS7_decrypt.html @@ -85,7 +85,7 @@ mentioned in PKCS7_sign() also applies to PKCS7_verify().


    COPYRIGHT

    Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/PKCS7_dup.html b/linux_amd64/share/doc/openssl/html/man3/PKCS7_dup.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PKCS7_dup.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PKCS7_encrypt.html b/linux_amd64/share/doc/openssl/html/man3/PKCS7_encrypt.html index 675351d..96aee48 100755 --- a/linux_amd64/share/doc/openssl/html/man3/PKCS7_encrypt.html +++ b/linux_amd64/share/doc/openssl/html/man3/PKCS7_encrypt.html @@ -19,6 +19,8 @@
  196. NAME
  197. SYNOPSIS
  198. DESCRIPTION
  199. +
  200. NOTES
  201. +
  202. NOTES
  203. RETURN VALUES
  204. SEE ALSO
  205. HISTORY
  206. @@ -50,6 +52,10 @@

    PKCS7_encrypt() creates and returns a PKCS#7 envelopedData structure. certs is a list of recipient certificates. in is the content to be encrypted. cipher is the symmetric cipher to use. flags is an optional set of flags.

    +

    +

    +
    +

    NOTES

    Only RSA keys are supported in PKCS#7 and envelopedData so the recipient certificates supplied to this function must all contain RSA public keys, though they do not have to be signed using the RSA algorithm.

    @@ -74,6 +80,10 @@ otherwise the translation will corrupt it. If PKCS7_BINARY is s PKCS7_TEXT is ignored.

    If the PKCS7_STREAM flag is set a partial PKCS7 structure is output suitable for streaming I/O: no data is read from the BIO in.

    +

    +

    +
    +

    NOTES

    If the flag PKCS7_STREAM is set the returned PKCS7 structure is not complete and outputting its contents via a function that does not properly finalize the PKCS7 structure will give unpredictable @@ -103,7 +113,7 @@ The error can be obtained from ERR_get_error(3).


    COPYRIGHT

    Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/PKCS7_free.html b/linux_amd64/share/doc/openssl/html/man3/PKCS7_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PKCS7_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PKCS7_get0_signers.html b/linux_amd64/share/doc/openssl/html/man3/PKCS7_get0_signers.html new file mode 120000 index 0000000..993f3bf --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PKCS7_get0_signers.html @@ -0,0 +1 @@ +PKCS7_verify.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PKCS7_new.html b/linux_amd64/share/doc/openssl/html/man3/PKCS7_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PKCS7_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PKCS7_print_ctx.html b/linux_amd64/share/doc/openssl/html/man3/PKCS7_print_ctx.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PKCS7_print_ctx.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PKCS7_sign.html b/linux_amd64/share/doc/openssl/html/man3/PKCS7_sign.html index d573da6..df1fb8f 100755 --- a/linux_amd64/share/doc/openssl/html/man3/PKCS7_sign.html +++ b/linux_amd64/share/doc/openssl/html/man3/PKCS7_sign.html @@ -19,6 +19,8 @@
  207. NAME
  208. SYNOPSIS
  209. DESCRIPTION
  210. +
  211. NOTES
  212. +
  213. NOTES
  214. BUGS
  215. RETURN VALUES
  216. SEE ALSO
  217. @@ -54,6 +56,10 @@ the certificate to sign with, pkey is the corresponding private structure (for example any intermediate CAs in the chain).

    The data to be signed is read from BIO data.

    flags is an optional set of flags.

    +

    +

    +
    +

    NOTES

    Any of the following flags (ored together) can be passed in the flags parameter.

    Many S/MIME clients expect the signed content to include valid MIME headers. If @@ -87,6 +93,10 @@ parameter. Signing is deferred until after the data has been written. In this way data can be signed in a single pass.

    If the PKCS7_PARTIAL flag is set a partial PKCS7 structure is output to which additional signers and capabilities can be added before finalization.

    +

    +

    +
    +

    NOTES

    If the flag PKCS7_STREAM is set the returned PKCS7 structure is not complete and outputting its contents via a function that does not properly finalize the PKCS7 structure will give unpredictable results.

    @@ -133,7 +143,7 @@ and pkey parameters to be NULL were added in O

    COPYRIGHT

    Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/PKCS7_sign_add_signer.html b/linux_amd64/share/doc/openssl/html/man3/PKCS7_sign_add_signer.html index e3796ca..4eacdcb 100755 --- a/linux_amd64/share/doc/openssl/html/man3/PKCS7_sign_add_signer.html +++ b/linux_amd64/share/doc/openssl/html/man3/PKCS7_sign_add_signer.html @@ -115,7 +115,7 @@ structure just added or NULL if an error occurs.


    COPYRIGHT

    Copyright 2007-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/PKCS7_verify.html b/linux_amd64/share/doc/openssl/html/man3/PKCS7_verify.html index 63f56b6..df39f3b 100755 --- a/linux_amd64/share/doc/openssl/html/man3/PKCS7_verify.html +++ b/linux_amd64/share/doc/openssl/html/man3/PKCS7_verify.html @@ -109,7 +109,7 @@ in the certs parameter. In this case if the signer is not one o certificates supplied in certs then the verify will fail because the signer cannot be found.

    Care should be taken when modifying the default verify behaviour, for example -setting PKCS7_NOVERIFY|PKCS7_NOSIGS will totally disable all verification +setting PKCS7_NOVERIFY|PKCS7_NOSIGS will totally disable all verification and any signed message will be considered valid. This combination is however useful if one merely wishes to write the content to out and its validity is not considered important.

    @@ -144,7 +144,7 @@ mentioned in PKCS7_sign() also applies to PKCS7_verify().


    COPYRIGHT

    Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/PKCS8_PRIV_KEY_INFO_free.html b/linux_amd64/share/doc/openssl/html/man3/PKCS8_PRIV_KEY_INFO_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PKCS8_PRIV_KEY_INFO_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PKCS8_PRIV_KEY_INFO_new.html b/linux_amd64/share/doc/openssl/html/man3/PKCS8_PRIV_KEY_INFO_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PKCS8_PRIV_KEY_INFO_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PKEY_USAGE_PERIOD_free.html b/linux_amd64/share/doc/openssl/html/man3/PKEY_USAGE_PERIOD_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PKEY_USAGE_PERIOD_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PKEY_USAGE_PERIOD_new.html b/linux_amd64/share/doc/openssl/html/man3/PKEY_USAGE_PERIOD_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PKEY_USAGE_PERIOD_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/POLICYINFO_free.html b/linux_amd64/share/doc/openssl/html/man3/POLICYINFO_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/POLICYINFO_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/POLICYINFO_new.html b/linux_amd64/share/doc/openssl/html/man3/POLICYINFO_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/POLICYINFO_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/POLICYQUALINFO_free.html b/linux_amd64/share/doc/openssl/html/man3/POLICYQUALINFO_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/POLICYQUALINFO_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/POLICYQUALINFO_new.html b/linux_amd64/share/doc/openssl/html/man3/POLICYQUALINFO_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/POLICYQUALINFO_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/POLICY_CONSTRAINTS_free.html b/linux_amd64/share/doc/openssl/html/man3/POLICY_CONSTRAINTS_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/POLICY_CONSTRAINTS_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/POLICY_CONSTRAINTS_new.html b/linux_amd64/share/doc/openssl/html/man3/POLICY_CONSTRAINTS_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/POLICY_CONSTRAINTS_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/POLICY_MAPPING_free.html b/linux_amd64/share/doc/openssl/html/man3/POLICY_MAPPING_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/POLICY_MAPPING_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/POLICY_MAPPING_new.html b/linux_amd64/share/doc/openssl/html/man3/POLICY_MAPPING_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/POLICY_MAPPING_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO.html b/linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO.html new file mode 120000 index 0000000..c372727 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO.html @@ -0,0 +1 @@ +ADMISSIONS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFOS.html b/linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFOS.html new file mode 120000 index 0000000..c372727 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFOS.html @@ -0,0 +1 @@ +ADMISSIONS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFOS_free.html b/linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFOS_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFOS_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFOS_new.html b/linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFOS_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFOS_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO_free.html b/linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO_get0_addProfessionInfo.html b/linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO_get0_addProfessionInfo.html new file mode 120000 index 0000000..c372727 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO_get0_addProfessionInfo.html @@ -0,0 +1 @@ +ADMISSIONS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO_get0_namingAuthority.html b/linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO_get0_namingAuthority.html new file mode 120000 index 0000000..c372727 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO_get0_namingAuthority.html @@ -0,0 +1 @@ +ADMISSIONS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO_get0_professionItems.html b/linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO_get0_professionItems.html new file mode 120000 index 0000000..c372727 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO_get0_professionItems.html @@ -0,0 +1 @@ +ADMISSIONS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO_get0_professionOIDs.html b/linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO_get0_professionOIDs.html new file mode 120000 index 0000000..c372727 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO_get0_professionOIDs.html @@ -0,0 +1 @@ +ADMISSIONS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO_get0_registrationNumber.html b/linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO_get0_registrationNumber.html new file mode 120000 index 0000000..c372727 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO_get0_registrationNumber.html @@ -0,0 +1 @@ +ADMISSIONS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO_new.html b/linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO_set0_addProfessionInfo.html b/linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO_set0_addProfessionInfo.html new file mode 120000 index 0000000..c372727 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO_set0_addProfessionInfo.html @@ -0,0 +1 @@ +ADMISSIONS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO_set0_namingAuthority.html b/linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO_set0_namingAuthority.html new file mode 120000 index 0000000..c372727 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO_set0_namingAuthority.html @@ -0,0 +1 @@ +ADMISSIONS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO_set0_professionItems.html b/linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO_set0_professionItems.html new file mode 120000 index 0000000..c372727 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO_set0_professionItems.html @@ -0,0 +1 @@ +ADMISSIONS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO_set0_professionOIDs.html b/linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO_set0_professionOIDs.html new file mode 120000 index 0000000..c372727 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO_set0_professionOIDs.html @@ -0,0 +1 @@ +ADMISSIONS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO_set0_registrationNumber.html b/linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO_set0_registrationNumber.html new file mode 120000 index 0000000..c372727 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PROFESSION_INFO_set0_registrationNumber.html @@ -0,0 +1 @@ +ADMISSIONS.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PROXY_CERT_INFO_EXTENSION_free.html b/linux_amd64/share/doc/openssl/html/man3/PROXY_CERT_INFO_EXTENSION_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PROXY_CERT_INFO_EXTENSION_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PROXY_CERT_INFO_EXTENSION_new.html b/linux_amd64/share/doc/openssl/html/man3/PROXY_CERT_INFO_EXTENSION_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PROXY_CERT_INFO_EXTENSION_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PROXY_POLICY_free.html b/linux_amd64/share/doc/openssl/html/man3/PROXY_POLICY_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PROXY_POLICY_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/PROXY_POLICY_new.html b/linux_amd64/share/doc/openssl/html/man3/PROXY_POLICY_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/PROXY_POLICY_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_bytes.html b/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_bytes.html new file mode 120000 index 0000000..f346184 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_bytes.html @@ -0,0 +1 @@ +RAND_DRBG_generate.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_cleanup_entropy_fn.html b/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_cleanup_entropy_fn.html new file mode 120000 index 0000000..49a01e4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_cleanup_entropy_fn.html @@ -0,0 +1 @@ +RAND_DRBG_set_callbacks.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_cleanup_nonce_fn.html b/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_cleanup_nonce_fn.html new file mode 120000 index 0000000..49a01e4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_cleanup_nonce_fn.html @@ -0,0 +1 @@ +RAND_DRBG_set_callbacks.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_free.html b/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_free.html new file mode 120000 index 0000000..eee2d7e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_free.html @@ -0,0 +1 @@ +RAND_DRBG_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_generate.html b/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_generate.html index f4f1227..a6ca02d 100755 --- a/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_generate.html +++ b/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_generate.html @@ -62,9 +62,7 @@ number of generate requests (reseed interval) or the maximum timespan (reseed time interval) since its last seeding have been reached. If this is the case, the DRBG reseeds automatically. Additionally, an immediate reseeding can be requested by setting the -prediction_resistance flag to 1. -Requesting prediction resistance is a relative expensive operation. -See NOTES section for more details.

    +prediction_resistance flag to 1. See NOTES section for more details.

    The caller can optionally provide additional data to be used for reseeding by passing a pointer adin to a buffer of length adinlen. This additional data is mixed into the internal state of the random @@ -92,9 +90,11 @@ reasonable default values, which in general do not have to be adjusted. If necessary, they can be changed using RAND_DRBG_set_reseed_interval(3) and RAND_DRBG_set_reseed_time_interval(3), respectively.

    A request for prediction resistance can only be satisfied by pulling fresh -entropy from a live entropy source (section 5.5.2 of [NIST SP 800-90C]). -It is up to the user to ensure that a live entropy source is configured -and is being used.

    +entropy from one of the approved entropy sources listed in section 5.5.2 of +[NIST SP 800-90C]. +Since the default DRBG implementation does not have access to such an approved +entropy source, a request for prediction resistance will always fail. +In other words, prediction resistance is currently not supported yet by the DRBG.


    @@ -108,13 +108,12 @@ and is being used.


    HISTORY

    The RAND_DRBG functions were added in OpenSSL 1.1.1.

    -

    Prediction resistance is supported from OpenSSL 3.0.


    COPYRIGHT

    Copyright 2017-2019 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_get0_master.html b/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_get0_master.html index ae7997c..ee1eda4 100755 --- a/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_get0_master.html +++ b/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_get0_master.html @@ -34,10 +34,7 @@


    NAME

    -

    OPENSSL_CTX_get0_master_drbg, -OPENSSL_CTX_get0_public_drbg, -OPENSSL_CTX_get0_private_drbg, -RAND_DRBG_get0_master, +

    RAND_DRBG_get0_master, RAND_DRBG_get0_public, RAND_DRBG_get0_private - get access to the global RAND_DRBG instances

    @@ -48,9 +45,6 @@ RAND_DRBG_get0_private
      #include <openssl/rand_drbg.h>
    - RAND_DRBG *OPENSSL_CTX_get0_master_drbg(OPENSSL_CTX *ctx);
    - RAND_DRBG *OPENSSL_CTX_get0_public_drbg(OPENSSL_CTX *ctx);
    - RAND_DRBG *OPENSSL_CTX_get0_private_drbg(OPENSSL_CTX *ctx);
      RAND_DRBG *RAND_DRBG_get0_master(void);
      RAND_DRBG *RAND_DRBG_get0_public(void);
      RAND_DRBG *RAND_DRBG_get0_private(void);
    @@ -60,33 +54,24 @@ RAND_DRBG_get0_private

    DESCRIPTION

    The default RAND API implementation (RAND_OpenSSL()) utilizes three shared DRBG instances which are accessed via the RAND API:

    -

    The public and private DRBG are thread-local instances, which are used +

    The <public> and <private> DRBG are thread-local instances, which are used by RAND_bytes() and RAND_priv_bytes(), respectively. -The master DRBG is a global instance, which is not intended to be used +The <master> DRBG is a global instance, which is not intended to be used directly, but is used internally to reseed the other two instances.

    These functions here provide access to the shared DRBG instances.


    RETURN VALUES

    -

    OPENSSL_CTX_get0_master_drbg() returns a pointer to the master DRBG instance -for the given OPENSSL_CTX ctx.

    -

    OPENSSL_CTX_get0_public_drbg() returns a pointer to the public DRBG instance -for the given OPENSSL_CTX ctx.

    -

    OPENSSL_CTX_get0_private_drbg() returns a pointer to the private DRBG instance -for the given OPENSSL_CTX ctx.

    -

    In all the above cases the ctx parameter can -be NULL in which case the default OPENSSL_CTX is used. RAND_DRBG_get0_master(), -RAND_DRBG_get0_public() and RAND_DRBG_get0_private() are the same as -OPENSSL_CTX_get0_master_drbg(), OPENSSL_CTX_get0_public_drbg() and -OPENSSL_CTX_get0_private_drbg() respectively except that the default OPENSSL_CTX -is always used.

    +

    RAND_DRBG_get0_master() returns a pointer to the <master> DRBG instance.

    +

    RAND_DRBG_get0_public() returns a pointer to the <public> DRBG instance.

    +

    RAND_DRBG_get0_private() returns a pointer to the <private> DRBG instance.


    NOTES

    -

    It is not thread-safe to access the master DRBG instance. -The public and private DRBG instance can be accessed safely, because +

    It is not thread-safe to access the <master> DRBG instance. +The <public> and <private> DRBG instance can be accessed safely, because they are thread-local. Note however, that changes to these two instances apply only to the current thread.

    For that reason it is recommended not to change the settings of these @@ -111,15 +96,13 @@ It is also possible to exchange the reseeding callbacks entirely.


    HISTORY

    -

    The OPENSSL_CTX_get0_master_drbg(), OPENSSL_CTX_get0_public_drbg() and -OPENSSL_CTX_get0_private_drbg() functions were added in OpenSSL 3.0.

    -

    All other RAND_DRBG functions were added in OpenSSL 1.1.1.

    +

    The RAND_DRBG functions were added in OpenSSL 1.1.1.


    COPYRIGHT

    Copyright 2017-2019 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_get0_private.html b/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_get0_private.html new file mode 120000 index 0000000..8c1287d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_get0_private.html @@ -0,0 +1 @@ +RAND_DRBG_get0_master.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_get0_public.html b/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_get0_public.html new file mode 120000 index 0000000..8c1287d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_get0_public.html @@ -0,0 +1 @@ +RAND_DRBG_get0_master.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_get_entropy_fn.html b/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_get_entropy_fn.html new file mode 120000 index 0000000..49a01e4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_get_entropy_fn.html @@ -0,0 +1 @@ +RAND_DRBG_set_callbacks.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_get_ex_data.html b/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_get_ex_data.html new file mode 120000 index 0000000..050b2e7 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_get_ex_data.html @@ -0,0 +1 @@ +RAND_DRBG_set_ex_data.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_get_ex_new_index.html b/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_get_ex_new_index.html new file mode 120000 index 0000000..050b2e7 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_get_ex_new_index.html @@ -0,0 +1 @@ +RAND_DRBG_set_ex_data.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_get_nonce_fn.html b/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_get_nonce_fn.html new file mode 120000 index 0000000..49a01e4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_get_nonce_fn.html @@ -0,0 +1 @@ +RAND_DRBG_set_callbacks.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_instantiate.html b/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_instantiate.html new file mode 120000 index 0000000..eee2d7e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_instantiate.html @@ -0,0 +1 @@ +RAND_DRBG_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_new.html b/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_new.html index aef452f..3071e12 100755 --- a/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_new.html +++ b/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_new.html @@ -34,9 +34,7 @@


    NAME

    -

    RAND_DRBG_new_ex, -RAND_DRBG_new, -RAND_DRBG_secure_new_ex, +

    RAND_DRBG_new, RAND_DRBG_secure_new, RAND_DRBG_set, RAND_DRBG_set_defaults, @@ -50,20 +48,10 @@ RAND_DRBG_free

    SYNOPSIS

      #include <openssl/rand_drbg.h>
    -
    - RAND_DRBG *RAND_DRBG_new_ex(OPENSSL_CTX *ctx,
    -                             int type,
    -                             unsigned int flags,
    -                             RAND_DRBG *parent);
      RAND_DRBG *RAND_DRBG_new(int type,
                               unsigned int flags,
                               RAND_DRBG *parent);
    -
    - RAND_DRBG *RAND_DRBG_secure_new_ex(OPENSSL_CTX *ctx,
    -                                    int type,
    -                                    unsigned int flags,
    -                                    RAND_DRBG *parent);
      RAND_DRBG *RAND_DRBG_secure_new(int type,
                                      unsigned int flags,
    @@ -84,52 +72,21 @@ RAND_DRBG_free
     


    DESCRIPTION

    -

    RAND_DRBG_new_ex() and RAND_DRBG_secure_new_ex() +

    RAND_DRBG_new() and RAND_DRBG_secure_new() create a new DRBG instance of the given type, allocated from the heap resp. -the secure heap, for the given OPENSSL_CTX <ctx> -(using OPENSSL_zalloc() resp. OPENSSL_secure_zalloc()). The <ctx> parameter can -be NULL in which case the default OPENSSL_CTX is used. RAND_DRBG_new() and -RAND_DRBG_secure_new() are the same as RAND_DRBG_new_ex() and -RAND_DRBG_secure_new_ex() except that the default OPENSSL_CTX is always used.

    +the secure heap +(using OPENSSL_zalloc() resp. OPENSSL_secure_zalloc()).

    RAND_DRBG_set() initializes the drbg with the given type and flags.

    RAND_DRBG_set_defaults() sets the default type and flags for new DRBG instances.

    -

    The DRBG types are AES-CTR, HMAC and HASH so type can be one of the -following values:

    -

    NID_aes_128_ctr, NID_aes_192_ctr, NID_aes_256_ctr, NID_sha1, NID_sha224, -NID_sha256, NID_sha384, NID_sha512, NID_sha512_224, NID_sha512_256, -NID_sha3_224, NID_sha3_256, NID_sha3_384 or NID_sha3_512.

    -

    If this method is not called then the default type is given by NID_aes_256_ctr -and the default flags are zero.

    -

    Before the DRBG can be used to generate random bits, it is necessary to set +

    Currently, all DRBG types are based on AES-CTR, so type can be one of the +following values: NID_aes_128_ctr, NID_aes_192_ctr, NID_aes_256_ctr. +Before the DRBG can be used to generate random bits, it is necessary to set its type and to instantiate it.

    The optional flags argument specifies a set of bit flags which can be -joined using the | operator. The supported flags are:

    -
    -
    RAND_DRBG_FLAG_CTR_NO_DF
    - -
    -

    Disables the use of the derivation function ctr_df. For an explanation, -see [NIST SP 800-90A Rev. 1].

    -
    -
    RAND_DRBG_FLAG_HMAC
    - -
    -

    Enables use of HMAC instead of the HASH DRBG.

    -
    -
    RAND_DRBG_FLAG_MASTER
    - -
    RAND_DRBG_FLAG_PUBLIC
    - -
    RAND_DRBG_FLAG_PRIVATE
    - -
    -

    These 3 flags can be used to set the individual DRBG types created. Multiple -calls are required to set the types to different values. If none of these 3 -flags are used, then the same type and flags are used for all 3 DRBGs in the -drbg chain (<master>, <public> and <private>).

    -
    -
    +joined using the | operator. Currently, the only flag is +RAND_DRBG_FLAG_CTR_NO_DF, which disables the use of a the derivation function +ctr_df. For an explanation, see [NIST SP 800-90A Rev. 1].

    If a parent instance is specified then this will be used instead of the default entropy source for reseeding the drbg. It is said that the drbg is chained to its parent. @@ -146,9 +103,8 @@ uninstantiated state.


    RETURN VALUES

    -

    RAND_DRBG_new_ex(), RAND_DRBG_new(), RAND_DRBG_secure_new_ex() and -RAND_DRBG_secure_new() return a pointer to a DRBG instance allocated on the -heap, resp. secure heap.

    +

    RAND_DRBG_new() and RAND_DRBG_secure_new() return a pointer to a DRBG +instance allocated on the heap, resp. secure heap.

    RAND_DRBG_set(), RAND_DRBG_instantiate(), and RAND_DRBG_uninstantiate() @@ -188,7 +144,7 @@ cryptographic routines that obtain random data directly or indirectly.


    COPYRIGHT

    Copyright 2017-2019 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_reseed.html b/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_reseed.html index fbe6d80..3903503 100755 --- a/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_reseed.html +++ b/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_reseed.html @@ -72,10 +72,10 @@ and mixing in the specified additional data provided in the buffer adin< of length adinlen. The additional data can be omitted by setting adin to NULL and adinlen to 0. -An immediate reseeding can be requested by setting the -prediction_resistance flag to 1. -Requesting prediction resistance is a relative expensive operation. -See NOTES section for more details.

    +An immediate reseeding from a live entropy source can be requested by setting +the prediction_resistance flag to 1. +This feature is not implemented yet, so reseeding with prediction resistance +requested will always fail.

    RAND_DRBG_set_reseed_interval() sets the reseed interval of the drbg, which is the maximum allowed number of generate requests between consecutive reseedings. @@ -134,13 +134,12 @@ To ensure that they are applied to the global and thread-local DRBG instances


    HISTORY

    The RAND_DRBG functions were added in OpenSSL 1.1.1.

    -

    Prediction resistance is supported from OpenSSL 3.0.


    COPYRIGHT

    Copyright 2017-2019 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_secure_new.html b/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_secure_new.html new file mode 120000 index 0000000..eee2d7e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_secure_new.html @@ -0,0 +1 @@ +RAND_DRBG_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_set.html b/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_set.html new file mode 120000 index 0000000..eee2d7e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_set.html @@ -0,0 +1 @@ +RAND_DRBG_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_set_callbacks.html b/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_set_callbacks.html index 9cb105e..b8d2ee3 100755 --- a/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_set_callbacks.html +++ b/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_set_callbacks.html @@ -40,8 +40,6 @@

    NAME

    RAND_DRBG_set_callbacks, -RAND_DRBG_set_callback_data, -RAND_DRBG_get_callback_data, RAND_DRBG_get_entropy_fn, RAND_DRBG_cleanup_entropy_fn, RAND_DRBG_get_nonce_fn, @@ -59,10 +57,6 @@ RAND_DRBG_cleanup_nonce_fn RAND_DRBG_cleanup_entropy_fn cleanup_entropy, RAND_DRBG_get_nonce_fn get_nonce, RAND_DRBG_cleanup_nonce_fn cleanup_nonce);

    -
    - int RAND_DRBG_set_callback_data(RAND_DRBG *drbg, void *ctx);
    -
    - void *RAND_DRBG_get_callback_data(RAND_DRBG *drbg);

    Callback Functions

    @@ -95,15 +89,7 @@ RAND_DRBG_cleanup_nonce_fn the nonce when reseeding the given drbg. The callback functions are implemented and provided by the caller. Their parameter lists need to match the function prototypes above.

    -

    RAND_DRBG_set_callback_data() can be used to store a pointer to some context -specific data, which can subsequently be retrieved by the entropy and nonce -callbacks using RAND_DRBG_get_callback_data(). -The ownership of the context data remains with the caller, i.e., it is the -caller's responsibility to keep it available as long as it is needed by the -callbacks and free it after use. -For more information about the the callback data see the NOTES section.

    -

    Setting the callbacks or the callback data is allowed only if the DRBG has -not been initialized yet. +

    Setting the callbacks is allowed only if the DRBG has not been initialized yet. Otherwise, the operation will fail. To change the settings for one of the three shared DRBGs it is necessary to call RAND_DRBG_uninstantiate() first.

    @@ -138,10 +124,7 @@ setting them to NULL.


    RETURN VALUES

    -

    RAND_DRBG_set_callbacks() returns 1 on success, and 0 on failure.

    -

    RAND_DRBG_set_callback_data() returns 1 on success, and 0 on failure.

    -

    RAND_DRBG_get_callback_data() returns the pointer to the callback data, -which is NULL if none has been set previously.

    +

    RAND_DRBG_set_callbacks() return 1 on success, and 0 on failure


    @@ -150,9 +133,12 @@ which is NULL if none has been set previously.

    contents safely before freeing it, in order not to leave sensitive information about the DRBG's state in memory.

    A request for prediction resistance can only be satisfied by pulling fresh -entropy from a live entropy source (section 5.5.2 of [NIST SP 800-90C]). -It is up to the user to ensure that a live entropy source is configured -and is being used.

    +entropy from one of the approved entropy sources listed in section 5.5.2 of +[NIST SP 800-90C]. +Since the default implementation of the get_entropy callback does not have access +to such an approved entropy source, a request for prediction resistance will +always fail. +In other words, prediction resistance is currently not supported yet by the DRBG.

    The derivation function is disabled during initialization by calling the RAND_DRBG_set() function with the RAND_DRBG_FLAG_CTR_NO_DF flag. For more information on the derivation function and when it can be omitted, @@ -164,13 +150,6 @@ In this case the DRBG will automatically request an extra amount of entropy (using the get_entropy() and cleanup_entropy() callbacks) which it will utilize for the nonce, following the recommendations of [NIST SP 800-90A Rev. 1], section 8.6.7.

    -

    The callback data is a rather specialized feature, because in general the -random sources don't (and in fact, they must not) depend on any state provided -by the DRBG. -There are however exceptional cases where this feature is useful, most notably -for implementing known answer tests (KATs) or deterministic signatures like -those specified in RFC6979, which require passing a specified entropy and nonce -for instantiating the DRBG.


    @@ -188,7 +167,7 @@ for instantiating the DRBG.


    COPYRIGHT

    Copyright 2017-2019 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_set_defaults.html b/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_set_defaults.html new file mode 120000 index 0000000..eee2d7e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_set_defaults.html @@ -0,0 +1 @@ +RAND_DRBG_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_set_ex_data.html b/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_set_ex_data.html new file mode 100644 index 0000000..c413ea7 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_set_ex_data.html @@ -0,0 +1,101 @@ + + + + +RAND_DRBG_set_ex_data + + + + + + + + + + + +

    +

    +
    +

    NAME

    +

    RAND_DRBG_set_ex_data, +RAND_DRBG_get_ex_data, +RAND_DRBG_get_ex_new_index +- store and retrieve extra data from the DRBG instance

    +

    +

    +
    +

    SYNOPSIS

    +
    + #include <openssl/rand_drbg.h>
    +
    + int RAND_DRBG_set_ex_data(RAND_DRBG *drbg, int idx, void *data);
    +
    + void *RAND_DRBG_get_ex_data(const RAND_DRBG *drbg, int idx);
    +
    + int RAND_DRBG_get_ex_new_index(long argl, void *argp,
    +                                CRYPTO_EX_new *new_func,
    +                                CRYPTO_EX_dup *dup_func,
    +                                CRYPTO_EX_free *free_func);
    +

    +

    +
    +

    DESCRIPTION

    +

    RAND_DRBG_set_ex_data() enables an application to store arbitrary application +specific data data in a RAND_DRBG instance drbg. The index idx should +be a value previously returned from a call to RAND_DRBG_get_ex_new_index().

    +

    RAND_DRBG_get_ex_data() retrieves application specific data previously stored +in an RAND_DRBG instance drbg. The idx value should be the same as that +used when originally storing the data.

    +

    For more detailed information see CRYPTO_get_ex_data(3) and +CRYPTO_set_ex_data(3) which implement these functions and +CRYPTO_get_ex_new_index(3) for generating a unique index.

    +

    +

    +
    +

    RETURN VALUES

    +

    RAND_DRBG_set_ex_data() returns 1 for success or 0 for failure.

    +

    RAND_DRBG_get_ex_data() returns the previously stored value or NULL on +failure. NULL may also be a valid value.

    +

    +

    +
    +

    NOTES

    +

    RAND_DRBG_get_ex_new_index(...) is implemented as a macro and equivalent to +CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_DRBG,...).

    +

    +

    +
    +

    SEE ALSO

    +

    CRYPTO_get_ex_data(3), +CRYPTO_set_ex_data(3), +CRYPTO_get_ex_new_index(3), +RAND_DRBG(7)

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_set_reseed_defaults.html b/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_set_reseed_defaults.html new file mode 120000 index 0000000..56ca68c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_set_reseed_defaults.html @@ -0,0 +1 @@ +RAND_DRBG_reseed.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_set_reseed_interval.html b/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_set_reseed_interval.html new file mode 120000 index 0000000..56ca68c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_set_reseed_interval.html @@ -0,0 +1 @@ +RAND_DRBG_reseed.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_set_reseed_time_interval.html b/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_set_reseed_time_interval.html new file mode 120000 index 0000000..56ca68c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_set_reseed_time_interval.html @@ -0,0 +1 @@ +RAND_DRBG_reseed.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_uninstantiate.html b/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_uninstantiate.html new file mode 120000 index 0000000..eee2d7e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RAND_DRBG_uninstantiate.html @@ -0,0 +1 @@ +RAND_DRBG_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RAND_OpenSSL.html b/linux_amd64/share/doc/openssl/html/man3/RAND_OpenSSL.html new file mode 120000 index 0000000..d0c1369 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RAND_OpenSSL.html @@ -0,0 +1 @@ +RAND_set_rand_method.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RAND_add.html b/linux_amd64/share/doc/openssl/html/man3/RAND_add.html index 9566a20..9abb8ff 100755 --- a/linux_amd64/share/doc/openssl/html/man3/RAND_add.html +++ b/linux_amd64/share/doc/openssl/html/man3/RAND_add.html @@ -50,12 +50,12 @@ RAND_keep_random_devices_open void RAND_seed(const void *buf, int num);
      void RAND_keep_random_devices_open(int keep);
    -

    Deprecated since OpenSSL 1.1.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

    +

    Deprecated:

    + #if OPENSSL_API_COMPAT < 0x10100000L
      int RAND_event(UINT iMsg, WPARAM wParam, LPARAM lParam);
    - void RAND_screen(void);
    + void RAND_screen(void); + #endif


    @@ -84,17 +84,13 @@ can be found in the literature; for example [NIST SP 800-90B]. The content of buf cannot be recovered from subsequent random generator output. Applications that intend to save and restore random state in an external file should consider using RAND_load_file(3) instead.

    -

    NOTE: In FIPS mode, random data provided by the application is not considered to -be a trusted entropy source. It is mixed into the internal state of the RNG as -additional data only and this does not count as a full reseed. -For more details, see RAND_DRBG(7).

    RAND_seed() is equivalent to RAND_add() with randomness set to num.

    RAND_keep_random_devices_open() is used to control file descriptor usage by the random seed sources. Some seed sources maintain open file descriptors by default, which allows such sources to operate in a chroot(2) jail without the associated device nodes being available. When the keep argument is zero, this call disables the retention of file -descriptors. Conversely, a nonzero argument enables the retention of +descriptors. Conversely, a non-zero argument enables the retention of file descriptors. This function is usually called during initialization and it takes effect immediately.

    RAND_event() and RAND_screen() are equivalent to RAND_poll() and exist @@ -115,8 +111,7 @@ with enough data, 0 otherwise.

    RAND_bytes(3), RAND_egd(3), RAND_load_file(3), -RAND(7) -RAND_DRBG(7)

    +RAND(7)


    @@ -128,7 +123,7 @@ not be used.


    COPYRIGHT

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/RAND_bytes.html b/linux_amd64/share/doc/openssl/html/man3/RAND_bytes.html index 7fd9820..2e29407 100755 --- a/linux_amd64/share/doc/openssl/html/man3/RAND_bytes.html +++ b/linux_amd64/share/doc/openssl/html/man3/RAND_bytes.html @@ -34,8 +34,7 @@


    NAME

    -

    RAND_bytes, RAND_priv_bytes, RAND_bytes_ex, RAND_priv_bytes_ex, -RAND_pseudo_bytes - generate random data

    +

    RAND_bytes, RAND_priv_bytes, RAND_pseudo_bytes - generate random data


    @@ -45,14 +44,11 @@ RAND_pseudo_bytes - generate random data

      int RAND_bytes(unsigned char *buf, int num);
      int RAND_priv_bytes(unsigned char *buf, int num);
    +

    Deprecated:

    - int RAND_bytes_ex(OPENSSL_CTX *ctx, unsigned char *buf, int num);
    - int RAND_priv_bytes_ex(OPENSSL_CTX *ctx, unsigned char *buf, int num);
    -

    Deprecated since OpenSSL 1.1.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

    -
    - int RAND_pseudo_bytes(unsigned char *buf, int num);
    + #if OPENSSL_API_COMPAT < 0x10100000L + int RAND_pseudo_bytes(unsigned char *buf, int num); + #endif


    @@ -65,14 +61,6 @@ default RAND_METHOD, this function uses a separate "private" PRNG instance so that a compromise of the "public" PRNG instance will not affect the secrecy of these private values, as described in RAND(7) and RAND_DRBG(7).

    -

    RAND_bytes_ex() and RAND_priv_bytes_ex() are the same as RAND_bytes() and -RAND_priv_bytes() except that they both take an additional ctx parameter. -The DRBG used for the operation is the public or private DRBG associated with -the specified ctx. The parameter can be NULL, in which case -the default library context is used (see OPENSSL_CTX(3). -If the default RAND_METHOD has been changed then for compatibility reasons the -RAND_METHOD will be used in preference and the DRBG of the library context -ignored.


    @@ -110,16 +98,13 @@ obtained by ERR_get_error(3).

  218. The RAND_priv_bytes() function was added in OpenSSL 1.1.1.

  219. -
  220. -

    The RAND_bytes_ex() and RAND_priv_bytes_ex() functions were added in OpenSSL 3.0

    -

  221. COPYRIGHT

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/RAND_cleanup.html b/linux_amd64/share/doc/openssl/html/man3/RAND_cleanup.html index 05eaf9a..0ab3b85 100755 --- a/linux_amd64/share/doc/openssl/html/man3/RAND_cleanup.html +++ b/linux_amd64/share/doc/openssl/html/man3/RAND_cleanup.html @@ -40,11 +40,10 @@

    SYNOPSIS

      #include <openssl/rand.h>
    -

    Deprecated since OpenSSL 1.1.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

    - void RAND_cleanup(void)
    + #if OPENSSL_API_COMPAT < 0x10100000L + void RAND_cleanup(void) + #endif


    @@ -74,7 +73,7 @@ See OPENSSL_init_crypto(3)


    COPYRIGHT

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/RAND_egd.html b/linux_amd64/share/doc/openssl/html/man3/RAND_egd.html index 2d1963b..d4e856e 100755 --- a/linux_amd64/share/doc/openssl/html/man3/RAND_egd.html +++ b/linux_amd64/share/doc/openssl/html/man3/RAND_egd.html @@ -84,7 +84,7 @@ success, or -1 if the connection failed.


    COPYRIGHT

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/RAND_egd_bytes.html b/linux_amd64/share/doc/openssl/html/man3/RAND_egd_bytes.html new file mode 120000 index 0000000..73f0a9e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RAND_egd_bytes.html @@ -0,0 +1 @@ +RAND_egd.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RAND_event.html b/linux_amd64/share/doc/openssl/html/man3/RAND_event.html new file mode 120000 index 0000000..cbe620b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RAND_event.html @@ -0,0 +1 @@ +RAND_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RAND_file_name.html b/linux_amd64/share/doc/openssl/html/man3/RAND_file_name.html new file mode 120000 index 0000000..0ebbdff --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RAND_file_name.html @@ -0,0 +1 @@ +RAND_load_file.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RAND_get_rand_method.html b/linux_amd64/share/doc/openssl/html/man3/RAND_get_rand_method.html new file mode 120000 index 0000000..d0c1369 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RAND_get_rand_method.html @@ -0,0 +1 @@ +RAND_set_rand_method.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RAND_keep_random_devices_open.html b/linux_amd64/share/doc/openssl/html/man3/RAND_keep_random_devices_open.html new file mode 120000 index 0000000..cbe620b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RAND_keep_random_devices_open.html @@ -0,0 +1 @@ +RAND_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RAND_load_file.html b/linux_amd64/share/doc/openssl/html/man3/RAND_load_file.html index 02fbeeb..3b600a7 100755 --- a/linux_amd64/share/doc/openssl/html/man3/RAND_load_file.html +++ b/linux_amd64/share/doc/openssl/html/man3/RAND_load_file.html @@ -67,7 +67,7 @@ file filename which can be used to initialize the PRNG by calli file. buf points to a buffer of size num in which to store the filename.

    On all systems, if the environment variable RANDFILE is set, its -value will be used as the seed filename. +value will be used as the seed file name. Otherwise, the file is called .rnd, found in platform dependent locations:

    On Windows (in order of preference)
    @@ -90,7 +90,7 @@ Otherwise, the file is called .rnd, found in platform dependent loc

    If $HOME (on non-Windows and non-VMS system) is not set either, or -num is too small for the pathname, an error occurs.

    +num is too small for the path name, an error occurs.


    @@ -112,7 +112,7 @@ error.


    COPYRIGHT

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/RAND_poll.html b/linux_amd64/share/doc/openssl/html/man3/RAND_poll.html new file mode 120000 index 0000000..cbe620b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RAND_poll.html @@ -0,0 +1 @@ +RAND_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RAND_priv_bytes.html b/linux_amd64/share/doc/openssl/html/man3/RAND_priv_bytes.html new file mode 120000 index 0000000..dc8e80b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RAND_priv_bytes.html @@ -0,0 +1 @@ +RAND_bytes.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RAND_pseudo_bytes.html b/linux_amd64/share/doc/openssl/html/man3/RAND_pseudo_bytes.html new file mode 120000 index 0000000..dc8e80b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RAND_pseudo_bytes.html @@ -0,0 +1 @@ +RAND_bytes.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RAND_query_egd_bytes.html b/linux_amd64/share/doc/openssl/html/man3/RAND_query_egd_bytes.html new file mode 120000 index 0000000..73f0a9e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RAND_query_egd_bytes.html @@ -0,0 +1 @@ +RAND_egd.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RAND_screen.html b/linux_amd64/share/doc/openssl/html/man3/RAND_screen.html new file mode 120000 index 0000000..cbe620b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RAND_screen.html @@ -0,0 +1 @@ +RAND_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RAND_seed.html b/linux_amd64/share/doc/openssl/html/man3/RAND_seed.html new file mode 120000 index 0000000..cbe620b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RAND_seed.html @@ -0,0 +1 @@ +RAND_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RAND_set_rand_method.html b/linux_amd64/share/doc/openssl/html/man3/RAND_set_rand_method.html index 8f83cfe..76dc166 100755 --- a/linux_amd64/share/doc/openssl/html/man3/RAND_set_rand_method.html +++ b/linux_amd64/share/doc/openssl/html/man3/RAND_set_rand_method.html @@ -94,8 +94,8 @@ methods.


    COPYRIGHT

    -

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/RAND_status.html b/linux_amd64/share/doc/openssl/html/man3/RAND_status.html new file mode 120000 index 0000000..cbe620b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RAND_status.html @@ -0,0 +1 @@ +RAND_add.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RAND_write_file.html b/linux_amd64/share/doc/openssl/html/man3/RAND_write_file.html new file mode 120000 index 0000000..0ebbdff --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RAND_write_file.html @@ -0,0 +1 @@ +RAND_load_file.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RC4.html b/linux_amd64/share/doc/openssl/html/man3/RC4.html new file mode 120000 index 0000000..0afdb55 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RC4.html @@ -0,0 +1 @@ +RC4_set_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RC4_set_key.html b/linux_amd64/share/doc/openssl/html/man3/RC4_set_key.html index e1aa83f..a705894 100755 --- a/linux_amd64/share/doc/openssl/html/man3/RC4_set_key.html +++ b/linux_amd64/share/doc/openssl/html/man3/RC4_set_key.html @@ -22,7 +22,6 @@
  222. RETURN VALUES
  223. NOTE
  224. SEE ALSO
  225. -
  226. HISTORY
  227. COPYRIGHT
  228. @@ -41,9 +40,6 @@

    SYNOPSIS

      #include <openssl/rc4.h>
    -

    Deprecated since OpenSSL 3.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

      void RC4_set_key(RC4_KEY *key, int len, const unsigned char *data);
    @@ -53,9 +49,6 @@
     


    DESCRIPTION

    -

    All of the functions described on this page are deprecated. Applications should -instead use EVP_EncryptInit_ex(3), EVP_EncryptUpdate(3) and -EVP_EncryptFinal_ex(3) or the equivalently named decrypt functions.

    This library implements the Alleged RC4 cipher, which is described for example in Applied Cryptography. It is believed to be compatible with RC4[TM], a proprietary cipher of RSA Security Inc.

    @@ -94,14 +87,9 @@ multiple encryptions using the same key stream.


    -

    HISTORY

    -

    All of these functions were deprecated in OpenSSL 3.0.

    -

    -

    -

    COPYRIGHT

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/RIPEMD160.html b/linux_amd64/share/doc/openssl/html/man3/RIPEMD160.html new file mode 120000 index 0000000..760d7ea --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RIPEMD160.html @@ -0,0 +1 @@ +RIPEMD160_Init.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RIPEMD160_Final.html b/linux_amd64/share/doc/openssl/html/man3/RIPEMD160_Final.html new file mode 120000 index 0000000..760d7ea --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RIPEMD160_Final.html @@ -0,0 +1 @@ +RIPEMD160_Init.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RIPEMD160_Init.html b/linux_amd64/share/doc/openssl/html/man3/RIPEMD160_Init.html index 9368ff3..2261d28 100755 --- a/linux_amd64/share/doc/openssl/html/man3/RIPEMD160_Init.html +++ b/linux_amd64/share/doc/openssl/html/man3/RIPEMD160_Init.html @@ -23,7 +23,6 @@
  229. NOTE
  230. CONFORMING TO
  231. SEE ALSO
  232. -
  233. HISTORY
  234. COPYRIGHT
  235. @@ -43,9 +42,6 @@ RIPEMD-160 hash function

    SYNOPSIS

      #include <openssl/ripemd.h>
    -

    Deprecated since OpenSSL 3.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

      unsigned char *RIPEMD160(const unsigned char *d, unsigned long n,
                               unsigned char *md);
    @@ -57,9 +53,6 @@ RIPEMD-160 hash function


    DESCRIPTION

    -

    All of the functions described on this page are deprecated. -Applications should instead use EVP_DigestInit_ex(3), EVP_DigestUpdate(3) -and EVP_DigestFinal_ex(3).

    RIPEMD-160 is a cryptographic hash function with a 160 bit output.

    RIPEMD160() computes the RIPEMD-160 message digest of the n @@ -101,14 +94,9 @@ functions directly.


    -

    HISTORY

    -

    All of these functions were deprecated in OpenSSL 3.0.

    -

    -

    -

    COPYRIGHT

    -

    Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/RIPEMD160_Update.html b/linux_amd64/share/doc/openssl/html/man3/RIPEMD160_Update.html new file mode 120000 index 0000000..760d7ea --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RIPEMD160_Update.html @@ -0,0 +1 @@ +RIPEMD160_Init.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSAPrivateKey_dup.html b/linux_amd64/share/doc/openssl/html/man3/RSAPrivateKey_dup.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSAPrivateKey_dup.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSAPublicKey_dup.html b/linux_amd64/share/doc/openssl/html/man3/RSAPublicKey_dup.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSAPublicKey_dup.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_OAEP_PARAMS_free.html b/linux_amd64/share/doc/openssl/html/man3/RSA_OAEP_PARAMS_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_OAEP_PARAMS_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_OAEP_PARAMS_new.html b/linux_amd64/share/doc/openssl/html/man3/RSA_OAEP_PARAMS_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_OAEP_PARAMS_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_PKCS1_OpenSSL.html b/linux_amd64/share/doc/openssl/html/man3/RSA_PKCS1_OpenSSL.html new file mode 120000 index 0000000..8a9e65b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_PKCS1_OpenSSL.html @@ -0,0 +1 @@ +RSA_set_method.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_PSS_PARAMS_free.html b/linux_amd64/share/doc/openssl/html/man3/RSA_PSS_PARAMS_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_PSS_PARAMS_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_PSS_PARAMS_new.html b/linux_amd64/share/doc/openssl/html/man3/RSA_PSS_PARAMS_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_PSS_PARAMS_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_bits.html b/linux_amd64/share/doc/openssl/html/man3/RSA_bits.html new file mode 120000 index 0000000..b38956d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_bits.html @@ -0,0 +1 @@ +RSA_size.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_blinding_off.html b/linux_amd64/share/doc/openssl/html/man3/RSA_blinding_off.html new file mode 120000 index 0000000..e53df9c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_blinding_off.html @@ -0,0 +1 @@ +RSA_blinding_on.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_blinding_on.html b/linux_amd64/share/doc/openssl/html/man3/RSA_blinding_on.html index a52bf75..3380e49 100755 --- a/linux_amd64/share/doc/openssl/html/man3/RSA_blinding_on.html +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_blinding_on.html @@ -64,8 +64,8 @@ the blinding factor.


    COPYRIGHT

    -

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_check_key.html b/linux_amd64/share/doc/openssl/html/man3/RSA_check_key.html index 2860acd..cd05167 100755 --- a/linux_amd64/share/doc/openssl/html/man3/RSA_check_key.html +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_check_key.html @@ -42,9 +42,6 @@

    SYNOPSIS

      #include <openssl/rsa.h>
    -

    Deprecated since OpenSSL 3.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

      int RSA_check_key_ex(RSA *rsa, BN_GENCB *cb);
    @@ -53,9 +50,6 @@
     


    DESCRIPTION

    -

    Both of the functions described on this page are deprecated. -Applications should instead use EVP_PKEY_public_check(3), -EVP_PKEY_private_check(3) and EVP_PKEY_pairwise_check(3).

    RSA_check_key_ex() function validates RSA keys. It checks that p and q are in fact prime, and that n = p*q.

    @@ -113,14 +107,13 @@ provide their own verifiers.


    HISTORY

    -

    All of these functions were deprecated in OpenSSL 3.0.

    RSA_check_key_ex() appeared after OpenSSL 1.0.2.


    COPYRIGHT

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_check_key_ex.html b/linux_amd64/share/doc/openssl/html/man3/RSA_check_key_ex.html new file mode 120000 index 0000000..6b4f007 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_check_key_ex.html @@ -0,0 +1 @@ +RSA_check_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_clear_flags.html b/linux_amd64/share/doc/openssl/html/man3/RSA_clear_flags.html new file mode 120000 index 0000000..82d5ddf --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_clear_flags.html @@ -0,0 +1 @@ +RSA_get0_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_flags.html b/linux_amd64/share/doc/openssl/html/man3/RSA_flags.html new file mode 120000 index 0000000..8a9e65b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_flags.html @@ -0,0 +1 @@ +RSA_set_method.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_free.html b/linux_amd64/share/doc/openssl/html/man3/RSA_free.html new file mode 120000 index 0000000..420f132 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_free.html @@ -0,0 +1 @@ +RSA_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_generate_key.html b/linux_amd64/share/doc/openssl/html/man3/RSA_generate_key.html index c5dcd81..c7b38b9 100755 --- a/linux_amd64/share/doc/openssl/html/man3/RSA_generate_key.html +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_generate_key.html @@ -42,25 +42,19 @@ RSA_generate_multi_prime_key - generate RSA key pair

    SYNOPSIS

      #include <openssl/rsa.h>
    -

    Deprecated since OpenSSL 3.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

      int RSA_generate_key_ex(RSA *rsa, int bits, BIGNUM *e, BN_GENCB *cb);
      int RSA_generate_multi_prime_key(RSA *rsa, int bits, int primes, BIGNUM *e, BN_GENCB *cb);
    -

    Deprecated since OpenSSL 0.9.8, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

    +

    Deprecated:

    + #if OPENSSL_API_COMPAT < 0x00908000L
      RSA *RSA_generate_key(int bits, unsigned long e,
    -                       void (*callback)(int, int, void *), void *cb_arg);
    + void (*callback)(int, int, void *), void *cb_arg); + #endif


    DESCRIPTION

    -

    All of the functions described on this page are deprecated. -Applications should instead use EVP_PKEY_keygen_init(3) and -EVP_PKEY_keygen(3).

    RSA_generate_key_ex() generates a 2-prime RSA key pair and stores it in the RSA structure provided in rsa. The pseudo-random number generator must be seeded prior to calling RSA_generate_key_ex().

    @@ -127,15 +121,14 @@ The error codes can be obtained by ERR_get_error(3).


    HISTORY

    -

    All of these functions were deprecated in OpenSSL 3.0.

    RSA_generate_key() was deprecated in OpenSSL 0.9.8; use RSA_generate_key_ex() instead.


    COPYRIGHT

    -

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_generate_key_ex.html b/linux_amd64/share/doc/openssl/html/man3/RSA_generate_key_ex.html new file mode 120000 index 0000000..4651f65 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_generate_key_ex.html @@ -0,0 +1 @@ +RSA_generate_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_generate_multi_prime_key.html b/linux_amd64/share/doc/openssl/html/man3/RSA_generate_multi_prime_key.html new file mode 120000 index 0000000..4651f65 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_generate_multi_prime_key.html @@ -0,0 +1 @@ +RSA_generate_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_get0_crt_params.html b/linux_amd64/share/doc/openssl/html/man3/RSA_get0_crt_params.html new file mode 120000 index 0000000..82d5ddf --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_get0_crt_params.html @@ -0,0 +1 @@ +RSA_get0_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_get0_d.html b/linux_amd64/share/doc/openssl/html/man3/RSA_get0_d.html new file mode 120000 index 0000000..82d5ddf --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_get0_d.html @@ -0,0 +1 @@ +RSA_get0_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_get0_dmp1.html b/linux_amd64/share/doc/openssl/html/man3/RSA_get0_dmp1.html new file mode 120000 index 0000000..82d5ddf --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_get0_dmp1.html @@ -0,0 +1 @@ +RSA_get0_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_get0_dmq1.html b/linux_amd64/share/doc/openssl/html/man3/RSA_get0_dmq1.html new file mode 120000 index 0000000..82d5ddf --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_get0_dmq1.html @@ -0,0 +1 @@ +RSA_get0_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_get0_e.html b/linux_amd64/share/doc/openssl/html/man3/RSA_get0_e.html new file mode 120000 index 0000000..82d5ddf --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_get0_e.html @@ -0,0 +1 @@ +RSA_get0_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_get0_engine.html b/linux_amd64/share/doc/openssl/html/man3/RSA_get0_engine.html new file mode 120000 index 0000000..82d5ddf --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_get0_engine.html @@ -0,0 +1 @@ +RSA_get0_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_get0_factors.html b/linux_amd64/share/doc/openssl/html/man3/RSA_get0_factors.html new file mode 120000 index 0000000..82d5ddf --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_get0_factors.html @@ -0,0 +1 @@ +RSA_get0_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_get0_iqmp.html b/linux_amd64/share/doc/openssl/html/man3/RSA_get0_iqmp.html new file mode 120000 index 0000000..82d5ddf --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_get0_iqmp.html @@ -0,0 +1 @@ +RSA_get0_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_get0_key.html b/linux_amd64/share/doc/openssl/html/man3/RSA_get0_key.html index 5b91aa6..a15fbd3 100755 --- a/linux_amd64/share/doc/openssl/html/man3/RSA_get0_key.html +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_get0_key.html @@ -161,8 +161,6 @@ RSA_set0_multi_prime_params() return 1 on success or 0 on failure.

    RSA_get0_n(), RSA_get0_e(), RSA_get0_d(), RSA_get0_p(), RSA_get0_q(), RSA_get0_dmp1(), RSA_get0_dmq1(), and RSA_get0_iqmp() return the respective value.

    -

    RSA_get0_pss_params() returns a RSA_PSS_PARAMS pointer, or NULL if -there is none.

    RSA_get0_multi_prime_factors() and RSA_get0_multi_prime_crt_params() return 1 on success or 0 on failure.

    RSA_get_multi_prime_extra_count() returns two less than the number of primes @@ -193,7 +191,7 @@ and RSA_get_version() functions were added in OpenSSL 1.1.1.


    COPYRIGHT

    Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_get0_multi_prime_crt_params.html b/linux_amd64/share/doc/openssl/html/man3/RSA_get0_multi_prime_crt_params.html new file mode 120000 index 0000000..82d5ddf --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_get0_multi_prime_crt_params.html @@ -0,0 +1 @@ +RSA_get0_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_get0_multi_prime_factors.html b/linux_amd64/share/doc/openssl/html/man3/RSA_get0_multi_prime_factors.html new file mode 120000 index 0000000..82d5ddf --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_get0_multi_prime_factors.html @@ -0,0 +1 @@ +RSA_get0_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_get0_n.html b/linux_amd64/share/doc/openssl/html/man3/RSA_get0_n.html new file mode 120000 index 0000000..82d5ddf --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_get0_n.html @@ -0,0 +1 @@ +RSA_get0_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_get0_p.html b/linux_amd64/share/doc/openssl/html/man3/RSA_get0_p.html new file mode 120000 index 0000000..82d5ddf --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_get0_p.html @@ -0,0 +1 @@ +RSA_get0_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_get0_pss_params.html b/linux_amd64/share/doc/openssl/html/man3/RSA_get0_pss_params.html new file mode 120000 index 0000000..82d5ddf --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_get0_pss_params.html @@ -0,0 +1 @@ +RSA_get0_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_get0_q.html b/linux_amd64/share/doc/openssl/html/man3/RSA_get0_q.html new file mode 120000 index 0000000..82d5ddf --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_get0_q.html @@ -0,0 +1 @@ +RSA_get0_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_get_default_method.html b/linux_amd64/share/doc/openssl/html/man3/RSA_get_default_method.html new file mode 120000 index 0000000..8a9e65b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_get_default_method.html @@ -0,0 +1 @@ +RSA_set_method.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_get_ex_data.html b/linux_amd64/share/doc/openssl/html/man3/RSA_get_ex_data.html new file mode 120000 index 0000000..6d5f2d2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_get_ex_data.html @@ -0,0 +1 @@ +BIO_get_ex_new_index.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_get_ex_new_index.html b/linux_amd64/share/doc/openssl/html/man3/RSA_get_ex_new_index.html new file mode 120000 index 0000000..6d5f2d2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_get_ex_new_index.html @@ -0,0 +1 @@ +BIO_get_ex_new_index.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_get_method.html b/linux_amd64/share/doc/openssl/html/man3/RSA_get_method.html new file mode 120000 index 0000000..8a9e65b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_get_method.html @@ -0,0 +1 @@ +RSA_set_method.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_get_multi_prime_extra_count.html b/linux_amd64/share/doc/openssl/html/man3/RSA_get_multi_prime_extra_count.html new file mode 120000 index 0000000..82d5ddf --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_get_multi_prime_extra_count.html @@ -0,0 +1 @@ +RSA_get0_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_get_version.html b/linux_amd64/share/doc/openssl/html/man3/RSA_get_version.html new file mode 120000 index 0000000..82d5ddf --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_get_version.html @@ -0,0 +1 @@ +RSA_get0_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_meth_dup.html b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_dup.html new file mode 120000 index 0000000..b38483a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_dup.html @@ -0,0 +1 @@ +RSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_meth_free.html b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_free.html new file mode 120000 index 0000000..b38483a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_free.html @@ -0,0 +1 @@ +RSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_meth_get0_app_data.html b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_get0_app_data.html new file mode 120000 index 0000000..b38483a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_get0_app_data.html @@ -0,0 +1 @@ +RSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_meth_get0_name.html b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_get0_name.html new file mode 120000 index 0000000..b38483a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_get0_name.html @@ -0,0 +1 @@ +RSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_bn_mod_exp.html b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_bn_mod_exp.html new file mode 120000 index 0000000..b38483a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_bn_mod_exp.html @@ -0,0 +1 @@ +RSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_finish.html b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_finish.html new file mode 120000 index 0000000..b38483a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_finish.html @@ -0,0 +1 @@ +RSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_flags.html b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_flags.html new file mode 120000 index 0000000..b38483a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_flags.html @@ -0,0 +1 @@ +RSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_init.html b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_init.html new file mode 120000 index 0000000..b38483a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_init.html @@ -0,0 +1 @@ +RSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_keygen.html b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_keygen.html new file mode 120000 index 0000000..b38483a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_keygen.html @@ -0,0 +1 @@ +RSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_mod_exp.html b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_mod_exp.html new file mode 120000 index 0000000..b38483a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_mod_exp.html @@ -0,0 +1 @@ +RSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_multi_prime_keygen.html b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_multi_prime_keygen.html new file mode 120000 index 0000000..b38483a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_multi_prime_keygen.html @@ -0,0 +1 @@ +RSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_priv_dec.html b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_priv_dec.html new file mode 120000 index 0000000..b38483a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_priv_dec.html @@ -0,0 +1 @@ +RSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_priv_enc.html b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_priv_enc.html new file mode 120000 index 0000000..b38483a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_priv_enc.html @@ -0,0 +1 @@ +RSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_pub_dec.html b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_pub_dec.html new file mode 120000 index 0000000..b38483a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_pub_dec.html @@ -0,0 +1 @@ +RSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_pub_enc.html b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_pub_enc.html new file mode 120000 index 0000000..b38483a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_pub_enc.html @@ -0,0 +1 @@ +RSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_sign.html b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_sign.html new file mode 120000 index 0000000..b38483a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_sign.html @@ -0,0 +1 @@ +RSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_verify.html b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_verify.html new file mode 120000 index 0000000..b38483a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_get_verify.html @@ -0,0 +1 @@ +RSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_meth_new.html b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_new.html index 6cf9a26..eb9caf7 100755 --- a/linux_amd64/share/doc/openssl/html/man3/RSA_meth_new.html +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_new.html @@ -52,9 +52,6 @@ RSA_meth_get_multi_prime_keygen, RSA_meth_set_multi_prime_keygen

    SYNOPSIS

      #include <openssl/rsa.h>
    -

    Deprecated since OpenSSL 3.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

      RSA_METHOD *RSA_meth_new(const char *name, int flags);
      void RSA_meth_free(RSA_METHOD *meth);
    @@ -160,11 +157,10 @@ RSA_meth_get_multi_prime_keygen, RSA_meth_set_multi_prime_keygen


    DESCRIPTION

    -

    All of the functions described on this page are deprecated. -Applications should instead use the OSSL_PROVIDER APIs.

    The RSA_METHOD type is a structure used for the provision of custom RSA implementations. It provides a set of functions used by OpenSSL -for the implementation of the various RSA capabilities.

    +for the implementation of the various RSA capabilities. See the the rsa manpage +page for more information.

    RSA_meth_new() creates a new RSA_METHOD structure. It should be given a unique name and a set of flags. The name should be a NULL terminated string, which will be duplicated and stored in the @@ -266,7 +262,6 @@ success or 0 on failure.


    HISTORY

    -

    All of these functions were deprecated in OpenSSL 3.0.

    RSA_meth_get_multi_prime_keygen() and RSA_meth_set_multi_prime_keygen() were added in OpenSSL 1.1.1.

    Other functions described here were added in OpenSSL 1.1.0.

    @@ -275,7 +270,7 @@ added in OpenSSL 1.1.1.


    COPYRIGHT

    Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_meth_set0_app_data.html b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_set0_app_data.html new file mode 120000 index 0000000..b38483a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_set0_app_data.html @@ -0,0 +1 @@ +RSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_meth_set1_name.html b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_set1_name.html new file mode 120000 index 0000000..b38483a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_set1_name.html @@ -0,0 +1 @@ +RSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_bn_mod_exp.html b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_bn_mod_exp.html new file mode 120000 index 0000000..b38483a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_bn_mod_exp.html @@ -0,0 +1 @@ +RSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_finish.html b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_finish.html new file mode 120000 index 0000000..b38483a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_finish.html @@ -0,0 +1 @@ +RSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_flags.html b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_flags.html new file mode 120000 index 0000000..b38483a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_flags.html @@ -0,0 +1 @@ +RSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_init.html b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_init.html new file mode 120000 index 0000000..b38483a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_init.html @@ -0,0 +1 @@ +RSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_keygen.html b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_keygen.html new file mode 120000 index 0000000..b38483a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_keygen.html @@ -0,0 +1 @@ +RSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_mod_exp.html b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_mod_exp.html new file mode 120000 index 0000000..b38483a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_mod_exp.html @@ -0,0 +1 @@ +RSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_multi_prime_keygen.html b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_multi_prime_keygen.html new file mode 120000 index 0000000..b38483a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_multi_prime_keygen.html @@ -0,0 +1 @@ +RSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_priv_dec.html b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_priv_dec.html new file mode 120000 index 0000000..b38483a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_priv_dec.html @@ -0,0 +1 @@ +RSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_priv_enc.html b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_priv_enc.html new file mode 120000 index 0000000..b38483a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_priv_enc.html @@ -0,0 +1 @@ +RSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_pub_dec.html b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_pub_dec.html new file mode 120000 index 0000000..b38483a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_pub_dec.html @@ -0,0 +1 @@ +RSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_pub_enc.html b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_pub_enc.html new file mode 120000 index 0000000..b38483a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_pub_enc.html @@ -0,0 +1 @@ +RSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_sign.html b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_sign.html new file mode 120000 index 0000000..b38483a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_sign.html @@ -0,0 +1 @@ +RSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_verify.html b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_verify.html new file mode 120000 index 0000000..b38483a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_meth_set_verify.html @@ -0,0 +1 @@ +RSA_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_new.html b/linux_amd64/share/doc/openssl/html/man3/RSA_new.html index 3bca460..a3c99c3 100755 --- a/linux_amd64/share/doc/openssl/html/man3/RSA_new.html +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_new.html @@ -72,7 +72,7 @@ a pointer to the newly allocated structure.


    COPYRIGHT

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_new_method.html b/linux_amd64/share/doc/openssl/html/man3/RSA_new_method.html new file mode 120000 index 0000000..8a9e65b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_new_method.html @@ -0,0 +1 @@ +RSA_set_method.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_padding_add_PKCS1_OAEP.html b/linux_amd64/share/doc/openssl/html/man3/RSA_padding_add_PKCS1_OAEP.html new file mode 120000 index 0000000..0e3b7fe --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_padding_add_PKCS1_OAEP.html @@ -0,0 +1 @@ +RSA_padding_add_PKCS1_type_1.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_padding_add_PKCS1_OAEP_mgf1.html b/linux_amd64/share/doc/openssl/html/man3/RSA_padding_add_PKCS1_OAEP_mgf1.html new file mode 120000 index 0000000..0e3b7fe --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_padding_add_PKCS1_OAEP_mgf1.html @@ -0,0 +1 @@ +RSA_padding_add_PKCS1_type_1.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_padding_add_PKCS1_type_1.html b/linux_amd64/share/doc/openssl/html/man3/RSA_padding_add_PKCS1_type_1.html index 521f446..c89d54c 100755 --- a/linux_amd64/share/doc/openssl/html/man3/RSA_padding_add_PKCS1_type_1.html +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_padding_add_PKCS1_type_1.html @@ -22,7 +22,6 @@
  236. RETURN VALUES
  237. WARNINGS
  238. SEE ALSO
  239. -
  240. HISTORY
  241. COPYRIGHT
  242. @@ -47,9 +46,6 @@ padding

    SYNOPSIS

      #include <openssl/rsa.h>
    -

    Deprecated since OpenSSL 3.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

      int RSA_padding_add_PKCS1_type_1(unsigned char *to, int tlen,
                                       const unsigned char *f, int fl);
    @@ -96,8 +92,6 @@ padding


    DESCRIPTION

    -

    All of the functions described on this page are deprecated. -Applications should instead use the EVP PKEY APIs.

    The RSA_padding_xxx_xxx() functions are called from the RSA encrypt, decrypt, sign and verify functions. Normally they should not be called from application programs.

    @@ -189,14 +183,9 @@ including PKCS1_OAEP.


    -

    HISTORY

    -

    All of these functions were deprecated in OpenSSL 3.0.

    -

    -

    -

    COPYRIGHT

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_padding_add_PKCS1_type_2.html b/linux_amd64/share/doc/openssl/html/man3/RSA_padding_add_PKCS1_type_2.html new file mode 120000 index 0000000..0e3b7fe --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_padding_add_PKCS1_type_2.html @@ -0,0 +1 @@ +RSA_padding_add_PKCS1_type_1.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_padding_add_SSLv23.html b/linux_amd64/share/doc/openssl/html/man3/RSA_padding_add_SSLv23.html new file mode 120000 index 0000000..0e3b7fe --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_padding_add_SSLv23.html @@ -0,0 +1 @@ +RSA_padding_add_PKCS1_type_1.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_padding_add_none.html b/linux_amd64/share/doc/openssl/html/man3/RSA_padding_add_none.html new file mode 120000 index 0000000..0e3b7fe --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_padding_add_none.html @@ -0,0 +1 @@ +RSA_padding_add_PKCS1_type_1.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_padding_check_PKCS1_OAEP.html b/linux_amd64/share/doc/openssl/html/man3/RSA_padding_check_PKCS1_OAEP.html new file mode 120000 index 0000000..0e3b7fe --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_padding_check_PKCS1_OAEP.html @@ -0,0 +1 @@ +RSA_padding_add_PKCS1_type_1.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_padding_check_PKCS1_OAEP_mgf1.html b/linux_amd64/share/doc/openssl/html/man3/RSA_padding_check_PKCS1_OAEP_mgf1.html new file mode 120000 index 0000000..0e3b7fe --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_padding_check_PKCS1_OAEP_mgf1.html @@ -0,0 +1 @@ +RSA_padding_add_PKCS1_type_1.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_padding_check_PKCS1_type_1.html b/linux_amd64/share/doc/openssl/html/man3/RSA_padding_check_PKCS1_type_1.html new file mode 120000 index 0000000..0e3b7fe --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_padding_check_PKCS1_type_1.html @@ -0,0 +1 @@ +RSA_padding_add_PKCS1_type_1.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_padding_check_PKCS1_type_2.html b/linux_amd64/share/doc/openssl/html/man3/RSA_padding_check_PKCS1_type_2.html new file mode 120000 index 0000000..0e3b7fe --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_padding_check_PKCS1_type_2.html @@ -0,0 +1 @@ +RSA_padding_add_PKCS1_type_1.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_padding_check_SSLv23.html b/linux_amd64/share/doc/openssl/html/man3/RSA_padding_check_SSLv23.html new file mode 120000 index 0000000..0e3b7fe --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_padding_check_SSLv23.html @@ -0,0 +1 @@ +RSA_padding_add_PKCS1_type_1.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_padding_check_none.html b/linux_amd64/share/doc/openssl/html/man3/RSA_padding_check_none.html new file mode 120000 index 0000000..0e3b7fe --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_padding_check_none.html @@ -0,0 +1 @@ +RSA_padding_add_PKCS1_type_1.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_print.html b/linux_amd64/share/doc/openssl/html/man3/RSA_print.html index fa8f03c..33a4626 100755 --- a/linux_amd64/share/doc/openssl/html/man3/RSA_print.html +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_print.html @@ -21,7 +21,6 @@
  243. DESCRIPTION
  244. RETURN VALUES
  245. SEE ALSO
  246. -
  247. HISTORY
  248. COPYRIGHT
  249. @@ -42,17 +41,11 @@ DHparams_print, DHparams_print_fp - print cryptographic parameters

    SYNOPSIS

      #include <openssl/rsa.h>
    -

    Deprecated since OpenSSL 3.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

      int RSA_print(BIO *bp, RSA *x, int offset);
      int RSA_print_fp(FILE *fp, RSA *x, int offset);
      #include <openssl/dsa.h>
    -

    Deprecated since OpenSSL 3.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

      int DSAparams_print(BIO *bp, DSA *x);
      int DSAparams_print_fp(FILE *fp, DSA *x);
    @@ -60,9 +53,6 @@ DHparams_print, DHparams_print_fp - print cryptographic parameters

    int DSA_print_fp(FILE *fp, DSA *x, int offset);
      #include <openssl/dh.h>
    -

    Deprecated since OpenSSL 3.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

      int DHparams_print(BIO *bp, DH *x);
      int DHparams_print_fp(FILE *fp, DH *x);
    @@ -70,9 +60,6 @@ DHparams_print, DHparams_print_fp - print cryptographic parameters


    DESCRIPTION

    -

    All of the functions described on this page are deprecated. -Applications should instead use EVP_PKEY_print_params(3) and -EVP_PKEY_print_private(3).

    A human-readable hexadecimal output of the components of the RSA key, DSA parameters or key or DH parameters is printed to bp or fp.

    The output lines are indented by offset spaces.

    @@ -85,21 +72,13 @@ key, DSA parameters or key or DH parameters is printed to bp or


    SEE ALSO

    -
    - L<EVP_PKEY_print_params(3)>,
    - L<EVP_PKEY_print_private(3)>,
    - L<BN_bn2bin(3)>
    -

    -

    -
    -

    HISTORY

    -

    All of these functions were deprecated in OpenSSL 3.0.

    +

    BN_bn2bin(3)


    COPYRIGHT

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_print_fp.html b/linux_amd64/share/doc/openssl/html/man3/RSA_print_fp.html new file mode 120000 index 0000000..a46aa61 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_print_fp.html @@ -0,0 +1 @@ +RSA_print.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_private_decrypt.html b/linux_amd64/share/doc/openssl/html/man3/RSA_private_decrypt.html new file mode 120000 index 0000000..354b30e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_private_decrypt.html @@ -0,0 +1 @@ +RSA_public_encrypt.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_private_encrypt.html b/linux_amd64/share/doc/openssl/html/man3/RSA_private_encrypt.html index a53b41c..17932ef 100755 --- a/linux_amd64/share/doc/openssl/html/man3/RSA_private_encrypt.html +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_private_encrypt.html @@ -21,7 +21,6 @@
  250. DESCRIPTION
  251. RETURN VALUES
  252. SEE ALSO
  253. -
  254. HISTORY
  255. COPYRIGHT
  256. @@ -40,9 +39,6 @@

    SYNOPSIS

      #include <openssl/rsa.h>
    -

    Deprecated since OpenSSL 3.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

      int RSA_private_encrypt(int flen, unsigned char *from,
                              unsigned char *to, RSA *rsa, int padding);
    @@ -53,9 +49,6 @@


    DESCRIPTION

    -

    Both of the functions described on this page are deprecated. -Applications should instead use EVP_PKEY_encrypt_init(3), -EVP_PKEY_encrypt(3), EVP_PKEY_decrypt_init(3) and EVP_PKEY_decrypt(3).

    These functions handle RSA signatures at a low level.

    RSA_private_encrypt() signs the flen bytes at from (usually a message digest with an algorithm identifier) using the private key @@ -102,14 +95,9 @@ obtained by ERR_get_error(3).


    -

    HISTORY

    -

    Both of these functions were deprecated in OpenSSL 3.0.

    -

    -

    -

    COPYRIGHT

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_public_decrypt.html b/linux_amd64/share/doc/openssl/html/man3/RSA_public_decrypt.html new file mode 120000 index 0000000..b9c3920 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_public_decrypt.html @@ -0,0 +1 @@ +RSA_private_encrypt.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_public_encrypt.html b/linux_amd64/share/doc/openssl/html/man3/RSA_public_encrypt.html index 83d1f97..5876cc9 100755 --- a/linux_amd64/share/doc/openssl/html/man3/RSA_public_encrypt.html +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_public_encrypt.html @@ -23,7 +23,6 @@
  257. WARNINGS
  258. CONFORMING TO
  259. SEE ALSO
  260. -
  261. HISTORY
  262. COPYRIGHT
  263. @@ -42,9 +41,6 @@

    SYNOPSIS

      #include <openssl/rsa.h>
    -

    Deprecated since OpenSSL 3.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

      int RSA_public_encrypt(int flen, const unsigned char *from,
                             unsigned char *to, RSA *rsa, int padding);
    @@ -55,9 +51,6 @@


    DESCRIPTION

    -

    Both of the functions described on this page are deprecated. -Applications should instead use EVP_PKEY_encrypt_init(3), -EVP_PKEY_encrypt(3), EVP_PKEY_decrypt_init(3) and EVP_PKEY_decrypt(3).

    RSA_public_encrypt() encrypts the flen bytes at from (usually a session key) using the public key rsa and stores the ciphertext in to. to must point to RSA_size(rsa) bytes of memory.

    @@ -143,14 +136,9 @@ design. Prefer RSA_PKCS1_OAEP_PADDING.


    -

    HISTORY

    -

    Both of these functions were deprecated in OpenSSL 3.0.

    -

    -

    -

    COPYRIGHT

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_security_bits.html b/linux_amd64/share/doc/openssl/html/man3/RSA_security_bits.html new file mode 120000 index 0000000..b38956d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_security_bits.html @@ -0,0 +1 @@ +RSA_size.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_set0_crt_params.html b/linux_amd64/share/doc/openssl/html/man3/RSA_set0_crt_params.html new file mode 120000 index 0000000..82d5ddf --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_set0_crt_params.html @@ -0,0 +1 @@ +RSA_get0_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_set0_factors.html b/linux_amd64/share/doc/openssl/html/man3/RSA_set0_factors.html new file mode 120000 index 0000000..82d5ddf --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_set0_factors.html @@ -0,0 +1 @@ +RSA_get0_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_set0_key.html b/linux_amd64/share/doc/openssl/html/man3/RSA_set0_key.html new file mode 120000 index 0000000..82d5ddf --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_set0_key.html @@ -0,0 +1 @@ +RSA_get0_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_set0_multi_prime_params.html b/linux_amd64/share/doc/openssl/html/man3/RSA_set0_multi_prime_params.html new file mode 120000 index 0000000..82d5ddf --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_set0_multi_prime_params.html @@ -0,0 +1 @@ +RSA_get0_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_set_default_method.html b/linux_amd64/share/doc/openssl/html/man3/RSA_set_default_method.html new file mode 120000 index 0000000..8a9e65b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_set_default_method.html @@ -0,0 +1 @@ +RSA_set_method.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_set_ex_data.html b/linux_amd64/share/doc/openssl/html/man3/RSA_set_ex_data.html new file mode 120000 index 0000000..6d5f2d2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_set_ex_data.html @@ -0,0 +1 @@ +BIO_get_ex_new_index.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_set_flags.html b/linux_amd64/share/doc/openssl/html/man3/RSA_set_flags.html new file mode 120000 index 0000000..82d5ddf --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_set_flags.html @@ -0,0 +1 @@ +RSA_get0_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_set_method.html b/linux_amd64/share/doc/openssl/html/man3/RSA_set_method.html index fba214f..5ba8045 100755 --- a/linux_amd64/share/doc/openssl/html/man3/RSA_set_method.html +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_set_method.html @@ -44,9 +44,6 @@ RSA_new_method - select RSA method

    SYNOPSIS

      #include <openssl/rsa.h>
    -

    Deprecated since OpenSSL 3.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

      void RSA_set_default_method(const RSA_METHOD *meth);
    @@ -65,8 +62,6 @@ RSA_new_method - select RSA method


    DESCRIPTION

    -

    All of the functions described on this page are deprecated. -Applications should instead use the OSSL_PROVIDER APIs.

    An RSA_METHOD specifies the functions that OpenSSL uses for RSA operations. By modifying the method, alternative implementations such as hardware accelerators may be used. IMPORTANT: See the NOTES section for @@ -163,7 +158,7 @@ the default method is used.

    const unsigned char *m, unsigned int m_length, const unsigned char *sigbuf, unsigned int siglen, const RSA *rsa); - /* keygen. If NULL built-in RSA key generation will be used */ + /* keygen. If NULL builtin RSA key generation will be used */ int (*rsa_keygen)(RSA *rsa, int bits, BIGNUM *e, BN_GENCB *cb);
      } RSA_METHOD;
    @@ -206,7 +201,6 @@ not currently exist).


    HISTORY

    -

    All of these functions were deprecated in OpenSSL 3.0.

    The RSA_null_method(), which was a partial attempt to avoid patent issues, was replaced to always return NULL in OpenSSL 1.1.1.

    @@ -214,7 +208,7 @@ was replaced to always return NULL in OpenSSL 1.1.1.


    COPYRIGHT

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_sign.html b/linux_amd64/share/doc/openssl/html/man3/RSA_sign.html index bf5a040..c3d12bc 100755 --- a/linux_amd64/share/doc/openssl/html/man3/RSA_sign.html +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_sign.html @@ -22,7 +22,6 @@
  264. RETURN VALUES
  265. CONFORMING TO
  266. SEE ALSO
  267. -
  268. HISTORY
  269. COPYRIGHT
  270. @@ -41,9 +40,6 @@

    SYNOPSIS

      #include <openssl/rsa.h>
    -

    Deprecated since OpenSSL 3.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

      int RSA_sign(int type, const unsigned char *m, unsigned int m_len,
                   unsigned char *sigret, unsigned int *siglen, RSA *rsa);
    @@ -54,9 +50,6 @@


    DESCRIPTION

    -

    All of the functions described on this page are deprecated. -Applications should instead use EVP_PKEY_sign_init(3), EVP_PKEY_sign(3), -EVP_PKEY_verify_init(3) and EVP_PKEY_verify(3).

    RSA_sign() signs the message digest m of size m_len using the private key rsa using RSASSA-PKCS1-v1_5 as specified in RFC 3447. It stores the signature in sigret and the signature size in siglen. @@ -96,14 +89,9 @@ the message digest algorithm that was used to generate the signature.


    -

    HISTORY

    -

    All of these functions were deprecated in OpenSSL 3.0.

    -

    -

    -

    COPYRIGHT

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_sign_ASN1_OCTET_STRING.html b/linux_amd64/share/doc/openssl/html/man3/RSA_sign_ASN1_OCTET_STRING.html index aba2d19..f80f05f 100755 --- a/linux_amd64/share/doc/openssl/html/man3/RSA_sign_ASN1_OCTET_STRING.html +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_sign_ASN1_OCTET_STRING.html @@ -22,7 +22,6 @@
  271. RETURN VALUES
  272. BUGS
  273. SEE ALSO
  274. -
  275. HISTORY
  276. COPYRIGHT
  277. @@ -41,9 +40,6 @@

    SYNOPSIS

      #include <openssl/rsa.h>
    -

    Deprecated since OpenSSL 3.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

      int RSA_sign_ASN1_OCTET_STRING(int dummy, unsigned char *m,
                                     unsigned int m_len, unsigned char *sigret,
    @@ -56,8 +52,6 @@
     


    DESCRIPTION

    -

    All of the functions described on this page are deprecated. -Applications should instead use EVP PKEY APIs.

    RSA_sign_ASN1_OCTET_STRING() signs the octet string m of size m_len using the private key rsa represented in DER using PKCS #1 padding. It stores the signature in sigret and the signature size @@ -96,14 +90,9 @@ otherwise.


    -

    HISTORY

    -

    All of these functions were deprecated in OpenSSL 3.0.

    -

    -

    -

    COPYRIGHT

    -

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_size.html b/linux_amd64/share/doc/openssl/html/man3/RSA_size.html index 3ad4c58..4951360 100755 --- a/linux_amd64/share/doc/openssl/html/man3/RSA_size.html +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_size.html @@ -40,9 +40,6 @@

    SYNOPSIS

      #include <openssl/rsa.h>
    -

    Deprecated since OpenSSL 3.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

      int RSA_size(const RSA *rsa);
    @@ -53,9 +50,6 @@
     


    DESCRIPTION

    -

    All of the functions described on this page are deprecated. -Applications should instead use EVP_PKEY_size(3), EVP_PKEY_bits(3) -and EVP_PKEY_security_bits(3).

    RSA_size() returns the RSA modulus size in bytes. It can be used to determine how much memory must be allocated for an RSA encrypted value.

    @@ -79,14 +73,13 @@ key. See BN_security_bits(3).


    HISTORY

    -

    All of these functions were deprecated in OpenSSL 3.0.

    The RSA_bits() function was added in OpenSSL 1.1.0.


    COPYRIGHT

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_test_flags.html b/linux_amd64/share/doc/openssl/html/man3/RSA_test_flags.html new file mode 120000 index 0000000..82d5ddf --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_test_flags.html @@ -0,0 +1 @@ +RSA_get0_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_verify.html b/linux_amd64/share/doc/openssl/html/man3/RSA_verify.html new file mode 120000 index 0000000..a88ac39 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_verify.html @@ -0,0 +1 @@ +RSA_sign.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/RSA_verify_ASN1_OCTET_STRING.html b/linux_amd64/share/doc/openssl/html/man3/RSA_verify_ASN1_OCTET_STRING.html new file mode 120000 index 0000000..3637247 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/RSA_verify_ASN1_OCTET_STRING.html @@ -0,0 +1 @@ +RSA_sign_ASN1_OCTET_STRING.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SCRYPT_PARAMS_free.html b/linux_amd64/share/doc/openssl/html/man3/SCRYPT_PARAMS_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SCRYPT_PARAMS_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SCRYPT_PARAMS_new.html b/linux_amd64/share/doc/openssl/html/man3/SCRYPT_PARAMS_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SCRYPT_PARAMS_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SCT_LIST_free.html b/linux_amd64/share/doc/openssl/html/man3/SCT_LIST_free.html new file mode 120000 index 0000000..f2292fd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SCT_LIST_free.html @@ -0,0 +1 @@ +SCT_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SCT_LIST_print.html b/linux_amd64/share/doc/openssl/html/man3/SCT_LIST_print.html new file mode 120000 index 0000000..c7ef133 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SCT_LIST_print.html @@ -0,0 +1 @@ +SCT_print.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SCT_LIST_validate.html b/linux_amd64/share/doc/openssl/html/man3/SCT_LIST_validate.html new file mode 120000 index 0000000..bc2f3e4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SCT_LIST_validate.html @@ -0,0 +1 @@ +SCT_validate.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SCT_free.html b/linux_amd64/share/doc/openssl/html/man3/SCT_free.html new file mode 120000 index 0000000..f2292fd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SCT_free.html @@ -0,0 +1 @@ +SCT_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SCT_get0_extensions.html b/linux_amd64/share/doc/openssl/html/man3/SCT_get0_extensions.html new file mode 120000 index 0000000..f2292fd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SCT_get0_extensions.html @@ -0,0 +1 @@ +SCT_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SCT_get0_log_id.html b/linux_amd64/share/doc/openssl/html/man3/SCT_get0_log_id.html new file mode 120000 index 0000000..f2292fd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SCT_get0_log_id.html @@ -0,0 +1 @@ +SCT_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SCT_get0_signature.html b/linux_amd64/share/doc/openssl/html/man3/SCT_get0_signature.html new file mode 120000 index 0000000..f2292fd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SCT_get0_signature.html @@ -0,0 +1 @@ +SCT_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SCT_get_log_entry_type.html b/linux_amd64/share/doc/openssl/html/man3/SCT_get_log_entry_type.html new file mode 120000 index 0000000..f2292fd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SCT_get_log_entry_type.html @@ -0,0 +1 @@ +SCT_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SCT_get_signature_nid.html b/linux_amd64/share/doc/openssl/html/man3/SCT_get_signature_nid.html new file mode 120000 index 0000000..f2292fd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SCT_get_signature_nid.html @@ -0,0 +1 @@ +SCT_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SCT_get_source.html b/linux_amd64/share/doc/openssl/html/man3/SCT_get_source.html new file mode 120000 index 0000000..f2292fd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SCT_get_source.html @@ -0,0 +1 @@ +SCT_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SCT_get_timestamp.html b/linux_amd64/share/doc/openssl/html/man3/SCT_get_timestamp.html new file mode 120000 index 0000000..f2292fd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SCT_get_timestamp.html @@ -0,0 +1 @@ +SCT_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SCT_get_validation_status.html b/linux_amd64/share/doc/openssl/html/man3/SCT_get_validation_status.html new file mode 120000 index 0000000..bc2f3e4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SCT_get_validation_status.html @@ -0,0 +1 @@ +SCT_validate.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SCT_get_version.html b/linux_amd64/share/doc/openssl/html/man3/SCT_get_version.html new file mode 120000 index 0000000..f2292fd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SCT_get_version.html @@ -0,0 +1 @@ +SCT_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SCT_new.html b/linux_amd64/share/doc/openssl/html/man3/SCT_new.html index 57f4f86..d427eee 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SCT_new.html +++ b/linux_amd64/share/doc/openssl/html/man3/SCT_new.html @@ -133,8 +133,7 @@ it using:

    See RFC 6962, Section 3.2 for the definition of LogID.

  278. -

    SCT_set_timestamp() to set the time the SCT was issued (time in milliseconds -since the Unix Epoch).

    +

    SCT_set_timestamp() to set the time the SCT was issued (epoch time in milliseconds).

  279. SCT_set_signature_nid() to set the NID of the signature.

    @@ -163,7 +162,7 @@ SCT_new_from_base64():

    CT_LOG_ENTRY_TYPE_PRECERT for a pre-certificate.

  280. -

    The time that the SCT was issued (time in milliseconds since the Unix Epoch).

    +

    The time that the SCT was issued (epoch time in milliseconds).

  281. The SCT extensions, base64 encoded.

    @@ -218,7 +217,7 @@ is copied successfully, 0 otherwise (i.e. if malloc fails).


    COPYRIGHT

    Copyright 2016-2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SCT_new_from_base64.html b/linux_amd64/share/doc/openssl/html/man3/SCT_new_from_base64.html new file mode 120000 index 0000000..f2292fd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SCT_new_from_base64.html @@ -0,0 +1 @@ +SCT_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SCT_print.html b/linux_amd64/share/doc/openssl/html/man3/SCT_print.html index 89b778c..ce163b8 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SCT_print.html +++ b/linux_amd64/share/doc/openssl/html/man3/SCT_print.html @@ -50,7 +50,7 @@ Prints Signed Certificate Timestamps in a human-readable way


    DESCRIPTION

    -

    SCT_print() prints a single Signed Certificate Timestamp (SCT) to a BIO in +

    SCT_print() prints a single Signed Certificate Timestamp (SCT) to a the bio manpage in a human-readable format. SCT_LIST_print() prints an entire list of SCTs in a similar way. A separator can be specified to delimit each SCT in the output.

    The output can be indented by a specified number of spaces. If a CTLOG_STORE @@ -84,7 +84,7 @@ the validation status of an SCT object.


    COPYRIGHT

    Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SCT_set0_extensions.html b/linux_amd64/share/doc/openssl/html/man3/SCT_set0_extensions.html new file mode 120000 index 0000000..f2292fd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SCT_set0_extensions.html @@ -0,0 +1 @@ +SCT_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SCT_set0_log_id.html b/linux_amd64/share/doc/openssl/html/man3/SCT_set0_log_id.html new file mode 120000 index 0000000..f2292fd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SCT_set0_log_id.html @@ -0,0 +1 @@ +SCT_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SCT_set0_signature.html b/linux_amd64/share/doc/openssl/html/man3/SCT_set0_signature.html new file mode 120000 index 0000000..f2292fd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SCT_set0_signature.html @@ -0,0 +1 @@ +SCT_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SCT_set1_extensions.html b/linux_amd64/share/doc/openssl/html/man3/SCT_set1_extensions.html new file mode 120000 index 0000000..f2292fd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SCT_set1_extensions.html @@ -0,0 +1 @@ +SCT_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SCT_set1_log_id.html b/linux_amd64/share/doc/openssl/html/man3/SCT_set1_log_id.html new file mode 120000 index 0000000..f2292fd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SCT_set1_log_id.html @@ -0,0 +1 @@ +SCT_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SCT_set1_signature.html b/linux_amd64/share/doc/openssl/html/man3/SCT_set1_signature.html new file mode 120000 index 0000000..f2292fd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SCT_set1_signature.html @@ -0,0 +1 @@ +SCT_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SCT_set_log_entry_type.html b/linux_amd64/share/doc/openssl/html/man3/SCT_set_log_entry_type.html new file mode 120000 index 0000000..f2292fd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SCT_set_log_entry_type.html @@ -0,0 +1 @@ +SCT_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SCT_set_signature_nid.html b/linux_amd64/share/doc/openssl/html/man3/SCT_set_signature_nid.html new file mode 120000 index 0000000..f2292fd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SCT_set_signature_nid.html @@ -0,0 +1 @@ +SCT_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SCT_set_source.html b/linux_amd64/share/doc/openssl/html/man3/SCT_set_source.html new file mode 120000 index 0000000..f2292fd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SCT_set_source.html @@ -0,0 +1 @@ +SCT_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SCT_set_timestamp.html b/linux_amd64/share/doc/openssl/html/man3/SCT_set_timestamp.html new file mode 120000 index 0000000..f2292fd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SCT_set_timestamp.html @@ -0,0 +1 @@ +SCT_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SCT_set_version.html b/linux_amd64/share/doc/openssl/html/man3/SCT_set_version.html new file mode 120000 index 0000000..f2292fd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SCT_set_version.html @@ -0,0 +1 @@ +SCT_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SCT_validate.html b/linux_amd64/share/doc/openssl/html/man3/SCT_validate.html index 291ca0f..1ab2d64 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SCT_validate.html +++ b/linux_amd64/share/doc/openssl/html/man3/SCT_validate.html @@ -121,7 +121,7 @@ returned value will be SCT_VALIDATION_STATUS_NOT_SET.


    COPYRIGHT

    Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SCT_validation_status_string.html b/linux_amd64/share/doc/openssl/html/man3/SCT_validation_status_string.html new file mode 120000 index 0000000..c7ef133 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SCT_validation_status_string.html @@ -0,0 +1 @@ +SCT_print.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SHA1.html b/linux_amd64/share/doc/openssl/html/man3/SHA1.html new file mode 120000 index 0000000..001baab --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SHA1.html @@ -0,0 +1 @@ +SHA256_Init.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SHA1_Final.html b/linux_amd64/share/doc/openssl/html/man3/SHA1_Final.html new file mode 120000 index 0000000..001baab --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SHA1_Final.html @@ -0,0 +1 @@ +SHA256_Init.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SHA1_Init.html b/linux_amd64/share/doc/openssl/html/man3/SHA1_Init.html new file mode 120000 index 0000000..001baab --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SHA1_Init.html @@ -0,0 +1 @@ +SHA256_Init.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SHA1_Update.html b/linux_amd64/share/doc/openssl/html/man3/SHA1_Update.html new file mode 120000 index 0000000..001baab --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SHA1_Update.html @@ -0,0 +1 @@ +SHA256_Init.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SHA224.html b/linux_amd64/share/doc/openssl/html/man3/SHA224.html new file mode 120000 index 0000000..001baab --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SHA224.html @@ -0,0 +1 @@ +SHA256_Init.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SHA224_Final.html b/linux_amd64/share/doc/openssl/html/man3/SHA224_Final.html new file mode 120000 index 0000000..001baab --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SHA224_Final.html @@ -0,0 +1 @@ +SHA256_Init.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SHA224_Init.html b/linux_amd64/share/doc/openssl/html/man3/SHA224_Init.html new file mode 120000 index 0000000..001baab --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SHA224_Init.html @@ -0,0 +1 @@ +SHA256_Init.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SHA224_Update.html b/linux_amd64/share/doc/openssl/html/man3/SHA224_Update.html new file mode 120000 index 0000000..001baab --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SHA224_Update.html @@ -0,0 +1 @@ +SHA256_Init.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SHA256.html b/linux_amd64/share/doc/openssl/html/man3/SHA256.html new file mode 120000 index 0000000..001baab --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SHA256.html @@ -0,0 +1 @@ +SHA256_Init.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SHA256_Final.html b/linux_amd64/share/doc/openssl/html/man3/SHA256_Final.html new file mode 120000 index 0000000..001baab --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SHA256_Final.html @@ -0,0 +1 @@ +SHA256_Init.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SHA256_Init.html b/linux_amd64/share/doc/openssl/html/man3/SHA256_Init.html index 4cf4759..01a284d 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SHA256_Init.html +++ b/linux_amd64/share/doc/openssl/html/man3/SHA256_Init.html @@ -22,7 +22,6 @@
  282. RETURN VALUES
  283. CONFORMING TO
  284. SEE ALSO
  285. -
  286. HISTORY
  287. COPYRIGHT
  288. @@ -44,9 +43,6 @@ SHA512_Final - Secure Hash Algorithm

    SYNOPSIS

      #include <openssl/sha.h>
    -

    Deprecated since OpenSSL 3.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

      int SHA1_Init(SHA_CTX *c);
      int SHA1_Update(SHA_CTX *c, const void *data, size_t len);
    @@ -81,9 +77,9 @@ SHA512_Final - Secure Hash Algorithm


    DESCRIPTION

    -

    All of the functions described on this page are deprecated. -Applications should instead use EVP_DigestInit_ex(3), EVP_DigestUpdate(3) -and EVP_DigestFinal_ex(3).

    +

    Applications should use the higher level functions +EVP_DigestInit(3) etc. instead of calling the hash +functions directly.

    SHA-1 (Secure Hash Algorithm) is a cryptographic hash function with a 160 bit output.

    SHA1() computes the SHA-1 message digest of the n @@ -130,14 +126,9 @@ ANSI X9.30


    -

    HISTORY

    -

    All of these functions were deprecated in OpenSSL 3.0.

    -

    -

    -

    COPYRIGHT

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SHA256_Update.html b/linux_amd64/share/doc/openssl/html/man3/SHA256_Update.html new file mode 120000 index 0000000..001baab --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SHA256_Update.html @@ -0,0 +1 @@ +SHA256_Init.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SHA384.html b/linux_amd64/share/doc/openssl/html/man3/SHA384.html new file mode 120000 index 0000000..001baab --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SHA384.html @@ -0,0 +1 @@ +SHA256_Init.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SHA384_Final.html b/linux_amd64/share/doc/openssl/html/man3/SHA384_Final.html new file mode 120000 index 0000000..001baab --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SHA384_Final.html @@ -0,0 +1 @@ +SHA256_Init.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SHA384_Init.html b/linux_amd64/share/doc/openssl/html/man3/SHA384_Init.html new file mode 120000 index 0000000..001baab --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SHA384_Init.html @@ -0,0 +1 @@ +SHA256_Init.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SHA384_Update.html b/linux_amd64/share/doc/openssl/html/man3/SHA384_Update.html new file mode 120000 index 0000000..001baab --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SHA384_Update.html @@ -0,0 +1 @@ +SHA256_Init.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SHA512.html b/linux_amd64/share/doc/openssl/html/man3/SHA512.html new file mode 120000 index 0000000..001baab --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SHA512.html @@ -0,0 +1 @@ +SHA256_Init.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SHA512_Final.html b/linux_amd64/share/doc/openssl/html/man3/SHA512_Final.html new file mode 120000 index 0000000..001baab --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SHA512_Final.html @@ -0,0 +1 @@ +SHA256_Init.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SHA512_Init.html b/linux_amd64/share/doc/openssl/html/man3/SHA512_Init.html new file mode 120000 index 0000000..001baab --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SHA512_Init.html @@ -0,0 +1 @@ +SHA256_Init.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SHA512_Update.html b/linux_amd64/share/doc/openssl/html/man3/SHA512_Update.html new file mode 120000 index 0000000..001baab --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SHA512_Update.html @@ -0,0 +1 @@ +SHA256_Init.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SMIME_read_CMS.html b/linux_amd64/share/doc/openssl/html/man3/SMIME_read_CMS.html index fb6a579..b6ba0a6 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SMIME_read_CMS.html +++ b/linux_amd64/share/doc/openssl/html/man3/SMIME_read_CMS.html @@ -90,7 +90,7 @@ if an error occurred. The error can be obtained from ERR_get_error(3)

    SEE ALSO

    -

    ERR_get_error(3), +

    ERR_get_error(3), CMS_type(3), SMIME_read_CMS(3), CMS_sign(3), CMS_verify(3), CMS_encrypt(3), CMS_decrypt(3)

    @@ -99,7 +99,7 @@ if an error occurred. The error can be obtained from ERR_get_error(3)

    COPYRIGHT

    Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SMIME_read_PKCS7.html b/linux_amd64/share/doc/openssl/html/man3/SMIME_read_PKCS7.html index 4e052ff..9ef598d 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SMIME_read_PKCS7.html +++ b/linux_amd64/share/doc/openssl/html/man3/SMIME_read_PKCS7.html @@ -102,7 +102,7 @@ if an error occurred. The error can be obtained from ERR_get_error(3)

    COPYRIGHT

    Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SMIME_write_CMS.html b/linux_amd64/share/doc/openssl/html/man3/SMIME_write_CMS.html index ef7bee7..a19dc54 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SMIME_write_CMS.html +++ b/linux_amd64/share/doc/openssl/html/man3/SMIME_write_CMS.html @@ -94,7 +94,7 @@ option to disable this.


    COPYRIGHT

    Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SMIME_write_PKCS7.html b/linux_amd64/share/doc/openssl/html/man3/SMIME_write_PKCS7.html index a43cc65..11e3466 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SMIME_write_PKCS7.html +++ b/linux_amd64/share/doc/openssl/html/man3/SMIME_write_PKCS7.html @@ -95,7 +95,7 @@ should be an option to disable this.


    COPYRIGHT

    Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_description.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_description.html new file mode 120000 index 0000000..f66ae75 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_description.html @@ -0,0 +1 @@ +SSL_CIPHER_get_name.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_find.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_find.html new file mode 120000 index 0000000..f66ae75 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_find.html @@ -0,0 +1 @@ +SSL_CIPHER_get_name.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_get_auth_nid.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_get_auth_nid.html new file mode 120000 index 0000000..f66ae75 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_get_auth_nid.html @@ -0,0 +1 @@ +SSL_CIPHER_get_name.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_get_bits.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_get_bits.html new file mode 120000 index 0000000..f66ae75 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_get_bits.html @@ -0,0 +1 @@ +SSL_CIPHER_get_name.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_get_cipher_nid.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_get_cipher_nid.html new file mode 120000 index 0000000..f66ae75 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_get_cipher_nid.html @@ -0,0 +1 @@ +SSL_CIPHER_get_name.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_get_digest_nid.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_get_digest_nid.html new file mode 120000 index 0000000..f66ae75 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_get_digest_nid.html @@ -0,0 +1 @@ +SSL_CIPHER_get_name.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_get_handshake_digest.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_get_handshake_digest.html new file mode 120000 index 0000000..f66ae75 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_get_handshake_digest.html @@ -0,0 +1 @@ +SSL_CIPHER_get_name.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_get_id.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_get_id.html new file mode 120000 index 0000000..f66ae75 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_get_id.html @@ -0,0 +1 @@ +SSL_CIPHER_get_name.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_get_kx_nid.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_get_kx_nid.html new file mode 120000 index 0000000..f66ae75 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_get_kx_nid.html @@ -0,0 +1 @@ +SSL_CIPHER_get_name.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_get_name.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_get_name.html index 6b96332..e97a303 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_get_name.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_get_name.html @@ -200,7 +200,7 @@ protocol-specific ID.


    SEE ALSO

    ssl(7), SSL_get_current_cipher(3), -SSL_get_ciphers(3), openssl-ciphers(1)

    +SSL_get_ciphers(3), ciphers(1)


    @@ -219,7 +219,7 @@ required to enable this function.


    COPYRIGHT

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_get_protocol_id.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_get_protocol_id.html new file mode 120000 index 0000000..f66ae75 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_get_protocol_id.html @@ -0,0 +1 @@ +SSL_CIPHER_get_name.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_get_version.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_get_version.html new file mode 120000 index 0000000..f66ae75 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_get_version.html @@ -0,0 +1 @@ +SSL_CIPHER_get_name.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_is_aead.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_is_aead.html new file mode 120000 index 0000000..f66ae75 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_is_aead.html @@ -0,0 +1 @@ +SSL_CIPHER_get_name.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_standard_name.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_standard_name.html new file mode 120000 index 0000000..f66ae75 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CIPHER_standard_name.html @@ -0,0 +1 @@ +SSL_CIPHER_get_name.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_COMP_add_compression_method.html b/linux_amd64/share/doc/openssl/html/man3/SSL_COMP_add_compression_method.html index 0d2ddb3..8b465f8 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_COMP_add_compression_method.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_COMP_add_compression_method.html @@ -48,11 +48,11 @@ SSL_COMP_get0_name, SSL_COMP_get_id, SSL_COMP_free_compression_methods STACK_OF(SSL_COMP) *SSL_COMP_get_compression_methods(void); const char *SSL_COMP_get0_name(const SSL_COMP *comp); int SSL_COMP_get_id(const SSL_COMP *comp);
    -

    Deprecated since OpenSSL 1.1.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

    +

    Deprecated:

    - void SSL_COMP_free_compression_methods(void)
    + #if OPENSSL_API_COMPAT < 0x10100000L + void SSL_COMP_free_compression_methods(void) + #endif


    @@ -122,7 +122,7 @@ The SSL_COMP_get0_name() and SSL_comp_get_id() functions were added

    COPYRIGHT

    Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_COMP_free_compression_methods.html b/linux_amd64/share/doc/openssl/html/man3/SSL_COMP_free_compression_methods.html new file mode 120000 index 0000000..e1e585c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_COMP_free_compression_methods.html @@ -0,0 +1 @@ +SSL_COMP_add_compression_method.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_COMP_get0_name.html b/linux_amd64/share/doc/openssl/html/man3/SSL_COMP_get0_name.html new file mode 120000 index 0000000..e1e585c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_COMP_get0_name.html @@ -0,0 +1 @@ +SSL_COMP_add_compression_method.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_COMP_get_compression_methods.html b/linux_amd64/share/doc/openssl/html/man3/SSL_COMP_get_compression_methods.html new file mode 120000 index 0000000..e1e585c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_COMP_get_compression_methods.html @@ -0,0 +1 @@ +SSL_COMP_add_compression_method.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_COMP_get_id.html b/linux_amd64/share/doc/openssl/html/man3/SSL_COMP_get_id.html new file mode 120000 index 0000000..e1e585c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_COMP_get_id.html @@ -0,0 +1 @@ +SSL_COMP_add_compression_method.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CONF_CTX_clear_flags.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CONF_CTX_clear_flags.html new file mode 120000 index 0000000..41482fd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CONF_CTX_clear_flags.html @@ -0,0 +1 @@ +SSL_CONF_CTX_set_flags.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CONF_CTX_free.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CONF_CTX_free.html new file mode 120000 index 0000000..fe6f38e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CONF_CTX_free.html @@ -0,0 +1 @@ +SSL_CONF_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CONF_CTX_new.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CONF_CTX_new.html index fc5f29e..6fbb247 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CONF_CTX_new.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CONF_CTX_new.html @@ -62,8 +62,7 @@ or NULL if an error occurs.


    SEE ALSO

    -

    ssl(7), -SSL_CONF_CTX_set_flags(3), +

    SSL_CONF_CTX_set_flags(3), SSL_CONF_CTX_set_ssl_ctx(3), SSL_CONF_CTX_set1_prefix(3), SSL_CONF_cmd(3), @@ -78,7 +77,7 @@ or NULL if an error occurs.


    COPYRIGHT

    Copyright 2012-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CONF_CTX_set1_prefix.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CONF_CTX_set1_prefix.html index 2bf6739..30cb7a7 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CONF_CTX_set1_prefix.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CONF_CTX_set1_prefix.html @@ -72,8 +72,7 @@ insensitive and no prefix is the default.


    SEE ALSO

    -

    ssl(7), -SSL_CONF_CTX_new(3), +

    SSL_CONF_CTX_new(3), SSL_CONF_CTX_set_flags(3), SSL_CONF_CTX_set_ssl_ctx(3), SSL_CONF_cmd(3), @@ -88,7 +87,7 @@ insensitive and no prefix is the default.


    COPYRIGHT

    Copyright 2012-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CONF_CTX_set_flags.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CONF_CTX_set_flags.html index 7d16045..748fe2f 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CONF_CTX_set_flags.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CONF_CTX_set_flags.html @@ -101,8 +101,7 @@ value after setting or clearing flags.


    SEE ALSO

    -

    ssl(7), -SSL_CONF_CTX_new(3), +

    SSL_CONF_CTX_new(3), SSL_CONF_CTX_set_ssl_ctx(3), SSL_CONF_CTX_set1_prefix(3), SSL_CONF_cmd(3), @@ -117,7 +116,7 @@ value after setting or clearing flags.


    COPYRIGHT

    Copyright 2012-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CONF_CTX_set_ssl.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CONF_CTX_set_ssl.html new file mode 120000 index 0000000..0617550 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CONF_CTX_set_ssl.html @@ -0,0 +1 @@ +SSL_CONF_CTX_set_ssl_ctx.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CONF_CTX_set_ssl_ctx.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CONF_CTX_set_ssl_ctx.html index db65ce7..52ec8f0 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CONF_CTX_set_ssl_ctx.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CONF_CTX_set_ssl_ctx.html @@ -71,8 +71,7 @@ syntax checking of commands is performed, where possible.


    SEE ALSO

    -

    ssl(7), -SSL_CONF_CTX_new(3), +

    SSL_CONF_CTX_new(3), SSL_CONF_CTX_set_flags(3), SSL_CONF_CTX_set1_prefix(3), SSL_CONF_cmd(3), @@ -87,7 +86,7 @@ syntax checking of commands is performed, where possible.


    COPYRIGHT

    Copyright 2012-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CONF_cmd.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CONF_cmd.html index a5a2deb..c4d32c6 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CONF_cmd.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CONF_cmd.html @@ -20,11 +20,6 @@
  289. SYNOPSIS
  290. DESCRIPTION
  291. SUPPORTED COMMAND LINE COMMANDS
  292. - -
  293. SUPPORTED CONFIGURATION FILE COMMANDS
  294. SUPPORTED COMMAND TYPES
  295. NOTES
  296. @@ -52,39 +47,171 @@ SSL_CONF_cmd - send configuration command

      #include <openssl/ssl.h>
    - int SSL_CONF_cmd(SSL_CONF_CTX *ctx, const char *option, const char *value);
    - int SSL_CONF_cmd_value_type(SSL_CONF_CTX *ctx, const char *option);
    + int SSL_CONF_cmd(SSL_CONF_CTX *cctx, const char *cmd, const char *value); + int SSL_CONF_cmd_value_type(SSL_CONF_CTX *cctx, const char *cmd);


    DESCRIPTION

    -

    The function SSL_CONF_cmd() performs configuration operation option with +

    The function SSL_CONF_cmd() performs configuration operation cmd with optional parameter value on ctx. Its purpose is to simplify application configuration of SSL_CTX or SSL structures by providing a common framework for command line options or configuration files.

    -

    SSL_CONF_cmd_value_type() returns the type of value that option refers to.

    +

    SSL_CONF_cmd_value_type() returns the type of value that cmd refers to.


    SUPPORTED COMMAND LINE COMMANDS

    -

    Currently supported option names for command lines (i.e. when the -flag SSL_CONF_CMDLINE is set) are listed below. Note: all option names +

    Currently supported cmd names for command lines (i.e. when the +flag SSL_CONF_CMDLINE is set) are listed below. Note: all cmd names are case sensitive. Unless otherwise stated commands can be used by both clients and servers and the value parameter is not used. The default prefix for command line commands is - and that is reflected below.

    +
    -sigalgs
    + +
    +

    This sets the supported signature algorithms for TLSv1.2 and TLSv1.3. +For clients this +value is used directly for the supported signature algorithms extension. For +servers it is used to determine which signature algorithms to support.

    +

    The value argument should be a colon separated list of signature algorithms +in order of decreasing preference of the form algorithm+hash or +signature_scheme. algorithm +is one of RSA, DSA or ECDSA and hash is a supported algorithm +OID short name such as SHA1, SHA224, SHA256, SHA384 of SHA512. +Note: algorithm and hash names are case sensitive. +signature_scheme is one of the signature schemes defined in TLSv1.3, +specified using the IETF name, e.g., ecdsa_secp256r1_sha256, ed25519, +or rsa_pss_pss_sha256.

    +

    If this option is not set then all signature algorithms supported by the +OpenSSL library are permissible.

    +

    Note: algorithms which specify a PKCS#1 v1.5 signature scheme (either by +using RSA as the algorithm or by using one of the rsa_pkcs1_* +identifiers) are ignored in TLSv1.3 and will not be negotiated.

    +
    +
    -client_sigalgs
    + +
    +

    This sets the supported signature algorithms associated with client +authentication for TLSv1.2 and TLSv1.3. +For servers the value is used in the +signature_algorithms field of a CertificateRequest message. +For clients it is +used to determine which signature algorithm to use with the client certificate. +If a server does not request a certificate this option has no effect.

    +

    The syntax of value is identical to -sigalgs. If not set then +the value set for -sigalgs will be used instead.

    +
    +
    -groups
    + +
    +

    This sets the supported groups. For clients, the groups are +sent using the supported groups extension. For servers, it is used +to determine which group to use. This setting affects groups used for +signatures (in TLSv1.2 and earlier) and key exchange. The first group listed +will also be used for the key_share sent by a client in a TLSv1.3 +ClientHello.

    +

    The value argument is a colon separated list of groups. The group can be +either the NIST name (e.g. P-256), some other commonly used name where +applicable (e.g. X25519) or an OpenSSL OID name (e.g prime256v1). Group +names are case sensitive. The list should be in order of preference with the +most preferred group first.

    +
    +
    -curves
    + +
    +

    This is a synonym for the "-groups" command.

    +
    +
    -named_curve
    + +
    +

    This sets the temporary curve used for ephemeral ECDH modes. Only used by +servers

    +

    The value argument is a curve name or the special value auto which +picks an appropriate curve based on client and server preferences. The curve +can be either the NIST name (e.g. P-256) or an OpenSSL OID name +(e.g prime256v1). Curve names are case sensitive.

    +
    +
    -cipher
    + +
    +

    Sets the TLSv1.2 and below ciphersuite list to value. This list will be +combined with any configured TLSv1.3 ciphersuites. Note: syntax checking +of value is currently not performed unless a SSL or SSL_CTX structure is +associated with cctx.

    +
    +
    -ciphersuites
    + +
    +

    Sets the available ciphersuites for TLSv1.3 to value. This is a simple colon +(":") separated list of TLSv1.3 ciphersuite names in order of preference. This +list will be combined any configured TLSv1.2 and below ciphersuites. +See ciphers(1) for more information.

    +
    +
    -cert
    + +
    +

    Attempts to use the file value as the certificate for the appropriate +context. It currently uses SSL_CTX_use_certificate_chain_file() if an SSL_CTX +structure is set or SSL_use_certificate_file() with filetype PEM if an SSL +structure is set. This option is only supported if certificate operations +are permitted.

    +
    +
    -key
    + +
    +

    Attempts to use the file value as the private key for the appropriate +context. This option is only supported if certificate operations +are permitted. Note: if no -key option is set then a private key is +not loaded unless the flag SSL_CONF_FLAG_REQUIRE_PRIVATE is set.

    +
    +
    -dhparam
    + +
    +

    Attempts to use the file value as the set of temporary DH parameters for +the appropriate context. This option is only supported if certificate +operations are permitted.

    +
    +
    -record_padding
    + +
    +

    Attempts to pad TLSv1.3 records so that they are a multiple of value in +length on send. A value of 0 or 1 turns off padding. Otherwise, the +value must be >1 or <=16384.

    +
    +
    -no_renegotiation
    + +
    +

    Disables all attempts at renegotiation in TLSv1.2 and earlier, same as setting +SSL_OP_NO_RENEGOTIATION.

    +
    +
    -min_protocol, -max_protocol
    + +
    +

    Sets the minimum and maximum supported protocol. +Currently supported protocol values are SSLv3, TLSv1, +TLSv1.1, TLSv1.2, TLSv1.3 for TLS and DTLSv1, DTLSv1.2 for DTLS, +and None for no limit. +If either bound is not specified then only the other bound applies, +if specified. +To restrict the supported protocol versions use these commands rather +than the deprecated alternative commands below.

    +
    +
    -no_ssl3, -no_tls1, -no_tls1_1, -no_tls1_2, -no_tls1_3
    + +
    +

    Disables protocol support for SSLv3, TLSv1.0, TLSv1.1, TLSv1.2 or TLSv1.3 by +setting the corresponding options SSL_OP_NO_SSLv3, SSL_OP_NO_TLSv1, +SSL_OP_NO_TLSv1_1, SSL_OP_NO_TLSv1_2 and SSL_OP_NO_TLSv1_3 +respectively. These options are deprecated, instead use -min_protocol and +-max_protocol.

    +
    -bugs

    Various bug workarounds are set, same as setting SSL_OP_ALL.

    -
    -no_comp
    - -
    -

    Disables support for SSL/TLS compression, same as setting -SSL_OP_NO_COMPRESSION. -As of OpenSSL 1.1.0, compression is off by default.

    -
    -comp
    @@ -93,6 +220,13 @@ As of OpenSSL 1.1.0, compression is off by default.

    This command was introduced in OpenSSL 1.1.0. As of OpenSSL 1.1.0, compression is off by default.

    +
    -no_comp
    + +
    +

    Disables support for SSL/TLS compression, same as setting +SSL_OP_NO_COMPRESSION. +As of OpenSSL 1.1.0, compression is off by default.

    +
    -no_ticket
    @@ -105,30 +239,6 @@ As of OpenSSL 1.1.0, compression is off by default.

    signature algorithm or elliptic curve to use for an incoming connection. Equivalent to SSL_OP_CIPHER_SERVER_PREFERENCE. Only used by servers.

    -
    -legacyrenegotiation
    - -
    -

    permits the use of unsafe legacy renegotiation. Equivalent to setting -SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION.

    -
    -
    -no_renegotiation
    - -
    -

    Disables all attempts at renegotiation in TLSv1.2 and earlier, same as setting -SSL_OP_NO_RENEGOTIATION.

    -
    -
    -no_resumption_on_reneg
    - -
    -

    set SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION flag. Only used by servers.

    -
    -
    -legacy_server_connect, -no_legacy_server_connect
    - -
    -

    permits or prohibits the use of unsafe legacy renegotiation for OpenSSL -clients only. Equivalent to setting or clearing SSL_OP_LEGACY_SERVER_CONNECT. -Set by default.

    -
    -prioritize_chacha
    @@ -137,6 +247,24 @@ its preference list. This usually indicates a client without AES hardware acceleration (e.g. mobile) is in use. Equivalent to SSL_OP_PRIORITIZE_CHACHA. Only used by servers. Requires -serverpref.

    +
    -no_resumption_on_reneg
    + +
    +

    set SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION flag. Only used by servers.

    +
    +
    -legacyrenegotiation
    + +
    +

    permits the use of unsafe legacy renegotiation. Equivalent to setting +SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION.

    +
    +
    -legacy_server_connect, -no_legacy_server_connect
    + +
    +

    permits or prohibits the use of unsafe legacy renegotiation for OpenSSL +clients only. Equivalent to setting or clearing SSL_OP_LEGACY_SERVER_CONNECT. +Set by default.

    +
    -allow_no_dhe_kex
    @@ -149,154 +277,6 @@ that there will be no forward secrecy for the resumed session.

    enables strict mode protocol handling. Equivalent to setting SSL_CERT_FLAG_TLS_STRICT.

    -
    -sigalgs algs
    - -
    -

    This sets the supported signature algorithms for TLSv1.2 and TLSv1.3. -For clients this value is used directly for the supported signature -algorithms extension. For servers it is used to determine which signature -algorithms to support.

    -

    The algs argument should be a colon separated list of signature -algorithms in order of decreasing preference of the form algorithm+hash -or signature_scheme. algorithm is one of RSA, DSA or ECDSA and -hash is a supported algorithm OID short name such as SHA1, SHA224, -SHA256, SHA384 of SHA512. Note: algorithm and hash names are case -sensitive. signature_scheme is one of the signature schemes defined in -TLSv1.3, specified using the IETF name, e.g., ecdsa_secp256r1_sha256, -ed25519, or rsa_pss_pss_sha256.

    -

    If this option is not set then all signature algorithms supported by the -OpenSSL library are permissible.

    -

    Note: algorithms which specify a PKCS#1 v1.5 signature scheme (either by -using RSA as the algorithm or by using one of the rsa_pkcs1_* -identifiers) are ignored in TLSv1.3 and will not be negotiated.

    -
    -
    -client_sigalgs algs
    - -
    -

    This sets the supported signature algorithms associated with client -authentication for TLSv1.2 and TLSv1.3. For servers the algs is used -in the signature_algorithms field of a CertificateRequest message. -For clients it is used to determine which signature algorithm to use with -the client certificate. If a server does not request a certificate this -option has no effect.

    -

    The syntax of algs is identical to -sigalgs. If not set, then the -value set for -sigalgs will be used instead.

    -
    -
    -groups groups
    - -
    -

    This sets the supported groups. For clients, the groups are sent using -the supported groups extension. For servers, it is used to determine which -group to use. This setting affects groups used for signatures (in TLSv1.2 -and earlier) and key exchange. The first group listed will also be used -for the key_share sent by a client in a TLSv1.3 ClientHello.

    -

    The groups argument is a colon separated list of groups. The group can -be either the NIST name (e.g. P-256), some other commonly used name -where applicable (e.g. X25519, ffdhe2048) or an OpenSSL OID name -(e.g prime256v1). Group names are case sensitive. The list should be -in order of preference with the most preferred group first.

    -

    Currently supported groups for TLSv1.3 are P-256, P-384, P-521, -X25519, X448, ffdhe2048, ffdhe3072, ffdhe4096, ffdhe6144, -ffdhe8192.

    -
    -
    -curves groups
    - -
    -

    This is a synonym for the -groups command.

    -
    -
    -named_curve curve
    - -
    -

    This sets the temporary curve used for ephemeral ECDH modes. Only used -by servers.

    -

    The groups argument is a curve name or the special value auto which -picks an appropriate curve based on client and server preferences. The -curve can be either the NIST name (e.g. P-256) or an OpenSSL OID name -(e.g prime256v1). Curve names are case sensitive.

    -
    -
    -cipher ciphers
    - -
    -

    Sets the TLSv1.2 and below ciphersuite list to ciphers. This list will be -combined with any configured TLSv1.3 ciphersuites. Note: syntax checking -of ciphers is currently not performed unless a SSL or SSL_CTX -structure is associated with ctx.

    -
    -
    -ciphersuites 1.3ciphers
    - -
    -

    Sets the available ciphersuites for TLSv1.3 to value. This is a -colon-separated list of TLSv1.3 ciphersuite names in order of preference. This -list will be combined any configured TLSv1.2 and below ciphersuites. -See openssl-ciphers(1) for more information.

    -
    -
    -min_protocol minprot, -max_protocol maxprot
    - -
    -

    Sets the minimum and maximum supported protocol. Currently supported -protocol values are SSLv3, TLSv1, TLSv1.1, TLSv1.2, TLSv1.3 -for TLS and DTLSv1, DTLSv1.2 for DTLS, and None for no limit. -If either bound is not specified then only the other bound applies, -if specified. To restrict the supported protocol versions use these -commands rather than the deprecated alternative commands below.

    -
    -
    -record_padding padding
    - -
    -

    Attempts to pad TLSv1.3 records so that they are a multiple of padding -in length on send. A padding of 0 or 1 turns off padding. Otherwise, -the padding must be >1 or <=16384.

    -
    -
    -debug_broken_protocol
    - -
    -

    Ignored.

    -
    -
    -no_middlebox
    - -
    -

    Turn off "middlebox compatibility", as described below.

    -
    -
    -

    -

    -

    Additional Options

    -

    The following options are accepted by SSL_CONF_cmd(), but are not -processed by the OpenSSL commands.

    -
    -
    -cert file
    - -
    -

    Attempts to use file as the certificate for the appropriate context. It -currently uses SSL_CTX_use_certificate_chain_file() if an SSL_CTX -structure is set or SSL_use_certificate_file() with filetype PEM if an -SSL structure is set. This option is only supported if certificate -operations are permitted.

    -
    -
    -key file
    - -
    -

    Attempts to use file as the private key for the appropriate context. This -option is only supported if certificate operations are permitted. Note: -if no -key option is set then a private key is not loaded unless the -flag SSL_CONF_FLAG_REQUIRE_PRIVATE is set.

    -
    -
    -dhparam file
    - -
    -

    Attempts to use file as the set of temporary DH parameters for -the appropriate context. This option is only supported if certificate -operations are permitted.

    -
    -
    -no_ssl3, -no_tls1, -no_tls1_1, -no_tls1_2, -no_tls1_3
    - -
    -

    Disables protocol support for SSLv3, TLSv1.0, TLSv1.1, TLSv1.2 or TLSv1.3 by -setting the corresponding options SSL_OP_NO_SSLv3, SSL_OP_NO_TLSv1, -SSL_OP_NO_TLSv1_1, SSL_OP_NO_TLSv1_2 and SSL_OP_NO_TLSv1_3 -respectively. These options are deprecated, use -min_protocol and --max_protocol instead.

    -
    -anti_replay, -no_anti_replay
    @@ -315,12 +295,12 @@ required. Switching off anti-replay is equivalent to SSL_OP_NO_ANTI_REPL


    SUPPORTED CONFIGURATION FILE COMMANDS

    -

    Currently supported option names for configuration files (i.e., when the +

    Currently supported cmd names for configuration files (i.e. when the flag SSL_CONF_FLAG_FILE is set) are listed below. All configuration file -option names are case insensitive so signaturealgorithms is recognised +cmd names are case insensitive so signaturealgorithms is recognised as well as SignatureAlgorithms. Unless otherwise stated the value names are also case insensitive.

    -

    Note: the command prefix (if set) alters the recognised option values.

    +

    Note: the command prefix (if set) alters the recognised cmd values.

    CipherString
    @@ -328,15 +308,15 @@ are also case insensitive.

    Sets the ciphersuite list for TLSv1.2 and below to value. This list will be combined with any configured TLSv1.3 ciphersuites. Note: syntax checking of value is currently not performed unless an SSL or SSL_CTX -structure is associated with ctx.

    +structure is associated with cctx.

    Ciphersuites
    -

    Sets the available ciphersuites for TLSv1.3 to value. This is a -colon-separated list of TLSv1.3 ciphersuite names in order of preference. This +

    Sets the available ciphersuites for TLSv1.3 to value. This is a simple colon +(":") separated list of TLSv1.3 ciphersuite names in order of preference. This list will be combined any configured TLSv1.2 and below ciphersuites. -See openssl-ciphers(1) for more information.

    +See ciphers(1) for more information.

    Certificate
    @@ -437,12 +417,9 @@ will also be used for the key_share sent by a client in a TLSv1 ClientHello.

    The value argument is a colon separated list of groups. The group can be either the NIST name (e.g. P-256), some other commonly used name where -applicable (e.g. X25519, ffdhe2048) or an OpenSSL OID name -(e.g prime256v1). Group names are case sensitive. The list should be in -order of preference with the most preferred group first.

    -

    Currently supported groups for TLSv1.3 are P-256, P-384, P-521, -X25519, X448, ffdhe2048, ffdhe3072, ffdhe4096, ffdhe6144, -ffdhe8192.

    +applicable (e.g. X25519) or an OpenSSL OID name (e.g prime256v1). Group +names are case sensitive. The list should be in order of preference with the +most preferred group first.

    Curves
    @@ -548,9 +525,6 @@ servers. Anti-replay measures are required to comply with the TLSv1.3 specification. Some applications may be able to mitigate the replay risks in other ways and in such cases the built-in OpenSSL functionality is not required. Disabling anti-replay is equivalent to setting SSL_OP_NO_ANTI_REPLAY.

    -

    ExtendedMasterSecret: use extended master secret extension, enabled by -default. Inverse of SSL_OP_NO_EXTENDED_MASTER_SECRET: that is, --ExtendedMasterSecret is the same as setting SSL_OP_NO_EXTENDED_MASTER_SECRET.

    VerifyMode
    @@ -592,7 +566,7 @@ types:

    SSL_CONF_TYPE_UNKNOWN
    -

    The option string is unrecognised, this return value can be use to flag +

    The cmd string is unrecognised, this return value can be use to flag syntax errors.

    SSL_CONF_TYPE_STRING
    @@ -603,7 +577,7 @@ syntax errors.

    SSL_CONF_TYPE_FILE
    -

    The value is a filename.

    +

    The value is a file name.

    SSL_CONF_TYPE_DIR
    @@ -634,7 +608,7 @@ however the call sequence is:

    SSLv3 is always disabled and attempt to override this by the user are ignored.

    By checking the return code of SSL_CONF_cmd() it is possible to query if a -given option is recognised, this is useful if SSL_CONF_cmd() values are +given cmd is recognised, this is useful if SSL_CONF_cmd() values are mixed with additional application specific operations.

    For example an application might call SSL_CONF_cmd() and if it returns -2 (unrecognised command) continue with processing of application specific @@ -642,11 +616,11 @@ commands.

    Applications can also use SSL_CONF_cmd() to process command lines though the utility function SSL_CONF_cmd_argv() is normally used instead. One way to do this is to set the prefix to an appropriate value using -SSL_CONF_CTX_set1_prefix(), pass the current argument to option and the +SSL_CONF_CTX_set1_prefix(), pass the current argument to cmd and the following argument to value (which may be NULL).

    In this case if the return value is positive then it is used to skip that number of arguments as they have been processed by SSL_CONF_cmd(). If -2 is -returned then option is not recognised and application specific arguments +returned then cmd is not recognised and application specific arguments can be checked instead. If -3 is returned a required argument is missing and an error is indicated. If 0 is returned some other error occurred and this can be reported back to the user.

    @@ -659,14 +633,14 @@ pathname to an absolute pathname.


    RETURN VALUES

    -

    SSL_CONF_cmd() returns 1 if the value of option is recognised and value is -NOT used and 2 if both option and value are used. In other words it +

    SSL_CONF_cmd() returns 1 if the value of cmd is recognised and value is +NOT used and 2 if both cmd and value are used. In other words it returns the number of arguments processed. This is useful when processing command lines.

    -

    A return value of -2 means option is not recognised.

    -

    A return value of -3 means option is recognised and the command requires a +

    A return value of -2 means cmd is not recognised.

    +

    A return value of -3 means cmd is recognised and the command requires a value but value is NULL.

    -

    A return code of 0 indicates that both option and value are valid but an +

    A return code of 0 indicates that both cmd and value are valid but an error occurred attempting to perform the operation: for example due to an error in the syntax of value in this case the error queue may provide additional information.

    @@ -712,8 +686,7 @@ disabling SSLv3.


    SEE ALSO

    -

    ssl(7), -SSL_CONF_CTX_new(3), +

    SSL_CONF_CTX_new(3), SSL_CONF_CTX_set_flags(3), SSL_CONF_CTX_set1_prefix(3), SSL_CONF_CTX_set_ssl_ctx(3), @@ -735,8 +708,8 @@ OpenSSL passing a command which didn't take an argument would return


    COPYRIGHT

    -

    Copyright 2012-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2012-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CONF_cmd_argv.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CONF_cmd_argv.html index 967643b..cfa6c94 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CONF_cmd_argv.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CONF_cmd_argv.html @@ -63,8 +63,7 @@ to an error: for example a syntax error in the argument.


    SEE ALSO

    -

    ssl(7), -SSL_CONF_CTX_new(3), +

    SSL_CONF_CTX_new(3), SSL_CONF_CTX_set_flags(3), SSL_CONF_CTX_set1_prefix(3), SSL_CONF_CTX_set_ssl_ctx(3), @@ -79,7 +78,7 @@ to an error: for example a syntax error in the argument.


    COPYRIGHT

    Copyright 2012-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CONF_cmd_value_type.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CONF_cmd_value_type.html new file mode 120000 index 0000000..f319b90 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CONF_cmd_value_type.html @@ -0,0 +1 @@ +SSL_CONF_cmd.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_add0_chain_cert.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_add0_chain_cert.html new file mode 120000 index 0000000..ac5ec15 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_add0_chain_cert.html @@ -0,0 +1 @@ +SSL_CTX_add1_chain_cert.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_add1_chain_cert.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_add1_chain_cert.html index 08cca29..95d6514 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_add1_chain_cert.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_add1_chain_cert.html @@ -160,8 +160,7 @@ a verification error occurs then 2 is returned.


    SEE ALSO

    -

    ssl(7), -SSL_CTX_add_extra_chain_cert(3)

    +

    SSL_CTX_add_extra_chain_cert(3)


    @@ -172,7 +171,7 @@ a verification error occurs then 2 is returned.


    COPYRIGHT

    Copyright 2013-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_add1_to_CA_list.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_add1_to_CA_list.html new file mode 120000 index 0000000..98fbbb4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_add1_to_CA_list.html @@ -0,0 +1 @@ +SSL_CTX_set0_CA_list.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_add_client_CA.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_add_client_CA.html new file mode 120000 index 0000000..98fbbb4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_add_client_CA.html @@ -0,0 +1 @@ +SSL_CTX_set0_CA_list.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_add_client_custom_ext.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_add_client_custom_ext.html new file mode 120000 index 0000000..b90842b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_add_client_custom_ext.html @@ -0,0 +1 @@ +SSL_extension_supported.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_add_custom_ext.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_add_custom_ext.html new file mode 120000 index 0000000..b90842b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_add_custom_ext.html @@ -0,0 +1 @@ +SSL_extension_supported.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_add_extra_chain_cert.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_add_extra_chain_cert.html index b87569c..3f3b5bc 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_add_extra_chain_cert.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_add_extra_chain_cert.html @@ -34,11 +34,8 @@


    NAME

    -

    SSL_CTX_add_extra_chain_cert, -SSL_CTX_get_extra_chain_certs, -SSL_CTX_get_extra_chain_certs_only, -SSL_CTX_clear_extra_chain_certs -- add, get or clear extra chain certificates

    +

    SSL_CTX_add_extra_chain_cert, SSL_CTX_clear_extra_chain_certs - add or clear +extra chain certificates


    @@ -47,8 +44,6 @@ SSL_CTX_clear_extra_chain_certs #include <openssl/ssl.h>
      long SSL_CTX_add_extra_chain_cert(SSL_CTX *ctx, X509 *x509);
    - long SSL_CTX_get_extra_chain_certs(SSL_CTX *ctx, STACK_OF(X509) **sk);
    - long SSL_CTX_get_extra_chain_certs_only(SSL_CTX *ctx, STACK_OF(X509) **sk);
      long SSL_CTX_clear_extra_chain_certs(SSL_CTX *ctx);

    @@ -57,13 +52,6 @@ SSL_CTX_clear_extra_chain_certs

    SSL_CTX_add_extra_chain_cert() adds the certificate x509 to the extra chain certificates associated with ctx. Several certificates can be added one after another.

    -

    SSL_CTX_get_extra_chain_certs() retrieves the extra chain certificates -associated with ctx, or the chain associated with the current certificate -of ctx if the extra chain is empty. -The returned stack should not be freed by the caller.

    -

    SSL_CTX_get_extra_chain_certs_only() retrieves the extra chain certificates -associated with ctx. -The returned stack should not be freed by the caller.

    SSL_CTX_clear_extra_chain_certs() clears all extra chain certificates associated with ctx.

    These functions are implemented as macros.

    @@ -118,8 +106,8 @@ reason for failure.


    COPYRIGHT

    -

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_add_server_custom_ext.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_add_server_custom_ext.html new file mode 120000 index 0000000..b90842b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_add_server_custom_ext.html @@ -0,0 +1 @@ +SSL_extension_supported.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_add_session.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_add_session.html index 7a74d36..e128146 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_add_session.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_add_session.html @@ -99,7 +99,7 @@ session was not found in the cache.


    COPYRIGHT

    Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_build_cert_chain.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_build_cert_chain.html new file mode 120000 index 0000000..ac5ec15 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_build_cert_chain.html @@ -0,0 +1 @@ +SSL_CTX_add1_chain_cert.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_callback_ctrl.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_callback_ctrl.html new file mode 120000 index 0000000..fe643c8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_callback_ctrl.html @@ -0,0 +1 @@ +SSL_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_check_private_key.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_check_private_key.html new file mode 120000 index 0000000..f60d0ce --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_check_private_key.html @@ -0,0 +1 @@ +SSL_CTX_use_certificate.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_clear_chain_certs.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_clear_chain_certs.html new file mode 120000 index 0000000..ac5ec15 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_clear_chain_certs.html @@ -0,0 +1 @@ +SSL_CTX_add1_chain_cert.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_clear_extra_chain_certs.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_clear_extra_chain_certs.html new file mode 120000 index 0000000..317d9b7 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_clear_extra_chain_certs.html @@ -0,0 +1 @@ +SSL_CTX_add_extra_chain_cert.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_clear_mode.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_clear_mode.html new file mode 120000 index 0000000..59ce589 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_clear_mode.html @@ -0,0 +1 @@ +SSL_CTX_set_mode.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_clear_options.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_clear_options.html new file mode 120000 index 0000000..2b3c746 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_clear_options.html @@ -0,0 +1 @@ +SSL_CTX_set_options.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_config.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_config.html index 279bc15..1669e73 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_config.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_config.html @@ -108,8 +108,7 @@ the need for any additional application code.


    SEE ALSO

    -

    ssl(7), -config(5), +

    config(5), SSL_CONF_cmd(3), CONF_modules_load_file(3)

    @@ -121,8 +120,8 @@ the need for any additional application code.


    COPYRIGHT

    -

    Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2015-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_ct_is_enabled.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_ct_is_enabled.html new file mode 120000 index 0000000..a04d25c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_ct_is_enabled.html @@ -0,0 +1 @@ +SSL_CTX_set_ct_validation_callback.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_ctrl.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_ctrl.html index db77f68..2030ff4 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_ctrl.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_ctrl.html @@ -70,7 +70,7 @@ supplied via the cmd parameter.


    COPYRIGHT

    Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_dane_clear_flags.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_dane_clear_flags.html new file mode 120000 index 0000000..4aae135 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_dane_clear_flags.html @@ -0,0 +1 @@ +SSL_CTX_dane_enable.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_dane_enable.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_dane_enable.html index f05c3fb..acade4f 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_dane_enable.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_dane_enable.html @@ -159,7 +159,7 @@ Applications that need long-term access to this field need to copy the content.< optional DANE verification features. SSL_CTX_dane_clear_flags() and SSL_dane_clear_flags() can be used to disable the same features. -The flags argument is a bit-mask of the features to enable or disable. +The flags argument is a bitmask of the features to enable or disable. The flags set for an SSL_CTX context are copied to each SSL handle associated with that context at the time the handle is created. Subsequent changes in the context's flags have no effect on the flags set @@ -370,8 +370,7 @@ or unsupported parameters) disable peer authentication by calling


    SEE ALSO

    -

    ssl(7), -SSL_new(3), +

    SSL_new(3), SSL_add1_host(3), SSL_set_hostflags(3), SSL_set_tlsext_host_name(3), @@ -397,8 +396,8 @@ or unsupported parameters) disable peer authentication by calling


    COPYRIGHT

    -

    Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_dane_mtype_set.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_dane_mtype_set.html new file mode 120000 index 0000000..4aae135 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_dane_mtype_set.html @@ -0,0 +1 @@ +SSL_CTX_dane_enable.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_dane_set_flags.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_dane_set_flags.html new file mode 120000 index 0000000..4aae135 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_dane_set_flags.html @@ -0,0 +1 @@ +SSL_CTX_dane_enable.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_decrypt_session_ticket_fn.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_decrypt_session_ticket_fn.html new file mode 120000 index 0000000..0bbb46f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_decrypt_session_ticket_fn.html @@ -0,0 +1 @@ +SSL_CTX_set_session_ticket_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_disable_ct.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_disable_ct.html new file mode 120000 index 0000000..a04d25c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_disable_ct.html @@ -0,0 +1 @@ +SSL_CTX_set_ct_validation_callback.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_enable_ct.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_enable_ct.html new file mode 120000 index 0000000..a04d25c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_enable_ct.html @@ -0,0 +1 @@ +SSL_CTX_set_ct_validation_callback.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_flush_sessions.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_flush_sessions.html index 2732139..d44b9c4 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_flush_sessions.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_flush_sessions.html @@ -84,7 +84,7 @@ called to synchronize with the external cache (see

    COPYRIGHT

    Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_free.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_free.html index ecf4731..fd7d514 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_free.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_free.html @@ -78,7 +78,7 @@ SSL_CTX_sess_set_remove_cb(ctx, NULL) prior to calling SS

    COPYRIGHT

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_generate_session_ticket_fn.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_generate_session_ticket_fn.html new file mode 120000 index 0000000..0bbb46f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_generate_session_ticket_fn.html @@ -0,0 +1 @@ +SSL_CTX_set_session_ticket_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get0_CA_list.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get0_CA_list.html new file mode 120000 index 0000000..98fbbb4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get0_CA_list.html @@ -0,0 +1 @@ +SSL_CTX_set0_CA_list.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get0_chain_certs.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get0_chain_certs.html new file mode 120000 index 0000000..ac5ec15 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get0_chain_certs.html @@ -0,0 +1 @@ +SSL_CTX_add1_chain_cert.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get0_param.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get0_param.html index f32f8b6..1c6eeb3 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get0_param.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get0_param.html @@ -84,8 +84,7 @@ for failure.


    SEE ALSO

    -

    ssl(7), -X509_VERIFY_PARAM_set_flags(3)

    +

    X509_VERIFY_PARAM_set_flags(3)


    @@ -95,8 +94,8 @@ for failure.


    COPYRIGHT

    -

    Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2015-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get0_security_ex_data.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get0_security_ex_data.html new file mode 120000 index 0000000..9c5134c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get0_security_ex_data.html @@ -0,0 +1 @@ +SSL_CTX_set_security_level.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_cert_store.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_cert_store.html new file mode 120000 index 0000000..2c864a5 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_cert_store.html @@ -0,0 +1 @@ +SSL_CTX_set_cert_store.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_ciphers.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_ciphers.html new file mode 120000 index 0000000..3c738e3 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_ciphers.html @@ -0,0 +1 @@ +SSL_get_ciphers.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_client_CA_list.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_client_CA_list.html new file mode 120000 index 0000000..98fbbb4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_client_CA_list.html @@ -0,0 +1 @@ +SSL_CTX_set0_CA_list.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_client_cert_cb.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_client_cert_cb.html new file mode 120000 index 0000000..5c7dbda --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_client_cert_cb.html @@ -0,0 +1 @@ +SSL_CTX_set_client_cert_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_default_passwd_cb.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_default_passwd_cb.html new file mode 120000 index 0000000..7d830c6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_default_passwd_cb.html @@ -0,0 +1 @@ +SSL_CTX_set_default_passwd_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_default_passwd_cb_userdata.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_default_passwd_cb_userdata.html new file mode 120000 index 0000000..7d830c6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_default_passwd_cb_userdata.html @@ -0,0 +1 @@ +SSL_CTX_set_default_passwd_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_default_read_ahead.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_default_read_ahead.html new file mode 120000 index 0000000..4afbdd7 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_default_read_ahead.html @@ -0,0 +1 @@ +SSL_CTX_set_read_ahead.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_ex_data.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_ex_data.html new file mode 120000 index 0000000..541b4ec --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_ex_data.html @@ -0,0 +1 @@ +SSL_CTX_set_ex_data.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_info_callback.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_info_callback.html new file mode 120000 index 0000000..0c6819c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_info_callback.html @@ -0,0 +1 @@ +SSL_CTX_set_info_callback.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_keylog_callback.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_keylog_callback.html new file mode 120000 index 0000000..dea78f5 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_keylog_callback.html @@ -0,0 +1 @@ +SSL_CTX_set_keylog_callback.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_max_cert_list.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_max_cert_list.html new file mode 120000 index 0000000..7635159 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_max_cert_list.html @@ -0,0 +1 @@ +SSL_CTX_set_max_cert_list.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_max_early_data.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_max_early_data.html new file mode 120000 index 0000000..f8ca382 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_max_early_data.html @@ -0,0 +1 @@ +SSL_read_early_data.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_max_proto_version.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_max_proto_version.html new file mode 120000 index 0000000..9fa3152 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_max_proto_version.html @@ -0,0 +1 @@ +SSL_CTX_set_min_proto_version.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_min_proto_version.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_min_proto_version.html new file mode 120000 index 0000000..9fa3152 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_min_proto_version.html @@ -0,0 +1 @@ +SSL_CTX_set_min_proto_version.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_mode.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_mode.html new file mode 120000 index 0000000..59ce589 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_mode.html @@ -0,0 +1 @@ +SSL_CTX_set_mode.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_num_tickets.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_num_tickets.html new file mode 120000 index 0000000..7a45892 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_num_tickets.html @@ -0,0 +1 @@ +SSL_CTX_set_num_tickets.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_options.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_options.html new file mode 120000 index 0000000..2b3c746 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_options.html @@ -0,0 +1 @@ +SSL_CTX_set_options.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_quiet_shutdown.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_quiet_shutdown.html new file mode 120000 index 0000000..5bf42d2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_quiet_shutdown.html @@ -0,0 +1 @@ +SSL_CTX_set_quiet_shutdown.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_read_ahead.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_read_ahead.html new file mode 120000 index 0000000..4afbdd7 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_read_ahead.html @@ -0,0 +1 @@ +SSL_CTX_set_read_ahead.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_record_padding_callback_arg.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_record_padding_callback_arg.html new file mode 120000 index 0000000..d080916 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_record_padding_callback_arg.html @@ -0,0 +1 @@ +SSL_CTX_set_record_padding_callback.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_recv_max_early_data.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_recv_max_early_data.html new file mode 120000 index 0000000..f8ca382 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_recv_max_early_data.html @@ -0,0 +1 @@ +SSL_read_early_data.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_security_callback.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_security_callback.html new file mode 120000 index 0000000..9c5134c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_security_callback.html @@ -0,0 +1 @@ +SSL_CTX_set_security_level.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_security_level.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_security_level.html new file mode 120000 index 0000000..9c5134c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_security_level.html @@ -0,0 +1 @@ +SSL_CTX_set_security_level.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_session_cache_mode.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_session_cache_mode.html new file mode 120000 index 0000000..002f0e6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_session_cache_mode.html @@ -0,0 +1 @@ +SSL_CTX_set_session_cache_mode.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_timeout.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_timeout.html new file mode 120000 index 0000000..5bf8316 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_timeout.html @@ -0,0 +1 @@ +SSL_CTX_set_timeout.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_tlsext_status_arg.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_tlsext_status_arg.html new file mode 120000 index 0000000..66e939c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_tlsext_status_arg.html @@ -0,0 +1 @@ +SSL_CTX_set_tlsext_status_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_tlsext_status_cb.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_tlsext_status_cb.html new file mode 120000 index 0000000..66e939c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_tlsext_status_cb.html @@ -0,0 +1 @@ +SSL_CTX_set_tlsext_status_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_tlsext_status_type.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_tlsext_status_type.html new file mode 120000 index 0000000..66e939c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_tlsext_status_type.html @@ -0,0 +1 @@ +SSL_CTX_set_tlsext_status_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_verify_callback.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_verify_callback.html new file mode 120000 index 0000000..9179e4f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_verify_callback.html @@ -0,0 +1 @@ +SSL_CTX_get_verify_mode.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_verify_depth.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_verify_depth.html new file mode 120000 index 0000000..9179e4f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_verify_depth.html @@ -0,0 +1 @@ +SSL_CTX_get_verify_mode.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_verify_mode.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_verify_mode.html index 0911b70..b4aeec8 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_verify_mode.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_get_verify_mode.html @@ -81,7 +81,7 @@ NULL pointer is returned and the default callback will be used.


    COPYRIGHT

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_has_client_custom_ext.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_has_client_custom_ext.html index efef14a..8223ac3 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_has_client_custom_ext.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_has_client_custom_ext.html @@ -64,7 +64,7 @@ client extension of type ext_type using SSL_CTX_add_clien

    COPYRIGHT

    Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_keylog_cb_func.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_keylog_cb_func.html new file mode 120000 index 0000000..dea78f5 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_keylog_cb_func.html @@ -0,0 +1 @@ +SSL_CTX_set_keylog_callback.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_load_verify_locations.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_load_verify_locations.html index 24d9b3a..adcac1f 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_load_verify_locations.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_load_verify_locations.html @@ -35,11 +35,9 @@


    NAME

    -

    SSL_CTX_load_verify_dir, SSL_CTX_load_verify_file, -SSL_CTX_load_verify_store, SSL_CTX_set_default_verify_paths, -SSL_CTX_set_default_verify_dir, SSL_CTX_set_default_verify_file, -SSL_CTX_set_default_verify_store, SSL_CTX_load_verify_locations -- set default locations for trusted CA certificates

    +

    SSL_CTX_load_verify_locations, SSL_CTX_set_default_verify_paths, +SSL_CTX_set_default_verify_dir, SSL_CTX_set_default_verify_file - set +default locations for trusted CA certificates


    @@ -47,50 +45,34 @@ SSL_CTX_set_default_verify_store, SSL_CTX_load_verify_locations
      #include <openssl/ssl.h>
    - int SSL_CTX_load_verify_dir(SSL_CTX *ctx, const char *CApath);
    - int SSL_CTX_load_verify_file(SSL_CTX *ctx, const char *CAfile);
    - int SSL_CTX_load_verify_store(SSL_CTX *ctx, const char *CAstore);
    + int SSL_CTX_load_verify_locations(SSL_CTX *ctx, const char *CAfile, + const char *CApath);
      int SSL_CTX_set_default_verify_paths(SSL_CTX *ctx);
    - int SSL_CTX_set_default_verify_dir(SSL_CTX *ctx);
    - int SSL_CTX_set_default_verify_file(SSL_CTX *ctx);
    - int SSL_CTX_set_default_verify_store(SSL_CTX *ctx);
    -

    Deprecated since OpenSSL 3.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

    + int SSL_CTX_set_default_verify_dir(SSL_CTX *ctx);
    - int SSL_CTX_load_verify_locations(SSL_CTX *ctx, const char *CAfile,
    -                                   const char *CApath);
    + int SSL_CTX_set_default_verify_file(SSL_CTX *ctx);


    DESCRIPTION

    -

    SSL_CTX_load_verify_dir(), SSL_CTX_load_verify_file(), -SSL_CTX_load_verify_store() specifies the locations for ctx, at -which CA certificates for verification purposes are located. The -certificates available via CAfile, CApath and CAstore are -trusted.

    +

    SSL_CTX_load_verify_locations() specifies the locations for ctx, at +which CA certificates for verification purposes are located. The certificates +available via CAfile and CApath are trusted.

    SSL_CTX_set_default_verify_paths() specifies that the default locations from -which CA certificates are loaded should be used. There is one default directory, -one default file and one default store. -The default CA certificates directory is called certs in the default OpenSSL -directory, and this is also the default store. -Alternatively the SSL_CERT_DIR environment variable can be defined to -override this location. -The default CA certificates file is called cert.pem in the default -OpenSSL directory. -Alternatively the SSL_CERT_FILE environment variable can be defined to -override this location.

    +which CA certificates are loaded should be used. There is one default directory +and one default file. The default CA certificates directory is called "certs" in +the default OpenSSL directory. Alternatively the SSL_CERT_DIR environment +variable can be defined to override this location. The default CA certificates +file is called "cert.pem" in the default OpenSSL directory. Alternatively the +SSL_CERT_FILE environment variable can be defined to override this location.

    SSL_CTX_set_default_verify_dir() is similar to SSL_CTX_set_default_verify_paths() except that just the default directory is used.

    SSL_CTX_set_default_verify_file() is similar to SSL_CTX_set_default_verify_paths() except that just the default file is used.

    -

    SSL_CTX_set_default_verify_store() is similar to -SSL_CTX_set_default_verify_paths() except that just the default store is -used.


    @@ -124,10 +106,6 @@ do not match, the next certificate will be tried. If a first certificate matching the parameters is found, the verification process will be performed; no other certificates for the same parameters will be searched in case of failure.

    -

    If CAstore is not NULL, it's a URI for to a store, which may -represent a single container or a whole catalogue of containers. -Apart from the CAstore not necessarily being a local file or -directory, it's generally treated the same way as a CApath.

    In server mode, when requesting a client certificate, the server must send the list of CAs of which it will accept client certificates. This list is not influenced by the contents of CAfile or CApath and must @@ -199,8 +177,8 @@ for use as CApath:


    COPYRIGHT

    -

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_new.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_new.html index 2ba8971..3a3f2a5 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_new.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_new.html @@ -35,14 +35,13 @@

    NAME

    TLSv1_2_method, TLSv1_2_server_method, TLSv1_2_client_method, -SSL_CTX_new, SSL_CTX_new_with_libctx, SSL_CTX_up_ref, SSLv3_method, -SSLv3_server_method, SSLv3_client_method, TLSv1_method, TLSv1_server_method, -TLSv1_client_method, TLSv1_1_method, TLSv1_1_server_method, -TLSv1_1_client_method, TLS_method, TLS_server_method, TLS_client_method, -SSLv23_method, SSLv23_server_method, SSLv23_client_method, DTLS_method, -DTLS_server_method, DTLS_client_method, DTLSv1_method, DTLSv1_server_method, -DTLSv1_client_method, DTLSv1_2_method, DTLSv1_2_server_method, -DTLSv1_2_client_method +SSL_CTX_new, SSL_CTX_up_ref, SSLv3_method, SSLv3_server_method, +SSLv3_client_method, TLSv1_method, TLSv1_server_method, TLSv1_client_method, +TLSv1_1_method, TLSv1_1_server_method, TLSv1_1_client_method, TLS_method, +TLS_server_method, TLS_client_method, SSLv23_method, SSLv23_server_method, +SSLv23_client_method, DTLS_method, DTLS_server_method, DTLS_client_method, +DTLSv1_method, DTLSv1_server_method, DTLSv1_client_method, +DTLSv1_2_method, DTLSv1_2_server_method, DTLSv1_2_client_method - create a new SSL_CTX object as framework for TLS/SSL or DTLS enabled functions

    @@ -52,8 +51,6 @@ functions

      #include <openssl/ssl.h>
    - SSL_CTX *SSL_CTX_new_with_libctx(OPENSSL_CTX *libctx, const char *propq,
    -                                  const SSL_METHOD *method);
      SSL_CTX *SSL_CTX_new(const SSL_METHOD *method);
      int SSL_CTX_up_ref(SSL_CTX *ctx);
    @@ -108,28 +105,21 @@ functions


    DESCRIPTION

    -

    SSL_CTX_new_with_libctx() creates a new SSL_CTX object as a framework to -establish TLS/SSL or DTLS enabled connections using the library context -libctx (see OPENSSL_CTX(3)). Any cryptographic algorithms that are used -by any SSL objects created from this SSL_CTX will be fetched from the -libctx using the property query string propq (see -provider(7)/Fetching algorithms. Either or both the libctx or propq -parameters may be NULL.

    -

    SSL_CTX_new() does the same as SSL_CTX_new_with_libctx() except that the default -library context is used and no property query string is specified.

    -

    An SSL_CTX object is reference counted. Creating an SSL_CTX object for the -first time increments the reference count. Freeing the SSL_CTX (using -SSL_CTX_free) decrements it. When the reference count drops to zero, any memory -or resources allocated to the SSL_CTX object are freed. SSL_CTX_up_ref() -increments the reference count for an existing SSL_CTX structure.

    +

    SSL_CTX_new() creates a new SSL_CTX object as framework to +establish TLS/SSL or DTLS enabled connections. An SSL_CTX object is +reference counted. Creating an SSL_CTX object for the first time increments +the reference count. Freeing it (using SSL_CTX_free) decrements it. When the +reference count drops to zero, any memory or resources allocated to the +SSL_CTX object are freed. SSL_CTX_up_ref() increments the reference count for +an existing SSL_CTX structure.


    NOTES

    -

    The SSL_CTX object uses method as the connection method. +

    The SSL_CTX object uses method as connection method. The methods exist in a generic type (for client and server use), a server only type, and a client only type. -method can be one of the following types:

    +method can be of the following types:

    TLS_method(), TLS_server_method(), TLS_client_method()
    @@ -259,13 +249,12 @@ removed in OpenSSL 1.1.0.

    were deprecated and the preferred TLS_method(), TLS_server_method() and TLS_client_method() functions were added in OpenSSL 1.1.0.

    All version-specific methods were deprecated in OpenSSL 1.1.0.

    -

    SSL_CTX_new_with_libctx() was added in OpenSSL 3.0.


    COPYRIGHT

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_remove_session.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_remove_session.html new file mode 120000 index 0000000..68e89ee --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_remove_session.html @@ -0,0 +1 @@ +SSL_CTX_add_session.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_select_current_cert.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_select_current_cert.html new file mode 120000 index 0000000..ac5ec15 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_select_current_cert.html @@ -0,0 +1 @@ +SSL_CTX_add1_chain_cert.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_accept.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_accept.html new file mode 120000 index 0000000..c651d92 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_accept.html @@ -0,0 +1 @@ +SSL_CTX_sess_number.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_accept_good.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_accept_good.html new file mode 120000 index 0000000..c651d92 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_accept_good.html @@ -0,0 +1 @@ +SSL_CTX_sess_number.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_accept_renegotiate.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_accept_renegotiate.html new file mode 120000 index 0000000..c651d92 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_accept_renegotiate.html @@ -0,0 +1 @@ +SSL_CTX_sess_number.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_cache_full.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_cache_full.html new file mode 120000 index 0000000..c651d92 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_cache_full.html @@ -0,0 +1 @@ +SSL_CTX_sess_number.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_cb_hits.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_cb_hits.html new file mode 120000 index 0000000..c651d92 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_cb_hits.html @@ -0,0 +1 @@ +SSL_CTX_sess_number.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_connect.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_connect.html new file mode 120000 index 0000000..c651d92 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_connect.html @@ -0,0 +1 @@ +SSL_CTX_sess_number.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_connect_good.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_connect_good.html new file mode 120000 index 0000000..c651d92 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_connect_good.html @@ -0,0 +1 @@ +SSL_CTX_sess_number.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_connect_renegotiate.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_connect_renegotiate.html new file mode 120000 index 0000000..c651d92 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_connect_renegotiate.html @@ -0,0 +1 @@ +SSL_CTX_sess_number.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_get_cache_size.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_get_cache_size.html new file mode 120000 index 0000000..9fe50c8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_get_cache_size.html @@ -0,0 +1 @@ +SSL_CTX_sess_set_cache_size.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_get_get_cb.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_get_get_cb.html new file mode 120000 index 0000000..bac3d1f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_get_get_cb.html @@ -0,0 +1 @@ +SSL_CTX_sess_set_get_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_get_new_cb.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_get_new_cb.html new file mode 120000 index 0000000..bac3d1f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_get_new_cb.html @@ -0,0 +1 @@ +SSL_CTX_sess_set_get_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_get_remove_cb.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_get_remove_cb.html new file mode 120000 index 0000000..bac3d1f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_get_remove_cb.html @@ -0,0 +1 @@ +SSL_CTX_sess_set_get_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_hits.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_hits.html new file mode 120000 index 0000000..c651d92 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_hits.html @@ -0,0 +1 @@ +SSL_CTX_sess_number.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_misses.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_misses.html new file mode 120000 index 0000000..c651d92 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_misses.html @@ -0,0 +1 @@ +SSL_CTX_sess_number.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_number.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_number.html index 6447ead..a173da2 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_number.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_number.html @@ -101,7 +101,7 @@ because the maximum session cache size was exceeded.


    COPYRIGHT

    Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_set_cache_size.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_set_cache_size.html index c3f5e70..94fe872 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_set_cache_size.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_set_cache_size.html @@ -87,7 +87,7 @@ expiration of sessions.


    COPYRIGHT

    Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_set_get_cb.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_set_get_cb.html index 5b7e3a6..6437f51 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_set_get_cb.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_set_get_cb.html @@ -141,7 +141,7 @@ return different callback function pointers respectively.


    COPYRIGHT

    Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_set_new_cb.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_set_new_cb.html new file mode 120000 index 0000000..bac3d1f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_set_new_cb.html @@ -0,0 +1 @@ +SSL_CTX_sess_set_get_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_set_remove_cb.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_set_remove_cb.html new file mode 120000 index 0000000..bac3d1f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_set_remove_cb.html @@ -0,0 +1 @@ +SSL_CTX_sess_set_get_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_timeouts.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_timeouts.html new file mode 120000 index 0000000..c651d92 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sess_timeouts.html @@ -0,0 +1 @@ +SSL_CTX_sess_number.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sessions.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sessions.html index 4946bfd..734bb8b 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sessions.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_sessions.html @@ -76,7 +76,7 @@ modified directly but by using the

    COPYRIGHT

    Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set0_CA_list.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set0_CA_list.html index dc6c430..d7b5ff4 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set0_CA_list.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set0_CA_list.html @@ -194,8 +194,8 @@ SSL_add1_to_CA_list() return 1 for success and 0 for failure.


    COPYRIGHT

    -

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set0_chain.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set0_chain.html new file mode 120000 index 0000000..ac5ec15 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set0_chain.html @@ -0,0 +1 @@ +SSL_CTX_add1_chain_cert.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set0_chain_cert_store.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set0_chain_cert_store.html new file mode 120000 index 0000000..5af1bbc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set0_chain_cert_store.html @@ -0,0 +1 @@ +SSL_CTX_set1_verify_cert_store.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set0_security_ex_data.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set0_security_ex_data.html new file mode 120000 index 0000000..9c5134c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set0_security_ex_data.html @@ -0,0 +1 @@ +SSL_CTX_set_security_level.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set0_verify_cert_store.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set0_verify_cert_store.html new file mode 120000 index 0000000..5af1bbc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set0_verify_cert_store.html @@ -0,0 +1 @@ +SSL_CTX_set1_verify_cert_store.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_cert_store.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_cert_store.html new file mode 120000 index 0000000..2c864a5 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_cert_store.html @@ -0,0 +1 @@ +SSL_CTX_set_cert_store.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_chain.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_chain.html new file mode 120000 index 0000000..ac5ec15 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_chain.html @@ -0,0 +1 @@ +SSL_CTX_add1_chain_cert.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_chain_cert_store.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_chain_cert_store.html new file mode 120000 index 0000000..5af1bbc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_chain_cert_store.html @@ -0,0 +1 @@ +SSL_CTX_set1_verify_cert_store.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_client_sigalgs.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_client_sigalgs.html new file mode 120000 index 0000000..b87af34 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_client_sigalgs.html @@ -0,0 +1 @@ +SSL_CTX_set1_sigalgs.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_client_sigalgs_list.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_client_sigalgs_list.html new file mode 120000 index 0000000..b87af34 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_client_sigalgs_list.html @@ -0,0 +1 @@ +SSL_CTX_set1_sigalgs.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_curves.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_curves.html index 42c4047..9a0f8f8 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_curves.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_curves.html @@ -36,8 +36,8 @@

    NAME

    SSL_CTX_set1_groups, SSL_CTX_set1_groups_list, SSL_set1_groups, SSL_set1_groups_list, SSL_get1_groups, SSL_get_shared_group, -SSL_get_negotiated_group, SSL_CTX_set1_curves, SSL_CTX_set1_curves_list, -SSL_set1_curves, SSL_set1_curves_list, SSL_get1_curves, SSL_get_shared_curve +SSL_CTX_set1_curves, SSL_CTX_set1_curves_list, SSL_set1_curves, +SSL_set1_curves_list, SSL_get1_curves, SSL_get_shared_curve - EC supported curve functions

    @@ -53,8 +53,7 @@ SSL_set1_curves, SSL_set1_curves_list, SSL_get1_curves, SSL_get_shared_curve int SSL_set1_groups_list(SSL *ssl, char *list);
      int SSL_get1_groups(SSL *ssl, int *groups);
    - int SSL_get_shared_group(SSL *s, int n);
    - int SSL_get_negotiated_group(SSL *s);
    + int SSL_get_shared_group(SSL *s, int n);
      int SSL_CTX_set1_curves(SSL_CTX *ctx, int *clist, int clistlen);
      int SSL_CTX_set1_curves_list(SSL_CTX *ctx, char *list);
    @@ -74,15 +73,10 @@ least one group in the list.

    groups in the array glist. The array consist of all NIDs of groups in preference order. For a TLS client the groups are used directly in the supported groups extension. For a TLS server the groups are used to -determine the set of shared groups. Currently supported groups for -TLSv1.3 are NID_X9_62_prime256v1, NID_secp384r1, NID_secp521r1, -NID_X25519, NID_X448, NID_ffdhe2048, NID_ffdhe3072, -NID_ffdhe4096, NID_ffdhe6144 and NID_ffdhe8192.

    +determine the set of shared groups.

    SSL_CTX_set1_groups_list() sets the supported groups for ctx to string list. The string is a colon separated list of group NIDs or -names, for example "P-521:P-384:P-256:X25519:ffdhe2048". Currently supported -groups for TLSv1.3 are P-256, P-384, P-521, X25519, X448, -ffdhe2048, ffdhe3072, ffdhe4096, ffdhe6144, ffdhe8192.

    +names, for example "P-521:P-384:P-256".

    SSL_set1_groups() and SSL_set1_groups_list() are similar except they set supported groups for the SSL structure ssl.

    SSL_get1_groups() returns the set of supported groups sent by a client @@ -98,8 +92,6 @@ returned, which may be zero. Other than for diagnostic purposes, most applications will only be interested in the first shared group so n is normally set to zero. If the value n is out of range, NID_undef is returned.

    -

    SSL_get_negotiated_group() returns the negotiated group on a TLSv1.3 connection -for key exchange. This can be called by either client or server.

    All these functions are implemented as macros.

    The curve functions are synonyms for the equivalently named group functions and are identical in every respect. They exist because, prior to TLS1.3, there was @@ -125,28 +117,23 @@ is no shared group n; or the total number of shared groups if < is -1.

    When called on a client ssl, SSL_get_shared_group() has no meaning and returns -1.

    -

    SSL_get_negotiated_group() returns the NID of the negotiated group on a -TLSv1.3 connection for key exchange. Or it returns NID_undef if no negotiated -group.


    SEE ALSO

    -

    ssl(7), -SSL_CTX_add_extra_chain_cert(3)

    +

    SSL_CTX_add_extra_chain_cert(3)


    HISTORY

    The curve functions were added in OpenSSL 1.0.2. The equivalent group -functions were added in OpenSSL 1.1.1. The SSL_get_negotiated_group() function -was added in OpenSSL 3.0.0.

    +functions were added in OpenSSL 1.1.1.


    COPYRIGHT

    Copyright 2013-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_curves_list.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_curves_list.html new file mode 120000 index 0000000..09b98ee --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_curves_list.html @@ -0,0 +1 @@ +SSL_CTX_set1_curves.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_groups.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_groups.html new file mode 120000 index 0000000..09b98ee --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_groups.html @@ -0,0 +1 @@ +SSL_CTX_set1_curves.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_groups_list.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_groups_list.html new file mode 120000 index 0000000..09b98ee --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_groups_list.html @@ -0,0 +1 @@ +SSL_CTX_set1_curves.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_param.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_param.html new file mode 120000 index 0000000..6cc1ff8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_param.html @@ -0,0 +1 @@ +SSL_CTX_get0_param.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_sigalgs.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_sigalgs.html index 26dfc1f..22a7802 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_sigalgs.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_sigalgs.html @@ -135,8 +135,8 @@ using a string:


    COPYRIGHT

    -

    Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2015-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_sigalgs_list.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_sigalgs_list.html new file mode 120000 index 0000000..b87af34 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_sigalgs_list.html @@ -0,0 +1 @@ +SSL_CTX_set1_sigalgs.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_verify_cert_store.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_verify_cert_store.html index 8772c14..66ffc3a 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_verify_cert_store.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set1_verify_cert_store.html @@ -102,8 +102,7 @@ versions of OpenSSL.


    SEE ALSO

    -

    ssl(7), -SSL_CTX_add_extra_chain_cert(3) +

    SSL_CTX_add_extra_chain_cert(3) SSL_CTX_set0_chain(3) SSL_CTX_set1_chain(3) SSL_CTX_add0_chain_cert(3) @@ -124,7 +123,7 @@ versions of OpenSSL.


    COPYRIGHT

    Copyright 2013-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_allow_early_data_cb.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_allow_early_data_cb.html new file mode 120000 index 0000000..f8ca382 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_allow_early_data_cb.html @@ -0,0 +1 @@ +SSL_read_early_data.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_alpn_protos.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_alpn_protos.html new file mode 120000 index 0000000..5ca0cdf --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_alpn_protos.html @@ -0,0 +1 @@ +SSL_CTX_set_alpn_select_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_alpn_select_cb.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_alpn_select_cb.html index 0e6c8a6..ca2c681 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_alpn_select_cb.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_alpn_select_cb.html @@ -213,7 +213,7 @@ will be included in the ServerHello.


    COPYRIGHT

    Copyright 2016-2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_block_padding.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_block_padding.html new file mode 120000 index 0000000..d080916 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_block_padding.html @@ -0,0 +1 @@ +SSL_CTX_set_record_padding_callback.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_cert_cb.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_cert_cb.html index 1478fef..3db62be 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_cert_cb.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_cert_cb.html @@ -105,7 +105,7 @@ support it will not be used.


    COPYRIGHT

    Copyright 2014-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_cert_store.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_cert_store.html index 90fa55e..c01a083 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_cert_store.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_cert_store.html @@ -112,7 +112,7 @@ functions such as SSL_CTX_set1_verify_cert_store() instead.


    COPYRIGHT

    Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_cert_verify_callback.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_cert_verify_callback.html index c2bf36d..ce56310 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_cert_verify_callback.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_cert_verify_callback.html @@ -109,7 +109,7 @@ the verify_callback function.


    COPYRIGHT

    Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_cipher_list.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_cipher_list.html index 07b5c4d..277b294 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_cipher_list.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_cipher_list.html @@ -22,7 +22,6 @@
  297. NOTES
  298. RETURN VALUES
  299. SEE ALSO
  300. -
  301. HISTORY
  302. COPYRIGHT
  303. @@ -37,9 +36,7 @@

    SSL_CTX_set_cipher_list, SSL_set_cipher_list, SSL_CTX_set_ciphersuites, -SSL_set_ciphersuites, -OSSL_default_cipher_list, -OSSL_default_ciphersuites +SSL_set_ciphersuites - choose list of available SSL_CIPHERs

    @@ -53,16 +50,13 @@ OSSL_default_ciphersuites
      int SSL_CTX_set_ciphersuites(SSL_CTX *ctx, const char *str);
      int SSL_set_ciphersuites(SSL *s, const char *str);
    -
    - const char *OSSL_default_cipher_list(void);
    - const char *OSSL_default_ciphersuites(void);


    DESCRIPTION

    SSL_CTX_set_cipher_list() sets the list of available ciphers (TLSv1.2 and below) for ctx using the control string str. The format of the string is described -in openssl-ciphers(1). The list of ciphers is inherited by all +in ciphers(1). The list of ciphers is inherited by all ssl objects created from ctx. This function does not impact TLSv1.3 ciphersuites. Use SSL_CTX_set_ciphersuites() to configure those.

    SSL_set_cipher_list() sets the list of ciphers (TLSv1.2 and below) only for @@ -86,9 +80,6 @@ ciphersuite names in order of preference. Valid TLSv1.3 ciphersuite names are:"TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256"

    SSL_set_ciphersuites() is the same as SSL_CTX_set_ciphersuites() except it configures the ciphersuites for ssl.

    -

    OSSL_default_cipher_list() returns the default cipher string for TLSv1.2 -(and earlier) ciphers. OSSL_default_ciphersuites() returns the default -cipher string for TLSv1.3 ciphersuites.


    @@ -117,9 +108,6 @@ client only supports export RSA ciphers with an asymmetric key length of 512 bits and the server is not configured to use temporary RSA keys), the "no shared cipher" (SSL_R_NO_SHARED_CIPHER) error is generated and the handshake will fail.

    -

    OSSL_default_cipher_list() and OSSL_default_ciphersuites() replace -SSL_DEFAULT_CIPHER_LIST and TLS_DEFAULT_CIPHERSUITES, respectively. The -cipher list defines are deprecated as of 3.0.


    @@ -135,18 +123,13 @@ ciphersuite list was configured, and 0 otherwise.

    ssl(7), SSL_get_ciphers(3), SSL_CTX_use_certificate(3), SSL_CTX_set_tmp_dh_callback(3), -openssl-ciphers(1)

    -

    -

    -
    -

    HISTORY

    -

    OSSL_default_cipher_list() and OSSL_default_ciphersites() are new in 3.0.

    +ciphers(1)


    COPYRIGHT

    -

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_ciphersuites.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_ciphersuites.html new file mode 120000 index 0000000..f9ebd14 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_ciphersuites.html @@ -0,0 +1 @@ +SSL_CTX_set_cipher_list.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_client_CA_list.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_client_CA_list.html new file mode 120000 index 0000000..98fbbb4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_client_CA_list.html @@ -0,0 +1 @@ +SSL_CTX_set0_CA_list.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_client_cert_cb.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_client_cert_cb.html index 3b62e9b..8b839c3 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_client_cert_cb.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_client_cert_cb.html @@ -136,7 +136,7 @@ and create a new one to return to the previous state.


    COPYRIGHT

    Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_client_hello_cb.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_client_hello_cb.html index 9bc31ac..4a3e0d1 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_client_hello_cb.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_client_hello_cb.html @@ -61,7 +61,7 @@

    SSL_CTX_set_client_hello_cb() sets the callback function, which is automatically called during the early stages of ClientHello processing on the server. The argument supplied when setting the callback is passed back to the -callback at run time. A callback that returns failure (0) will cause the +callback at runtime. A callback that returns failure (0) will cause the connection to terminate, and callbacks returning failure should indicate what alert value is to be sent in the al parameter. A callback may also return a negative value to suspend the handshake, and the handshake @@ -138,7 +138,7 @@ should not be assumed to be valid.


    SEE ALSO

    ssl(7), SSL_CTX_set_tlsext_servername_callback(3), -SSL_bytes_to_cipher_list(3)

    +SSL_bytes_to_cipher_list


    @@ -152,8 +152,8 @@ were added in OpenSSL 1.1.1.


    COPYRIGHT

    -

    Copyright 2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2017-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_cookie_generate_cb.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_cookie_generate_cb.html new file mode 120000 index 0000000..bde1208 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_cookie_generate_cb.html @@ -0,0 +1 @@ +SSL_CTX_set_stateless_cookie_generate_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_cookie_verify_cb.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_cookie_verify_cb.html new file mode 120000 index 0000000..bde1208 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_cookie_verify_cb.html @@ -0,0 +1 @@ +SSL_CTX_set_stateless_cookie_generate_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_ct_validation_callback.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_ct_validation_callback.html index 556af83..eda3beb 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_ct_validation_callback.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_ct_validation_callback.html @@ -100,7 +100,7 @@ This callback can examine the peer's SCTs and determine whether they are sufficient to allow the connection to continue. The TLS handshake is aborted if the verification mode is not SSL_VERIFY_NONE and the callback returns a non-positive result.

    -

    An arbitrary callback data argument, arg, can be passed in when setting +

    An arbitrary callback context argument, arg, can be passed in when setting the callback. This will be passed to the callback whenever it is invoked. Ownership of this context remains with the caller.

    @@ -165,7 +165,7 @@ callback) is set.


    COPYRIGHT

    Copyright 2016-2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_ctlog_list_file.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_ctlog_list_file.html index 0923b4d..a0fe99c 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_ctlog_list_file.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_ctlog_list_file.html @@ -58,7 +58,7 @@ See CTLOG_STORE_new(3) for the file format.


    NOTES

    These functions will not clear the existing CT log list - it will be appended -to. To replace the existing list, use SSL_CTX_set0_ctlog_store(3) first.

    +to. To replace the existing list, use SSL_CTX_set0_ctlog_store first.

    If an error occurs whilst parsing a particular log entry in the file, that log entry will be skipped.

    @@ -79,8 +79,8 @@ the case of an error, the log list may have been partially loaded.


    COPYRIGHT

    -

    Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_current_cert.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_current_cert.html new file mode 120000 index 0000000..ac5ec15 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_current_cert.html @@ -0,0 +1 @@ +SSL_CTX_add1_chain_cert.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_default_ctlog_list_file.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_default_ctlog_list_file.html new file mode 120000 index 0000000..38ca3b5 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_default_ctlog_list_file.html @@ -0,0 +1 @@ +SSL_CTX_set_ctlog_list_file.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_default_passwd_cb.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_default_passwd_cb.html index 6c6ac37..fa25b32 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_default_passwd_cb.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_default_passwd_cb.html @@ -139,7 +139,7 @@ added in OpenSSL 1.1.0.


    COPYRIGHT

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_default_passwd_cb_userdata.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_default_passwd_cb_userdata.html new file mode 120000 index 0000000..7d830c6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_default_passwd_cb_userdata.html @@ -0,0 +1 @@ +SSL_CTX_set_default_passwd_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_default_read_buffer_len.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_default_read_buffer_len.html new file mode 120000 index 0000000..8d3f23a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_default_read_buffer_len.html @@ -0,0 +1 @@ +SSL_CTX_set_split_send_fragment.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_default_verify_dir.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_default_verify_dir.html new file mode 120000 index 0000000..c0c6ce6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_default_verify_dir.html @@ -0,0 +1 @@ +SSL_CTX_load_verify_locations.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_default_verify_file.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_default_verify_file.html new file mode 120000 index 0000000..c0c6ce6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_default_verify_file.html @@ -0,0 +1 @@ +SSL_CTX_load_verify_locations.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_default_verify_paths.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_default_verify_paths.html new file mode 120000 index 0000000..c0c6ce6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_default_verify_paths.html @@ -0,0 +1 @@ +SSL_CTX_load_verify_locations.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_ex_data.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_ex_data.html new file mode 100644 index 0000000..ed207bc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_ex_data.html @@ -0,0 +1,88 @@ + + + + +SSL_CTX_set_ex_data + + + + + + + + + + + +

    +

    +
    +

    NAME

    +

    SSL_CTX_get_ex_data, SSL_CTX_set_ex_data, +SSL_get_ex_data, SSL_set_ex_data +- Store and retrieve extra data from the SSL_CTX, SSL or SSL_SESSION

    +

    +

    +
    +

    SYNOPSIS

    +
    + #include <openssl/ssl.h>
    +
    + void *SSL_CTX_get_ex_data(const SSL_CTX *s, int idx);
    +
    + int SSL_CTX_set_ex_data(SSL_CTX *s, int idx, void *arg);
    +
    + void *SSL_get_ex_data(const SSL *s, int idx);
    +
    + int SSL_set_ex_data(SSL *s, int idx, void *arg);
    +

    +

    +
    +

    DESCRIPTION

    +

    SSL*_set_ex_data() functions can be used to store arbitrary user data into the +SSL_CTX, or SSL object. The user must supply a unique index +which they can subsequently use to retrieve the data using SSL*_get_ex_data().

    +

    For more detailed information see CRYPTO_get_ex_data(3) and +CRYPTO_set_ex_data(3) which implement these functions and +CRYPTO_get_ex_new_index(3) for generating a unique index.

    +

    +

    +
    +

    RETURN VALUES

    +

    The SSL*_set_ex_data() functions return 1 if the item is successfully stored +and 0 if it is not. +The SSL*_get_ex_data() functions return the ex_data pointer if successful, +otherwise NULL.

    +

    +

    +
    +

    SEE ALSO

    +

    CRYPTO_get_ex_data(3), CRYPTO_set_ex_data(3), +CRYPTO_get_ex_new_index(3)

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2017 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_generate_session_id.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_generate_session_id.html index 0898f35..4648e40 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_generate_session_id.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_generate_session_id.html @@ -158,8 +158,8 @@ server id given, and will fill the rest with pseudo random bytes:


    COPYRIGHT

    -

    Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2001-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_info_callback.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_info_callback.html index 17f5761..1a37793 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_info_callback.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_info_callback.html @@ -81,7 +81,7 @@ The where argument specifies information about where (in which the callback function was called. If ret is 0, an error condition occurred. If an alert is handled, SSL_CB_ALERT is set and ret specifies the alert information.

    -

    where is a bit-mask made up of the following bits:

    +

    where is a bitmask made up of the following bits:

    SSL_CB_LOOP
    @@ -193,8 +193,8 @@ about alerts being handled and error messages to the bio_err BI


    COPYRIGHT

    -

    Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2001-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_keylog_callback.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_keylog_callback.html index e06d2fe..177e0fb 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_keylog_callback.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_keylog_callback.html @@ -77,7 +77,7 @@ NULL if the callback is not set.


    COPYRIGHT

    Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_max_cert_list.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_max_cert_list.html index 0144b5c..caecaa5 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_max_cert_list.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_max_cert_list.html @@ -103,7 +103,7 @@ set value.


    COPYRIGHT

    Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_max_early_data.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_max_early_data.html new file mode 120000 index 0000000..f8ca382 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_max_early_data.html @@ -0,0 +1 @@ +SSL_read_early_data.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_max_pipelines.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_max_pipelines.html new file mode 120000 index 0000000..8d3f23a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_max_pipelines.html @@ -0,0 +1 @@ +SSL_CTX_set_split_send_fragment.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_max_proto_version.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_max_proto_version.html new file mode 120000 index 0000000..9fa3152 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_max_proto_version.html @@ -0,0 +1 @@ +SSL_CTX_set_min_proto_version.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_max_send_fragment.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_max_send_fragment.html new file mode 120000 index 0000000..8d3f23a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_max_send_fragment.html @@ -0,0 +1 @@ +SSL_CTX_set_split_send_fragment.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_min_proto_version.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_min_proto_version.html index bd345e9..534e498 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_min_proto_version.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_min_proto_version.html @@ -89,8 +89,7 @@ lowest or highest protocol, respectively.


    SEE ALSO

    -

    ssl(7), -SSL_CTX_set_options(3), SSL_CONF_cmd(3)

    +

    SSL_CTX_set_options(3), SSL_CONF_cmd(3)


    @@ -102,7 +101,7 @@ were added in OpenSSL 1.1.1.


    COPYRIGHT

    Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_mode.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_mode.html index 693cc61..c1238cc 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_mode.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_mode.html @@ -53,12 +53,12 @@


    DESCRIPTION

    -

    SSL_CTX_set_mode() adds the mode set via bit-mask in mode to ctx. +

    SSL_CTX_set_mode() adds the mode set via bitmask in mode to ctx. Options already set before are not cleared. -SSL_CTX_clear_mode() removes the mode set via bit-mask in mode from ctx.

    -

    SSL_set_mode() adds the mode set via bit-mask in mode to ssl. +SSL_CTX_clear_mode() removes the mode set via bitmask in mode from ctx.

    +

    SSL_set_mode() adds the mode set via bitmask in mode to ssl. Options already set before are not cleared. -SSL_clear_mode() removes the mode set via bit-mask in mode from ssl.

    +SSL_clear_mode() removes the mode set via bitmask in mode from ssl.

    SSL_CTX_get_mode() returns the mode set for ctx.

    SSL_get_mode() returns the mode set for ssl.

    @@ -138,22 +138,6 @@ in draft-ietf-tls-downgrade-scsv-00.

    SSL_ERROR_WANT_ASYNC with this mode set if an asynchronous capable engine is used to perform cryptographic operations. See SSL_get_error(3).

    -
    SSL_MODE_NO_KTLS_TX
    - -
    -

    Disable the use of the kernel TLS egress data-path. -By default kernel TLS is enabled if it is supported by the negotiated ciphersuites -and extensions and OpenSSL has been compiled with support for it. -The kernel TLS data-path implements the record layer, -and the crypto algorithm. The kernel will utilize the best hardware -available for crypto. Using the kernel data-path should reduce the memory -footprint of OpenSSL because no buffering is required. Also, the throughput -should improve because data copy is avoided when user data is encrypted into -kernel memory instead of the usual encrypt than copy to kernel.

    -

    Kernel TLS might not support all the features of OpenSSL. For instance, -renegotiation, and setting the maximum fragment size is not possible as of -Linux 4.20.

    -
    SSL_MODE_DTLS_SCTP_LABEL_LENGTH_BUG
    @@ -171,9 +155,9 @@ default since 1.1.1.


    RETURN VALUES

    -

    SSL_CTX_set_mode() and SSL_set_mode() return the new mode bit-mask +

    SSL_CTX_set_mode() and SSL_set_mode() return the new mode bitmask after adding mode.

    -

    SSL_CTX_get_mode() and SSL_get_mode() return the current bit-mask.

    +

    SSL_CTX_get_mode() and SSL_get_mode() return the current bitmask.


    @@ -184,14 +168,13 @@ after adding mode.


    HISTORY

    -

    SSL_MODE_ASYNC was added in OpenSSL 1.1.0. -SSL_MODE_NO_KTLS_TX was added in OpenSSL 3.0.

    +

    SSL_MODE_ASYNC was added in OpenSSL 1.1.0.


    COPYRIGHT

    -

    Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2001-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_msg_callback.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_msg_callback.html index 66d11f9..dea7c58 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_msg_callback.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_msg_callback.html @@ -172,7 +172,7 @@ and SSL_set_msg_callback_arg() do not return values.


    COPYRIGHT

    Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_msg_callback_arg.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_msg_callback_arg.html new file mode 120000 index 0000000..2991e5e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_msg_callback_arg.html @@ -0,0 +1 @@ +SSL_CTX_set_msg_callback.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_next_proto_select_cb.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_next_proto_select_cb.html new file mode 120000 index 0000000..5ca0cdf --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_next_proto_select_cb.html @@ -0,0 +1 @@ +SSL_CTX_set_alpn_select_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_next_protos_advertised_cb.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_next_protos_advertised_cb.html new file mode 120000 index 0000000..5ca0cdf --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_next_protos_advertised_cb.html @@ -0,0 +1 @@ +SSL_CTX_set_alpn_select_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_num_tickets.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_num_tickets.html index ea8de90..64d1a8b 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_num_tickets.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_num_tickets.html @@ -20,7 +20,6 @@
  304. SYNOPSIS
  305. DESCRIPTION
  306. RETURN VALUES
  307. -
  308. SEE ALSO
  309. HISTORY
  310. COPYRIGHT
  311. @@ -85,11 +84,6 @@ that have been previously set.


    -

    SEE ALSO

    -

    ssl(7)

    -

    -

    -

    HISTORY

    These functions were added in OpenSSL 1.1.1.

    @@ -97,7 +91,7 @@ that have been previously set.


    COPYRIGHT

    Copyright 2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_options.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_options.html index b49a5cf..af6e662 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_options.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_options.html @@ -25,7 +25,7 @@
  312. Patched client and server
  313. Unpatched client and patched OpenSSL server
  314. -
  315. Patched OpenSSL client and unpatched server
  316. +
  317. Patched OpenSSL client and unpatched server.
  318. RETURN VALUES
  319. @@ -66,13 +66,13 @@ SSL_get_secure_renegotiation_support - manipulate SSL options


    DESCRIPTION

    -

    SSL_CTX_set_options() adds the options set via bit-mask in options to ctx. +

    SSL_CTX_set_options() adds the options set via bitmask in options to ctx. Options already set before are not cleared!

    -

    SSL_set_options() adds the options set via bit-mask in options to ssl. +

    SSL_set_options() adds the options set via bitmask in options to ssl. Options already set before are not cleared!

    -

    SSL_CTX_clear_options() clears the options set via bit-mask in options +

    SSL_CTX_clear_options() clears the options set via bitmask in options to ctx.

    -

    SSL_clear_options() clears the options set via bit-mask in options to ssl.

    +

    SSL_clear_options() clears the options set via bitmask in options to ssl.

    SSL_CTX_get_options() returns the options set for ctx.

    SSL_get_options() returns the options set for ssl.

    SSL_get_secure_renegotiation_support() indicates whether the peer supports @@ -83,7 +83,7 @@ Note, this is implemented via a macro.


    NOTES

    The behaviour of the SSL library can be changed by setting several options. -The options are coded as bit-masks and can be combined by a bitwise or +The options are coded as bitmasks and can be combined by a bitwise or operation (|).

    SSL_CTX_set_options() and SSL_set_options() affect the (external) protocol behaviour of the SSL library. The (internal) behaviour of @@ -235,14 +235,6 @@ servers. See the SECURE RENEGOTIATION section for more details.

    If this option is set, Encrypt-then-MAC is disabled. Clients will not propose, and servers will not accept the extension.

    -
    SSL_OP_NO_EXTENDED_MASTER_SECRET
    - -
    -

    Normally clients and servers will transparently attempt to negotiate the -RFC7627 Extended Master Secret option on TLS and DTLS connection.

    -

    If this option is set, Extended Master Secret is disabled. Clients will -not propose, and servers will not accept the extension.

    -
    SSL_OP_NO_RENEGOTIATION
    @@ -350,7 +342,7 @@ unaware of the unpatched nature of the client.

    renegotiation always succeeds.

    -

    Patched OpenSSL client and unpatched server

    +

    Patched OpenSSL client and unpatched server.

    If the option SSL_OP_LEGACY_SERVER_CONNECT or SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION is set then initial connections and renegotiation between patched OpenSSL clients and unpatched servers @@ -380,11 +372,11 @@ and renegotiation between OpenSSL and unpatched clients or servers.


    RETURN VALUES

    -

    SSL_CTX_set_options() and SSL_set_options() return the new options bit-mask +

    SSL_CTX_set_options() and SSL_set_options() return the new options bitmask after adding options.

    -

    SSL_CTX_clear_options() and SSL_clear_options() return the new options bit-mask +

    SSL_CTX_clear_options() and SSL_clear_options() return the new options bitmask after clearing options.

    -

    SSL_CTX_get_options() and SSL_get_options() return the current bit-mask.

    +

    SSL_CTX_get_options() and SSL_get_options() return the current bitmask.

    SSL_get_secure_renegotiation_support() returns 1 is the peer supports secure renegotiation and 0 if it does not.

    @@ -394,7 +386,7 @@ secure renegotiation and 0 if it does not.

    ssl(7), SSL_new(3), SSL_clear(3), SSL_CTX_set_tmp_dh_callback(3), SSL_CTX_set_min_proto_version(3), -openssl-dhparam(1)

    +dhparam(1)


    @@ -403,13 +395,12 @@ secure renegotiation and 0 if it does not.

    OpenSSL 0.9.8m.

    The SSL_OP_PRIORITIZE_CHACHA and SSL_OP_NO_RENEGOTIATION options were added in OpenSSL 1.1.1.

    -

    The SSL_OP_NO_EXTENDED_MASTER_SECRET option was added in OpenSSL 3.0.


    COPYRIGHT

    -

    Copyright 2001-2019 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_post_handshake_auth.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_post_handshake_auth.html new file mode 120000 index 0000000..6091896 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_post_handshake_auth.html @@ -0,0 +1 @@ +SSL_CTX_set_verify.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_psk_client_callback.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_psk_client_callback.html index d89352f..b0f63e2 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_psk_client_callback.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_psk_client_callback.html @@ -174,8 +174,7 @@ failure. In the event of failure the connection setup fails.


    SEE ALSO

    -

    ssl(7), -SSL_CTX_set_psk_find_session_callback(3), +

    SSL_CTX_set_psk_find_session_callback(3), SSL_set_psk_find_session_callback(3)

    @@ -188,7 +187,7 @@ were added in OpenSSL 1.1.1.


    COPYRIGHT

    Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_psk_find_session_callback.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_psk_find_session_callback.html new file mode 120000 index 0000000..9b21e68 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_psk_find_session_callback.html @@ -0,0 +1 @@ +SSL_CTX_use_psk_identity_hint.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_psk_server_callback.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_psk_server_callback.html new file mode 120000 index 0000000..9b21e68 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_psk_server_callback.html @@ -0,0 +1 @@ +SSL_CTX_use_psk_identity_hint.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_psk_use_session_callback.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_psk_use_session_callback.html new file mode 120000 index 0000000..faa8764 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_psk_use_session_callback.html @@ -0,0 +1 @@ +SSL_CTX_set_psk_client_callback.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_quiet_shutdown.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_quiet_shutdown.html index 5bbc341..01f1169 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_quiet_shutdown.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_quiet_shutdown.html @@ -95,7 +95,7 @@ setting.


    COPYRIGHT

    Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_read_ahead.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_read_ahead.html index 7141542..bb955c8 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_read_ahead.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_read_ahead.html @@ -99,8 +99,8 @@ and non zero otherwise.


    COPYRIGHT

    -

    Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2015-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_record_padding_callback.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_record_padding_callback.html index fb86a47..696ef64 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_record_padding_callback.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_record_padding_callback.html @@ -117,8 +117,8 @@ callback to NULL will restore the configured block padding behavior.


    COPYRIGHT

    -

    Copyright 2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2017-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_record_padding_callback_arg.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_record_padding_callback_arg.html new file mode 120000 index 0000000..d080916 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_record_padding_callback_arg.html @@ -0,0 +1 @@ +SSL_CTX_set_record_padding_callback.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_recv_max_early_data.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_recv_max_early_data.html new file mode 120000 index 0000000..f8ca382 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_recv_max_early_data.html @@ -0,0 +1 @@ +SSL_read_early_data.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_security_callback.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_security_callback.html new file mode 120000 index 0000000..9c5134c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_security_callback.html @@ -0,0 +1 @@ +SSL_CTX_set_security_level.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_security_level.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_security_level.html index 565ced5..f3c6bae 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_security_level.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_security_level.html @@ -23,7 +23,6 @@
  320. APPLICATION DEFINED SECURITY CALLBACKS
  321. NOTES
  322. RETURN VALUES
  323. -
  324. SEE ALSO
  325. HISTORY
  326. COPYRIGHT
  327. @@ -206,11 +205,6 @@ data pointer or NULL if the ex data is not set.


    -

    SEE ALSO

    -

    ssl(7)

    -

    -

    -

    HISTORY

    These functions were added in OpenSSL 1.1.0.

    @@ -218,7 +212,7 @@ data pointer or NULL if the ex data is not set.


    COPYRIGHT

    Copyright 2014-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_session_cache_mode.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_session_cache_mode.html index dc34e8a..5d7aa0b 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_session_cache_mode.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_session_cache_mode.html @@ -167,7 +167,7 @@ SSL_SESS_CACHE_NO_INTERNAL_STORE at the same time.


    COPYRIGHT

    Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_session_id_context.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_session_id_context.html index c564da5..7fd4097 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_session_id_context.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_session_id_context.html @@ -113,8 +113,8 @@ is logged to the error stack.


    COPYRIGHT

    -

    Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2001-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_session_ticket_cb.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_session_ticket_cb.html index e006e9d..ad6e922 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_session_ticket_cb.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_session_ticket_cb.html @@ -76,7 +76,7 @@ decryption has been attempted and any session ticket application data is available. If ticket decryption was successful then the ss argument contains the session data. The keyname and keyname_len arguments identify the key used to decrypt the session ticket. The status argument is the result of the -ticket decryption. See the NOTES section below for further details. The value +ticket decryption. See the NOTES section below for further details. The value of arg is the same as that given to SSL_CTX_set_session_ticket_cb(). The dec_cb callback is defined as type SSL_CTX_decrypt_session_ticket_fn.

    SSL_SESSION_set1_ticket_appdata() sets the application data specified by @@ -195,7 +195,7 @@ SSL_SESSION_get0_ticket_appdata() functions return 1 on success and 0 on failure.

    The gen_cb callback must return 1 to continue the connection. A return of 0 will terminate the connection with an INTERNAL_ERROR alert.

    -

    The dec_cb callback must return a value as described in NOTES above.

    +

    The dec_cb callback must return a value as described in NOTES above.


    @@ -213,7 +213,7 @@ and SSL_SESSION_get_ticket_appdata() functions were added in OpenSS

    COPYRIGHT

    Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_split_send_fragment.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_split_send_fragment.html index 7fe30f2..c8a9e68 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_split_send_fragment.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_split_send_fragment.html @@ -188,8 +188,7 @@ all these functions are implemented using macros.


    SEE ALSO

    -

    ssl(7), -SSL_CTX_set_read_ahead(3), SSL_pending(3)

    +

    SSL_CTX_set_read_ahead(3), SSL_pending(3)


    @@ -205,7 +204,7 @@ and SSL_SESSION_get_max_fragment_length() functions were added in O

    COPYRIGHT

    Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_ssl_version.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_ssl_version.html index 1b5f443..ab56bbf 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_ssl_version.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_ssl_version.html @@ -91,8 +91,8 @@ and SSL_set_ssl_method():


    COPYRIGHT

    -

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_stateless_cookie_generate_cb.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_stateless_cookie_generate_cb.html index b6eadbc..b2fc870 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_stateless_cookie_generate_cb.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_stateless_cookie_generate_cb.html @@ -108,8 +108,7 @@ responsibility.


    SEE ALSO

    -

    ssl(7), -SSL_stateless(3), +

    SSL_stateless(3), DTLSv1_listen(3)

    @@ -122,7 +121,7 @@ responsibility.


    COPYRIGHT

    Copyright 2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_stateless_cookie_verify_cb.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_stateless_cookie_verify_cb.html new file mode 120000 index 0000000..bde1208 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_stateless_cookie_verify_cb.html @@ -0,0 +1 @@ +SSL_CTX_set_stateless_cookie_generate_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_timeout.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_timeout.html index 9d64711..9b3346d 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_timeout.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_timeout.html @@ -91,7 +91,7 @@ of 300 seconds.


    COPYRIGHT

    Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_tlsext_max_fragment_length.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_tlsext_max_fragment_length.html new file mode 120000 index 0000000..8d3f23a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_tlsext_max_fragment_length.html @@ -0,0 +1 @@ +SSL_CTX_set_split_send_fragment.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_tlsext_servername_arg.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_tlsext_servername_arg.html new file mode 120000 index 0000000..cafe23d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_tlsext_servername_arg.html @@ -0,0 +1 @@ +SSL_CTX_set_tlsext_servername_callback.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_tlsext_servername_callback.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_tlsext_servername_callback.html index 28b39e1..a542fc3 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_tlsext_servername_callback.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_tlsext_servername_callback.html @@ -203,7 +203,7 @@ NULL.


    COPYRIGHT

    Copyright 2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_tlsext_status_arg.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_tlsext_status_arg.html new file mode 120000 index 0000000..66e939c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_tlsext_status_arg.html @@ -0,0 +1 @@ +SSL_CTX_set_tlsext_status_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_tlsext_status_cb.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_tlsext_status_cb.html index 67cf517..7b9793c 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_tlsext_status_cb.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_tlsext_status_cb.html @@ -20,7 +20,6 @@
  328. SYNOPSIS
  329. DESCRIPTION
  330. RETURN VALUES
  331. -
  332. SEE ALSO
  333. HISTORY
  334. COPYRIGHT
  335. @@ -134,11 +133,6 @@ side if the client requested OCSP stapling. Otherwise -1 is returned.


    -

    SEE ALSO

    -

    ssl(7)

    -

    -

    -

    HISTORY

    The SSL_get_tlsext_status_type(), SSL_CTX_get_tlsext_status_type() and SSL_CTX_set_tlsext_status_type() functions were added in OpenSSL 1.1.0.

    @@ -147,7 +141,7 @@ and SSL_CTX_set_tlsext_status_type() functions were added in OpenSS

    COPYRIGHT

    Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_tlsext_status_type.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_tlsext_status_type.html new file mode 120000 index 0000000..66e939c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_tlsext_status_type.html @@ -0,0 +1 @@ +SSL_CTX_set_tlsext_status_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_tlsext_ticket_key_cb.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_tlsext_ticket_key_cb.html index 93cba2a..31e7412 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_tlsext_ticket_key_cb.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_tlsext_ticket_key_cb.html @@ -23,7 +23,6 @@
  336. RETURN VALUES
  337. EXAMPLES
  338. SEE ALSO
  339. -
  340. HISTORY
  341. COPYRIGHT
  342. @@ -35,9 +34,7 @@


    NAME

    -

    SSL_CTX_set_tlsext_ticket_key_evp_cb, -SSL_CTX_set_tlsext_ticket_key_cb -- set a callback for session ticket processing

    +

    SSL_CTX_set_tlsext_ticket_key_cb - set a callback for session ticket processing


    @@ -45,15 +42,7 @@ SSL_CTX_set_tlsext_ticket_key_cb
      #include <openssl/tls1.h>
    - int SSL_CTX_set_tlsext_ticket_key_evp_cb(SSL_CTX sslctx,
    -     int (*cb)(SSL *s, unsigned char key_name[16],
    -               unsigned char iv[EVP_MAX_IV_LENGTH],
    -               EVP_CIPHER_CTX *ctx, EVP_MAC_CTX *hctx, int enc));
    -

    Deprecated since OpenSSL 3.0, can be hidden entirely by defining -OPENSSL_API_COMPAT with a suitable version value, see -openssl_user_macros(7):

    -
    - int SSL_CTX_set_tlsext_ticket_key_cb(SSL_CTX sslctx,
    + long SSL_CTX_set_tlsext_ticket_key_cb(SSL_CTX sslctx,
          int (*cb)(SSL *s, unsigned char key_name[16],
                    unsigned char iv[EVP_MAX_IV_LENGTH],
                    EVP_CIPHER_CTX *ctx, HMAC_CTX *hctx, int enc));
    @@ -61,7 +50,7 @@ SSL_CTX_set_tlsext_ticket_key_cb


    DESCRIPTION

    -

    SSL_CTX_set_tlsext_ticket_key_evp_cb() sets a callback function cb for handling +

    SSL_CTX_set_tlsext_ticket_key_cb() sets a callback function cb for handling session tickets for the ssl context sslctx. Session tickets, defined in RFC5077 provide an enhanced session resumption capability where the server implementation is not required to maintain per session state. It only applies @@ -80,8 +69,7 @@ The server, through the callback function, either agrees to reuse the session ticket information or it starts a full TLS handshake to create a new session ticket.

    Before the callback function is started ctx and hctx have been -initialised with EVP_CIPHER_CTX_reset(3) and EVP_MAC_CTX_new(3) -respectively.

    +initialised with EVP_CIPHER_CTX_reset(3) and HMAC_CTX_reset(3) respectively.

    For new sessions tickets, when the client doesn't present a session ticket, or an attempted retrieval of the ticket failed, or a renew option was indicated, the callback function will be called with enc equal to 1. The OpenSSL @@ -92,18 +80,16 @@ library expects that the function will set an arbitrary name, initializ maximum IV length is EVP_MAX_IV_LENGTH bytes defined in evp.h.

    The initialization vector iv should be a random value. The cipher context ctx should use the initialisation vector iv. The cipher context can be -set using EVP_EncryptInit_ex(3). The hmac context and digest can be set using -EVP_MAC_CTX_set_params(3) with the OSSL_MAC_PARAM_KEY and -OSSL_MAC_PARAM_DIGEST parameters respectively.

    +set using EVP_EncryptInit_ex(3). The hmac context can be set using +HMAC_Init_ex(3).

    When the client presents a session ticket, the callback function with be called with enc set to 0 indicating that the cb function should retrieve a set of parameters. In this case name and iv have already been parsed out of the session ticket. The OpenSSL library expects that the name will be used to retrieve a cryptographic parameters and that the cryptographic context ctx will be set with the retrieved parameters and the initialization vector -iv. using a function like EVP_DecryptInit_ex(3). The key material and -digest for hctx need to be set using EVP_MAC_CTX_set_params(3) with the -OSSL_MAC_PARAM_KEY and OSSL_MAC_PARAM_DIGEST parameters respectively.

    +iv. using a function like EVP_DecryptInit_ex(3). The hctx needs to be +set using HMAC_Init_ex(3).

    If the name is still valid but a renewal of the ticket is required the callback function should return 2. The library will call the callback again with an argument of enc equal to 1 to set the new ticket.

    @@ -134,13 +120,6 @@ a new set of parameters.

    This indicates an error.

-

The SSL_CTX_set_tlsext_ticket_key_cb() function is identical to -SSL_CTX_set_tlsext_ticket_key_evp_cb() except that it takes a deprecated -HMAC_CTX pointer instead of an EVP_MAC_CTX one. -Before this callback function is started hctx will have been -initialised with EVP_MAC_CTX_new(3) and the digest set with -EVP_MAC_CTX_set_params(3). -The hctx key material can be set using HMAC_Init_ex(3).


@@ -170,15 +149,13 @@ enable an attacker to obtain the session keys.

EXAMPLES

Reference Implementation:

- SSL_CTX_set_tlsext_ticket_key_evp_cb(SSL, ssl_tlsext_ticket_key_cb);
+ SSL_CTX_set_tlsext_ticket_key_cb(SSL, ssl_tlsext_ticket_key_cb);
  ...
  static int ssl_tlsext_ticket_key_cb(SSL *s, unsigned char key_name[16],
                                      unsigned char *iv, EVP_CIPHER_CTX *ctx,
-                                     EVP_MAC_CTX *hctx, int enc)
+                                     HMAC_CTX *hctx, int enc)
  {
-     OSSL_PARAM params[3];
-
      if (enc) { /* create new session */
          if (RAND_bytes(iv, EVP_MAX_IV_LENGTH) <= 0)
              return -1; /* insufficient random */
@@ -197,14 +174,8 @@ enable an attacker to obtain the session keys.

} memcpy(key_name, key->name, 16);
-         EVP_EncryptInit_ex(&ctx, EVP_aes_128_cbc(), NULL, key->aes_key, iv);
-
-         params[0] = OSSL_PARAM_construct_octet_string(OSSL_MAC_PARAM_KEY,
-                                                       key->hmac_key, 16);
-         params[1] = OSSL_PARAM_construct_utf8_string(OSSL_MAC_PARAM_DIGEST,
-                                                      "sha256", 0);
-         params[2] = OSSL_PARAM_construct_end();
-         EVP_MAC_CTX_set_params(hctx, params);
+ EVP_EncryptInit_ex(&ctx, EVP_aes_128_cbc(), NULL, key->aes_key, iv); + HMAC_Init_ex(&hctx, key->hmac_key, 16, EVP_sha256(), NULL);
          return 1;
@@ -214,13 +185,7 @@ enable an attacker to obtain the session keys.

if (key == NULL || key->expire < now()) return 0;
-         params[0] = OSSL_PARAM_construct_octet_string(OSSL_KDF_PARAM_KEY,
-                                                       key->hmac_key, 16);
-         params[1] = OSSL_PARAM_construct_utf8_string(OSSL_MAC_PARAM_DIGEST,
-                                                      "sha256", 0);
-         params[2] = OSSL_PARAM_construct_end();
-         EVP_MAC_CTX_set_params(hctx, params);
-
+         HMAC_Init_ex(&hctx, key->hmac_key, 16, EVP_sha256(), NULL);
          EVP_DecryptInit_ex(&ctx, EVP_aes_128_cbc(), NULL, key->aes_key, iv);
          if (key->expire < now() - RENEW_TIME) {
@@ -246,16 +211,9 @@ enable an attacker to obtain the session keys.


-

HISTORY

-

The SSL_CTX_set_tlsext_ticket_key_cb() function was deprecated in OpenSSL 3.0.

-

The SSL_CTX_set_tlsext_ticket_key_evp_cb() function was introduced in -OpenSSL 3.0.

-

-

-

COPYRIGHT

-

Copyright 2014-2018 The OpenSSL Project Authors. All Rights Reserved.

-

Licensed under the Apache License 2.0 (the "License"). You may not use +

Copyright 2014-2019 The OpenSSL Project Authors. All Rights Reserved.

+

Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_tlsext_use_srtp.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_tlsext_use_srtp.html index 399c1d7..26df743 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_tlsext_use_srtp.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_tlsext_use_srtp.html @@ -125,14 +125,13 @@ object if one has been negotiated or NULL otherwise.


SEE ALSO

-

ssl(7), -SSL_export_keying_material(3)

+

SSL_export_keying_material(3)


COPYRIGHT

Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved.

-

Licensed under the Apache License 2.0 (the "License"). You may not use +

Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_tmp_dh.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_tmp_dh.html new file mode 120000 index 0000000..b7fec45 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_tmp_dh.html @@ -0,0 +1 @@ +SSL_CTX_set_tmp_dh_callback.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_tmp_dh_callback.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_tmp_dh_callback.html index 58c9ba6..dd86f41 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_tmp_dh_callback.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_tmp_dh_callback.html @@ -88,13 +88,13 @@ DH parameters can be reused, as the actual key is newly generated during the negotiation. The risk in reusing DH parameters is that an attacker may specialize on a very often used DH group. Applications should therefore generate their own DH parameters during the installation process using the -openssl openssl-dhparam(1) application. This application +openssl dhparam(1) application. This application guarantees that "strong" primes are used.

Files dh2048.pem, and dh4096.pem in the 'apps' directory of the current version of the OpenSSL distribution contain the 'SKIP' DH parameters, which use safe primes and were generated verifiably pseudo-randomly. These files can be converted into C code using the -C option of the -openssl-dhparam(1) application. Generation of custom DH +dhparam(1) application. Generation of custom DH parameters during installation should still be preferred to stop an attacker from specializing on a commonly used group. File dh1024.pem contains old parameters that must not be used by applications.

@@ -147,13 +147,13 @@ partly left out.)

SEE ALSO

ssl(7), SSL_CTX_set_cipher_list(3), SSL_CTX_set_options(3), -openssl-ciphers(1), openssl-dhparam(1)

+ciphers(1), dhparam(1)


COPYRIGHT

-

Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved.

-

Licensed under the Apache License 2.0 (the "License"). You may not use +

Copyright 2001-2019 The OpenSSL Project Authors. All Rights Reserved.

+

Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_verify.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_verify.html index 72ae85a..fde2fbe 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_verify.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_verify.html @@ -372,8 +372,8 @@ and SSL_set_post_handshake_auth() functions were added in OpenSSL 1


COPYRIGHT

-

Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

-

Licensed under the Apache License 2.0 (the "License"). You may not use +

Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

+

Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_verify_depth.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_verify_depth.html new file mode 120000 index 0000000..6091896 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_set_verify_depth.html @@ -0,0 +1 @@ +SSL_CTX_set_verify.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_up_ref.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_up_ref.html new file mode 120000 index 0000000..6e8810c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_up_ref.html @@ -0,0 +1 @@ +SSL_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_PrivateKey.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_PrivateKey.html new file mode 120000 index 0000000..f60d0ce --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_PrivateKey.html @@ -0,0 +1 @@ +SSL_CTX_use_certificate.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_PrivateKey_ASN1.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_PrivateKey_ASN1.html new file mode 120000 index 0000000..f60d0ce --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_PrivateKey_ASN1.html @@ -0,0 +1 @@ +SSL_CTX_use_certificate.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_PrivateKey_file.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_PrivateKey_file.html new file mode 120000 index 0000000..f60d0ce --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_PrivateKey_file.html @@ -0,0 +1 @@ +SSL_CTX_use_certificate.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_RSAPrivateKey.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_RSAPrivateKey.html new file mode 120000 index 0000000..f60d0ce --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_RSAPrivateKey.html @@ -0,0 +1 @@ +SSL_CTX_use_certificate.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_RSAPrivateKey_ASN1.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_RSAPrivateKey_ASN1.html new file mode 120000 index 0000000..f60d0ce --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_RSAPrivateKey_ASN1.html @@ -0,0 +1 @@ +SSL_CTX_use_certificate.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_RSAPrivateKey_file.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_RSAPrivateKey_file.html new file mode 120000 index 0000000..f60d0ce --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_RSAPrivateKey_file.html @@ -0,0 +1 @@ +SSL_CTX_use_certificate.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_cert_and_key.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_cert_and_key.html new file mode 120000 index 0000000..f60d0ce --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_cert_and_key.html @@ -0,0 +1 @@ +SSL_CTX_use_certificate.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_certificate.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_certificate.html index 7743c39..e02281f 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_certificate.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_certificate.html @@ -217,7 +217,7 @@ Otherwise check out the error stack to find out the reason.


COPYRIGHT

Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

-

Licensed under the Apache License 2.0 (the "License"). You may not use +

Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_certificate_ASN1.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_certificate_ASN1.html new file mode 120000 index 0000000..f60d0ce --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_certificate_ASN1.html @@ -0,0 +1 @@ +SSL_CTX_use_certificate.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_certificate_chain_file.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_certificate_chain_file.html new file mode 120000 index 0000000..f60d0ce --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_certificate_chain_file.html @@ -0,0 +1 @@ +SSL_CTX_use_certificate.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_certificate_file.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_certificate_file.html new file mode 120000 index 0000000..f60d0ce --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_certificate_file.html @@ -0,0 +1 @@ +SSL_CTX_use_certificate.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_psk_identity_hint.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_psk_identity_hint.html index e5f212e..b7662d0 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_psk_identity_hint.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_psk_identity_hint.html @@ -19,6 +19,7 @@
  • NAME
  • SYNOPSIS
  • DESCRIPTION
  • +
  • NOTES
  • RETURN VALUES
  • NOTES
  • SEE ALSO
  • @@ -112,6 +113,10 @@ and it will use that in preference. If no such callback is present then it will check to see if a callback has been set via SSL_CTX_set_psk_server_callback() or SSL_set_psk_server_callback() and use that. In this case the handshake digest will default to SHA-256 for any returned PSK.

    +

    +

    +
    +

    NOTES

    A connection established via a TLSv1.3 PSK will appear as if session resumption has occurred so that SSL_session_reused(3) will return true.

    @@ -157,8 +162,7 @@ TLS 1.3 and TLS 1.2."


    SEE ALSO

    -

    ssl(7), -SSL_CTX_set_psk_use_session_callback(3), +

    SSL_CTX_set_psk_use_session_callback(3), SSL_set_psk_use_session_callback(3)

    @@ -171,7 +175,7 @@ were added in OpenSSL 1.1.1.


    COPYRIGHT

    Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_serverinfo.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_serverinfo.html index 2da93e7..86531b5 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_serverinfo.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_serverinfo.html @@ -20,7 +20,6 @@
  • SYNOPSIS
  • DESCRIPTION
  • RETURN VALUES
  • -
  • SEE ALSO
  • COPYRIGHT
  • @@ -101,14 +100,9 @@ the reason.


    -

    SEE ALSO

    -

    ssl(7)

    -

    -

    -

    COPYRIGHT

    Copyright 2013-2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_serverinfo_ex.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_serverinfo_ex.html new file mode 120000 index 0000000..25054e0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_serverinfo_ex.html @@ -0,0 +1 @@ +SSL_CTX_use_serverinfo.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_serverinfo_file.html b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_serverinfo_file.html new file mode 120000 index 0000000..25054e0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_CTX_use_serverinfo_file.html @@ -0,0 +1 @@ +SSL_CTX_use_serverinfo.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_dup.html b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_dup.html new file mode 120000 index 0000000..f696e0c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_dup.html @@ -0,0 +1 @@ +SSL_SESSION_free.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_free.html b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_free.html index 429a869..be68198 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_free.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_free.html @@ -46,7 +46,7 @@ SSL_SESSION_free - create, free and manage SSL_SESSION structures

    #include <openssl/ssl.h>
      SSL_SESSION *SSL_SESSION_new(void);
    - SSL_SESSION *SSL_SESSION_dup(const SSL_SESSION *src);
    + SSL_SESSION *SSL_SESSION_dup(SSL_SESSION *src);
      int SSL_SESSION_up_ref(SSL_SESSION *ses);
      void SSL_SESSION_free(SSL_SESSION *session);

    @@ -113,7 +113,7 @@ or NULL on error.


    COPYRIGHT

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get0_alpn_selected.html b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get0_alpn_selected.html new file mode 120000 index 0000000..d158b71 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get0_alpn_selected.html @@ -0,0 +1 @@ +SSL_SESSION_get0_hostname.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get0_cipher.html b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get0_cipher.html index c6b867c..d9c1d65 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get0_cipher.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get0_cipher.html @@ -84,7 +84,7 @@ The SSL_SESSION_set_cipher() function was added in OpenSSL 1.1.1.

    COPYRIGHT

    Copyright 2016-2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get0_hostname.html b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get0_hostname.html index 3f91b69..03e79ac 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get0_hostname.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get0_hostname.html @@ -99,8 +99,8 @@ SSL_SESSION_set1_alpn_selected() functions were added in OpenSSL 1.1.1.


    COPYRIGHT

    -

    Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get0_id_context.html b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get0_id_context.html index dfe0b01..dea9812 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get0_id_context.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get0_id_context.html @@ -82,7 +82,7 @@ is given by sid_ctx_len which must not exceed SSL_MAX_SID_CTX_L

    COPYRIGHT

    Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get0_peer.html b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get0_peer.html index 49f3944..78faa12 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get0_peer.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get0_peer.html @@ -65,7 +65,7 @@ no peer certificate is available.


    COPYRIGHT

    Copyright 2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get0_ticket.html b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get0_ticket.html new file mode 120000 index 0000000..b739121 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get0_ticket.html @@ -0,0 +1 @@ +SSL_SESSION_has_ticket.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get0_ticket_appdata.html b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get0_ticket_appdata.html new file mode 120000 index 0000000..0bbb46f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get0_ticket_appdata.html @@ -0,0 +1 @@ +SSL_CTX_set_session_ticket_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get_compress_id.html b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get_compress_id.html index 93587a2..7f598f5 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get_compress_id.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get_compress_id.html @@ -66,7 +66,7 @@ none.


    COPYRIGHT

    Copyright 2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get_ex_data.html b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get_ex_data.html new file mode 100644 index 0000000..ba15b88 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get_ex_data.html @@ -0,0 +1,82 @@ + + + + +SSL_SESSION_get_ex_data + + + + + + + + + + + +

    +

    +
    +

    NAME

    +

    SSL_SESSION_set_ex_data, +SSL_SESSION_get_ex_data +- get and set application specific data on a session

    +

    +

    +
    +

    SYNOPSIS

    +
    + #include <openssl/ssl.h>
    +
    + int SSL_SESSION_set_ex_data(SSL_SESSION *ss, int idx, void *data);
    + void *SSL_SESSION_get_ex_data(const SSL_SESSION *s, int idx);
    +

    +

    +
    +

    DESCRIPTION

    +

    SSL_SESSION_set_ex_data() enables an application to store arbitrary application +specific data data in an SSL_SESSION structure ss. The index idx should +be a value previously returned from a call to CRYPTO_get_ex_new_index(3).

    +

    SSL_SESSION_get_ex_data() retrieves application specific data previously stored +in an SSL_SESSION structure s. The idx value should be the same as that +used when originally storing the data.

    +

    +

    +
    +

    RETURN VALUES

    +

    SSL_SESSION_set_ex_data() returns 1 for success or 0 for failure.

    +

    SSL_SESSION_get_ex_data() returns the previously stored value or NULL on +failure. NULL may also be a valid value.

    +

    +

    +
    +

    SEE ALSO

    +

    ssl(7), +CRYPTO_get_ex_new_index(3)

    +

    +

    +
    +

    COPYRIGHT

    +

    Copyright 2017 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

    + + + + diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get_id.html b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get_id.html new file mode 120000 index 0000000..54171b7 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get_id.html @@ -0,0 +1 @@ +SSL_SESSION_set1_id.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get_master_key.html b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get_master_key.html new file mode 120000 index 0000000..586cfd8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get_master_key.html @@ -0,0 +1 @@ +SSL_get_client_random.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get_max_early_data.html b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get_max_early_data.html new file mode 120000 index 0000000..f8ca382 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get_max_early_data.html @@ -0,0 +1 @@ +SSL_read_early_data.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get_max_fragment_length.html b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get_max_fragment_length.html new file mode 120000 index 0000000..8d3f23a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get_max_fragment_length.html @@ -0,0 +1 @@ +SSL_CTX_set_split_send_fragment.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get_protocol_version.html b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get_protocol_version.html index 9f484f8..07ce1c1 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get_protocol_version.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get_protocol_version.html @@ -82,7 +82,7 @@ The SSL_SESSION_set_protocol_version() function was added in OpenSS

    COPYRIGHT

    Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get_ticket_lifetime_hint.html b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get_ticket_lifetime_hint.html new file mode 120000 index 0000000..b739121 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get_ticket_lifetime_hint.html @@ -0,0 +1 @@ +SSL_SESSION_has_ticket.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get_time.html b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get_time.html index cc4e4b9..4c7dbdb 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get_time.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get_time.html @@ -99,7 +99,7 @@ valid values.


    COPYRIGHT

    Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get_timeout.html b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get_timeout.html new file mode 120000 index 0000000..df70e4c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_get_timeout.html @@ -0,0 +1 @@ +SSL_SESSION_get_time.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_has_ticket.html b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_has_ticket.html index 6b63c6b..d963d9a 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_has_ticket.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_has_ticket.html @@ -85,7 +85,7 @@ and SSL_SESSION_get0_ticket() functions were added in OpenSSL 1.1.0.


    COPYRIGHT

    Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_is_resumable.html b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_is_resumable.html index 315d4c3..2d5e0d3 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_is_resumable.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_is_resumable.html @@ -73,7 +73,7 @@ handshake.


    COPYRIGHT

    Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_new.html b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_new.html new file mode 120000 index 0000000..f696e0c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_new.html @@ -0,0 +1 @@ +SSL_SESSION_free.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_print.html b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_print.html index 4c9663a..bdbfe1a 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_print.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_print.html @@ -72,7 +72,7 @@ in NSS keylog format.


    COPYRIGHT

    Copyright 2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_print_fp.html b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_print_fp.html new file mode 120000 index 0000000..c91dc92 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_print_fp.html @@ -0,0 +1 @@ +SSL_SESSION_print.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_print_keylog.html b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_print_keylog.html new file mode 120000 index 0000000..c91dc92 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_print_keylog.html @@ -0,0 +1 @@ +SSL_SESSION_print.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_set1_alpn_selected.html b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_set1_alpn_selected.html new file mode 120000 index 0000000..d158b71 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_set1_alpn_selected.html @@ -0,0 +1 @@ +SSL_SESSION_get0_hostname.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_set1_hostname.html b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_set1_hostname.html new file mode 120000 index 0000000..d158b71 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_set1_hostname.html @@ -0,0 +1 @@ +SSL_SESSION_get0_hostname.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_set1_id.html b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_set1_id.html index 56acfa9..825890e 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_set1_id.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_set1_id.html @@ -78,7 +78,7 @@ if the supplied session ID length exceeds SSL_MAX_SSL_SESSION_ID_LENGTH<

    COPYRIGHT

    Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_set1_id_context.html b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_set1_id_context.html new file mode 120000 index 0000000..a2e892f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_set1_id_context.html @@ -0,0 +1 @@ +SSL_SESSION_get0_id_context.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_set1_master_key.html b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_set1_master_key.html new file mode 120000 index 0000000..586cfd8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_set1_master_key.html @@ -0,0 +1 @@ +SSL_get_client_random.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_set1_ticket_appdata.html b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_set1_ticket_appdata.html new file mode 120000 index 0000000..0bbb46f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_set1_ticket_appdata.html @@ -0,0 +1 @@ +SSL_CTX_set_session_ticket_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_set_cipher.html b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_set_cipher.html new file mode 120000 index 0000000..2106450 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_set_cipher.html @@ -0,0 +1 @@ +SSL_SESSION_get0_cipher.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_set_ex_data.html b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_set_ex_data.html new file mode 120000 index 0000000..a582f63 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_set_ex_data.html @@ -0,0 +1 @@ +SSL_SESSION_get_ex_data.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_set_max_early_data.html b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_set_max_early_data.html new file mode 120000 index 0000000..f8ca382 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_set_max_early_data.html @@ -0,0 +1 @@ +SSL_read_early_data.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_set_protocol_version.html b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_set_protocol_version.html new file mode 120000 index 0000000..c9a8f90 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_set_protocol_version.html @@ -0,0 +1 @@ +SSL_SESSION_get_protocol_version.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_set_time.html b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_set_time.html new file mode 120000 index 0000000..df70e4c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_set_time.html @@ -0,0 +1 @@ +SSL_SESSION_get_time.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_set_timeout.html b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_set_timeout.html new file mode 120000 index 0000000..df70e4c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_set_timeout.html @@ -0,0 +1 @@ +SSL_SESSION_get_time.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_up_ref.html b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_up_ref.html new file mode 120000 index 0000000..f696e0c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_SESSION_up_ref.html @@ -0,0 +1 @@ +SSL_SESSION_free.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_accept.html b/linux_amd64/share/doc/openssl/html/man3/SSL_accept.html index 4e19911..7269dee 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_accept.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_accept.html @@ -106,7 +106,7 @@ to find out the reason.


    COPYRIGHT

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_add0_chain_cert.html b/linux_amd64/share/doc/openssl/html/man3/SSL_add0_chain_cert.html new file mode 120000 index 0000000..ac5ec15 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_add0_chain_cert.html @@ -0,0 +1 @@ +SSL_CTX_add1_chain_cert.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_add1_chain_cert.html b/linux_amd64/share/doc/openssl/html/man3/SSL_add1_chain_cert.html new file mode 120000 index 0000000..ac5ec15 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_add1_chain_cert.html @@ -0,0 +1 @@ +SSL_CTX_add1_chain_cert.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_add1_host.html b/linux_amd64/share/doc/openssl/html/man3/SSL_add1_host.html new file mode 120000 index 0000000..b276994 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_add1_host.html @@ -0,0 +1 @@ +SSL_set1_host.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_add1_to_CA_list.html b/linux_amd64/share/doc/openssl/html/man3/SSL_add1_to_CA_list.html new file mode 120000 index 0000000..98fbbb4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_add1_to_CA_list.html @@ -0,0 +1 @@ +SSL_CTX_set0_CA_list.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_add_client_CA.html b/linux_amd64/share/doc/openssl/html/man3/SSL_add_client_CA.html new file mode 120000 index 0000000..98fbbb4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_add_client_CA.html @@ -0,0 +1 @@ +SSL_CTX_set0_CA_list.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_add_dir_cert_subjects_to_stack.html b/linux_amd64/share/doc/openssl/html/man3/SSL_add_dir_cert_subjects_to_stack.html new file mode 120000 index 0000000..52d2294 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_add_dir_cert_subjects_to_stack.html @@ -0,0 +1 @@ +SSL_load_client_CA_file.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_add_file_cert_subjects_to_stack.html b/linux_amd64/share/doc/openssl/html/man3/SSL_add_file_cert_subjects_to_stack.html new file mode 120000 index 0000000..52d2294 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_add_file_cert_subjects_to_stack.html @@ -0,0 +1 @@ +SSL_load_client_CA_file.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_alert_desc_string.html b/linux_amd64/share/doc/openssl/html/man3/SSL_alert_desc_string.html new file mode 120000 index 0000000..833e4ae --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_alert_desc_string.html @@ -0,0 +1 @@ +SSL_alert_type_string.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_alert_desc_string_long.html b/linux_amd64/share/doc/openssl/html/man3/SSL_alert_desc_string_long.html new file mode 120000 index 0000000..833e4ae --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_alert_desc_string_long.html @@ -0,0 +1 @@ +SSL_alert_type_string.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_alert_type_string.html b/linux_amd64/share/doc/openssl/html/man3/SSL_alert_type_string.html index aec8b5c..67f98f0 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_alert_type_string.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_alert_type_string.html @@ -288,7 +288,7 @@ Probably value does not contain a correct alert message.


    COPYRIGHT

    Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_alert_type_string_long.html b/linux_amd64/share/doc/openssl/html/man3/SSL_alert_type_string_long.html new file mode 120000 index 0000000..833e4ae --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_alert_type_string_long.html @@ -0,0 +1 @@ +SSL_alert_type_string.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_alloc_buffers.html b/linux_amd64/share/doc/openssl/html/man3/SSL_alloc_buffers.html index b18a975..4f62d85 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_alloc_buffers.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_alloc_buffers.html @@ -82,16 +82,15 @@ This value is also returned if the buffers had been allocated before calling


    SEE ALSO

    -

    ssl(7), -SSL_free(3), SSL_clear(3), +

    SSL_free(3), SSL_clear(3), SSL_new(3), SSL_CTX_set_mode(3), -CRYPTO_set_mem_functions(3)

    +CRYPTO_set_mem_functions


    COPYRIGHT

    Copyright 2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_allow_early_data_cb_fn.html b/linux_amd64/share/doc/openssl/html/man3/SSL_allow_early_data_cb_fn.html new file mode 120000 index 0000000..f8ca382 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_allow_early_data_cb_fn.html @@ -0,0 +1 @@ +SSL_read_early_data.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_build_cert_chain.html b/linux_amd64/share/doc/openssl/html/man3/SSL_build_cert_chain.html new file mode 120000 index 0000000..ac5ec15 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_build_cert_chain.html @@ -0,0 +1 @@ +SSL_CTX_add1_chain_cert.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_bytes_to_cipher_list.html b/linux_amd64/share/doc/openssl/html/man3/SSL_bytes_to_cipher_list.html new file mode 120000 index 0000000..3c738e3 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_bytes_to_cipher_list.html @@ -0,0 +1 @@ +SSL_get_ciphers.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_callback_ctrl.html b/linux_amd64/share/doc/openssl/html/man3/SSL_callback_ctrl.html new file mode 120000 index 0000000..fe643c8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_callback_ctrl.html @@ -0,0 +1 @@ +SSL_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_check_chain.html b/linux_amd64/share/doc/openssl/html/man3/SSL_check_chain.html index 7c34064..3fc2998 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_check_chain.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_check_chain.html @@ -109,7 +109,7 @@ for earlier versions of TLS or DTLS.


    COPYRIGHT

    Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_check_private_key.html b/linux_amd64/share/doc/openssl/html/man3/SSL_check_private_key.html new file mode 120000 index 0000000..f60d0ce --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_check_private_key.html @@ -0,0 +1 @@ +SSL_CTX_use_certificate.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_clear.html b/linux_amd64/share/doc/openssl/html/man3/SSL_clear.html index 6412b48..5c2cd3f 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_clear.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_clear.html @@ -107,7 +107,7 @@ find out the reason.


    COPYRIGHT

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_clear_chain_certs.html b/linux_amd64/share/doc/openssl/html/man3/SSL_clear_chain_certs.html new file mode 120000 index 0000000..ac5ec15 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_clear_chain_certs.html @@ -0,0 +1 @@ +SSL_CTX_add1_chain_cert.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_clear_mode.html b/linux_amd64/share/doc/openssl/html/man3/SSL_clear_mode.html new file mode 120000 index 0000000..59ce589 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_clear_mode.html @@ -0,0 +1 @@ +SSL_CTX_set_mode.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_clear_options.html b/linux_amd64/share/doc/openssl/html/man3/SSL_clear_options.html new file mode 120000 index 0000000..2b3c746 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_clear_options.html @@ -0,0 +1 @@ +SSL_CTX_set_options.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_client_hello_cb_fn.html b/linux_amd64/share/doc/openssl/html/man3/SSL_client_hello_cb_fn.html new file mode 120000 index 0000000..701ff87 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_client_hello_cb_fn.html @@ -0,0 +1 @@ +SSL_CTX_set_client_hello_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_client_hello_get0_ciphers.html b/linux_amd64/share/doc/openssl/html/man3/SSL_client_hello_get0_ciphers.html new file mode 120000 index 0000000..701ff87 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_client_hello_get0_ciphers.html @@ -0,0 +1 @@ +SSL_CTX_set_client_hello_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_client_hello_get0_compression_methods.html b/linux_amd64/share/doc/openssl/html/man3/SSL_client_hello_get0_compression_methods.html new file mode 120000 index 0000000..701ff87 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_client_hello_get0_compression_methods.html @@ -0,0 +1 @@ +SSL_CTX_set_client_hello_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_client_hello_get0_ext.html b/linux_amd64/share/doc/openssl/html/man3/SSL_client_hello_get0_ext.html new file mode 120000 index 0000000..701ff87 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_client_hello_get0_ext.html @@ -0,0 +1 @@ +SSL_CTX_set_client_hello_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_client_hello_get0_legacy_version.html b/linux_amd64/share/doc/openssl/html/man3/SSL_client_hello_get0_legacy_version.html new file mode 120000 index 0000000..701ff87 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_client_hello_get0_legacy_version.html @@ -0,0 +1 @@ +SSL_CTX_set_client_hello_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_client_hello_get0_random.html b/linux_amd64/share/doc/openssl/html/man3/SSL_client_hello_get0_random.html new file mode 120000 index 0000000..701ff87 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_client_hello_get0_random.html @@ -0,0 +1 @@ +SSL_CTX_set_client_hello_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_client_hello_get0_session_id.html b/linux_amd64/share/doc/openssl/html/man3/SSL_client_hello_get0_session_id.html new file mode 120000 index 0000000..701ff87 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_client_hello_get0_session_id.html @@ -0,0 +1 @@ +SSL_CTX_set_client_hello_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_client_hello_get1_extensions_present.html b/linux_amd64/share/doc/openssl/html/man3/SSL_client_hello_get1_extensions_present.html new file mode 120000 index 0000000..701ff87 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_client_hello_get1_extensions_present.html @@ -0,0 +1 @@ +SSL_CTX_set_client_hello_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_client_hello_isv2.html b/linux_amd64/share/doc/openssl/html/man3/SSL_client_hello_isv2.html new file mode 120000 index 0000000..701ff87 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_client_hello_isv2.html @@ -0,0 +1 @@ +SSL_CTX_set_client_hello_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_client_version.html b/linux_amd64/share/doc/openssl/html/man3/SSL_client_version.html new file mode 120000 index 0000000..466230f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_client_version.html @@ -0,0 +1 @@ +SSL_get_version.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_config.html b/linux_amd64/share/doc/openssl/html/man3/SSL_config.html new file mode 120000 index 0000000..f567a3c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_config.html @@ -0,0 +1 @@ +SSL_CTX_config.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_connect.html b/linux_amd64/share/doc/openssl/html/man3/SSL_connect.html index c5404cb..e1b819b 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_connect.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_connect.html @@ -119,7 +119,7 @@ to find out the reason.


    COPYRIGHT

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_ct_is_enabled.html b/linux_amd64/share/doc/openssl/html/man3/SSL_ct_is_enabled.html new file mode 120000 index 0000000..a04d25c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_ct_is_enabled.html @@ -0,0 +1 @@ +SSL_CTX_set_ct_validation_callback.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_ctrl.html b/linux_amd64/share/doc/openssl/html/man3/SSL_ctrl.html new file mode 120000 index 0000000..fe643c8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_ctrl.html @@ -0,0 +1 @@ +SSL_CTX_ctrl.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_dane_clear_flags.html b/linux_amd64/share/doc/openssl/html/man3/SSL_dane_clear_flags.html new file mode 120000 index 0000000..4aae135 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_dane_clear_flags.html @@ -0,0 +1 @@ +SSL_CTX_dane_enable.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_dane_enable.html b/linux_amd64/share/doc/openssl/html/man3/SSL_dane_enable.html new file mode 120000 index 0000000..4aae135 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_dane_enable.html @@ -0,0 +1 @@ +SSL_CTX_dane_enable.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_dane_set_flags.html b/linux_amd64/share/doc/openssl/html/man3/SSL_dane_set_flags.html new file mode 120000 index 0000000..4aae135 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_dane_set_flags.html @@ -0,0 +1 @@ +SSL_CTX_dane_enable.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_dane_tlsa_add.html b/linux_amd64/share/doc/openssl/html/man3/SSL_dane_tlsa_add.html new file mode 120000 index 0000000..4aae135 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_dane_tlsa_add.html @@ -0,0 +1 @@ +SSL_CTX_dane_enable.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_disable_ct.html b/linux_amd64/share/doc/openssl/html/man3/SSL_disable_ct.html new file mode 120000 index 0000000..a04d25c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_disable_ct.html @@ -0,0 +1 @@ +SSL_CTX_set_ct_validation_callback.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_do_handshake.html b/linux_amd64/share/doc/openssl/html/man3/SSL_do_handshake.html index f356494..2af0a52 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_do_handshake.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_do_handshake.html @@ -105,7 +105,7 @@ to find out the reason.


    COPYRIGHT

    Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_dup.html b/linux_amd64/share/doc/openssl/html/man3/SSL_dup.html new file mode 120000 index 0000000..2f51f29 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_dup.html @@ -0,0 +1 @@ +SSL_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_enable_ct.html b/linux_amd64/share/doc/openssl/html/man3/SSL_enable_ct.html new file mode 120000 index 0000000..a04d25c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_enable_ct.html @@ -0,0 +1 @@ +SSL_CTX_set_ct_validation_callback.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_export_keying_material.html b/linux_amd64/share/doc/openssl/html/man3/SSL_export_keying_material.html index ac2d77a..19f8f20 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_export_keying_material.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_export_keying_material.html @@ -20,7 +20,6 @@
  • SYNOPSIS
  • DESCRIPTION
  • RETURN VALUES
  • -
  • SEE ALSO
  • HISTORY
  • COPYRIGHT
  • @@ -101,11 +100,6 @@ above. Attempting to use it in SSLv3 will result in an error.


    -

    SEE ALSO

    -

    ssl(7)

    -

    -

    -

    HISTORY

    The SSL_export_keying_material_early() function was added in OpenSSL 1.1.1.

    @@ -113,7 +107,7 @@ above. Attempting to use it in SSLv3 will result in an error.


    COPYRIGHT

    Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_export_keying_material_early.html b/linux_amd64/share/doc/openssl/html/man3/SSL_export_keying_material_early.html new file mode 120000 index 0000000..ee8ea57 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_export_keying_material_early.html @@ -0,0 +1 @@ +SSL_export_keying_material.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_extension_supported.html b/linux_amd64/share/doc/openssl/html/man3/SSL_extension_supported.html index 6aae891..0fc4a9b 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_extension_supported.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_extension_supported.html @@ -23,7 +23,6 @@
  • EXTENSION CONTEXTS
  • NOTES
  • RETURN VALUES
  • -
  • SEE ALSO
  • HISTORY
  • COPYRIGHT
  • @@ -37,9 +36,6 @@

    NAME

    SSL_extension_supported, -SSL_custom_ext_add_cb_ex, -SSL_custom_ext_free_cb_ex, -SSL_custom_ext_parse_cb_ex, SSL_CTX_add_custom_ext, SSL_CTX_add_client_custom_ext, SSL_CTX_add_server_custom_ext, custom_ext_add_cb, custom_ext_free_cb, custom_ext_parse_cb @@ -51,24 +47,24 @@ custom_ext_add_cb, custom_ext_free_cb, custom_ext_parse_cb

      #include <openssl/ssl.h>
    - typedef int (*SSL_custom_ext_add_cb_ex)(SSL *s, unsigned int ext_type,
    -                                         unsigned int context,
    -                                         const unsigned char **out,
    -                                         size_t *outlen, X509 *x,
    -                                         size_t chainidx, int *al,
    -                                         void *add_arg);
    + typedef int (*SSL_custom_ext_add_cb_ex) (SSL *s, unsigned int ext_type, + unsigned int context, + const unsigned char **out, + size_t *outlen, X509 *x, + size_t chainidx, int *al, + void *add_arg);
    - typedef void (*SSL_custom_ext_free_cb_ex)(SSL *s, unsigned int ext_type,
    -                                           unsigned int context,
    -                                           const unsigned char *out,
    -                                           void *add_arg);
    + typedef void (*SSL_custom_ext_free_cb_ex) (SSL *s, unsigned int ext_type, + unsigned int context, + const unsigned char *out, + void *add_arg);
    - typedef int (*SSL_custom_ext_parse_cb_ex)(SSL *s, unsigned int ext_type,
    -                                           unsigned int context,
    -                                           const unsigned char *in,
    -                                           size_t inlen, X509 *x,
    -                                           size_t chainidx, int *al,
    -                                           void *parse_arg);
    + typedef int (*SSL_custom_ext_parse_cb_ex) (SSL *s, unsigned int ext_type, + unsigned int context, + const unsigned char *in, + size_t inlen, X509 *x, + size_t chainidx, int *al, + void *parse_arg);
      int SSL_CTX_add_custom_ext(SSL_CTX *ctx, unsigned int ext_type,
                                 unsigned int context,
    @@ -314,11 +310,6 @@ internally by OpenSSL and 0 otherwise.


    -

    SEE ALSO

    -

    ssl(7)

    -

    -

    -

    HISTORY

    The SSL_CTX_add_custom_ext() function was added in OpenSSL 1.1.1.

    @@ -326,7 +317,7 @@ internally by OpenSSL and 0 otherwise.


    COPYRIGHT

    Copyright 2014-2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_free.html b/linux_amd64/share/doc/openssl/html/man3/SSL_free.html index e550169..eb1c228 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_free.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_free.html @@ -79,7 +79,7 @@ from the session cache as required by COPYRIGHT

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_free_buffers.html b/linux_amd64/share/doc/openssl/html/man3/SSL_free_buffers.html new file mode 120000 index 0000000..4c13e5d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_free_buffers.html @@ -0,0 +1 @@ +SSL_alloc_buffers.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get0_CA_list.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get0_CA_list.html new file mode 120000 index 0000000..98fbbb4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get0_CA_list.html @@ -0,0 +1 @@ +SSL_CTX_set0_CA_list.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get0_alpn_selected.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get0_alpn_selected.html new file mode 120000 index 0000000..5ca0cdf --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get0_alpn_selected.html @@ -0,0 +1 @@ +SSL_CTX_set_alpn_select_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get0_chain_certs.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get0_chain_certs.html new file mode 120000 index 0000000..ac5ec15 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get0_chain_certs.html @@ -0,0 +1 @@ +SSL_CTX_add1_chain_cert.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get0_dane_authority.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get0_dane_authority.html new file mode 120000 index 0000000..4aae135 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get0_dane_authority.html @@ -0,0 +1 @@ +SSL_CTX_dane_enable.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get0_dane_tlsa.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get0_dane_tlsa.html new file mode 120000 index 0000000..4aae135 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get0_dane_tlsa.html @@ -0,0 +1 @@ +SSL_CTX_dane_enable.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get0_next_proto_negotiated.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get0_next_proto_negotiated.html new file mode 120000 index 0000000..5ca0cdf --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get0_next_proto_negotiated.html @@ -0,0 +1 @@ +SSL_CTX_set_alpn_select_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get0_param.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get0_param.html new file mode 120000 index 0000000..6cc1ff8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get0_param.html @@ -0,0 +1 @@ +SSL_CTX_get0_param.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get0_peer_CA_list.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get0_peer_CA_list.html new file mode 120000 index 0000000..98fbbb4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get0_peer_CA_list.html @@ -0,0 +1 @@ +SSL_CTX_set0_CA_list.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get0_peer_scts.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get0_peer_scts.html index 6b73630..da386e3 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_get0_peer_scts.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get0_peer_scts.html @@ -74,7 +74,7 @@ capable of sending.


    COPYRIGHT

    Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get0_peername.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get0_peername.html new file mode 120000 index 0000000..b276994 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get0_peername.html @@ -0,0 +1 @@ +SSL_set1_host.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get0_security_ex_data.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get0_security_ex_data.html new file mode 120000 index 0000000..9c5134c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get0_security_ex_data.html @@ -0,0 +1 @@ +SSL_CTX_set_security_level.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get0_session.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get0_session.html new file mode 120000 index 0000000..79a2e68 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get0_session.html @@ -0,0 +1 @@ +SSL_get_session.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get0_verified_chain.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get0_verified_chain.html new file mode 120000 index 0000000..09a399d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get0_verified_chain.html @@ -0,0 +1 @@ +SSL_get_peer_cert_chain.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get1_curves.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get1_curves.html new file mode 120000 index 0000000..09b98ee --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get1_curves.html @@ -0,0 +1 @@ +SSL_CTX_set1_curves.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get1_groups.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get1_groups.html new file mode 120000 index 0000000..09b98ee --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get1_groups.html @@ -0,0 +1 @@ +SSL_CTX_set1_curves.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get1_session.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get1_session.html new file mode 120000 index 0000000..79a2e68 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get1_session.html @@ -0,0 +1 @@ +SSL_get_session.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get1_supported_ciphers.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get1_supported_ciphers.html new file mode 120000 index 0000000..3c738e3 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get1_supported_ciphers.html @@ -0,0 +1 @@ +SSL_get_ciphers.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_SSL_CTX.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_SSL_CTX.html index c5a1316..2b5a435 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_get_SSL_CTX.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_SSL_CTX.html @@ -62,7 +62,7 @@

    COPYRIGHT

    Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_all_async_fds.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_all_async_fds.html index a6eda46..d91049b 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_get_all_async_fds.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_all_async_fds.html @@ -55,30 +55,30 @@ SSL_get_changed_async_fds

    DESCRIPTION

    SSL_waiting_for_async() determines whether an SSL connection is currently -waiting for asynchronous operations to complete (see the SSL_MODE_ASYNC mode -in SSL_CTX_set_mode(3)).

    +waiting for asynchronous operations to complete (see the SSL_MODE_ASYNC mode in +SSL_CTX_set_mode(3)).

    SSL_get_all_async_fds() returns a list of file descriptor which can be used in a call to select() or poll() to determine whether the current asynchronous operation has completed or not. A completed operation will result in data appearing as "read ready" on the file descriptor (no actual data should be read -from the file descriptor). This function should only be called if the SSL -object is currently waiting for asynchronous work to complete (i.e. -SSL_ERROR_WANT_ASYNC has been received - see SSL_get_error(3)). Typically -the list will only contain one file descriptor. However if multiple asynchronous +from the file descriptor). This function should only be called if the SSL object +is currently waiting for asynchronous work to complete (i.e. +SSL_ERROR_WANT_ASYNC has been received - see SSL_get_error(3)). Typically the +list will only contain one file descriptor. However if multiple asynchronous capable engines are in use then more than one is possible. The number of file -descriptors returned is stored in *numfds and the file descriptors themselves -are in *fds. The fds parameter may be NULL in which case no file -descriptors are returned but *numfds is still populated. It is the callers -responsibility to ensure sufficient memory is allocated at *fds so typically -this function is called twice (once with a NULL fds parameter and once +descriptors returned is stored in *numfds and the file descriptors themselves +are in *fds. The fds parameter may be NULL in which case no file +descriptors are returned but *numfds is still populated. It is the callers +responsibility to ensure sufficient memory is allocated at *fds so typically +this function is called twice (once with a NULL fds parameter and once without).

    SSL_get_changed_async_fds() returns a list of the asynchronous file descriptors that have been added and a list that have been deleted since the last -SSL_ERROR_WANT_ASYNC was received (or since the SSL object was created if -no SSL_ERROR_WANT_ASYNC has been received). Similar to SSL_get_all_async_fds() -it is the callers responsibility to ensure that *addfd and *delfd have +SSL_ERROR_WANT_ASYNC was received (or since the SSL object was created if no +SSL_ERROR_WANT_ASYNC has been received). Similar to SSL_get_all_async_fds() it +is the callers responsibility to ensure that *addfd and *delfd have sufficient memory allocated, although they may be NULL. The number of added fds -and the number of deleted fds are stored in *numaddfds and *numdelfds +and the number of deleted fds are stored in *numaddfds and *numdelfds respectively.

    @@ -102,8 +102,7 @@ windows.h prior to async.h.


    SEE ALSO

    -

    ssl(7), -SSL_get_error(3), SSL_CTX_set_mode(3)

    +

    SSL_get_error(3), SSL_CTX_set_mode(3)


    @@ -115,7 +114,7 @@ and SSL_get_changed_async_fds() functions were added in OpenSSL 1.1

    COPYRIGHT

    Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_changed_async_fds.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_changed_async_fds.html new file mode 120000 index 0000000..f3461c8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_changed_async_fds.html @@ -0,0 +1 @@ +SSL_get_all_async_fds.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_cipher.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_cipher.html new file mode 120000 index 0000000..ba8f598 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_cipher.html @@ -0,0 +1 @@ +SSL_get_current_cipher.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_cipher_bits.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_cipher_bits.html new file mode 120000 index 0000000..ba8f598 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_cipher_bits.html @@ -0,0 +1 @@ +SSL_get_current_cipher.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_cipher_list.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_cipher_list.html new file mode 120000 index 0000000..3c738e3 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_cipher_list.html @@ -0,0 +1 @@ +SSL_get_ciphers.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_cipher_name.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_cipher_name.html new file mode 120000 index 0000000..ba8f598 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_cipher_name.html @@ -0,0 +1 @@ +SSL_get_current_cipher.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_cipher_version.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_cipher_version.html new file mode 120000 index 0000000..ba8f598 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_cipher_version.html @@ -0,0 +1 @@ +SSL_get_current_cipher.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_ciphers.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_ciphers.html index 2ff63ec..eb68c3b 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_get_ciphers.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_ciphers.html @@ -136,7 +136,7 @@ free the return value itself.


    COPYRIGHT

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_client_CA_list.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_client_CA_list.html new file mode 120000 index 0000000..98fbbb4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_client_CA_list.html @@ -0,0 +1 @@ +SSL_CTX_set0_CA_list.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_client_ciphers.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_client_ciphers.html new file mode 120000 index 0000000..3c738e3 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_client_ciphers.html @@ -0,0 +1 @@ +SSL_get_ciphers.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_client_random.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_client_random.html index 8c0835a..24a986d 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_get_client_random.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_client_random.html @@ -122,7 +122,7 @@ of bytes they would copy -- that is, the length of the underlying field.


    COPYRIGHT

    Copyright 2015-2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_current_cipher.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_current_cipher.html index dccfe1e..0d19ec4 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_get_current_cipher.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_current_cipher.html @@ -97,7 +97,7 @@ SSL_get_cipher_name are implemented as macros.


    COPYRIGHT

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_default_passwd_cb.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_default_passwd_cb.html new file mode 120000 index 0000000..7d830c6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_default_passwd_cb.html @@ -0,0 +1 @@ +SSL_CTX_set_default_passwd_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_default_passwd_cb_userdata.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_default_passwd_cb_userdata.html new file mode 120000 index 0000000..7d830c6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_default_passwd_cb_userdata.html @@ -0,0 +1 @@ +SSL_CTX_set_default_passwd_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_default_timeout.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_default_timeout.html index b5f9f1f..f23bb1f 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_get_default_timeout.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_default_timeout.html @@ -78,7 +78,7 @@ for all currently supported protocols.


    COPYRIGHT

    Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_early_data_status.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_early_data_status.html new file mode 120000 index 0000000..f8ca382 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_early_data_status.html @@ -0,0 +1 @@ +SSL_read_early_data.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_error.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_error.html index c2c0bb3..a1f0361 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_get_error.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_error.html @@ -203,8 +203,8 @@ The SSL_ERROR_WANT_CLIENT_HELLO_CB error code was added in OpenSSL 1.1.1.


    COPYRIGHT

    -

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_ex_data.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_ex_data.html new file mode 120000 index 0000000..541b4ec --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_ex_data.html @@ -0,0 +1 @@ +SSL_CTX_set_ex_data.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_ex_data_X509_STORE_CTX_idx.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_ex_data_X509_STORE_CTX_idx.html new file mode 120000 index 0000000..6091896 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_ex_data_X509_STORE_CTX_idx.html @@ -0,0 +1 @@ +SSL_CTX_set_verify.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_extms_support.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_extms_support.html index 2d13eb9..1439ce3 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_get_extms_support.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_extms_support.html @@ -66,7 +66,7 @@ was used.


    COPYRIGHT

    Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_fd.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_fd.html index 6aa6313..a0b8a2b 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_get_fd.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_fd.html @@ -80,7 +80,7 @@ of the read channel.


    COPYRIGHT

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_info_callback.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_info_callback.html new file mode 120000 index 0000000..0c6819c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_info_callback.html @@ -0,0 +1 @@ +SSL_CTX_set_info_callback.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_key_update_type.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_key_update_type.html new file mode 120000 index 0000000..75b4af6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_key_update_type.html @@ -0,0 +1 @@ +SSL_key_update.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_max_cert_list.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_max_cert_list.html new file mode 120000 index 0000000..7635159 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_max_cert_list.html @@ -0,0 +1 @@ +SSL_CTX_set_max_cert_list.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_max_early_data.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_max_early_data.html new file mode 120000 index 0000000..f8ca382 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_max_early_data.html @@ -0,0 +1 @@ +SSL_read_early_data.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_max_proto_version.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_max_proto_version.html new file mode 120000 index 0000000..9fa3152 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_max_proto_version.html @@ -0,0 +1 @@ +SSL_CTX_set_min_proto_version.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_min_proto_version.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_min_proto_version.html new file mode 120000 index 0000000..9fa3152 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_min_proto_version.html @@ -0,0 +1 @@ +SSL_CTX_set_min_proto_version.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_mode.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_mode.html new file mode 120000 index 0000000..59ce589 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_mode.html @@ -0,0 +1 @@ +SSL_CTX_set_mode.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_num_tickets.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_num_tickets.html new file mode 120000 index 0000000..7a45892 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_num_tickets.html @@ -0,0 +1 @@ +SSL_CTX_set_num_tickets.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_options.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_options.html new file mode 120000 index 0000000..2b3c746 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_options.html @@ -0,0 +1 @@ +SSL_CTX_set_options.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_peer_cert_chain.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_peer_cert_chain.html index b2c53ba..6d62132 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_get_peer_cert_chain.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_peer_cert_chain.html @@ -103,7 +103,7 @@ or the certificate chain is no longer available when a session is reused.


    COPYRIGHT

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_peer_certificate.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_peer_certificate.html index ab4cd15..319c5d4 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_get_peer_certificate.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_peer_certificate.html @@ -91,7 +91,7 @@ freed. The X509 object must be explicitly freed using X509_free().


    COPYRIGHT

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_peer_signature_nid.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_peer_signature_nid.html index dd3f530..927d633 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_get_peer_signature_nid.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_peer_signature_nid.html @@ -78,7 +78,7 @@ the functions were called too early, e.g. before the peer signed a message.


    COPYRIGHT

    Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_peer_signature_type_nid.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_peer_signature_type_nid.html new file mode 120000 index 0000000..3e5f1a4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_peer_signature_type_nid.html @@ -0,0 +1 @@ +SSL_get_peer_signature_nid.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_peer_tmp_key.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_peer_tmp_key.html index 59bbdcd..d2e0531 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_get_peer_tmp_key.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_peer_tmp_key.html @@ -80,7 +80,7 @@ end of the connection.


    COPYRIGHT

    Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_pending_cipher.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_pending_cipher.html new file mode 120000 index 0000000..ba8f598 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_pending_cipher.html @@ -0,0 +1 @@ +SSL_get_current_cipher.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_psk_identity.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_psk_identity.html index 5ab5eba..0f452a0 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_get_psk_identity.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_psk_identity.html @@ -20,7 +20,6 @@
  • SYNOPSIS
  • DESCRIPTION
  • RETURN VALUES
  • -
  • SEE ALSO
  • COPYRIGHT
  • @@ -63,14 +62,9 @@ SSL object ssl.


    -

    SEE ALSO

    -

    ssl(7)

    -

    -

    -

    COPYRIGHT

    Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_psk_identity_hint.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_psk_identity_hint.html new file mode 120000 index 0000000..fd773cc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_psk_identity_hint.html @@ -0,0 +1 @@ +SSL_get_psk_identity.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_quiet_shutdown.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_quiet_shutdown.html new file mode 120000 index 0000000..5bf42d2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_quiet_shutdown.html @@ -0,0 +1 @@ +SSL_CTX_set_quiet_shutdown.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_rbio.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_rbio.html index 4fcba55..a690142 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_get_rbio.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_rbio.html @@ -76,7 +76,7 @@ of the BIO is not incremented.


    COPYRIGHT

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_read_ahead.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_read_ahead.html new file mode 120000 index 0000000..4afbdd7 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_read_ahead.html @@ -0,0 +1 @@ +SSL_CTX_set_read_ahead.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_record_padding_callback_arg.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_record_padding_callback_arg.html new file mode 120000 index 0000000..d080916 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_record_padding_callback_arg.html @@ -0,0 +1 @@ +SSL_CTX_set_record_padding_callback.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_recv_max_early_data.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_recv_max_early_data.html new file mode 120000 index 0000000..f8ca382 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_recv_max_early_data.html @@ -0,0 +1 @@ +SSL_read_early_data.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_rfd.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_rfd.html new file mode 120000 index 0000000..662e353 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_rfd.html @@ -0,0 +1 @@ +SSL_get_fd.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_secure_renegotiation_support.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_secure_renegotiation_support.html new file mode 120000 index 0000000..2b3c746 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_secure_renegotiation_support.html @@ -0,0 +1 @@ +SSL_CTX_set_options.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_security_callback.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_security_callback.html new file mode 120000 index 0000000..9c5134c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_security_callback.html @@ -0,0 +1 @@ +SSL_CTX_set_security_level.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_security_level.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_security_level.html new file mode 120000 index 0000000..9c5134c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_security_level.html @@ -0,0 +1 @@ +SSL_CTX_set_security_level.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_selected_srtp_profile.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_selected_srtp_profile.html new file mode 120000 index 0000000..8ff8be0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_selected_srtp_profile.html @@ -0,0 +1 @@ +SSL_CTX_set_tlsext_use_srtp.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_server_random.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_server_random.html new file mode 120000 index 0000000..586cfd8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_server_random.html @@ -0,0 +1 @@ +SSL_get_client_random.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_server_tmp_key.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_server_tmp_key.html new file mode 120000 index 0000000..92db778 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_server_tmp_key.html @@ -0,0 +1 @@ +SSL_get_peer_tmp_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_servername.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_servername.html new file mode 120000 index 0000000..cafe23d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_servername.html @@ -0,0 +1 @@ +SSL_CTX_set_tlsext_servername_callback.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_servername_type.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_servername_type.html new file mode 120000 index 0000000..cafe23d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_servername_type.html @@ -0,0 +1 @@ +SSL_CTX_set_tlsext_servername_callback.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_session.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_session.html index d2c515c..7040a5d 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_get_session.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_session.html @@ -130,7 +130,7 @@ from this SSL_CTX object).


    COPYRIGHT

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_shared_ciphers.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_shared_ciphers.html new file mode 120000 index 0000000..3c738e3 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_shared_ciphers.html @@ -0,0 +1 @@ +SSL_get_ciphers.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_shared_curve.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_shared_curve.html new file mode 120000 index 0000000..09b98ee --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_shared_curve.html @@ -0,0 +1 @@ +SSL_CTX_set1_curves.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_shared_group.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_shared_group.html new file mode 120000 index 0000000..09b98ee --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_shared_group.html @@ -0,0 +1 @@ +SSL_CTX_set1_curves.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_shared_sigalgs.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_shared_sigalgs.html index 04e0e4e..fbe306f 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_get_shared_sigalgs.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_shared_sigalgs.html @@ -109,7 +109,7 @@ signature algorithm does not use a hash (for example Ed25519).


    COPYRIGHT

    Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_shutdown.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_shutdown.html new file mode 120000 index 0000000..d72c13e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_shutdown.html @@ -0,0 +1 @@ +SSL_set_shutdown.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_sigalgs.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_sigalgs.html new file mode 120000 index 0000000..48fa9aa --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_sigalgs.html @@ -0,0 +1 @@ +SSL_get_shared_sigalgs.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_signature_nid.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_signature_nid.html new file mode 120000 index 0000000..3e5f1a4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_signature_nid.html @@ -0,0 +1 @@ +SSL_get_peer_signature_nid.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_signature_type_nid.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_signature_type_nid.html new file mode 120000 index 0000000..3e5f1a4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_signature_type_nid.html @@ -0,0 +1 @@ +SSL_get_peer_signature_nid.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_srtp_profiles.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_srtp_profiles.html new file mode 120000 index 0000000..8ff8be0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_srtp_profiles.html @@ -0,0 +1 @@ +SSL_CTX_set_tlsext_use_srtp.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_ssl_method.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_ssl_method.html new file mode 120000 index 0000000..7bd95e6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_ssl_method.html @@ -0,0 +1 @@ +SSL_CTX_set_ssl_version.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_state.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_state.html new file mode 120000 index 0000000..5d38e42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_state.html @@ -0,0 +1 @@ +SSL_in_init.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_time.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_time.html new file mode 120000 index 0000000..df70e4c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_time.html @@ -0,0 +1 @@ +SSL_SESSION_get_time.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_timeout.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_timeout.html new file mode 120000 index 0000000..df70e4c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_timeout.html @@ -0,0 +1 @@ +SSL_SESSION_get_time.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_tlsext_status_ocsp_resp.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_tlsext_status_ocsp_resp.html new file mode 120000 index 0000000..66e939c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_tlsext_status_ocsp_resp.html @@ -0,0 +1 @@ +SSL_CTX_set_tlsext_status_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_tlsext_status_type.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_tlsext_status_type.html new file mode 120000 index 0000000..66e939c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_tlsext_status_type.html @@ -0,0 +1 @@ +SSL_CTX_set_tlsext_status_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_tmp_key.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_tmp_key.html new file mode 120000 index 0000000..92db778 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_tmp_key.html @@ -0,0 +1 @@ +SSL_get_peer_tmp_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_verify_callback.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_verify_callback.html new file mode 120000 index 0000000..9179e4f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_verify_callback.html @@ -0,0 +1 @@ +SSL_CTX_get_verify_mode.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_verify_depth.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_verify_depth.html new file mode 120000 index 0000000..9179e4f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_verify_depth.html @@ -0,0 +1 @@ +SSL_CTX_get_verify_mode.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_verify_mode.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_verify_mode.html new file mode 120000 index 0000000..9179e4f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_verify_mode.html @@ -0,0 +1 @@ +SSL_CTX_get_verify_mode.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_verify_result.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_verify_result.html index 387c206..51876fe 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_get_verify_result.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_verify_result.html @@ -81,7 +81,7 @@ with SSL_get_peer_certificate(3).

    Any other value
    -

    Documented in openssl-verify(1).

    +

    Documented in verify(1).

    @@ -90,13 +90,13 @@ with SSL_get_peer_certificate(3).

    SEE ALSO

    ssl(7), SSL_set_verify_result(3), SSL_get_peer_certificate(3), -openssl-verify(1)

    +verify(1)


    COPYRIGHT

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_version.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_version.html index 1e7e48a..a6d109a 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_get_version.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_version.html @@ -144,7 +144,7 @@ SSL_client_version()).


    COPYRIGHT

    Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_wbio.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_wbio.html new file mode 120000 index 0000000..c18996c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_wbio.html @@ -0,0 +1 @@ +SSL_get_rbio.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_get_wfd.html b/linux_amd64/share/doc/openssl/html/man3/SSL_get_wfd.html new file mode 120000 index 0000000..662e353 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_get_wfd.html @@ -0,0 +1 @@ +SSL_get_fd.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_has_matching_session_id.html b/linux_amd64/share/doc/openssl/html/man3/SSL_has_matching_session_id.html new file mode 120000 index 0000000..6c5144d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_has_matching_session_id.html @@ -0,0 +1 @@ +SSL_CTX_set_generate_session_id.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_has_pending.html b/linux_amd64/share/doc/openssl/html/man3/SSL_has_pending.html new file mode 120000 index 0000000..18b2cb8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_has_pending.html @@ -0,0 +1 @@ +SSL_pending.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_in_accept_init.html b/linux_amd64/share/doc/openssl/html/man3/SSL_in_accept_init.html new file mode 120000 index 0000000..5d38e42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_in_accept_init.html @@ -0,0 +1 @@ +SSL_in_init.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_in_before.html b/linux_amd64/share/doc/openssl/html/man3/SSL_in_before.html new file mode 120000 index 0000000..5d38e42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_in_before.html @@ -0,0 +1 @@ +SSL_in_init.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_in_connect_init.html b/linux_amd64/share/doc/openssl/html/man3/SSL_in_connect_init.html new file mode 120000 index 0000000..5d38e42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_in_connect_init.html @@ -0,0 +1 @@ +SSL_in_init.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_in_init.html b/linux_amd64/share/doc/openssl/html/man3/SSL_in_init.html index bbe6375..5d9d026 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_in_init.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_in_init.html @@ -125,7 +125,7 @@ and SSL_in_accept_init() return values as indicated above.


    COPYRIGHT

    Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_is_dtls.html b/linux_amd64/share/doc/openssl/html/man3/SSL_is_dtls.html new file mode 120000 index 0000000..466230f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_is_dtls.html @@ -0,0 +1 @@ +SSL_get_version.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_is_init_finished.html b/linux_amd64/share/doc/openssl/html/man3/SSL_is_init_finished.html new file mode 120000 index 0000000..5d38e42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_is_init_finished.html @@ -0,0 +1 @@ +SSL_in_init.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_is_server.html b/linux_amd64/share/doc/openssl/html/man3/SSL_is_server.html new file mode 120000 index 0000000..f8a643c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_is_server.html @@ -0,0 +1 @@ +SSL_set_connect_state.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_key_update.html b/linux_amd64/share/doc/openssl/html/man3/SSL_key_update.html index 289475b..af27cb2 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_key_update.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_key_update.html @@ -128,8 +128,8 @@ OpenSSL 1.1.1.


    COPYRIGHT

    -

    Copyright 2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2017-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_library_init.html b/linux_amd64/share/doc/openssl/html/man3/SSL_library_init.html index 2ac91b7..bef4d12 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_library_init.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_library_init.html @@ -88,8 +88,8 @@ deprecated in OpenSSL 1.1.0 by OPENSSL_init_ssl().


    COPYRIGHT

    -

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_load_client_CA_file.html b/linux_amd64/share/doc/openssl/html/man3/SSL_load_client_CA_file.html index bfb5bce..93ecd40 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_load_client_CA_file.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_load_client_CA_file.html @@ -23,7 +23,6 @@
  • RETURN VALUES
  • EXAMPLES
  • SEE ALSO
  • -
  • HISTORY
  • COPYRIGHT
  • @@ -37,8 +36,7 @@

    NAME

    SSL_load_client_CA_file, SSL_add_file_cert_subjects_to_stack, -SSL_add_dir_cert_subjects_to_stack, -SSL_add_store_cert_subjects_to_stack +SSL_add_dir_cert_subjects_to_stack - load certificate names

    @@ -52,9 +50,7 @@ SSL_add_store_cert_subjects_to_stack int SSL_add_file_cert_subjects_to_stack(STACK_OF(X509_NAME) *stack, const char *file) int SSL_add_dir_cert_subjects_to_stack(STACK_OF(X509_NAME) *stack, - const char *dir) - int SSL_add_store_cert_subjects_to_stack(STACK_OF(X509_NAME) *stack, - const char *store)
    + const char *dir)


    @@ -66,9 +62,6 @@ and adds their subject name to the already existing stack.

    SSL_add_dir_cert_subjects_to_stack() reads certificates from every file in the directory dir, and adds their subject name to the already existing stack.

    -

    SSL_add_store_cert_subjects_to_stack() loads certificates from the -store URI, and adds their subject name to the already existing -stack.


    @@ -116,19 +109,13 @@ it is not limited to CA certificates.


    SEE ALSO

    ssl(7), -ossl_store(7), SSL_CTX_set_client_CA_list(3)


    -

    HISTORY

    -

    SSL_add_store_cert_subjects_to_stack() was added in OpenSSL 3.0.

    -

    -

    -

    COPYRIGHT

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_load_error_strings.html b/linux_amd64/share/doc/openssl/html/man3/SSL_load_error_strings.html new file mode 120000 index 0000000..5dd87d8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_load_error_strings.html @@ -0,0 +1 @@ +ERR_load_crypto_strings.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_new.html b/linux_amd64/share/doc/openssl/html/man3/SSL_new.html index 2f05543..fc12d80 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_new.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_new.html @@ -57,22 +57,10 @@ reference count drops to zero, any memory or resources allocated to the structure are freed.

    SSL_up_ref() increments the reference count for an existing SSL structure.

    -

    SSL_dup() duplicates an existing SSL structure into a new allocated one -or just increments the reference count if the connection is active. All +

    SSL_dup() duplicates an existing SSL structure into a new allocated one. All settings are inherited from the original SSL structure. Dynamic data (i.e. existing connection details) are not copied, the new SSL is set into an initial accept (server) or connect (client) state.

    -

    SSL_dup() allows applications to configure an SSL handle for use in multiple -SSL connections, and then duplicate it prior to initiating each connection -with the duplicated handle. Use of SSL_dup() avoids the need to repeat -the configuration of the handles for each connection.

    -

    For SSL_dup() to work, the connection MUST be in its initial state and -MUST NOT have not yet have started the SSL handshake. For connections -that are not in their initial state SSL_dup() just increments an internal -reference count and returns the same handle. It may be possible to -use SSL_clear(3) to recycle an SSL handle that is not in its initial -state for re-use, but this is best avoided. Instead, save and restore -the session, if desired, and construct a fresh handle for each connection.


    @@ -105,7 +93,7 @@ find out the reason.


    COPYRIGHT

    Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_peek.html b/linux_amd64/share/doc/openssl/html/man3/SSL_peek.html new file mode 120000 index 0000000..bb8bbee --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_peek.html @@ -0,0 +1 @@ +SSL_read.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_peek_ex.html b/linux_amd64/share/doc/openssl/html/man3/SSL_peek_ex.html new file mode 120000 index 0000000..bb8bbee --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_peek_ex.html @@ -0,0 +1 @@ +SSL_read.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_pending.html b/linux_amd64/share/doc/openssl/html/man3/SSL_pending.html index fbb280a..9cf9f55 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_pending.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_pending.html @@ -95,7 +95,7 @@ returns 1 if there is buffered record data in the SSL object and 0 otherwise.

    COPYRIGHT

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_psk_client_cb_func.html b/linux_amd64/share/doc/openssl/html/man3/SSL_psk_client_cb_func.html new file mode 120000 index 0000000..faa8764 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_psk_client_cb_func.html @@ -0,0 +1 @@ +SSL_CTX_set_psk_client_callback.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_psk_find_session_cb_func.html b/linux_amd64/share/doc/openssl/html/man3/SSL_psk_find_session_cb_func.html new file mode 120000 index 0000000..9b21e68 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_psk_find_session_cb_func.html @@ -0,0 +1 @@ +SSL_CTX_use_psk_identity_hint.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_psk_server_cb_func.html b/linux_amd64/share/doc/openssl/html/man3/SSL_psk_server_cb_func.html new file mode 120000 index 0000000..9b21e68 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_psk_server_cb_func.html @@ -0,0 +1 @@ +SSL_CTX_use_psk_identity_hint.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_psk_use_session_cb_func.html b/linux_amd64/share/doc/openssl/html/man3/SSL_psk_use_session_cb_func.html new file mode 120000 index 0000000..faa8764 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_psk_use_session_cb_func.html @@ -0,0 +1 @@ +SSL_CTX_set_psk_client_callback.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_read.html b/linux_amd64/share/doc/openssl/html/man3/SSL_read.html index 6664936..de61d07 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_read.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_read.html @@ -173,7 +173,7 @@ You should instead call SSL_get_error() to find out if it's retryab

    COPYRIGHT

    Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_read_early_data.html b/linux_amd64/share/doc/openssl/html/man3/SSL_read_early_data.html index 275c035..c4b2117 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_read_early_data.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_read_early_data.html @@ -220,7 +220,7 @@ early data settings for the SSL_CTX and SSL objects respectively. Generally a server application will either use both of SSL_read_early_data() and SSL_CTX_set_max_early_data() (or SSL_set_max_early_data()), or neither of them, since there is no practical benefit from using only one of them. If the maximum -early data setting for a server is nonzero then replay protection is +early data setting for a server is non-zero then replay protection is automatically enabled (see REPLAY PROTECTION below).

    If the server rejects the early data sent by a client then it will skip over the data that is sent. The maximum amount of received early data that is skipped @@ -299,7 +299,7 @@ retry with a lower maximum protocol version.

    When early data is in use the TLS protocol provides no security guarantees that the same early data was not replayed across multiple connections. As a mitigation for this issue OpenSSL automatically enables replay protection if the -server is configured with a nonzero max early data value. With replay +server is configured with a non-zero max early data value. With replay protection enabled sessions are forced to be single use only. If a client attempts to reuse a session ticket more than once, then the second and subsequent attempts will fall back to a full handshake (and any early data that @@ -374,8 +374,8 @@ the server, or SSL_EARLY_DATA_NOT_SENT if no early data was sent.


    COPYRIGHT

    -

    Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2017-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_read_ex.html b/linux_amd64/share/doc/openssl/html/man3/SSL_read_ex.html new file mode 120000 index 0000000..bb8bbee --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_read_ex.html @@ -0,0 +1 @@ +SSL_read.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_renegotiate.html b/linux_amd64/share/doc/openssl/html/man3/SSL_renegotiate.html new file mode 120000 index 0000000..75b4af6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_renegotiate.html @@ -0,0 +1 @@ +SSL_key_update.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_renegotiate_abbreviated.html b/linux_amd64/share/doc/openssl/html/man3/SSL_renegotiate_abbreviated.html new file mode 120000 index 0000000..75b4af6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_renegotiate_abbreviated.html @@ -0,0 +1 @@ +SSL_key_update.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_renegotiate_pending.html b/linux_amd64/share/doc/openssl/html/man3/SSL_renegotiate_pending.html new file mode 120000 index 0000000..75b4af6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_renegotiate_pending.html @@ -0,0 +1 @@ +SSL_key_update.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_rstate_string.html b/linux_amd64/share/doc/openssl/html/man3/SSL_rstate_string.html index 6636bef..cd88bd3 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_rstate_string.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_rstate_string.html @@ -97,7 +97,7 @@ values:


    COPYRIGHT

    Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_rstate_string_long.html b/linux_amd64/share/doc/openssl/html/man3/SSL_rstate_string_long.html new file mode 120000 index 0000000..8ef2b50 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_rstate_string_long.html @@ -0,0 +1 @@ +SSL_rstate_string.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_select_current_cert.html b/linux_amd64/share/doc/openssl/html/man3/SSL_select_current_cert.html new file mode 120000 index 0000000..ac5ec15 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_select_current_cert.html @@ -0,0 +1 @@ +SSL_CTX_add1_chain_cert.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_select_next_proto.html b/linux_amd64/share/doc/openssl/html/man3/SSL_select_next_proto.html new file mode 120000 index 0000000..5ca0cdf --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_select_next_proto.html @@ -0,0 +1 @@ +SSL_CTX_set_alpn_select_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_session_reused.html b/linux_amd64/share/doc/openssl/html/man3/SSL_session_reused.html index b8dcc3d..b2a6fd6 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_session_reused.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_session_reused.html @@ -78,8 +78,8 @@ queried by the application.


    COPYRIGHT

    -

    Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2001-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set0_CA_list.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set0_CA_list.html new file mode 120000 index 0000000..98fbbb4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set0_CA_list.html @@ -0,0 +1 @@ +SSL_CTX_set0_CA_list.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set0_chain.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set0_chain.html new file mode 120000 index 0000000..ac5ec15 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set0_chain.html @@ -0,0 +1 @@ +SSL_CTX_add1_chain_cert.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set0_chain_cert_store.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set0_chain_cert_store.html new file mode 120000 index 0000000..5af1bbc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set0_chain_cert_store.html @@ -0,0 +1 @@ +SSL_CTX_set1_verify_cert_store.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set0_rbio.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set0_rbio.html new file mode 120000 index 0000000..7240f23 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set0_rbio.html @@ -0,0 +1 @@ +SSL_set_bio.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set0_security_ex_data.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set0_security_ex_data.html new file mode 120000 index 0000000..9c5134c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set0_security_ex_data.html @@ -0,0 +1 @@ +SSL_CTX_set_security_level.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set0_verify_cert_store.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set0_verify_cert_store.html new file mode 120000 index 0000000..5af1bbc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set0_verify_cert_store.html @@ -0,0 +1 @@ +SSL_CTX_set1_verify_cert_store.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set0_wbio.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set0_wbio.html new file mode 120000 index 0000000..7240f23 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set0_wbio.html @@ -0,0 +1 @@ +SSL_set_bio.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set1_chain.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set1_chain.html new file mode 120000 index 0000000..ac5ec15 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set1_chain.html @@ -0,0 +1 @@ +SSL_CTX_add1_chain_cert.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set1_chain_cert_store.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set1_chain_cert_store.html new file mode 120000 index 0000000..5af1bbc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set1_chain_cert_store.html @@ -0,0 +1 @@ +SSL_CTX_set1_verify_cert_store.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set1_client_sigalgs.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set1_client_sigalgs.html new file mode 120000 index 0000000..b87af34 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set1_client_sigalgs.html @@ -0,0 +1 @@ +SSL_CTX_set1_sigalgs.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set1_client_sigalgs_list.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set1_client_sigalgs_list.html new file mode 120000 index 0000000..b87af34 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set1_client_sigalgs_list.html @@ -0,0 +1 @@ +SSL_CTX_set1_sigalgs.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set1_curves.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set1_curves.html new file mode 120000 index 0000000..09b98ee --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set1_curves.html @@ -0,0 +1 @@ +SSL_CTX_set1_curves.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set1_curves_list.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set1_curves_list.html new file mode 120000 index 0000000..09b98ee --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set1_curves_list.html @@ -0,0 +1 @@ +SSL_CTX_set1_curves.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set1_groups.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set1_groups.html new file mode 120000 index 0000000..09b98ee --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set1_groups.html @@ -0,0 +1 @@ +SSL_CTX_set1_curves.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set1_groups_list.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set1_groups_list.html new file mode 120000 index 0000000..09b98ee --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set1_groups_list.html @@ -0,0 +1 @@ +SSL_CTX_set1_curves.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set1_host.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set1_host.html index d88f51c..8d43752 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_set1_host.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set1_host.html @@ -53,8 +53,8 @@ SSL server verification parameters

    DESCRIPTION

    These functions configure server hostname checks in the SSL client.

    SSL_set1_host() sets the expected DNS hostname to name clearing -any previously specified hostname. If name is NULL -or the empty string, the list of hostnames is cleared and name +any previously specified host name or names. If name is NULL, +or the empty string the list of hostnames is cleared, and name checks are not performed on the peer certificate. When a non-empty name is specified, certificate verification automatically checks the peer hostname via X509_check_host(3) with flags as specified @@ -130,8 +130,7 @@ the lifetime of the SSL connection.


    SEE ALSO

    -

    ssl(7), -X509_check_host(3), +

    X509_check_host(3), SSL_get_verify_result(3). SSL_dane_enable(3).

    @@ -143,8 +142,8 @@ the lifetime of the SSL connection.


    COPYRIGHT

    -

    Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved.

    +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set1_param.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set1_param.html new file mode 120000 index 0000000..6cc1ff8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set1_param.html @@ -0,0 +1 @@ +SSL_CTX_get0_param.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set1_sigalgs.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set1_sigalgs.html new file mode 120000 index 0000000..b87af34 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set1_sigalgs.html @@ -0,0 +1 @@ +SSL_CTX_set1_sigalgs.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set1_sigalgs_list.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set1_sigalgs_list.html new file mode 120000 index 0000000..b87af34 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set1_sigalgs_list.html @@ -0,0 +1 @@ +SSL_CTX_set1_sigalgs.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set1_verify_cert_store.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set1_verify_cert_store.html new file mode 120000 index 0000000..5af1bbc --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set1_verify_cert_store.html @@ -0,0 +1 @@ +SSL_CTX_set1_verify_cert_store.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_accept_state.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_accept_state.html new file mode 120000 index 0000000..f8a643c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_accept_state.html @@ -0,0 +1 @@ +SSL_set_connect_state.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_allow_early_data_cb.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_allow_early_data_cb.html new file mode 120000 index 0000000..f8ca382 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_allow_early_data_cb.html @@ -0,0 +1 @@ +SSL_read_early_data.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_alpn_protos.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_alpn_protos.html new file mode 120000 index 0000000..5ca0cdf --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_alpn_protos.html @@ -0,0 +1 @@ +SSL_CTX_set_alpn_select_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_bio.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_bio.html index c9470f3..507ea20 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_set_bio.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_bio.html @@ -131,7 +131,7 @@ use SSL_set0_rbio() and SSL_set0_wbio() instead.


    COPYRIGHT

    Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_block_padding.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_block_padding.html new file mode 120000 index 0000000..d080916 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_block_padding.html @@ -0,0 +1 @@ +SSL_CTX_set_record_padding_callback.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_cert_cb.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_cert_cb.html new file mode 120000 index 0000000..5e861c1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_cert_cb.html @@ -0,0 +1 @@ +SSL_CTX_set_cert_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_cipher_list.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_cipher_list.html new file mode 120000 index 0000000..f9ebd14 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_cipher_list.html @@ -0,0 +1 @@ +SSL_CTX_set_cipher_list.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_ciphersuites.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_ciphersuites.html new file mode 120000 index 0000000..f9ebd14 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_ciphersuites.html @@ -0,0 +1 @@ +SSL_CTX_set_cipher_list.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_client_CA_list.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_client_CA_list.html new file mode 120000 index 0000000..98fbbb4 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_client_CA_list.html @@ -0,0 +1 @@ +SSL_CTX_set0_CA_list.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_connect_state.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_connect_state.html index a5972ef..d711cf3 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_set_connect_state.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_connect_state.html @@ -100,7 +100,7 @@ information.


    COPYRIGHT

    Copyright 2001-2017 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_ct_validation_callback.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_ct_validation_callback.html new file mode 120000 index 0000000..a04d25c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_ct_validation_callback.html @@ -0,0 +1 @@ +SSL_CTX_set_ct_validation_callback.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_current_cert.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_current_cert.html new file mode 120000 index 0000000..ac5ec15 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_current_cert.html @@ -0,0 +1 @@ +SSL_CTX_add1_chain_cert.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_default_passwd_cb.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_default_passwd_cb.html new file mode 120000 index 0000000..7d830c6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_default_passwd_cb.html @@ -0,0 +1 @@ +SSL_CTX_set_default_passwd_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_default_passwd_cb_userdata.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_default_passwd_cb_userdata.html new file mode 120000 index 0000000..7d830c6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_default_passwd_cb_userdata.html @@ -0,0 +1 @@ +SSL_CTX_set_default_passwd_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_default_read_buffer_len.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_default_read_buffer_len.html new file mode 120000 index 0000000..8d3f23a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_default_read_buffer_len.html @@ -0,0 +1 @@ +SSL_CTX_set_split_send_fragment.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_ex_data.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_ex_data.html new file mode 120000 index 0000000..541b4ec --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_ex_data.html @@ -0,0 +1 @@ +SSL_CTX_set_ex_data.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_fd.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_fd.html index 1539bdf..f1ba30b 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_set_fd.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_fd.html @@ -83,7 +83,7 @@ for the read channel or the write channel, which can be set independently.


    COPYRIGHT

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_generate_session_id.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_generate_session_id.html new file mode 120000 index 0000000..6c5144d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_generate_session_id.html @@ -0,0 +1 @@ +SSL_CTX_set_generate_session_id.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_hostflags.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_hostflags.html new file mode 120000 index 0000000..b276994 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_hostflags.html @@ -0,0 +1 @@ +SSL_set1_host.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_info_callback.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_info_callback.html new file mode 120000 index 0000000..0c6819c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_info_callback.html @@ -0,0 +1 @@ +SSL_CTX_set_info_callback.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_max_cert_list.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_max_cert_list.html new file mode 120000 index 0000000..7635159 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_max_cert_list.html @@ -0,0 +1 @@ +SSL_CTX_set_max_cert_list.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_max_early_data.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_max_early_data.html new file mode 120000 index 0000000..f8ca382 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_max_early_data.html @@ -0,0 +1 @@ +SSL_read_early_data.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_max_pipelines.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_max_pipelines.html new file mode 120000 index 0000000..8d3f23a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_max_pipelines.html @@ -0,0 +1 @@ +SSL_CTX_set_split_send_fragment.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_max_proto_version.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_max_proto_version.html new file mode 120000 index 0000000..9fa3152 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_max_proto_version.html @@ -0,0 +1 @@ +SSL_CTX_set_min_proto_version.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_max_send_fragment.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_max_send_fragment.html new file mode 120000 index 0000000..8d3f23a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_max_send_fragment.html @@ -0,0 +1 @@ +SSL_CTX_set_split_send_fragment.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_min_proto_version.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_min_proto_version.html new file mode 120000 index 0000000..9fa3152 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_min_proto_version.html @@ -0,0 +1 @@ +SSL_CTX_set_min_proto_version.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_mode.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_mode.html new file mode 120000 index 0000000..59ce589 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_mode.html @@ -0,0 +1 @@ +SSL_CTX_set_mode.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_msg_callback.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_msg_callback.html new file mode 120000 index 0000000..2991e5e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_msg_callback.html @@ -0,0 +1 @@ +SSL_CTX_set_msg_callback.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_msg_callback_arg.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_msg_callback_arg.html new file mode 120000 index 0000000..2991e5e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_msg_callback_arg.html @@ -0,0 +1 @@ +SSL_CTX_set_msg_callback.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_num_tickets.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_num_tickets.html new file mode 120000 index 0000000..7a45892 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_num_tickets.html @@ -0,0 +1 @@ +SSL_CTX_set_num_tickets.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_options.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_options.html new file mode 120000 index 0000000..2b3c746 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_options.html @@ -0,0 +1 @@ +SSL_CTX_set_options.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_post_handshake_auth.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_post_handshake_auth.html new file mode 120000 index 0000000..6091896 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_post_handshake_auth.html @@ -0,0 +1 @@ +SSL_CTX_set_verify.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_psk_client_callback.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_psk_client_callback.html new file mode 120000 index 0000000..faa8764 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_psk_client_callback.html @@ -0,0 +1 @@ +SSL_CTX_set_psk_client_callback.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_psk_find_session_callback.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_psk_find_session_callback.html new file mode 120000 index 0000000..9b21e68 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_psk_find_session_callback.html @@ -0,0 +1 @@ +SSL_CTX_use_psk_identity_hint.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_psk_server_callback.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_psk_server_callback.html new file mode 120000 index 0000000..9b21e68 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_psk_server_callback.html @@ -0,0 +1 @@ +SSL_CTX_use_psk_identity_hint.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_psk_use_session_callback.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_psk_use_session_callback.html new file mode 120000 index 0000000..faa8764 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_psk_use_session_callback.html @@ -0,0 +1 @@ +SSL_CTX_set_psk_client_callback.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_quiet_shutdown.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_quiet_shutdown.html new file mode 120000 index 0000000..5bf42d2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_quiet_shutdown.html @@ -0,0 +1 @@ +SSL_CTX_set_quiet_shutdown.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_read_ahead.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_read_ahead.html new file mode 120000 index 0000000..4afbdd7 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_read_ahead.html @@ -0,0 +1 @@ +SSL_CTX_set_read_ahead.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_record_padding_callback.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_record_padding_callback.html new file mode 120000 index 0000000..d080916 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_record_padding_callback.html @@ -0,0 +1 @@ +SSL_CTX_set_record_padding_callback.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_record_padding_callback_arg.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_record_padding_callback_arg.html new file mode 120000 index 0000000..d080916 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_record_padding_callback_arg.html @@ -0,0 +1 @@ +SSL_CTX_set_record_padding_callback.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_recv_max_early_data.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_recv_max_early_data.html new file mode 120000 index 0000000..f8ca382 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_recv_max_early_data.html @@ -0,0 +1 @@ +SSL_read_early_data.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_rfd.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_rfd.html new file mode 120000 index 0000000..7950f34 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_rfd.html @@ -0,0 +1 @@ +SSL_set_fd.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_security_callback.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_security_callback.html new file mode 120000 index 0000000..9c5134c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_security_callback.html @@ -0,0 +1 @@ +SSL_CTX_set_security_level.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_security_level.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_security_level.html new file mode 120000 index 0000000..9c5134c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_security_level.html @@ -0,0 +1 @@ +SSL_CTX_set_security_level.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_session.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_session.html index f9dd684..87ef8c6 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_set_session.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_session.html @@ -94,7 +94,7 @@ from this SSL_CTX object).


    COPYRIGHT

    Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

    -

    Licensed under the Apache License 2.0 (the "License"). You may not use +

    Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

    diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_session_id_context.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_session_id_context.html new file mode 120000 index 0000000..7bfd2ef --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_session_id_context.html @@ -0,0 +1 @@ +SSL_CTX_set_session_id_context.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_shutdown.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_shutdown.html index c086a13..abaa742 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_set_shutdown.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_shutdown.html @@ -54,7 +54,7 @@


    NOTES

    -

    The shutdown state of an ssl connection is a bit-mask of:

    +

    The shutdown state of an ssl connection is a bitmask of:

    1. No shutdown setting, yet.

      @@ -104,7 +104,7 @@ for setting SSL_SENT_SHUTDOWN the application must however still call

      COPYRIGHT

      Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved.

      -

      Licensed under the Apache License 2.0 (the "License"). You may not use +

      Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

      diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_split_send_fragment.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_split_send_fragment.html new file mode 120000 index 0000000..8d3f23a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_split_send_fragment.html @@ -0,0 +1 @@ +SSL_CTX_set_split_send_fragment.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_ssl_method.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_ssl_method.html new file mode 120000 index 0000000..7bd95e6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_ssl_method.html @@ -0,0 +1 @@ +SSL_CTX_set_ssl_version.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_time.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_time.html new file mode 120000 index 0000000..df70e4c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_time.html @@ -0,0 +1 @@ +SSL_SESSION_get_time.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_timeout.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_timeout.html new file mode 120000 index 0000000..df70e4c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_timeout.html @@ -0,0 +1 @@ +SSL_SESSION_get_time.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_tlsext_host_name.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_tlsext_host_name.html new file mode 120000 index 0000000..cafe23d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_tlsext_host_name.html @@ -0,0 +1 @@ +SSL_CTX_set_tlsext_servername_callback.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_tlsext_max_fragment_length.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_tlsext_max_fragment_length.html new file mode 120000 index 0000000..8d3f23a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_tlsext_max_fragment_length.html @@ -0,0 +1 @@ +SSL_CTX_set_split_send_fragment.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_tlsext_status_ocsp_resp.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_tlsext_status_ocsp_resp.html new file mode 120000 index 0000000..66e939c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_tlsext_status_ocsp_resp.html @@ -0,0 +1 @@ +SSL_CTX_set_tlsext_status_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_tlsext_status_type.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_tlsext_status_type.html new file mode 120000 index 0000000..66e939c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_tlsext_status_type.html @@ -0,0 +1 @@ +SSL_CTX_set_tlsext_status_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_tlsext_use_srtp.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_tlsext_use_srtp.html new file mode 120000 index 0000000..8ff8be0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_tlsext_use_srtp.html @@ -0,0 +1 @@ +SSL_CTX_set_tlsext_use_srtp.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_tmp_dh.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_tmp_dh.html new file mode 120000 index 0000000..b7fec45 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_tmp_dh.html @@ -0,0 +1 @@ +SSL_CTX_set_tmp_dh_callback.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_tmp_dh_callback.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_tmp_dh_callback.html new file mode 120000 index 0000000..b7fec45 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_tmp_dh_callback.html @@ -0,0 +1 @@ +SSL_CTX_set_tmp_dh_callback.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_verify.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_verify.html new file mode 120000 index 0000000..6091896 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_verify.html @@ -0,0 +1 @@ +SSL_CTX_set_verify.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_verify_depth.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_verify_depth.html new file mode 120000 index 0000000..6091896 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_verify_depth.html @@ -0,0 +1 @@ +SSL_CTX_set_verify.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_verify_result.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_verify_result.html index 5af773b..ee9af31 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_set_verify_result.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_verify_result.html @@ -57,7 +57,7 @@ if any.

      the verification result of the ssl object. It does not become part of the established session, so if the session is to be reused later, the original value will reappear.

      -

      The valid codes for verify_result are documented in openssl-verify(1).

      +

      The valid codes for verify_result are documented in verify(1).


      @@ -69,13 +69,13 @@ value will reappear.

      SEE ALSO

      ssl(7), SSL_get_verify_result(3), SSL_get_peer_certificate(3), -openssl-verify(1)

      +verify(1)


      COPYRIGHT

      Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

      -

      Licensed under the Apache License 2.0 (the "License"). You may not use +

      Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

      diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_set_wfd.html b/linux_amd64/share/doc/openssl/html/man3/SSL_set_wfd.html new file mode 120000 index 0000000..7950f34 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_set_wfd.html @@ -0,0 +1 @@ +SSL_set_fd.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_shutdown.html b/linux_amd64/share/doc/openssl/html/man3/SSL_shutdown.html index a5329ae..6f58671 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_shutdown.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_shutdown.html @@ -19,12 +19,14 @@
    2. NAME
    3. SYNOPSIS
    4. DESCRIPTION
    5. +
    6. NOTES
    7. +
    8. NOTES
    9. RETURN VALUES
    10. SEE ALSO
    11. COPYRIGHT
    12. @@ -53,6 +55,10 @@

      DESCRIPTION

      SSL_shutdown() shuts down an active TLS/SSL connection. It sends the close_notify shutdown alert to the peer.

      +

      +

      +
      +

      NOTES

      SSL_shutdown() tries to send the close_notify shutdown alert to the peer. Whether the operation succeeds or not, the SSL_SENT_SHUTDOWN flag is set and a currently open session is considered closed and good and will be kept in the @@ -81,28 +87,6 @@ synchronized.

      SSL_shutdown() only closes the write direction. It is not possible to call SSL_write() after calling SSL_shutdown(). The read direction is closed by the peer.

      -

      The behaviour of SSL_shutdown() additionally depends on the underlying BIO. -If the underlying BIO is blocking, SSL_shutdown() will only return once the -handshake step has been finished or an error occurred.

      -

      If the underlying BIO is non-blocking, SSL_shutdown() will also return -when the underlying BIO could not satisfy the needs of SSL_shutdown() -to continue the handshake. In this case a call to SSL_get_error() with the -return value of SSL_shutdown() will yield SSL_ERROR_WANT_READ or -SSL_ERROR_WANT_WRITE. The calling process then must repeat the call after -taking appropriate action to satisfy the needs of SSL_shutdown(). -The action depends on the underlying BIO. When using a non-blocking socket, -nothing is to be done, but select() can be used to check for the required -condition. When using a buffering BIO, like a BIO pair, data must be written -into or retrieved out of the BIO before being able to continue.

      -

      After SSL_shutdown() returned 0, it is possible to call SSL_shutdown() again -to wait for the peer's close_notify alert. -SSL_shutdown() will return 1 in that case. -However, it is recommended to wait for it using SSL_read() instead.

      -

      SSL_shutdown() can be modified to only set the connection to "shutdown" -state but not actually send the close_notify alert messages, -see SSL_CTX_set_quiet_shutdown(3). -When "quiet shutdown" is enabled, SSL_shutdown() will always succeed -and return 1.

      First to close the connection

      @@ -139,6 +123,32 @@ If successful, SSL_shutdown() will return 1.


      +

      NOTES

      +

      The behaviour of SSL_shutdown() additionally depends on the underlying BIO. +If the underlying BIO is blocking, SSL_shutdown() will only return once the +handshake step has been finished or an error occurred.

      +

      If the underlying BIO is non-blocking, SSL_shutdown() will also return +when the underlying BIO could not satisfy the needs of SSL_shutdown() +to continue the handshake. In this case a call to SSL_get_error() with the +return value of SSL_shutdown() will yield SSL_ERROR_WANT_READ or +SSL_ERROR_WANT_WRITE. The calling process then must repeat the call after +taking appropriate action to satisfy the needs of SSL_shutdown(). +The action depends on the underlying BIO. When using a non-blocking socket, +nothing is to be done, but select() can be used to check for the required +condition. When using a buffering BIO, like a BIO pair, data must be written +into or retrieved out of the BIO before being able to continue.

      +

      After SSL_shutdown() returned 0, it is possible to call SSL_shutdown() again +to wait for the peer's close_notify alert. +SSL_shutdown() will return 1 in that case. +However, it is recommended to wait for it using SSL_read() instead.

      +

      SSL_shutdown() can be modified to only set the connection to "shutdown" +state but not actually send the close_notify alert messages, +see SSL_CTX_set_quiet_shutdown(3). +When "quiet shutdown" is enabled, SSL_shutdown() will always succeed +and return 1.

      +

      +

      +

      RETURN VALUES

      The following return values can occur:

        @@ -176,8 +186,8 @@ BIOs.


        COPYRIGHT

        -

        Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

        +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_state_string.html b/linux_amd64/share/doc/openssl/html/man3/SSL_state_string.html index 565e254..77ed2cf 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_state_string.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_state_string.html @@ -80,7 +80,7 @@ can be used within the info_callback function set with the

        COPYRIGHT

        Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_state_string_long.html b/linux_amd64/share/doc/openssl/html/man3/SSL_state_string_long.html new file mode 120000 index 0000000..1a7a5cf --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_state_string_long.html @@ -0,0 +1 @@ +SSL_state_string.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_stateless.html b/linux_amd64/share/doc/openssl/html/man3/SSL_stateless.html new file mode 120000 index 0000000..ab1a860 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_stateless.html @@ -0,0 +1 @@ +DTLSv1_listen.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_up_ref.html b/linux_amd64/share/doc/openssl/html/man3/SSL_up_ref.html new file mode 120000 index 0000000..2f51f29 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_up_ref.html @@ -0,0 +1 @@ +SSL_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_use_PrivateKey.html b/linux_amd64/share/doc/openssl/html/man3/SSL_use_PrivateKey.html new file mode 120000 index 0000000..f60d0ce --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_use_PrivateKey.html @@ -0,0 +1 @@ +SSL_CTX_use_certificate.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_use_PrivateKey_ASN1.html b/linux_amd64/share/doc/openssl/html/man3/SSL_use_PrivateKey_ASN1.html new file mode 120000 index 0000000..f60d0ce --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_use_PrivateKey_ASN1.html @@ -0,0 +1 @@ +SSL_CTX_use_certificate.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_use_PrivateKey_file.html b/linux_amd64/share/doc/openssl/html/man3/SSL_use_PrivateKey_file.html new file mode 120000 index 0000000..f60d0ce --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_use_PrivateKey_file.html @@ -0,0 +1 @@ +SSL_CTX_use_certificate.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_use_RSAPrivateKey.html b/linux_amd64/share/doc/openssl/html/man3/SSL_use_RSAPrivateKey.html new file mode 120000 index 0000000..f60d0ce --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_use_RSAPrivateKey.html @@ -0,0 +1 @@ +SSL_CTX_use_certificate.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_use_RSAPrivateKey_ASN1.html b/linux_amd64/share/doc/openssl/html/man3/SSL_use_RSAPrivateKey_ASN1.html new file mode 120000 index 0000000..f60d0ce --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_use_RSAPrivateKey_ASN1.html @@ -0,0 +1 @@ +SSL_CTX_use_certificate.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_use_RSAPrivateKey_file.html b/linux_amd64/share/doc/openssl/html/man3/SSL_use_RSAPrivateKey_file.html new file mode 120000 index 0000000..f60d0ce --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_use_RSAPrivateKey_file.html @@ -0,0 +1 @@ +SSL_CTX_use_certificate.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_use_cert_and_key.html b/linux_amd64/share/doc/openssl/html/man3/SSL_use_cert_and_key.html new file mode 120000 index 0000000..f60d0ce --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_use_cert_and_key.html @@ -0,0 +1 @@ +SSL_CTX_use_certificate.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_use_certificate.html b/linux_amd64/share/doc/openssl/html/man3/SSL_use_certificate.html new file mode 120000 index 0000000..f60d0ce --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_use_certificate.html @@ -0,0 +1 @@ +SSL_CTX_use_certificate.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_use_certificate_ASN1.html b/linux_amd64/share/doc/openssl/html/man3/SSL_use_certificate_ASN1.html new file mode 120000 index 0000000..f60d0ce --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_use_certificate_ASN1.html @@ -0,0 +1 @@ +SSL_CTX_use_certificate.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_use_certificate_chain_file.html b/linux_amd64/share/doc/openssl/html/man3/SSL_use_certificate_chain_file.html new file mode 120000 index 0000000..f60d0ce --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_use_certificate_chain_file.html @@ -0,0 +1 @@ +SSL_CTX_use_certificate.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_use_certificate_file.html b/linux_amd64/share/doc/openssl/html/man3/SSL_use_certificate_file.html new file mode 120000 index 0000000..f60d0ce --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_use_certificate_file.html @@ -0,0 +1 @@ +SSL_CTX_use_certificate.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_use_psk_identity_hint.html b/linux_amd64/share/doc/openssl/html/man3/SSL_use_psk_identity_hint.html new file mode 120000 index 0000000..9b21e68 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_use_psk_identity_hint.html @@ -0,0 +1 @@ +SSL_CTX_use_psk_identity_hint.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_verify_cb.html b/linux_amd64/share/doc/openssl/html/man3/SSL_verify_cb.html new file mode 120000 index 0000000..6091896 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_verify_cb.html @@ -0,0 +1 @@ +SSL_CTX_set_verify.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_verify_client_post_handshake.html b/linux_amd64/share/doc/openssl/html/man3/SSL_verify_client_post_handshake.html new file mode 120000 index 0000000..6091896 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_verify_client_post_handshake.html @@ -0,0 +1 @@ +SSL_CTX_set_verify.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_version.html b/linux_amd64/share/doc/openssl/html/man3/SSL_version.html new file mode 120000 index 0000000..466230f --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_version.html @@ -0,0 +1 @@ +SSL_get_version.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_waiting_for_async.html b/linux_amd64/share/doc/openssl/html/man3/SSL_waiting_for_async.html new file mode 120000 index 0000000..f3461c8 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_waiting_for_async.html @@ -0,0 +1 @@ +SSL_get_all_async_fds.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_want.html b/linux_amd64/share/doc/openssl/html/man3/SSL_want.html index 7739d8c..1f869bb 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_want.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_want.html @@ -149,7 +149,7 @@ were added in OpenSSL 1.1.1.


        COPYRIGHT

        Copyright 2001-2017 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_want_async.html b/linux_amd64/share/doc/openssl/html/man3/SSL_want_async.html new file mode 120000 index 0000000..ba62204 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_want_async.html @@ -0,0 +1 @@ +SSL_want.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_want_async_job.html b/linux_amd64/share/doc/openssl/html/man3/SSL_want_async_job.html new file mode 120000 index 0000000..ba62204 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_want_async_job.html @@ -0,0 +1 @@ +SSL_want.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_want_client_hello_cb.html b/linux_amd64/share/doc/openssl/html/man3/SSL_want_client_hello_cb.html new file mode 120000 index 0000000..ba62204 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_want_client_hello_cb.html @@ -0,0 +1 @@ +SSL_want.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_want_nothing.html b/linux_amd64/share/doc/openssl/html/man3/SSL_want_nothing.html new file mode 120000 index 0000000..ba62204 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_want_nothing.html @@ -0,0 +1 @@ +SSL_want.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_want_read.html b/linux_amd64/share/doc/openssl/html/man3/SSL_want_read.html new file mode 120000 index 0000000..ba62204 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_want_read.html @@ -0,0 +1 @@ +SSL_want.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_want_write.html b/linux_amd64/share/doc/openssl/html/man3/SSL_want_write.html new file mode 120000 index 0000000..ba62204 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_want_write.html @@ -0,0 +1 @@ +SSL_want.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_want_x509_lookup.html b/linux_amd64/share/doc/openssl/html/man3/SSL_want_x509_lookup.html new file mode 120000 index 0000000..ba62204 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_want_x509_lookup.html @@ -0,0 +1 @@ +SSL_want.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_write.html b/linux_amd64/share/doc/openssl/html/man3/SSL_write.html index c12b4a8..5a0409e 100755 --- a/linux_amd64/share/doc/openssl/html/man3/SSL_write.html +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_write.html @@ -35,7 +35,7 @@


        NAME

        -

        SSL_write_ex, SSL_write, SSL_sendfile - write bytes to a TLS/SSL connection

        +

        SSL_write_ex, SSL_write - write bytes to a TLS/SSL connection


        @@ -43,7 +43,6 @@
          #include <openssl/ssl.h>
        - ossl_ssize_t SSL_sendfile(SSL *s, int fd, off_t offset, size_t size, int flags);
          int SSL_write_ex(SSL *s, const void *buf, size_t num, size_t *written);
          int SSL_write(SSL *ssl, const void *buf, int num);

        @@ -53,13 +52,6 @@

        SSL_write_ex() and SSL_write() write num bytes from the buffer buf into the specified ssl connection. On success SSL_write_ex() will store the number of bytes written in *written.

        -

        SSL_sendfile() writes size bytes from offset offset in the file -descriptor fd to the specified SSL connection s. This function provides -efficient zero-copy semantics. SSL_sendfile() is available only when -Kernel TLS is enabled, which can be checked by calling BIO_get_ktls_send(). -It is provided here to allow users to maintain the same interface. -The meaning of flags is platform dependent. -Currently, under Linux it is ignored.


        @@ -142,22 +134,6 @@ retryable. You should instead call SSL_get_error() to find out if it's retryable.

        -

        For SSL_sendfile(), the following return values can occur:

        -
        -
        >= 0
        - -
        -

        The write operation was successful, the return value is the number -of bytes of the file written to the TLS/SSL connection.

        -
        -
        < 0
        - -
        -

        The write operation was not successful, because either the connection was -closed, an error occurred or action must be taken by the calling process. -Call SSL_get_error() with the return value to find out the reason.

        -
        -


        @@ -165,20 +141,19 @@ Call SSL_get_error() with the return value to find out the reason.<

        SSL_get_error(3), SSL_read_ex(3), SSL_read(3) SSL_CTX_set_mode(3), SSL_CTX_new(3), SSL_connect(3), SSL_accept(3) -SSL_set_connect_state(3), BIO_ctrl(3), +SSL_set_connect_state(3), ssl(7), bio(7)


        HISTORY

        -

        The SSL_write_ex() function was added in OpenSSL 1.1.1. -The SSL_sendfile() function was added in OpenSSL 3.0.

        +

        The SSL_write_ex() function was added in OpenSSL 1.1.1.


        COPYRIGHT

        Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_write_early_data.html b/linux_amd64/share/doc/openssl/html/man3/SSL_write_early_data.html new file mode 120000 index 0000000..f8ca382 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_write_early_data.html @@ -0,0 +1 @@ +SSL_read_early_data.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSL_write_ex.html b/linux_amd64/share/doc/openssl/html/man3/SSL_write_ex.html new file mode 120000 index 0000000..fec2639 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSL_write_ex.html @@ -0,0 +1 @@ +SSL_write.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSLv23_client_method.html b/linux_amd64/share/doc/openssl/html/man3/SSLv23_client_method.html new file mode 120000 index 0000000..6e8810c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSLv23_client_method.html @@ -0,0 +1 @@ +SSL_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSLv23_method.html b/linux_amd64/share/doc/openssl/html/man3/SSLv23_method.html new file mode 120000 index 0000000..6e8810c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSLv23_method.html @@ -0,0 +1 @@ +SSL_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSLv23_server_method.html b/linux_amd64/share/doc/openssl/html/man3/SSLv23_server_method.html new file mode 120000 index 0000000..6e8810c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSLv23_server_method.html @@ -0,0 +1 @@ +SSL_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSLv3_client_method.html b/linux_amd64/share/doc/openssl/html/man3/SSLv3_client_method.html new file mode 120000 index 0000000..6e8810c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSLv3_client_method.html @@ -0,0 +1 @@ +SSL_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSLv3_method.html b/linux_amd64/share/doc/openssl/html/man3/SSLv3_method.html new file mode 120000 index 0000000..6e8810c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSLv3_method.html @@ -0,0 +1 @@ +SSL_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SSLv3_server_method.html b/linux_amd64/share/doc/openssl/html/man3/SSLv3_server_method.html new file mode 120000 index 0000000..6e8810c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SSLv3_server_method.html @@ -0,0 +1 @@ +SSL_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SXNETID_free.html b/linux_amd64/share/doc/openssl/html/man3/SXNETID_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SXNETID_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SXNETID_new.html b/linux_amd64/share/doc/openssl/html/man3/SXNETID_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SXNETID_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SXNET_free.html b/linux_amd64/share/doc/openssl/html/man3/SXNET_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SXNET_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/SXNET_new.html b/linux_amd64/share/doc/openssl/html/man3/SXNET_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/SXNET_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/TLS_FEATURE_free.html b/linux_amd64/share/doc/openssl/html/man3/TLS_FEATURE_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/TLS_FEATURE_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/TLS_FEATURE_new.html b/linux_amd64/share/doc/openssl/html/man3/TLS_FEATURE_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/TLS_FEATURE_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/TLS_client_method.html b/linux_amd64/share/doc/openssl/html/man3/TLS_client_method.html new file mode 120000 index 0000000..6e8810c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/TLS_client_method.html @@ -0,0 +1 @@ +SSL_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/TLS_method.html b/linux_amd64/share/doc/openssl/html/man3/TLS_method.html new file mode 120000 index 0000000..6e8810c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/TLS_method.html @@ -0,0 +1 @@ +SSL_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/TLS_server_method.html b/linux_amd64/share/doc/openssl/html/man3/TLS_server_method.html new file mode 120000 index 0000000..6e8810c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/TLS_server_method.html @@ -0,0 +1 @@ +SSL_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/TLSv1_1_client_method.html b/linux_amd64/share/doc/openssl/html/man3/TLSv1_1_client_method.html new file mode 120000 index 0000000..6e8810c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/TLSv1_1_client_method.html @@ -0,0 +1 @@ +SSL_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/TLSv1_1_method.html b/linux_amd64/share/doc/openssl/html/man3/TLSv1_1_method.html new file mode 120000 index 0000000..6e8810c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/TLSv1_1_method.html @@ -0,0 +1 @@ +SSL_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/TLSv1_1_server_method.html b/linux_amd64/share/doc/openssl/html/man3/TLSv1_1_server_method.html new file mode 120000 index 0000000..6e8810c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/TLSv1_1_server_method.html @@ -0,0 +1 @@ +SSL_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/TLSv1_2_client_method.html b/linux_amd64/share/doc/openssl/html/man3/TLSv1_2_client_method.html new file mode 120000 index 0000000..6e8810c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/TLSv1_2_client_method.html @@ -0,0 +1 @@ +SSL_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/TLSv1_2_method.html b/linux_amd64/share/doc/openssl/html/man3/TLSv1_2_method.html new file mode 120000 index 0000000..6e8810c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/TLSv1_2_method.html @@ -0,0 +1 @@ +SSL_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/TLSv1_2_server_method.html b/linux_amd64/share/doc/openssl/html/man3/TLSv1_2_server_method.html new file mode 120000 index 0000000..6e8810c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/TLSv1_2_server_method.html @@ -0,0 +1 @@ +SSL_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/TLSv1_client_method.html b/linux_amd64/share/doc/openssl/html/man3/TLSv1_client_method.html new file mode 120000 index 0000000..6e8810c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/TLSv1_client_method.html @@ -0,0 +1 @@ +SSL_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/TLSv1_method.html b/linux_amd64/share/doc/openssl/html/man3/TLSv1_method.html new file mode 120000 index 0000000..6e8810c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/TLSv1_method.html @@ -0,0 +1 @@ +SSL_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/TLSv1_server_method.html b/linux_amd64/share/doc/openssl/html/man3/TLSv1_server_method.html new file mode 120000 index 0000000..6e8810c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/TLSv1_server_method.html @@ -0,0 +1 @@ +SSL_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/TS_ACCURACY_dup.html b/linux_amd64/share/doc/openssl/html/man3/TS_ACCURACY_dup.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/TS_ACCURACY_dup.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/TS_ACCURACY_free.html b/linux_amd64/share/doc/openssl/html/man3/TS_ACCURACY_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/TS_ACCURACY_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/TS_ACCURACY_new.html b/linux_amd64/share/doc/openssl/html/man3/TS_ACCURACY_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/TS_ACCURACY_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/TS_MSG_IMPRINT_dup.html b/linux_amd64/share/doc/openssl/html/man3/TS_MSG_IMPRINT_dup.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/TS_MSG_IMPRINT_dup.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/TS_MSG_IMPRINT_free.html b/linux_amd64/share/doc/openssl/html/man3/TS_MSG_IMPRINT_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/TS_MSG_IMPRINT_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/TS_MSG_IMPRINT_new.html b/linux_amd64/share/doc/openssl/html/man3/TS_MSG_IMPRINT_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/TS_MSG_IMPRINT_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/TS_REQ_dup.html b/linux_amd64/share/doc/openssl/html/man3/TS_REQ_dup.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/TS_REQ_dup.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/TS_REQ_free.html b/linux_amd64/share/doc/openssl/html/man3/TS_REQ_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/TS_REQ_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/TS_REQ_new.html b/linux_amd64/share/doc/openssl/html/man3/TS_REQ_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/TS_REQ_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/TS_RESP_dup.html b/linux_amd64/share/doc/openssl/html/man3/TS_RESP_dup.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/TS_RESP_dup.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/TS_RESP_free.html b/linux_amd64/share/doc/openssl/html/man3/TS_RESP_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/TS_RESP_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/TS_RESP_new.html b/linux_amd64/share/doc/openssl/html/man3/TS_RESP_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/TS_RESP_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/TS_STATUS_INFO_dup.html b/linux_amd64/share/doc/openssl/html/man3/TS_STATUS_INFO_dup.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/TS_STATUS_INFO_dup.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/TS_STATUS_INFO_free.html b/linux_amd64/share/doc/openssl/html/man3/TS_STATUS_INFO_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/TS_STATUS_INFO_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/TS_STATUS_INFO_new.html b/linux_amd64/share/doc/openssl/html/man3/TS_STATUS_INFO_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/TS_STATUS_INFO_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/TS_TST_INFO_dup.html b/linux_amd64/share/doc/openssl/html/man3/TS_TST_INFO_dup.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/TS_TST_INFO_dup.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/TS_TST_INFO_free.html b/linux_amd64/share/doc/openssl/html/man3/TS_TST_INFO_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/TS_TST_INFO_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/TS_TST_INFO_new.html b/linux_amd64/share/doc/openssl/html/man3/TS_TST_INFO_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/TS_TST_INFO_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI.html b/linux_amd64/share/doc/openssl/html/man3/UI.html new file mode 120000 index 0000000..91ed366 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI.html @@ -0,0 +1 @@ +UI_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_METHOD.html b/linux_amd64/share/doc/openssl/html/man3/UI_METHOD.html new file mode 120000 index 0000000..d1020a1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_METHOD.html @@ -0,0 +1 @@ +UI_create_method.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_OpenSSL.html b/linux_amd64/share/doc/openssl/html/man3/UI_OpenSSL.html new file mode 120000 index 0000000..91ed366 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_OpenSSL.html @@ -0,0 +1 @@ +UI_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_STRING.html b/linux_amd64/share/doc/openssl/html/man3/UI_STRING.html index 0dbf244..37e2433 100755 --- a/linux_amd64/share/doc/openssl/html/man3/UI_STRING.html +++ b/linux_amd64/share/doc/openssl/html/man3/UI_STRING.html @@ -156,7 +156,7 @@ error.


        COPYRIGHT

        Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_UTIL_read_pw.html b/linux_amd64/share/doc/openssl/html/man3/UI_UTIL_read_pw.html index d75c962..6f2c121 100755 --- a/linux_amd64/share/doc/openssl/html/man3/UI_UTIL_read_pw.html +++ b/linux_amd64/share/doc/openssl/html/man3/UI_UTIL_read_pw.html @@ -55,7 +55,7 @@ UI_UTIL_wrap_read_pem_callback - user interface utilities

        prompt, and stores it in buf. The maximum allowed size is given with length, including the terminating NUL byte. -If verify is nonzero, the password will be verified as well.

        +If verify is non-zero, the password will be verified as well.

        UI_UTIL_read_pw() does the same as UI_UTIL_read_pw_string(), the difference is that you can give it an external buffer buff for the verification passphrase.

        @@ -97,7 +97,7 @@ if an error occurred.


        COPYRIGHT

        Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_UTIL_read_pw_string.html b/linux_amd64/share/doc/openssl/html/man3/UI_UTIL_read_pw_string.html new file mode 120000 index 0000000..a5ba154 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_UTIL_read_pw_string.html @@ -0,0 +1 @@ +UI_UTIL_read_pw.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_UTIL_wrap_read_pem_callback.html b/linux_amd64/share/doc/openssl/html/man3/UI_UTIL_wrap_read_pem_callback.html new file mode 120000 index 0000000..a5ba154 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_UTIL_wrap_read_pem_callback.html @@ -0,0 +1 @@ +UI_UTIL_read_pw.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_add_error_string.html b/linux_amd64/share/doc/openssl/html/man3/UI_add_error_string.html new file mode 120000 index 0000000..91ed366 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_add_error_string.html @@ -0,0 +1 @@ +UI_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_add_info_string.html b/linux_amd64/share/doc/openssl/html/man3/UI_add_info_string.html new file mode 120000 index 0000000..91ed366 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_add_info_string.html @@ -0,0 +1 @@ +UI_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_add_input_boolean.html b/linux_amd64/share/doc/openssl/html/man3/UI_add_input_boolean.html new file mode 120000 index 0000000..91ed366 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_add_input_boolean.html @@ -0,0 +1 @@ +UI_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_add_input_string.html b/linux_amd64/share/doc/openssl/html/man3/UI_add_input_string.html new file mode 120000 index 0000000..91ed366 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_add_input_string.html @@ -0,0 +1 @@ +UI_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_add_user_data.html b/linux_amd64/share/doc/openssl/html/man3/UI_add_user_data.html new file mode 120000 index 0000000..91ed366 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_add_user_data.html @@ -0,0 +1 @@ +UI_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_add_verify_string.html b/linux_amd64/share/doc/openssl/html/man3/UI_add_verify_string.html new file mode 120000 index 0000000..91ed366 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_add_verify_string.html @@ -0,0 +1 @@ +UI_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_construct_prompt.html b/linux_amd64/share/doc/openssl/html/man3/UI_construct_prompt.html new file mode 120000 index 0000000..91ed366 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_construct_prompt.html @@ -0,0 +1 @@ +UI_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_create_method.html b/linux_amd64/share/doc/openssl/html/man3/UI_create_method.html index fff408b..007f3bd 100755 --- a/linux_amd64/share/doc/openssl/html/man3/UI_create_method.html +++ b/linux_amd64/share/doc/openssl/html/man3/UI_create_method.html @@ -228,7 +228,7 @@ and UI_method_get_data_destructor() functions were added in OpenSSL

        COPYRIGHT

        Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_ctrl.html b/linux_amd64/share/doc/openssl/html/man3/UI_ctrl.html new file mode 120000 index 0000000..91ed366 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_ctrl.html @@ -0,0 +1 @@ +UI_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_destroy_method.html b/linux_amd64/share/doc/openssl/html/man3/UI_destroy_method.html new file mode 120000 index 0000000..d1020a1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_destroy_method.html @@ -0,0 +1 @@ +UI_create_method.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_dup_error_string.html b/linux_amd64/share/doc/openssl/html/man3/UI_dup_error_string.html new file mode 120000 index 0000000..91ed366 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_dup_error_string.html @@ -0,0 +1 @@ +UI_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_dup_info_string.html b/linux_amd64/share/doc/openssl/html/man3/UI_dup_info_string.html new file mode 120000 index 0000000..91ed366 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_dup_info_string.html @@ -0,0 +1 @@ +UI_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_dup_input_boolean.html b/linux_amd64/share/doc/openssl/html/man3/UI_dup_input_boolean.html new file mode 120000 index 0000000..91ed366 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_dup_input_boolean.html @@ -0,0 +1 @@ +UI_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_dup_input_string.html b/linux_amd64/share/doc/openssl/html/man3/UI_dup_input_string.html new file mode 120000 index 0000000..91ed366 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_dup_input_string.html @@ -0,0 +1 @@ +UI_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_dup_user_data.html b/linux_amd64/share/doc/openssl/html/man3/UI_dup_user_data.html new file mode 120000 index 0000000..91ed366 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_dup_user_data.html @@ -0,0 +1 @@ +UI_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_dup_verify_string.html b/linux_amd64/share/doc/openssl/html/man3/UI_dup_verify_string.html new file mode 120000 index 0000000..91ed366 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_dup_verify_string.html @@ -0,0 +1 @@ +UI_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_free.html b/linux_amd64/share/doc/openssl/html/man3/UI_free.html new file mode 120000 index 0000000..91ed366 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_free.html @@ -0,0 +1 @@ +UI_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_get0_action_string.html b/linux_amd64/share/doc/openssl/html/man3/UI_get0_action_string.html new file mode 120000 index 0000000..142e355 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_get0_action_string.html @@ -0,0 +1 @@ +UI_STRING.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_get0_output_string.html b/linux_amd64/share/doc/openssl/html/man3/UI_get0_output_string.html new file mode 120000 index 0000000..142e355 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_get0_output_string.html @@ -0,0 +1 @@ +UI_STRING.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_get0_result.html b/linux_amd64/share/doc/openssl/html/man3/UI_get0_result.html new file mode 120000 index 0000000..91ed366 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_get0_result.html @@ -0,0 +1 @@ +UI_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_get0_result_string.html b/linux_amd64/share/doc/openssl/html/man3/UI_get0_result_string.html new file mode 120000 index 0000000..142e355 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_get0_result_string.html @@ -0,0 +1 @@ +UI_STRING.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_get0_test_string.html b/linux_amd64/share/doc/openssl/html/man3/UI_get0_test_string.html new file mode 120000 index 0000000..142e355 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_get0_test_string.html @@ -0,0 +1 @@ +UI_STRING.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_get0_user_data.html b/linux_amd64/share/doc/openssl/html/man3/UI_get0_user_data.html new file mode 120000 index 0000000..91ed366 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_get0_user_data.html @@ -0,0 +1 @@ +UI_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_get_default_method.html b/linux_amd64/share/doc/openssl/html/man3/UI_get_default_method.html new file mode 120000 index 0000000..91ed366 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_get_default_method.html @@ -0,0 +1 @@ +UI_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_get_ex_data.html b/linux_amd64/share/doc/openssl/html/man3/UI_get_ex_data.html new file mode 120000 index 0000000..6d5f2d2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_get_ex_data.html @@ -0,0 +1 @@ +BIO_get_ex_new_index.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_get_ex_new_index.html b/linux_amd64/share/doc/openssl/html/man3/UI_get_ex_new_index.html new file mode 120000 index 0000000..6d5f2d2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_get_ex_new_index.html @@ -0,0 +1 @@ +BIO_get_ex_new_index.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_get_input_flags.html b/linux_amd64/share/doc/openssl/html/man3/UI_get_input_flags.html new file mode 120000 index 0000000..142e355 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_get_input_flags.html @@ -0,0 +1 @@ +UI_STRING.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_get_method.html b/linux_amd64/share/doc/openssl/html/man3/UI_get_method.html new file mode 120000 index 0000000..91ed366 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_get_method.html @@ -0,0 +1 @@ +UI_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_get_result_length.html b/linux_amd64/share/doc/openssl/html/man3/UI_get_result_length.html new file mode 120000 index 0000000..91ed366 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_get_result_length.html @@ -0,0 +1 @@ +UI_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_get_result_maxsize.html b/linux_amd64/share/doc/openssl/html/man3/UI_get_result_maxsize.html new file mode 120000 index 0000000..142e355 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_get_result_maxsize.html @@ -0,0 +1 @@ +UI_STRING.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_get_result_minsize.html b/linux_amd64/share/doc/openssl/html/man3/UI_get_result_minsize.html new file mode 120000 index 0000000..142e355 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_get_result_minsize.html @@ -0,0 +1 @@ +UI_STRING.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_get_result_string_length.html b/linux_amd64/share/doc/openssl/html/man3/UI_get_result_string_length.html new file mode 120000 index 0000000..142e355 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_get_result_string_length.html @@ -0,0 +1 @@ +UI_STRING.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_get_string_type.html b/linux_amd64/share/doc/openssl/html/man3/UI_get_string_type.html new file mode 120000 index 0000000..142e355 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_get_string_type.html @@ -0,0 +1 @@ +UI_STRING.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_method_get_closer.html b/linux_amd64/share/doc/openssl/html/man3/UI_method_get_closer.html new file mode 120000 index 0000000..d1020a1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_method_get_closer.html @@ -0,0 +1 @@ +UI_create_method.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_method_get_data_destructor.html b/linux_amd64/share/doc/openssl/html/man3/UI_method_get_data_destructor.html new file mode 120000 index 0000000..d1020a1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_method_get_data_destructor.html @@ -0,0 +1 @@ +UI_create_method.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_method_get_data_duplicator.html b/linux_amd64/share/doc/openssl/html/man3/UI_method_get_data_duplicator.html new file mode 120000 index 0000000..d1020a1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_method_get_data_duplicator.html @@ -0,0 +1 @@ +UI_create_method.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_method_get_ex_data.html b/linux_amd64/share/doc/openssl/html/man3/UI_method_get_ex_data.html new file mode 120000 index 0000000..d1020a1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_method_get_ex_data.html @@ -0,0 +1 @@ +UI_create_method.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_method_get_flusher.html b/linux_amd64/share/doc/openssl/html/man3/UI_method_get_flusher.html new file mode 120000 index 0000000..d1020a1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_method_get_flusher.html @@ -0,0 +1 @@ +UI_create_method.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_method_get_opener.html b/linux_amd64/share/doc/openssl/html/man3/UI_method_get_opener.html new file mode 120000 index 0000000..d1020a1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_method_get_opener.html @@ -0,0 +1 @@ +UI_create_method.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_method_get_prompt_constructor.html b/linux_amd64/share/doc/openssl/html/man3/UI_method_get_prompt_constructor.html new file mode 120000 index 0000000..d1020a1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_method_get_prompt_constructor.html @@ -0,0 +1 @@ +UI_create_method.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_method_get_reader.html b/linux_amd64/share/doc/openssl/html/man3/UI_method_get_reader.html new file mode 120000 index 0000000..d1020a1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_method_get_reader.html @@ -0,0 +1 @@ +UI_create_method.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_method_get_writer.html b/linux_amd64/share/doc/openssl/html/man3/UI_method_get_writer.html new file mode 120000 index 0000000..d1020a1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_method_get_writer.html @@ -0,0 +1 @@ +UI_create_method.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_method_set_closer.html b/linux_amd64/share/doc/openssl/html/man3/UI_method_set_closer.html new file mode 120000 index 0000000..d1020a1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_method_set_closer.html @@ -0,0 +1 @@ +UI_create_method.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_method_set_data_duplicator.html b/linux_amd64/share/doc/openssl/html/man3/UI_method_set_data_duplicator.html new file mode 120000 index 0000000..d1020a1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_method_set_data_duplicator.html @@ -0,0 +1 @@ +UI_create_method.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_method_set_ex_data.html b/linux_amd64/share/doc/openssl/html/man3/UI_method_set_ex_data.html new file mode 120000 index 0000000..d1020a1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_method_set_ex_data.html @@ -0,0 +1 @@ +UI_create_method.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_method_set_flusher.html b/linux_amd64/share/doc/openssl/html/man3/UI_method_set_flusher.html new file mode 120000 index 0000000..d1020a1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_method_set_flusher.html @@ -0,0 +1 @@ +UI_create_method.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_method_set_opener.html b/linux_amd64/share/doc/openssl/html/man3/UI_method_set_opener.html new file mode 120000 index 0000000..d1020a1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_method_set_opener.html @@ -0,0 +1 @@ +UI_create_method.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_method_set_prompt_constructor.html b/linux_amd64/share/doc/openssl/html/man3/UI_method_set_prompt_constructor.html new file mode 120000 index 0000000..d1020a1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_method_set_prompt_constructor.html @@ -0,0 +1 @@ +UI_create_method.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_method_set_reader.html b/linux_amd64/share/doc/openssl/html/man3/UI_method_set_reader.html new file mode 120000 index 0000000..d1020a1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_method_set_reader.html @@ -0,0 +1 @@ +UI_create_method.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_method_set_writer.html b/linux_amd64/share/doc/openssl/html/man3/UI_method_set_writer.html new file mode 120000 index 0000000..d1020a1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_method_set_writer.html @@ -0,0 +1 @@ +UI_create_method.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_new.html b/linux_amd64/share/doc/openssl/html/man3/UI_new.html index 188ed68..8306373 100755 --- a/linux_amd64/share/doc/openssl/html/man3/UI_new.html +++ b/linux_amd64/share/doc/openssl/html/man3/UI_new.html @@ -153,7 +153,7 @@ descriptive text (given through the prompt argument) and one describing the possible answers (given through the action_desc argument).

        UI_add_info_string() and UI_add_error_string() add strings that are shown at the same time as the prompt for extra information or to show an error string. -The difference between the two is only conceptual. With the built-in method, +The difference between the two is only conceptual. With the builtin method, there's no technical difference between them. Other methods may make a difference between them, however.

        The flags currently supported are UI_INPUT_FLAG_ECHO, which is relevant for @@ -170,12 +170,12 @@ of all strings.

        a prompt from two pieces of information: an description and a name. The default constructor (if there is none provided by the method used) creates a string "Enter description for name:". With the -description "pass phrase" and the filename "foo.key", that becomes +description "pass phrase" and the file name "foo.key", that becomes "Enter pass phrase for foo.key:". Other methods may create whatever string and may include encodings that will be processed by the other method functions.

        UI_add_user_data() adds a user data pointer for the method to use at any -time. The built-in UI method doesn't care about this info. Note that several +time. The builtin UI method doesn't care about this info. Note that several calls to this function doesn't add data, it replaces the previous blob with the one given as argument.

        UI_dup_user_data() duplicates the user data and works as an alternative @@ -213,7 +213,7 @@ are assumed to be encoded according to the current locale or (for Windows) code page. For applications having different demands, these strings need to be converted appropriately by the caller. -For Windows, if the OPENSSL_WIN32_UTF8 environment variable is set, +For Windows, if the OPENSSL_WIN32_UTF8 environment variable is set, the built-in method UI_OpenSSL() will produce UTF-8 encoded strings instead.

        @@ -247,7 +247,7 @@ respectively.


        COPYRIGHT

        Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_new_method.html b/linux_amd64/share/doc/openssl/html/man3/UI_new_method.html new file mode 120000 index 0000000..91ed366 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_new_method.html @@ -0,0 +1 @@ +UI_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_null.html b/linux_amd64/share/doc/openssl/html/man3/UI_null.html new file mode 120000 index 0000000..91ed366 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_null.html @@ -0,0 +1 @@ +UI_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_process.html b/linux_amd64/share/doc/openssl/html/man3/UI_process.html new file mode 120000 index 0000000..91ed366 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_process.html @@ -0,0 +1 @@ +UI_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_set_default_method.html b/linux_amd64/share/doc/openssl/html/man3/UI_set_default_method.html new file mode 120000 index 0000000..91ed366 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_set_default_method.html @@ -0,0 +1 @@ +UI_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_set_ex_data.html b/linux_amd64/share/doc/openssl/html/man3/UI_set_ex_data.html new file mode 120000 index 0000000..6d5f2d2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_set_ex_data.html @@ -0,0 +1 @@ +BIO_get_ex_new_index.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_set_method.html b/linux_amd64/share/doc/openssl/html/man3/UI_set_method.html new file mode 120000 index 0000000..91ed366 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_set_method.html @@ -0,0 +1 @@ +UI_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_set_result.html b/linux_amd64/share/doc/openssl/html/man3/UI_set_result.html new file mode 120000 index 0000000..142e355 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_set_result.html @@ -0,0 +1 @@ +UI_STRING.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_set_result_ex.html b/linux_amd64/share/doc/openssl/html/man3/UI_set_result_ex.html new file mode 120000 index 0000000..142e355 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_set_result_ex.html @@ -0,0 +1 @@ +UI_STRING.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/UI_string_types.html b/linux_amd64/share/doc/openssl/html/man3/UI_string_types.html new file mode 120000 index 0000000..142e355 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/UI_string_types.html @@ -0,0 +1 @@ +UI_STRING.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/USERNOTICE_free.html b/linux_amd64/share/doc/openssl/html/man3/USERNOTICE_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/USERNOTICE_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/USERNOTICE_new.html b/linux_amd64/share/doc/openssl/html/man3/USERNOTICE_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/USERNOTICE_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509V3_EXT_d2i.html b/linux_amd64/share/doc/openssl/html/man3/X509V3_EXT_d2i.html new file mode 120000 index 0000000..3a167bd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509V3_EXT_d2i.html @@ -0,0 +1 @@ +X509V3_get_d2i.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509V3_EXT_i2d.html b/linux_amd64/share/doc/openssl/html/man3/X509V3_EXT_i2d.html new file mode 120000 index 0000000..3a167bd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509V3_EXT_i2d.html @@ -0,0 +1 @@ +X509V3_get_d2i.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509V3_add1_i2d.html b/linux_amd64/share/doc/openssl/html/man3/X509V3_add1_i2d.html new file mode 120000 index 0000000..3a167bd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509V3_add1_i2d.html @@ -0,0 +1 @@ +X509V3_get_d2i.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509V3_get_d2i.html b/linux_amd64/share/doc/openssl/html/man3/X509V3_get_d2i.html index 2351eb2..e0a40f2 100755 --- a/linux_amd64/share/doc/openssl/html/man3/X509V3_get_d2i.html +++ b/linux_amd64/share/doc/openssl/html/man3/X509V3_get_d2i.html @@ -264,7 +264,7 @@ NULL if no extensions are present.


        COPYRIGHT

        Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_ALGOR_cmp.html b/linux_amd64/share/doc/openssl/html/man3/X509_ALGOR_cmp.html new file mode 120000 index 0000000..ffd38a3 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_ALGOR_cmp.html @@ -0,0 +1 @@ +X509_ALGOR_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_ALGOR_dup.html b/linux_amd64/share/doc/openssl/html/man3/X509_ALGOR_dup.html index 3539cdf..03ad380 100755 --- a/linux_amd64/share/doc/openssl/html/man3/X509_ALGOR_dup.html +++ b/linux_amd64/share/doc/openssl/html/man3/X509_ALGOR_dup.html @@ -62,7 +62,7 @@ and *ppval from the AlgorithmIdentifier X509_ALGOR_set_md() sets the AlgorithmIdentifier alg to appropriate values for the message digest md.

        X509_ALGOR_cmp() compares a and b and returns 0 if they have identical -encodings and nonzero otherwise.

        +encodings and non-zero otherwise.


        @@ -72,13 +72,13 @@ occurred.

        X509_ALGOR_set0() returns 1 on success or 0 on error.

        X509_ALGOR_get0() and X509_ALGOR_set_md() return no values.

        X509_ALGOR_cmp() returns 0 if the two parameters have identical encodings and -nonzero otherwise.

        +non-zero otherwise.


        COPYRIGHT

        Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_ALGOR_free.html b/linux_amd64/share/doc/openssl/html/man3/X509_ALGOR_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_ALGOR_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_ALGOR_get0.html b/linux_amd64/share/doc/openssl/html/man3/X509_ALGOR_get0.html new file mode 120000 index 0000000..ffd38a3 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_ALGOR_get0.html @@ -0,0 +1 @@ +X509_ALGOR_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_ALGOR_new.html b/linux_amd64/share/doc/openssl/html/man3/X509_ALGOR_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_ALGOR_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_ALGOR_set0.html b/linux_amd64/share/doc/openssl/html/man3/X509_ALGOR_set0.html new file mode 120000 index 0000000..ffd38a3 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_ALGOR_set0.html @@ -0,0 +1 @@ +X509_ALGOR_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_ALGOR_set_md.html b/linux_amd64/share/doc/openssl/html/man3/X509_ALGOR_set_md.html new file mode 120000 index 0000000..ffd38a3 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_ALGOR_set_md.html @@ -0,0 +1 @@ +X509_ALGOR_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_ATTRIBUTE_dup.html b/linux_amd64/share/doc/openssl/html/man3/X509_ATTRIBUTE_dup.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_ATTRIBUTE_dup.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_ATTRIBUTE_free.html b/linux_amd64/share/doc/openssl/html/man3/X509_ATTRIBUTE_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_ATTRIBUTE_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_ATTRIBUTE_new.html b/linux_amd64/share/doc/openssl/html/man3/X509_ATTRIBUTE_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_ATTRIBUTE_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_CERT_AUX_free.html b/linux_amd64/share/doc/openssl/html/man3/X509_CERT_AUX_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_CERT_AUX_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_CERT_AUX_new.html b/linux_amd64/share/doc/openssl/html/man3/X509_CERT_AUX_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_CERT_AUX_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_CINF_free.html b/linux_amd64/share/doc/openssl/html/man3/X509_CINF_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_CINF_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_CINF_new.html b/linux_amd64/share/doc/openssl/html/man3/X509_CINF_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_CINF_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_CRL_INFO_free.html b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_INFO_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_INFO_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_CRL_INFO_new.html b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_INFO_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_INFO_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_CRL_add0_revoked.html b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_add0_revoked.html new file mode 120000 index 0000000..c73f89c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_add0_revoked.html @@ -0,0 +1 @@ +X509_CRL_get0_by_serial.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_CRL_add1_ext_i2d.html b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_add1_ext_i2d.html new file mode 120000 index 0000000..3a167bd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_add1_ext_i2d.html @@ -0,0 +1 @@ +X509V3_get_d2i.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_CRL_add_ext.html b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_add_ext.html new file mode 120000 index 0000000..f251fd6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_add_ext.html @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_CRL_cmp.html b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_cmp.html new file mode 120000 index 0000000..04b18b5 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_cmp.html @@ -0,0 +1 @@ +X509_cmp.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_CRL_delete_ext.html b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_delete_ext.html new file mode 120000 index 0000000..f251fd6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_delete_ext.html @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_CRL_digest.html b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_digest.html new file mode 120000 index 0000000..f168418 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_digest.html @@ -0,0 +1 @@ +X509_digest.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_CRL_dup.html b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_dup.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_dup.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_CRL_free.html b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get0_by_cert.html b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get0_by_cert.html new file mode 120000 index 0000000..c73f89c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get0_by_cert.html @@ -0,0 +1 @@ +X509_CRL_get0_by_serial.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get0_by_serial.html b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get0_by_serial.html index 3c89863..d11c42d 100755 --- a/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get0_by_serial.html +++ b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get0_by_serial.html @@ -132,7 +132,7 @@ failure.


        COPYRIGHT

        Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get0_extensions.html b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get0_extensions.html new file mode 120000 index 0000000..3a167bd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get0_extensions.html @@ -0,0 +1 @@ +X509V3_get_d2i.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get0_lastUpdate.html b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get0_lastUpdate.html new file mode 120000 index 0000000..fdbbcec --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get0_lastUpdate.html @@ -0,0 +1 @@ +X509_get0_notBefore.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get0_nextUpdate.html b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get0_nextUpdate.html new file mode 120000 index 0000000..fdbbcec --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get0_nextUpdate.html @@ -0,0 +1 @@ +X509_get0_notBefore.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get0_signature.html b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get0_signature.html new file mode 120000 index 0000000..6180162 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get0_signature.html @@ -0,0 +1 @@ +X509_get0_signature.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get_REVOKED.html b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get_REVOKED.html new file mode 120000 index 0000000..c73f89c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get_REVOKED.html @@ -0,0 +1 @@ +X509_CRL_get0_by_serial.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get_ext.html b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get_ext.html new file mode 120000 index 0000000..f251fd6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get_ext.html @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get_ext_by_NID.html b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get_ext_by_NID.html new file mode 120000 index 0000000..f251fd6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get_ext_by_NID.html @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get_ext_by_OBJ.html b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get_ext_by_OBJ.html new file mode 120000 index 0000000..f251fd6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get_ext_by_OBJ.html @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get_ext_by_critical.html b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get_ext_by_critical.html new file mode 120000 index 0000000..f251fd6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get_ext_by_critical.html @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get_ext_count.html b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get_ext_count.html new file mode 120000 index 0000000..f251fd6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get_ext_count.html @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get_ext_d2i.html b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get_ext_d2i.html new file mode 120000 index 0000000..3a167bd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get_ext_d2i.html @@ -0,0 +1 @@ +X509V3_get_d2i.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get_issuer.html b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get_issuer.html new file mode 120000 index 0000000..dc12338 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get_issuer.html @@ -0,0 +1 @@ +X509_get_subject_name.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get_signature_nid.html b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get_signature_nid.html new file mode 120000 index 0000000..6180162 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get_signature_nid.html @@ -0,0 +1 @@ +X509_get0_signature.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get_version.html b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get_version.html new file mode 120000 index 0000000..28a20db --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_get_version.html @@ -0,0 +1 @@ +X509_get_version.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_CRL_match.html b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_match.html new file mode 120000 index 0000000..04b18b5 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_match.html @@ -0,0 +1 @@ +X509_cmp.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_CRL_new.html b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_CRL_set1_lastUpdate.html b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_set1_lastUpdate.html new file mode 120000 index 0000000..fdbbcec --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_set1_lastUpdate.html @@ -0,0 +1 @@ +X509_get0_notBefore.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_CRL_set1_nextUpdate.html b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_set1_nextUpdate.html new file mode 120000 index 0000000..fdbbcec --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_set1_nextUpdate.html @@ -0,0 +1 @@ +X509_get0_notBefore.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_CRL_set_issuer_name.html b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_set_issuer_name.html new file mode 120000 index 0000000..dc12338 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_set_issuer_name.html @@ -0,0 +1 @@ +X509_get_subject_name.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_CRL_set_version.html b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_set_version.html new file mode 120000 index 0000000..28a20db --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_set_version.html @@ -0,0 +1 @@ +X509_get_version.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_CRL_sign.html b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_sign.html new file mode 120000 index 0000000..77e6e23 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_sign.html @@ -0,0 +1 @@ +X509_sign.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_CRL_sign_ctx.html b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_sign_ctx.html new file mode 120000 index 0000000..77e6e23 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_sign_ctx.html @@ -0,0 +1 @@ +X509_sign.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_CRL_sort.html b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_sort.html new file mode 120000 index 0000000..c73f89c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_sort.html @@ -0,0 +1 @@ +X509_CRL_get0_by_serial.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_CRL_verify.html b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_verify.html new file mode 120000 index 0000000..77e6e23 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_CRL_verify.html @@ -0,0 +1 @@ +X509_sign.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_EXTENSION_create_by_NID.html b/linux_amd64/share/doc/openssl/html/man3/X509_EXTENSION_create_by_NID.html new file mode 120000 index 0000000..dc8cfa3 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_EXTENSION_create_by_NID.html @@ -0,0 +1 @@ +X509_EXTENSION_set_object.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_EXTENSION_create_by_OBJ.html b/linux_amd64/share/doc/openssl/html/man3/X509_EXTENSION_create_by_OBJ.html new file mode 120000 index 0000000..dc8cfa3 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_EXTENSION_create_by_OBJ.html @@ -0,0 +1 @@ +X509_EXTENSION_set_object.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_EXTENSION_dup.html b/linux_amd64/share/doc/openssl/html/man3/X509_EXTENSION_dup.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_EXTENSION_dup.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_EXTENSION_free.html b/linux_amd64/share/doc/openssl/html/man3/X509_EXTENSION_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_EXTENSION_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_EXTENSION_get_critical.html b/linux_amd64/share/doc/openssl/html/man3/X509_EXTENSION_get_critical.html new file mode 120000 index 0000000..dc8cfa3 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_EXTENSION_get_critical.html @@ -0,0 +1 @@ +X509_EXTENSION_set_object.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_EXTENSION_get_data.html b/linux_amd64/share/doc/openssl/html/man3/X509_EXTENSION_get_data.html new file mode 120000 index 0000000..dc8cfa3 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_EXTENSION_get_data.html @@ -0,0 +1 @@ +X509_EXTENSION_set_object.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_EXTENSION_get_object.html b/linux_amd64/share/doc/openssl/html/man3/X509_EXTENSION_get_object.html new file mode 120000 index 0000000..dc8cfa3 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_EXTENSION_get_object.html @@ -0,0 +1 @@ +X509_EXTENSION_set_object.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_EXTENSION_new.html b/linux_amd64/share/doc/openssl/html/man3/X509_EXTENSION_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_EXTENSION_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_EXTENSION_set_critical.html b/linux_amd64/share/doc/openssl/html/man3/X509_EXTENSION_set_critical.html new file mode 120000 index 0000000..dc8cfa3 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_EXTENSION_set_critical.html @@ -0,0 +1 @@ +X509_EXTENSION_set_object.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_EXTENSION_set_data.html b/linux_amd64/share/doc/openssl/html/man3/X509_EXTENSION_set_data.html new file mode 120000 index 0000000..dc8cfa3 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_EXTENSION_set_data.html @@ -0,0 +1 @@ +X509_EXTENSION_set_object.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_EXTENSION_set_object.html b/linux_amd64/share/doc/openssl/html/man3/X509_EXTENSION_set_object.html index e9cd229..3c22695 100755 --- a/linux_amd64/share/doc/openssl/html/man3/X509_EXTENSION_set_object.html +++ b/linux_amd64/share/doc/openssl/html/man3/X509_EXTENSION_set_object.html @@ -113,7 +113,7 @@ critical.


        COPYRIGHT

        Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_ctrl_fn.html b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_ctrl_fn.html new file mode 120000 index 0000000..83f399c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_ctrl_fn.html @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_file.html b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_file.html new file mode 120000 index 0000000..0adfa80 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_file.html @@ -0,0 +1 @@ +X509_LOOKUP_hash_dir.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_get_by_alias_fn.html b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_get_by_alias_fn.html new file mode 120000 index 0000000..83f399c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_get_by_alias_fn.html @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_get_by_fingerprint_fn.html b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_get_by_fingerprint_fn.html new file mode 120000 index 0000000..83f399c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_get_by_fingerprint_fn.html @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_get_by_issuer_serial_fn.html b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_get_by_issuer_serial_fn.html new file mode 120000 index 0000000..83f399c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_get_by_issuer_serial_fn.html @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_get_by_subject_fn.html b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_get_by_subject_fn.html new file mode 120000 index 0000000..83f399c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_get_by_subject_fn.html @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_get_method_data.html b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_get_method_data.html new file mode 120000 index 0000000..83f399c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_get_method_data.html @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_get_store.html b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_get_store.html new file mode 120000 index 0000000..83f399c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_get_store.html @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_hash_dir.html b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_hash_dir.html index ae8719d..99766ba 100755 --- a/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_hash_dir.html +++ b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_hash_dir.html @@ -23,12 +23,10 @@
      1. File Method
      2. Hashed Directory Method
      3. -
      4. OSSL_STORE Method
      5. RETURN VALUES
      6. SEE ALSO
      7. -
      8. HISTORY
      9. COPYRIGHT
      10. @@ -40,7 +38,7 @@


        NAME

        -

        X509_LOOKUP_hash_dir, X509_LOOKUP_file, X509_LOOKUP_store, +

        X509_LOOKUP_hash_dir, X509_LOOKUP_file, X509_load_cert_file, X509_load_crl_file, X509_load_cert_crl_file - Default OpenSSL certificate @@ -53,8 +51,7 @@ lookup methods

        #include <openssl/x509_vfy.h>
          X509_LOOKUP_METHOD *X509_LOOKUP_hash_dir(void);
        - X509_LOOKUP_METHOD *X509_LOOKUP_file(void);
        - X509_LOOKUP_METHOD *X509_LOOKUP_store(void);
        + X509_LOOKUP_METHOD *X509_LOOKUP_file(void);
          int X509_load_cert_file(X509_LOOKUP *ctx, const char *file, int type);
          int X509_load_crl_file(X509_LOOKUP *ctx, const char *file, int type);
        @@ -111,12 +108,12 @@ they are loaded. As of OpenSSL 1.0.0, it also checks for newer CRLs
         upon each lookup, so that newer CRLs are as soon as they appear in
         the directory.

        The directory should contain one certificate or CRL per file in PEM format, -with a filename of the form hash.N for a certificate, or +with a file name of the form hash.N for a certificate, or hash.rN for a CRL. The hash is the value returned by the X509_NAME_hash(3) function applied to the subject name for certificates or issuer name for CRLs. -The hash can also be obtained via the -hash option of the -openssl-x509(1) or openssl-crl(1) commands.

        +The hash can also be obtained via the -hash option of the x509(1) or +crl(1) commands.

        The .N or .rN suffix is a sequence number that starts at zero, and is incremented consecutively for each certificate or CRL with the same hash value. @@ -134,27 +131,14 @@ sequence number greater than that of the already cached CRL.

        Note that the hash algorithm used for subject name hashing changed in OpenSSL 1.0.0, and all certificate stores have to be rehashed when moving from OpenSSL 0.9.8 to 1.0.0.

        -

        OpenSSL includes a openssl-rehash(1) utility which creates symlinks with -hashed names for all files with .pem suffix in a given directory.

        -

        -

        -

        OSSL_STORE Method

        -

        X509_LOOKUP_store is a method that allows access to any store of -certificates and CRLs through any loader supported by -ossl_store(7). -It works with the help of URIs, which can be direct references to -certificates or CRLs, but can also be references to catalogues of such -objects (that behave like directories).

        -

        This method overlaps the File Method and Hashed Directory Method -because of the 'file:' scheme loader. -It does no caching of its own, but can use a caching ossl_store(7) -loader, and therefore depends on the loader's capability.

        +

        OpenSSL includes a rehash(1) utility which creates symlinks with correct +hashed names for all files with .pem suffix in a given directory.


        RETURN VALUES

        -

        X509_LOOKUP_hash_dir(), X509_LOOKUP_file() and X509_LOOKUP_store() -always return a valid X509_LOOKUP_METHOD structure.

        +

        X509_LOOKUP_hash_dir() and X509_LOOKUP_file() always return a valid +X509_LOOKUP_METHOD structure.

        X509_load_cert_file(), X509_load_crl_file() and X509_load_cert_crl_file() return the number of loaded objects or 0 on error.

        @@ -165,19 +149,13 @@ the number of loaded objects or 0 on error.

        X509_STORE_load_locations(3), X509_store_add_lookup(3), SSL_CTX_load_verify_locations(3), -X509_LOOKUP_meth_new(3), -ossl_store(7)

        -

        -

        -
        -

        HISTORY

        -

        X509_LOOKUP_store was added in OpenSSL 3.0.

        +X509_LOOKUP_meth_new(3),


        COPYRIGHT

        -

        Copyright 2015-2019 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved.

        +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_free.html b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_free.html new file mode 120000 index 0000000..83f399c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_free.html @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_get_ctrl.html b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_get_ctrl.html new file mode 120000 index 0000000..83f399c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_get_ctrl.html @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_get_free.html b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_get_free.html new file mode 120000 index 0000000..83f399c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_get_free.html @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_get_get_by_alias.html b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_get_get_by_alias.html new file mode 120000 index 0000000..83f399c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_get_get_by_alias.html @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_get_get_by_fingerprint.html b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_get_get_by_fingerprint.html new file mode 120000 index 0000000..83f399c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_get_get_by_fingerprint.html @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_get_get_by_issuer_serial.html b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_get_get_by_issuer_serial.html new file mode 120000 index 0000000..83f399c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_get_get_by_issuer_serial.html @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_get_get_by_subject.html b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_get_get_by_subject.html new file mode 120000 index 0000000..83f399c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_get_get_by_subject.html @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_get_init.html b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_get_init.html new file mode 120000 index 0000000..83f399c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_get_init.html @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_get_new_item.html b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_get_new_item.html new file mode 120000 index 0000000..83f399c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_get_new_item.html @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_get_shutdown.html b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_get_shutdown.html new file mode 120000 index 0000000..83f399c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_get_shutdown.html @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_new.html b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_new.html index f7ba051..c738e05 100755 --- a/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_new.html +++ b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_new.html @@ -33,8 +33,7 @@


        NAME

        -

        X509_LOOKUP_METHOD, -X509_LOOKUP_meth_new, X509_LOOKUP_meth_free, X509_LOOKUP_meth_set_new_item, +

        X509_LOOKUP_meth_new, X509_LOOKUP_meth_free, X509_LOOKUP_meth_set_new_item, X509_LOOKUP_meth_get_new_item, X509_LOOKUP_meth_set_free, X509_LOOKUP_meth_get_free, X509_LOOKUP_meth_set_init, X509_LOOKUP_meth_get_init, X509_LOOKUP_meth_set_shutdown, @@ -48,7 +47,8 @@ X509_LOOKUP_get_by_fingerprint_fn, X509_LOOKUP_meth_set_get_by_fingerprint, X509_LOOKUP_meth_get_get_by_fingerprint, X509_LOOKUP_get_by_alias_fn, X509_LOOKUP_meth_set_get_by_alias, X509_LOOKUP_meth_get_get_by_alias, -X509_OBJECT_set1_X509, X509_OBJECT_set1_X509_CRL +X509_LOOKUP_set_method_data, X509_LOOKUP_get_method_data, +X509_LOOKUP_get_store, X509_OBJECT_set1_X509, X509_OBJECT_set1_X509_CRL - Routines to build up X509_LOOKUP methods

        @@ -56,8 +56,6 @@ X509_OBJECT_set1_X509, X509_OBJECT_set1_X509_CRL

        SYNOPSIS

          #include <openssl/x509_vfy.h>
        -
        - typedef x509_lookup_method_st X509_LOOKUP_METHOD;
          X509_LOOKUP_METHOD *X509_LOOKUP_meth_new(const char *name);
          void X509_LOOKUP_meth_free(X509_LOOKUP_METHOD *method);
        @@ -126,6 +124,11 @@ X509_OBJECT_set1_X509, X509_OBJECT_set1_X509_CRL X509_LOOKUP_get_by_alias_fn fn); X509_LOOKUP_get_by_alias_fn X509_LOOKUP_meth_get_get_by_alias( const X509_LOOKUP_METHOD *method);
        +
        + int X509_LOOKUP_set_method_data(X509_LOOKUP *ctx, void *data);
        + void *X509_LOOKUP_get_method_data(const X509_LOOKUP *ctx);
        +
        + X509_STORE *X509_LOOKUP_get_store(const X509_LOOKUP *ctx);
          int X509_OBJECT_set1_X509(X509_OBJECT *a, X509 *obj);
          int X509_OBJECT_set1_X509_CRL(X509_OBJECT *a, X509_CRL *obj);
        @@ -146,13 +149,13 @@ method.

        function that is called when an X509_LOOKUP object is created with X509_LOOKUP_new(). If an X509_LOOKUP_METHOD requires any per-X509_LOOKUP specific data, the supplied new_item function should allocate this data and -invoke X509_LOOKUP_set_method_data(3).

        +invoke X509_LOOKUP_set_method_data().

        X509_LOOKUP_get_free() and X509_LOOKUP_set_free() get and set the function that is used to free any method data that was allocated and set from within new_item function.

        X509_LOOKUP_meth_get_init() and X509_LOOKUP_meth_set_init() get and set the function that is used to initialize the method data that was set with -X509_LOOKUP_set_method_data(3) as part of the new_item routine.

        +X509_LOOKUP_set_method_data() as part of the new_item routine.

        X509_LOOKUP_meth_get_shutdown() and X509_LOOKUP_meth_set_shutdown() get and set the function that is used to shut down the method data whose state was previously initialized in the init function.

        @@ -183,9 +186,9 @@ X509_OBJECT_set1_X509_CRL() to set the result. Note that this also increments the result's reference count.

        Any method data that was created as a result of the new_item function set by X509_LOOKUP_meth_set_new_item() can be accessed with -X509_LOOKUP_get_method_data(3). The X509_STORE object that owns the -X509_LOOKUP may be accessed with X509_LOOKUP_get_store(3). Successful -lookups should return 1, and unsuccessful lookups should return 0.

        +X509_LOOKUP_get_method_data(). The X509_STORE object that owns the +X509_LOOKUP may be accessed with X509_LOOKUP_get_store(). Successful lookups +should return 1, and unsuccessful lookups should return 0.

        X509_LOOKUP_get_get_by_subject(), X509_LOOKUP_get_get_by_issuer_serial(), X509_LOOKUP_get_get_by_fingerprint(), X509_LOOKUP_get_get_by_alias() retrieve the function set by the corresponding setter.

        @@ -210,8 +213,8 @@ pointers.


        COPYRIGHT

        -

        Copyright 2018 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Copyright 2018-2019 The OpenSSL Project Authors. All Rights Reserved.

        +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_set_ctrl.html b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_set_ctrl.html new file mode 120000 index 0000000..83f399c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_set_ctrl.html @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_set_free.html b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_set_free.html new file mode 120000 index 0000000..83f399c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_set_free.html @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_set_get_by_alias.html b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_set_get_by_alias.html new file mode 120000 index 0000000..83f399c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_set_get_by_alias.html @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_set_get_by_fingerprint.html b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_set_get_by_fingerprint.html new file mode 120000 index 0000000..83f399c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_set_get_by_fingerprint.html @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_set_get_by_issuer_serial.html b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_set_get_by_issuer_serial.html new file mode 120000 index 0000000..83f399c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_set_get_by_issuer_serial.html @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_set_get_by_subject.html b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_set_get_by_subject.html new file mode 120000 index 0000000..83f399c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_set_get_by_subject.html @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_set_init.html b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_set_init.html new file mode 120000 index 0000000..83f399c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_set_init.html @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_set_new_item.html b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_set_new_item.html new file mode 120000 index 0000000..83f399c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_set_new_item.html @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_set_shutdown.html b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_set_shutdown.html new file mode 120000 index 0000000..83f399c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_meth_set_shutdown.html @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_set_method_data.html b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_set_method_data.html new file mode 120000 index 0000000..83f399c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_LOOKUP_set_method_data.html @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_NAME_ENTRY_create_by_NID.html b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_ENTRY_create_by_NID.html new file mode 120000 index 0000000..8df6509 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_ENTRY_create_by_NID.html @@ -0,0 +1 @@ +X509_NAME_ENTRY_get_object.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_NAME_ENTRY_create_by_OBJ.html b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_ENTRY_create_by_OBJ.html new file mode 120000 index 0000000..8df6509 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_ENTRY_create_by_OBJ.html @@ -0,0 +1 @@ +X509_NAME_ENTRY_get_object.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_NAME_ENTRY_create_by_txt.html b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_ENTRY_create_by_txt.html new file mode 120000 index 0000000..8df6509 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_ENTRY_create_by_txt.html @@ -0,0 +1 @@ +X509_NAME_ENTRY_get_object.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_NAME_ENTRY_dup.html b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_ENTRY_dup.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_ENTRY_dup.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_NAME_ENTRY_free.html b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_ENTRY_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_ENTRY_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_NAME_ENTRY_get_data.html b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_ENTRY_get_data.html new file mode 120000 index 0000000..8df6509 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_ENTRY_get_data.html @@ -0,0 +1 @@ +X509_NAME_ENTRY_get_object.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_NAME_ENTRY_get_object.html b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_ENTRY_get_object.html index 3b12034..c232eaf 100755 --- a/linux_amd64/share/doc/openssl/html/man3/X509_NAME_ENTRY_get_object.html +++ b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_ENTRY_get_object.html @@ -116,7 +116,7 @@ NULL if an error occurred.


        COPYRIGHT

        Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_NAME_ENTRY_new.html b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_ENTRY_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_ENTRY_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_NAME_ENTRY_set_data.html b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_ENTRY_set_data.html new file mode 120000 index 0000000..8df6509 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_ENTRY_set_data.html @@ -0,0 +1 @@ +X509_NAME_ENTRY_get_object.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_NAME_ENTRY_set_object.html b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_ENTRY_set_object.html new file mode 120000 index 0000000..8df6509 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_ENTRY_set_object.html @@ -0,0 +1 @@ +X509_NAME_ENTRY_get_object.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_NAME_add_entry.html b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_add_entry.html new file mode 120000 index 0000000..97ecbfd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_add_entry.html @@ -0,0 +1 @@ +X509_NAME_add_entry_by_txt.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_NAME_add_entry_by_NID.html b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_add_entry_by_NID.html new file mode 120000 index 0000000..97ecbfd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_add_entry_by_NID.html @@ -0,0 +1 @@ +X509_NAME_add_entry_by_txt.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_NAME_add_entry_by_OBJ.html b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_add_entry_by_OBJ.html new file mode 120000 index 0000000..97ecbfd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_add_entry_by_OBJ.html @@ -0,0 +1 @@ +X509_NAME_add_entry_by_txt.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_NAME_add_entry_by_txt.html b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_add_entry_by_txt.html index 21475e1..35efb60 100755 --- a/linux_amd64/share/doc/openssl/html/man3/X509_NAME_add_entry_by_txt.html +++ b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_add_entry_by_txt.html @@ -148,8 +148,8 @@ can result in invalid field types its use is strongly discouraged.


        COPYRIGHT

        -

        Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Copyright 2002-2019 The OpenSSL Project Authors. All Rights Reserved.

        +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_NAME_cmp.html b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_cmp.html new file mode 120000 index 0000000..04b18b5 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_cmp.html @@ -0,0 +1 @@ +X509_cmp.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_NAME_delete_entry.html b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_delete_entry.html new file mode 120000 index 0000000..97ecbfd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_delete_entry.html @@ -0,0 +1 @@ +X509_NAME_add_entry_by_txt.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_NAME_digest.html b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_digest.html new file mode 120000 index 0000000..f168418 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_digest.html @@ -0,0 +1 @@ +X509_digest.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_NAME_dup.html b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_dup.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_dup.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_NAME_entry_count.html b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_entry_count.html new file mode 120000 index 0000000..d406d27 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_entry_count.html @@ -0,0 +1 @@ +X509_NAME_get_index_by_NID.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_NAME_free.html b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_NAME_get0_der.html b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_get0_der.html index 786459b..42cb2e3 100755 --- a/linux_amd64/share/doc/openssl/html/man3/X509_NAME_get0_der.html +++ b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_get0_der.html @@ -66,7 +66,7 @@ occurred.


        COPYRIGHT

        Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_NAME_get_entry.html b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_get_entry.html new file mode 120000 index 0000000..d406d27 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_get_entry.html @@ -0,0 +1 @@ +X509_NAME_get_index_by_NID.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_NAME_get_index_by_NID.html b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_get_index_by_NID.html index 45373f3..1bdcab6 100755 --- a/linux_amd64/share/doc/openssl/html/man3/X509_NAME_get_index_by_NID.html +++ b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_get_index_by_NID.html @@ -142,8 +142,8 @@ requested entry or NULL if the index is invalid.


        COPYRIGHT

        -

        Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Copyright 2002-2019 The OpenSSL Project Authors. All Rights Reserved.

        +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_NAME_get_index_by_OBJ.html b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_get_index_by_OBJ.html new file mode 120000 index 0000000..d406d27 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_get_index_by_OBJ.html @@ -0,0 +1 @@ +X509_NAME_get_index_by_NID.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_NAME_get_text_by_NID.html b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_get_text_by_NID.html new file mode 120000 index 0000000..d406d27 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_get_text_by_NID.html @@ -0,0 +1 @@ +X509_NAME_get_index_by_NID.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_NAME_get_text_by_OBJ.html b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_get_text_by_OBJ.html new file mode 120000 index 0000000..d406d27 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_get_text_by_OBJ.html @@ -0,0 +1 @@ +X509_NAME_get_index_by_NID.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_NAME_new.html b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_NAME_oneline.html b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_oneline.html new file mode 120000 index 0000000..eafdddd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_oneline.html @@ -0,0 +1 @@ +X509_NAME_print_ex.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_NAME_print.html b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_print.html new file mode 120000 index 0000000..eafdddd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_print.html @@ -0,0 +1 @@ +X509_NAME_print_ex.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_NAME_print_ex.html b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_print_ex.html index 458ccd0..1a6ef23 100755 --- a/linux_amd64/share/doc/openssl/html/man3/X509_NAME_print_ex.html +++ b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_print_ex.html @@ -105,11 +105,11 @@ control how each field value is displayed.

        In addition a number options can be set for commonly used formats.

        XN_FLAG_RFC2253 sets options which produce an output compatible with RFC2253 it is equivalent to: - ASN1_STRFLGS_RFC2253 | XN_FLAG_SEP_COMMA_PLUS | XN_FLAG_DN_REV | XN_FLAG_FN_SN | XN_FLAG_DUMP_UNKNOWN_FIELDS

        + ASN1_STRFLGS_RFC2253 | XN_FLAG_SEP_COMMA_PLUS | XN_FLAG_DN_REV | XN_FLAG_FN_SN | XN_FLAG_DUMP_UNKNOWN_FIELDS

        XN_FLAG_ONELINE is a more readable one line format which is the same as: - ASN1_STRFLGS_RFC2253 | ASN1_STRFLGS_ESC_QUOTE | XN_FLAG_SEP_CPLUS_SPC | XN_FLAG_SPC_EQ | XN_FLAG_FN_SN

        + ASN1_STRFLGS_RFC2253 | ASN1_STRFLGS_ESC_QUOTE | XN_FLAG_SEP_CPLUS_SPC | XN_FLAG_SPC_EQ | XN_FLAG_FN_SN

        XN_FLAG_MULTILINE is a multiline format which is the same as: - ASN1_STRFLGS_ESC_CTRL | ASN1_STRFLGS_ESC_MSB | XN_FLAG_SEP_MULTILINE | XN_FLAG_SPC_EQ | XN_FLAG_FN_LN | XN_FLAG_FN_ALIGN

        + ASN1_STRFLGS_ESC_CTRL | ASN1_STRFLGS_ESC_MSB | XN_FLAG_SEP_MULTILINE | XN_FLAG_SPC_EQ | XN_FLAG_FN_LN | XN_FLAG_FN_ALIGN

        XN_FLAG_COMPAT uses a format identical to X509_NAME_print(): in fact it calls X509_NAME_print() internally.

        @@ -130,7 +130,7 @@ it returns -1 on error or other values on success.


        COPYRIGHT

        Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_NAME_print_ex_fp.html b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_print_ex_fp.html new file mode 120000 index 0000000..eafdddd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_NAME_print_ex_fp.html @@ -0,0 +1 @@ +X509_NAME_print_ex.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_OBJECT_set1_X509.html b/linux_amd64/share/doc/openssl/html/man3/X509_OBJECT_set1_X509.html new file mode 120000 index 0000000..83f399c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_OBJECT_set1_X509.html @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_OBJECT_set1_X509_CRL.html b/linux_amd64/share/doc/openssl/html/man3/X509_OBJECT_set1_X509_CRL.html new file mode 120000 index 0000000..83f399c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_OBJECT_set1_X509_CRL.html @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_PUBKEY_free.html b/linux_amd64/share/doc/openssl/html/man3/X509_PUBKEY_free.html new file mode 120000 index 0000000..a5ea41d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_PUBKEY_free.html @@ -0,0 +1 @@ +X509_PUBKEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_PUBKEY_get.html b/linux_amd64/share/doc/openssl/html/man3/X509_PUBKEY_get.html new file mode 120000 index 0000000..a5ea41d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_PUBKEY_get.html @@ -0,0 +1 @@ +X509_PUBKEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_PUBKEY_get0.html b/linux_amd64/share/doc/openssl/html/man3/X509_PUBKEY_get0.html new file mode 120000 index 0000000..a5ea41d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_PUBKEY_get0.html @@ -0,0 +1 @@ +X509_PUBKEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_PUBKEY_get0_param.html b/linux_amd64/share/doc/openssl/html/man3/X509_PUBKEY_get0_param.html new file mode 120000 index 0000000..a5ea41d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_PUBKEY_get0_param.html @@ -0,0 +1 @@ +X509_PUBKEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_PUBKEY_new.html b/linux_amd64/share/doc/openssl/html/man3/X509_PUBKEY_new.html index 4a637eb..a0461de 100755 --- a/linux_amd64/share/doc/openssl/html/man3/X509_PUBKEY_new.html +++ b/linux_amd64/share/doc/openssl/html/man3/X509_PUBKEY_new.html @@ -33,9 +33,8 @@


        NAME

        -

        X509_PUBKEY_new, X509_PUBKEY_free, X509_PUBKEY_dup, -X509_PUBKEY_set, X509_PUBKEY_get0, X509_PUBKEY_get, -d2i_PUBKEY, i2d_PUBKEY, d2i_PUBKEY_bio, d2i_PUBKEY_fp, +

        X509_PUBKEY_new, X509_PUBKEY_free, X509_PUBKEY_set, X509_PUBKEY_get0, +X509_PUBKEY_get, d2i_PUBKEY, i2d_PUBKEY, d2i_PUBKEY_bio, d2i_PUBKEY_fp, i2d_PUBKEY_fp, i2d_PUBKEY_bio, X509_PUBKEY_set0_param, X509_PUBKEY_get0_param - SubjectPublicKeyInfo public key functions

        @@ -46,21 +45,20 @@ X509_PUBKEY_get0_param - SubjectPublicKeyInfo public key functions

        #include <openssl/x509.h>
          X509_PUBKEY *X509_PUBKEY_new(void);
        - void X509_PUBKEY_free(X509_PUBKEY *a);
        - X509_PUBKEY *X509_PUBKEY_dup(const X509_PUBKEY *a);
        + void X509_PUBKEY_free(X509_PUBKEY *a);
          int X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey);
          EVP_PKEY *X509_PUBKEY_get0(X509_PUBKEY *key);
          EVP_PKEY *X509_PUBKEY_get(X509_PUBKEY *key);
          EVP_PKEY *d2i_PUBKEY(EVP_PKEY **a, const unsigned char **pp, long length);
        - int i2d_PUBKEY(const EVP_PKEY *a, unsigned char **pp);
        + int i2d_PUBKEY(EVP_PKEY *a, unsigned char **pp);
          EVP_PKEY *d2i_PUBKEY_bio(BIO *bp, EVP_PKEY **a);
          EVP_PKEY *d2i_PUBKEY_fp(FILE *fp, EVP_PKEY **a);
        - int i2d_PUBKEY_fp(const FILE *fp, EVP_PKEY *pkey);
        - int i2d_PUBKEY_bio(BIO *bp, const EVP_PKEY *pkey);
        + int i2d_PUBKEY_fp(FILE *fp, EVP_PKEY *pkey); + int i2d_PUBKEY_bio(BIO *bp, EVP_PKEY *pkey);
          int X509_PUBKEY_set0_param(X509_PUBKEY *pub, ASN1_OBJECT *aobj,
                                     int ptype, void *pval,
        @@ -137,7 +135,7 @@ return 1 for success and 0 if an error occurred.


        COPYRIGHT

        Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_PUBKEY_set.html b/linux_amd64/share/doc/openssl/html/man3/X509_PUBKEY_set.html new file mode 120000 index 0000000..a5ea41d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_PUBKEY_set.html @@ -0,0 +1 @@ +X509_PUBKEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_PUBKEY_set0_param.html b/linux_amd64/share/doc/openssl/html/man3/X509_PUBKEY_set0_param.html new file mode 120000 index 0000000..a5ea41d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_PUBKEY_set0_param.html @@ -0,0 +1 @@ +X509_PUBKEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_REQ_INFO_free.html b/linux_amd64/share/doc/openssl/html/man3/X509_REQ_INFO_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_REQ_INFO_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_REQ_INFO_new.html b/linux_amd64/share/doc/openssl/html/man3/X509_REQ_INFO_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_REQ_INFO_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_REQ_check_private_key.html b/linux_amd64/share/doc/openssl/html/man3/X509_REQ_check_private_key.html new file mode 120000 index 0000000..0a20526 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_REQ_check_private_key.html @@ -0,0 +1 @@ +X509_check_private_key.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_REQ_digest.html b/linux_amd64/share/doc/openssl/html/man3/X509_REQ_digest.html new file mode 120000 index 0000000..f168418 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_REQ_digest.html @@ -0,0 +1 @@ +X509_digest.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_REQ_dup.html b/linux_amd64/share/doc/openssl/html/man3/X509_REQ_dup.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_REQ_dup.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_REQ_free.html b/linux_amd64/share/doc/openssl/html/man3/X509_REQ_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_REQ_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_REQ_get0_pubkey.html b/linux_amd64/share/doc/openssl/html/man3/X509_REQ_get0_pubkey.html new file mode 120000 index 0000000..9bfcb01 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_REQ_get0_pubkey.html @@ -0,0 +1 @@ +X509_get_pubkey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_REQ_get0_signature.html b/linux_amd64/share/doc/openssl/html/man3/X509_REQ_get0_signature.html new file mode 120000 index 0000000..6180162 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_REQ_get0_signature.html @@ -0,0 +1 @@ +X509_get0_signature.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_REQ_get_X509_PUBKEY.html b/linux_amd64/share/doc/openssl/html/man3/X509_REQ_get_X509_PUBKEY.html new file mode 120000 index 0000000..9bfcb01 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_REQ_get_X509_PUBKEY.html @@ -0,0 +1 @@ +X509_get_pubkey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_REQ_get_pubkey.html b/linux_amd64/share/doc/openssl/html/man3/X509_REQ_get_pubkey.html new file mode 120000 index 0000000..9bfcb01 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_REQ_get_pubkey.html @@ -0,0 +1 @@ +X509_get_pubkey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_REQ_get_signature_nid.html b/linux_amd64/share/doc/openssl/html/man3/X509_REQ_get_signature_nid.html new file mode 120000 index 0000000..6180162 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_REQ_get_signature_nid.html @@ -0,0 +1 @@ +X509_get0_signature.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_REQ_get_subject_name.html b/linux_amd64/share/doc/openssl/html/man3/X509_REQ_get_subject_name.html new file mode 120000 index 0000000..dc12338 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_REQ_get_subject_name.html @@ -0,0 +1 @@ +X509_get_subject_name.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_REQ_get_version.html b/linux_amd64/share/doc/openssl/html/man3/X509_REQ_get_version.html new file mode 120000 index 0000000..28a20db --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_REQ_get_version.html @@ -0,0 +1 @@ +X509_get_version.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_REQ_new.html b/linux_amd64/share/doc/openssl/html/man3/X509_REQ_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_REQ_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_REQ_set_pubkey.html b/linux_amd64/share/doc/openssl/html/man3/X509_REQ_set_pubkey.html new file mode 120000 index 0000000..9bfcb01 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_REQ_set_pubkey.html @@ -0,0 +1 @@ +X509_get_pubkey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_REQ_set_subject_name.html b/linux_amd64/share/doc/openssl/html/man3/X509_REQ_set_subject_name.html new file mode 120000 index 0000000..dc12338 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_REQ_set_subject_name.html @@ -0,0 +1 @@ +X509_get_subject_name.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_REQ_set_version.html b/linux_amd64/share/doc/openssl/html/man3/X509_REQ_set_version.html new file mode 120000 index 0000000..28a20db --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_REQ_set_version.html @@ -0,0 +1 @@ +X509_get_version.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_REQ_sign.html b/linux_amd64/share/doc/openssl/html/man3/X509_REQ_sign.html new file mode 120000 index 0000000..77e6e23 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_REQ_sign.html @@ -0,0 +1 @@ +X509_sign.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_REQ_sign_ctx.html b/linux_amd64/share/doc/openssl/html/man3/X509_REQ_sign_ctx.html new file mode 120000 index 0000000..77e6e23 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_REQ_sign_ctx.html @@ -0,0 +1 @@ +X509_sign.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_REQ_verify.html b/linux_amd64/share/doc/openssl/html/man3/X509_REQ_verify.html new file mode 120000 index 0000000..77e6e23 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_REQ_verify.html @@ -0,0 +1 @@ +X509_sign.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_add1_ext_i2d.html b/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_add1_ext_i2d.html new file mode 120000 index 0000000..3a167bd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_add1_ext_i2d.html @@ -0,0 +1 @@ +X509V3_get_d2i.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_add_ext.html b/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_add_ext.html new file mode 120000 index 0000000..f251fd6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_add_ext.html @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_delete_ext.html b/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_delete_ext.html new file mode 120000 index 0000000..f251fd6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_delete_ext.html @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_dup.html b/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_dup.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_dup.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_free.html b/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_get0_extensions.html b/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_get0_extensions.html new file mode 120000 index 0000000..3a167bd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_get0_extensions.html @@ -0,0 +1 @@ +X509V3_get_d2i.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_get0_revocationDate.html b/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_get0_revocationDate.html new file mode 120000 index 0000000..c73f89c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_get0_revocationDate.html @@ -0,0 +1 @@ +X509_CRL_get0_by_serial.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_get0_serialNumber.html b/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_get0_serialNumber.html new file mode 120000 index 0000000..c73f89c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_get0_serialNumber.html @@ -0,0 +1 @@ +X509_CRL_get0_by_serial.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_get_ext.html b/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_get_ext.html new file mode 120000 index 0000000..f251fd6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_get_ext.html @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_get_ext_by_NID.html b/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_get_ext_by_NID.html new file mode 120000 index 0000000..f251fd6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_get_ext_by_NID.html @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_get_ext_by_OBJ.html b/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_get_ext_by_OBJ.html new file mode 120000 index 0000000..f251fd6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_get_ext_by_OBJ.html @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_get_ext_by_critical.html b/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_get_ext_by_critical.html new file mode 120000 index 0000000..f251fd6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_get_ext_by_critical.html @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_get_ext_count.html b/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_get_ext_count.html new file mode 120000 index 0000000..f251fd6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_get_ext_count.html @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_get_ext_d2i.html b/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_get_ext_d2i.html new file mode 120000 index 0000000..3a167bd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_get_ext_d2i.html @@ -0,0 +1 @@ +X509V3_get_d2i.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_new.html b/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_set_revocationDate.html b/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_set_revocationDate.html new file mode 120000 index 0000000..c73f89c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_set_revocationDate.html @@ -0,0 +1 @@ +X509_CRL_get0_by_serial.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_set_serialNumber.html b/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_set_serialNumber.html new file mode 120000 index 0000000..c73f89c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_REVOKED_set_serialNumber.html @@ -0,0 +1 @@ +X509_CRL_get0_by_serial.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_SIG_INFO_get.html b/linux_amd64/share/doc/openssl/html/man3/X509_SIG_INFO_get.html new file mode 120000 index 0000000..6180162 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_SIG_INFO_get.html @@ -0,0 +1 @@ +X509_get0_signature.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_SIG_INFO_set.html b/linux_amd64/share/doc/openssl/html/man3/X509_SIG_INFO_set.html new file mode 120000 index 0000000..6180162 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_SIG_INFO_set.html @@ -0,0 +1 @@ +X509_get0_signature.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_SIG_free.html b/linux_amd64/share/doc/openssl/html/man3/X509_SIG_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_SIG_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_SIG_get0.html b/linux_amd64/share/doc/openssl/html/man3/X509_SIG_get0.html index fa48622..496ad50 100755 --- a/linux_amd64/share/doc/openssl/html/man3/X509_SIG_get0.html +++ b/linux_amd64/share/doc/openssl/html/man3/X509_SIG_get0.html @@ -67,7 +67,7 @@ for example to initialise them.


        COPYRIGHT

        Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_SIG_getm.html b/linux_amd64/share/doc/openssl/html/man3/X509_SIG_getm.html new file mode 120000 index 0000000..050223e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_SIG_getm.html @@ -0,0 +1 @@ +X509_SIG_get0.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_SIG_new.html b/linux_amd64/share/doc/openssl/html/man3/X509_SIG_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_SIG_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_cert_crl_fn.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_cert_crl_fn.html new file mode 120000 index 0000000..286bd1a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_cert_crl_fn.html @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_check_crl_fn.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_check_crl_fn.html new file mode 120000 index 0000000..286bd1a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_check_crl_fn.html @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_check_issued_fn.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_check_issued_fn.html new file mode 120000 index 0000000..286bd1a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_check_issued_fn.html @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_check_policy_fn.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_check_policy_fn.html new file mode 120000 index 0000000..286bd1a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_check_policy_fn.html @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_check_revocation_fn.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_check_revocation_fn.html new file mode 120000 index 0000000..286bd1a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_check_revocation_fn.html @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_cleanup.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_cleanup.html new file mode 120000 index 0000000..48d2a57 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_cleanup.html @@ -0,0 +1 @@ +X509_STORE_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_cleanup_fn.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_cleanup_fn.html new file mode 120000 index 0000000..286bd1a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_cleanup_fn.html @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_free.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_free.html new file mode 120000 index 0000000..48d2a57 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_free.html @@ -0,0 +1 @@ +X509_STORE_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get0_cert.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get0_cert.html new file mode 120000 index 0000000..542dc2e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get0_cert.html @@ -0,0 +1 @@ +X509_STORE_CTX_get_error.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get0_chain.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get0_chain.html new file mode 120000 index 0000000..48d2a57 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get0_chain.html @@ -0,0 +1 @@ +X509_STORE_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get0_param.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get0_param.html new file mode 120000 index 0000000..48d2a57 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get0_param.html @@ -0,0 +1 @@ +X509_STORE_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get0_untrusted.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get0_untrusted.html new file mode 120000 index 0000000..48d2a57 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get0_untrusted.html @@ -0,0 +1 @@ +X509_STORE_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get1_chain.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get1_chain.html new file mode 120000 index 0000000..542dc2e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get1_chain.html @@ -0,0 +1 @@ +X509_STORE_CTX_get_error.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_cert_crl.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_cert_crl.html new file mode 120000 index 0000000..ffc599e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_cert_crl.html @@ -0,0 +1 @@ +X509_STORE_CTX_set_verify_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_check_crl.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_check_crl.html new file mode 120000 index 0000000..ffc599e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_check_crl.html @@ -0,0 +1 @@ +X509_STORE_CTX_set_verify_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_check_issued.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_check_issued.html new file mode 120000 index 0000000..ffc599e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_check_issued.html @@ -0,0 +1 @@ +X509_STORE_CTX_set_verify_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_check_policy.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_check_policy.html new file mode 120000 index 0000000..ffc599e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_check_policy.html @@ -0,0 +1 @@ +X509_STORE_CTX_set_verify_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_check_revocation.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_check_revocation.html new file mode 120000 index 0000000..ffc599e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_check_revocation.html @@ -0,0 +1 @@ +X509_STORE_CTX_set_verify_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_cleanup.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_cleanup.html new file mode 120000 index 0000000..ffc599e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_cleanup.html @@ -0,0 +1 @@ +X509_STORE_CTX_set_verify_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_crl_fn.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_crl_fn.html new file mode 120000 index 0000000..286bd1a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_crl_fn.html @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_current_cert.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_current_cert.html new file mode 120000 index 0000000..542dc2e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_current_cert.html @@ -0,0 +1 @@ +X509_STORE_CTX_get_error.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_error.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_error.html index bb2183d..fad52b7 100755 --- a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_error.html +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_error.html @@ -121,189 +121,184 @@ error codes are defined but currently never returned: these are described as
        X509_V_OK: ok
        -

        The operation was successful.

        -
        -
        X509_V_ERR_UNSPECIFIED: unspecified certificate verification error
        - -
        -

        Unspecified error; should not happen.

        +

        the operation was successful.

        X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT: unable to get issuer certificate
        -

        The issuer certificate of a locally looked up certificate could not be found. +

        the issuer certificate of a locally looked up certificate could not be found. This normally means the list of trusted certificates is not complete.

        X509_V_ERR_UNABLE_TO_GET_CRL: unable to get certificate CRL
        -

        The CRL of a certificate could not be found.

        +

        the CRL of a certificate could not be found.

        X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE: unable to decrypt certificate's signature
        -

        The certificate signature could not be decrypted. This means that the actual +

        the certificate signature could not be decrypted. This means that the actual signature value could not be determined rather than it not matching the expected value, this is only meaningful for RSA keys.

        X509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE: unable to decrypt CRL's signature
        -

        The CRL signature could not be decrypted: this means that the actual signature +

        the CRL signature could not be decrypted: this means that the actual signature value could not be determined rather than it not matching the expected value. Unused.

        X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY: unable to decode issuer public key
        -

        The public key in the certificate SubjectPublicKeyInfo field could -not be read.

        +

        the public key in the certificate SubjectPublicKeyInfo could not be read.

        X509_V_ERR_CERT_SIGNATURE_FAILURE: certificate signature failure
        -

        The signature of the certificate is invalid.

        +

        the signature of the certificate is invalid.

        X509_V_ERR_CRL_SIGNATURE_FAILURE: CRL signature failure
        -

        The signature of the certificate is invalid.

        +

        the signature of the certificate is invalid.

        X509_V_ERR_CERT_NOT_YET_VALID: certificate is not yet valid
        -

        The certificate is not yet valid: the notBefore date is after the -current time.

        +

        the certificate is not yet valid: the notBefore date is after the current time.

        X509_V_ERR_CERT_HAS_EXPIRED: certificate has expired
        -

        The certificate has expired: that is the notAfter date is before the -current time.

        +

        the certificate has expired: that is the notAfter date is before the current time.

        X509_V_ERR_CRL_NOT_YET_VALID: CRL is not yet valid
        -

        The CRL is not yet valid.

        +

        the CRL is not yet valid.

        X509_V_ERR_CRL_HAS_EXPIRED: CRL has expired
        -

        The CRL has expired.

        +

        the CRL has expired.

        X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD: format error in certificate's notBefore field
        -

        The certificate notBefore field contains an invalid time.

        +

        the certificate notBefore field contains an invalid time.

        X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD: format error in certificate's notAfter field
        -

        The certificate notAfter field contains an invalid time.

        +

        the certificate notAfter field contains an invalid time.

        X509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD: format error in CRL's lastUpdate field
        -

        The CRL lastUpdate field contains an invalid time.

        +

        the CRL lastUpdate field contains an invalid time.

        X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD: format error in CRL's nextUpdate field
        -

        The CRL nextUpdate field contains an invalid time.

        +

        the CRL nextUpdate field contains an invalid time.

        X509_V_ERR_OUT_OF_MEM: out of memory
        -

        An error occurred trying to allocate memory.

        +

        an error occurred trying to allocate memory. This should never happen.

        X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT: self signed certificate
        -

        The passed certificate is self-signed and the same certificate cannot be found +

        the passed certificate is self signed and the same certificate cannot be found in the list of trusted certificates.

        X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN: self signed certificate in certificate chain
        -

        The certificate chain could be built up using the untrusted certificates but +

        the certificate chain could be built up using the untrusted certificates but the root could not be found locally.

        X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY: unable to get local issuer certificate
        -

        The issuer certificate could not be found: this occurs if the issuer certificate +

        the issuer certificate could not be found: this occurs if the issuer certificate of an untrusted certificate cannot be found.

        X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE: unable to verify the first certificate
        -

        No signatures could be verified because the chain contains only one certificate +

        no signatures could be verified because the chain contains only one certificate and it is not self signed.

        X509_V_ERR_CERT_CHAIN_TOO_LONG: certificate chain too long
        -

        The certificate chain length is greater than the supplied maximum depth. Unused.

        +

        the certificate chain length is greater than the supplied maximum depth. Unused.

        X509_V_ERR_CERT_REVOKED: certificate revoked
        -

        The certificate has been revoked.

        +

        the certificate has been revoked.

        X509_V_ERR_INVALID_CA: invalid CA certificate
        -

        A CA certificate is invalid. Either it is not a CA or its extensions are not +

        a CA certificate is invalid. Either it is not a CA or its extensions are not consistent with the supplied purpose.

        X509_V_ERR_PATH_LENGTH_EXCEEDED: path length constraint exceeded
        -

        The basicConstraints path-length parameter has been exceeded.

        +

        the basicConstraints path-length parameter has been exceeded.

        X509_V_ERR_INVALID_PURPOSE: unsupported certificate purpose
        -

        The supplied certificate cannot be used for the specified purpose.

        +

        the supplied certificate cannot be used for the specified purpose.

        X509_V_ERR_CERT_UNTRUSTED: certificate not trusted
        -

        The root CA is not marked as trusted for the specified purpose.

        +

        the root CA is not marked as trusted for the specified purpose.

        X509_V_ERR_CERT_REJECTED: certificate rejected
        -

        The root CA is marked to reject the specified purpose.

        +

        the root CA is marked to reject the specified purpose.

        X509_V_ERR_SUBJECT_ISSUER_MISMATCH: subject issuer mismatch
        -

        The current candidate issuer certificate was rejected because its subject name -did not match the issuer name of the current certificate.

        +

        the current candidate issuer certificate was rejected because its subject name +did not match the issuer name of the current certificate. This is only set +if issuer check debugging is enabled it is used for status notification and +is not in itself an error.

        X509_V_ERR_AKID_SKID_MISMATCH: authority and subject key identifier mismatch
        -

        The current candidate issuer certificate was rejected because its subject key +

        the current candidate issuer certificate was rejected because its subject key identifier was present and did not match the authority key identifier current -certificate. -Not used as of OpenSSL 1.1.0.

        +certificate. This is only set if issuer check debugging is enabled it is used +for status notification and is not in itself an error.

        X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH: authority and issuer serial number mismatch
        -

        The current candidate issuer certificate was rejected because its issuer name +

        the current candidate issuer certificate was rejected because its issuer name and serial number was present and did not match the authority key identifier of -the current certificate. -Not used as of OpenSSL 1.1.0.

        +the current certificate. This is only set if issuer check debugging is enabled +it is used for status notification and is not in itself an error.

        X509_V_ERR_KEYUSAGE_NO_CERTSIGN:key usage does not include certificate signing
        -

        The current candidate issuer certificate was rejected because its keyUsage -extension does not permit certificate signing. -Not used as of OpenSSL 1.1.0.

        +

        the current candidate issuer certificate was rejected because its keyUsage +extension does not permit certificate signing. This is only set if issuer check +debugging is enabled it is used for status notification and is not in itself +an error.

        X509_V_ERR_INVALID_EXTENSION: invalid or inconsistent certificate extension
        @@ -372,147 +367,8 @@ happen if extended CRL checking is enabled.

        X509_V_ERR_APPLICATION_VERIFICATION: application verification failure
        -

        An application specific error. This will never be returned unless explicitly -set by an application callback.

        -
        -
        X509_V_ERR_UNABLE_TO_GET_CRL_ISSUER: unable to get CRL issuer certificate
        - -
        -

        Unable to get CRL issuer certificate.

        -
        -
        X509_V_ERR_UNHANDLED_CRITICAL_EXTENSION: unhandled critical extension
        - -
        -

        Unhandled critical extension.

        -
        -
        X509_V_ERR_KEYUSAGE_NO_CRL_SIGN: key usage does not include CRL signing
        - -
        -

        Key usage does not include CRL signing.

        -
        -
        X509_V_ERR_UNHANDLED_CRITICAL_CRL_EXTENSION: unhandled critical CRL extension
        - -
        -

        Unhandled critical CRL extension.

        -
        -
        X509_V_ERR_INVALID_NON_CA: invalid non-CA certificate (has CA markings)
        - -
        -

        Invalid non-CA certificate has CA markings.

        -
        -
        X509_V_ERR_PROXY_PATH_LENGTH_EXCEEDED: proxy path length contraint exceeded
        - -
        -

        Proxy path length constraint exceeded.

        -
        -
        X509_V_ERR_KEYUSAGE_NO_DIGITAL_SIGNATURE: key usage does not include digital signature
        - -
        -

        Key usage does not include digital signature, and therefore cannot sign -certificates.

        -
        -
        X509_V_ERR_PROXY_CERTIFICATES_NOT_ALLOWED: proxy certificates not allowed, please set the appropriate flag
        - -
        -

        Proxy certificates not allowed unless the -allow_proxy_certs option is used.

        -
        -
        X509_V_ERR_UNNESTED_RESOURCE: RFC 3779 resource not subset of parent's resrouces
        - -
        -

        See RFC 3779 for details.

        -
        -
        X509_V_ERR_UNSUPPORTED_NAME_SYNTAX: unsupported or invalid name syntax
        - -
        -

        Unsupported or invalid name syntax.

        -
        -
        X509_V_ERR_PATH_LOOP: path loop
        - -
        -

        Path loop.

        -
        -
        X509_V_ERR_HOSTNAME_MISMATCH: hostname mismatch
        - -
        -

        Hostname mismatch.

        -
        -
        X509_V_ERR_EMAIL_MISMATCH: email address mismatch
        - -
        -

        Email address mismatch.

        -
        -
        X509_V_ERR_IP_ADDRESS_MISMATCH: IP address mismatch
        - -
        -

        IP address mismatch.

        -
        -
        X509_V_ERR_DANE_NO_MATCH: no matching DANE TLSA records
        - -
        -

        DANE TLSA authentication is enabled, but no TLSA records matched the -certificate chain. -This error is only possible in openssl-s_client(1).

        -
        -
        X509_V_ERR_EE_KEY_TOO_SMALL: EE certificate key too weak
        - -
        -

        EE certificate key too weak.

        -
        -
        X509_ERR_CA_KEY_TOO_SMALL: CA certificate key too weak
        - -
        -

        CA certificate key too weak.

        -
        -
        X509_ERR_CA_MD_TOO_WEAK: CA signature digest algorithm too weak
        - -
        -

        CA signature digest algorithm too weak.

        -
        -
        X509_V_ERR_INVALID_CALL: invalid certificate verification context
        - -
        -

        invalid certificate verification context.

        -
        -
        X509_V_ERR_STORE_LOOKUP: issuer certificate lookup error
        - -
        -

        Issuer certificate lookup error.

        -
        -
        X509_V_ERR_NO_VALID_SCTS: certificate transparency required, but no valid SCTs found
        - -
        -

        Certificate Transparency required, but no valid SCTs found.

        -
        -
        X509_V_ERR_PROXY_SUBJECT_NAME_VIOLATION: proxy subject name violation
        - -
        -

        Proxy subject name violation.

        -
        -
        X509_V_ERR_OCSP_VERIFY_NEEDED: OCSP verification needed
        - -
        -

        Returned by the verify callback to indicate an OCSP verification is needed.

        -
        -
        X509_V_ERR_OCSP_VERIFY_FAILED: OCSP verification failed
        - -
        -

        Returned by the verify callback to indicate OCSP verification failed.

        -
        -
        X509_V_ERR_OCSP_CERT_UNKNOWN: OCSP unknown cert
        - -
        -

        Returned by the verify callback to indicate that the certificate is not -recognized by the OCSP responder.

        - -
      11. 509_V_ERROR_NO_ISSUER_PUBLI_KEY, issuer certificate doesn't have a public key - -

        The issuer certificate does not have a public key.

        -
      12. -
        X509_V_ERROR_SIGNATURE_ALGORITHM_MISMATCH, Subject signature algorithm and issuer public key algoritm mismatch
        - -
        -

        The issuer's public key is not of the type required by the signature in -the subject's certificate.

        +

        an application specific error. This will never be returned unless explicitly +set by an application.

        @@ -539,8 +395,8 @@ thread safe but will never happen unless an invalid code is passed.


        COPYRIGHT

        -

        Copyright 2009-2016 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Copyright 2009-2019 The OpenSSL Project Authors. All Rights Reserved.

        +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_error_depth.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_error_depth.html new file mode 120000 index 0000000..542dc2e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_error_depth.html @@ -0,0 +1 @@ +X509_STORE_CTX_get_error.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_ex_data.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_ex_data.html new file mode 120000 index 0000000..6d5f2d2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_ex_data.html @@ -0,0 +1 @@ +BIO_get_ex_new_index.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_ex_new_index.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_ex_new_index.html new file mode 120000 index 0000000..6d5f2d2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_ex_new_index.html @@ -0,0 +1 @@ +BIO_get_ex_new_index.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_get_crl.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_get_crl.html new file mode 120000 index 0000000..ffc599e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_get_crl.html @@ -0,0 +1 @@ +X509_STORE_CTX_set_verify_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_get_issuer.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_get_issuer.html new file mode 120000 index 0000000..ffc599e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_get_issuer.html @@ -0,0 +1 @@ +X509_STORE_CTX_set_verify_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_issuer_fn.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_issuer_fn.html new file mode 120000 index 0000000..286bd1a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_issuer_fn.html @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_lookup_certs.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_lookup_certs.html new file mode 120000 index 0000000..ffc599e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_lookup_certs.html @@ -0,0 +1 @@ +X509_STORE_CTX_set_verify_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_lookup_crls.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_lookup_crls.html new file mode 120000 index 0000000..ffc599e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_lookup_crls.html @@ -0,0 +1 @@ +X509_STORE_CTX_set_verify_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_num_untrusted.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_num_untrusted.html new file mode 120000 index 0000000..48d2a57 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_num_untrusted.html @@ -0,0 +1 @@ +X509_STORE_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_verify.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_verify.html new file mode 120000 index 0000000..286bd1a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_verify.html @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_verify_cb.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_verify_cb.html new file mode 120000 index 0000000..ffc599e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_get_verify_cb.html @@ -0,0 +1 @@ +X509_STORE_CTX_set_verify_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_init.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_init.html new file mode 120000 index 0000000..48d2a57 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_init.html @@ -0,0 +1 @@ +X509_STORE_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_lookup_certs_fn.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_lookup_certs_fn.html new file mode 120000 index 0000000..286bd1a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_lookup_certs_fn.html @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_lookup_crls_fn.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_lookup_crls_fn.html new file mode 120000 index 0000000..286bd1a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_lookup_crls_fn.html @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_new.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_new.html index 9cf6ede..4d8fd63 100755 --- a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_new.html +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_new.html @@ -185,7 +185,7 @@ The X509_STORE_CTX_get_num_untrusted() function was added in OpenSSL 1.1.0.


        COPYRIGHT

        Copyright 2009-2016 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set0_crls.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set0_crls.html new file mode 120000 index 0000000..48d2a57 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set0_crls.html @@ -0,0 +1 @@ +X509_STORE_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set0_param.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set0_param.html new file mode 120000 index 0000000..48d2a57 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set0_param.html @@ -0,0 +1 @@ +X509_STORE_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set0_trusted_stack.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set0_trusted_stack.html new file mode 120000 index 0000000..48d2a57 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set0_trusted_stack.html @@ -0,0 +1 @@ +X509_STORE_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set0_untrusted.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set0_untrusted.html new file mode 120000 index 0000000..48d2a57 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set0_untrusted.html @@ -0,0 +1 @@ +X509_STORE_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set0_verified_chain.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set0_verified_chain.html new file mode 120000 index 0000000..48d2a57 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set0_verified_chain.html @@ -0,0 +1 @@ +X509_STORE_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set_cert.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set_cert.html new file mode 120000 index 0000000..48d2a57 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set_cert.html @@ -0,0 +1 @@ +X509_STORE_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set_current_cert.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set_current_cert.html new file mode 120000 index 0000000..542dc2e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set_current_cert.html @@ -0,0 +1 @@ +X509_STORE_CTX_get_error.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set_default.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set_default.html new file mode 120000 index 0000000..48d2a57 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set_default.html @@ -0,0 +1 @@ +X509_STORE_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set_error.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set_error.html new file mode 120000 index 0000000..542dc2e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set_error.html @@ -0,0 +1 @@ +X509_STORE_CTX_get_error.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set_error_depth.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set_error_depth.html new file mode 120000 index 0000000..542dc2e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set_error_depth.html @@ -0,0 +1 @@ +X509_STORE_CTX_get_error.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set_ex_data.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set_ex_data.html new file mode 120000 index 0000000..6d5f2d2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set_ex_data.html @@ -0,0 +1 @@ +BIO_get_ex_new_index.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set_verify.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set_verify.html new file mode 120000 index 0000000..48d2a57 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set_verify.html @@ -0,0 +1 @@ +X509_STORE_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set_verify_cb.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set_verify_cb.html index b153188..02bad91 100755 --- a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set_verify_cb.html +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_set_verify_cb.html @@ -48,9 +48,8 @@ X509_STORE_CTX_get_check_issued, X509_STORE_CTX_get_get_issuer, X509_STORE_CTX_get_verify_cb, X509_STORE_CTX_set_verify_cb, -X509_STORE_CTX_verify_cb, -X509_STORE_CTX_print_verify_cb -- get and set X509_STORE_CTX components such as verification callback

        +X509_STORE_CTX_verify_cb +- get and set verification callback


        @@ -58,8 +57,7 @@ X509_STORE_CTX_print_verify_cb
          #include <openssl/x509_vfy.h>
        - typedef int (*X509_STORE_CTX_verify_cb)(int, X509_STORE_CTX *);
        - int X509_STORE_CTX_print_verify_cb(int ok, X509_STORE_CTX *ctx);
        + typedef int (*X509_STORE_CTX_verify_cb)(int, X509_STORE_CTX *);
          X509_STORE_CTX_verify_cb X509_STORE_CTX_get_verify_cb(X509_STORE_CTX *ctx);
        @@ -97,11 +95,6 @@ is performing the verification operation. A callback can examine this
         structure and receive additional information about the error, for example
         by calling X509_STORE_CTX_get_current_cert(). Additional application data can
         be passed to the callback via the ex_data mechanism.

        -

        X509_STORE_CTX_print_verify_cb() is a verification callback function that, -when a certificate verification has failed, adds an entry to the error queue -with code X509_R_CERTIFICATE_VERIFICATION_FAILED and with diagnostic details, -including the most relevant fields of the target certificate that failed to -verify and, if appropriate, of the available untrusted and trusted certificates.

        X509_STORE_CTX_get_verify_cb() returns the value of the current callback for the specific ctx.

        X509_STORE_CTX_get_get_issuer(), @@ -239,13 +232,12 @@ X509_STORE_CTX_get_get_crl(), X509_STORE_CTX_get_check_crl(), X509_STORE_CTX_get_cert_crl(), X509_STORE_CTX_get_check_policy(), X509_STORE_CTX_get_lookup_certs(), X509_STORE_CTX_get_lookup_crls() and X509_STORE_CTX_get_cleanup() functions were added in OpenSSL 1.1.0.

        -

        X509_STORE_CTX_print_verify_cb() was added in OpenSSL 3.0.


        COPYRIGHT

        -

        Copyright 2009-2016 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Copyright 2009-2019 The OpenSSL Project Authors. All Rights Reserved.

        +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_verify_cb.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_verify_cb.html new file mode 120000 index 0000000..ffc599e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_verify_cb.html @@ -0,0 +1 @@ +X509_STORE_CTX_set_verify_cb.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_verify_fn.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_verify_fn.html new file mode 120000 index 0000000..48d2a57 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_CTX_verify_fn.html @@ -0,0 +1 @@ +X509_STORE_CTX_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_add_cert.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_add_cert.html index 914bc72..4ae99a7 100755 --- a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_add_cert.html +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_add_cert.html @@ -32,13 +32,10 @@


        NAME

        -

        X509_STORE, -X509_STORE_add_cert, X509_STORE_add_crl, X509_STORE_set_depth, +

        X509_STORE_add_cert, X509_STORE_add_crl, X509_STORE_set_depth, X509_STORE_set_flags, X509_STORE_set_purpose, X509_STORE_set_trust, -X509_STORE_add_lookup, -X509_STORE_load_file, X509_STORE_load_path, X509_STORE_load_store, -X509_STORE_set_default_paths, -X509_STORE_load_locations +X509_STORE_load_locations, +X509_STORE_set_default_paths - X509_STORE manipulation

        @@ -46,8 +43,6 @@ X509_STORE_load_locations

        SYNOPSIS

          #include <openssl/x509_vfy.h>
        -
        - typedef x509_store_st X509_STORE;
          int X509_STORE_add_cert(X509_STORE *ctx, X509 *x);
          int X509_STORE_add_crl(X509_STORE *ctx, X509_CRL *x);
        @@ -55,18 +50,10 @@ X509_STORE_load_locations
          int X509_STORE_set_flags(X509_STORE *ctx, unsigned long flags);
          int X509_STORE_set_purpose(X509_STORE *ctx, int purpose);
          int X509_STORE_set_trust(X509_STORE *ctx, int trust);
        -
        - X509_LOOKUP *X509_STORE_add_lookup(X509_STORE *store,
        -                                    X509_LOOKUP_METHOD *meth);
        -
        - int X509_STORE_set_default_paths(X509_STORE *ctx);
        - int X509_STORE_load_file(X509_STORE *ctx, const char *file);
        - int X509_STORE_load_path(X509_STORE *ctx, const char *dir);
        - int X509_STORE_load_store(X509_STORE *ctx, const char *uri);
        -

        Deprecated:

          int X509_STORE_load_locations(X509_STORE *ctx,
        -                               const char *file, const char *dir);
        + const char *file, const char *dir); + int X509_STORE_set_default_paths(X509_STORE *ctx);


        @@ -106,22 +93,11 @@ X509_STORE_set_trust(), and X509_STORE_set1_param() set the default values for the corresponding values used in certificate chain validation. Their behavior is documented in the corresponding X509_VERIFY_PARAM manual pages, e.g., X509_VERIFY_PARAM_set_depth(3).

        -

        X509_STORE_add_lookup() finds or creates a X509_LOOKUP(3) with the -X509_LOOKUP_METHOD(3) meth and adds it to the X509_STORE -store. This also associates the X509_STORE with the lookup, so -X509_LOOKUP functions can look up objects in that store.

        -

        X509_STORE_load_file() loads trusted certificate(s) into an -X509_STORE from a given file.

        -

        X509_STORE_load_path() loads trusted certificate(s) into an -X509_STORE from a given directory path. -The certificates in the directory must be in hashed form, as -documented in X509_LOOKUP_hash_dir(3).

        -

        X509_STORE_load_store() loads trusted certificate(s) into an -X509_STORE from a store at a given URI.

        -

        X509_STORE_load_locations() combines X509_STORE_load_file() and -X509_STORE_load_dir() for a given file and/or directory path. -It is permitted to specify just a file, just a directory, or both -paths.

        +

        X509_STORE_load_locations() loads trusted certificate(s) into an +X509_STORE from a given file and/or directory path. It is permitted +to specify just a file, just a directory, or both paths. The certificates +in the directory must be in hashed form, as documented in +X509_LOOKUP_hash_dir(3).

        X509_STORE_set_default_paths() is somewhat misnamed, in that it does not set what default paths should be used for loading certificates. Instead, it loads certificates into the X509_STORE from the hardcoded default @@ -132,12 +108,8 @@ paths.

        RETURN VALUES

        X509_STORE_add_cert(), X509_STORE_add_crl(), X509_STORE_set_depth(), X509_STORE_set_flags(), X509_STORE_set_purpose(), -X509_STORE_set_trust(), X509_STORE_load_file(), -X509_STORE_load_path(), X509_STORE_load_store(), -X509_STORE_load_locations(), and X509_STORE_set_default_paths() return -1 on success or 0 on failure.

        -

        X509_STORE_add_lookup() returns the found or created -X509_LOOKUP(3), or NULL on error.

        +X509_STORE_set_trust(), X509_STORE_load_locations(), and +X509_STORE_set_default_paths() return 1 on success or 0 on failure.


        @@ -151,7 +123,7 @@ X509_STORE_load_locations(), and X509_STORE_set_default_paths() return

        COPYRIGHT

        Copyright 2017-2019 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_add_crl.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_add_crl.html new file mode 120000 index 0000000..f9bdec2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_add_crl.html @@ -0,0 +1 @@ +X509_STORE_add_cert.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_free.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_free.html new file mode 120000 index 0000000..e5fc899 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_free.html @@ -0,0 +1 @@ +X509_STORE_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_get0_objects.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_get0_objects.html new file mode 120000 index 0000000..23e0ed2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_get0_objects.html @@ -0,0 +1 @@ +X509_STORE_get0_param.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_get0_param.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_get0_param.html index 3ec3448..8e49a4a 100755 --- a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_get0_param.html +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_get0_param.html @@ -34,8 +34,7 @@

        NAME

        X509_STORE_get0_param, X509_STORE_set1_param, -X509_STORE_get0_objects, X509_STORE_get1_all_certs -- X509_STORE setter and getter functions

        +X509_STORE_get0_objects - X509_STORE setter and getter functions


        @@ -45,8 +44,7 @@ X509_STORE_get0_objects, X509_STORE_get1_all_certs
          X509_VERIFY_PARAM *X509_STORE_get0_param(X509_STORE *ctx);
          int X509_STORE_set1_param(X509_STORE *ctx, X509_VERIFY_PARAM *pm);
        - STACK_OF(X509_OBJECT) *X509_STORE_get0_objects(X509_STORE *ctx);
        - STACK_OF(X509) *X509_STORE_get1_all_certs(X509_STORE *st);
        + STACK_OF(X509_OBJECT) *X509_STORE_get0_objects(X509_STORE *ctx);


        @@ -56,11 +54,9 @@ to pm for ctx.

        X509_STORE_get0_param() retrieves an internal pointer to the verification parameters for ctx. The returned pointer must not be freed by the calling application

        -

        X509_STORE_get0_objects() retrieves an internal pointer to the store's +

        X509_STORE_get0_objects() retrieve an internal pointer to the store's X509 object cache. The cache contains X509 and X509_CRL objects. The returned pointer must not be freed by the calling application.

        -

        X509_STORE_get1_all_certs() returns a list of all certificates in the store. -The caller is responsible for freeing the returned list.


        @@ -69,8 +65,6 @@ The caller is responsible for freeing the returned list.

        X509_VERIFY_PARAM structure.

        X509_STORE_set1_param() returns 1 for success and 0 for failure.

        X509_STORE_get0_objects() returns a pointer to a stack of X509_OBJECT.

        -

        X509_STORE_get1_all_certs() returns a pointer to a stack of the retrieved -certificates on success, else NULL.


        @@ -81,14 +75,13 @@ certificates on success, else NULL.


        HISTORY

        X509_STORE_get0_param and X509_STORE_get0_objects were added in -OpenSSL 1.1.0. -X509_STORE_get1_certs was added in OpenSSL 3.0.

        +OpenSSL 1.1.0.


        COPYRIGHT

        Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_cert_crl.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_cert_crl.html new file mode 120000 index 0000000..286bd1a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_cert_crl.html @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_check_crl.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_check_crl.html new file mode 120000 index 0000000..286bd1a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_check_crl.html @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_check_issued.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_check_issued.html new file mode 120000 index 0000000..286bd1a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_check_issued.html @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_check_policy.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_check_policy.html new file mode 120000 index 0000000..286bd1a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_check_policy.html @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_check_revocation.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_check_revocation.html new file mode 120000 index 0000000..286bd1a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_check_revocation.html @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_cleanup.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_cleanup.html new file mode 120000 index 0000000..286bd1a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_cleanup.html @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_ex_data.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_ex_data.html new file mode 120000 index 0000000..6d5f2d2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_ex_data.html @@ -0,0 +1 @@ +BIO_get_ex_new_index.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_ex_new_index.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_ex_new_index.html new file mode 120000 index 0000000..6d5f2d2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_ex_new_index.html @@ -0,0 +1 @@ +BIO_get_ex_new_index.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_get_crl.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_get_crl.html new file mode 120000 index 0000000..286bd1a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_get_crl.html @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_get_issuer.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_get_issuer.html new file mode 120000 index 0000000..286bd1a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_get_issuer.html @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_lookup_certs.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_lookup_certs.html new file mode 120000 index 0000000..286bd1a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_lookup_certs.html @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_lookup_crls.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_lookup_crls.html new file mode 120000 index 0000000..286bd1a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_lookup_crls.html @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_verify_cb.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_verify_cb.html new file mode 120000 index 0000000..286bd1a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_get_verify_cb.html @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_load_locations.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_load_locations.html new file mode 120000 index 0000000..f9bdec2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_load_locations.html @@ -0,0 +1 @@ +X509_STORE_add_cert.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_lock.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_lock.html new file mode 120000 index 0000000..e5fc899 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_lock.html @@ -0,0 +1 @@ +X509_STORE_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_new.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_new.html index 008bfcd..68d2b18 100755 --- a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_new.html +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_new.html @@ -81,8 +81,8 @@ functions were added in OpenSSL 1.1.0.


        COPYRIGHT

        -

        Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved.

        +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set1_param.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set1_param.html new file mode 120000 index 0000000..23e0ed2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set1_param.html @@ -0,0 +1 @@ +X509_STORE_get0_param.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_cert_crl.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_cert_crl.html new file mode 120000 index 0000000..286bd1a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_cert_crl.html @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_check_crl.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_check_crl.html new file mode 120000 index 0000000..286bd1a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_check_crl.html @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_check_issued.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_check_issued.html new file mode 120000 index 0000000..286bd1a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_check_issued.html @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_check_policy.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_check_policy.html new file mode 120000 index 0000000..286bd1a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_check_policy.html @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_check_revocation.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_check_revocation.html new file mode 120000 index 0000000..286bd1a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_check_revocation.html @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_cleanup.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_cleanup.html new file mode 120000 index 0000000..286bd1a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_cleanup.html @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_default_paths.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_default_paths.html new file mode 120000 index 0000000..f9bdec2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_default_paths.html @@ -0,0 +1 @@ +X509_STORE_add_cert.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_depth.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_depth.html new file mode 120000 index 0000000..f9bdec2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_depth.html @@ -0,0 +1 @@ +X509_STORE_add_cert.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_ex_data.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_ex_data.html new file mode 120000 index 0000000..6d5f2d2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_ex_data.html @@ -0,0 +1 @@ +BIO_get_ex_new_index.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_flags.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_flags.html new file mode 120000 index 0000000..f9bdec2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_flags.html @@ -0,0 +1 @@ +X509_STORE_add_cert.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_get_crl.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_get_crl.html new file mode 120000 index 0000000..286bd1a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_get_crl.html @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_get_issuer.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_get_issuer.html new file mode 120000 index 0000000..286bd1a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_get_issuer.html @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_lookup_certs.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_lookup_certs.html new file mode 120000 index 0000000..286bd1a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_lookup_certs.html @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_lookup_crls.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_lookup_crls.html new file mode 120000 index 0000000..286bd1a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_lookup_crls.html @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_lookup_crls_cb.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_lookup_crls_cb.html new file mode 120000 index 0000000..286bd1a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_lookup_crls_cb.html @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_purpose.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_purpose.html new file mode 120000 index 0000000..f9bdec2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_purpose.html @@ -0,0 +1 @@ +X509_STORE_add_cert.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_trust.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_trust.html new file mode 120000 index 0000000..f9bdec2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_trust.html @@ -0,0 +1 @@ +X509_STORE_add_cert.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_verify.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_verify.html new file mode 120000 index 0000000..286bd1a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_verify.html @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_verify_cb.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_verify_cb.html new file mode 120000 index 0000000..286bd1a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_verify_cb.html @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_verify_cb_func.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_verify_cb_func.html index 71413e1..b82accf 100755 --- a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_verify_cb_func.html +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_verify_cb_func.html @@ -285,7 +285,7 @@ were added in OpenSSL 1.1.0.


        COPYRIGHT

        Copyright 2009-2016 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_verify_func.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_verify_func.html new file mode 120000 index 0000000..286bd1a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_set_verify_func.html @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_unlock.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_unlock.html new file mode 120000 index 0000000..e5fc899 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_unlock.html @@ -0,0 +1 @@ +X509_STORE_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_STORE_up_ref.html b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_up_ref.html new file mode 120000 index 0000000..e5fc899 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_STORE_up_ref.html @@ -0,0 +1 @@ +X509_STORE_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_VAL_free.html b/linux_amd64/share/doc/openssl/html/man3/X509_VAL_free.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_VAL_free.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_VAL_new.html b/linux_amd64/share/doc/openssl/html/man3/X509_VAL_new.html new file mode 120000 index 0000000..f36ea42 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_VAL_new.html @@ -0,0 +1 @@ +X509_dup.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_add0_policy.html b/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_add0_policy.html new file mode 120000 index 0000000..3f838c0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_add0_policy.html @@ -0,0 +1 @@ +X509_VERIFY_PARAM_set_flags.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_add1_host.html b/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_add1_host.html new file mode 120000 index 0000000..3f838c0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_add1_host.html @@ -0,0 +1 @@ +X509_VERIFY_PARAM_set_flags.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_clear_flags.html b/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_clear_flags.html new file mode 120000 index 0000000..3f838c0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_clear_flags.html @@ -0,0 +1 @@ +X509_VERIFY_PARAM_set_flags.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_get0_peername.html b/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_get0_peername.html new file mode 120000 index 0000000..3f838c0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_get0_peername.html @@ -0,0 +1 @@ +X509_VERIFY_PARAM_set_flags.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_get_auth_level.html b/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_get_auth_level.html new file mode 120000 index 0000000..3f838c0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_get_auth_level.html @@ -0,0 +1 @@ +X509_VERIFY_PARAM_set_flags.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_get_depth.html b/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_get_depth.html new file mode 120000 index 0000000..3f838c0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_get_depth.html @@ -0,0 +1 @@ +X509_VERIFY_PARAM_set_flags.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_get_flags.html b/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_get_flags.html new file mode 120000 index 0000000..3f838c0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_get_flags.html @@ -0,0 +1 @@ +X509_VERIFY_PARAM_set_flags.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_get_hostflags.html b/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_get_hostflags.html new file mode 120000 index 0000000..3f838c0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_get_hostflags.html @@ -0,0 +1 @@ +X509_VERIFY_PARAM_set_flags.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_get_inh_flags.html b/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_get_inh_flags.html new file mode 120000 index 0000000..3f838c0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_get_inh_flags.html @@ -0,0 +1 @@ +X509_VERIFY_PARAM_set_flags.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_get_time.html b/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_get_time.html new file mode 120000 index 0000000..3f838c0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_get_time.html @@ -0,0 +1 @@ +X509_VERIFY_PARAM_set_flags.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set1_email.html b/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set1_email.html new file mode 120000 index 0000000..3f838c0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set1_email.html @@ -0,0 +1 @@ +X509_VERIFY_PARAM_set_flags.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set1_host.html b/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set1_host.html new file mode 120000 index 0000000..3f838c0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set1_host.html @@ -0,0 +1 @@ +X509_VERIFY_PARAM_set_flags.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set1_ip.html b/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set1_ip.html new file mode 120000 index 0000000..3f838c0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set1_ip.html @@ -0,0 +1 @@ +X509_VERIFY_PARAM_set_flags.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set1_ip_asc.html b/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set1_ip_asc.html new file mode 120000 index 0000000..3f838c0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set1_ip_asc.html @@ -0,0 +1 @@ +X509_VERIFY_PARAM_set_flags.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set1_policies.html b/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set1_policies.html new file mode 120000 index 0000000..3f838c0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set1_policies.html @@ -0,0 +1 @@ +X509_VERIFY_PARAM_set_flags.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set_auth_level.html b/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set_auth_level.html new file mode 120000 index 0000000..3f838c0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set_auth_level.html @@ -0,0 +1 @@ +X509_VERIFY_PARAM_set_flags.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set_depth.html b/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set_depth.html new file mode 120000 index 0000000..3f838c0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set_depth.html @@ -0,0 +1 @@ +X509_VERIFY_PARAM_set_flags.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set_flags.html b/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set_flags.html index ab2ed3d..9f5ba51 100755 --- a/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set_flags.html +++ b/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set_flags.html @@ -64,7 +64,7 @@ X509_VERIFY_PARAM_set1_ip_asc unsigned long flags); int X509_VERIFY_PARAM_clear_flags(X509_VERIFY_PARAM *param, unsigned long flags); - unsigned long X509_VERIFY_PARAM_get_flags(const X509_VERIFY_PARAM *param); + unsigned long X509_VERIFY_PARAM_get_flags(X509_VERIFY_PARAM *param);
          int X509_VERIFY_PARAM_set_inh_flags(X509_VERIFY_PARAM *param,
                                              uint32_t flags);
        @@ -156,7 +156,7 @@ Security level 1 requires at least 80-bit-equivalent security and is broadly
         interoperable, though it will, for example, reject MD5 signatures or RSA keys
         shorter than 1024 bits.

        X509_VERIFY_PARAM_set1_host() sets the expected DNS hostname to -name clearing any previously specified hostname. If +name clearing any previously specified host name or names. If name is NULL, or empty the list of hostnames is cleared, and name checks are not performed on the peer certificate. If name is NUL-terminated, namelen may be zero, otherwise namelen @@ -279,7 +279,7 @@ before searching the provided untrusted certificates. Local issuer certificates are often more likely to satisfy local security requirements and lead to a locally trusted root. This is especially important when some certificates in the trust store have -explicit trust settings (see "TRUST SETTINGS" in openssl-x509(1)). +explicit trust settings (see "TRUST SETTINGS" in x509(1)). As of OpenSSL 1.1.0 this option is on by default.

        The X509_V_FLAG_NO_ALT_CHAINS flag suppresses checking for alternative chains. @@ -362,7 +362,7 @@ connections associated with an SSL_CTX structure ctxX509_check_host(3), X509_check_email(3), X509_check_ip(3), -openssl-x509(1)

        +x509(1)


        @@ -375,8 +375,8 @@ and has no effect.


        COPYRIGHT

        -

        Copyright 2009-2018 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Copyright 2009-2019 The OpenSSL Project Authors. All Rights Reserved.

        +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set_hostflags.html b/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set_hostflags.html new file mode 120000 index 0000000..3f838c0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set_hostflags.html @@ -0,0 +1 @@ +X509_VERIFY_PARAM_set_flags.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set_inh_flags.html b/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set_inh_flags.html new file mode 120000 index 0000000..3f838c0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set_inh_flags.html @@ -0,0 +1 @@ +X509_VERIFY_PARAM_set_flags.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set_purpose.html b/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set_purpose.html new file mode 120000 index 0000000..3f838c0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set_purpose.html @@ -0,0 +1 @@ +X509_VERIFY_PARAM_set_flags.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set_time.html b/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set_time.html new file mode 120000 index 0000000..3f838c0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set_time.html @@ -0,0 +1 @@ +X509_VERIFY_PARAM_set_flags.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set_trust.html b/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set_trust.html new file mode 120000 index 0000000..3f838c0 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_VERIFY_PARAM_set_trust.html @@ -0,0 +1 @@ +X509_VERIFY_PARAM_set_flags.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_add1_ext_i2d.html b/linux_amd64/share/doc/openssl/html/man3/X509_add1_ext_i2d.html new file mode 120000 index 0000000..3a167bd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_add1_ext_i2d.html @@ -0,0 +1 @@ +X509V3_get_d2i.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_add_ext.html b/linux_amd64/share/doc/openssl/html/man3/X509_add_ext.html new file mode 120000 index 0000000..f251fd6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_add_ext.html @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_chain_up_ref.html b/linux_amd64/share/doc/openssl/html/man3/X509_chain_up_ref.html new file mode 120000 index 0000000..19dcda3 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_chain_up_ref.html @@ -0,0 +1 @@ +X509_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_check_ca.html b/linux_amd64/share/doc/openssl/html/man3/X509_check_ca.html index 8222cbc..15a7aa2 100755 --- a/linux_amd64/share/doc/openssl/html/man3/X509_check_ca.html +++ b/linux_amd64/share/doc/openssl/html/man3/X509_check_ca.html @@ -57,7 +57,7 @@ CA certificate with basicConstraints extension CA:TRUE, keyUsage extension with bit keyCertSign set, but without basicConstraints, and 5 if it has outdated Netscape Certificate Type extension telling that it is CA certificate.

        -

        Actually, any nonzero value means that this certificate could have been +

        Actually, any non-zero value means that this certificate could have been used to sign other certificates.

        @@ -71,7 +71,7 @@ used to sign other certificates.


        COPYRIGHT

        Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_check_email.html b/linux_amd64/share/doc/openssl/html/man3/X509_check_email.html new file mode 120000 index 0000000..a07cf5a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_check_email.html @@ -0,0 +1 @@ +X509_check_host.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_check_host.html b/linux_amd64/share/doc/openssl/html/man3/X509_check_host.html index 3283cfa..a90f8c4 100755 --- a/linux_amd64/share/doc/openssl/html/man3/X509_check_host.html +++ b/linux_amd64/share/doc/openssl/html/man3/X509_check_host.html @@ -54,7 +54,7 @@

        DESCRIPTION

        The certificate matching functions are used to check whether a -certificate matches a given hostname, email address, or IP address. +certificate matches a given host name, email address, or IP address. The validity of the certificate and its trust level has to be checked by other means.

        X509_check_host() checks if the certificate Subject Alternative @@ -151,7 +151,7 @@ NULs.


        NOTES

        Applications are encouraged to use X509_VERIFY_PARAM_set1_host() -rather than explicitly calling X509_check_host(3). Hostname +rather than explicitly calling X509_check_host(3). Host name checks may be out of scope with the DANE-EE(3) certificate usage, and the internal checks will be suppressed as appropriate when DANE support is enabled.

        @@ -175,7 +175,7 @@ DANE support is enabled.


        COPYRIGHT

        Copyright 2012-2018 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_check_ip.html b/linux_amd64/share/doc/openssl/html/man3/X509_check_ip.html new file mode 120000 index 0000000..a07cf5a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_check_ip.html @@ -0,0 +1 @@ +X509_check_host.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_check_ip_asc.html b/linux_amd64/share/doc/openssl/html/man3/X509_check_ip_asc.html new file mode 120000 index 0000000..a07cf5a --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_check_ip_asc.html @@ -0,0 +1 @@ +X509_check_host.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_check_issued.html b/linux_amd64/share/doc/openssl/html/man3/X509_check_issued.html index 3427e1e..91da1a1 100755 --- a/linux_amd64/share/doc/openssl/html/man3/X509_check_issued.html +++ b/linux_amd64/share/doc/openssl/html/man3/X509_check_issued.html @@ -65,13 +65,13 @@ present in the subject certificate and checks keyUsage

        SEE ALSO

        X509_verify_cert(3), X509_check_ca(3), -openssl-verify(1)

        +verify(1)


        COPYRIGHT

        Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_check_private_key.html b/linux_amd64/share/doc/openssl/html/man3/X509_check_private_key.html index d94d99a..47a5923 100755 --- a/linux_amd64/share/doc/openssl/html/man3/X509_check_private_key.html +++ b/linux_amd64/share/doc/openssl/html/man3/X509_check_private_key.html @@ -81,7 +81,7 @@ return success.


        COPYRIGHT

        Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_cmp_current_time.html b/linux_amd64/share/doc/openssl/html/man3/X509_cmp_current_time.html new file mode 120000 index 0000000..6b40179 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_cmp_current_time.html @@ -0,0 +1 @@ +X509_cmp_time.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_cmp_time.html b/linux_amd64/share/doc/openssl/html/man3/X509_cmp_time.html index f7ce58c..1ed8958 100755 --- a/linux_amd64/share/doc/openssl/html/man3/X509_cmp_time.html +++ b/linux_amd64/share/doc/openssl/html/man3/X509_cmp_time.html @@ -21,7 +21,6 @@
      13. DESCRIPTION
      14. BUGS
      15. RETURN VALUES
      16. -
      17. HISTORY
      18. COPYRIGHT
      19. @@ -33,8 +32,7 @@


        NAME

        -

        X509_cmp_time, X509_cmp_current_time, X509_cmp_timeframe, -X509_time_adj, X509_time_adj_ex +

        X509_cmp_time, X509_cmp_current_time, X509_time_adj, X509_time_adj_ex - X509 time functions

        @@ -43,8 +41,6 @@ X509_time_adj, X509_time_adj_ex
          int X509_cmp_time(const ASN1_TIME *asn1_time, time_t *in_tm);
          int X509_cmp_current_time(const ASN1_TIME *asn1_time);
        - int X509_cmp_timeframe(const X509_VERIFY_PARAM *vpm,
        -                        const ASN1_TIME *start, const ASN1_TIME *end);
          ASN1_TIME *X509_time_adj(ASN1_TIME *asn1_time, long offset_sec, time_t *in_tm);
          ASN1_TIME *X509_time_adj_ex(ASN1_TIME *asn1_time, int offset_day, long
                                      offset_sec, time_t *in_tm);
        @@ -53,12 +49,10 @@ X509_time_adj, X509_time_adj_ex

        DESCRIPTION

        X509_cmp_time() compares the ASN1_TIME in asn1_time with the time -in <in_tm>.

        -

        X509_cmp_current_time() compares the ASN1_TIME in -asn1_time with the current time, expressed as time_t.

        -

        X509_cmp_timeframe() compares the given time period with the reference time -included in the verification parameters vpm if they are not NULL and contain -X509_V_FLAG_USE_CHECK_TIME; else the current time is used as reference time.

        +in <cmp_time>. X509_cmp_current_time() compares the ASN1_TIME in +asn1_time with the current time, expressed as time_t. asn1_time +must satisfy the ASN1_TIME format mandated by RFC 5280, i.e., its +format must be either YYMMDDHHMMSSZ or YYYYMMDDHHMMSSZ.

        X509_time_adj_ex() sets the ASN1_TIME structure asn1_time to the time offset_day and offset_sec after in_tm.

        X509_time_adj() sets the ASN1_TIME structure asn1_time to the time @@ -69,8 +63,6 @@ API should be preferred.

        is allocated and returned.

        In all methods, if in_tm is NULL, the current time, expressed as time_t, is used.

        -

        asn1_time must satisfy the ASN1_TIME format mandated by RFC 5280, -i.e., its format must be either YYMMDDHHMMSSZ or YYYYMMDDHHMMSSZ.


        @@ -82,28 +74,16 @@ X509_cmp_current_time() return 0 on error.


        RETURN VALUES

        X509_cmp_time() and X509_cmp_current_time() return -1 if asn1_time -is earlier than, or equal to, in_tm (resp. current time), and 1 +is earlier than, or equal to, cmp_time (resp. current time), and 1 otherwise. These methods return 0 on error.

        -

        X509_cmp_timeframe() returns 0 if vpm is not NULL and the verification -parameters do not contain X509_V_FLAG_USE_CHECK_TIME -but do contain X509_V_FLAG_NO_CHECK_TIME. Otherwise it returns -1 if the end time is not NULL and the reference time (which has determined as -stated above) is past the end time, -1 if the start time is not NULL and the -reference time is before, else 0 to indicate that the reference time is in range -(implying that the end time is not before the start time if both are present).

        X509_time_adj() and X509_time_adj_ex() return a pointer to the updated ASN1_TIME structure, and NULL on error.


        -

        HISTORY

        -

        X509_cmp_timeframe() was added in OpenSSL 3.0.

        -

        -

        -

        COPYRIGHT

        Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_delete_ext.html b/linux_amd64/share/doc/openssl/html/man3/X509_delete_ext.html new file mode 120000 index 0000000..f251fd6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_delete_ext.html @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_digest.html b/linux_amd64/share/doc/openssl/html/man3/X509_digest.html index 3661b89..2ad1e01 100755 --- a/linux_amd64/share/doc/openssl/html/man3/X509_digest.html +++ b/linux_amd64/share/doc/openssl/html/man3/X509_digest.html @@ -93,7 +93,7 @@ to a place where the digest size will be stored.


        COPYRIGHT

        Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_dup.html b/linux_amd64/share/doc/openssl/html/man3/X509_dup.html index 4148511..b1dd049 100755 --- a/linux_amd64/share/doc/openssl/html/man3/X509_dup.html +++ b/linux_amd64/share/doc/openssl/html/man3/X509_dup.html @@ -81,18 +81,12 @@ EDIPARTYNAME_new, ESS_CERT_ID_dup, ESS_CERT_ID_free, ESS_CERT_ID_new, -ESS_CERT_ID_V2_dup, -ESS_CERT_ID_V2_free, -ESS_CERT_ID_V2_new, ESS_ISSUER_SERIAL_dup, ESS_ISSUER_SERIAL_free, ESS_ISSUER_SERIAL_new, ESS_SIGNING_CERT_dup, ESS_SIGNING_CERT_free, ESS_SIGNING_CERT_new, -ESS_SIGNING_CERT_V2_dup, -ESS_SIGNING_CERT_V2_free, -ESS_SIGNING_CERT_V2_new, EXTENDED_KEY_USAGE_free, EXTENDED_KEY_USAGE_new, GENERAL_NAMES_free, @@ -151,39 +145,6 @@ OCSP_SIGNATURE_free, OCSP_SIGNATURE_new, OCSP_SINGLERESP_free, OCSP_SINGLERESP_new, -OSSL_CMP_ITAV_free, -OSSL_CMP_MSG_it, -OSSL_CMP_MSG_free, -OSSL_CMP_PKIHEADER_free, -OSSL_CMP_PKIHEADER_it, -OSSL_CMP_PKIHEADER_new, -OSSL_CMP_PKISI_free, -OSSL_CMP_PKISI_new, -OSSL_CMP_PKISTATUS_it, -OSSL_CRMF_CERTID_free, -OSSL_CRMF_CERTID_it, -OSSL_CRMF_CERTID_new, -OSSL_CRMF_CERTTEMPLATE_free, -OSSL_CRMF_CERTTEMPLATE_it, -OSSL_CRMF_CERTTEMPLATE_new, -OSSL_CRMF_ENCRYPTEDVALUE_free, -OSSL_CRMF_ENCRYPTEDVALUE_it, -OSSL_CRMF_ENCRYPTEDVALUE_new, -OSSL_CRMF_MSGS_free, -OSSL_CRMF_MSGS_it, -OSSL_CRMF_MSGS_new, -OSSL_CRMF_MSG_free, -OSSL_CRMF_MSG_it, -OSSL_CRMF_MSG_new, -OSSL_CRMF_PBMPARAMETER_free, -OSSL_CRMF_PBMPARAMETER_it, -OSSL_CRMF_PBMPARAMETER_new, -OSSL_CRMF_PKIPUBLICATIONINFO_free, -OSSL_CRMF_PKIPUBLICATIONINFO_it, -OSSL_CRMF_PKIPUBLICATIONINFO_new, -OSSL_CRMF_SINGLEPUBINFO_free, -OSSL_CRMF_SINGLEPUBINFO_it, -OSSL_CRMF_SINGLEPUBINFO_new, OTHERNAME_free, OTHERNAME_new, PBE2PARAM_free, @@ -234,10 +195,10 @@ POLICY_CONSTRAINTS_free, POLICY_CONSTRAINTS_new, POLICY_MAPPING_free, POLICY_MAPPING_new, -PROFESSION_INFOS_free, -PROFESSION_INFOS_new, PROFESSION_INFO_free, PROFESSION_INFO_new, +PROFESSION_INFOS_free, +PROFESSION_INFOS_new, PROXY_CERT_INFO_EXTENSION_free, PROXY_CERT_INFO_EXTENSION_new, PROXY_POLICY_free, @@ -327,15 +288,15 @@ X509_dup,
          extern const ASN1_ITEM TYPE_it;
          TYPE *TYPE_new(void);
        - TYPE *TYPE_dup(const TYPE *a);
        + TYPE *TYPE_dup(TYPE *a);
          void TYPE_free(TYPE *a);
          int TYPE_print_ctx(BIO *out, TYPE *a, int indent, const ASN1_PCTX *pctx);


        DESCRIPTION

        -

        In the description below, TYPE is used -as a placeholder for any of the OpenSSL datatypes, such as X509.

        +

        In the description below, TYPE is used +as a placeholder for any of the OpenSSL datatypes, such as X509.

        The OpenSSL ASN1 parsing library templates are like a data-driven bytecode interpreter. Every ASN1 object as a global variable, TYPE_it, that describes the item @@ -346,29 +307,28 @@ static variable.

        to generate the function declarations.

        The macro IMPLEMENT_ASN1_FUNCTIONS() is used once in a source file to generate the function bodies.

        -

        TYPE_new() allocates an empty object of the indicated type. -The object returned must be released by calling TYPE_free().

        -

        TYPE_dup() copies an existing object, leaving it untouched.

        -

        TYPE_free() releases the object and all pointers and sub-objects +

        TYPE_new() allocates an empty object of the indicated type. +The object returned must be released by calling TYPE_free().

        +

        TYPE_dup() copies an existing object.

        +

        TYPE_free() releases the object and all pointers and sub-objects within it.

        -

        TYPE_print_ctx() prints the object a on the specified BIO out. -Each line will be prefixed with indent spaces. -The pctx specifies the printing context and is for internal +

        TYPE_print_ctx() prints the object a on the specified BIO out. +Each line will be prefixed with indent spaces. +The pctx specifies the printing context and is for internal use; use NULL to get the default behavior. If a print function is -user-defined, then pass in any pctx down to any nested calls.

        +user-defined, then pass in any pctx down to any nested calls.


        RETURN VALUES

        -

        TYPE_new() and TYPE_dup() return a pointer to the object or NULL on -failure.

        -

        TYPE_print_ctx() returns 1 on success or zero on failure.

        +

        TYPE_new() and TYPE_dup() return a pointer to the object or NULL on failure.

        +

        TYPE_print_ctx() returns 1 on success or zero on failure.


        COPYRIGHT

        Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_free.html b/linux_amd64/share/doc/openssl/html/man3/X509_free.html new file mode 120000 index 0000000..19dcda3 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_free.html @@ -0,0 +1 @@ +X509_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_get0_authority_issuer.html b/linux_amd64/share/doc/openssl/html/man3/X509_get0_authority_issuer.html new file mode 120000 index 0000000..d70e797 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_get0_authority_issuer.html @@ -0,0 +1 @@ +X509_get_extension_flags.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_get0_authority_key_id.html b/linux_amd64/share/doc/openssl/html/man3/X509_get0_authority_key_id.html new file mode 120000 index 0000000..d70e797 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_get0_authority_key_id.html @@ -0,0 +1 @@ +X509_get_extension_flags.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_get0_authority_serial.html b/linux_amd64/share/doc/openssl/html/man3/X509_get0_authority_serial.html new file mode 120000 index 0000000..d70e797 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_get0_authority_serial.html @@ -0,0 +1 @@ +X509_get_extension_flags.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_get0_extensions.html b/linux_amd64/share/doc/openssl/html/man3/X509_get0_extensions.html new file mode 120000 index 0000000..3a167bd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_get0_extensions.html @@ -0,0 +1 @@ +X509V3_get_d2i.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_get0_notAfter.html b/linux_amd64/share/doc/openssl/html/man3/X509_get0_notAfter.html new file mode 120000 index 0000000..fdbbcec --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_get0_notAfter.html @@ -0,0 +1 @@ +X509_get0_notBefore.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_get0_notBefore.html b/linux_amd64/share/doc/openssl/html/man3/X509_get0_notBefore.html index e08f234..e89038e 100755 --- a/linux_amd64/share/doc/openssl/html/man3/X509_get0_notBefore.html +++ b/linux_amd64/share/doc/openssl/html/man3/X509_get0_notBefore.html @@ -125,7 +125,7 @@ X509_CRL_set1_nextUpdate() return 1 for success or 0 for failure.


        COPYRIGHT

        Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_get0_pubkey.html b/linux_amd64/share/doc/openssl/html/man3/X509_get0_pubkey.html new file mode 120000 index 0000000..9bfcb01 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_get0_pubkey.html @@ -0,0 +1 @@ +X509_get_pubkey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_get0_serialNumber.html b/linux_amd64/share/doc/openssl/html/man3/X509_get0_serialNumber.html new file mode 120000 index 0000000..8aba1da --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_get0_serialNumber.html @@ -0,0 +1 @@ +X509_get_serialNumber.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_get0_signature.html b/linux_amd64/share/doc/openssl/html/man3/X509_get0_signature.html index 0f90428..65f0bce 100755 --- a/linux_amd64/share/doc/openssl/html/man3/X509_get0_signature.html +++ b/linux_amd64/share/doc/openssl/html/man3/X509_get0_signature.html @@ -152,7 +152,7 @@ added in OpenSSL 1.1.0.


        COPYRIGHT

        Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_get0_subject_key_id.html b/linux_amd64/share/doc/openssl/html/man3/X509_get0_subject_key_id.html new file mode 120000 index 0000000..d70e797 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_get0_subject_key_id.html @@ -0,0 +1 @@ +X509_get_extension_flags.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_get0_tbs_sigalg.html b/linux_amd64/share/doc/openssl/html/man3/X509_get0_tbs_sigalg.html new file mode 120000 index 0000000..6180162 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_get0_tbs_sigalg.html @@ -0,0 +1 @@ +X509_get0_signature.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_get0_uids.html b/linux_amd64/share/doc/openssl/html/man3/X509_get0_uids.html index c652cff..63bb9f1 100755 --- a/linux_amd64/share/doc/openssl/html/man3/X509_get0_uids.html +++ b/linux_amd64/share/doc/openssl/html/man3/X509_get0_uids.html @@ -86,7 +86,7 @@ practice outside test cases.


        COPYRIGHT

        Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_get_X509_PUBKEY.html b/linux_amd64/share/doc/openssl/html/man3/X509_get_X509_PUBKEY.html new file mode 120000 index 0000000..9bfcb01 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_get_X509_PUBKEY.html @@ -0,0 +1 @@ +X509_get_pubkey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_get_ex_data.html b/linux_amd64/share/doc/openssl/html/man3/X509_get_ex_data.html new file mode 120000 index 0000000..6d5f2d2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_get_ex_data.html @@ -0,0 +1 @@ +BIO_get_ex_new_index.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_get_ex_new_index.html b/linux_amd64/share/doc/openssl/html/man3/X509_get_ex_new_index.html new file mode 120000 index 0000000..6d5f2d2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_get_ex_new_index.html @@ -0,0 +1 @@ +BIO_get_ex_new_index.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_get_ext.html b/linux_amd64/share/doc/openssl/html/man3/X509_get_ext.html new file mode 120000 index 0000000..f251fd6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_get_ext.html @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_get_ext_by_NID.html b/linux_amd64/share/doc/openssl/html/man3/X509_get_ext_by_NID.html new file mode 120000 index 0000000..f251fd6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_get_ext_by_NID.html @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_get_ext_by_OBJ.html b/linux_amd64/share/doc/openssl/html/man3/X509_get_ext_by_OBJ.html new file mode 120000 index 0000000..f251fd6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_get_ext_by_OBJ.html @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_get_ext_by_critical.html b/linux_amd64/share/doc/openssl/html/man3/X509_get_ext_by_critical.html new file mode 120000 index 0000000..f251fd6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_get_ext_by_critical.html @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_get_ext_count.html b/linux_amd64/share/doc/openssl/html/man3/X509_get_ext_count.html new file mode 120000 index 0000000..f251fd6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_get_ext_count.html @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_get_ext_d2i.html b/linux_amd64/share/doc/openssl/html/man3/X509_get_ext_d2i.html new file mode 120000 index 0000000..3a167bd --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_get_ext_d2i.html @@ -0,0 +1 @@ +X509V3_get_d2i.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_get_extended_key_usage.html b/linux_amd64/share/doc/openssl/html/man3/X509_get_extended_key_usage.html new file mode 120000 index 0000000..d70e797 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_get_extended_key_usage.html @@ -0,0 +1 @@ +X509_get_extension_flags.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_get_extension_flags.html b/linux_amd64/share/doc/openssl/html/man3/X509_get_extension_flags.html index 4b566a7..508af54 100755 --- a/linux_amd64/share/doc/openssl/html/man3/X509_get_extension_flags.html +++ b/linux_amd64/share/doc/openssl/html/man3/X509_get_extension_flags.html @@ -216,8 +216,8 @@ X509_get_proxy_pathlen() were added in OpenSSL 1.1.0.


        COPYRIGHT

        -

        Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Copyright 2015-2019 The OpenSSL Project Authors. All Rights Reserved.

        +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_get_issuer_name.html b/linux_amd64/share/doc/openssl/html/man3/X509_get_issuer_name.html new file mode 120000 index 0000000..dc12338 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_get_issuer_name.html @@ -0,0 +1 @@ +X509_get_subject_name.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_get_key_usage.html b/linux_amd64/share/doc/openssl/html/man3/X509_get_key_usage.html new file mode 120000 index 0000000..d70e797 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_get_key_usage.html @@ -0,0 +1 @@ +X509_get_extension_flags.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_get_pathlen.html b/linux_amd64/share/doc/openssl/html/man3/X509_get_pathlen.html new file mode 120000 index 0000000..d70e797 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_get_pathlen.html @@ -0,0 +1 @@ +X509_get_extension_flags.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_get_proxy_pathlen.html b/linux_amd64/share/doc/openssl/html/man3/X509_get_proxy_pathlen.html new file mode 120000 index 0000000..d70e797 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_get_proxy_pathlen.html @@ -0,0 +1 @@ +X509_get_extension_flags.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_get_pubkey.html b/linux_amd64/share/doc/openssl/html/man3/X509_get_pubkey.html index bb14eea..0ea9b41 100755 --- a/linux_amd64/share/doc/openssl/html/man3/X509_get_pubkey.html +++ b/linux_amd64/share/doc/openssl/html/man3/X509_get_pubkey.html @@ -112,7 +112,7 @@ for failure.


        COPYRIGHT

        Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_get_serialNumber.html b/linux_amd64/share/doc/openssl/html/man3/X509_get_serialNumber.html index 89e9d0d..2b8b665 100755 --- a/linux_amd64/share/doc/openssl/html/man3/X509_get_serialNumber.html +++ b/linux_amd64/share/doc/openssl/html/man3/X509_get_serialNumber.html @@ -98,7 +98,7 @@ The X509_get0_serialNumber() function was added in OpenSSL 1.1.0.


        COPYRIGHT

        Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_get_signature_info.html b/linux_amd64/share/doc/openssl/html/man3/X509_get_signature_info.html new file mode 120000 index 0000000..6180162 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_get_signature_info.html @@ -0,0 +1 @@ +X509_get0_signature.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_get_signature_nid.html b/linux_amd64/share/doc/openssl/html/man3/X509_get_signature_nid.html new file mode 120000 index 0000000..6180162 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_get_signature_nid.html @@ -0,0 +1 @@ +X509_get0_signature.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_get_subject_name.html b/linux_amd64/share/doc/openssl/html/man3/X509_get_subject_name.html index c65e614..10951ae 100755 --- a/linux_amd64/share/doc/openssl/html/man3/X509_get_subject_name.html +++ b/linux_amd64/share/doc/openssl/html/man3/X509_get_subject_name.html @@ -110,7 +110,7 @@ added in OpenSSL 1.0.0 as a macro.


        COPYRIGHT

        Copyright 2015-2019 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_get_version.html b/linux_amd64/share/doc/openssl/html/man3/X509_get_version.html index 1aeedfd..92f596a 100755 --- a/linux_amd64/share/doc/openssl/html/man3/X509_get_version.html +++ b/linux_amd64/share/doc/openssl/html/man3/X509_get_version.html @@ -111,7 +111,7 @@ functions in OpenSSL 1.1.0, in previous versions they were macros.


        COPYRIGHT

        Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_getm_notAfter.html b/linux_amd64/share/doc/openssl/html/man3/X509_getm_notAfter.html new file mode 120000 index 0000000..fdbbcec --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_getm_notAfter.html @@ -0,0 +1 @@ +X509_get0_notBefore.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_getm_notBefore.html b/linux_amd64/share/doc/openssl/html/man3/X509_getm_notBefore.html new file mode 120000 index 0000000..fdbbcec --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_getm_notBefore.html @@ -0,0 +1 @@ +X509_get0_notBefore.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_issuer_and_serial_cmp.html b/linux_amd64/share/doc/openssl/html/man3/X509_issuer_and_serial_cmp.html new file mode 120000 index 0000000..04b18b5 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_issuer_and_serial_cmp.html @@ -0,0 +1 @@ +X509_cmp.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_issuer_name_cmp.html b/linux_amd64/share/doc/openssl/html/man3/X509_issuer_name_cmp.html new file mode 120000 index 0000000..04b18b5 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_issuer_name_cmp.html @@ -0,0 +1 @@ +X509_cmp.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_load_cert_crl_file.html b/linux_amd64/share/doc/openssl/html/man3/X509_load_cert_crl_file.html new file mode 120000 index 0000000..0adfa80 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_load_cert_crl_file.html @@ -0,0 +1 @@ +X509_LOOKUP_hash_dir.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_load_cert_file.html b/linux_amd64/share/doc/openssl/html/man3/X509_load_cert_file.html new file mode 120000 index 0000000..0adfa80 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_load_cert_file.html @@ -0,0 +1 @@ +X509_LOOKUP_hash_dir.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_load_crl_file.html b/linux_amd64/share/doc/openssl/html/man3/X509_load_crl_file.html new file mode 120000 index 0000000..0adfa80 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_load_crl_file.html @@ -0,0 +1 @@ +X509_LOOKUP_hash_dir.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_new.html b/linux_amd64/share/doc/openssl/html/man3/X509_new.html index 55867d0..116954f 100755 --- a/linux_amd64/share/doc/openssl/html/man3/X509_new.html +++ b/linux_amd64/share/doc/openssl/html/man3/X509_new.html @@ -105,7 +105,7 @@ occurred.


        COPYRIGHT

        Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_pubkey_digest.html b/linux_amd64/share/doc/openssl/html/man3/X509_pubkey_digest.html new file mode 120000 index 0000000..f168418 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_pubkey_digest.html @@ -0,0 +1 @@ +X509_digest.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_set1_notAfter.html b/linux_amd64/share/doc/openssl/html/man3/X509_set1_notAfter.html new file mode 120000 index 0000000..fdbbcec --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_set1_notAfter.html @@ -0,0 +1 @@ +X509_get0_notBefore.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_set1_notBefore.html b/linux_amd64/share/doc/openssl/html/man3/X509_set1_notBefore.html new file mode 120000 index 0000000..fdbbcec --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_set1_notBefore.html @@ -0,0 +1 @@ +X509_get0_notBefore.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_set_ex_data.html b/linux_amd64/share/doc/openssl/html/man3/X509_set_ex_data.html new file mode 120000 index 0000000..6d5f2d2 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_set_ex_data.html @@ -0,0 +1 @@ +BIO_get_ex_new_index.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_set_issuer_name.html b/linux_amd64/share/doc/openssl/html/man3/X509_set_issuer_name.html new file mode 120000 index 0000000..dc12338 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_set_issuer_name.html @@ -0,0 +1 @@ +X509_get_subject_name.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_set_proxy_flag.html b/linux_amd64/share/doc/openssl/html/man3/X509_set_proxy_flag.html new file mode 120000 index 0000000..d70e797 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_set_proxy_flag.html @@ -0,0 +1 @@ +X509_get_extension_flags.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_set_proxy_pathlen.html b/linux_amd64/share/doc/openssl/html/man3/X509_set_proxy_pathlen.html new file mode 120000 index 0000000..d70e797 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_set_proxy_pathlen.html @@ -0,0 +1 @@ +X509_get_extension_flags.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_set_pubkey.html b/linux_amd64/share/doc/openssl/html/man3/X509_set_pubkey.html new file mode 120000 index 0000000..9bfcb01 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_set_pubkey.html @@ -0,0 +1 @@ +X509_get_pubkey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_set_serialNumber.html b/linux_amd64/share/doc/openssl/html/man3/X509_set_serialNumber.html new file mode 120000 index 0000000..8aba1da --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_set_serialNumber.html @@ -0,0 +1 @@ +X509_get_serialNumber.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_set_subject_name.html b/linux_amd64/share/doc/openssl/html/man3/X509_set_subject_name.html new file mode 120000 index 0000000..dc12338 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_set_subject_name.html @@ -0,0 +1 @@ +X509_get_subject_name.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_set_version.html b/linux_amd64/share/doc/openssl/html/man3/X509_set_version.html new file mode 120000 index 0000000..28a20db --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_set_version.html @@ -0,0 +1 @@ +X509_get_version.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_sign.html b/linux_amd64/share/doc/openssl/html/man3/X509_sign.html index 37f822c..9e53aee 100755 --- a/linux_amd64/share/doc/openssl/html/man3/X509_sign.html +++ b/linux_amd64/share/doc/openssl/html/man3/X509_sign.html @@ -125,7 +125,7 @@ and X509_CRL_sign_ctx() functions were added OpenSSL 1.0.1.


        COPYRIGHT

        Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_sign_ctx.html b/linux_amd64/share/doc/openssl/html/man3/X509_sign_ctx.html new file mode 120000 index 0000000..77e6e23 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_sign_ctx.html @@ -0,0 +1 @@ +X509_sign.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_subject_name_cmp.html b/linux_amd64/share/doc/openssl/html/man3/X509_subject_name_cmp.html new file mode 120000 index 0000000..04b18b5 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_subject_name_cmp.html @@ -0,0 +1 @@ +X509_cmp.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_time_adj.html b/linux_amd64/share/doc/openssl/html/man3/X509_time_adj.html new file mode 120000 index 0000000..6b40179 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_time_adj.html @@ -0,0 +1 @@ +X509_cmp_time.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_time_adj_ex.html b/linux_amd64/share/doc/openssl/html/man3/X509_time_adj_ex.html new file mode 120000 index 0000000..6b40179 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_time_adj_ex.html @@ -0,0 +1 @@ +X509_cmp_time.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_up_ref.html b/linux_amd64/share/doc/openssl/html/man3/X509_up_ref.html new file mode 120000 index 0000000..19dcda3 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_up_ref.html @@ -0,0 +1 @@ +X509_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_verify.html b/linux_amd64/share/doc/openssl/html/man3/X509_verify.html new file mode 120000 index 0000000..77e6e23 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_verify.html @@ -0,0 +1 @@ +X509_sign.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_verify_cert.html b/linux_amd64/share/doc/openssl/html/man3/X509_verify_cert.html index 7b1ea18..8ea6d24 100755 --- a/linux_amd64/share/doc/openssl/html/man3/X509_verify_cert.html +++ b/linux_amd64/share/doc/openssl/html/man3/X509_verify_cert.html @@ -20,6 +20,7 @@
      20. SYNOPSIS
      21. DESCRIPTION
      22. RETURN VALUES
      23. +
      24. NOTES
      25. BUGS
      26. SEE ALSO
      27. COPYRIGHT
      28. @@ -48,7 +49,20 @@

        DESCRIPTION

        The X509_verify_cert() function attempts to discover and validate a certificate chain based on parameters in ctx. A complete description of -the process is contained in the openssl-verify(1) manual page.

        +the process is contained in the verify(1) manual page.

        +

        +

        +
        +

        RETURN VALUES

        +

        If a complete chain can be built and validated this function returns 1, +otherwise it return zero, in exceptional circumstances it can also +return a negative code.

        +

        If the function fails additional error information can be obtained by +examining ctx using, for example X509_STORE_CTX_get_error().

        +

        +

        +
        +

        NOTES

        Applications rarely call this function directly but it is used by OpenSSL internally for certificate validation, in both the S/MIME and SSL/TLS code.

        @@ -62,19 +76,9 @@ Applications must check for <= 0 return value on error.


        -

        RETURN VALUES

        -

        If a complete chain can be built and validated this function returns 1, -otherwise it return zero, in exceptional circumstances it can also -return a negative code.

        -

        If the function fails additional error information can be obtained by -examining ctx using, for example X509_STORE_CTX_get_error().

        -

        -

        -

        BUGS

        -

        This function uses the header <x509.h >> -as opposed to most chain verification -functions which use <x509_vfy.h >>.

        +

        This function uses the header x509.h as opposed to most chain verification +functions which use x509_vfy.h.


        @@ -85,7 +89,7 @@ functions which use <x509_vfy.h >>.


        COPYRIGHT

        Copyright 2009-2016 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/X509_verify_cert_error_string.html b/linux_amd64/share/doc/openssl/html/man3/X509_verify_cert_error_string.html new file mode 120000 index 0000000..542dc2e --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509_verify_cert_error_string.html @@ -0,0 +1 @@ +X509_STORE_CTX_get_error.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509v3_add_ext.html b/linux_amd64/share/doc/openssl/html/man3/X509v3_add_ext.html new file mode 120000 index 0000000..f251fd6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509v3_add_ext.html @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509v3_delete_ext.html b/linux_amd64/share/doc/openssl/html/man3/X509v3_delete_ext.html new file mode 120000 index 0000000..f251fd6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509v3_delete_ext.html @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509v3_get_ext.html b/linux_amd64/share/doc/openssl/html/man3/X509v3_get_ext.html new file mode 120000 index 0000000..f251fd6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509v3_get_ext.html @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509v3_get_ext_by_NID.html b/linux_amd64/share/doc/openssl/html/man3/X509v3_get_ext_by_NID.html index 9746773..703e66a 100755 --- a/linux_amd64/share/doc/openssl/html/man3/X509v3_get_ext_by_NID.html +++ b/linux_amd64/share/doc/openssl/html/man3/X509v3_get_ext_by_NID.html @@ -102,7 +102,7 @@ extension after lastpos or from the beginning if <lastpos> the extension is found its index is returned otherwise -1 is returned.

        X509v3_get_ext_by_critical() is similar to X509v3_get_ext_by_NID() except it looks for an extension of criticality crit. A zero value for crit -looks for a non-critical extension a nonzero value looks for a critical +looks for a non-critical extension a non-zero value looks for a critical extension.

        X509v3_delete_ext() deletes the extension with index loc from x. The deleted extension is returned and must be freed by the caller. If loc @@ -158,7 +158,7 @@ error occurs.


        COPYRIGHT

        Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/X509v3_get_ext_by_OBJ.html b/linux_amd64/share/doc/openssl/html/man3/X509v3_get_ext_by_OBJ.html new file mode 120000 index 0000000..f251fd6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509v3_get_ext_by_OBJ.html @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509v3_get_ext_by_critical.html b/linux_amd64/share/doc/openssl/html/man3/X509v3_get_ext_by_critical.html new file mode 120000 index 0000000..f251fd6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509v3_get_ext_by_critical.html @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/X509v3_get_ext_count.html b/linux_amd64/share/doc/openssl/html/man3/X509v3_get_ext_count.html new file mode 120000 index 0000000..f251fd6 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/X509v3_get_ext_count.html @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/custom_ext_add_cb.html b/linux_amd64/share/doc/openssl/html/man3/custom_ext_add_cb.html new file mode 120000 index 0000000..b90842b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/custom_ext_add_cb.html @@ -0,0 +1 @@ +SSL_extension_supported.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/custom_ext_free_cb.html b/linux_amd64/share/doc/openssl/html/man3/custom_ext_free_cb.html new file mode 120000 index 0000000..b90842b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/custom_ext_free_cb.html @@ -0,0 +1 @@ +SSL_extension_supported.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/custom_ext_parse_cb.html b/linux_amd64/share/doc/openssl/html/man3/custom_ext_parse_cb.html new file mode 120000 index 0000000..b90842b --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/custom_ext_parse_cb.html @@ -0,0 +1 @@ +SSL_extension_supported.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_ACCESS_DESCRIPTION.html b/linux_amd64/share/doc/openssl/html/man3/d2i_ACCESS_DESCRIPTION.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_ACCESS_DESCRIPTION.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_ADMISSIONS.html b/linux_amd64/share/doc/openssl/html/man3/d2i_ADMISSIONS.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_ADMISSIONS.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_ADMISSION_SYNTAX.html b/linux_amd64/share/doc/openssl/html/man3/d2i_ADMISSION_SYNTAX.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_ADMISSION_SYNTAX.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_ASIdOrRange.html b/linux_amd64/share/doc/openssl/html/man3/d2i_ASIdOrRange.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_ASIdOrRange.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_ASIdentifierChoice.html b/linux_amd64/share/doc/openssl/html/man3/d2i_ASIdentifierChoice.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_ASIdentifierChoice.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_ASIdentifiers.html b/linux_amd64/share/doc/openssl/html/man3/d2i_ASIdentifiers.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_ASIdentifiers.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_BIT_STRING.html b/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_BIT_STRING.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_BIT_STRING.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_BMPSTRING.html b/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_BMPSTRING.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_BMPSTRING.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_ENUMERATED.html b/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_ENUMERATED.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_ENUMERATED.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_GENERALIZEDTIME.html b/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_GENERALIZEDTIME.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_GENERALIZEDTIME.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_GENERALSTRING.html b/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_GENERALSTRING.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_GENERALSTRING.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_IA5STRING.html b/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_IA5STRING.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_IA5STRING.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_INTEGER.html b/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_INTEGER.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_INTEGER.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_NULL.html b/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_NULL.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_NULL.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_OBJECT.html b/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_OBJECT.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_OBJECT.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_OCTET_STRING.html b/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_OCTET_STRING.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_OCTET_STRING.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_PRINTABLE.html b/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_PRINTABLE.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_PRINTABLE.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_PRINTABLESTRING.html b/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_PRINTABLESTRING.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_PRINTABLESTRING.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_SEQUENCE_ANY.html b/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_SEQUENCE_ANY.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_SEQUENCE_ANY.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_SET_ANY.html b/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_SET_ANY.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_SET_ANY.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_T61STRING.html b/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_T61STRING.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_T61STRING.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_TIME.html b/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_TIME.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_TIME.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_TYPE.html b/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_TYPE.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_TYPE.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_UINTEGER.html b/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_UINTEGER.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_UINTEGER.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_UNIVERSALSTRING.html b/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_UNIVERSALSTRING.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_UNIVERSALSTRING.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_UTCTIME.html b/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_UTCTIME.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_UTCTIME.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_UTF8STRING.html b/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_UTF8STRING.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_UTF8STRING.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_VISIBLESTRING.html b/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_VISIBLESTRING.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_ASN1_VISIBLESTRING.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_ASRange.html b/linux_amd64/share/doc/openssl/html/man3/d2i_ASRange.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_ASRange.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_AUTHORITY_INFO_ACCESS.html b/linux_amd64/share/doc/openssl/html/man3/d2i_AUTHORITY_INFO_ACCESS.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_AUTHORITY_INFO_ACCESS.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_AUTHORITY_KEYID.html b/linux_amd64/share/doc/openssl/html/man3/d2i_AUTHORITY_KEYID.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_AUTHORITY_KEYID.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_AutoPrivateKey.html b/linux_amd64/share/doc/openssl/html/man3/d2i_AutoPrivateKey.html new file mode 120000 index 0000000..462b13c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_AutoPrivateKey.html @@ -0,0 +1 @@ +d2i_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_BASIC_CONSTRAINTS.html b/linux_amd64/share/doc/openssl/html/man3/d2i_BASIC_CONSTRAINTS.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_BASIC_CONSTRAINTS.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_CERTIFICATEPOLICIES.html b/linux_amd64/share/doc/openssl/html/man3/d2i_CERTIFICATEPOLICIES.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_CERTIFICATEPOLICIES.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_CMS_ContentInfo.html b/linux_amd64/share/doc/openssl/html/man3/d2i_CMS_ContentInfo.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_CMS_ContentInfo.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_CMS_ReceiptRequest.html b/linux_amd64/share/doc/openssl/html/man3/d2i_CMS_ReceiptRequest.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_CMS_ReceiptRequest.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_CMS_bio.html b/linux_amd64/share/doc/openssl/html/man3/d2i_CMS_bio.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_CMS_bio.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_CRL_DIST_POINTS.html b/linux_amd64/share/doc/openssl/html/man3/d2i_CRL_DIST_POINTS.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_CRL_DIST_POINTS.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_DHparams.html b/linux_amd64/share/doc/openssl/html/man3/d2i_DHparams.html index 86b365b..f62d3a4 100755 --- a/linux_amd64/share/doc/openssl/html/man3/d2i_DHparams.html +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_DHparams.html @@ -67,7 +67,7 @@ is less than or equal to 0 on error.


        COPYRIGHT

        Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_DHxparams.html b/linux_amd64/share/doc/openssl/html/man3/d2i_DHxparams.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_DHxparams.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_DIRECTORYSTRING.html b/linux_amd64/share/doc/openssl/html/man3/d2i_DIRECTORYSTRING.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_DIRECTORYSTRING.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_DISPLAYTEXT.html b/linux_amd64/share/doc/openssl/html/man3/d2i_DISPLAYTEXT.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_DISPLAYTEXT.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_DIST_POINT.html b/linux_amd64/share/doc/openssl/html/man3/d2i_DIST_POINT.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_DIST_POINT.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_DIST_POINT_NAME.html b/linux_amd64/share/doc/openssl/html/man3/d2i_DIST_POINT_NAME.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_DIST_POINT_NAME.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_DSAPrivateKey.html b/linux_amd64/share/doc/openssl/html/man3/d2i_DSAPrivateKey.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_DSAPrivateKey.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_DSAPrivateKey_bio.html b/linux_amd64/share/doc/openssl/html/man3/d2i_DSAPrivateKey_bio.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_DSAPrivateKey_bio.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_DSAPrivateKey_fp.html b/linux_amd64/share/doc/openssl/html/man3/d2i_DSAPrivateKey_fp.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_DSAPrivateKey_fp.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_DSAPublicKey.html b/linux_amd64/share/doc/openssl/html/man3/d2i_DSAPublicKey.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_DSAPublicKey.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_DSA_PUBKEY.html b/linux_amd64/share/doc/openssl/html/man3/d2i_DSA_PUBKEY.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_DSA_PUBKEY.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_DSA_PUBKEY_bio.html b/linux_amd64/share/doc/openssl/html/man3/d2i_DSA_PUBKEY_bio.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_DSA_PUBKEY_bio.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_DSA_PUBKEY_fp.html b/linux_amd64/share/doc/openssl/html/man3/d2i_DSA_PUBKEY_fp.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_DSA_PUBKEY_fp.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_DSA_SIG.html b/linux_amd64/share/doc/openssl/html/man3/d2i_DSA_SIG.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_DSA_SIG.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_DSAparams.html b/linux_amd64/share/doc/openssl/html/man3/d2i_DSAparams.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_DSAparams.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_ECDSA_SIG.html b/linux_amd64/share/doc/openssl/html/man3/d2i_ECDSA_SIG.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_ECDSA_SIG.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_ECPKParameters.html b/linux_amd64/share/doc/openssl/html/man3/d2i_ECPKParameters.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_ECPKParameters.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_ECParameters.html b/linux_amd64/share/doc/openssl/html/man3/d2i_ECParameters.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_ECParameters.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_ECPrivateKey.html b/linux_amd64/share/doc/openssl/html/man3/d2i_ECPrivateKey.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_ECPrivateKey.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_ECPrivateKey_bio.html b/linux_amd64/share/doc/openssl/html/man3/d2i_ECPrivateKey_bio.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_ECPrivateKey_bio.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_ECPrivateKey_fp.html b/linux_amd64/share/doc/openssl/html/man3/d2i_ECPrivateKey_fp.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_ECPrivateKey_fp.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_EC_PUBKEY.html b/linux_amd64/share/doc/openssl/html/man3/d2i_EC_PUBKEY.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_EC_PUBKEY.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_EC_PUBKEY_bio.html b/linux_amd64/share/doc/openssl/html/man3/d2i_EC_PUBKEY_bio.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_EC_PUBKEY_bio.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_EC_PUBKEY_fp.html b/linux_amd64/share/doc/openssl/html/man3/d2i_EC_PUBKEY_fp.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_EC_PUBKEY_fp.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_EDIPARTYNAME.html b/linux_amd64/share/doc/openssl/html/man3/d2i_EDIPARTYNAME.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_EDIPARTYNAME.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_ESS_CERT_ID.html b/linux_amd64/share/doc/openssl/html/man3/d2i_ESS_CERT_ID.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_ESS_CERT_ID.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_ESS_ISSUER_SERIAL.html b/linux_amd64/share/doc/openssl/html/man3/d2i_ESS_ISSUER_SERIAL.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_ESS_ISSUER_SERIAL.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_ESS_SIGNING_CERT.html b/linux_amd64/share/doc/openssl/html/man3/d2i_ESS_SIGNING_CERT.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_ESS_SIGNING_CERT.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_EXTENDED_KEY_USAGE.html b/linux_amd64/share/doc/openssl/html/man3/d2i_EXTENDED_KEY_USAGE.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_EXTENDED_KEY_USAGE.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_GENERAL_NAME.html b/linux_amd64/share/doc/openssl/html/man3/d2i_GENERAL_NAME.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_GENERAL_NAME.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_GENERAL_NAMES.html b/linux_amd64/share/doc/openssl/html/man3/d2i_GENERAL_NAMES.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_GENERAL_NAMES.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_IPAddressChoice.html b/linux_amd64/share/doc/openssl/html/man3/d2i_IPAddressChoice.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_IPAddressChoice.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_IPAddressFamily.html b/linux_amd64/share/doc/openssl/html/man3/d2i_IPAddressFamily.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_IPAddressFamily.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_IPAddressOrRange.html b/linux_amd64/share/doc/openssl/html/man3/d2i_IPAddressOrRange.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_IPAddressOrRange.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_IPAddressRange.html b/linux_amd64/share/doc/openssl/html/man3/d2i_IPAddressRange.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_IPAddressRange.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_ISSUING_DIST_POINT.html b/linux_amd64/share/doc/openssl/html/man3/d2i_ISSUING_DIST_POINT.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_ISSUING_DIST_POINT.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_NAMING_AUTHORITY.html b/linux_amd64/share/doc/openssl/html/man3/d2i_NAMING_AUTHORITY.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_NAMING_AUTHORITY.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_NETSCAPE_CERT_SEQUENCE.html b/linux_amd64/share/doc/openssl/html/man3/d2i_NETSCAPE_CERT_SEQUENCE.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_NETSCAPE_CERT_SEQUENCE.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_NETSCAPE_SPKAC.html b/linux_amd64/share/doc/openssl/html/man3/d2i_NETSCAPE_SPKAC.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_NETSCAPE_SPKAC.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_NETSCAPE_SPKI.html b/linux_amd64/share/doc/openssl/html/man3/d2i_NETSCAPE_SPKI.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_NETSCAPE_SPKI.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_NOTICEREF.html b/linux_amd64/share/doc/openssl/html/man3/d2i_NOTICEREF.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_NOTICEREF.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_BASICRESP.html b/linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_BASICRESP.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_BASICRESP.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_CERTID.html b/linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_CERTID.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_CERTID.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_CERTSTATUS.html b/linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_CERTSTATUS.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_CERTSTATUS.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_CRLID.html b/linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_CRLID.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_CRLID.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_ONEREQ.html b/linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_ONEREQ.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_ONEREQ.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_REQINFO.html b/linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_REQINFO.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_REQINFO.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_REQUEST.html b/linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_REQUEST.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_REQUEST.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_RESPBYTES.html b/linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_RESPBYTES.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_RESPBYTES.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_RESPDATA.html b/linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_RESPDATA.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_RESPDATA.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_RESPID.html b/linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_RESPID.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_RESPID.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_RESPONSE.html b/linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_RESPONSE.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_RESPONSE.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_REVOKEDINFO.html b/linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_REVOKEDINFO.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_REVOKEDINFO.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_SERVICELOC.html b/linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_SERVICELOC.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_SERVICELOC.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_SIGNATURE.html b/linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_SIGNATURE.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_SIGNATURE.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_SINGLERESP.html b/linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_SINGLERESP.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_OCSP_SINGLERESP.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_OTHERNAME.html b/linux_amd64/share/doc/openssl/html/man3/d2i_OTHERNAME.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_OTHERNAME.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_PBE2PARAM.html b/linux_amd64/share/doc/openssl/html/man3/d2i_PBE2PARAM.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_PBE2PARAM.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_PBEPARAM.html b/linux_amd64/share/doc/openssl/html/man3/d2i_PBEPARAM.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_PBEPARAM.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_PBKDF2PARAM.html b/linux_amd64/share/doc/openssl/html/man3/d2i_PBKDF2PARAM.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_PBKDF2PARAM.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS12.html b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS12.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS12.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS12_BAGS.html b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS12_BAGS.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS12_BAGS.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS12_MAC_DATA.html b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS12_MAC_DATA.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS12_MAC_DATA.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS12_SAFEBAG.html b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS12_SAFEBAG.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS12_SAFEBAG.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS12_bio.html b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS12_bio.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS12_bio.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS12_fp.html b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS12_fp.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS12_fp.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS7.html b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS7.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS7.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS7_DIGEST.html b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS7_DIGEST.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS7_DIGEST.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS7_ENCRYPT.html b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS7_ENCRYPT.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS7_ENCRYPT.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS7_ENC_CONTENT.html b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS7_ENC_CONTENT.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS7_ENC_CONTENT.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS7_ENVELOPE.html b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS7_ENVELOPE.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS7_ENVELOPE.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS7_ISSUER_AND_SERIAL.html b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS7_ISSUER_AND_SERIAL.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS7_ISSUER_AND_SERIAL.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS7_RECIP_INFO.html b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS7_RECIP_INFO.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS7_RECIP_INFO.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS7_SIGNED.html b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS7_SIGNED.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS7_SIGNED.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS7_SIGNER_INFO.html b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS7_SIGNER_INFO.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS7_SIGNER_INFO.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS7_SIGN_ENVELOPE.html b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS7_SIGN_ENVELOPE.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS7_SIGN_ENVELOPE.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS7_bio.html b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS7_bio.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS7_bio.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS7_fp.html b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS7_fp.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS7_fp.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS8PrivateKey_bio.html b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS8PrivateKey_bio.html index 0b26170..639d75a 100755 --- a/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS8PrivateKey_bio.html +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS8PrivateKey_bio.html @@ -46,19 +46,19 @@ i2d_PKCS8PrivateKey_nid_bio, i2d_PKCS8PrivateKey_nid_fp - PKCS#8 format private EVP_PKEY *d2i_PKCS8PrivateKey_bio(BIO *bp, EVP_PKEY **x, pem_password_cb *cb, void *u); EVP_PKEY *d2i_PKCS8PrivateKey_fp(FILE *fp, EVP_PKEY **x, pem_password_cb *cb, void *u);
        - int i2d_PKCS8PrivateKey_bio(BIO *bp, const EVP_PKEY *x, const EVP_CIPHER *enc,
        + int i2d_PKCS8PrivateKey_bio(BIO *bp, EVP_PKEY *x, const EVP_CIPHER *enc,
                                      char *kstr, int klen,
                                      pem_password_cb *cb, void *u);
        - int i2d_PKCS8PrivateKey_fp(FILE *fp, const EVP_PKEY *x, const EVP_CIPHER *enc,
        + int i2d_PKCS8PrivateKey_fp(FILE *fp, EVP_PKEY *x, const EVP_CIPHER *enc,
                                     char *kstr, int klen,
                                     pem_password_cb *cb, void *u);
        - int i2d_PKCS8PrivateKey_nid_bio(BIO *bp, const EVP_PKEY *x, int nid,
        + int i2d_PKCS8PrivateKey_nid_bio(BIO *bp, EVP_PKEY *x, int nid,
                                          char *kstr, int klen,
                                          pem_password_cb *cb, void *u);
        - int i2d_PKCS8PrivateKey_nid_fp(FILE *fp, const EVP_PKEY *x, int nid,
        + int i2d_PKCS8PrivateKey_nid_fp(FILE *fp, EVP_PKEY *x, int nid,
                                         char *kstr, int klen,
                                         pem_password_cb *cb, void *u);

        @@ -99,7 +99,7 @@ and i2d_PKCS8PrivateKey_nid_fp() return 1 on success or 0 on error.


        COPYRIGHT

        Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS8PrivateKey_fp.html b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS8PrivateKey_fp.html new file mode 120000 index 0000000..dadbc76 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS8PrivateKey_fp.html @@ -0,0 +1 @@ +d2i_PKCS8PrivateKey_bio.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS8_PRIV_KEY_INFO.html b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS8_PRIV_KEY_INFO.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS8_PRIV_KEY_INFO.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS8_PRIV_KEY_INFO_bio.html b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS8_PRIV_KEY_INFO_bio.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS8_PRIV_KEY_INFO_bio.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS8_PRIV_KEY_INFO_fp.html b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS8_PRIV_KEY_INFO_fp.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS8_PRIV_KEY_INFO_fp.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS8_bio.html b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS8_bio.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS8_bio.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS8_fp.html b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS8_fp.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_PKCS8_fp.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_PKEY_USAGE_PERIOD.html b/linux_amd64/share/doc/openssl/html/man3/d2i_PKEY_USAGE_PERIOD.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_PKEY_USAGE_PERIOD.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_POLICYINFO.html b/linux_amd64/share/doc/openssl/html/man3/d2i_POLICYINFO.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_POLICYINFO.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_POLICYQUALINFO.html b/linux_amd64/share/doc/openssl/html/man3/d2i_POLICYQUALINFO.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_POLICYQUALINFO.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_PROFESSION_INFO.html b/linux_amd64/share/doc/openssl/html/man3/d2i_PROFESSION_INFO.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_PROFESSION_INFO.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_PROXY_CERT_INFO_EXTENSION.html b/linux_amd64/share/doc/openssl/html/man3/d2i_PROXY_CERT_INFO_EXTENSION.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_PROXY_CERT_INFO_EXTENSION.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_PROXY_POLICY.html b/linux_amd64/share/doc/openssl/html/man3/d2i_PROXY_POLICY.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_PROXY_POLICY.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_PUBKEY.html b/linux_amd64/share/doc/openssl/html/man3/d2i_PUBKEY.html new file mode 120000 index 0000000..a5ea41d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_PUBKEY.html @@ -0,0 +1 @@ +X509_PUBKEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_PUBKEY_bio.html b/linux_amd64/share/doc/openssl/html/man3/d2i_PUBKEY_bio.html new file mode 120000 index 0000000..a5ea41d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_PUBKEY_bio.html @@ -0,0 +1 @@ +X509_PUBKEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_PUBKEY_fp.html b/linux_amd64/share/doc/openssl/html/man3/d2i_PUBKEY_fp.html new file mode 120000 index 0000000..a5ea41d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_PUBKEY_fp.html @@ -0,0 +1 @@ +X509_PUBKEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_PrivateKey.html b/linux_amd64/share/doc/openssl/html/man3/d2i_PrivateKey.html index 4f76e34..39f3654 100755 --- a/linux_amd64/share/doc/openssl/html/man3/d2i_PrivateKey.html +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_PrivateKey.html @@ -33,9 +33,9 @@


        NAME

        -

        d2i_PrivateKey, d2i_PublicKey, d2i_KeyParams, d2i_AutoPrivateKey, -i2d_PrivateKey, i2d_PublicKey, i2d_KeyParams, i2d_KeyParams_bio, -d2i_PrivateKey_bio, d2i_PrivateKey_fp, d2i_KeyParams_bio +

        d2i_PrivateKey, d2i_PublicKey, d2i_AutoPrivateKey, +i2d_PrivateKey, i2d_PublicKey, +d2i_PrivateKey_bio, d2i_PrivateKey_fp - decode and encode functions for reading and saving EVP_PKEY structures

        @@ -48,19 +48,13 @@ d2i_PrivateKey_bio, d2i_PrivateKey_fp, d2i_KeyParams_bio long length); EVP_PKEY *d2i_PublicKey(int type, EVP_PKEY **a, const unsigned char **pp, long length); - EVP_PKEY *d2i_KeyParams(int type, EVP_PKEY **a, const unsigned char **pp, - long length); EVP_PKEY *d2i_AutoPrivateKey(EVP_PKEY **a, const unsigned char **pp, - long length); -
        - int i2d_PrivateKey(const EVP_PKEY *a, unsigned char **pp);
        - int i2d_PublicKey(const EVP_PKEY *a, unsigned char **pp);
        - int i2d_KeyParams(const EVP_PKEY *a, unsigned char **pp);
        - int i2d_KeyParams_bio(BIO *bp, const EVP_PKEY *pkey);
        + long length); + int i2d_PrivateKey(EVP_PKEY *a, unsigned char **pp); + int i2d_PublicKey(EVP_PKEY *a, unsigned char **pp);
          EVP_PKEY *d2i_PrivateKey_bio(BIO *bp, EVP_PKEY **a);
        - EVP_PKEY *d2i_PrivateKey_fp(FILE *fp, EVP_PKEY **a)
        - EVP_PKEY *d2i_KeyParams_bio(int type, EVP_PKEY **a, BIO *in);
        + EVP_PKEY *d2i_PrivateKey_fp(FILE *fp, EVP_PKEY **a)


        @@ -69,15 +63,13 @@ d2i_PrivateKey_bio, d2i_PrivateKey_fp, d2i_KeyParams_bio use any key specific format or PKCS#8 unencrypted PrivateKeyInfo format. The type parameter should be a public key algorithm constant such as EVP_PKEY_RSA. An error occurs if the decoded key does not match type. -d2i_PublicKey() does the same for public keys. -d2i_KeyParams() does the same for key parameters.

        +d2i_PublicKey() does the same for public keys.

        d2i_AutoPrivateKey() is similar to d2i_PrivateKey() except it attempts to automatically detect the private key format.

        i2d_PrivateKey() encodes key. It uses a key specific format or, if none is defined for that key type, PKCS#8 unencrypted PrivateKeyInfo format. -i2d_PublicKey() does the same for public keys. -i2d_KeyParams() does the same for key parameters. -These functions are similar to the d2i_X509() functions; see d2i_X509(3).

        +i2d_PublicKey() does the same for public keys.

        +

        These functions are similar to the d2i_X509() functions; see d2i_X509(3).


        @@ -96,12 +88,11 @@ EC_GROUP.


        RETURN VALUES

        The d2i_PrivateKey(), d2i_AutoPrivateKey(), d2i_PrivateKey_bio(), d2i_PrivateKey_fp(), -d2i_PublicKey(), d2i_KeyParams() and d2i_KeyParams_bio() functions return a valid -EVP_KEY structure or NULL if an error occurs. The error code can be -obtained by calling ERR_get_error(3).

        -

        i2d_PrivateKey(), i2d_PublicKey(), i2d_KeyParams() i2d_KeyParams_bio() return -the number of bytes successfully encoded or a negative value if an error occurs. -The error code can be obtained by calling ERR_get_error(3).

        +and d2i_PublicKey() functions return a valid EVP_KEY structure or NULL if an +error occurs. The error code can be obtained by calling ERR_get_error(3).

        +

        i2d_PrivateKey() and i2d_PublicKey() return the number of bytes successfully +encoded or a negative value if an error occurs. The error code can be obtained +by calling ERR_get_error(3).


        @@ -113,7 +104,7 @@ The error code can be obtained by calling ERR_get_error(3).


        COPYRIGHT

        Copyright 2017-2019 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_PrivateKey_bio.html b/linux_amd64/share/doc/openssl/html/man3/d2i_PrivateKey_bio.html new file mode 120000 index 0000000..462b13c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_PrivateKey_bio.html @@ -0,0 +1 @@ +d2i_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_PrivateKey_fp.html b/linux_amd64/share/doc/openssl/html/man3/d2i_PrivateKey_fp.html new file mode 120000 index 0000000..462b13c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_PrivateKey_fp.html @@ -0,0 +1 @@ +d2i_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_PublicKey.html b/linux_amd64/share/doc/openssl/html/man3/d2i_PublicKey.html new file mode 120000 index 0000000..462b13c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_PublicKey.html @@ -0,0 +1 @@ +d2i_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_RSAPrivateKey.html b/linux_amd64/share/doc/openssl/html/man3/d2i_RSAPrivateKey.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_RSAPrivateKey.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_RSAPrivateKey_bio.html b/linux_amd64/share/doc/openssl/html/man3/d2i_RSAPrivateKey_bio.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_RSAPrivateKey_bio.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_RSAPrivateKey_fp.html b/linux_amd64/share/doc/openssl/html/man3/d2i_RSAPrivateKey_fp.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_RSAPrivateKey_fp.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_RSAPublicKey.html b/linux_amd64/share/doc/openssl/html/man3/d2i_RSAPublicKey.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_RSAPublicKey.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_RSAPublicKey_bio.html b/linux_amd64/share/doc/openssl/html/man3/d2i_RSAPublicKey_bio.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_RSAPublicKey_bio.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_RSAPublicKey_fp.html b/linux_amd64/share/doc/openssl/html/man3/d2i_RSAPublicKey_fp.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_RSAPublicKey_fp.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_RSA_OAEP_PARAMS.html b/linux_amd64/share/doc/openssl/html/man3/d2i_RSA_OAEP_PARAMS.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_RSA_OAEP_PARAMS.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_RSA_PSS_PARAMS.html b/linux_amd64/share/doc/openssl/html/man3/d2i_RSA_PSS_PARAMS.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_RSA_PSS_PARAMS.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_RSA_PUBKEY.html b/linux_amd64/share/doc/openssl/html/man3/d2i_RSA_PUBKEY.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_RSA_PUBKEY.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_RSA_PUBKEY_bio.html b/linux_amd64/share/doc/openssl/html/man3/d2i_RSA_PUBKEY_bio.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_RSA_PUBKEY_bio.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_RSA_PUBKEY_fp.html b/linux_amd64/share/doc/openssl/html/man3/d2i_RSA_PUBKEY_fp.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_RSA_PUBKEY_fp.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_SCRYPT_PARAMS.html b/linux_amd64/share/doc/openssl/html/man3/d2i_SCRYPT_PARAMS.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_SCRYPT_PARAMS.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_SCT_LIST.html b/linux_amd64/share/doc/openssl/html/man3/d2i_SCT_LIST.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_SCT_LIST.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_SSL_SESSION.html b/linux_amd64/share/doc/openssl/html/man3/d2i_SSL_SESSION.html index da9c0c5..3583b6f 100755 --- a/linux_amd64/share/doc/openssl/html/man3/d2i_SSL_SESSION.html +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_SSL_SESSION.html @@ -75,7 +75,7 @@ When the session is not valid, 0 is returned and no operation i

        COPYRIGHT

        Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_SXNET.html b/linux_amd64/share/doc/openssl/html/man3/d2i_SXNET.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_SXNET.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_SXNETID.html b/linux_amd64/share/doc/openssl/html/man3/d2i_SXNETID.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_SXNETID.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_TS_ACCURACY.html b/linux_amd64/share/doc/openssl/html/man3/d2i_TS_ACCURACY.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_TS_ACCURACY.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_TS_MSG_IMPRINT.html b/linux_amd64/share/doc/openssl/html/man3/d2i_TS_MSG_IMPRINT.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_TS_MSG_IMPRINT.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_TS_MSG_IMPRINT_bio.html b/linux_amd64/share/doc/openssl/html/man3/d2i_TS_MSG_IMPRINT_bio.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_TS_MSG_IMPRINT_bio.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_TS_MSG_IMPRINT_fp.html b/linux_amd64/share/doc/openssl/html/man3/d2i_TS_MSG_IMPRINT_fp.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_TS_MSG_IMPRINT_fp.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_TS_REQ.html b/linux_amd64/share/doc/openssl/html/man3/d2i_TS_REQ.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_TS_REQ.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_TS_REQ_bio.html b/linux_amd64/share/doc/openssl/html/man3/d2i_TS_REQ_bio.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_TS_REQ_bio.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_TS_REQ_fp.html b/linux_amd64/share/doc/openssl/html/man3/d2i_TS_REQ_fp.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_TS_REQ_fp.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_TS_RESP.html b/linux_amd64/share/doc/openssl/html/man3/d2i_TS_RESP.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_TS_RESP.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_TS_RESP_bio.html b/linux_amd64/share/doc/openssl/html/man3/d2i_TS_RESP_bio.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_TS_RESP_bio.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_TS_RESP_fp.html b/linux_amd64/share/doc/openssl/html/man3/d2i_TS_RESP_fp.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_TS_RESP_fp.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_TS_STATUS_INFO.html b/linux_amd64/share/doc/openssl/html/man3/d2i_TS_STATUS_INFO.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_TS_STATUS_INFO.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_TS_TST_INFO.html b/linux_amd64/share/doc/openssl/html/man3/d2i_TS_TST_INFO.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_TS_TST_INFO.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_TS_TST_INFO_bio.html b/linux_amd64/share/doc/openssl/html/man3/d2i_TS_TST_INFO_bio.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_TS_TST_INFO_bio.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_TS_TST_INFO_fp.html b/linux_amd64/share/doc/openssl/html/man3/d2i_TS_TST_INFO_fp.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_TS_TST_INFO_fp.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_USERNOTICE.html b/linux_amd64/share/doc/openssl/html/man3/d2i_USERNOTICE.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_USERNOTICE.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_X509.html b/linux_amd64/share/doc/openssl/html/man3/d2i_X509.html index 2d70d4c..b95d6f0 100755 --- a/linux_amd64/share/doc/openssl/html/man3/d2i_X509.html +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_X509.html @@ -97,10 +97,8 @@ d2i_EC_PUBKEY_bio, d2i_EC_PUBKEY_fp, d2i_EDIPARTYNAME, d2i_ESS_CERT_ID, -d2i_ESS_CERT_ID_V2, d2i_ESS_ISSUER_SERIAL, d2i_ESS_SIGNING_CERT, -d2i_ESS_SIGNING_CERT_V2, d2i_EXTENDED_KEY_USAGE, d2i_GENERAL_NAME, d2i_GENERAL_NAMES, @@ -129,16 +127,6 @@ d2i_OCSP_REVOKEDINFO, d2i_OCSP_SERVICELOC, d2i_OCSP_SIGNATURE, d2i_OCSP_SINGLERESP, -d2i_OSSL_CMP_MSG, -d2i_OSSL_CMP_PKIHEADER, -d2i_OSSL_CRMF_CERTID, -d2i_OSSL_CRMF_CERTTEMPLATE, -d2i_OSSL_CRMF_ENCRYPTEDVALUE, -d2i_OSSL_CRMF_MSG, -d2i_OSSL_CRMF_MSGS, -d2i_OSSL_CRMF_PBMPARAMETER, -d2i_OSSL_CRMF_PKIPUBLICATIONINFO, -d2i_OSSL_CRMF_SINGLEPUBINFO, d2i_OTHERNAME, d2i_PBE2PARAM, d2i_PBEPARAM, @@ -217,8 +205,6 @@ d2i_X509_EXTENSIONS, d2i_X509_NAME, d2i_X509_NAME_ENTRY, d2i_X509_PUBKEY, -d2i_X509_PUBKEY_bio, -d2i_X509_PUBKEY_fp, d2i_X509_REQ, d2i_X509_REQ_INFO, d2i_X509_REQ_bio, @@ -288,10 +274,8 @@ i2d_EC_PUBKEY_bio, i2d_EC_PUBKEY_fp, i2d_EDIPARTYNAME, i2d_ESS_CERT_ID, -i2d_ESS_CERT_ID_V2, i2d_ESS_ISSUER_SERIAL, i2d_ESS_SIGNING_CERT, -i2d_ESS_SIGNING_CERT_V2, i2d_EXTENDED_KEY_USAGE, i2d_GENERAL_NAME, i2d_GENERAL_NAMES, @@ -320,16 +304,6 @@ i2d_OCSP_REVOKEDINFO, i2d_OCSP_SERVICELOC, i2d_OCSP_SIGNATURE, i2d_OCSP_SINGLERESP, -i2d_OSSL_CMP_MSG, -i2d_OSSL_CMP_PKIHEADER, -i2d_OSSL_CRMF_CERTID, -i2d_OSSL_CRMF_CERTTEMPLATE, -i2d_OSSL_CRMF_ENCRYPTEDVALUE, -i2d_OSSL_CRMF_MSG, -i2d_OSSL_CRMF_MSGS, -i2d_OSSL_CRMF_PBMPARAMETER, -i2d_OSSL_CRMF_PKIPUBLICATIONINFO, -i2d_OSSL_CRMF_SINGLEPUBINFO, i2d_OTHERNAME, i2d_PBE2PARAM, i2d_PBEPARAM, @@ -411,8 +385,6 @@ i2d_X509_EXTENSIONS, i2d_X509_NAME, i2d_X509_NAME_ENTRY, i2d_X509_PUBKEY, -i2d_X509_PUBKEY_bio, -i2d_X509_PUBKEY_fp, i2d_X509_REQ, i2d_X509_REQ_INFO, i2d_X509_REQ_bio, @@ -430,17 +402,14 @@ i2d_X509_VAL, TYPE *d2i_TYPE_bio(BIO *bp, TYPE **a); TYPE *d2i_TYPE_fp(FILE *fp, TYPE **a);
        - int i2d_TYPE(const TYPE *a, unsigned char **ppout);
          int i2d_TYPE(TYPE *a, unsigned char **ppout);
        - int i2d_TYPE_fp(FILE *fp, const TYPE *a);
          int i2d_TYPE_fp(FILE *fp, TYPE *a);
        - int i2d_TYPE_bio(BIO *bp, const TYPE *a);
          int i2d_TYPE_bio(BIO *bp, TYPE *a);


        DESCRIPTION

        -

        In the description here, TYPE is used a placeholder +

        In the description here, TYPE is used a placeholder for any of the OpenSSL datatypes, such as X509_CRL. The function parameters ppin and ppout are generally either both named pp in the headers, or in and out.

        @@ -448,33 +417,33 @@ either both named pp in the headers, or in and out. -

        d2i_TYPE() attempts to decode len bytes at *ppin. If successful a -pointer to the TYPE structure is returned and *ppin is incremented to -the byte following the parsed data. If a is not NULL then a pointer -to the returned structure is also written to *a. If an error occurred -then NULL is returned.

        -

        On a successful return, if *a is not NULL then it is assumed that *a -contains a valid TYPE structure and an attempt is made to reuse it. This +

        d2i_TYPE() attempts to decode len bytes at *ppin. If successful a +pointer to the TYPE structure is returned and *ppin is incremented to +the byte following the parsed data. If a is not NULL then a pointer +to the returned structure is also written to *a. If an error occurred +then NULL is returned.

        +

        On a successful return, if *a is not NULL then it is assumed that *a +contains a valid TYPE structure and an attempt is made to reuse it. This "reuse" capability is present for historical compatibility but its use is strongly discouraged (see BUGS below, and the discussion in the RETURN VALUES section).

        -

        d2i_TYPE_bio() is similar to d2i_TYPE() except it attempts -to parse data from BIO bp.

        -

        d2i_TYPE_fp() is similar to d2i_TYPE() except it attempts -to parse data from FILE pointer fp.

        -

        i2d_TYPE() encodes the structure pointed to by a into DER format. -If ppout is not NULL, it writes the DER encoded data to the buffer -at *ppout, and increments it to point after the data just written. +

        d2i_TYPE_bio() is similar to d2i_TYPE() except it attempts +to parse data from BIO bp.

        +

        d2i_TYPE_fp() is similar to d2i_TYPE() except it attempts +to parse data from FILE pointer fp.

        +

        i2d_TYPE() encodes the structure pointed to by a into DER format. +If ppout is not NULL, it writes the DER encoded data to the buffer +at *ppout, and increments it to point after the data just written. If the return value is negative an error occurred, otherwise it returns the length of the encoded data.

        -

        If *ppout is NULL memory will be allocated for a buffer and the encoded -data written to it. In this case *ppout is not incremented and it points +

        If *ppout is NULL memory will be allocated for a buffer and the encoded +data written to it. In this case *ppout is not incremented and it points to the start of the data just written.

        -

        i2d_TYPE_bio() is similar to i2d_TYPE() except it writes -the encoding of the structure a to BIO bp and it +

        i2d_TYPE_bio() is similar to i2d_TYPE() except it writes +the encoding of the structure a to BIO bp and it returns 1 for success and 0 for failure.

        -

        i2d_TYPE_fp() is similar to i2d_TYPE() except it writes -the encoding of the structure a to BIO bp and it +

        i2d_TYPE_fp() is similar to i2d_TYPE() except it writes +the encoding of the structure a to BIO bp and it returns 1 for success and 0 for failure.

        These routines do not encrypt private keys and therefore offer no security; use PEM_write_PrivateKey(3) or similar for writing to files.

        @@ -482,18 +451,18 @@ security; use PEM_write_PrivateKey(3) or similar for writing to files.<


        NOTES

        -

        The letters i and d in i2d_TYPE() stand for +

        The letters i and d in i2d_TYPE stand for "internal" (that is, an internal C structure) and "DER" respectively. -So i2d_TYPE() converts from internal to DER.

        +So i2d_TYPE converts from internal to DER.

        The functions can also understand BER forms.

        -

        The actual TYPE structure passed to i2d_TYPE() must be a valid -populated TYPE structure -- it cannot simply be fed with an +

        The actual TYPE structure passed to i2d_TYPE() must be a valid +populated TYPE structure -- it cannot simply be fed with an empty structure such as that returned by TYPE_new().

        -

        The encoded data is in binary form and may contain embedded zeros. +

        The encoded data is in binary form and may contain embedded zeroes. Therefore any FILE pointers or BIOs should be opened in binary mode. Functions such as strlen() will not return the correct length of the encoded structure.

        -

        The ways that *ppin and *ppout are incremented after the operation +

        The ways that *ppin and *ppout are incremented after the operation can trap the unwary. See the WARNINGS section for some common errors. The reason for this-auto increment behaviour is to reflect a typical @@ -521,11 +490,11 @@ another will be processed after it.

        Represents a DSA public key using a SubjectPublicKeyInfo structure.

        -
        DSAPublicKey, DSAPrivateKey
        +
        DSAPublicKey, DSAPrivateKey

        Use a non-standard OpenSSL format and should be avoided; use DSA_PUBKEY, -PEM_write_PrivateKey(3), or similar instead.

        +PEM_write_PrivateKey(3), or similar instead.

        ECDSA_SIG
        @@ -564,14 +533,14 @@ IETF RFC 6960 and


        RETURN VALUES

        -

        d2i_TYPE(), d2i_TYPE_bio() and d2i_TYPE_fp() return a valid -TYPE structure or NULL if an error occurs. If the "reuse" capability has -been used with a valid structure being passed in via a, then the object is -freed in the event of error and *a is set to NULL.

        -

        i2d_TYPE() returns the number of bytes successfully encoded or a negative +

        d2i_TYPE(), d2i_TYPE_bio() and d2i_TYPE_fp() return a valid TYPE structure +or NULL if an error occurs. If the "reuse" capability has been used with +a valid structure being passed in via a, then the object is freed in +the event of error and *a is set to NULL.

        +

        i2d_TYPE() returns the number of bytes successfully encoded or a negative value if an error occurs.

        -

        i2d_TYPE_bio() and i2d_TYPE_fp() return 1 for success and 0 if an -error occurs.

        +

        i2d_TYPE_bio() and i2d_TYPE_fp() return 1 for success and 0 if an error +occurs.


        @@ -624,40 +593,40 @@ mistake is to attempt to use a buffer directly as follows:

        i2d_X509(x, &buf); ... OPENSSL_free(buf); -

        This code will result in buf apparently containing garbage because +

        This code will result in buf apparently containing garbage because it was incremented after the call to point after the data just written. -Also buf will no longer contain the pointer allocated by OPENSSL_malloc() +Also buf will no longer contain the pointer allocated by OPENSSL_malloc() and the subsequent call to OPENSSL_free() is likely to crash.

        -

        Another trap to avoid is misuse of the a argument to d2i_TYPE():

        +

        Another trap to avoid is misuse of the a argument to d2i_TYPE():

          X509 *x;
          if (d2i_X509(&x, &p, len) == NULL)
              /* error */

        This will probably crash somewhere in d2i_X509(). The reason for this -is that the variable x is uninitialized and an attempt will be made to +is that the variable x is uninitialized and an attempt will be made to interpret its (invalid) value as an X509 structure, typically causing -a segmentation violation. If x is set to NULL first then this will not +a segmentation violation. If x is set to NULL first then this will not happen.


        BUGS

        -

        In some versions of OpenSSL the "reuse" behaviour of d2i_TYPE() when -*a is valid is broken and some parts of the reused structure may +

        In some versions of OpenSSL the "reuse" behaviour of d2i_TYPE() when +*a is valid is broken and some parts of the reused structure may persist if they are not present in the new one. Additionally, in versions of OpenSSL prior to 1.1.0, when the "reuse" behaviour is used and an error occurs the behaviour is inconsistent. Some functions behaved as described here, while -some did not free *a on error and did not set *a to NULL.

        +some did not free *a on error and did not set *a to NULL.

        As a result of the above issues the "reuse" behaviour is strongly discouraged.

        -

        i2d_TYPE() will not return an error in many versions of OpenSSL, +

        i2d_TYPE() will not return an error in many versions of OpenSSL, if mandatory fields are not initialized due to a programming error then the encoded structure may contain invalid data or omit the -fields entirely and will not be parsed by d2i_TYPE(). This may be -fixed in future so code should not assume that i2d_TYPE() will +fields entirely and will not be parsed by d2i_TYPE(). This may be +fixed in future so code should not assume that i2d_TYPE() will always succeed.

        -

        Any function which encodes a structure (i2d_TYPE(), -i2d_TYPE() or i2d_TYPE()) may return a stale encoding if the +

        Any function which encodes a structure (i2d_TYPE(), +i2d_TYPE() or i2d_TYPE()) may return a stale encoding if the structure has been modified after deserialization or previous serialization. This is because some objects cache the encoding for efficiency reasons.

        @@ -665,8 +634,8 @@ efficiency reasons.


        COPYRIGHT

        -

        Copyright 1998-2018 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Copyright 1998-2019 The OpenSSL Project Authors. All Rights Reserved.

        +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_X509_ALGOR.html b/linux_amd64/share/doc/openssl/html/man3/d2i_X509_ALGOR.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_X509_ALGOR.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_X509_ALGORS.html b/linux_amd64/share/doc/openssl/html/man3/d2i_X509_ALGORS.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_X509_ALGORS.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_X509_ATTRIBUTE.html b/linux_amd64/share/doc/openssl/html/man3/d2i_X509_ATTRIBUTE.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_X509_ATTRIBUTE.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_X509_AUX.html b/linux_amd64/share/doc/openssl/html/man3/d2i_X509_AUX.html new file mode 120000 index 0000000..5c29a01 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_X509_AUX.html @@ -0,0 +1 @@ +i2d_re_X509_tbs.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_X509_CERT_AUX.html b/linux_amd64/share/doc/openssl/html/man3/d2i_X509_CERT_AUX.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_X509_CERT_AUX.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_X509_CINF.html b/linux_amd64/share/doc/openssl/html/man3/d2i_X509_CINF.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_X509_CINF.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_X509_CRL.html b/linux_amd64/share/doc/openssl/html/man3/d2i_X509_CRL.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_X509_CRL.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_X509_CRL_INFO.html b/linux_amd64/share/doc/openssl/html/man3/d2i_X509_CRL_INFO.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_X509_CRL_INFO.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_X509_CRL_bio.html b/linux_amd64/share/doc/openssl/html/man3/d2i_X509_CRL_bio.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_X509_CRL_bio.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_X509_CRL_fp.html b/linux_amd64/share/doc/openssl/html/man3/d2i_X509_CRL_fp.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_X509_CRL_fp.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_X509_EXTENSION.html b/linux_amd64/share/doc/openssl/html/man3/d2i_X509_EXTENSION.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_X509_EXTENSION.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_X509_EXTENSIONS.html b/linux_amd64/share/doc/openssl/html/man3/d2i_X509_EXTENSIONS.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_X509_EXTENSIONS.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_X509_NAME.html b/linux_amd64/share/doc/openssl/html/man3/d2i_X509_NAME.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_X509_NAME.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_X509_NAME_ENTRY.html b/linux_amd64/share/doc/openssl/html/man3/d2i_X509_NAME_ENTRY.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_X509_NAME_ENTRY.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_X509_PUBKEY.html b/linux_amd64/share/doc/openssl/html/man3/d2i_X509_PUBKEY.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_X509_PUBKEY.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_X509_REQ.html b/linux_amd64/share/doc/openssl/html/man3/d2i_X509_REQ.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_X509_REQ.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_X509_REQ_INFO.html b/linux_amd64/share/doc/openssl/html/man3/d2i_X509_REQ_INFO.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_X509_REQ_INFO.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_X509_REQ_bio.html b/linux_amd64/share/doc/openssl/html/man3/d2i_X509_REQ_bio.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_X509_REQ_bio.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_X509_REQ_fp.html b/linux_amd64/share/doc/openssl/html/man3/d2i_X509_REQ_fp.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_X509_REQ_fp.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_X509_REVOKED.html b/linux_amd64/share/doc/openssl/html/man3/d2i_X509_REVOKED.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_X509_REVOKED.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_X509_SIG.html b/linux_amd64/share/doc/openssl/html/man3/d2i_X509_SIG.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_X509_SIG.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/d2i_X509_VAL.html b/linux_amd64/share/doc/openssl/html/man3/d2i_X509_VAL.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/d2i_X509_VAL.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_ACCESS_DESCRIPTION.html b/linux_amd64/share/doc/openssl/html/man3/i2d_ACCESS_DESCRIPTION.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_ACCESS_DESCRIPTION.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_ADMISSIONS.html b/linux_amd64/share/doc/openssl/html/man3/i2d_ADMISSIONS.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_ADMISSIONS.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_ADMISSION_SYNTAX.html b/linux_amd64/share/doc/openssl/html/man3/i2d_ADMISSION_SYNTAX.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_ADMISSION_SYNTAX.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_ASIdOrRange.html b/linux_amd64/share/doc/openssl/html/man3/i2d_ASIdOrRange.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_ASIdOrRange.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_ASIdentifierChoice.html b/linux_amd64/share/doc/openssl/html/man3/i2d_ASIdentifierChoice.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_ASIdentifierChoice.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_ASIdentifiers.html b/linux_amd64/share/doc/openssl/html/man3/i2d_ASIdentifiers.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_ASIdentifiers.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_BIT_STRING.html b/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_BIT_STRING.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_BIT_STRING.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_BMPSTRING.html b/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_BMPSTRING.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_BMPSTRING.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_ENUMERATED.html b/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_ENUMERATED.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_ENUMERATED.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_GENERALIZEDTIME.html b/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_GENERALIZEDTIME.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_GENERALIZEDTIME.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_GENERALSTRING.html b/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_GENERALSTRING.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_GENERALSTRING.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_IA5STRING.html b/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_IA5STRING.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_IA5STRING.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_INTEGER.html b/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_INTEGER.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_INTEGER.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_NULL.html b/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_NULL.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_NULL.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_OBJECT.html b/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_OBJECT.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_OBJECT.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_OCTET_STRING.html b/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_OCTET_STRING.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_OCTET_STRING.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_PRINTABLE.html b/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_PRINTABLE.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_PRINTABLE.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_PRINTABLESTRING.html b/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_PRINTABLESTRING.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_PRINTABLESTRING.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_SEQUENCE_ANY.html b/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_SEQUENCE_ANY.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_SEQUENCE_ANY.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_SET_ANY.html b/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_SET_ANY.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_SET_ANY.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_T61STRING.html b/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_T61STRING.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_T61STRING.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_TIME.html b/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_TIME.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_TIME.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_TYPE.html b/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_TYPE.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_TYPE.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_UNIVERSALSTRING.html b/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_UNIVERSALSTRING.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_UNIVERSALSTRING.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_UTCTIME.html b/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_UTCTIME.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_UTCTIME.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_UTF8STRING.html b/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_UTF8STRING.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_UTF8STRING.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_VISIBLESTRING.html b/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_VISIBLESTRING.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_VISIBLESTRING.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_bio_stream.html b/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_bio_stream.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_ASN1_bio_stream.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_ASRange.html b/linux_amd64/share/doc/openssl/html/man3/i2d_ASRange.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_ASRange.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_AUTHORITY_INFO_ACCESS.html b/linux_amd64/share/doc/openssl/html/man3/i2d_AUTHORITY_INFO_ACCESS.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_AUTHORITY_INFO_ACCESS.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_AUTHORITY_KEYID.html b/linux_amd64/share/doc/openssl/html/man3/i2d_AUTHORITY_KEYID.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_AUTHORITY_KEYID.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_BASIC_CONSTRAINTS.html b/linux_amd64/share/doc/openssl/html/man3/i2d_BASIC_CONSTRAINTS.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_BASIC_CONSTRAINTS.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_CERTIFICATEPOLICIES.html b/linux_amd64/share/doc/openssl/html/man3/i2d_CERTIFICATEPOLICIES.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_CERTIFICATEPOLICIES.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_CMS_ContentInfo.html b/linux_amd64/share/doc/openssl/html/man3/i2d_CMS_ContentInfo.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_CMS_ContentInfo.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_CMS_ReceiptRequest.html b/linux_amd64/share/doc/openssl/html/man3/i2d_CMS_ReceiptRequest.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_CMS_ReceiptRequest.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_CMS_bio.html b/linux_amd64/share/doc/openssl/html/man3/i2d_CMS_bio.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_CMS_bio.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_CMS_bio_stream.html b/linux_amd64/share/doc/openssl/html/man3/i2d_CMS_bio_stream.html index b353b23..c72ac80 100755 --- a/linux_amd64/share/doc/openssl/html/man3/i2d_CMS_bio_stream.html +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_CMS_bio_stream.html @@ -85,7 +85,7 @@ streaming.


        COPYRIGHT

        Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_CRL_DIST_POINTS.html b/linux_amd64/share/doc/openssl/html/man3/i2d_CRL_DIST_POINTS.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_CRL_DIST_POINTS.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_DHparams.html b/linux_amd64/share/doc/openssl/html/man3/i2d_DHparams.html new file mode 120000 index 0000000..f89e80c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_DHparams.html @@ -0,0 +1 @@ +d2i_DHparams.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_DHxparams.html b/linux_amd64/share/doc/openssl/html/man3/i2d_DHxparams.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_DHxparams.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_DIRECTORYSTRING.html b/linux_amd64/share/doc/openssl/html/man3/i2d_DIRECTORYSTRING.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_DIRECTORYSTRING.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_DISPLAYTEXT.html b/linux_amd64/share/doc/openssl/html/man3/i2d_DISPLAYTEXT.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_DISPLAYTEXT.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_DIST_POINT.html b/linux_amd64/share/doc/openssl/html/man3/i2d_DIST_POINT.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_DIST_POINT.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_DIST_POINT_NAME.html b/linux_amd64/share/doc/openssl/html/man3/i2d_DIST_POINT_NAME.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_DIST_POINT_NAME.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_DSAPrivateKey.html b/linux_amd64/share/doc/openssl/html/man3/i2d_DSAPrivateKey.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_DSAPrivateKey.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_DSAPrivateKey_bio.html b/linux_amd64/share/doc/openssl/html/man3/i2d_DSAPrivateKey_bio.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_DSAPrivateKey_bio.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_DSAPrivateKey_fp.html b/linux_amd64/share/doc/openssl/html/man3/i2d_DSAPrivateKey_fp.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_DSAPrivateKey_fp.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_DSAPublicKey.html b/linux_amd64/share/doc/openssl/html/man3/i2d_DSAPublicKey.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_DSAPublicKey.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_DSA_PUBKEY.html b/linux_amd64/share/doc/openssl/html/man3/i2d_DSA_PUBKEY.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_DSA_PUBKEY.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_DSA_PUBKEY_bio.html b/linux_amd64/share/doc/openssl/html/man3/i2d_DSA_PUBKEY_bio.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_DSA_PUBKEY_bio.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_DSA_PUBKEY_fp.html b/linux_amd64/share/doc/openssl/html/man3/i2d_DSA_PUBKEY_fp.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_DSA_PUBKEY_fp.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_DSA_SIG.html b/linux_amd64/share/doc/openssl/html/man3/i2d_DSA_SIG.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_DSA_SIG.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_DSAparams.html b/linux_amd64/share/doc/openssl/html/man3/i2d_DSAparams.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_DSAparams.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_ECDSA_SIG.html b/linux_amd64/share/doc/openssl/html/man3/i2d_ECDSA_SIG.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_ECDSA_SIG.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_ECPKParameters.html b/linux_amd64/share/doc/openssl/html/man3/i2d_ECPKParameters.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_ECPKParameters.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_ECParameters.html b/linux_amd64/share/doc/openssl/html/man3/i2d_ECParameters.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_ECParameters.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_ECPrivateKey.html b/linux_amd64/share/doc/openssl/html/man3/i2d_ECPrivateKey.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_ECPrivateKey.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_ECPrivateKey_bio.html b/linux_amd64/share/doc/openssl/html/man3/i2d_ECPrivateKey_bio.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_ECPrivateKey_bio.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_ECPrivateKey_fp.html b/linux_amd64/share/doc/openssl/html/man3/i2d_ECPrivateKey_fp.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_ECPrivateKey_fp.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_EC_PUBKEY.html b/linux_amd64/share/doc/openssl/html/man3/i2d_EC_PUBKEY.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_EC_PUBKEY.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_EC_PUBKEY_bio.html b/linux_amd64/share/doc/openssl/html/man3/i2d_EC_PUBKEY_bio.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_EC_PUBKEY_bio.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_EC_PUBKEY_fp.html b/linux_amd64/share/doc/openssl/html/man3/i2d_EC_PUBKEY_fp.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_EC_PUBKEY_fp.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_EDIPARTYNAME.html b/linux_amd64/share/doc/openssl/html/man3/i2d_EDIPARTYNAME.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_EDIPARTYNAME.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_ESS_CERT_ID.html b/linux_amd64/share/doc/openssl/html/man3/i2d_ESS_CERT_ID.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_ESS_CERT_ID.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_ESS_ISSUER_SERIAL.html b/linux_amd64/share/doc/openssl/html/man3/i2d_ESS_ISSUER_SERIAL.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_ESS_ISSUER_SERIAL.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_ESS_SIGNING_CERT.html b/linux_amd64/share/doc/openssl/html/man3/i2d_ESS_SIGNING_CERT.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_ESS_SIGNING_CERT.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_EXTENDED_KEY_USAGE.html b/linux_amd64/share/doc/openssl/html/man3/i2d_EXTENDED_KEY_USAGE.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_EXTENDED_KEY_USAGE.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_GENERAL_NAME.html b/linux_amd64/share/doc/openssl/html/man3/i2d_GENERAL_NAME.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_GENERAL_NAME.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_GENERAL_NAMES.html b/linux_amd64/share/doc/openssl/html/man3/i2d_GENERAL_NAMES.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_GENERAL_NAMES.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_IPAddressChoice.html b/linux_amd64/share/doc/openssl/html/man3/i2d_IPAddressChoice.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_IPAddressChoice.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_IPAddressFamily.html b/linux_amd64/share/doc/openssl/html/man3/i2d_IPAddressFamily.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_IPAddressFamily.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_IPAddressOrRange.html b/linux_amd64/share/doc/openssl/html/man3/i2d_IPAddressOrRange.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_IPAddressOrRange.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_IPAddressRange.html b/linux_amd64/share/doc/openssl/html/man3/i2d_IPAddressRange.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_IPAddressRange.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_ISSUING_DIST_POINT.html b/linux_amd64/share/doc/openssl/html/man3/i2d_ISSUING_DIST_POINT.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_ISSUING_DIST_POINT.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_NAMING_AUTHORITY.html b/linux_amd64/share/doc/openssl/html/man3/i2d_NAMING_AUTHORITY.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_NAMING_AUTHORITY.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_NETSCAPE_CERT_SEQUENCE.html b/linux_amd64/share/doc/openssl/html/man3/i2d_NETSCAPE_CERT_SEQUENCE.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_NETSCAPE_CERT_SEQUENCE.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_NETSCAPE_SPKAC.html b/linux_amd64/share/doc/openssl/html/man3/i2d_NETSCAPE_SPKAC.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_NETSCAPE_SPKAC.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_NETSCAPE_SPKI.html b/linux_amd64/share/doc/openssl/html/man3/i2d_NETSCAPE_SPKI.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_NETSCAPE_SPKI.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_NOTICEREF.html b/linux_amd64/share/doc/openssl/html/man3/i2d_NOTICEREF.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_NOTICEREF.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_BASICRESP.html b/linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_BASICRESP.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_BASICRESP.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_CERTID.html b/linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_CERTID.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_CERTID.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_CERTSTATUS.html b/linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_CERTSTATUS.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_CERTSTATUS.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_CRLID.html b/linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_CRLID.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_CRLID.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_ONEREQ.html b/linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_ONEREQ.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_ONEREQ.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_REQINFO.html b/linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_REQINFO.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_REQINFO.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_REQUEST.html b/linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_REQUEST.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_REQUEST.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_RESPBYTES.html b/linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_RESPBYTES.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_RESPBYTES.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_RESPDATA.html b/linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_RESPDATA.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_RESPDATA.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_RESPID.html b/linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_RESPID.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_RESPID.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_RESPONSE.html b/linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_RESPONSE.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_RESPONSE.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_REVOKEDINFO.html b/linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_REVOKEDINFO.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_REVOKEDINFO.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_SERVICELOC.html b/linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_SERVICELOC.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_SERVICELOC.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_SIGNATURE.html b/linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_SIGNATURE.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_SIGNATURE.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_SINGLERESP.html b/linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_SINGLERESP.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_OCSP_SINGLERESP.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_OTHERNAME.html b/linux_amd64/share/doc/openssl/html/man3/i2d_OTHERNAME.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_OTHERNAME.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_PBE2PARAM.html b/linux_amd64/share/doc/openssl/html/man3/i2d_PBE2PARAM.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_PBE2PARAM.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_PBEPARAM.html b/linux_amd64/share/doc/openssl/html/man3/i2d_PBEPARAM.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_PBEPARAM.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_PBKDF2PARAM.html b/linux_amd64/share/doc/openssl/html/man3/i2d_PBKDF2PARAM.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_PBKDF2PARAM.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS12.html b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS12.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS12.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS12_BAGS.html b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS12_BAGS.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS12_BAGS.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS12_MAC_DATA.html b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS12_MAC_DATA.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS12_MAC_DATA.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS12_SAFEBAG.html b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS12_SAFEBAG.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS12_SAFEBAG.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS12_bio.html b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS12_bio.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS12_bio.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS12_fp.html b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS12_fp.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS12_fp.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7.html b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_DIGEST.html b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_DIGEST.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_DIGEST.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_ENCRYPT.html b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_ENCRYPT.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_ENCRYPT.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_ENC_CONTENT.html b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_ENC_CONTENT.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_ENC_CONTENT.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_ENVELOPE.html b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_ENVELOPE.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_ENVELOPE.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_ISSUER_AND_SERIAL.html b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_ISSUER_AND_SERIAL.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_ISSUER_AND_SERIAL.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_NDEF.html b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_NDEF.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_NDEF.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_RECIP_INFO.html b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_RECIP_INFO.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_RECIP_INFO.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_SIGNED.html b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_SIGNED.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_SIGNED.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_SIGNER_INFO.html b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_SIGNER_INFO.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_SIGNER_INFO.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_SIGN_ENVELOPE.html b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_SIGN_ENVELOPE.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_SIGN_ENVELOPE.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_bio.html b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_bio.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_bio.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_bio_stream.html b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_bio_stream.html index 62faed2..d91119e 100755 --- a/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_bio_stream.html +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_bio_stream.html @@ -85,7 +85,7 @@ streaming.


        COPYRIGHT

        Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_fp.html b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_fp.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS7_fp.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS8PrivateKeyInfo_bio.html b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS8PrivateKeyInfo_bio.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS8PrivateKeyInfo_bio.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS8PrivateKeyInfo_fp.html b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS8PrivateKeyInfo_fp.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS8PrivateKeyInfo_fp.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS8PrivateKey_bio.html b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS8PrivateKey_bio.html new file mode 120000 index 0000000..dadbc76 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS8PrivateKey_bio.html @@ -0,0 +1 @@ +d2i_PKCS8PrivateKey_bio.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS8PrivateKey_fp.html b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS8PrivateKey_fp.html new file mode 120000 index 0000000..dadbc76 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS8PrivateKey_fp.html @@ -0,0 +1 @@ +d2i_PKCS8PrivateKey_bio.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS8PrivateKey_nid_bio.html b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS8PrivateKey_nid_bio.html new file mode 120000 index 0000000..dadbc76 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS8PrivateKey_nid_bio.html @@ -0,0 +1 @@ +d2i_PKCS8PrivateKey_bio.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS8PrivateKey_nid_fp.html b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS8PrivateKey_nid_fp.html new file mode 120000 index 0000000..dadbc76 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS8PrivateKey_nid_fp.html @@ -0,0 +1 @@ +d2i_PKCS8PrivateKey_bio.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS8_PRIV_KEY_INFO.html b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS8_PRIV_KEY_INFO.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS8_PRIV_KEY_INFO.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS8_PRIV_KEY_INFO_bio.html b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS8_PRIV_KEY_INFO_bio.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS8_PRIV_KEY_INFO_bio.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS8_PRIV_KEY_INFO_fp.html b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS8_PRIV_KEY_INFO_fp.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS8_PRIV_KEY_INFO_fp.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS8_bio.html b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS8_bio.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS8_bio.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS8_fp.html b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS8_fp.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_PKCS8_fp.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_PKEY_USAGE_PERIOD.html b/linux_amd64/share/doc/openssl/html/man3/i2d_PKEY_USAGE_PERIOD.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_PKEY_USAGE_PERIOD.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_POLICYINFO.html b/linux_amd64/share/doc/openssl/html/man3/i2d_POLICYINFO.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_POLICYINFO.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_POLICYQUALINFO.html b/linux_amd64/share/doc/openssl/html/man3/i2d_POLICYQUALINFO.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_POLICYQUALINFO.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_PROFESSION_INFO.html b/linux_amd64/share/doc/openssl/html/man3/i2d_PROFESSION_INFO.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_PROFESSION_INFO.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_PROXY_CERT_INFO_EXTENSION.html b/linux_amd64/share/doc/openssl/html/man3/i2d_PROXY_CERT_INFO_EXTENSION.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_PROXY_CERT_INFO_EXTENSION.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_PROXY_POLICY.html b/linux_amd64/share/doc/openssl/html/man3/i2d_PROXY_POLICY.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_PROXY_POLICY.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_PUBKEY.html b/linux_amd64/share/doc/openssl/html/man3/i2d_PUBKEY.html new file mode 120000 index 0000000..a5ea41d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_PUBKEY.html @@ -0,0 +1 @@ +X509_PUBKEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_PUBKEY_bio.html b/linux_amd64/share/doc/openssl/html/man3/i2d_PUBKEY_bio.html new file mode 120000 index 0000000..a5ea41d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_PUBKEY_bio.html @@ -0,0 +1 @@ +X509_PUBKEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_PUBKEY_fp.html b/linux_amd64/share/doc/openssl/html/man3/i2d_PUBKEY_fp.html new file mode 120000 index 0000000..a5ea41d --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_PUBKEY_fp.html @@ -0,0 +1 @@ +X509_PUBKEY_new.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_PrivateKey.html b/linux_amd64/share/doc/openssl/html/man3/i2d_PrivateKey.html new file mode 120000 index 0000000..462b13c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_PrivateKey.html @@ -0,0 +1 @@ +d2i_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_PublicKey.html b/linux_amd64/share/doc/openssl/html/man3/i2d_PublicKey.html new file mode 120000 index 0000000..462b13c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_PublicKey.html @@ -0,0 +1 @@ +d2i_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_RSAPrivateKey.html b/linux_amd64/share/doc/openssl/html/man3/i2d_RSAPrivateKey.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_RSAPrivateKey.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_RSAPrivateKey_bio.html b/linux_amd64/share/doc/openssl/html/man3/i2d_RSAPrivateKey_bio.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_RSAPrivateKey_bio.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_RSAPrivateKey_fp.html b/linux_amd64/share/doc/openssl/html/man3/i2d_RSAPrivateKey_fp.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_RSAPrivateKey_fp.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_RSAPublicKey.html b/linux_amd64/share/doc/openssl/html/man3/i2d_RSAPublicKey.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_RSAPublicKey.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_RSAPublicKey_bio.html b/linux_amd64/share/doc/openssl/html/man3/i2d_RSAPublicKey_bio.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_RSAPublicKey_bio.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_RSAPublicKey_fp.html b/linux_amd64/share/doc/openssl/html/man3/i2d_RSAPublicKey_fp.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_RSAPublicKey_fp.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_RSA_OAEP_PARAMS.html b/linux_amd64/share/doc/openssl/html/man3/i2d_RSA_OAEP_PARAMS.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_RSA_OAEP_PARAMS.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_RSA_PSS_PARAMS.html b/linux_amd64/share/doc/openssl/html/man3/i2d_RSA_PSS_PARAMS.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_RSA_PSS_PARAMS.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_RSA_PUBKEY.html b/linux_amd64/share/doc/openssl/html/man3/i2d_RSA_PUBKEY.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_RSA_PUBKEY.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_RSA_PUBKEY_bio.html b/linux_amd64/share/doc/openssl/html/man3/i2d_RSA_PUBKEY_bio.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_RSA_PUBKEY_bio.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_RSA_PUBKEY_fp.html b/linux_amd64/share/doc/openssl/html/man3/i2d_RSA_PUBKEY_fp.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_RSA_PUBKEY_fp.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_SCRYPT_PARAMS.html b/linux_amd64/share/doc/openssl/html/man3/i2d_SCRYPT_PARAMS.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_SCRYPT_PARAMS.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_SCT_LIST.html b/linux_amd64/share/doc/openssl/html/man3/i2d_SCT_LIST.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_SCT_LIST.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_SSL_SESSION.html b/linux_amd64/share/doc/openssl/html/man3/i2d_SSL_SESSION.html new file mode 120000 index 0000000..0e2ec6c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_SSL_SESSION.html @@ -0,0 +1 @@ +d2i_SSL_SESSION.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_SXNET.html b/linux_amd64/share/doc/openssl/html/man3/i2d_SXNET.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_SXNET.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_SXNETID.html b/linux_amd64/share/doc/openssl/html/man3/i2d_SXNETID.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_SXNETID.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_TS_ACCURACY.html b/linux_amd64/share/doc/openssl/html/man3/i2d_TS_ACCURACY.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_TS_ACCURACY.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_TS_MSG_IMPRINT.html b/linux_amd64/share/doc/openssl/html/man3/i2d_TS_MSG_IMPRINT.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_TS_MSG_IMPRINT.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_TS_MSG_IMPRINT_bio.html b/linux_amd64/share/doc/openssl/html/man3/i2d_TS_MSG_IMPRINT_bio.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_TS_MSG_IMPRINT_bio.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_TS_MSG_IMPRINT_fp.html b/linux_amd64/share/doc/openssl/html/man3/i2d_TS_MSG_IMPRINT_fp.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_TS_MSG_IMPRINT_fp.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_TS_REQ.html b/linux_amd64/share/doc/openssl/html/man3/i2d_TS_REQ.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_TS_REQ.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_TS_REQ_bio.html b/linux_amd64/share/doc/openssl/html/man3/i2d_TS_REQ_bio.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_TS_REQ_bio.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_TS_REQ_fp.html b/linux_amd64/share/doc/openssl/html/man3/i2d_TS_REQ_fp.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_TS_REQ_fp.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_TS_RESP.html b/linux_amd64/share/doc/openssl/html/man3/i2d_TS_RESP.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_TS_RESP.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_TS_RESP_bio.html b/linux_amd64/share/doc/openssl/html/man3/i2d_TS_RESP_bio.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_TS_RESP_bio.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_TS_RESP_fp.html b/linux_amd64/share/doc/openssl/html/man3/i2d_TS_RESP_fp.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_TS_RESP_fp.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_TS_STATUS_INFO.html b/linux_amd64/share/doc/openssl/html/man3/i2d_TS_STATUS_INFO.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_TS_STATUS_INFO.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_TS_TST_INFO.html b/linux_amd64/share/doc/openssl/html/man3/i2d_TS_TST_INFO.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_TS_TST_INFO.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_TS_TST_INFO_bio.html b/linux_amd64/share/doc/openssl/html/man3/i2d_TS_TST_INFO_bio.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_TS_TST_INFO_bio.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_TS_TST_INFO_fp.html b/linux_amd64/share/doc/openssl/html/man3/i2d_TS_TST_INFO_fp.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_TS_TST_INFO_fp.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_USERNOTICE.html b/linux_amd64/share/doc/openssl/html/man3/i2d_USERNOTICE.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_USERNOTICE.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_X509.html b/linux_amd64/share/doc/openssl/html/man3/i2d_X509.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_X509.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_X509_ALGOR.html b/linux_amd64/share/doc/openssl/html/man3/i2d_X509_ALGOR.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_X509_ALGOR.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_X509_ALGORS.html b/linux_amd64/share/doc/openssl/html/man3/i2d_X509_ALGORS.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_X509_ALGORS.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_X509_ATTRIBUTE.html b/linux_amd64/share/doc/openssl/html/man3/i2d_X509_ATTRIBUTE.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_X509_ATTRIBUTE.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_X509_AUX.html b/linux_amd64/share/doc/openssl/html/man3/i2d_X509_AUX.html new file mode 120000 index 0000000..5c29a01 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_X509_AUX.html @@ -0,0 +1 @@ +i2d_re_X509_tbs.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_X509_CERT_AUX.html b/linux_amd64/share/doc/openssl/html/man3/i2d_X509_CERT_AUX.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_X509_CERT_AUX.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_X509_CINF.html b/linux_amd64/share/doc/openssl/html/man3/i2d_X509_CINF.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_X509_CINF.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_X509_CRL.html b/linux_amd64/share/doc/openssl/html/man3/i2d_X509_CRL.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_X509_CRL.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_X509_CRL_INFO.html b/linux_amd64/share/doc/openssl/html/man3/i2d_X509_CRL_INFO.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_X509_CRL_INFO.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_X509_CRL_bio.html b/linux_amd64/share/doc/openssl/html/man3/i2d_X509_CRL_bio.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_X509_CRL_bio.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_X509_CRL_fp.html b/linux_amd64/share/doc/openssl/html/man3/i2d_X509_CRL_fp.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_X509_CRL_fp.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_X509_EXTENSION.html b/linux_amd64/share/doc/openssl/html/man3/i2d_X509_EXTENSION.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_X509_EXTENSION.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_X509_EXTENSIONS.html b/linux_amd64/share/doc/openssl/html/man3/i2d_X509_EXTENSIONS.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_X509_EXTENSIONS.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_X509_NAME.html b/linux_amd64/share/doc/openssl/html/man3/i2d_X509_NAME.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_X509_NAME.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_X509_NAME_ENTRY.html b/linux_amd64/share/doc/openssl/html/man3/i2d_X509_NAME_ENTRY.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_X509_NAME_ENTRY.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_X509_PUBKEY.html b/linux_amd64/share/doc/openssl/html/man3/i2d_X509_PUBKEY.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_X509_PUBKEY.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_X509_REQ.html b/linux_amd64/share/doc/openssl/html/man3/i2d_X509_REQ.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_X509_REQ.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_X509_REQ_INFO.html b/linux_amd64/share/doc/openssl/html/man3/i2d_X509_REQ_INFO.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_X509_REQ_INFO.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_X509_REQ_bio.html b/linux_amd64/share/doc/openssl/html/man3/i2d_X509_REQ_bio.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_X509_REQ_bio.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_X509_REQ_fp.html b/linux_amd64/share/doc/openssl/html/man3/i2d_X509_REQ_fp.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_X509_REQ_fp.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_X509_REVOKED.html b/linux_amd64/share/doc/openssl/html/man3/i2d_X509_REVOKED.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_X509_REVOKED.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_X509_SIG.html b/linux_amd64/share/doc/openssl/html/man3/i2d_X509_SIG.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_X509_SIG.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_X509_VAL.html b/linux_amd64/share/doc/openssl/html/man3/i2d_X509_VAL.html new file mode 120000 index 0000000..dff4bf1 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_X509_VAL.html @@ -0,0 +1 @@ +d2i_X509.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_re_X509_CRL_tbs.html b/linux_amd64/share/doc/openssl/html/man3/i2d_re_X509_CRL_tbs.html new file mode 120000 index 0000000..5c29a01 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_re_X509_CRL_tbs.html @@ -0,0 +1 @@ +i2d_re_X509_tbs.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_re_X509_REQ_tbs.html b/linux_amd64/share/doc/openssl/html/man3/i2d_re_X509_REQ_tbs.html new file mode 120000 index 0000000..5c29a01 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_re_X509_REQ_tbs.html @@ -0,0 +1 @@ +i2d_re_X509_tbs.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2d_re_X509_tbs.html b/linux_amd64/share/doc/openssl/html/man3/i2d_re_X509_tbs.html index 9b66628..13acaec 100755 --- a/linux_amd64/share/doc/openssl/html/man3/i2d_re_X509_tbs.html +++ b/linux_amd64/share/doc/openssl/html/man3/i2d_re_X509_tbs.html @@ -108,7 +108,7 @@ length of encoded data or 0 on error.


        COPYRIGHT

        Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/i2o_SCT.html b/linux_amd64/share/doc/openssl/html/man3/i2o_SCT.html new file mode 120000 index 0000000..0200ed3 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2o_SCT.html @@ -0,0 +1 @@ +o2i_SCT_LIST.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2o_SCT_LIST.html b/linux_amd64/share/doc/openssl/html/man3/i2o_SCT_LIST.html new file mode 120000 index 0000000..0200ed3 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2o_SCT_LIST.html @@ -0,0 +1 @@ +o2i_SCT_LIST.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/i2t_ASN1_OBJECT.html b/linux_amd64/share/doc/openssl/html/man3/i2t_ASN1_OBJECT.html new file mode 120000 index 0000000..1da4abe --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/i2t_ASN1_OBJECT.html @@ -0,0 +1 @@ +OBJ_nid2obj.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/lh_TYPE_delete.html b/linux_amd64/share/doc/openssl/html/man3/lh_TYPE_delete.html new file mode 120000 index 0000000..48e7190 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/lh_TYPE_delete.html @@ -0,0 +1 @@ +OPENSSL_LH_COMPFUNC.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/lh_TYPE_doall.html b/linux_amd64/share/doc/openssl/html/man3/lh_TYPE_doall.html new file mode 120000 index 0000000..48e7190 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/lh_TYPE_doall.html @@ -0,0 +1 @@ +OPENSSL_LH_COMPFUNC.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/lh_TYPE_doall_arg.html b/linux_amd64/share/doc/openssl/html/man3/lh_TYPE_doall_arg.html new file mode 120000 index 0000000..48e7190 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/lh_TYPE_doall_arg.html @@ -0,0 +1 @@ +OPENSSL_LH_COMPFUNC.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/lh_TYPE_error.html b/linux_amd64/share/doc/openssl/html/man3/lh_TYPE_error.html new file mode 120000 index 0000000..48e7190 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/lh_TYPE_error.html @@ -0,0 +1 @@ +OPENSSL_LH_COMPFUNC.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/lh_TYPE_free.html b/linux_amd64/share/doc/openssl/html/man3/lh_TYPE_free.html new file mode 120000 index 0000000..48e7190 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/lh_TYPE_free.html @@ -0,0 +1 @@ +OPENSSL_LH_COMPFUNC.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/lh_TYPE_insert.html b/linux_amd64/share/doc/openssl/html/man3/lh_TYPE_insert.html new file mode 120000 index 0000000..48e7190 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/lh_TYPE_insert.html @@ -0,0 +1 @@ +OPENSSL_LH_COMPFUNC.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/lh_TYPE_new.html b/linux_amd64/share/doc/openssl/html/man3/lh_TYPE_new.html new file mode 120000 index 0000000..48e7190 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/lh_TYPE_new.html @@ -0,0 +1 @@ +OPENSSL_LH_COMPFUNC.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/lh_TYPE_retrieve.html b/linux_amd64/share/doc/openssl/html/man3/lh_TYPE_retrieve.html new file mode 120000 index 0000000..48e7190 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/lh_TYPE_retrieve.html @@ -0,0 +1 @@ +OPENSSL_LH_COMPFUNC.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/o2i_SCT.html b/linux_amd64/share/doc/openssl/html/man3/o2i_SCT.html new file mode 120000 index 0000000..0200ed3 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/o2i_SCT.html @@ -0,0 +1 @@ +o2i_SCT_LIST.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/o2i_SCT_LIST.html b/linux_amd64/share/doc/openssl/html/man3/o2i_SCT_LIST.html index a442549..012f8d0 100755 --- a/linux_amd64/share/doc/openssl/html/man3/o2i_SCT_LIST.html +++ b/linux_amd64/share/doc/openssl/html/man3/o2i_SCT_LIST.html @@ -53,14 +53,14 @@ decode and encode Signed Certificate Timestamp lists in TLS wire format

        DESCRIPTION

        The SCT_LIST and SCT functions are very similar to the i2d and d2i family of functions, except that they convert to and from TLS wire format, as described in -RFC 6962. See d2i_SCT_LIST(3) for more information about how the parameters are +RFC 6962. See d2i_SCT_LIST for more information about how the parameters are treated and the return values.


        RETURN VALUES

        All of the functions have return values consistent with those stated for -d2i_SCT_LIST(3) and i2d_SCT_LIST(3).

        +d2i_SCT_LIST and i2d_SCT_LIST.


        @@ -78,7 +78,7 @@ treated and the return values.


        COPYRIGHT

        Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man3/pem_password_cb.html b/linux_amd64/share/doc/openssl/html/man3/pem_password_cb.html new file mode 120000 index 0000000..eb13034 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/pem_password_cb.html @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_deep_copy.html b/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_deep_copy.html new file mode 120000 index 0000000..1053507 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_deep_copy.html @@ -0,0 +1 @@ +DEFINE_STACK_OF.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_delete.html b/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_delete.html new file mode 120000 index 0000000..1053507 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_delete.html @@ -0,0 +1 @@ +DEFINE_STACK_OF.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_delete_ptr.html b/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_delete_ptr.html new file mode 120000 index 0000000..1053507 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_delete_ptr.html @@ -0,0 +1 @@ +DEFINE_STACK_OF.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_dup.html b/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_dup.html new file mode 120000 index 0000000..1053507 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_dup.html @@ -0,0 +1 @@ +DEFINE_STACK_OF.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_find.html b/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_find.html new file mode 120000 index 0000000..1053507 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_find.html @@ -0,0 +1 @@ +DEFINE_STACK_OF.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_find_ex.html b/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_find_ex.html new file mode 120000 index 0000000..1053507 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_find_ex.html @@ -0,0 +1 @@ +DEFINE_STACK_OF.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_free.html b/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_free.html new file mode 120000 index 0000000..1053507 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_free.html @@ -0,0 +1 @@ +DEFINE_STACK_OF.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_insert.html b/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_insert.html new file mode 120000 index 0000000..1053507 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_insert.html @@ -0,0 +1 @@ +DEFINE_STACK_OF.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_is_sorted.html b/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_is_sorted.html new file mode 120000 index 0000000..1053507 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_is_sorted.html @@ -0,0 +1 @@ +DEFINE_STACK_OF.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_new.html b/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_new.html new file mode 120000 index 0000000..1053507 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_new.html @@ -0,0 +1 @@ +DEFINE_STACK_OF.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_new_null.html b/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_new_null.html new file mode 120000 index 0000000..1053507 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_new_null.html @@ -0,0 +1 @@ +DEFINE_STACK_OF.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_new_reserve.html b/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_new_reserve.html new file mode 120000 index 0000000..1053507 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_new_reserve.html @@ -0,0 +1 @@ +DEFINE_STACK_OF.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_num.html b/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_num.html new file mode 120000 index 0000000..1053507 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_num.html @@ -0,0 +1 @@ +DEFINE_STACK_OF.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_pop.html b/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_pop.html new file mode 120000 index 0000000..1053507 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_pop.html @@ -0,0 +1 @@ +DEFINE_STACK_OF.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_pop_free.html b/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_pop_free.html new file mode 120000 index 0000000..1053507 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_pop_free.html @@ -0,0 +1 @@ +DEFINE_STACK_OF.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_push.html b/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_push.html new file mode 120000 index 0000000..1053507 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_push.html @@ -0,0 +1 @@ +DEFINE_STACK_OF.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_reserve.html b/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_reserve.html new file mode 120000 index 0000000..1053507 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_reserve.html @@ -0,0 +1 @@ +DEFINE_STACK_OF.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_set.html b/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_set.html new file mode 120000 index 0000000..1053507 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_set.html @@ -0,0 +1 @@ +DEFINE_STACK_OF.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_set_cmp_func.html b/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_set_cmp_func.html new file mode 120000 index 0000000..1053507 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_set_cmp_func.html @@ -0,0 +1 @@ +DEFINE_STACK_OF.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_shift.html b/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_shift.html new file mode 120000 index 0000000..1053507 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_shift.html @@ -0,0 +1 @@ +DEFINE_STACK_OF.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_sort.html b/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_sort.html new file mode 120000 index 0000000..1053507 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_sort.html @@ -0,0 +1 @@ +DEFINE_STACK_OF.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_unshift.html b/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_unshift.html new file mode 120000 index 0000000..1053507 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_unshift.html @@ -0,0 +1 @@ +DEFINE_STACK_OF.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_value.html b/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_value.html new file mode 120000 index 0000000..1053507 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_value.html @@ -0,0 +1 @@ +DEFINE_STACK_OF.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_zero.html b/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_zero.html new file mode 120000 index 0000000..1053507 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/sk_TYPE_zero.html @@ -0,0 +1 @@ +DEFINE_STACK_OF.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man3/ssl_ct_validation_cb.html b/linux_amd64/share/doc/openssl/html/man3/ssl_ct_validation_cb.html new file mode 120000 index 0000000..a04d25c --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man3/ssl_ct_validation_cb.html @@ -0,0 +1 @@ +SSL_CTX_set_ct_validation_callback.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man5/config.html b/linux_amd64/share/doc/openssl/html/man5/config.html index 5c68d70..89501da 100755 --- a/linux_amd64/share/doc/openssl/html/man5/config.html +++ b/linux_amd64/share/doc/openssl/html/man5/config.html @@ -18,13 +18,11 @@
      29. NAME
      30. DESCRIPTION
      31. -
      32. PRAGMAS
      33. OPENSSL LIBRARY CONFIGURATION
      34. @@ -33,7 +31,6 @@
      35. EXAMPLES
      36. ENVIRONMENT
      37. BUGS
      38. -
      39. HISTORY
      40. SEE ALSO
      41. COPYRIGHT
      42. @@ -57,9 +54,9 @@ and in a few other places like SPKAC files and certificate exte files for the x509 utility. OpenSSL applications can also use the CONF library for their own purposes.

        A configuration file is divided into a number of sections. Each section -starts with a line [section_name] and ends when a new section is +starts with a line [ section_name ] and ends when a new section is started or end of file is reached. A section name can consist of -alphanumeric characters and underscores. The brackets are required.

        +alphanumeric characters and underscores.

        The first section of a configuration file is special and is referred to as the default section. This section is usually unnamed and spans from the start of file until the first named section. When a name is being looked up @@ -79,16 +76,13 @@ POSIX IO support.

        directive. Relative paths are evaluated based on the application current working directory so unless the configuration file containing the .include directive is application specific the inclusion will not -work as expected. The environment variable OPENSSL_CONF_INCLUDE can also be -used to specify the path to prepend to all .include paths.

        +work as expected.

        There can be optional = character and whitespace characters between .include directive and the path which can be useful in cases the configuration file needs to be loaded by old OpenSSL versions which do not support the .include syntax. They would bail out with error if the = character is not present but with it they just ignore the include.

        -

        Pragmas can be specified with the .pragma directive. -See PRAGMAS for more information.

        Each section in a configuration file consists of a number of name and value pairs of the form name=value

        The name string can contain any alphanumeric characters as well as @@ -114,39 +108,6 @@ also apply to the path of the .include directive.


        -

        PRAGMAS

        -

        Pragmas can be used to change the behavior of the configuration file -parser, among others. Currently supported pragmas are:

        -
        -
        .pragma dollarid:value
        - -
        -

        value can be one of:

        -
        -
        "on" or "true"
        - -
        -

        this signifies that dollar signs are considered an identity character -from this point on and that variable expansion requires the use of -braces or parentheses. In other words, foo$bar will be considered -a name instead of foo followed by the expansion of the variable -bar. -This is suitable for platforms where the dollar sign is commonly used -as part of names.

        -
        -
        "off" or "false"
        - -
        -

        Turns this pragma off, i.e. foo$bar will be interpreted as foo -followed by the expansion of the variable bar.

        -
        -
        -

        By default, this pragma is turned off.

        -
        -
        -

        -

        -

        OPENSSL LIBRARY CONFIGURATION

        Applications can automatically configure certain aspects of OpenSSL using the master OpenSSL configuration file, or optionally @@ -172,8 +133,7 @@ section containing configuration module specific information. E.g.:

        [openssl_init]
          oid_section = new_oids
        - engines = engine_section
        - providers = provider_section
        + engines = engine_section
          [new_oids]
        @@ -182,10 +142,6 @@ section containing configuration module specific information. E.g.:

        [engine_section]
          ... engine stuff here ...
        -
        - [provider_section]
        -
        - ... provider stuff here ...

        The features of each configuration module are described below.

        @@ -277,75 +233,12 @@ value is sent to the command.

        default_algorithms = ALL

        -

        Provider Configuration Module

        -

        This provider configuration module has the name providers. The -value of this variable points to a section containing further provider -configuration information.

        -

        The section pointed to by providers is a table of provider names -(though see identity below) and further sections containing -configuration information specific to each provider module.

        -

        Each provider specific section is used to load its module, perform -activation and set parameters to pass to the provider on demand. The -actual operation performed depends on the name of the name value pair. -The currently supported commands are listed below.

        -

        For example:

        -
        - [provider_section]
        -
        - # Configure provider named "foo"
        - foo = foo_section
        - # Configure provider named "bar"
        - bar = bar_section
        -
        - [foo_section]
        - ... "foo" provider specific parameters ...
        -
        - [bar_section]
        - ... "bar" provider specific parameters ...
        -

        The command identity is used to give the provider name. For example:

        -
        - [provider_section]
        - # This would normally handle a provider named "foo"
        - foo = foo_section
        -
        - [foo_section]
        - # Override default name and use "myfoo" instead.
        - identity = myfoo
        -

        The parameter module loads and adds a provider module from the -given module path. That path may be a simple filename, a relative -path or an absolute path.

        -

        The parameter activate determines whether to activate the -provider. The value has no importance, the presence of the parameter -is enough for activation to take place.

        -

        All parameters in the section as well as sub-sections are made -available to the provider.

        -

        -

        EVP Configuration Module

        -

        This module has the name alg_section which points to a section containing +

        This modules has the name alg_section which points to a section containing algorithm commands.

        -

        The supported algorithm commands are:

        -
        -
        default_properties
        - -
        -

        The value may be anything that is acceptable as a property query -string for EVP_set_default_properties().

        -
        -
        fips_mode (deprecated)
        - -
        -

        The value is a boolean that can be yes or no. If the value is -yes, this is exactly equivalent to:

        -
        -    default_properties = fips=yes
        -

        If the value is no, nothing happens.

        -
        -
        -

        These two commands should not be used together, as there is no control -over how they affect each other. -The use of fips_mode is strongly discouraged and is only present -for backward compatibility with earlier OpenSSL FIPS modules.

        +

        Currently the only algorithm command supported is fips_mode whose +value can only be the boolean string off. If fips_mode is set to on, +an error occurs as this library version is not FIPS capable.

        SSL Configuration Module

        @@ -416,6 +309,7 @@ mentioned above.

        # This is the default section.
          HOME=/temp
        + RANDFILE= ${ENV::HOME}/.rnd
          configdir=$ENV::HOME/config
          [ section_one ]
        @@ -527,17 +421,6 @@ Ignored in set-user-ID and set-group-ID programs.

        The path to the engines directory. Ignored in set-user-ID and set-group-ID programs.

        -
        OPENSSL_MODULES
        - -
        -

        The path to the directory with OpenSSL modules, such as providers. -Ignored in set-user-ID and set-group-ID programs.

        -
        -
        OPENSSL_CONF_INCLUDE
        - -
        -

        The optional path to prepend to all .include paths.

        -

        @@ -554,26 +437,14 @@ file.


        -

        HISTORY

        -

        An undocumented API, NCONF_WIN32(), used a slightly different set -of parsing rules there were intended to be tailored to -the Microsoft Windows platform. -Specifically, the backslash character was not an escape character and -could be used in pathnames, only the double-quote character was recognized, -and comments began with a semi-colon. -This function was deprecated in OpenSSL 3.0; applications with -configuration files using that syntax will have to be modified.

        -

        -

        -

        SEE ALSO

        -

        openssl-x509(1), openssl-req(1), openssl-ca(1), fips_config(5)

        +

        x509(1), req(1), ca(1)


        COPYRIGHT

        -

        Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

        +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man5/x509v3_config.html b/linux_amd64/share/doc/openssl/html/man5/x509v3_config.html index 4109003..7164f41 100755 --- a/linux_amd64/share/doc/openssl/html/man5/x509v3_config.html +++ b/linux_amd64/share/doc/openssl/html/man5/x509v3_config.html @@ -21,17 +21,17 @@
      43. STANDARD EXTENSIONS
        • -
        • Basic Constraints
        • -
        • Key Usage
        • -
        • Extended Key Usage
        • -
        • Subject Key Identifier
        • -
        • Authority Key Identifier
        • -
        • Subject Alternative Name
        • -
        • Issuer Alternative Name
        • -
        • Authority Info Access
        • +
        • Basic Constraints.
        • +
        • Key Usage.
        • +
        • Extended Key Usage.
        • +
        • Subject Key Identifier.
        • +
        • Authority Key Identifier.
        • +
        • Subject Alternative Name.
        • +
        • Issuer Alternative Name.
        • +
        • Authority Info Access.
        • CRL distribution points
        • Issuing Distribution Point
        • -
        • Certificate Policies
        • +
        • Certificate Policies.
        • Policy Constraints
        • Inhibit Any Policy
        • Name Constraints
        • @@ -42,7 +42,7 @@
        • DEPRECATED EXTENSIONS
        • @@ -107,10 +107,10 @@ must be used, see the ARBITRARY EXTENSIONS s

          The following sections describe each supported extension in detail.

          -

          Basic Constraints

          +

          Basic Constraints.

          This is a multi valued extension which indicates whether a certificate is a CA certificate. The first (mandatory) name is CA followed by TRUE or -FALSE. If CA is TRUE then an optional pathlen name followed by a +FALSE. If CA is TRUE then an optional pathlen name followed by an non-negative value can be included.

          For example:

          @@ -128,7 +128,7 @@ below this one in a chain. So if you have a CA with a pathlen of zero it can
           only be used to sign end user certificates and not further CAs.

          -

          Key Usage

          +

          Key Usage.

          Key usage is a multi valued extension consisting of a list of names of the permitted key usages.

          The supported names are: digitalSignature, nonRepudiation, keyEncipherment, @@ -141,7 +141,7 @@ and decipherOnly.

          keyUsage=critical, keyCertSign

          -

          Extended Key Usage

          +

          Extended Key Usage.

          This extensions consists of a list of usages indicating purposes for which the certificate public key can be used for,

          These can either be object short names or the dotted numerical form of OIDs. @@ -167,7 +167,7 @@ following PKIX, NS and MS values are meaningful:

          extendedKeyUsage=serverAuth,clientAuth

          -

          Subject Key Identifier

          +

          Subject Key Identifier.

          This is really a string extension and can take two possible values. Either the word hash which will automatically follow the guidelines in RFC3280 or a hex string giving the extension value to include. The use of the hex @@ -177,7 +177,7 @@ string is strongly discouraged.

          subjectKeyIdentifier=hash

          -

          Authority Key Identifier

          +

          Authority Key Identifier.

          The authority key identifier extension permits two options. keyid and issuer: both can take the optional value "always".

          If the keyid option is present an attempt is made to copy the subject key @@ -191,7 +191,7 @@ is not included unless the "always" flag will always include the value authorityKeyIdentifier=keyid,issuer

          -

          Subject Alternative Name

          +

          Subject Alternative Name.

          The subject alternative name extension allows various literal values to be included in the configuration file. These include email (an email address) URI a uniform resource indicator, DNS (a DNS domain name), RID (a @@ -224,7 +224,7 @@ should be the OID followed by a semicolon and the content in standard CN=My Name

          -

          Issuer Alternative Name

          +

          Issuer Alternative Name.

          The issuer alternative name option supports all the literal options of subject alternative name. It does not support the email:copy option because that would not make sense. It does support an additional issuer:copy option @@ -235,7 +235,7 @@ certificate (if possible).

          issuerAltName = issuer:copy

          -

          Authority Info Access

          +

          Authority Info Access.

          The authority information access extension gives details about how to access certain information relating to the CA. Its syntax is accessOID;location where location has the same syntax as subject alternative name (except @@ -311,7 +311,7 @@ the corresponding field.

          CN=Some Name

          -

          Certificate Policies

          +

          Certificate Policies.

          This is a raw extension. All the fields of this extension can be set by using the appropriate syntax.

          If you follow the PKIX recommendations and just using one OID then you just @@ -417,7 +417,7 @@ include that extension in its reply.

          obsolete. Their use in new applications is discouraged.

          -

          Netscape String extensions

          +

          Netscape String extensions.

          Netscape Comment (nsComment) is a string extension containing a comment which will be displayed when the certificate is viewed in some browsers.

          Example:

          @@ -511,14 +511,14 @@ can only occur once in a section. This means that:


          SEE ALSO

          -

          openssl-req(1), openssl-ca(1), openssl-x509(1), +

          req(1), ca(1), x509(1), ASN1_generate_nconf(3)


          COPYRIGHT

          -

          Copyright 2004-2016 The OpenSSL Project Authors. All Rights Reserved.

          -

          Licensed under the Apache License 2.0 (the "License"). You may not use +

          Copyright 2004-2019 The OpenSSL Project Authors. All Rights Reserved.

          +

          Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

          diff --git a/linux_amd64/share/doc/openssl/html/man7/Ed25519.html b/linux_amd64/share/doc/openssl/html/man7/Ed25519.html index 6917aba..3d3c1ec 100755 --- a/linux_amd64/share/doc/openssl/html/man7/Ed25519.html +++ b/linux_amd64/share/doc/openssl/html/man7/Ed25519.html @@ -55,7 +55,7 @@ of other signature algorithms using, for example, EVP_DigestUpdate()EVP_DigestSign()
          and EVP_DigestVerify() functions.

          When calling EVP_DigestSignInit() or EVP_DigestVerifyInit(), the -digest type parameter MUST be set to NULL.

          +digest type parameter MUST be set to NULL.

          Applications wishing to sign certificates (or other structures such as CRLs or certificate requests) using Ed25519 or Ed448 can either use X509_sign() or X509_sign_ctx() in the usual way.

          @@ -73,8 +73,7 @@ the associated public key.

          Ed25519 or Ed448 public keys can be set directly using EVP_PKEY_new_raw_public_key(3) or loaded from a SubjectPublicKeyInfo structure in a PEM file using PEM_read_bio_PUBKEY(3) (or similar function).

          -

          Ed25519 and Ed448 can be tested with the openssl-speed(1) application -since version 1.1.1. +

          Ed25519 and Ed448 can be tested within speed(1) application since version 1.1.1. Valid algorithm names are ed25519, ed448 and eddsa. If eddsa is specified, then both Ed25519 and Ed448 are benchmarked.

          @@ -105,8 +104,8 @@ output in PEM format:


          COPYRIGHT

          -

          Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved.

          -

          Licensed under the Apache License 2.0 (the "License"). You may not use +

          Copyright 2017-2019 The OpenSSL Project Authors. All Rights Reserved.

          +

          Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

          diff --git a/linux_amd64/share/doc/openssl/html/man7/Ed448.html b/linux_amd64/share/doc/openssl/html/man7/Ed448.html new file mode 120000 index 0000000..42e8972 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man7/Ed448.html @@ -0,0 +1 @@ +Ed25519.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man7/RAND.html b/linux_amd64/share/doc/openssl/html/man7/RAND.html index bc6d71b..6ae4d82 100755 --- a/linux_amd64/share/doc/openssl/html/man7/RAND.html +++ b/linux_amd64/share/doc/openssl/html/man7/RAND.html @@ -99,8 +99,8 @@ of cryptographic principles and understand the implications of your changes.


          COPYRIGHT

          -

          Copyright 2018 The OpenSSL Project Authors. All Rights Reserved.

          -

          Licensed under the Apache License 2.0 (the "License"). You may not use +

          Copyright 2018-2019 The OpenSSL Project Authors. All Rights Reserved.

          +

          Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

          diff --git a/linux_amd64/share/doc/openssl/html/man7/RAND_DRBG.html b/linux_amd64/share/doc/openssl/html/man7/RAND_DRBG.html index 3e24b70..f6b2156 100755 --- a/linux_amd64/share/doc/openssl/html/man7/RAND_DRBG.html +++ b/linux_amd64/share/doc/openssl/html/man7/RAND_DRBG.html @@ -41,7 +41,7 @@
        • Automatic Reseeding
        • Manual Reseeding
        • -
        • Entropy Input and Additional Data
        • +
        • Entropy Input vs. Additional Data
        • Configuring the Random Seed Source
        • Reseeding the master DRBG with automatic seeding enabled
        • Reseeding the master DRBG with automatic seeding disabled
        • @@ -236,10 +236,9 @@ reseeding of the DRBG with fresh entropy by setting the

          The document [NIST SP 800-90C] describes prediction resistance requests in detail and imposes strict conditions on the entropy sources that are approved for providing prediction resistance. -A request for prediction resistance can only be satisfied by pulling fresh -entropy from a live entropy source (section 5.5.2 of [NIST SP 800-90C]). -It is up to the user to ensure that a live entropy source is configured -and is being used.

          +Since the default DRBG implementation does not have access to such an approved +entropy source, a request for prediction resistance will currently always fail. +In other words, prediction resistance is currently not supported yet by the DRBG.

          For the three shared DRBGs (and only for these) there is another way to reseed them manually: If RAND_add(3) is called with a positive randomness argument @@ -250,7 +249,7 @@ call and reseed, pulling randomness from <master>.

          previous OpenSSL versions to call RAND_add() before calling RAND_bytes().

          -

          Entropy Input and Additional Data

          +

          Entropy Input vs. Additional Data

          The DRBG distinguishes two different types of random input: entropy, which comes from a trusted source, and additional input', which can optionally be added by the user and is considered untrusted. @@ -275,7 +274,7 @@ DRBG, depending on whether automatic reseeding is available or not.

          pulls the necessary entropy from its source automatically. However, both calls are permitted, and do reseed the RNG.

          RAND_add() can be used to add both kinds of random input, depending on the -value of the randomness argument:

          +value of the randomness argument:

          randomness == 0:
          @@ -298,12 +297,6 @@ In this case the missing randomness will be obtained by pulling random input from the trusted entropy sources.

          -

          NOTE: Manual reseeding is *not allowed* in FIPS mode, because -[NIST SP-800-90Ar1] mandates that entropy *shall not* be provided by -the consuming application for instantiation (Section 9.1) or -reseeding (Section 9.2). For that reason, the randomness -argument is ignored and the random bytes provided by the RAND_add(3) and -RAND_seed(3) calls are treated as additional data.

          Reseeding the master DRBG with automatic seeding disabled

          @@ -334,7 +327,7 @@ nonce during instantiation.


          COPYRIGHT

          Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved.

          -

          Licensed under the Apache License 2.0 (the "License"). You may not use +

          Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

          diff --git a/linux_amd64/share/doc/openssl/html/man7/RSA-PSS.html b/linux_amd64/share/doc/openssl/html/man7/RSA-PSS.html index d49c474..d125fc1 100755 --- a/linux_amd64/share/doc/openssl/html/man7/RSA-PSS.html +++ b/linux_amd64/share/doc/openssl/html/man7/RSA-PSS.html @@ -90,7 +90,7 @@ present, restricts the key parameters in the same way as the public key.


          COPYRIGHT

          Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved.

          -

          Licensed under the Apache License 2.0 (the "License"). You may not use +

          Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

          diff --git a/linux_amd64/share/doc/openssl/html/man7/SM2.html b/linux_amd64/share/doc/openssl/html/man7/SM2.html index e95f7cb..890b1c6 100755 --- a/linux_amd64/share/doc/openssl/html/man7/SM2.html +++ b/linux_amd64/share/doc/openssl/html/man7/SM2.html @@ -50,18 +50,22 @@ to form the message prefix which is hashed before the real message is hashed.

          SM2 signatures can be generated by using the 'DigestSign' series of APIs, for instance, EVP_DigestSignInit(), EVP_DigestSignUpdate() and EVP_DigestSignFinal(). Ditto for the verification process by calling the 'DigestVerify' series of APIs.

          -

          Before computing an SM2 signature, an EVP_PKEY_CTX needs to be created, -and an SM2 ID must be set for it, like this:

          +

          There are several special steps that need to be done before computing an SM2 +signature.

          +

          The EVP_PKEY structure will default to using ECDSA for signatures when it is +created. It should be set to EVP_PKEY_SM2 by calling:

          +
          + EVP_PKEY_set_alias_type(pkey, EVP_PKEY_SM2);
          +

          Then an ID should be set by calling:

            EVP_PKEY_CTX_set1_id(pctx, id, id_len);
          -

          Before calling the EVP_DigestSignInit() or EVP_DigestVerifyInit() functions, -that EVP_PKEY_CTX should be assigned to the EVP_MD_CTX, like this:

          +

          When calling the EVP_DigestSignInit() or EVP_DigestVerifyInit() functions, a +pre-allocated EVP_PKEY_CTX should be assigned to the EVP_MD_CTX. This is +done by calling:

            EVP_MD_CTX_set_pkey_ctx(mctx, pctx);
          -

          There is normally no need to pass a pctx parameter to EVP_DigestSignInit() +

          And normally there is no need to pass a pctx parameter to EVP_DigestSignInit() or EVP_DigestVerifyInit() in such a scenario.

          -

          SM2 can be tested with the openssl-speed(1) application since version 3.0.0. -Currently, the only valid algorithm name is sm2.


          @@ -72,10 +76,11 @@ a message with the SM2 signature algorithm and the SM3 hash algorithm:

          #include <openssl/evp.h>
            /* obtain an EVP_PKEY using whatever methods... */
          + EVP_PKEY_set_alias_type(pkey, EVP_PKEY_SM2);
            mctx = EVP_MD_CTX_new();
            pctx = EVP_PKEY_CTX_new(pkey, NULL);
            EVP_PKEY_CTX_set1_id(pctx, id, id_len);
          - EVP_MD_CTX_set_pkey_ctx(mctx, pctx);
          + EVP_MD_CTX_set_pkey_ctx(mctx, pctx);;
            EVP_DigestVerifyInit(mctx, NULL, EVP_sm3(), NULL, pkey);
            EVP_DigestVerifyUpdate(mctx, msg, msg_len);
            EVP_DigestVerifyFinal(mctx, sig, sig_len)
          @@ -84,6 +89,7 @@ a message with the SM2 signature algorithm and the SM3 hash algorithm:


          SEE ALSO

          EVP_PKEY_CTX_new(3), +EVP_PKEY_set_alias_type(3), EVP_DigestSignInit(3), EVP_DigestVerifyInit(3), EVP_PKEY_CTX_set1_id(3), @@ -92,8 +98,8 @@ a message with the SM2 signature algorithm and the SM3 hash algorithm:


          COPYRIGHT

          -

          Copyright 2018 The OpenSSL Project Authors. All Rights Reserved.

          -

          Licensed under the Apache License 2.0 (the "License"). You may not use +

          Copyright 2018-2019 The OpenSSL Project Authors. All Rights Reserved.

          +

          Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

          diff --git a/linux_amd64/share/doc/openssl/html/man7/X25519.html b/linux_amd64/share/doc/openssl/html/man7/X25519.html index 1f3989b..8edc1f3 100755 --- a/linux_amd64/share/doc/openssl/html/man7/X25519.html +++ b/linux_amd64/share/doc/openssl/html/man7/X25519.html @@ -93,8 +93,8 @@ output in PEM format:


          COPYRIGHT

          -

          Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved.

          -

          Licensed under the Apache License 2.0 (the "License"). You may not use +

          Copyright 2017-2019 The OpenSSL Project Authors. All Rights Reserved.

          +

          Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

          diff --git a/linux_amd64/share/doc/openssl/html/man7/X448.html b/linux_amd64/share/doc/openssl/html/man7/X448.html new file mode 120000 index 0000000..d33b405 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man7/X448.html @@ -0,0 +1 @@ +X25519.html \ No newline at end of file diff --git a/linux_amd64/share/doc/openssl/html/man7/bio.html b/linux_amd64/share/doc/openssl/html/man7/bio.html index af078f5..2631e4d 100755 --- a/linux_amd64/share/doc/openssl/html/man7/bio.html +++ b/linux_amd64/share/doc/openssl/html/man7/bio.html @@ -69,10 +69,10 @@ and frequently a utility function exists to create and initialize such BIOs.

          in a memory leak.

          Calling BIO_free_all() on a single BIO has the same effect as calling BIO_free() on it other than the discarded return value.

          -

          Normally the type argument is supplied by a function which returns a +

          Normally the type argument is supplied by a function which returns a pointer to a BIO_METHOD. There is a naming convention for such functions: -a source/sink BIO typically starts with BIO_s_ and -a filter BIO with BIO_f_.

          +a source/sink BIO is normally called BIO_s_*() and a filter BIO +BIO_f_*();


          @@ -101,8 +101,8 @@ a filter BIO with BIO_f_.


          COPYRIGHT

          -

          Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved.

          -

          Licensed under the Apache License 2.0 (the "License"). You may not use +

          Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.

          +

          Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

          diff --git a/linux_amd64/share/doc/openssl/html/man7/crypto.html b/linux_amd64/share/doc/openssl/html/man7/crypto.html index 5f2b748..697a6e0 100755 --- a/linux_amd64/share/doc/openssl/html/man7/crypto.html +++ b/linux_amd64/share/doc/openssl/html/man7/crypto.html @@ -43,12 +43,12 @@


          DESCRIPTION

          -

          The OpenSSL crypto library (libcrypto) implements a wide range of -cryptographic algorithms used in various Internet standards. The services -provided by this library are used by the OpenSSL implementations of SSL, TLS +

          The OpenSSL crypto library implements a wide range of cryptographic +algorithms used in various Internet standards. The services provided +by this library are used by the OpenSSL implementations of SSL, TLS and S/MIME, and they have also been used to implement SSH, OpenPGP, and other cryptographic standards.

          -

          libcrypto consists of a number of sub-libraries that implement the +

          libcrypto consists of a number of sub-libraries that implement the individual algorithms.

          The functionality includes symmetric encryption, public key cryptography and key agreement, certificate handling, cryptographic @@ -65,10 +65,10 @@ various utilities.

          int X509_add1_trust_object(X509 *x, const ASN1_OBJECT *obj);

          The 0 version uses the supplied structure pointer directly in the parent and it will be freed up when the parent is freed. -In the above example crl would be freed but rev would not.

          +In the above example crl would be freed but rev would not.

          The 1 function uses a copy of the supplied structure pointer (or in some cases increases its link count) in the parent and -so both (x and obj above) should be freed up.

          +so both (x and obj above) should be freed up.


          @@ -84,7 +84,7 @@ so both (x and obj above) should be freed up.


          COPYRIGHT

          Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.

          -

          Licensed under the Apache License 2.0 (the "License"). You may not use +

          Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

          diff --git a/linux_amd64/share/doc/openssl/html/man7/ct.html b/linux_amd64/share/doc/openssl/html/man7/ct.html index cba29a4..cfee696 100755 --- a/linux_amd64/share/doc/openssl/html/man7/ct.html +++ b/linux_amd64/share/doc/openssl/html/man7/ct.html @@ -78,7 +78,7 @@ functions for:

          COPYRIGHT

          Copyright 2016-2017 The OpenSSL Project Authors. All Rights Reserved.

          -

          Licensed under the Apache License 2.0 (the "License"). You may not use +

          Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

          diff --git a/linux_amd64/share/doc/openssl/html/man7/des_modes.html b/linux_amd64/share/doc/openssl/html/man7/des_modes.html index b095db4..2d3012e 100755 --- a/linux_amd64/share/doc/openssl/html/man7/des_modes.html +++ b/linux_amd64/share/doc/openssl/html/man7/des_modes.html @@ -250,7 +250,7 @@ it to:


          COPYRIGHT

          Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved.

          -

          Licensed under the Apache License 2.0 (the "License"). You may not use +

          Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

          diff --git a/linux_amd64/share/doc/openssl/html/man7/evp.html b/linux_amd64/share/doc/openssl/html/man7/evp.html index 9959345..e8a4a80 100755 --- a/linux_amd64/share/doc/openssl/html/man7/evp.html +++ b/linux_amd64/share/doc/openssl/html/man7/evp.html @@ -128,7 +128,7 @@ using the high level interface.


          COPYRIGHT

          Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

          -

          Licensed under the Apache License 2.0 (the "License"). You may not use +

          Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

          diff --git a/linux_amd64/share/doc/openssl/html/man7/ossl_store-file.html b/linux_amd64/share/doc/openssl/html/man7/ossl_store-file.html index 06e918b..3945ed2 100755 --- a/linux_amd64/share/doc/openssl/html/man7/ossl_store-file.html +++ b/linux_amd64/share/doc/openssl/html/man7/ossl_store-file.html @@ -66,7 +66,7 @@ only).


          NOTES

          When needed, the 'file' scheme loader will require a pass phrase by -using the UI_METHOD that was passed via OSSL_STORE_open(). +using the UI_METHOD that was passed via OSSL_STORE_open(). This pass phrase is expected to be UTF-8 encoded, anything else will give an undefined result. The files made accessible through this loader are expected to be @@ -84,7 +84,7 @@ See passphrase-encoding(7) for more information.


          COPYRIGHT

          Copyright 2018 The OpenSSL Project Authors. All Rights Reserved.

          -

          Licensed under the Apache License 2.0 (the "License"). You may not use +

          Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

          diff --git a/linux_amd64/share/doc/openssl/html/man7/ossl_store.html b/linux_amd64/share/doc/openssl/html/man7/ossl_store.html index 3b29523..ce521d9 100755 --- a/linux_amd64/share/doc/openssl/html/man7/ossl_store.html +++ b/linux_amd64/share/doc/openssl/html/man7/ossl_store.html @@ -58,7 +58,7 @@

          General

          A STORE is a layer of functionality to retrieve a number of supported -objects from a repository of any kind, addressable as a filename or +objects from a repository of any kind, addressable as a file name or as a URI.

          The functionality supports the pattern "open a channel to the repository", "loop and retrieve one object at a time", and "finish up @@ -123,7 +123,7 @@ other encoding is undefined.


          COPYRIGHT

          Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.

          -

          Licensed under the Apache License 2.0 (the "License"). You may not use +

          Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

          diff --git a/linux_amd64/share/doc/openssl/html/man7/passphrase-encoding.html b/linux_amd64/share/doc/openssl/html/man7/passphrase-encoding.html index b5d4a4b..4767c47 100755 --- a/linux_amd64/share/doc/openssl/html/man7/passphrase-encoding.html +++ b/linux_amd64/share/doc/openssl/html/man7/passphrase-encoding.html @@ -147,7 +147,7 @@ encoded using UTF-8. This is default on most modern Unixes, but may involve an effort on other platforms. Specifically for Windows, setting the environment variable -OPENSSL_WIN32_UTF8 will have anything entered on [Windows] console prompt +OPENSSL_WIN32_UTF8 will have anything entered on [Windows] console prompt converted to UTF-8 (command line and separately prompted pass phrases alike).

          @@ -197,7 +197,7 @@ erroneous/non-compliant encoding used by OpenSSL older than 1.1.0)


          COPYRIGHT

          Copyright 2018 The OpenSSL Project Authors. All Rights Reserved.

          -

          Licensed under the Apache License 2.0 (the "License"). You may not use +

          Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

          diff --git a/linux_amd64/share/doc/openssl/html/man7/scrypt.html b/linux_amd64/share/doc/openssl/html/man7/scrypt.html new file mode 100644 index 0000000..29bf039 --- /dev/null +++ b/linux_amd64/share/doc/openssl/html/man7/scrypt.html @@ -0,0 +1,150 @@ + + + + +scrypt + + + + + + + + + + + +

          +

          +
          +

          NAME

          +

          scrypt - EVP_PKEY scrypt KDF support

          +

          +

          +
          +

          DESCRIPTION

          +

          The EVP_PKEY_SCRYPT algorithm implements the scrypt password based key +derivation function, as described in RFC 7914. It is memory-hard in the sense +that it deliberately requires a significant amount of RAM for efficient +computation. The intention of this is to render brute forcing of passwords on +systems that lack large amounts of main memory (such as GPUs or ASICs) +computationally infeasible.

          +

          scrypt provides three work factors that can be customized: N, r and p. N, which +has to be a positive power of two, is the general work factor and scales CPU +time in an approximately linear fashion. r is the block size of the internally +used hash function and p is the parallelization factor. Both r and p need to be +greater than zero. The amount of RAM that scrypt requires for its computation +is roughly (128 * N * r * p) bytes.

          +

          In the original paper of Colin Percival ("Stronger Key Derivation via +Sequential Memory-Hard Functions", 2009), the suggested values that give a +computation time of less than 5 seconds on a 2.5 GHz Intel Core 2 Duo are N = +2^20 = 1048576, r = 8, p = 1. Consequently, the required amount of memory for +this computation is roughly 1 GiB. On a more recent CPU (Intel i7-5930K at 3.5 +GHz), this computation takes about 3 seconds. When N, r or p are not specified, +they default to 1048576, 8, and 1, respectively. The default amount of RAM that +may be used by scrypt defaults to 1025 MiB.

          +

          +

          +
          +

          NOTES

          +

          A context for scrypt can be obtained by calling:

          +
          + EVP_PKEY_CTX *pctx = EVP_PKEY_CTX_new_id(EVP_PKEY_SCRYPT, NULL);
          +

          The output length of an scrypt key derivation is specified via the +length parameter to the EVP_PKEY_derive(3) function.

          +

          +

          +
          +

          EXAMPLES

          +

          This example derives a 64-byte long test vector using scrypt using the password +"password", salt "NaCl" and N = 1024, r = 8, p = 16.

          +
          + EVP_PKEY_CTX *pctx;
          + unsigned char out[64];
          +
          + size_t outlen = sizeof(out);
          + pctx = EVP_PKEY_CTX_new_id(EVP_PKEY_SCRYPT, NULL);
          +
          + if (EVP_PKEY_derive_init(pctx) <= 0) {
          +     error("EVP_PKEY_derive_init");
          + }
          + if (EVP_PKEY_CTX_set1_pbe_pass(pctx, "password", 8) <= 0) {
          +     error("EVP_PKEY_CTX_set1_pbe_pass");
          + }
          + if (EVP_PKEY_CTX_set1_scrypt_salt(pctx, "NaCl", 4) <= 0) {
          +     error("EVP_PKEY_CTX_set1_scrypt_salt");
          + }
          + if (EVP_PKEY_CTX_set_scrypt_N(pctx, 1024) <= 0) {
          +     error("EVP_PKEY_CTX_set_scrypt_N");
          + }
          + if (EVP_PKEY_CTX_set_scrypt_r(pctx, 8) <= 0) {
          +     error("EVP_PKEY_CTX_set_scrypt_r");
          + }
          + if (EVP_PKEY_CTX_set_scrypt_p(pctx, 16) <= 0) {
          +     error("EVP_PKEY_CTX_set_scrypt_p");
          + }
          + if (EVP_PKEY_derive(pctx, out, &outlen) <= 0) {
          +     error("EVP_PKEY_derive");
          + }
          +
          + {
          +     const unsigned char expected[sizeof(out)] = {
          +         0xfd, 0xba, 0xbe, 0x1c, 0x9d, 0x34, 0x72, 0x00,
          +         0x78, 0x56, 0xe7, 0x19, 0x0d, 0x01, 0xe9, 0xfe,
          +         0x7c, 0x6a, 0xd7, 0xcb, 0xc8, 0x23, 0x78, 0x30,
          +         0xe7, 0x73, 0x76, 0x63, 0x4b, 0x37, 0x31, 0x62,
          +         0x2e, 0xaf, 0x30, 0xd9, 0x2e, 0x22, 0xa3, 0x88,
          +         0x6f, 0xf1, 0x09, 0x27, 0x9d, 0x98, 0x30, 0xda,
          +         0xc7, 0x27, 0xaf, 0xb9, 0x4a, 0x83, 0xee, 0x6d,
          +         0x83, 0x60, 0xcb, 0xdf, 0xa2, 0xcc, 0x06, 0x40
          +     };
          +
          +     assert(!memcmp(out, expected, sizeof(out)));
          + }
          +
          + EVP_PKEY_CTX_free(pctx);
          +

          +

          +
          +

          CONFORMING TO

          +

          RFC 7914

          +

          +

          +
          +

          SEE ALSO

          +

          EVP_PKEY_CTX_set1_scrypt_salt(3), +EVP_PKEY_CTX_set_scrypt_N(3), +EVP_PKEY_CTX_set_scrypt_r(3), +EVP_PKEY_CTX_set_scrypt_p(3), +EVP_PKEY_CTX_set_scrypt_maxmem_bytes(3), +EVP_PKEY_CTX_new(3), +EVP_PKEY_CTX_ctrl_str(3), +EVP_PKEY_derive(3)

          +

          +

          +
          +

          COPYRIGHT

          +

          Copyright 2017-2019 The OpenSSL Project Authors. All Rights Reserved.

          +

          Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html.

          + + + + diff --git a/linux_amd64/share/doc/openssl/html/man7/ssl.html b/linux_amd64/share/doc/openssl/html/man7/ssl.html index fa37a3a..386e4aa 100755 --- a/linux_amd64/share/doc/openssl/html/man7/ssl.html +++ b/linux_amd64/share/doc/openssl/html/man7/ssl.html @@ -21,6 +21,19 @@
        • DESCRIPTION
        • DATA STRUCTURES
        • HEADER FILES
        • +
        • API FUNCTIONS
        • + + +
        • RETURN VALUES
        • +
        • SEE ALSO
        • +
        • HISTORY
        • COPYRIGHT
        @@ -42,32 +55,31 @@


        DESCRIPTION

        -

        The OpenSSL ssl library implements several versions of the -Secure Sockets Layer, Transport Layer Security, and Datagram Transport Layer -Security protocols. -This page gives a brief overview of the extensive API and data types -provided by the library.

        +

        The OpenSSL ssl library implements the Secure Sockets Layer (SSL v2/v3) and +Transport Layer Security (TLS v1) protocols. It provides a rich API which is +documented here.

        An SSL_CTX object is created as a framework to establish -TLS/SSL enabled connections (see SSL_CTX_new(3)). +TLS/SSL enabled connections (see SSL_CTX_new(3)). Various options regarding certificates, algorithms etc. can be set in this object.

        When a network connection has been created, it can be assigned to an SSL object. After the SSL object has been created using -SSL_new(3), SSL_set_fd(3) or -SSL_set_bio(3) can be used to associate the network +SSL_new(3), SSL_set_fd(3) or +SSL_set_bio(3) can be used to associate the network connection with the object.

        When the TLS/SSL handshake is performed using -SSL_accept(3) or SSL_connect(3) +SSL_accept(3) or SSL_connect(3) respectively. -SSL_read_ex(3), SSL_read(3), SSL_write_ex(3) and SSL_write(3) are +SSL_read_ex(3), SSL_read(3), SSL_write_ex(3) and SSL_write(3) are used to read and write data on the TLS/SSL connection. -SSL_shutdown(3) can be used to shut down the +SSL_shutdown(3) can be used to shut down the TLS/SSL connection.


        DATA STRUCTURES

        -

        Here are some of the main data structures in the library.

        +

        Currently the OpenSSL ssl library functions deals with the following data +structures:

        SSL_METHOD (SSL Method)
        @@ -113,38 +125,781 @@ links to mostly all other structures.

        Currently the OpenSSL ssl library provides the following C header files containing the prototypes for the data structures and functions:

        -
        <openssl/ssl.h >>
        +
        ssl.h

        This is the common header file for the SSL/TLS API. Include it into your program to make the API of the ssl library available. It internally includes both more private SSL headers and headers from the crypto library. Whenever you need hard-core details on the internals of the SSL API, look -inside this header file. -This file also includes the others listed below.

        +inside this header file.

        -
        <openssl/ssl2.h >>
        +
        ssl2.h

        Unused. Present for backwards compatibility only.

        -
        <openssl/ssl3.h >>
        +
        ssl3.h
        -

        This is the sub header file dealing with the SSLv3 protocol only.

        +

        This is the sub header file dealing with the SSLv3 protocol only. +Usually you don't have to include it explicitly because +it's already included by ssl.h.

        -
        <openssl/tls1.h >>
        +
        tls1.h
        -

        This is the sub header file dealing with the TLSv1 protocol only.

        +

        This is the sub header file dealing with the TLSv1 protocol only. +Usually you don't have to include it explicitly because +it's already included by ssl.h.


        +

        API FUNCTIONS

        +

        Currently the OpenSSL ssl library exports 214 API functions. +They are documented in the following:

        +

        +

        +

        Dealing with Protocol Methods

        +

        Here we document the various API functions which deal with the SSL/TLS +protocol methods defined in SSL_METHOD structures.

        +
        +
        const SSL_METHOD *TLS_method(void);
        + +
        +

        Constructor for the version-flexible SSL_METHOD structure for clients, +servers or both. +See SSL_CTX_new(3) for details.

        +
        +
        const SSL_METHOD *TLS_client_method(void);
        + +
        +

        Constructor for the version-flexible SSL_METHOD structure for clients. +Must be used to support the TLSv1.3 protocol.

        +
        +
        const SSL_METHOD *TLS_server_method(void);
        + +
        +

        Constructor for the version-flexible SSL_METHOD structure for servers. +Must be used to support the TLSv1.3 protocol.

        +
        +
        const SSL_METHOD *TLSv1_2_method(void);
        + +
        +

        Constructor for the TLSv1.2 SSL_METHOD structure for clients, servers or both.

        +
        +
        const SSL_METHOD *TLSv1_2_client_method(void);
        + +
        +

        Constructor for the TLSv1.2 SSL_METHOD structure for clients.

        +
        +
        const SSL_METHOD *TLSv1_2_server_method(void);
        + +
        +

        Constructor for the TLSv1.2 SSL_METHOD structure for servers.

        +
        +
        const SSL_METHOD *TLSv1_1_method(void);
        + +
        +

        Constructor for the TLSv1.1 SSL_METHOD structure for clients, servers or both.

        +
        +
        const SSL_METHOD *TLSv1_1_client_method(void);
        + +
        +

        Constructor for the TLSv1.1 SSL_METHOD structure for clients.

        +
        +
        const SSL_METHOD *TLSv1_1_server_method(void);
        + +
        +

        Constructor for the TLSv1.1 SSL_METHOD structure for servers.

        +
        +
        const SSL_METHOD *TLSv1_method(void);
        + +
        +

        Constructor for the TLSv1 SSL_METHOD structure for clients, servers or both.

        +
        +
        const SSL_METHOD *TLSv1_client_method(void);
        + +
        +

        Constructor for the TLSv1 SSL_METHOD structure for clients.

        +
        +
        const SSL_METHOD *TLSv1_server_method(void);
        + +
        +

        Constructor for the TLSv1 SSL_METHOD structure for servers.

        +
        +
        const SSL_METHOD *SSLv3_method(void);
        + +
        +

        Constructor for the SSLv3 SSL_METHOD structure for clients, servers or both.

        +
        +
        const SSL_METHOD *SSLv3_client_method(void);
        + +
        +

        Constructor for the SSLv3 SSL_METHOD structure for clients.

        +
        +
        const SSL_METHOD *SSLv3_server_method(void);
        + +
        +

        Constructor for the SSLv3 SSL_METHOD structure for servers.

        +
        +
        +

        +

        +

        Dealing with Ciphers

        +

        Here we document the various API functions which deal with the SSL/TLS +ciphers defined in SSL_CIPHER structures.

        +
        +
        char *SSL_CIPHER_description(SSL_CIPHER *cipher, char *buf, int len);
        + +
        +

        Write a string to buf (with a maximum size of len) containing a human +readable description of cipher. Returns buf.

        +
        +
        int SSL_CIPHER_get_bits(SSL_CIPHER *cipher, int *alg_bits);
        + +
        +

        Determine the number of bits in cipher. Because of export crippled ciphers +there are two bits: The bits the algorithm supports in general (stored to +alg_bits) and the bits which are actually used (the return value).

        +
        +
        const char *SSL_CIPHER_get_name(SSL_CIPHER *cipher);
        + +
        +

        Return the internal name of cipher as a string. These are the various +strings defined by the SSL3_TXT_xxx and TLS1_TXT_xxx +definitions in the header files.

        +
        +
        const char *SSL_CIPHER_get_version(SSL_CIPHER *cipher);
        + +
        +

        Returns a string like "SSLv3" or "TLSv1.2" which indicates the +SSL/TLS protocol version to which cipher belongs (i.e. where it was defined +in the specification the first time).

        +
        +
        +

        +

        +

        Dealing with Protocol Contexts

        +

        Here we document the various API functions which deal with the SSL/TLS +protocol context defined in the SSL_CTX structure.

        +
        +
        int SSL_CTX_add_client_CA(SSL_CTX *ctx, X509 *x);
        + +
        long SSL_CTX_add_extra_chain_cert(SSL_CTX *ctx, X509 *x509);
        + +
        int SSL_CTX_add_session(SSL_CTX *ctx, SSL_SESSION *c);
        + +
        int SSL_CTX_check_private_key(const SSL_CTX *ctx);
        + +
        long SSL_CTX_ctrl(SSL_CTX *ctx, int cmd, long larg, char *parg);
        + +
        void SSL_CTX_flush_sessions(SSL_CTX *s, long t);
        + +
        void SSL_CTX_free(SSL_CTX *a);
        + +
        char *SSL_CTX_get_app_data(SSL_CTX *ctx);
        + +
        X509_STORE *SSL_CTX_get_cert_store(SSL_CTX *ctx);
        + +
        STACK *SSL_CTX_get_ciphers(const SSL_CTX *ctx);
        + +
        STACK *SSL_CTX_get_client_CA_list(const SSL_CTX *ctx);
        + +
        int (*SSL_CTX_get_client_cert_cb(SSL_CTX *ctx))(SSL *ssl, X509 **x509, EVP_PKEY **pkey);
        + +
        void SSL_CTX_get_default_read_ahead(SSL_CTX *ctx);
        + +
        char *SSL_CTX_get_ex_data(const SSL_CTX *s, int idx);
        + +
        int SSL_CTX_get_ex_new_index(long argl, char *argp, int (*new_func);(void), int (*dup_func)(void), void (*free_func)(void))
        + +
        void (*SSL_CTX_get_info_callback(SSL_CTX *ctx))(SSL *ssl, int cb, int ret);
        + +
        int SSL_CTX_get_quiet_shutdown(const SSL_CTX *ctx);
        + +
        void SSL_CTX_get_read_ahead(SSL_CTX *ctx);
        + +
        int SSL_CTX_get_session_cache_mode(SSL_CTX *ctx);
        + +
        long SSL_CTX_get_timeout(const SSL_CTX *ctx);
        + +
        int (*SSL_CTX_get_verify_callback(const SSL_CTX *ctx))(int ok, X509_STORE_CTX *ctx);
        + +
        int SSL_CTX_get_verify_mode(SSL_CTX *ctx);
        + +
        int SSL_CTX_load_verify_locations(SSL_CTX *ctx, const char *CAfile, const char *CApath);
        + +
        SSL_CTX *SSL_CTX_new(const SSL_METHOD *meth);
        + +
        int SSL_CTX_up_ref(SSL_CTX *ctx);
        + +
        int SSL_CTX_remove_session(SSL_CTX *ctx, SSL_SESSION *c);
        + +
        int SSL_CTX_sess_accept(SSL_CTX *ctx);
        + +
        int SSL_CTX_sess_accept_good(SSL_CTX *ctx);
        + +
        int SSL_CTX_sess_accept_renegotiate(SSL_CTX *ctx);
        + +
        int SSL_CTX_sess_cache_full(SSL_CTX *ctx);
        + +
        int SSL_CTX_sess_cb_hits(SSL_CTX *ctx);
        + +
        int SSL_CTX_sess_connect(SSL_CTX *ctx);
        + +
        int SSL_CTX_sess_connect_good(SSL_CTX *ctx);
        + +
        int SSL_CTX_sess_connect_renegotiate(SSL_CTX *ctx);
        + +
        int SSL_CTX_sess_get_cache_size(SSL_CTX *ctx);
        + +
        SSL_SESSION *(*SSL_CTX_sess_get_get_cb(SSL_CTX *ctx))(SSL *ssl, unsigned char *data, int len, int *copy);
        + +
        int (*SSL_CTX_sess_get_new_cb(SSL_CTX *ctx)(SSL *ssl, SSL_SESSION *sess);
        + +
        void (*SSL_CTX_sess_get_remove_cb(SSL_CTX *ctx)(SSL_CTX *ctx, SSL_SESSION *sess);
        + +
        int SSL_CTX_sess_hits(SSL_CTX *ctx);
        + +
        int SSL_CTX_sess_misses(SSL_CTX *ctx);
        + +
        int SSL_CTX_sess_number(SSL_CTX *ctx);
        + +
        void SSL_CTX_sess_set_cache_size(SSL_CTX *ctx, t);
        + +
        void SSL_CTX_sess_set_get_cb(SSL_CTX *ctx, SSL_SESSION *(*cb)(SSL *ssl, unsigned char *data, int len, int *copy));
        + +
        void SSL_CTX_sess_set_new_cb(SSL_CTX *ctx, int (*cb)(SSL *ssl, SSL_SESSION *sess));
        + +
        void SSL_CTX_sess_set_remove_cb(SSL_CTX *ctx, void (*cb)(SSL_CTX *ctx, SSL_SESSION *sess));
        + +
        int SSL_CTX_sess_timeouts(SSL_CTX *ctx);
        + +
        LHASH *SSL_CTX_sessions(SSL_CTX *ctx);
        + +
        int SSL_CTX_set_app_data(SSL_CTX *ctx, void *arg);
        + +
        void SSL_CTX_set_cert_store(SSL_CTX *ctx, X509_STORE *cs);
        + +
        void SSL_CTX_set1_cert_store(SSL_CTX *ctx, X509_STORE *cs);
        + +
        void SSL_CTX_set_cert_verify_cb(SSL_CTX *ctx, int (*cb)(), char *arg)
        + +
        int SSL_CTX_set_cipher_list(SSL_CTX *ctx, char *str);
        + +
        void SSL_CTX_set_client_CA_list(SSL_CTX *ctx, STACK *list);
        + +
        void SSL_CTX_set_client_cert_cb(SSL_CTX *ctx, int (*cb)(SSL *ssl, X509 **x509, EVP_PKEY **pkey));
        + +
        int SSL_CTX_set_ct_validation_callback(SSL_CTX *ctx, ssl_ct_validation_cb callback, void *arg);
        + +
        void SSL_CTX_set_default_passwd_cb(SSL_CTX *ctx, int (*cb);(void))
        + +
        void SSL_CTX_set_default_read_ahead(SSL_CTX *ctx, int m);
        + +
        int SSL_CTX_set_default_verify_paths(SSL_CTX *ctx);
        + +
        +

        Use the default paths to locate trusted CA certificates. There is one default +directory path and one default file path. Both are set via this call.

        +
        +
        int SSL_CTX_set_default_verify_dir(SSL_CTX *ctx)
        + +
        +

        Use the default directory path to locate trusted CA certificates.

        +
        +
        int SSL_CTX_set_default_verify_file(SSL_CTX *ctx)
        + +
        +

        Use the file path to locate trusted CA certificates.

        +
        +
        int SSL_CTX_set_ex_data(SSL_CTX *s, int idx, char *arg);
        + +
        void SSL_CTX_set_info_callback(SSL_CTX *ctx, void (*cb)(SSL *ssl, int cb, int ret));
        + +
        void SSL_CTX_set_msg_callback(SSL_CTX *ctx, void (*cb)(int write_p, int version, int content_type, const void *buf, size_t len, SSL *ssl, void *arg));
        + +
        void SSL_CTX_set_msg_callback_arg(SSL_CTX *ctx, void *arg);
        + +
        unsigned long SSL_CTX_clear_options(SSL_CTX *ctx, unsigned long op);
        + +
        unsigned long SSL_CTX_get_options(SSL_CTX *ctx);
        + +
        unsigned long SSL_CTX_set_options(SSL_CTX *ctx, unsigned long op);
        + +
        void SSL_CTX_set_quiet_shutdown(SSL_CTX *ctx, int mode);
        + +
        void SSL_CTX_set_read_ahead(SSL_CTX *ctx, int m);
        + +
        void SSL_CTX_set_session_cache_mode(SSL_CTX *ctx, int mode);
        + +
        int SSL_CTX_set_ssl_version(SSL_CTX *ctx, const SSL_METHOD *meth);
        + +
        void SSL_CTX_set_timeout(SSL_CTX *ctx, long t);
        + +
        long SSL_CTX_set_tmp_dh(SSL_CTX* ctx, DH *dh);
        + +
        long SSL_CTX_set_tmp_dh_callback(SSL_CTX *ctx, DH *(*cb)(void));
        + +
        void SSL_CTX_set_verify(SSL_CTX *ctx, int mode, int (*cb);(void))
        + +
        int SSL_CTX_use_PrivateKey(SSL_CTX *ctx, EVP_PKEY *pkey);
        + +
        int SSL_CTX_use_PrivateKey_ASN1(int type, SSL_CTX *ctx, unsigned char *d, long len);
        + +
        int SSL_CTX_use_PrivateKey_file(SSL_CTX *ctx, const char *file, int type);
        + +
        int SSL_CTX_use_RSAPrivateKey(SSL_CTX *ctx, RSA *rsa);
        + +
        int SSL_CTX_use_RSAPrivateKey_ASN1(SSL_CTX *ctx, unsigned char *d, long len);
        + +
        int SSL_CTX_use_RSAPrivateKey_file(SSL_CTX *ctx, const char *file, int type);
        + +
        int SSL_CTX_use_certificate(SSL_CTX *ctx, X509 *x);
        + +
        int SSL_CTX_use_certificate_ASN1(SSL_CTX *ctx, int len, unsigned char *d);
        + +
        int SSL_CTX_use_certificate_file(SSL_CTX *ctx, const char *file, int type);
        + +
        int SSL_CTX_use_cert_and_key(SSL_CTX *ctx, X509 *x, EVP_PKEY *pkey, STACK_OF(X509) *chain, int override);
        + +
        X509 *SSL_CTX_get0_certificate(const SSL_CTX *ctx);
        + +
        EVP_PKEY *SSL_CTX_get0_privatekey(const SSL_CTX *ctx);
        + +
        void SSL_CTX_set_psk_client_callback(SSL_CTX *ctx, unsigned int (*callback)(SSL *ssl, const char *hint, char *identity, unsigned int max_identity_len, unsigned char *psk, unsigned int max_psk_len));
        + +
        int SSL_CTX_use_psk_identity_hint(SSL_CTX *ctx, const char *hint);
        + +
        void SSL_CTX_set_psk_server_callback(SSL_CTX *ctx, unsigned int (*callback)(SSL *ssl, const char *identity, unsigned char *psk, int max_psk_len));
        + +
        +

        +

        +

        Dealing with Sessions

        +

        Here we document the various API functions which deal with the SSL/TLS +sessions defined in the SSL_SESSION structures.

        +
        +
        int SSL_SESSION_cmp(const SSL_SESSION *a, const SSL_SESSION *b);
        + +
        void SSL_SESSION_free(SSL_SESSION *ss);
        + +
        char *SSL_SESSION_get_app_data(SSL_SESSION *s);
        + +
        char *SSL_SESSION_get_ex_data(const SSL_SESSION *s, int idx);
        + +
        int SSL_SESSION_get_ex_new_index(long argl, char *argp, int (*new_func);(void), int (*dup_func)(void), void (*free_func)(void))
        + +
        long SSL_SESSION_get_time(const SSL_SESSION *s);
        + +
        long SSL_SESSION_get_timeout(const SSL_SESSION *s);
        + +
        unsigned long SSL_SESSION_hash(const SSL_SESSION *a);
        + +
        SSL_SESSION *SSL_SESSION_new(void);
        + +
        int SSL_SESSION_print(BIO *bp, const SSL_SESSION *x);
        + +
        int SSL_SESSION_print_fp(FILE *fp, const SSL_SESSION *x);
        + +
        int SSL_SESSION_set_app_data(SSL_SESSION *s, char *a);
        + +
        int SSL_SESSION_set_ex_data(SSL_SESSION *s, int idx, char *arg);
        + +
        long SSL_SESSION_set_time(SSL_SESSION *s, long t);
        + +
        long SSL_SESSION_set_timeout(SSL_SESSION *s, long t);
        + +
        +

        +

        +

        Dealing with Connections

        +

        Here we document the various API functions which deal with the SSL/TLS +connection defined in the SSL structure.

        +
        +
        int SSL_accept(SSL *ssl);
        + +
        int SSL_add_dir_cert_subjects_to_stack(STACK *stack, const char *dir);
        + +
        int SSL_add_file_cert_subjects_to_stack(STACK *stack, const char *file);
        + +
        int SSL_add_client_CA(SSL *ssl, X509 *x);
        + +
        char *SSL_alert_desc_string(int value);
        + +
        char *SSL_alert_desc_string_long(int value);
        + +
        char *SSL_alert_type_string(int value);
        + +
        char *SSL_alert_type_string_long(int value);
        + +
        int SSL_check_private_key(const SSL *ssl);
        + +
        void SSL_clear(SSL *ssl);
        + +
        long SSL_clear_num_renegotiations(SSL *ssl);
        + +
        int SSL_connect(SSL *ssl);
        + +
        int SSL_copy_session_id(SSL *t, const SSL *f);
        + +
        +

        Sets the session details for t to be the same as in f. Returns 1 on +success or 0 on failure.

        +
        +
        long SSL_ctrl(SSL *ssl, int cmd, long larg, char *parg);
        + +
        int SSL_do_handshake(SSL *ssl);
        + +
        SSL *SSL_dup(SSL *ssl);
        + +
        +

        SSL_dup() allows applications to configure an SSL handle for use +in multiple SSL connections, and then duplicate it prior to initiating +each connection with the duplicated handle. +Use of SSL_dup() avoids the need to repeat the configuration of the +handles for each connection.

        +

        For SSL_dup() to work, the connection MUST be in its initial state +and MUST NOT have not yet have started the SSL handshake. +For connections that are not in their initial state SSL_dup() just +increments an internal reference count and returns the same +handle. +It may be possible to use SSL_clear(3) to recycle an SSL handle +that is not in its initial state for re-use, but this is best +avoided. +Instead, save and restore the session, if desired, and construct a +fresh handle for each connection.

        +
        +
        STACK *SSL_dup_CA_list(STACK *sk);
        + +
        void SSL_free(SSL *ssl);
        + +
        SSL_CTX *SSL_get_SSL_CTX(const SSL *ssl);
        + +
        char *SSL_get_app_data(SSL *ssl);
        + +
        X509 *SSL_get_certificate(const SSL *ssl);
        + +
        const char *SSL_get_cipher(const SSL *ssl);
        + +
        int SSL_is_dtls(const SSL *ssl);
        + +
        int SSL_get_cipher_bits(const SSL *ssl, int *alg_bits);
        + +
        char *SSL_get_cipher_list(const SSL *ssl, int n);
        + +
        char *SSL_get_cipher_name(const SSL *ssl);
        + +
        char *SSL_get_cipher_version(const SSL *ssl);
        + +
        STACK *SSL_get_ciphers(const SSL *ssl);
        + +
        STACK *SSL_get_client_CA_list(const SSL *ssl);
        + +
        SSL_CIPHER *SSL_get_current_cipher(SSL *ssl);
        + +
        long SSL_get_default_timeout(const SSL *ssl);
        + +
        int SSL_get_error(const SSL *ssl, int i);
        + +
        char *SSL_get_ex_data(const SSL *ssl, int idx);
        + +
        int SSL_get_ex_data_X509_STORE_CTX_idx(void);
        + +
        int SSL_get_ex_new_index(long argl, char *argp, int (*new_func);(void), int (*dup_func)(void), void (*free_func)(void))
        + +
        int SSL_get_fd(const SSL *ssl);
        + +
        void (*SSL_get_info_callback(const SSL *ssl);)()
        + +
        int SSL_get_key_update_type(SSL *s);
        + +
        STACK *SSL_get_peer_cert_chain(const SSL *ssl);
        + +
        X509 *SSL_get_peer_certificate(const SSL *ssl);
        + +
        const STACK_OF(SCT) *SSL_get0_peer_scts(SSL *s);
        + +
        EVP_PKEY *SSL_get_privatekey(const SSL *ssl);
        + +
        int SSL_get_quiet_shutdown(const SSL *ssl);
        + +
        BIO *SSL_get_rbio(const SSL *ssl);
        + +
        int SSL_get_read_ahead(const SSL *ssl);
        + +
        SSL_SESSION *SSL_get_session(const SSL *ssl);
        + +
        char *SSL_get_shared_ciphers(const SSL *ssl, char *buf, int size);
        + +
        int SSL_get_shutdown(const SSL *ssl);
        + +
        const SSL_METHOD *SSL_get_ssl_method(SSL *ssl);
        + +
        int SSL_get_state(const SSL *ssl);
        + +
        long SSL_get_time(const SSL *ssl);
        + +
        long SSL_get_timeout(const SSL *ssl);
        + +
        int (*SSL_get_verify_callback(const SSL *ssl))(int, X509_STORE_CTX *)
        + +
        int SSL_get_verify_mode(const SSL *ssl);
        + +
        long SSL_get_verify_result(const SSL *ssl);
        + +
        char *SSL_get_version(const SSL *ssl);
        + +
        BIO *SSL_get_wbio(const SSL *ssl);
        + +
        int SSL_in_accept_init(SSL *ssl);
        + +
        int SSL_in_before(SSL *ssl);
        + +
        int SSL_in_connect_init(SSL *ssl);
        + +
        int SSL_in_init(SSL *ssl);
        + +
        int SSL_is_init_finished(SSL *ssl);
        + +
        int SSL_key_update(SSL *s, int updatetype);
        + +
        STACK *SSL_load_client_CA_file(const char *file);
        + +
        SSL *SSL_new(SSL_CTX *ctx);
        + +
        int SSL_up_ref(SSL *s);
        + +
        long SSL_num_renegotiations(SSL *ssl);
        + +
        int SSL_peek(SSL *ssl, void *buf, int num);
        + +
        int SSL_pending(const SSL *ssl);
        + +
        int SSL_read(SSL *ssl, void *buf, int num);
        + +
        int SSL_renegotiate(SSL *ssl);
        + +
        char *SSL_rstate_string(SSL *ssl);
        + +
        char *SSL_rstate_string_long(SSL *ssl);
        + +
        long SSL_session_reused(SSL *ssl);
        + +
        void SSL_set_accept_state(SSL *ssl);
        + +
        void SSL_set_app_data(SSL *ssl, char *arg);
        + +
        void SSL_set_bio(SSL *ssl, BIO *rbio, BIO *wbio);
        + +
        int SSL_set_cipher_list(SSL *ssl, char *str);
        + +
        void SSL_set_client_CA_list(SSL *ssl, STACK *list);
        + +
        void SSL_set_connect_state(SSL *ssl);
        + +
        int SSL_set_ct_validation_callback(SSL *ssl, ssl_ct_validation_cb callback, void *arg);
        + +
        int SSL_set_ex_data(SSL *ssl, int idx, char *arg);
        + +
        int SSL_set_fd(SSL *ssl, int fd);
        + +
        void SSL_set_info_callback(SSL *ssl, void (*cb);(void))
        + +
        void SSL_set_msg_callback(SSL *ctx, void (*cb)(int write_p, int version, int content_type, const void *buf, size_t len, SSL *ssl, void *arg));
        + +
        void SSL_set_msg_callback_arg(SSL *ctx, void *arg);
        + +
        unsigned long SSL_clear_options(SSL *ssl, unsigned long op);
        + +
        unsigned long SSL_get_options(SSL *ssl);
        + +
        unsigned long SSL_set_options(SSL *ssl, unsigned long op);
        + +
        void SSL_set_quiet_shutdown(SSL *ssl, int mode);
        + +
        void SSL_set_read_ahead(SSL *ssl, int yes);
        + +
        int SSL_set_rfd(SSL *ssl, int fd);
        + +
        int SSL_set_session(SSL *ssl, SSL_SESSION *session);
        + +
        void SSL_set_shutdown(SSL *ssl, int mode);
        + +
        int SSL_set_ssl_method(SSL *ssl, const SSL_METHOD *meth);
        + +
        void SSL_set_time(SSL *ssl, long t);
        + +
        void SSL_set_timeout(SSL *ssl, long t);
        + +
        void SSL_set_verify(SSL *ssl, int mode, int (*callback);(void))
        + +
        void SSL_set_verify_result(SSL *ssl, long arg);
        + +
        int SSL_set_wfd(SSL *ssl, int fd);
        + +
        int SSL_shutdown(SSL *ssl);
        + +
        OSSL_HANDSHAKE_STATE SSL_get_state(const SSL *ssl);
        + +
        +

        Returns the current handshake state.

        +
        +
        char *SSL_state_string(const SSL *ssl);
        + +
        char *SSL_state_string_long(const SSL *ssl);
        + +
        long SSL_total_renegotiations(SSL *ssl);
        + +
        int SSL_use_PrivateKey(SSL *ssl, EVP_PKEY *pkey);
        + +
        int SSL_use_PrivateKey_ASN1(int type, SSL *ssl, unsigned char *d, long len);
        + +
        int SSL_use_PrivateKey_file(SSL *ssl, const char *file, int type);
        + +
        int SSL_use_RSAPrivateKey(SSL *ssl, RSA *rsa);
        + +
        int SSL_use_RSAPrivateKey_ASN1(SSL *ssl, unsigned char *d, long len);
        + +
        int SSL_use_RSAPrivateKey_file(SSL *ssl, const char *file, int type);
        + +
        int SSL_use_certificate(SSL *ssl, X509 *x);
        + +
        int SSL_use_certificate_ASN1(SSL *ssl, int len, unsigned char *d);
        + +
        int SSL_use_certificate_file(SSL *ssl, const char *file, int type);
        + +
        int SSL_use_cert_and_key(SSL *ssl, X509 *x, EVP_PKEY *pkey, STACK_OF(X509) *chain, int override);
        + +
        int SSL_version(const SSL *ssl);
        + +
        int SSL_want(const SSL *ssl);
        + +
        int SSL_want_nothing(const SSL *ssl);
        + +
        int SSL_want_read(const SSL *ssl);
        + +
        int SSL_want_write(const SSL *ssl);
        + +
        int SSL_want_x509_lookup(const SSL *ssl);
        + +
        int SSL_write(SSL *ssl, const void *buf, int num);
        + +
        void SSL_set_psk_client_callback(SSL *ssl, unsigned int (*callback)(SSL *ssl, const char *hint, char *identity, unsigned int max_identity_len, unsigned char *psk, unsigned int max_psk_len));
        + +
        int SSL_use_psk_identity_hint(SSL *ssl, const char *hint);
        + +
        void SSL_set_psk_server_callback(SSL *ssl, unsigned int (*callback)(SSL *ssl, const char *identity, unsigned char *psk, int max_psk_len));
        + +
        const char *SSL_get_psk_identity_hint(SSL *ssl);
        + +
        const char *SSL_get_psk_identity(SSL *ssl);
        + +
        +

        +

        +
        +

        RETURN VALUES

        +

        See the individual manual pages for details.

        +

        +

        +
        +

        SEE ALSO

        +

        openssl(1), crypto(7), +CRYPTO_get_ex_new_index(3), +SSL_accept(3), SSL_clear(3), +SSL_connect(3), +SSL_CIPHER_get_name(3), +SSL_COMP_add_compression_method(3), +SSL_CTX_add_extra_chain_cert(3), +SSL_CTX_add_session(3), +SSL_CTX_ctrl(3), +SSL_CTX_flush_sessions(3), +SSL_CTX_get_verify_mode(3), +SSL_CTX_load_verify_locations(3) +SSL_CTX_new(3), +SSL_CTX_sess_number(3), +SSL_CTX_sess_set_cache_size(3), +SSL_CTX_sess_set_get_cb(3), +SSL_CTX_sessions(3), +SSL_CTX_set_cert_store(3), +SSL_CTX_set_cert_verify_callback(3), +SSL_CTX_set_cipher_list(3), +SSL_CTX_set_client_CA_list(3), +SSL_CTX_set_client_cert_cb(3), +SSL_CTX_set_default_passwd_cb(3), +SSL_CTX_set_generate_session_id(3), +SSL_CTX_set_info_callback(3), +SSL_CTX_set_max_cert_list(3), +SSL_CTX_set_mode(3), +SSL_CTX_set_msg_callback(3), +SSL_CTX_set_options(3), +SSL_CTX_set_quiet_shutdown(3), +SSL_CTX_set_read_ahead(3), +SSL_CTX_set_security_level(3), +SSL_CTX_set_session_cache_mode(3), +SSL_CTX_set_session_id_context(3), +SSL_CTX_set_ssl_version(3), +SSL_CTX_set_timeout(3), +SSL_CTX_set_tmp_dh_callback(3), +SSL_CTX_set_verify(3), +SSL_CTX_use_certificate(3), +SSL_alert_type_string(3), +SSL_do_handshake(3), +SSL_enable_ct(3), +SSL_get_SSL_CTX(3), +SSL_get_ciphers(3), +SSL_get_client_CA_list(3), +SSL_get_default_timeout(3), +SSL_get_error(3), +SSL_get_ex_data_X509_STORE_CTX_idx(3), +SSL_get_fd(3), +SSL_get_peer_cert_chain(3), +SSL_get_rbio(3), +SSL_get_session(3), +SSL_get_verify_result(3), +SSL_get_version(3), +SSL_load_client_CA_file(3), +SSL_new(3), +SSL_pending(3), +SSL_read_ex(3), +SSL_read(3), +SSL_rstate_string(3), +SSL_session_reused(3), +SSL_set_bio(3), +SSL_set_connect_state(3), +SSL_set_fd(3), +SSL_set_session(3), +SSL_set_shutdown(3), +SSL_shutdown(3), +SSL_state_string(3), +SSL_want(3), +SSL_write_ex(3), +SSL_write(3), +SSL_SESSION_free(3), +SSL_SESSION_get_time(3), +d2i_SSL_SESSION(3), +SSL_CTX_set_psk_client_callback(3), +SSL_CTX_use_psk_identity_hint(3), +SSL_get_psk_identity(3), +DTLSv1_listen(3)

        +

        +

        +
        +

        HISTORY

        +

        SSLv2_client_method, SSLv2_server_method and SSLv2_method were removed +in OpenSSL 1.1.0.

        +

        The return type of SSL_copy_session_id was changed from void to int in +OpenSSL 1.1.0.

        +

        +

        +

        COPYRIGHT

        Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/doc/openssl/html/man7/x509.html b/linux_amd64/share/doc/openssl/html/man7/x509.html index cd28c2d..2d4a85a 100755 --- a/linux_amd64/share/doc/openssl/html/man7/x509.html +++ b/linux_amd64/share/doc/openssl/html/man7/x509.html @@ -82,13 +82,14 @@ functions handle PKCS#10 certificate requests.

        d2i_X509_NAME(3), d2i_X509_REQ(3), d2i_X509_SIG(3), +X509v3(3), crypto(7)


        COPYRIGHT

        Copyright 2003-2017 The OpenSSL Project Authors. All Rights Reserved.

        -

        Licensed under the Apache License 2.0 (the "License"). You may not use +

        Licensed under the OpenSSL license (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html.

        diff --git a/linux_amd64/share/man/man1/CA.pl.1 b/linux_amd64/share/man/man1/CA.pl.1 index 5bbe052..6450d5e 100755 --- a/linux_amd64/share/man/man1/CA.pl.1 +++ b/linux_amd64/share/man/man1/CA.pl.1 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CA.PL 1" -.TH CA.PL 1 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH CA.PL 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -148,17 +148,17 @@ CA.pl \- friendlier interface for OpenSSL certificate programs \&\fB\-signcert\fR | \&\fB\-crl\fR | \&\fB\-newca\fR -[\fB\-extra\-cmd\fR \fIextra-params\fR] +[\fB\-extra\-cmd\fR extra\-params] .PP -\&\fB\s-1CA\s0.pl\fR \fB\-pkcs12\fR [\fB\-extra\-pkcs12\fR \fIextra-params\fR] [\fIcertname\fR] +\&\fB\s-1CA\s0.pl\fR \fB\-pkcs12\fR [\fB\-extra\-pkcs12\fR extra\-params] [\fBcertname\fR] .PP -\&\fB\s-1CA\s0.pl\fR \fB\-verify\fR [\fB\-extra\-verify\fR \fIextra-params\fR] \fIcertfile\fR ... +\&\fB\s-1CA\s0.pl\fR \fB\-verify\fR [\fB\-extra\-verify\fR extra\-params] \fBcertfile\fR... .PP -\&\fB\s-1CA\s0.pl\fR \fB\-revoke\fR [\fB\-extra\-ca\fR \fIextra-params\fR] \fIcertfile\fR [\fIreason\fR] +\&\fB\s-1CA\s0.pl\fR \fB\-revoke\fR [\fB\-extra\-ca\fR extra\-params] \fBcertfile\fR [\fBreason\fR] .SH "DESCRIPTION" .IX Header "DESCRIPTION" The \fB\s-1CA\s0.pl\fR script is a perl script that supplies the relevant command line -arguments to the \fIopenssl\fR\|(1) command for some common certificate operations. +arguments to the \fBopenssl\fR command for some common certificate operations. It is intended to simplify the process of certificate creation and management by the use of some simple options. .SH "OPTIONS" @@ -169,75 +169,77 @@ Prints a usage message. .IP "\fB\-newcert\fR" 4 .IX Item "-newcert" Creates a new self signed certificate. The private key is written to the file -\&\fInewkey.pem\fR and the request written to the file \fInewreq.pem\fR. -Invokes \fIopenssl\-req\fR\|(1). +\&\*(L"newkey.pem\*(R" and the request written to the file \*(L"newreq.pem\*(R". +This argument invokes \fBopenssl req\fR command. .IP "\fB\-newreq\fR" 4 .IX Item "-newreq" Creates a new certificate request. The private key is written to the file -\&\fInewkey.pem\fR and the request written to the file \fInewreq.pem\fR. -Executes \fIopenssl\-req\fR\|(1) under the hood. +\&\*(L"newkey.pem\*(R" and the request written to the file \*(L"newreq.pem\*(R". +Executes \fBopenssl req\fR command below the hood. .IP "\fB\-newreq\-nodes\fR" 4 .IX Item "-newreq-nodes" Is like \fB\-newreq\fR except that the private key will not be encrypted. -Uses \fIopenssl\-req\fR\|(1). +Uses \fBopenssl req\fR command. .IP "\fB\-newca\fR" 4 .IX Item "-newca" Creates a new \s-1CA\s0 hierarchy for use with the \fBca\fR program (or the \fB\-signcert\fR and \fB\-xsign\fR options). The user is prompted to enter the filename of the \s-1CA\s0 certificates (which should also contain the private key) or by hitting \s-1ENTER\s0 details of the \s-1CA\s0 will be prompted for. The relevant files and directories -are created in a directory called \fIdemoCA\fR in the current directory. -Uses \fIopenssl\-req\fR\|(1) and \fIopenssl\-ca\fR\|(1). +are created in a directory called \*(L"demoCA\*(R" in the current directory. +\&\fBopenssl req\fR and \fBopenssl ca\fR commands are get invoked. .IP "\fB\-pkcs12\fR" 4 .IX Item "-pkcs12" Create a PKCS#12 file containing the user certificate, private key and \s-1CA\s0 certificate. It expects the user certificate and private key to be in the -file \fInewcert.pem\fR and the \s-1CA\s0 certificate to be in the file \fIdemoCA/cacert.pem\fR, -it creates a file \fInewcert.p12\fR. This command can thus be called after the +file \*(L"newcert.pem\*(R" and the \s-1CA\s0 certificate to be in the file demoCA/cacert.pem, +it creates a file \*(L"newcert.p12\*(R". This command can thus be called after the \&\fB\-sign\fR option. The PKCS#12 file can be imported directly into a browser. If there is an additional argument on the command line it will be used as the \&\*(L"friendly name\*(R" for the certificate (which is typically displayed in the browser list box), otherwise the name \*(L"My Certificate\*(R" is used. -Delegates work to \fIopenssl\-pkcs12\fR\|(1). +Delegates work to \fBopenssl pkcs12\fR command. .IP "\fB\-sign\fR, \fB\-signcert\fR, \fB\-xsign\fR" 4 .IX Item "-sign, -signcert, -xsign" -Calls the \fIopenssl\-ca\fR\|(1) command to sign a certificate request. It expects the -request to be in the file \fInewreq.pem\fR. The new certificate is written to the -file \fInewcert.pem\fR except in the case of the \fB\-xsign\fR option when it is -written to standard output. +Calls the \fBca\fR program to sign a certificate request. It expects the request +to be in the file \*(L"newreq.pem\*(R". The new certificate is written to the file +\&\*(L"newcert.pem\*(R" except in the case of the \fB\-xsign\fR option when it is written +to standard output. Leverages \fBopenssl ca\fR command. .IP "\fB\-signCA\fR" 4 .IX Item "-signCA" This option is the same as the \fB\-signreq\fR option except it uses the configuration file section \fBv3_ca\fR and so makes the signed request a valid \s-1CA\s0 certificate. This is useful when creating intermediate \s-1CA\s0 from -a root \s-1CA\s0. Extra params are passed to \fIopenssl\-ca\fR\|(1). +a root \s-1CA\s0. Extra params are passed on to \fBopenssl ca\fR command. .IP "\fB\-signcert\fR" 4 .IX Item "-signcert" This option is the same as \fB\-sign\fR except it expects a self signed certificate -to be present in the file \fInewreq.pem\fR. -Extra params are passed to \fIopenssl\-x509\fR\|(1) and \fIopenssl\-ca\fR\|(1). +to be present in the file \*(L"newreq.pem\*(R". +Extra params are passed on to \fBopenssl x509\fR and \fBopenssl ca\fR commands. .IP "\fB\-crl\fR" 4 .IX Item "-crl" -Generate a \s-1CRL\s0. Executes \fIopenssl\-ca\fR\|(1). -.IP "\fB\-revoke\fR \fIcertfile\fR [\fIreason\fR]" 4 +Generate a \s-1CRL\s0. Executes \fBopenssl ca\fR command. +.IP "\fB\-revoke certfile [reason]\fR" 4 .IX Item "-revoke certfile [reason]" Revoke the certificate contained in the specified \fBcertfile\fR. An optional reason may be specified, and must be one of: \fBunspecified\fR, \&\fBkeyCompromise\fR, \fBCACompromise\fR, \fBaffiliationChanged\fR, \fBsuperseded\fR, \&\fBcessationOfOperation\fR, \fBcertificateHold\fR, or \fBremoveFromCRL\fR. -Leverages \fIopenssl\-ca\fR\|(1). +Leverages \fBopenssl ca\fR command. .IP "\fB\-verify\fR" 4 .IX Item "-verify" -Verifies certificates against the \s-1CA\s0 certificate for \fIdemoCA\fR. If no +Verifies certificates against the \s-1CA\s0 certificate for \*(L"demoCA\*(R". If no certificates are specified on the command line it tries to verify the file -\&\fInewcert.pem\fR. Invokes \fIopenssl\-verify\fR\|(1). -.IP "\fB\-extra\-req\fR | \fB\-extra\-ca\fR | \fB\-extra\-pkcs12\fR | \fB\-extra\-x509\fR | \fB\-extra\-verify\fR \fIextra-params\fR" 4 -.IX Item "-extra-req | -extra-ca | -extra-pkcs12 | -extra-x509 | -extra-verify extra-params" -For each option \fBextra\-\f(BIcmd\fB\fR, pass \fIextra-params\fR to the \fIopenssl\fR\|(1) -sub-command with the same name as \fIcmd\fR, if that sub-command is invoked. -For example, if \fIopenssl\-req\fR\|(1) is invoked, the \fIextra-params\fR given with -\&\fB\-extra\-req\fR will be passed to it. -Users should consult \fIopenssl\fR\|(1) command documentation for more information. +\&\*(L"newcert.pem\*(R". Invokes \fBopenssl verify\fR command. +.IP "\fB\-extra\-req\fR | \fB\-extra\-ca\fR | \fB\-extra\-pkcs12\fR | \fB\-extra\-x509\fR | \fB\-extra\-verify\fR " 4 +.IX Item "-extra-req | -extra-ca | -extra-pkcs12 | -extra-x509 | -extra-verify " +The purpose of these parameters is to allow optional parameters to be supplied +to \fBopenssl\fR that this command executes. The \fB\-extra\-cmd\fR are specific to the +option being used and the \fBopenssl\fR command getting invoked. For example +when this command invokes \fBopenssl req\fR extra parameters can be passed on +with the \fB\-extra\-req\fR parameter. The +\&\fBopenssl\fR commands being invoked per option are documented below. +Users should consult \fBopenssl\fR command documentation for more information. .SH "EXAMPLES" .IX Header "EXAMPLES" Create a \s-1CA\s0 hierarchy: @@ -258,7 +260,7 @@ the request and finally create a PKCS#12 file containing it. .SH "DSA CERTIFICATES" .IX Header "DSA CERTIFICATES" Although the \fB\s-1CA\s0.pl\fR creates \s-1RSA\s0 CAs and requests it is still possible to -use it with \s-1DSA\s0 certificates and requests using the \fIopenssl\-req\fR\|(1) command +use it with \s-1DSA\s0 certificates and requests using the \fIreq\fR\|(1) command directly. The following example shows the steps that would typically be taken. .PP Create some \s-1DSA\s0 parameters: @@ -279,8 +281,7 @@ Create the \s-1CA\s0 directories and files: \& CA.pl \-newca .Ve .PP -enter a filename (for example, \fIcacert.pem\fR) when prompted for the \s-1CA\s0 file -name. +enter cacert.pem when prompted for the \s-1CA\s0 file name. .PP Create a \s-1DSA\s0 certificate request and private key (a different set of parameters can optionally be created first): @@ -314,23 +315,18 @@ be wrong. In this case the command: can be used and the \fB\s-1OPENSSL_CONF\s0\fR environment variable changed to point to the correct path of the configuration file. .PP -The script is intended as a simple front end for the \fIopenssl\fR\|(1) program for -use by a beginner. Its behaviour isn't always what is wanted. For more control -over the behaviour of the certificate commands call the \fIopenssl\fR\|(1) command -directly. +The script is intended as a simple front end for the \fBopenssl\fR program for use +by a beginner. Its behaviour isn't always what is wanted. For more control over the +behaviour of the certificate commands call the \fBopenssl\fR command directly. .SH "SEE ALSO" .IX Header "SEE ALSO" -\&\fIopenssl\fR\|(1), -\&\fIopenssl\-x509\fR\|(1), -\&\fIopenssl\-ca\fR\|(1), -\&\fIopenssl\-req\fR\|(1), -\&\fIopenssl\-pkcs12\fR\|(1), +\&\fIx509\fR\|(1), \fIca\fR\|(1), \fIreq\fR\|(1), \fIpkcs12\fR\|(1), \&\fIconfig\fR\|(5) .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2000\-2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man1/asn1parse.1 b/linux_amd64/share/man/man1/asn1parse.1 new file mode 100644 index 0000000..1385db0 --- /dev/null +++ b/linux_amd64/share/man/man1/asn1parse.1 @@ -0,0 +1,330 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "ASN1PARSE 1" +.TH ASN1PARSE 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +openssl\-asn1parse, asn1parse \- ASN.1 parsing tool +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBopenssl\fR \fBasn1parse\fR +[\fB\-help\fR] +[\fB\-inform PEM|DER\fR] +[\fB\-in filename\fR] +[\fB\-out filename\fR] +[\fB\-noout\fR] +[\fB\-offset number\fR] +[\fB\-length number\fR] +[\fB\-i\fR] +[\fB\-oid filename\fR] +[\fB\-dump\fR] +[\fB\-dlimit num\fR] +[\fB\-strparse offset\fR] +[\fB\-genstr string\fR] +[\fB\-genconf file\fR] +[\fB\-strictpem\fR] +[\fB\-item name\fR] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The \fBasn1parse\fR command is a diagnostic utility that can parse \s-1ASN\s0.1 +structures. It can also be used to extract data from \s-1ASN\s0.1 formatted data. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-help\fR" 4 +.IX Item "-help" +Print out a usage message. +.IP "\fB\-inform\fR \fBDER|PEM\fR" 4 +.IX Item "-inform DER|PEM" +The input format. \fB\s-1DER\s0\fR is binary format and \fB\s-1PEM\s0\fR (the default) is base64 +encoded. +.IP "\fB\-in filename\fR" 4 +.IX Item "-in filename" +The input file, default is standard input. +.IP "\fB\-out filename\fR" 4 +.IX Item "-out filename" +Output file to place the \s-1DER\s0 encoded data into. If this +option is not present then no data will be output. This is most useful when +combined with the \fB\-strparse\fR option. +.IP "\fB\-noout\fR" 4 +.IX Item "-noout" +Don't output the parsed version of the input file. +.IP "\fB\-offset number\fR" 4 +.IX Item "-offset number" +Starting offset to begin parsing, default is start of file. +.IP "\fB\-length number\fR" 4 +.IX Item "-length number" +Number of bytes to parse, default is until end of file. +.IP "\fB\-i\fR" 4 +.IX Item "-i" +Indents the output according to the \*(L"depth\*(R" of the structures. +.IP "\fB\-oid filename\fR" 4 +.IX Item "-oid filename" +A file containing additional \s-1OBJECT\s0 IDENTIFIERs (OIDs). The format of this +file is described in the \s-1NOTES\s0 section below. +.IP "\fB\-dump\fR" 4 +.IX Item "-dump" +Dump unknown data in hex format. +.IP "\fB\-dlimit num\fR" 4 +.IX Item "-dlimit num" +Like \fB\-dump\fR, but only the first \fBnum\fR bytes are output. +.IP "\fB\-strparse offset\fR" 4 +.IX Item "-strparse offset" +Parse the contents octets of the \s-1ASN\s0.1 object starting at \fBoffset\fR. This +option can be used multiple times to \*(L"drill down\*(R" into a nested structure. +.IP "\fB\-genstr string\fR, \fB\-genconf file\fR" 4 +.IX Item "-genstr string, -genconf file" +Generate encoded data based on \fBstring\fR, \fBfile\fR or both using +\&\fIASN1_generate_nconf\fR\|(3) format. If \fBfile\fR only is +present then the string is obtained from the default section using the name +\&\fBasn1\fR. The encoded data is passed through the \s-1ASN1\s0 parser and printed out as +though it came from a file, the contents can thus be examined and written to a +file using the \fBout\fR option. +.IP "\fB\-strictpem\fR" 4 +.IX Item "-strictpem" +If this option is used then \fB\-inform\fR will be ignored. Without this option any +data in a \s-1PEM\s0 format input file will be treated as being base64 encoded and +processed whether it has the normal \s-1PEM\s0 \s-1BEGIN\s0 and \s-1END\s0 markers or not. This +option will ignore any data prior to the start of the \s-1BEGIN\s0 marker, or after an +\&\s-1END\s0 marker in a \s-1PEM\s0 file. +.IP "\fB\-item name\fR" 4 +.IX Item "-item name" +Attempt to decode and print the data as \fB\s-1ASN1_ITEM\s0 name\fR. This can be used to +print out the fields of any supported \s-1ASN\s0.1 structure if the type is known. +.SS "Output" +.IX Subsection "Output" +The output will typically contain lines like this: +.PP +.Vb 1 +\& 0:d=0 hl=4 l= 681 cons: SEQUENCE +.Ve +.PP +\&..... +.PP +.Vb 10 +\& 229:d=3 hl=3 l= 141 prim: BIT STRING +\& 373:d=2 hl=3 l= 162 cons: cont [ 3 ] +\& 376:d=3 hl=3 l= 159 cons: SEQUENCE +\& 379:d=4 hl=2 l= 29 cons: SEQUENCE +\& 381:d=5 hl=2 l= 3 prim: OBJECT :X509v3 Subject Key Identifier +\& 386:d=5 hl=2 l= 22 prim: OCTET STRING +\& 410:d=4 hl=2 l= 112 cons: SEQUENCE +\& 412:d=5 hl=2 l= 3 prim: OBJECT :X509v3 Authority Key Identifier +\& 417:d=5 hl=2 l= 105 prim: OCTET STRING +\& 524:d=4 hl=2 l= 12 cons: SEQUENCE +.Ve +.PP +\&..... +.PP +This example is part of a self-signed certificate. Each line starts with the +offset in decimal. \fBd=XX\fR specifies the current depth. The depth is increased +within the scope of any \s-1SET\s0 or \s-1SEQUENCE\s0. \fBhl=XX\fR gives the header length +(tag and length octets) of the current type. \fBl=XX\fR gives the length of +the contents octets. +.PP +The \fB\-i\fR option can be used to make the output more readable. +.PP +Some knowledge of the \s-1ASN\s0.1 structure is needed to interpret the output. +.PP +In this example the \s-1BIT\s0 \s-1STRING\s0 at offset 229 is the certificate public key. +The contents octets of this will contain the public key information. This can +be examined using the option \fB\-strparse 229\fR to yield: +.PP +.Vb 3 +\& 0:d=0 hl=3 l= 137 cons: SEQUENCE +\& 3:d=1 hl=3 l= 129 prim: INTEGER :E5D21E1F5C8D208EA7A2166C7FAF9F6BDF2059669C60876DDB70840F1A5AAFA59699FE471F379F1DD6A487E7D5409AB6A88D4A9746E24B91D8CF55DB3521015460C8EDE44EE8A4189F7A7BE77D6CD3A9AF2696F486855CF58BF0EDF2B4068058C7A947F52548DDF7E15E96B385F86422BEA9064A3EE9E1158A56E4A6F47E5897 +\& 135:d=1 hl=2 l= 3 prim: INTEGER :010001 +.Ve +.SH "NOTES" +.IX Header "NOTES" +If an \s-1OID\s0 is not part of OpenSSL's internal table it will be represented in +numerical form (for example 1.2.3.4). The file passed to the \fB\-oid\fR option +allows additional OIDs to be included. Each line consists of three columns, +the first column is the \s-1OID\s0 in numerical format and should be followed by white +space. The second column is the \*(L"short name\*(R" which is a single word followed +by white space. The final column is the rest of the line and is the +\&\*(L"long name\*(R". \fBasn1parse\fR displays the long name. Example: +.PP +\&\f(CW\*(C`1.2.3.4 shortName A long name\*(C'\fR +.SH "EXAMPLES" +.IX Header "EXAMPLES" +Parse a file: +.PP +.Vb 1 +\& openssl asn1parse \-in file.pem +.Ve +.PP +Parse a \s-1DER\s0 file: +.PP +.Vb 1 +\& openssl asn1parse \-inform DER \-in file.der +.Ve +.PP +Generate a simple UTF8String: +.PP +.Vb 1 +\& openssl asn1parse \-genstr \*(AqUTF8:Hello World\*(Aq +.Ve +.PP +Generate and write out a UTF8String, don't print parsed output: +.PP +.Vb 1 +\& openssl asn1parse \-genstr \*(AqUTF8:Hello World\*(Aq \-noout \-out utf8.der +.Ve +.PP +Generate using a config file: +.PP +.Vb 1 +\& openssl asn1parse \-genconf asn1.cnf \-noout \-out asn1.der +.Ve +.PP +Example config file: +.PP +.Vb 1 +\& asn1=SEQUENCE:seq_sect +\& +\& [seq_sect] +\& +\& field1=BOOL:TRUE +\& field2=EXP:0, UTF8:some random string +.Ve +.SH "BUGS" +.IX Header "BUGS" +There should be options to change the format of output lines. The output of some +\&\s-1ASN\s0.1 types is not well handled (if at all). +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIASN1_generate_nconf\fR\|(3) +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2000\-2017 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man1/c_rehash.1 b/linux_amd64/share/man/man1/c_rehash.1 new file mode 120000 index 0000000..481032e --- /dev/null +++ b/linux_amd64/share/man/man1/c_rehash.1 @@ -0,0 +1 @@ +rehash.1 \ No newline at end of file diff --git a/linux_amd64/share/man/man1/ca.1 b/linux_amd64/share/man/man1/ca.1 new file mode 100644 index 0000000..16d39a7 --- /dev/null +++ b/linux_amd64/share/man/man1/ca.1 @@ -0,0 +1,814 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "CA 1" +.TH CA 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +openssl\-ca, ca \- sample minimal CA application +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBopenssl\fR \fBca\fR +[\fB\-help\fR] +[\fB\-verbose\fR] +[\fB\-config filename\fR] +[\fB\-name section\fR] +[\fB\-gencrl\fR] +[\fB\-revoke file\fR] +[\fB\-valid file\fR] +[\fB\-status serial\fR] +[\fB\-updatedb\fR] +[\fB\-crl_reason reason\fR] +[\fB\-crl_hold instruction\fR] +[\fB\-crl_compromise time\fR] +[\fB\-crl_CA_compromise time\fR] +[\fB\-crldays days\fR] +[\fB\-crlhours hours\fR] +[\fB\-crlexts section\fR] +[\fB\-startdate date\fR] +[\fB\-enddate date\fR] +[\fB\-days arg\fR] +[\fB\-md arg\fR] +[\fB\-policy arg\fR] +[\fB\-keyfile arg\fR] +[\fB\-keyform PEM|DER\fR] +[\fB\-key arg\fR] +[\fB\-passin arg\fR] +[\fB\-cert file\fR] +[\fB\-selfsign\fR] +[\fB\-in file\fR] +[\fB\-out file\fR] +[\fB\-notext\fR] +[\fB\-outdir dir\fR] +[\fB\-infiles\fR] +[\fB\-spkac file\fR] +[\fB\-ss_cert file\fR] +[\fB\-preserveDN\fR] +[\fB\-noemailDN\fR] +[\fB\-batch\fR] +[\fB\-msie_hack\fR] +[\fB\-extensions section\fR] +[\fB\-extfile section\fR] +[\fB\-engine id\fR] +[\fB\-subj arg\fR] +[\fB\-utf8\fR] +[\fB\-sigopt nm:v\fR] +[\fB\-create_serial\fR] +[\fB\-rand_serial\fR] +[\fB\-multivalue\-rdn\fR] +[\fB\-rand file...\fR] +[\fB\-writerand file\fR] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The \fBca\fR command is a minimal \s-1CA\s0 application. It can be used +to sign certificate requests in a variety of forms and generate +CRLs it also maintains a text database of issued certificates +and their status. +.PP +The options descriptions will be divided into each purpose. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-help\fR" 4 +.IX Item "-help" +Print out a usage message. +.IP "\fB\-verbose\fR" 4 +.IX Item "-verbose" +This prints extra details about the operations being performed. +.IP "\fB\-config filename\fR" 4 +.IX Item "-config filename" +Specifies the configuration file to use. +Optional; for a description of the default value, +see \*(L"\s-1COMMAND\s0 \s-1SUMMARY\s0\*(R" in \fIopenssl\fR\|(1). +.IP "\fB\-name section\fR" 4 +.IX Item "-name section" +Specifies the configuration file section to use (overrides +\&\fBdefault_ca\fR in the \fBca\fR section). +.IP "\fB\-in filename\fR" 4 +.IX Item "-in filename" +An input filename containing a single certificate request to be +signed by the \s-1CA\s0. +.IP "\fB\-ss_cert filename\fR" 4 +.IX Item "-ss_cert filename" +A single self-signed certificate to be signed by the \s-1CA\s0. +.IP "\fB\-spkac filename\fR" 4 +.IX Item "-spkac filename" +A file containing a single Netscape signed public key and challenge +and additional field values to be signed by the \s-1CA\s0. See the \fB\s-1SPKAC\s0 \s-1FORMAT\s0\fR +section for information on the required input and output format. +.IP "\fB\-infiles\fR" 4 +.IX Item "-infiles" +If present this should be the last option, all subsequent arguments +are taken as the names of files containing certificate requests. +.IP "\fB\-out filename\fR" 4 +.IX Item "-out filename" +The output file to output certificates to. The default is standard +output. The certificate details will also be printed out to this +file in \s-1PEM\s0 format (except that \fB\-spkac\fR outputs \s-1DER\s0 format). +.IP "\fB\-outdir directory\fR" 4 +.IX Item "-outdir directory" +The directory to output certificates to. The certificate will be +written to a filename consisting of the serial number in hex with +\&\*(L".pem\*(R" appended. +.IP "\fB\-cert\fR" 4 +.IX Item "-cert" +The \s-1CA\s0 certificate file. +.IP "\fB\-keyfile filename\fR" 4 +.IX Item "-keyfile filename" +The private key to sign requests with. +.IP "\fB\-keyform PEM|DER\fR" 4 +.IX Item "-keyform PEM|DER" +The format of the data in the private key file. +The default is \s-1PEM\s0. +.IP "\fB\-sigopt nm:v\fR" 4 +.IX Item "-sigopt nm:v" +Pass options to the signature algorithm during sign or verify operations. +Names and values of these options are algorithm-specific. +.IP "\fB\-key password\fR" 4 +.IX Item "-key password" +The password used to encrypt the private key. Since on some +systems the command line arguments are visible (e.g. Unix with +the 'ps' utility) this option should be used with caution. +.IP "\fB\-selfsign\fR" 4 +.IX Item "-selfsign" +Indicates the issued certificates are to be signed with the key +the certificate requests were signed with (given with \fB\-keyfile\fR). +Certificate requests signed with a different key are ignored. If +\&\fB\-spkac\fR, \fB\-ss_cert\fR or \fB\-gencrl\fR are given, \fB\-selfsign\fR is +ignored. +.Sp +A consequence of using \fB\-selfsign\fR is that the self-signed +certificate appears among the entries in the certificate database +(see the configuration option \fBdatabase\fR), and uses the same +serial number counter as all other certificates sign with the +self-signed certificate. +.IP "\fB\-passin arg\fR" 4 +.IX Item "-passin arg" +The key password source. For more information about the format of \fBarg\fR +see the \fB\s-1PASS\s0 \s-1PHRASE\s0 \s-1ARGUMENTS\s0\fR section in \fIopenssl\fR\|(1). +.IP "\fB\-notext\fR" 4 +.IX Item "-notext" +Don't output the text form of a certificate to the output file. +.IP "\fB\-startdate date\fR" 4 +.IX Item "-startdate date" +This allows the start date to be explicitly set. The format of the +date is \s-1YYMMDDHHMMSSZ\s0 (the same as an \s-1ASN1\s0 UTCTime structure), or +\&\s-1YYYYMMDDHHMMSSZ\s0 (the same as an \s-1ASN1\s0 GeneralizedTime structure). In +both formats, seconds \s-1SS\s0 and timezone Z must be present. +.IP "\fB\-enddate date\fR" 4 +.IX Item "-enddate date" +This allows the expiry date to be explicitly set. The format of the +date is \s-1YYMMDDHHMMSSZ\s0 (the same as an \s-1ASN1\s0 UTCTime structure), or +\&\s-1YYYYMMDDHHMMSSZ\s0 (the same as an \s-1ASN1\s0 GeneralizedTime structure). In +both formats, seconds \s-1SS\s0 and timezone Z must be present. +.IP "\fB\-days arg\fR" 4 +.IX Item "-days arg" +The number of days to certify the certificate for. +.IP "\fB\-md alg\fR" 4 +.IX Item "-md alg" +The message digest to use. +Any digest supported by the OpenSSL \fBdgst\fR command can be used. For signing +algorithms that do not support a digest (i.e. Ed25519 and Ed448) any message +digest that is set is ignored. This option also applies to CRLs. +.IP "\fB\-policy arg\fR" 4 +.IX Item "-policy arg" +This option defines the \s-1CA\s0 \*(L"policy\*(R" to use. This is a section in +the configuration file which decides which fields should be mandatory +or match the \s-1CA\s0 certificate. Check out the \fB\s-1POLICY\s0 \s-1FORMAT\s0\fR section +for more information. +.IP "\fB\-msie_hack\fR" 4 +.IX Item "-msie_hack" +This is a deprecated option to make \fBca\fR work with very old versions of +the \s-1IE\s0 certificate enrollment control \*(L"certenr3\*(R". It used UniversalStrings +for almost everything. Since the old control has various security bugs +its use is strongly discouraged. +.IP "\fB\-preserveDN\fR" 4 +.IX Item "-preserveDN" +Normally the \s-1DN\s0 order of a certificate is the same as the order of the +fields in the relevant policy section. When this option is set the order +is the same as the request. This is largely for compatibility with the +older \s-1IE\s0 enrollment control which would only accept certificates if their +DNs match the order of the request. This is not needed for Xenroll. +.IP "\fB\-noemailDN\fR" 4 +.IX Item "-noemailDN" +The \s-1DN\s0 of a certificate can contain the \s-1EMAIL\s0 field if present in the +request \s-1DN\s0, however it is good policy just having the e\-mail set into +the altName extension of the certificate. When this option is set the +\&\s-1EMAIL\s0 field is removed from the certificate' subject and set only in +the, eventually present, extensions. The \fBemail_in_dn\fR keyword can be +used in the configuration file to enable this behaviour. +.IP "\fB\-batch\fR" 4 +.IX Item "-batch" +This sets the batch mode. In this mode no questions will be asked +and all certificates will be certified automatically. +.IP "\fB\-extensions section\fR" 4 +.IX Item "-extensions section" +The section of the configuration file containing certificate extensions +to be added when a certificate is issued (defaults to \fBx509_extensions\fR +unless the \fB\-extfile\fR option is used). If no extension section is +present then, a V1 certificate is created. If the extension section +is present (even if it is empty), then a V3 certificate is created. See the +\&\fIx509v3_config\fR\|(5) manual page for details of the +extension section format. +.IP "\fB\-extfile file\fR" 4 +.IX Item "-extfile file" +An additional configuration file to read certificate extensions from +(using the default section unless the \fB\-extensions\fR option is also +used). +.IP "\fB\-engine id\fR" 4 +.IX Item "-engine id" +Specifying an engine (by its unique \fBid\fR string) will cause \fBca\fR +to attempt to obtain a functional reference to the specified engine, +thus initialising it if needed. The engine will then be set as the default +for all available algorithms. +.IP "\fB\-subj arg\fR" 4 +.IX Item "-subj arg" +Supersedes subject name given in the request. +The arg must be formatted as \fI/type0=value0/type1=value1/type2=...\fR. +Keyword characters may be escaped by \e (backslash), and whitespace is retained. +Empty values are permitted, but the corresponding type will not be included +in the resulting certificate. +.IP "\fB\-utf8\fR" 4 +.IX Item "-utf8" +This option causes field values to be interpreted as \s-1UTF8\s0 strings, by +default they are interpreted as \s-1ASCII\s0. This means that the field +values, whether prompted from a terminal or obtained from a +configuration file, must be valid \s-1UTF8\s0 strings. +.IP "\fB\-create_serial\fR" 4 +.IX Item "-create_serial" +If reading serial from the text file as specified in the configuration +fails, specifying this option creates a new random serial to be used as next +serial number. +To get random serial numbers, use the \fB\-rand_serial\fR flag instead; this +should only be used for simple error-recovery. +.IP "\fB\-rand_serial\fR" 4 +.IX Item "-rand_serial" +Generate a large random number to use as the serial number. +This overrides any option or configuration to use a serial number file. +.IP "\fB\-multivalue\-rdn\fR" 4 +.IX Item "-multivalue-rdn" +This option causes the \-subj argument to be interpreted with full +support for multivalued RDNs. Example: +.Sp +\&\fI/DC=org/DC=OpenSSL/DC=users/UID=123456+CN=John Doe\fR +.Sp +If \-multi\-rdn is not used then the \s-1UID\s0 value is \fI123456+CN=John Doe\fR. +.IP "\fB\-rand file...\fR" 4 +.IX Item "-rand file..." +A file or files containing random data used to seed the random number +generator. +Multiple files can be specified separated by an OS-dependent character. +The separator is \fB;\fR for MS-Windows, \fB,\fR for OpenVMS, and \fB:\fR for +all others. +.IP "[\fB\-writerand file\fR]" 4 +.IX Item "[-writerand file]" +Writes random data to the specified \fIfile\fR upon exit. +This can be used with a subsequent \fB\-rand\fR flag. +.SH "CRL OPTIONS" +.IX Header "CRL OPTIONS" +.IP "\fB\-gencrl\fR" 4 +.IX Item "-gencrl" +This option generates a \s-1CRL\s0 based on information in the index file. +.IP "\fB\-crldays num\fR" 4 +.IX Item "-crldays num" +The number of days before the next \s-1CRL\s0 is due. That is the days from +now to place in the \s-1CRL\s0 nextUpdate field. +.IP "\fB\-crlhours num\fR" 4 +.IX Item "-crlhours num" +The number of hours before the next \s-1CRL\s0 is due. +.IP "\fB\-revoke filename\fR" 4 +.IX Item "-revoke filename" +A filename containing a certificate to revoke. +.IP "\fB\-valid filename\fR" 4 +.IX Item "-valid filename" +A filename containing a certificate to add a Valid certificate entry. +.IP "\fB\-status serial\fR" 4 +.IX Item "-status serial" +Displays the revocation status of the certificate with the specified +serial number and exits. +.IP "\fB\-updatedb\fR" 4 +.IX Item "-updatedb" +Updates the database index to purge expired certificates. +.IP "\fB\-crl_reason reason\fR" 4 +.IX Item "-crl_reason reason" +Revocation reason, where \fBreason\fR is one of: \fBunspecified\fR, \fBkeyCompromise\fR, +\&\fBCACompromise\fR, \fBaffiliationChanged\fR, \fBsuperseded\fR, \fBcessationOfOperation\fR, +\&\fBcertificateHold\fR or \fBremoveFromCRL\fR. The matching of \fBreason\fR is case +insensitive. Setting any revocation reason will make the \s-1CRL\s0 v2. +.Sp +In practice \fBremoveFromCRL\fR is not particularly useful because it is only used +in delta CRLs which are not currently implemented. +.IP "\fB\-crl_hold instruction\fR" 4 +.IX Item "-crl_hold instruction" +This sets the \s-1CRL\s0 revocation reason code to \fBcertificateHold\fR and the hold +instruction to \fBinstruction\fR which must be an \s-1OID\s0. Although any \s-1OID\s0 can be +used only \fBholdInstructionNone\fR (the use of which is discouraged by \s-1RFC2459\s0) +\&\fBholdInstructionCallIssuer\fR or \fBholdInstructionReject\fR will normally be used. +.IP "\fB\-crl_compromise time\fR" 4 +.IX Item "-crl_compromise time" +This sets the revocation reason to \fBkeyCompromise\fR and the compromise time to +\&\fBtime\fR. \fBtime\fR should be in GeneralizedTime format that is \fB\s-1YYYYMMDDHHMMSSZ\s0\fR. +.IP "\fB\-crl_CA_compromise time\fR" 4 +.IX Item "-crl_CA_compromise time" +This is the same as \fBcrl_compromise\fR except the revocation reason is set to +\&\fBCACompromise\fR. +.IP "\fB\-crlexts section\fR" 4 +.IX Item "-crlexts section" +The section of the configuration file containing \s-1CRL\s0 extensions to +include. If no \s-1CRL\s0 extension section is present then a V1 \s-1CRL\s0 is +created, if the \s-1CRL\s0 extension section is present (even if it is +empty) then a V2 \s-1CRL\s0 is created. The \s-1CRL\s0 extensions specified are +\&\s-1CRL\s0 extensions and \fBnot\fR \s-1CRL\s0 entry extensions. It should be noted +that some software (for example Netscape) can't handle V2 CRLs. See +\&\fIx509v3_config\fR\|(5) manual page for details of the +extension section format. +.SH "CONFIGURATION FILE OPTIONS" +.IX Header "CONFIGURATION FILE OPTIONS" +The section of the configuration file containing options for \fBca\fR +is found as follows: If the \fB\-name\fR command line option is used, +then it names the section to be used. Otherwise the section to +be used must be named in the \fBdefault_ca\fR option of the \fBca\fR section +of the configuration file (or in the default section of the +configuration file). Besides \fBdefault_ca\fR, the following options are +read directly from the \fBca\fR section: + \s-1RANDFILE\s0 + preserve + msie_hack +With the exception of \fB\s-1RANDFILE\s0\fR, this is probably a bug and may +change in future releases. +.PP +Many of the configuration file options are identical to command line +options. Where the option is present in the configuration file +and the command line the command line value is used. Where an +option is described as mandatory then it must be present in +the configuration file or the command line equivalent (if +any) used. +.IP "\fBoid_file\fR" 4 +.IX Item "oid_file" +This specifies a file containing additional \fB\s-1OBJECT\s0 \s-1IDENTIFIERS\s0\fR. +Each line of the file should consist of the numerical form of the +object identifier followed by white space then the short name followed +by white space and finally the long name. +.IP "\fBoid_section\fR" 4 +.IX Item "oid_section" +This specifies a section in the configuration file containing extra +object identifiers. Each line should consist of the short name of the +object identifier followed by \fB=\fR and the numerical form. The short +and long names are the same when this option is used. +.IP "\fBnew_certs_dir\fR" 4 +.IX Item "new_certs_dir" +The same as the \fB\-outdir\fR command line option. It specifies +the directory where new certificates will be placed. Mandatory. +.IP "\fBcertificate\fR" 4 +.IX Item "certificate" +The same as \fB\-cert\fR. It gives the file containing the \s-1CA\s0 +certificate. Mandatory. +.IP "\fBprivate_key\fR" 4 +.IX Item "private_key" +Same as the \fB\-keyfile\fR option. The file containing the +\&\s-1CA\s0 private key. Mandatory. +.IP "\fB\s-1RANDFILE\s0\fR" 4 +.IX Item "RANDFILE" +At startup the specified file is loaded into the random number generator, +and at exit 256 bytes will be written to it. +.IP "\fBdefault_days\fR" 4 +.IX Item "default_days" +The same as the \fB\-days\fR option. The number of days to certify +a certificate for. +.IP "\fBdefault_startdate\fR" 4 +.IX Item "default_startdate" +The same as the \fB\-startdate\fR option. The start date to certify +a certificate for. If not set the current time is used. +.IP "\fBdefault_enddate\fR" 4 +.IX Item "default_enddate" +The same as the \fB\-enddate\fR option. Either this option or +\&\fBdefault_days\fR (or the command line equivalents) must be +present. +.IP "\fBdefault_crl_hours default_crl_days\fR" 4 +.IX Item "default_crl_hours default_crl_days" +The same as the \fB\-crlhours\fR and the \fB\-crldays\fR options. These +will only be used if neither command line option is present. At +least one of these must be present to generate a \s-1CRL\s0. +.IP "\fBdefault_md\fR" 4 +.IX Item "default_md" +The same as the \fB\-md\fR option. Mandatory except where the signing algorithm does +not require a digest (i.e. Ed25519 and Ed448). +.IP "\fBdatabase\fR" 4 +.IX Item "database" +The text database file to use. Mandatory. This file must be present +though initially it will be empty. +.IP "\fBunique_subject\fR" 4 +.IX Item "unique_subject" +If the value \fByes\fR is given, the valid certificate entries in the +database must have unique subjects. if the value \fBno\fR is given, +several valid certificate entries may have the exact same subject. +The default value is \fByes\fR, to be compatible with older (pre 0.9.8) +versions of OpenSSL. However, to make \s-1CA\s0 certificate roll-over easier, +it's recommended to use the value \fBno\fR, especially if combined with +the \fB\-selfsign\fR command line option. +.Sp +Note that it is valid in some circumstances for certificates to be created +without any subject. In the case where there are multiple certificates without +subjects this does not count as a duplicate. +.IP "\fBserial\fR" 4 +.IX Item "serial" +A text file containing the next serial number to use in hex. Mandatory. +This file must be present and contain a valid serial number. +.IP "\fBcrlnumber\fR" 4 +.IX Item "crlnumber" +A text file containing the next \s-1CRL\s0 number to use in hex. The crl number +will be inserted in the CRLs only if this file exists. If this file is +present, it must contain a valid \s-1CRL\s0 number. +.IP "\fBx509_extensions\fR" 4 +.IX Item "x509_extensions" +The same as \fB\-extensions\fR. +.IP "\fBcrl_extensions\fR" 4 +.IX Item "crl_extensions" +The same as \fB\-crlexts\fR. +.IP "\fBpreserve\fR" 4 +.IX Item "preserve" +The same as \fB\-preserveDN\fR +.IP "\fBemail_in_dn\fR" 4 +.IX Item "email_in_dn" +The same as \fB\-noemailDN\fR. If you want the \s-1EMAIL\s0 field to be removed +from the \s-1DN\s0 of the certificate simply set this to 'no'. If not present +the default is to allow for the \s-1EMAIL\s0 filed in the certificate's \s-1DN\s0. +.IP "\fBmsie_hack\fR" 4 +.IX Item "msie_hack" +The same as \fB\-msie_hack\fR +.IP "\fBpolicy\fR" 4 +.IX Item "policy" +The same as \fB\-policy\fR. Mandatory. See the \fB\s-1POLICY\s0 \s-1FORMAT\s0\fR section +for more information. +.IP "\fBname_opt\fR, \fBcert_opt\fR" 4 +.IX Item "name_opt, cert_opt" +These options allow the format used to display the certificate details +when asking the user to confirm signing. All the options supported by +the \fBx509\fR utilities \fB\-nameopt\fR and \fB\-certopt\fR switches can be used +here, except the \fBno_signame\fR and \fBno_sigdump\fR are permanently set +and cannot be disabled (this is because the certificate signature cannot +be displayed because the certificate has not been signed at this point). +.Sp +For convenience the values \fBca_default\fR are accepted by both to produce +a reasonable output. +.Sp +If neither option is present the format used in earlier versions of +OpenSSL is used. Use of the old format is \fBstrongly\fR discouraged because +it only displays fields mentioned in the \fBpolicy\fR section, mishandles +multicharacter string types and does not display extensions. +.IP "\fBcopy_extensions\fR" 4 +.IX Item "copy_extensions" +Determines how extensions in certificate requests should be handled. +If set to \fBnone\fR or this option is not present then extensions are +ignored and not copied to the certificate. If set to \fBcopy\fR then any +extensions present in the request that are not already present are copied +to the certificate. If set to \fBcopyall\fR then all extensions in the +request are copied to the certificate: if the extension is already present +in the certificate it is deleted first. See the \fB\s-1WARNINGS\s0\fR section before +using this option. +.Sp +The main use of this option is to allow a certificate request to supply +values for certain extensions such as subjectAltName. +.SH "POLICY FORMAT" +.IX Header "POLICY FORMAT" +The policy section consists of a set of variables corresponding to +certificate \s-1DN\s0 fields. If the value is \*(L"match\*(R" then the field value +must match the same field in the \s-1CA\s0 certificate. If the value is +\&\*(L"supplied\*(R" then it must be present. If the value is \*(L"optional\*(R" then +it may be present. Any fields not mentioned in the policy section +are silently deleted, unless the \fB\-preserveDN\fR option is set but +this can be regarded more of a quirk than intended behaviour. +.SH "SPKAC FORMAT" +.IX Header "SPKAC FORMAT" +The input to the \fB\-spkac\fR command line option is a Netscape +signed public key and challenge. This will usually come from +the \fB\s-1KEYGEN\s0\fR tag in an \s-1HTML\s0 form to create a new private key. +It is however possible to create SPKACs using the \fBspkac\fR utility. +.PP +The file should contain the variable \s-1SPKAC\s0 set to the value of +the \s-1SPKAC\s0 and also the required \s-1DN\s0 components as name value pairs. +If you need to include the same component twice then it can be +preceded by a number and a '.'. +.PP +When processing \s-1SPKAC\s0 format, the output is \s-1DER\s0 if the \fB\-out\fR +flag is used, but \s-1PEM\s0 format if sending to stdout or the \fB\-outdir\fR +flag is used. +.SH "EXAMPLES" +.IX Header "EXAMPLES" +Note: these examples assume that the \fBca\fR directory structure is +already set up and the relevant files already exist. This usually +involves creating a \s-1CA\s0 certificate and private key with \fBreq\fR, a +serial number file and an empty index file and placing them in +the relevant directories. +.PP +To use the sample configuration file below the directories demoCA, +demoCA/private and demoCA/newcerts would be created. The \s-1CA\s0 +certificate would be copied to demoCA/cacert.pem and its private +key to demoCA/private/cakey.pem. A file demoCA/serial would be +created containing for example \*(L"01\*(R" and the empty index file +demoCA/index.txt. +.PP +Sign a certificate request: +.PP +.Vb 1 +\& openssl ca \-in req.pem \-out newcert.pem +.Ve +.PP +Sign a certificate request, using \s-1CA\s0 extensions: +.PP +.Vb 1 +\& openssl ca \-in req.pem \-extensions v3_ca \-out newcert.pem +.Ve +.PP +Generate a \s-1CRL\s0 +.PP +.Vb 1 +\& openssl ca \-gencrl \-out crl.pem +.Ve +.PP +Sign several requests: +.PP +.Vb 1 +\& openssl ca \-infiles req1.pem req2.pem req3.pem +.Ve +.PP +Certify a Netscape \s-1SPKAC:\s0 +.PP +.Vb 1 +\& openssl ca \-spkac spkac.txt +.Ve +.PP +A sample \s-1SPKAC\s0 file (the \s-1SPKAC\s0 line has been truncated for clarity): +.PP +.Vb 5 +\& SPKAC=MIG0MGAwXDANBgkqhkiG9w0BAQEFAANLADBIAkEAn7PDhCeV/xIxUg8V70YRxK2A5 +\& CN=Steve Test +\& emailAddress=steve@openssl.org +\& 0.OU=OpenSSL Group +\& 1.OU=Another Group +.Ve +.PP +A sample configuration file with the relevant sections for \fBca\fR: +.PP +.Vb 2 +\& [ ca ] +\& default_ca = CA_default # The default ca section +\& +\& [ CA_default ] +\& +\& dir = ./demoCA # top dir +\& database = $dir/index.txt # index file. +\& new_certs_dir = $dir/newcerts # new certs dir +\& +\& certificate = $dir/cacert.pem # The CA cert +\& serial = $dir/serial # serial no file +\& #rand_serial = yes # for random serial#\*(Aqs +\& private_key = $dir/private/cakey.pem# CA private key +\& RANDFILE = $dir/private/.rand # random number file +\& +\& default_days = 365 # how long to certify for +\& default_crl_days= 30 # how long before next CRL +\& default_md = md5 # md to use +\& +\& policy = policy_any # default policy +\& email_in_dn = no # Don\*(Aqt add the email into cert DN +\& +\& name_opt = ca_default # Subject name display option +\& cert_opt = ca_default # Certificate display option +\& copy_extensions = none # Don\*(Aqt copy extensions from request +\& +\& [ policy_any ] +\& countryName = supplied +\& stateOrProvinceName = optional +\& organizationName = optional +\& organizationalUnitName = optional +\& commonName = supplied +\& emailAddress = optional +.Ve +.SH "FILES" +.IX Header "FILES" +Note: the location of all files can change either by compile time options, +configuration file entries, environment variables or command line options. +The values below reflect the default values. +.PP +.Vb 10 +\& /usr/local/ssl/lib/openssl.cnf \- master configuration file +\& ./demoCA \- main CA directory +\& ./demoCA/cacert.pem \- CA certificate +\& ./demoCA/private/cakey.pem \- CA private key +\& ./demoCA/serial \- CA serial number file +\& ./demoCA/serial.old \- CA serial number backup file +\& ./demoCA/index.txt \- CA text database file +\& ./demoCA/index.txt.old \- CA text database backup file +\& ./demoCA/certs \- certificate output file +\& ./demoCA/.rnd \- CA random seed information +.Ve +.SH "RESTRICTIONS" +.IX Header "RESTRICTIONS" +The text database index file is a critical part of the process and +if corrupted it can be difficult to fix. It is theoretically possible +to rebuild the index file from all the issued certificates and a current +\&\s-1CRL:\s0 however there is no option to do this. +.PP +V2 \s-1CRL\s0 features like delta CRLs are not currently supported. +.PP +Although several requests can be input and handled at once it is only +possible to include one \s-1SPKAC\s0 or self-signed certificate. +.SH "BUGS" +.IX Header "BUGS" +The use of an in-memory text database can cause problems when large +numbers of certificates are present because, as the name implies +the database has to be kept in memory. +.PP +The \fBca\fR command really needs rewriting or the required functionality +exposed at either a command or interface level so a more friendly utility +(perl script or \s-1GUI\s0) can handle things properly. The script +\&\fB\s-1CA\s0.pl\fR helps a little but not very much. +.PP +Any fields in a request that are not present in a policy are silently +deleted. This does not happen if the \fB\-preserveDN\fR option is used. To +enforce the absence of the \s-1EMAIL\s0 field within the \s-1DN\s0, as suggested by +RFCs, regardless the contents of the request' subject the \fB\-noemailDN\fR +option can be used. The behaviour should be more friendly and +configurable. +.PP +Canceling some commands by refusing to certify a certificate can +create an empty file. +.SH "WARNINGS" +.IX Header "WARNINGS" +The \fBca\fR command is quirky and at times downright unfriendly. +.PP +The \fBca\fR utility was originally meant as an example of how to do things +in a \s-1CA\s0. It was not supposed to be used as a full blown \s-1CA\s0 itself: +nevertheless some people are using it for this purpose. +.PP +The \fBca\fR command is effectively a single user command: no locking is +done on the various files and attempts to run more than one \fBca\fR command +on the same database can have unpredictable results. +.PP +The \fBcopy_extensions\fR option should be used with caution. If care is +not taken then it can be a security risk. For example if a certificate +request contains a basicConstraints extension with \s-1CA:TRUE\s0 and the +\&\fBcopy_extensions\fR value is set to \fBcopyall\fR and the user does not spot +this when the certificate is displayed then this will hand the requester +a valid \s-1CA\s0 certificate. +.PP +This situation can be avoided by setting \fBcopy_extensions\fR to \fBcopy\fR +and including basicConstraints with \s-1CA:FALSE\s0 in the configuration file. +Then if the request contains a basicConstraints extension it will be +ignored. +.PP +It is advisable to also include values for other extensions such +as \fBkeyUsage\fR to prevent a request supplying its own values. +.PP +Additional restrictions can be placed on the \s-1CA\s0 certificate itself. +For example if the \s-1CA\s0 certificate has: +.PP +.Vb 1 +\& basicConstraints = CA:TRUE, pathlen:0 +.Ve +.PP +then even if a certificate is issued with \s-1CA:TRUE\s0 it will not be valid. +.SH "HISTORY" +.IX Header "HISTORY" +Since OpenSSL 1.1.1, the program follows \s-1RFC5280\s0. Specifically, +certificate validity period (specified by any of \fB\-startdate\fR, +\&\fB\-enddate\fR and \fB\-days\fR) will be encoded as UTCTime if the dates are +earlier than year 2049 (included), and as GeneralizedTime if the dates +are in year 2050 or later. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIreq\fR\|(1), \fIspkac\fR\|(1), \fIx509\fR\|(1), \s-1\fICA\s0.pl\fR\|(1), +\&\fIconfig\fR\|(5), \fIx509v3_config\fR\|(5) +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man1/ciphers.1 b/linux_amd64/share/man/man1/ciphers.1 new file mode 100644 index 0000000..c5f58bc --- /dev/null +++ b/linux_amd64/share/man/man1/ciphers.1 @@ -0,0 +1,859 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "CIPHERS 1" +.TH CIPHERS 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +openssl\-ciphers, ciphers \- SSL cipher display and cipher list tool +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBopenssl\fR \fBciphers\fR +[\fB\-help\fR] +[\fB\-s\fR] +[\fB\-v\fR] +[\fB\-V\fR] +[\fB\-ssl3\fR] +[\fB\-tls1\fR] +[\fB\-tls1_1\fR] +[\fB\-tls1_2\fR] +[\fB\-tls1_3\fR] +[\fB\-s\fR] +[\fB\-psk\fR] +[\fB\-srp\fR] +[\fB\-stdname\fR] +[\fB\-convert name\fR] +[\fB\-ciphersuites val\fR] +[\fBcipherlist\fR] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The \fBciphers\fR command converts textual OpenSSL cipher lists into ordered +\&\s-1SSL\s0 cipher preference lists. It can be used as a test tool to determine +the appropriate cipherlist. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-help\fR" 4 +.IX Item "-help" +Print a usage message. +.IP "\fB\-s\fR" 4 +.IX Item "-s" +Only list supported ciphers: those consistent with the security level, and +minimum and maximum protocol version. This is closer to the actual cipher list +an application will support. +.Sp +\&\s-1PSK\s0 and \s-1SRP\s0 ciphers are not enabled by default: they require \fB\-psk\fR or \fB\-srp\fR +to enable them. +.Sp +It also does not change the default list of supported signature algorithms. +.Sp +On a server the list of supported ciphers might also exclude other ciphers +depending on the configured certificates and presence of \s-1DH\s0 parameters. +.Sp +If this option is not used then all ciphers that match the cipherlist will be +listed. +.IP "\fB\-psk\fR" 4 +.IX Item "-psk" +When combined with \fB\-s\fR includes cipher suites which require \s-1PSK\s0. +.IP "\fB\-srp\fR" 4 +.IX Item "-srp" +When combined with \fB\-s\fR includes cipher suites which require \s-1SRP\s0. +.IP "\fB\-v\fR" 4 +.IX Item "-v" +Verbose output: For each cipher suite, list details as provided by +\&\fISSL_CIPHER_description\fR\|(3). +.IP "\fB\-V\fR" 4 +.IX Item "-V" +Like \fB\-v\fR, but include the official cipher suite values in hex. +.IP "\fB\-tls1_3\fR, \fB\-tls1_2\fR, \fB\-tls1_1\fR, \fB\-tls1\fR, \fB\-ssl3\fR" 4 +.IX Item "-tls1_3, -tls1_2, -tls1_1, -tls1, -ssl3" +In combination with the \fB\-s\fR option, list the ciphers which could be used if +the specified protocol were negotiated. +Note that not all protocols and flags may be available, depending on how +OpenSSL was built. +.IP "\fB\-stdname\fR" 4 +.IX Item "-stdname" +Precede each cipher suite by its standard name. +.IP "\fB\-convert name\fR" 4 +.IX Item "-convert name" +Convert a standard cipher \fBname\fR to its OpenSSL name. +.IP "\fB\-ciphersuites val\fR" 4 +.IX Item "-ciphersuites val" +Sets the list of TLSv1.3 ciphersuites. This list will be combined with any +TLSv1.2 and below ciphersuites that have been configured. The format for this +list is a simple colon (\*(L":\*(R") separated list of TLSv1.3 ciphersuite names. By +default this value is: +.Sp +.Vb 1 +\& TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256 +.Ve +.IP "\fBcipherlist\fR" 4 +.IX Item "cipherlist" +A cipher list of TLSv1.2 and below ciphersuites to convert to a cipher +preference list. This list will be combined with any TLSv1.3 ciphersuites that +have been configured. If it is not included then the default cipher list will be +used. The format is described below. +.SH "CIPHER LIST FORMAT" +.IX Header "CIPHER LIST FORMAT" +The cipher list consists of one or more \fIcipher strings\fR separated by colons. +Commas or spaces are also acceptable separators but colons are normally used. +.PP +The actual cipher string can take several different forms. +.PP +It can consist of a single cipher suite such as \fB\s-1RC4\-SHA\s0\fR. +.PP +It can represent a list of cipher suites containing a certain algorithm, or +cipher suites of a certain type. For example \fB\s-1SHA1\s0\fR represents all ciphers +suites using the digest algorithm \s-1SHA1\s0 and \fBSSLv3\fR represents all \s-1SSL\s0 v3 +algorithms. +.PP +Lists of cipher suites can be combined in a single cipher string using the +\&\fB+\fR character. This is used as a logical \fBand\fR operation. For example +\&\fB\s-1SHA1+DES\s0\fR represents all cipher suites containing the \s-1SHA1\s0 \fBand\fR the \s-1DES\s0 +algorithms. +.PP +Each cipher string can be optionally preceded by the characters \fB!\fR, +\&\fB\-\fR or \fB+\fR. +.PP +If \fB!\fR is used then the ciphers are permanently deleted from the list. +The ciphers deleted can never reappear in the list even if they are +explicitly stated. +.PP +If \fB\-\fR is used then the ciphers are deleted from the list, but some or +all of the ciphers can be added again by later options. +.PP +If \fB+\fR is used then the ciphers are moved to the end of the list. This +option doesn't add any new ciphers it just moves matching existing ones. +.PP +If none of these characters is present then the string is just interpreted +as a list of ciphers to be appended to the current preference list. If the +list includes any ciphers already present they will be ignored: that is they +will not moved to the end of the list. +.PP +The cipher string \fB\f(CB@STRENGTH\fB\fR can be used at any point to sort the current +cipher list in order of encryption algorithm key length. +.PP +The cipher string \fB\f(CB@SECLEVEL\fB=n\fR can be used at any point to set the security +level to \fBn\fR, which should be a number between zero and five, inclusive. +See SSL_CTX_set_security_level for a description of what each level means. +.PP +The cipher list can be prefixed with the \fB\s-1DEFAULT\s0\fR keyword, which enables +the default cipher list as defined below. Unlike cipher strings, +this prefix may not be combined with other strings using \fB+\fR character. +For example, \fB\s-1DEFAULT+DES\s0\fR is not valid. +.PP +The content of the default list is determined at compile time and normally +corresponds to \fB\s-1ALL:\s0!COMPLEMENTOFDEFAULT:!eNULL\fR. +.SH "CIPHER STRINGS" +.IX Header "CIPHER STRINGS" +The following is a list of all permitted cipher strings and their meanings. +.IP "\fB\s-1COMPLEMENTOFDEFAULT\s0\fR" 4 +.IX Item "COMPLEMENTOFDEFAULT" +The ciphers included in \fB\s-1ALL\s0\fR, but not enabled by default. Currently +this includes all \s-1RC4\s0 and anonymous ciphers. Note that this rule does +not cover \fBeNULL\fR, which is not included by \fB\s-1ALL\s0\fR (use \fB\s-1COMPLEMENTOFALL\s0\fR if +necessary). Note that \s-1RC4\s0 based cipher suites are not built into OpenSSL by +default (see the enable-weak-ssl-ciphers option to Configure). +.IP "\fB\s-1ALL\s0\fR" 4 +.IX Item "ALL" +All cipher suites except the \fBeNULL\fR ciphers (which must be explicitly enabled +if needed). +As of OpenSSL 1.0.0, the \fB\s-1ALL\s0\fR cipher suites are sensibly ordered by default. +.IP "\fB\s-1COMPLEMENTOFALL\s0\fR" 4 +.IX Item "COMPLEMENTOFALL" +The cipher suites not enabled by \fB\s-1ALL\s0\fR, currently \fBeNULL\fR. +.IP "\fB\s-1HIGH\s0\fR" 4 +.IX Item "HIGH" +\&\*(L"High\*(R" encryption cipher suites. This currently means those with key lengths +larger than 128 bits, and some cipher suites with 128\-bit keys. +.IP "\fB\s-1MEDIUM\s0\fR" 4 +.IX Item "MEDIUM" +\&\*(L"Medium\*(R" encryption cipher suites, currently some of those using 128 bit +encryption. +.IP "\fB\s-1LOW\s0\fR" 4 +.IX Item "LOW" +\&\*(L"Low\*(R" encryption cipher suites, currently those using 64 or 56 bit +encryption algorithms but excluding export cipher suites. All these +cipher suites have been removed as of OpenSSL 1.1.0. +.IP "\fBeNULL\fR, \fB\s-1NULL\s0\fR" 4 +.IX Item "eNULL, NULL" +The \*(L"\s-1NULL\s0\*(R" ciphers that is those offering no encryption. Because these offer no +encryption at all and are a security risk they are not enabled via either the +\&\fB\s-1DEFAULT\s0\fR or \fB\s-1ALL\s0\fR cipher strings. +Be careful when building cipherlists out of lower-level primitives such as +\&\fBkRSA\fR or \fBaECDSA\fR as these do overlap with the \fBeNULL\fR ciphers. When in +doubt, include \fB!eNULL\fR in your cipherlist. +.IP "\fBaNULL\fR" 4 +.IX Item "aNULL" +The cipher suites offering no authentication. This is currently the anonymous +\&\s-1DH\s0 algorithms and anonymous \s-1ECDH\s0 algorithms. These cipher suites are vulnerable +to \*(L"man in the middle\*(R" attacks and so their use is discouraged. +These are excluded from the \fB\s-1DEFAULT\s0\fR ciphers, but included in the \fB\s-1ALL\s0\fR +ciphers. +Be careful when building cipherlists out of lower-level primitives such as +\&\fBkDHE\fR or \fB\s-1AES\s0\fR as these do overlap with the \fBaNULL\fR ciphers. +When in doubt, include \fB!aNULL\fR in your cipherlist. +.IP "\fBkRSA\fR, \fBaRSA\fR, \fB\s-1RSA\s0\fR" 4 +.IX Item "kRSA, aRSA, RSA" +Cipher suites using \s-1RSA\s0 key exchange or authentication. \fB\s-1RSA\s0\fR is an alias for +\&\fBkRSA\fR. +.IP "\fBkDHr\fR, \fBkDHd\fR, \fBkDH\fR" 4 +.IX Item "kDHr, kDHd, kDH" +Cipher suites using static \s-1DH\s0 key agreement and \s-1DH\s0 certificates signed by CAs +with \s-1RSA\s0 and \s-1DSS\s0 keys or either respectively. +All these cipher suites have been removed in OpenSSL 1.1.0. +.IP "\fBkDHE\fR, \fBkEDH\fR, \fB\s-1DH\s0\fR" 4 +.IX Item "kDHE, kEDH, DH" +Cipher suites using ephemeral \s-1DH\s0 key agreement, including anonymous cipher +suites. +.IP "\fB\s-1DHE\s0\fR, \fB\s-1EDH\s0\fR" 4 +.IX Item "DHE, EDH" +Cipher suites using authenticated ephemeral \s-1DH\s0 key agreement. +.IP "\fB\s-1ADH\s0\fR" 4 +.IX Item "ADH" +Anonymous \s-1DH\s0 cipher suites, note that this does not include anonymous Elliptic +Curve \s-1DH\s0 (\s-1ECDH\s0) cipher suites. +.IP "\fBkEECDH\fR, \fBkECDHE\fR, \fB\s-1ECDH\s0\fR" 4 +.IX Item "kEECDH, kECDHE, ECDH" +Cipher suites using ephemeral \s-1ECDH\s0 key agreement, including anonymous +cipher suites. +.IP "\fB\s-1ECDHE\s0\fR, \fB\s-1EECDH\s0\fR" 4 +.IX Item "ECDHE, EECDH" +Cipher suites using authenticated ephemeral \s-1ECDH\s0 key agreement. +.IP "\fB\s-1AECDH\s0\fR" 4 +.IX Item "AECDH" +Anonymous Elliptic Curve Diffie-Hellman cipher suites. +.IP "\fBaDSS\fR, \fB\s-1DSS\s0\fR" 4 +.IX Item "aDSS, DSS" +Cipher suites using \s-1DSS\s0 authentication, i.e. the certificates carry \s-1DSS\s0 keys. +.IP "\fBaDH\fR" 4 +.IX Item "aDH" +Cipher suites effectively using \s-1DH\s0 authentication, i.e. the certificates carry +\&\s-1DH\s0 keys. +All these cipher suites have been removed in OpenSSL 1.1.0. +.IP "\fBaECDSA\fR, \fB\s-1ECDSA\s0\fR" 4 +.IX Item "aECDSA, ECDSA" +Cipher suites using \s-1ECDSA\s0 authentication, i.e. the certificates carry \s-1ECDSA\s0 +keys. +.IP "\fBTLSv1.2\fR, \fBTLSv1.0\fR, \fBSSLv3\fR" 4 +.IX Item "TLSv1.2, TLSv1.0, SSLv3" +Lists cipher suites which are only supported in at least \s-1TLS\s0 v1.2, \s-1TLS\s0 v1.0 or +\&\s-1SSL\s0 v3.0 respectively. +Note: there are no cipher suites specific to \s-1TLS\s0 v1.1. +Since this is only the minimum version, if, for example, TLSv1.0 is negotiated +then both TLSv1.0 and SSLv3.0 cipher suites are available. +.Sp +Note: these cipher strings \fBdo not\fR change the negotiated version of \s-1SSL\s0 or +\&\s-1TLS\s0, they only affect the list of available cipher suites. +.IP "\fB\s-1AES128\s0\fR, \fB\s-1AES256\s0\fR, \fB\s-1AES\s0\fR" 4 +.IX Item "AES128, AES256, AES" +cipher suites using 128 bit \s-1AES\s0, 256 bit \s-1AES\s0 or either 128 or 256 bit \s-1AES\s0. +.IP "\fB\s-1AESGCM\s0\fR" 4 +.IX Item "AESGCM" +\&\s-1AES\s0 in Galois Counter Mode (\s-1GCM\s0): these cipher suites are only supported +in \s-1TLS\s0 v1.2. +.IP "\fB\s-1AESCCM\s0\fR, \fB\s-1AESCCM8\s0\fR" 4 +.IX Item "AESCCM, AESCCM8" +\&\s-1AES\s0 in Cipher Block Chaining \- Message Authentication Mode (\s-1CCM\s0): these +cipher suites are only supported in \s-1TLS\s0 v1.2. \fB\s-1AESCCM\s0\fR references \s-1CCM\s0 +cipher suites using both 16 and 8 octet Integrity Check Value (\s-1ICV\s0) +while \fB\s-1AESCCM8\s0\fR only references 8 octet \s-1ICV\s0. +.IP "\fB\s-1ARIA128\s0\fR, \fB\s-1ARIA256\s0\fR, \fB\s-1ARIA\s0\fR" 4 +.IX Item "ARIA128, ARIA256, ARIA" +Cipher suites using 128 bit \s-1ARIA\s0, 256 bit \s-1ARIA\s0 or either 128 or 256 bit +\&\s-1ARIA\s0. +.IP "\fB\s-1CAMELLIA128\s0\fR, \fB\s-1CAMELLIA256\s0\fR, \fB\s-1CAMELLIA\s0\fR" 4 +.IX Item "CAMELLIA128, CAMELLIA256, CAMELLIA" +Cipher suites using 128 bit \s-1CAMELLIA\s0, 256 bit \s-1CAMELLIA\s0 or either 128 or 256 bit +\&\s-1CAMELLIA\s0. +.IP "\fB\s-1CHACHA20\s0\fR" 4 +.IX Item "CHACHA20" +Cipher suites using ChaCha20. +.IP "\fB3DES\fR" 4 +.IX Item "3DES" +Cipher suites using triple \s-1DES\s0. +.IP "\fB\s-1DES\s0\fR" 4 +.IX Item "DES" +Cipher suites using \s-1DES\s0 (not triple \s-1DES\s0). +All these cipher suites have been removed in OpenSSL 1.1.0. +.IP "\fB\s-1RC4\s0\fR" 4 +.IX Item "RC4" +Cipher suites using \s-1RC4\s0. +.IP "\fB\s-1RC2\s0\fR" 4 +.IX Item "RC2" +Cipher suites using \s-1RC2\s0. +.IP "\fB\s-1IDEA\s0\fR" 4 +.IX Item "IDEA" +Cipher suites using \s-1IDEA\s0. +.IP "\fB\s-1SEED\s0\fR" 4 +.IX Item "SEED" +Cipher suites using \s-1SEED\s0. +.IP "\fB\s-1MD5\s0\fR" 4 +.IX Item "MD5" +Cipher suites using \s-1MD5\s0. +.IP "\fB\s-1SHA1\s0\fR, \fB\s-1SHA\s0\fR" 4 +.IX Item "SHA1, SHA" +Cipher suites using \s-1SHA1\s0. +.IP "\fB\s-1SHA256\s0\fR, \fB\s-1SHA384\s0\fR" 4 +.IX Item "SHA256, SHA384" +Cipher suites using \s-1SHA256\s0 or \s-1SHA384\s0. +.IP "\fBaGOST\fR" 4 +.IX Item "aGOST" +Cipher suites using \s-1GOST\s0 R 34.10 (either 2001 or 94) for authentication +(needs an engine supporting \s-1GOST\s0 algorithms). +.IP "\fBaGOST01\fR" 4 +.IX Item "aGOST01" +Cipher suites using \s-1GOST\s0 R 34.10\-2001 authentication. +.IP "\fBkGOST\fR" 4 +.IX Item "kGOST" +Cipher suites, using \s-1VKO\s0 34.10 key exchange, specified in the \s-1RFC\s0 4357. +.IP "\fB\s-1GOST94\s0\fR" 4 +.IX Item "GOST94" +Cipher suites, using \s-1HMAC\s0 based on \s-1GOST\s0 R 34.11\-94. +.IP "\fB\s-1GOST89MAC\s0\fR" 4 +.IX Item "GOST89MAC" +Cipher suites using \s-1GOST\s0 28147\-89 \s-1MAC\s0 \fBinstead of\fR \s-1HMAC\s0. +.IP "\fB\s-1PSK\s0\fR" 4 +.IX Item "PSK" +All cipher suites using pre-shared keys (\s-1PSK\s0). +.IP "\fBkPSK\fR, \fBkECDHEPSK\fR, \fBkDHEPSK\fR, \fBkRSAPSK\fR" 4 +.IX Item "kPSK, kECDHEPSK, kDHEPSK, kRSAPSK" +Cipher suites using \s-1PSK\s0 key exchange, \s-1ECDHE_PSK\s0, \s-1DHE_PSK\s0 or \s-1RSA_PSK\s0. +.IP "\fBaPSK\fR" 4 +.IX Item "aPSK" +Cipher suites using \s-1PSK\s0 authentication (currently all \s-1PSK\s0 modes apart from +\&\s-1RSA_PSK\s0). +.IP "\fB\s-1SUITEB128\s0\fR, \fB\s-1SUITEB128ONLY\s0\fR, \fB\s-1SUITEB192\s0\fR" 4 +.IX Item "SUITEB128, SUITEB128ONLY, SUITEB192" +Enables suite B mode of operation using 128 (permitting 192 bit mode by peer) +128 bit (not permitting 192 bit by peer) or 192 bit level of security +respectively. +If used these cipherstrings should appear first in the cipher +list and anything after them is ignored. +Setting Suite B mode has additional consequences required to comply with +\&\s-1RFC6460\s0. +In particular the supported signature algorithms is reduced to support only +\&\s-1ECDSA\s0 and \s-1SHA256\s0 or \s-1SHA384\s0, only the elliptic curves P\-256 and P\-384 can be +used and only the two suite B compliant cipher suites +(\s-1ECDHE\-ECDSA\-AES128\-GCM\-SHA256\s0 and \s-1ECDHE\-ECDSA\-AES256\-GCM\-SHA384\s0) are +permissible. +.SH "CIPHER SUITE NAMES" +.IX Header "CIPHER SUITE NAMES" +The following lists give the \s-1SSL\s0 or \s-1TLS\s0 cipher suites names from the +relevant specification and their OpenSSL equivalents. It should be noted, +that several cipher suite names do not include the authentication used, +e.g. \s-1DES\-CBC3\-SHA\s0. In these cases, \s-1RSA\s0 authentication is used. +.SS "\s-1SSL\s0 v3.0 cipher suites" +.IX Subsection "SSL v3.0 cipher suites" +.Vb 6 +\& SSL_RSA_WITH_NULL_MD5 NULL\-MD5 +\& SSL_RSA_WITH_NULL_SHA NULL\-SHA +\& SSL_RSA_WITH_RC4_128_MD5 RC4\-MD5 +\& SSL_RSA_WITH_RC4_128_SHA RC4\-SHA +\& SSL_RSA_WITH_IDEA_CBC_SHA IDEA\-CBC\-SHA +\& SSL_RSA_WITH_3DES_EDE_CBC_SHA DES\-CBC3\-SHA +\& +\& SSL_DH_DSS_WITH_3DES_EDE_CBC_SHA DH\-DSS\-DES\-CBC3\-SHA +\& SSL_DH_RSA_WITH_3DES_EDE_CBC_SHA DH\-RSA\-DES\-CBC3\-SHA +\& SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA DHE\-DSS\-DES\-CBC3\-SHA +\& SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA DHE\-RSA\-DES\-CBC3\-SHA +\& +\& SSL_DH_anon_WITH_RC4_128_MD5 ADH\-RC4\-MD5 +\& SSL_DH_anon_WITH_3DES_EDE_CBC_SHA ADH\-DES\-CBC3\-SHA +\& +\& SSL_FORTEZZA_KEA_WITH_NULL_SHA Not implemented. +\& SSL_FORTEZZA_KEA_WITH_FORTEZZA_CBC_SHA Not implemented. +\& SSL_FORTEZZA_KEA_WITH_RC4_128_SHA Not implemented. +.Ve +.SS "\s-1TLS\s0 v1.0 cipher suites" +.IX Subsection "TLS v1.0 cipher suites" +.Vb 6 +\& TLS_RSA_WITH_NULL_MD5 NULL\-MD5 +\& TLS_RSA_WITH_NULL_SHA NULL\-SHA +\& TLS_RSA_WITH_RC4_128_MD5 RC4\-MD5 +\& TLS_RSA_WITH_RC4_128_SHA RC4\-SHA +\& TLS_RSA_WITH_IDEA_CBC_SHA IDEA\-CBC\-SHA +\& TLS_RSA_WITH_3DES_EDE_CBC_SHA DES\-CBC3\-SHA +\& +\& TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA Not implemented. +\& TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA Not implemented. +\& TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA DHE\-DSS\-DES\-CBC3\-SHA +\& TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA DHE\-RSA\-DES\-CBC3\-SHA +\& +\& TLS_DH_anon_WITH_RC4_128_MD5 ADH\-RC4\-MD5 +\& TLS_DH_anon_WITH_3DES_EDE_CBC_SHA ADH\-DES\-CBC3\-SHA +.Ve +.SS "\s-1AES\s0 cipher suites from \s-1RFC3268\s0, extending \s-1TLS\s0 v1.0" +.IX Subsection "AES cipher suites from RFC3268, extending TLS v1.0" +.Vb 2 +\& TLS_RSA_WITH_AES_128_CBC_SHA AES128\-SHA +\& TLS_RSA_WITH_AES_256_CBC_SHA AES256\-SHA +\& +\& TLS_DH_DSS_WITH_AES_128_CBC_SHA DH\-DSS\-AES128\-SHA +\& TLS_DH_DSS_WITH_AES_256_CBC_SHA DH\-DSS\-AES256\-SHA +\& TLS_DH_RSA_WITH_AES_128_CBC_SHA DH\-RSA\-AES128\-SHA +\& TLS_DH_RSA_WITH_AES_256_CBC_SHA DH\-RSA\-AES256\-SHA +\& +\& TLS_DHE_DSS_WITH_AES_128_CBC_SHA DHE\-DSS\-AES128\-SHA +\& TLS_DHE_DSS_WITH_AES_256_CBC_SHA DHE\-DSS\-AES256\-SHA +\& TLS_DHE_RSA_WITH_AES_128_CBC_SHA DHE\-RSA\-AES128\-SHA +\& TLS_DHE_RSA_WITH_AES_256_CBC_SHA DHE\-RSA\-AES256\-SHA +\& +\& TLS_DH_anon_WITH_AES_128_CBC_SHA ADH\-AES128\-SHA +\& TLS_DH_anon_WITH_AES_256_CBC_SHA ADH\-AES256\-SHA +.Ve +.SS "Camellia cipher suites from \s-1RFC4132\s0, extending \s-1TLS\s0 v1.0" +.IX Subsection "Camellia cipher suites from RFC4132, extending TLS v1.0" +.Vb 2 +\& TLS_RSA_WITH_CAMELLIA_128_CBC_SHA CAMELLIA128\-SHA +\& TLS_RSA_WITH_CAMELLIA_256_CBC_SHA CAMELLIA256\-SHA +\& +\& TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA DH\-DSS\-CAMELLIA128\-SHA +\& TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA DH\-DSS\-CAMELLIA256\-SHA +\& TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA DH\-RSA\-CAMELLIA128\-SHA +\& TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA DH\-RSA\-CAMELLIA256\-SHA +\& +\& TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA DHE\-DSS\-CAMELLIA128\-SHA +\& TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA DHE\-DSS\-CAMELLIA256\-SHA +\& TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA DHE\-RSA\-CAMELLIA128\-SHA +\& TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA DHE\-RSA\-CAMELLIA256\-SHA +\& +\& TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA ADH\-CAMELLIA128\-SHA +\& TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA ADH\-CAMELLIA256\-SHA +.Ve +.SS "\s-1SEED\s0 cipher suites from \s-1RFC4162\s0, extending \s-1TLS\s0 v1.0" +.IX Subsection "SEED cipher suites from RFC4162, extending TLS v1.0" +.Vb 1 +\& TLS_RSA_WITH_SEED_CBC_SHA SEED\-SHA +\& +\& TLS_DH_DSS_WITH_SEED_CBC_SHA DH\-DSS\-SEED\-SHA +\& TLS_DH_RSA_WITH_SEED_CBC_SHA DH\-RSA\-SEED\-SHA +\& +\& TLS_DHE_DSS_WITH_SEED_CBC_SHA DHE\-DSS\-SEED\-SHA +\& TLS_DHE_RSA_WITH_SEED_CBC_SHA DHE\-RSA\-SEED\-SHA +\& +\& TLS_DH_anon_WITH_SEED_CBC_SHA ADH\-SEED\-SHA +.Ve +.SS "\s-1GOST\s0 cipher suites from draft-chudov-cryptopro-cptls, extending \s-1TLS\s0 v1.0" +.IX Subsection "GOST cipher suites from draft-chudov-cryptopro-cptls, extending TLS v1.0" +Note: these ciphers require an engine which including \s-1GOST\s0 cryptographic +algorithms, such as the \fBccgost\fR engine, included in the OpenSSL distribution. +.PP +.Vb 4 +\& TLS_GOSTR341094_WITH_28147_CNT_IMIT GOST94\-GOST89\-GOST89 +\& TLS_GOSTR341001_WITH_28147_CNT_IMIT GOST2001\-GOST89\-GOST89 +\& TLS_GOSTR341094_WITH_NULL_GOSTR3411 GOST94\-NULL\-GOST94 +\& TLS_GOSTR341001_WITH_NULL_GOSTR3411 GOST2001\-NULL\-GOST94 +.Ve +.SS "Additional Export 1024 and other cipher suites" +.IX Subsection "Additional Export 1024 and other cipher suites" +Note: these ciphers can also be used in \s-1SSL\s0 v3. +.PP +.Vb 1 +\& TLS_DHE_DSS_WITH_RC4_128_SHA DHE\-DSS\-RC4\-SHA +.Ve +.SS "Elliptic curve cipher suites." +.IX Subsection "Elliptic curve cipher suites." +.Vb 5 +\& TLS_ECDHE_RSA_WITH_NULL_SHA ECDHE\-RSA\-NULL\-SHA +\& TLS_ECDHE_RSA_WITH_RC4_128_SHA ECDHE\-RSA\-RC4\-SHA +\& TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA ECDHE\-RSA\-DES\-CBC3\-SHA +\& TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA ECDHE\-RSA\-AES128\-SHA +\& TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA ECDHE\-RSA\-AES256\-SHA +\& +\& TLS_ECDHE_ECDSA_WITH_NULL_SHA ECDHE\-ECDSA\-NULL\-SHA +\& TLS_ECDHE_ECDSA_WITH_RC4_128_SHA ECDHE\-ECDSA\-RC4\-SHA +\& TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA ECDHE\-ECDSA\-DES\-CBC3\-SHA +\& TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA ECDHE\-ECDSA\-AES128\-SHA +\& TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA ECDHE\-ECDSA\-AES256\-SHA +\& +\& TLS_ECDH_anon_WITH_NULL_SHA AECDH\-NULL\-SHA +\& TLS_ECDH_anon_WITH_RC4_128_SHA AECDH\-RC4\-SHA +\& TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA AECDH\-DES\-CBC3\-SHA +\& TLS_ECDH_anon_WITH_AES_128_CBC_SHA AECDH\-AES128\-SHA +\& TLS_ECDH_anon_WITH_AES_256_CBC_SHA AECDH\-AES256\-SHA +.Ve +.SS "\s-1TLS\s0 v1.2 cipher suites" +.IX Subsection "TLS v1.2 cipher suites" +.Vb 1 +\& TLS_RSA_WITH_NULL_SHA256 NULL\-SHA256 +\& +\& TLS_RSA_WITH_AES_128_CBC_SHA256 AES128\-SHA256 +\& TLS_RSA_WITH_AES_256_CBC_SHA256 AES256\-SHA256 +\& TLS_RSA_WITH_AES_128_GCM_SHA256 AES128\-GCM\-SHA256 +\& TLS_RSA_WITH_AES_256_GCM_SHA384 AES256\-GCM\-SHA384 +\& +\& TLS_DH_RSA_WITH_AES_128_CBC_SHA256 DH\-RSA\-AES128\-SHA256 +\& TLS_DH_RSA_WITH_AES_256_CBC_SHA256 DH\-RSA\-AES256\-SHA256 +\& TLS_DH_RSA_WITH_AES_128_GCM_SHA256 DH\-RSA\-AES128\-GCM\-SHA256 +\& TLS_DH_RSA_WITH_AES_256_GCM_SHA384 DH\-RSA\-AES256\-GCM\-SHA384 +\& +\& TLS_DH_DSS_WITH_AES_128_CBC_SHA256 DH\-DSS\-AES128\-SHA256 +\& TLS_DH_DSS_WITH_AES_256_CBC_SHA256 DH\-DSS\-AES256\-SHA256 +\& TLS_DH_DSS_WITH_AES_128_GCM_SHA256 DH\-DSS\-AES128\-GCM\-SHA256 +\& TLS_DH_DSS_WITH_AES_256_GCM_SHA384 DH\-DSS\-AES256\-GCM\-SHA384 +\& +\& TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 DHE\-RSA\-AES128\-SHA256 +\& TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 DHE\-RSA\-AES256\-SHA256 +\& TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 DHE\-RSA\-AES128\-GCM\-SHA256 +\& TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 DHE\-RSA\-AES256\-GCM\-SHA384 +\& +\& TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 DHE\-DSS\-AES128\-SHA256 +\& TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 DHE\-DSS\-AES256\-SHA256 +\& TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 DHE\-DSS\-AES128\-GCM\-SHA256 +\& TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 DHE\-DSS\-AES256\-GCM\-SHA384 +\& +\& TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 ECDHE\-RSA\-AES128\-SHA256 +\& TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 ECDHE\-RSA\-AES256\-SHA384 +\& TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ECDHE\-RSA\-AES128\-GCM\-SHA256 +\& TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 ECDHE\-RSA\-AES256\-GCM\-SHA384 +\& +\& TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 ECDHE\-ECDSA\-AES128\-SHA256 +\& TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 ECDHE\-ECDSA\-AES256\-SHA384 +\& TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 ECDHE\-ECDSA\-AES128\-GCM\-SHA256 +\& TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 ECDHE\-ECDSA\-AES256\-GCM\-SHA384 +\& +\& TLS_DH_anon_WITH_AES_128_CBC_SHA256 ADH\-AES128\-SHA256 +\& TLS_DH_anon_WITH_AES_256_CBC_SHA256 ADH\-AES256\-SHA256 +\& TLS_DH_anon_WITH_AES_128_GCM_SHA256 ADH\-AES128\-GCM\-SHA256 +\& TLS_DH_anon_WITH_AES_256_GCM_SHA384 ADH\-AES256\-GCM\-SHA384 +\& +\& RSA_WITH_AES_128_CCM AES128\-CCM +\& RSA_WITH_AES_256_CCM AES256\-CCM +\& DHE_RSA_WITH_AES_128_CCM DHE\-RSA\-AES128\-CCM +\& DHE_RSA_WITH_AES_256_CCM DHE\-RSA\-AES256\-CCM +\& RSA_WITH_AES_128_CCM_8 AES128\-CCM8 +\& RSA_WITH_AES_256_CCM_8 AES256\-CCM8 +\& DHE_RSA_WITH_AES_128_CCM_8 DHE\-RSA\-AES128\-CCM8 +\& DHE_RSA_WITH_AES_256_CCM_8 DHE\-RSA\-AES256\-CCM8 +\& ECDHE_ECDSA_WITH_AES_128_CCM ECDHE\-ECDSA\-AES128\-CCM +\& ECDHE_ECDSA_WITH_AES_256_CCM ECDHE\-ECDSA\-AES256\-CCM +\& ECDHE_ECDSA_WITH_AES_128_CCM_8 ECDHE\-ECDSA\-AES128\-CCM8 +\& ECDHE_ECDSA_WITH_AES_256_CCM_8 ECDHE\-ECDSA\-AES256\-CCM8 +.Ve +.SS "\s-1ARIA\s0 cipher suites from \s-1RFC6209\s0, extending \s-1TLS\s0 v1.2" +.IX Subsection "ARIA cipher suites from RFC6209, extending TLS v1.2" +Note: the \s-1CBC\s0 modes mentioned in this \s-1RFC\s0 are not supported. +.PP +.Vb 10 +\& TLS_RSA_WITH_ARIA_128_GCM_SHA256 ARIA128\-GCM\-SHA256 +\& TLS_RSA_WITH_ARIA_256_GCM_SHA384 ARIA256\-GCM\-SHA384 +\& TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256 DHE\-RSA\-ARIA128\-GCM\-SHA256 +\& TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384 DHE\-RSA\-ARIA256\-GCM\-SHA384 +\& TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256 DHE\-DSS\-ARIA128\-GCM\-SHA256 +\& TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384 DHE\-DSS\-ARIA256\-GCM\-SHA384 +\& TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256 ECDHE\-ECDSA\-ARIA128\-GCM\-SHA256 +\& TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384 ECDHE\-ECDSA\-ARIA256\-GCM\-SHA384 +\& TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256 ECDHE\-ARIA128\-GCM\-SHA256 +\& TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384 ECDHE\-ARIA256\-GCM\-SHA384 +\& TLS_PSK_WITH_ARIA_128_GCM_SHA256 PSK\-ARIA128\-GCM\-SHA256 +\& TLS_PSK_WITH_ARIA_256_GCM_SHA384 PSK\-ARIA256\-GCM\-SHA384 +\& TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256 DHE\-PSK\-ARIA128\-GCM\-SHA256 +\& TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384 DHE\-PSK\-ARIA256\-GCM\-SHA384 +\& TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256 RSA\-PSK\-ARIA128\-GCM\-SHA256 +\& TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384 RSA\-PSK\-ARIA256\-GCM\-SHA384 +.Ve +.SS "Camellia HMAC-Based cipher suites from \s-1RFC6367\s0, extending \s-1TLS\s0 v1.2" +.IX Subsection "Camellia HMAC-Based cipher suites from RFC6367, extending TLS v1.2" +.Vb 4 +\& TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 ECDHE\-ECDSA\-CAMELLIA128\-SHA256 +\& TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 ECDHE\-ECDSA\-CAMELLIA256\-SHA384 +\& TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 ECDHE\-RSA\-CAMELLIA128\-SHA256 +\& TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 ECDHE\-RSA\-CAMELLIA256\-SHA384 +.Ve +.SS "Pre-shared keying (\s-1PSK\s0) cipher suites" +.IX Subsection "Pre-shared keying (PSK) cipher suites" +.Vb 3 +\& PSK_WITH_NULL_SHA PSK\-NULL\-SHA +\& DHE_PSK_WITH_NULL_SHA DHE\-PSK\-NULL\-SHA +\& RSA_PSK_WITH_NULL_SHA RSA\-PSK\-NULL\-SHA +\& +\& PSK_WITH_RC4_128_SHA PSK\-RC4\-SHA +\& PSK_WITH_3DES_EDE_CBC_SHA PSK\-3DES\-EDE\-CBC\-SHA +\& PSK_WITH_AES_128_CBC_SHA PSK\-AES128\-CBC\-SHA +\& PSK_WITH_AES_256_CBC_SHA PSK\-AES256\-CBC\-SHA +\& +\& DHE_PSK_WITH_RC4_128_SHA DHE\-PSK\-RC4\-SHA +\& DHE_PSK_WITH_3DES_EDE_CBC_SHA DHE\-PSK\-3DES\-EDE\-CBC\-SHA +\& DHE_PSK_WITH_AES_128_CBC_SHA DHE\-PSK\-AES128\-CBC\-SHA +\& DHE_PSK_WITH_AES_256_CBC_SHA DHE\-PSK\-AES256\-CBC\-SHA +\& +\& RSA_PSK_WITH_RC4_128_SHA RSA\-PSK\-RC4\-SHA +\& RSA_PSK_WITH_3DES_EDE_CBC_SHA RSA\-PSK\-3DES\-EDE\-CBC\-SHA +\& RSA_PSK_WITH_AES_128_CBC_SHA RSA\-PSK\-AES128\-CBC\-SHA +\& RSA_PSK_WITH_AES_256_CBC_SHA RSA\-PSK\-AES256\-CBC\-SHA +\& +\& PSK_WITH_AES_128_GCM_SHA256 PSK\-AES128\-GCM\-SHA256 +\& PSK_WITH_AES_256_GCM_SHA384 PSK\-AES256\-GCM\-SHA384 +\& DHE_PSK_WITH_AES_128_GCM_SHA256 DHE\-PSK\-AES128\-GCM\-SHA256 +\& DHE_PSK_WITH_AES_256_GCM_SHA384 DHE\-PSK\-AES256\-GCM\-SHA384 +\& RSA_PSK_WITH_AES_128_GCM_SHA256 RSA\-PSK\-AES128\-GCM\-SHA256 +\& RSA_PSK_WITH_AES_256_GCM_SHA384 RSA\-PSK\-AES256\-GCM\-SHA384 +\& +\& PSK_WITH_AES_128_CBC_SHA256 PSK\-AES128\-CBC\-SHA256 +\& PSK_WITH_AES_256_CBC_SHA384 PSK\-AES256\-CBC\-SHA384 +\& PSK_WITH_NULL_SHA256 PSK\-NULL\-SHA256 +\& PSK_WITH_NULL_SHA384 PSK\-NULL\-SHA384 +\& DHE_PSK_WITH_AES_128_CBC_SHA256 DHE\-PSK\-AES128\-CBC\-SHA256 +\& DHE_PSK_WITH_AES_256_CBC_SHA384 DHE\-PSK\-AES256\-CBC\-SHA384 +\& DHE_PSK_WITH_NULL_SHA256 DHE\-PSK\-NULL\-SHA256 +\& DHE_PSK_WITH_NULL_SHA384 DHE\-PSK\-NULL\-SHA384 +\& RSA_PSK_WITH_AES_128_CBC_SHA256 RSA\-PSK\-AES128\-CBC\-SHA256 +\& RSA_PSK_WITH_AES_256_CBC_SHA384 RSA\-PSK\-AES256\-CBC\-SHA384 +\& RSA_PSK_WITH_NULL_SHA256 RSA\-PSK\-NULL\-SHA256 +\& RSA_PSK_WITH_NULL_SHA384 RSA\-PSK\-NULL\-SHA384 +\& PSK_WITH_AES_128_GCM_SHA256 PSK\-AES128\-GCM\-SHA256 +\& PSK_WITH_AES_256_GCM_SHA384 PSK\-AES256\-GCM\-SHA384 +\& +\& ECDHE_PSK_WITH_RC4_128_SHA ECDHE\-PSK\-RC4\-SHA +\& ECDHE_PSK_WITH_3DES_EDE_CBC_SHA ECDHE\-PSK\-3DES\-EDE\-CBC\-SHA +\& ECDHE_PSK_WITH_AES_128_CBC_SHA ECDHE\-PSK\-AES128\-CBC\-SHA +\& ECDHE_PSK_WITH_AES_256_CBC_SHA ECDHE\-PSK\-AES256\-CBC\-SHA +\& ECDHE_PSK_WITH_AES_128_CBC_SHA256 ECDHE\-PSK\-AES128\-CBC\-SHA256 +\& ECDHE_PSK_WITH_AES_256_CBC_SHA384 ECDHE\-PSK\-AES256\-CBC\-SHA384 +\& ECDHE_PSK_WITH_NULL_SHA ECDHE\-PSK\-NULL\-SHA +\& ECDHE_PSK_WITH_NULL_SHA256 ECDHE\-PSK\-NULL\-SHA256 +\& ECDHE_PSK_WITH_NULL_SHA384 ECDHE\-PSK\-NULL\-SHA384 +\& +\& PSK_WITH_CAMELLIA_128_CBC_SHA256 PSK\-CAMELLIA128\-SHA256 +\& PSK_WITH_CAMELLIA_256_CBC_SHA384 PSK\-CAMELLIA256\-SHA384 +\& +\& DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 DHE\-PSK\-CAMELLIA128\-SHA256 +\& DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 DHE\-PSK\-CAMELLIA256\-SHA384 +\& +\& RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256 RSA\-PSK\-CAMELLIA128\-SHA256 +\& RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384 RSA\-PSK\-CAMELLIA256\-SHA384 +\& +\& ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 ECDHE\-PSK\-CAMELLIA128\-SHA256 +\& ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 ECDHE\-PSK\-CAMELLIA256\-SHA384 +\& +\& PSK_WITH_AES_128_CCM PSK\-AES128\-CCM +\& PSK_WITH_AES_256_CCM PSK\-AES256\-CCM +\& DHE_PSK_WITH_AES_128_CCM DHE\-PSK\-AES128\-CCM +\& DHE_PSK_WITH_AES_256_CCM DHE\-PSK\-AES256\-CCM +\& PSK_WITH_AES_128_CCM_8 PSK\-AES128\-CCM8 +\& PSK_WITH_AES_256_CCM_8 PSK\-AES256\-CCM8 +\& DHE_PSK_WITH_AES_128_CCM_8 DHE\-PSK\-AES128\-CCM8 +\& DHE_PSK_WITH_AES_256_CCM_8 DHE\-PSK\-AES256\-CCM8 +.Ve +.SS "ChaCha20\-Poly1305 cipher suites, extending \s-1TLS\s0 v1.2" +.IX Subsection "ChaCha20-Poly1305 cipher suites, extending TLS v1.2" +.Vb 7 +\& TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 ECDHE\-RSA\-CHACHA20\-POLY1305 +\& TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 ECDHE\-ECDSA\-CHACHA20\-POLY1305 +\& TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 DHE\-RSA\-CHACHA20\-POLY1305 +\& TLS_PSK_WITH_CHACHA20_POLY1305_SHA256 PSK\-CHACHA20\-POLY1305 +\& TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256 ECDHE\-PSK\-CHACHA20\-POLY1305 +\& TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256 DHE\-PSK\-CHACHA20\-POLY1305 +\& TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256 RSA\-PSK\-CHACHA20\-POLY1305 +.Ve +.SS "\s-1TLS\s0 v1.3 cipher suites" +.IX Subsection "TLS v1.3 cipher suites" +.Vb 5 +\& TLS_AES_128_GCM_SHA256 TLS_AES_128_GCM_SHA256 +\& TLS_AES_256_GCM_SHA384 TLS_AES_256_GCM_SHA384 +\& TLS_CHACHA20_POLY1305_SHA256 TLS_CHACHA20_POLY1305_SHA256 +\& TLS_AES_128_CCM_SHA256 TLS_AES_128_CCM_SHA256 +\& TLS_AES_128_CCM_8_SHA256 TLS_AES_128_CCM_8_SHA256 +.Ve +.SS "Older names used by OpenSSL" +.IX Subsection "Older names used by OpenSSL" +The following names are accepted by older releases: +.PP +.Vb 2 +\& SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA EDH\-RSA\-DES\-CBC3\-SHA (DHE\-RSA\-DES\-CBC3\-SHA) +\& SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA EDH\-DSS\-DES\-CBC3\-SHA (DHE\-DSS\-DES\-CBC3\-SHA) +.Ve +.SH "NOTES" +.IX Header "NOTES" +Some compiled versions of OpenSSL may not include all the ciphers +listed here because some ciphers were excluded at compile time. +.SH "EXAMPLES" +.IX Header "EXAMPLES" +Verbose listing of all OpenSSL ciphers including \s-1NULL\s0 ciphers: +.PP +.Vb 1 +\& openssl ciphers \-v \*(AqALL:eNULL\*(Aq +.Ve +.PP +Include all ciphers except \s-1NULL\s0 and anonymous \s-1DH\s0 then sort by +strength: +.PP +.Vb 1 +\& openssl ciphers \-v \*(AqALL:!ADH:@STRENGTH\*(Aq +.Ve +.PP +Include all ciphers except ones with no encryption (eNULL) or no +authentication (aNULL): +.PP +.Vb 1 +\& openssl ciphers \-v \*(AqALL:!aNULL\*(Aq +.Ve +.PP +Include only 3DES ciphers and then place \s-1RSA\s0 ciphers last: +.PP +.Vb 1 +\& openssl ciphers \-v \*(Aq3DES:+RSA\*(Aq +.Ve +.PP +Include all \s-1RC4\s0 ciphers but leave out those without authentication: +.PP +.Vb 1 +\& openssl ciphers \-v \*(AqRC4:!COMPLEMENTOFDEFAULT\*(Aq +.Ve +.PP +Include all ciphers with \s-1RSA\s0 authentication but leave out ciphers without +encryption. +.PP +.Vb 1 +\& openssl ciphers \-v \*(AqRSA:!COMPLEMENTOFALL\*(Aq +.Ve +.PP +Set security level to 2 and display all ciphers consistent with level 2: +.PP +.Vb 1 +\& openssl ciphers \-s \-v \*(AqALL:@SECLEVEL=2\*(Aq +.Ve +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIs_client\fR\|(1), \fIs_server\fR\|(1), \fIssl\fR\|(7) +.SH "HISTORY" +.IX Header "HISTORY" +The \fB\-V\fR option for the \fBciphers\fR command was added in OpenSSL 1.0.0. +.PP +The \fB\-stdname\fR is only available if OpenSSL is built with tracing enabled +(\fBenable-ssl-trace\fR argument to Configure) before OpenSSL 1.1.1. +.PP +The \fB\-convert\fR option was added in OpenSSL 1.1.1. +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man1/cms.1 b/linux_amd64/share/man/man1/cms.1 new file mode 100644 index 0000000..e99121c --- /dev/null +++ b/linux_amd64/share/man/man1/cms.1 @@ -0,0 +1,811 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "CMS 1" +.TH CMS 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +openssl\-cms, cms \- CMS utility +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBopenssl\fR \fBcms\fR +[\fB\-help\fR] +[\fB\-encrypt\fR] +[\fB\-decrypt\fR] +[\fB\-sign\fR] +[\fB\-verify\fR] +[\fB\-cmsout\fR] +[\fB\-resign\fR] +[\fB\-data_create\fR] +[\fB\-data_out\fR] +[\fB\-digest_create\fR] +[\fB\-digest_verify\fR] +[\fB\-compress\fR] +[\fB\-uncompress\fR] +[\fB\-EncryptedData_encrypt\fR] +[\fB\-sign_receipt\fR] +[\fB\-verify_receipt receipt\fR] +[\fB\-in filename\fR] +[\fB\-inform SMIME|PEM|DER\fR] +[\fB\-rctform SMIME|PEM|DER\fR] +[\fB\-out filename\fR] +[\fB\-outform SMIME|PEM|DER\fR] +[\fB\-stream \-indef \-noindef\fR] +[\fB\-noindef\fR] +[\fB\-content filename\fR] +[\fB\-text\fR] +[\fB\-noout\fR] +[\fB\-print\fR] +[\fB\-CAfile file\fR] +[\fB\-CApath dir\fR] +[\fB\-no\-CAfile\fR] +[\fB\-no\-CApath\fR] +[\fB\-attime timestamp\fR] +[\fB\-check_ss_sig\fR] +[\fB\-crl_check\fR] +[\fB\-crl_check_all\fR] +[\fB\-explicit_policy\fR] +[\fB\-extended_crl\fR] +[\fB\-ignore_critical\fR] +[\fB\-inhibit_any\fR] +[\fB\-inhibit_map\fR] +[\fB\-no_check_time\fR] +[\fB\-partial_chain\fR] +[\fB\-policy arg\fR] +[\fB\-policy_check\fR] +[\fB\-policy_print\fR] +[\fB\-purpose purpose\fR] +[\fB\-suiteB_128\fR] +[\fB\-suiteB_128_only\fR] +[\fB\-suiteB_192\fR] +[\fB\-trusted_first\fR] +[\fB\-no_alt_chains\fR] +[\fB\-use_deltas\fR] +[\fB\-auth_level num\fR] +[\fB\-verify_depth num\fR] +[\fB\-verify_email email\fR] +[\fB\-verify_hostname hostname\fR] +[\fB\-verify_ip ip\fR] +[\fB\-verify_name name\fR] +[\fB\-x509_strict\fR] +[\fB\-md digest\fR] +[\fB\-\f(BIcipher\fB\fR] +[\fB\-nointern\fR] +[\fB\-noverify\fR] +[\fB\-nocerts\fR] +[\fB\-noattr\fR] +[\fB\-nosmimecap\fR] +[\fB\-binary\fR] +[\fB\-crlfeol\fR] +[\fB\-asciicrlf\fR] +[\fB\-nodetach\fR] +[\fB\-certfile file\fR] +[\fB\-certsout file\fR] +[\fB\-signer file\fR] +[\fB\-recip file\fR] +[\fB\-keyid\fR] +[\fB\-receipt_request_all\fR] +[\fB\-receipt_request_first\fR] +[\fB\-receipt_request_from emailaddress\fR] +[\fB\-receipt_request_to emailaddress\fR] +[\fB\-receipt_request_print\fR] +[\fB\-secretkey key\fR] +[\fB\-secretkeyid id\fR] +[\fB\-econtent_type type\fR] +[\fB\-inkey file\fR] +[\fB\-keyopt name:parameter\fR] +[\fB\-passin arg\fR] +[\fB\-rand file...\fR] +[\fB\-writerand file\fR] +[\fBcert.pem...\fR] +[\fB\-to addr\fR] +[\fB\-from addr\fR] +[\fB\-subject subj\fR] +[cert.pem]... +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The \fBcms\fR command handles S/MIME v3.1 mail. It can encrypt, decrypt, sign and +verify, compress and uncompress S/MIME messages. +.SH "OPTIONS" +.IX Header "OPTIONS" +There are fourteen operation options that set the type of operation to be +performed. The meaning of the other options varies according to the operation +type. +.IP "\fB\-help\fR" 4 +.IX Item "-help" +Print out a usage message. +.IP "\fB\-encrypt\fR" 4 +.IX Item "-encrypt" +Encrypt mail for the given recipient certificates. Input file is the message +to be encrypted. The output file is the encrypted mail in \s-1MIME\s0 format. The +actual \s-1CMS\s0 type is EnvelopedData. +.Sp +Note that no revocation check is done for the recipient cert, so if that +key has been compromised, others may be able to decrypt the text. +.IP "\fB\-decrypt\fR" 4 +.IX Item "-decrypt" +Decrypt mail using the supplied certificate and private key. Expects an +encrypted mail message in \s-1MIME\s0 format for the input file. The decrypted mail +is written to the output file. +.IP "\fB\-debug_decrypt\fR" 4 +.IX Item "-debug_decrypt" +This option sets the \fB\s-1CMS_DEBUG_DECRYPT\s0\fR flag. This option should be used +with caution: see the notes section below. +.IP "\fB\-sign\fR" 4 +.IX Item "-sign" +Sign mail using the supplied certificate and private key. Input file is +the message to be signed. The signed message in \s-1MIME\s0 format is written +to the output file. +.IP "\fB\-verify\fR" 4 +.IX Item "-verify" +Verify signed mail. Expects a signed mail message on input and outputs +the signed data. Both clear text and opaque signing is supported. +.IP "\fB\-cmsout\fR" 4 +.IX Item "-cmsout" +Takes an input message and writes out a \s-1PEM\s0 encoded \s-1CMS\s0 structure. +.IP "\fB\-resign\fR" 4 +.IX Item "-resign" +Resign a message: take an existing message and one or more new signers. +.IP "\fB\-data_create\fR" 4 +.IX Item "-data_create" +Create a \s-1CMS\s0 \fBData\fR type. +.IP "\fB\-data_out\fR" 4 +.IX Item "-data_out" +\&\fBData\fR type and output the content. +.IP "\fB\-digest_create\fR" 4 +.IX Item "-digest_create" +Create a \s-1CMS\s0 \fBDigestedData\fR type. +.IP "\fB\-digest_verify\fR" 4 +.IX Item "-digest_verify" +Verify a \s-1CMS\s0 \fBDigestedData\fR type and output the content. +.IP "\fB\-compress\fR" 4 +.IX Item "-compress" +Create a \s-1CMS\s0 \fBCompressedData\fR type. OpenSSL must be compiled with \fBzlib\fR +support for this option to work, otherwise it will output an error. +.IP "\fB\-uncompress\fR" 4 +.IX Item "-uncompress" +Uncompress a \s-1CMS\s0 \fBCompressedData\fR type and output the content. OpenSSL must be +compiled with \fBzlib\fR support for this option to work, otherwise it will +output an error. +.IP "\fB\-EncryptedData_encrypt\fR" 4 +.IX Item "-EncryptedData_encrypt" +Encrypt content using supplied symmetric key and algorithm using a \s-1CMS\s0 +\&\fBEncryptedData\fR type and output the content. +.IP "\fB\-sign_receipt\fR" 4 +.IX Item "-sign_receipt" +Generate and output a signed receipt for the supplied message. The input +message \fBmust\fR contain a signed receipt request. Functionality is otherwise +similar to the \fB\-sign\fR operation. +.IP "\fB\-verify_receipt receipt\fR" 4 +.IX Item "-verify_receipt receipt" +Verify a signed receipt in filename \fBreceipt\fR. The input message \fBmust\fR +contain the original receipt request. Functionality is otherwise similar +to the \fB\-verify\fR operation. +.IP "\fB\-in filename\fR" 4 +.IX Item "-in filename" +The input message to be encrypted or signed or the message to be decrypted +or verified. +.IP "\fB\-inform SMIME|PEM|DER\fR" 4 +.IX Item "-inform SMIME|PEM|DER" +This specifies the input format for the \s-1CMS\s0 structure. The default +is \fB\s-1SMIME\s0\fR which reads an S/MIME format message. \fB\s-1PEM\s0\fR and \fB\s-1DER\s0\fR +format change this to expect \s-1PEM\s0 and \s-1DER\s0 format \s-1CMS\s0 structures +instead. This currently only affects the input format of the \s-1CMS\s0 +structure, if no \s-1CMS\s0 structure is being input (for example with +\&\fB\-encrypt\fR or \fB\-sign\fR) this option has no effect. +.IP "\fB\-rctform SMIME|PEM|DER\fR" 4 +.IX Item "-rctform SMIME|PEM|DER" +Specify the format for a signed receipt for use with the \fB\-receipt_verify\fR +operation. +.IP "\fB\-out filename\fR" 4 +.IX Item "-out filename" +The message text that has been decrypted or verified or the output \s-1MIME\s0 +format message that has been signed or verified. +.IP "\fB\-outform SMIME|PEM|DER\fR" 4 +.IX Item "-outform SMIME|PEM|DER" +This specifies the output format for the \s-1CMS\s0 structure. The default +is \fB\s-1SMIME\s0\fR which writes an S/MIME format message. \fB\s-1PEM\s0\fR and \fB\s-1DER\s0\fR +format change this to write \s-1PEM\s0 and \s-1DER\s0 format \s-1CMS\s0 structures +instead. This currently only affects the output format of the \s-1CMS\s0 +structure, if no \s-1CMS\s0 structure is being output (for example with +\&\fB\-verify\fR or \fB\-decrypt\fR) this option has no effect. +.IP "\fB\-stream \-indef \-noindef\fR" 4 +.IX Item "-stream -indef -noindef" +The \fB\-stream\fR and \fB\-indef\fR options are equivalent and enable streaming I/O +for encoding operations. This permits single pass processing of data without +the need to hold the entire contents in memory, potentially supporting very +large files. Streaming is automatically set for S/MIME signing with detached +data if the output format is \fB\s-1SMIME\s0\fR it is currently off by default for all +other operations. +.IP "\fB\-noindef\fR" 4 +.IX Item "-noindef" +Disable streaming I/O where it would produce and indefinite length constructed +encoding. This option currently has no effect. In future streaming will be +enabled by default on all relevant operations and this option will disable it. +.IP "\fB\-content filename\fR" 4 +.IX Item "-content filename" +This specifies a file containing the detached content, this is only +useful with the \fB\-verify\fR command. This is only usable if the \s-1CMS\s0 +structure is using the detached signature form where the content is +not included. This option will override any content if the input format +is S/MIME and it uses the multipart/signed \s-1MIME\s0 content type. +.IP "\fB\-text\fR" 4 +.IX Item "-text" +This option adds plain text (text/plain) \s-1MIME\s0 headers to the supplied +message if encrypting or signing. If decrypting or verifying it strips +off text headers: if the decrypted or verified message is not of \s-1MIME\s0 +type text/plain then an error occurs. +.IP "\fB\-noout\fR" 4 +.IX Item "-noout" +For the \fB\-cmsout\fR operation do not output the parsed \s-1CMS\s0 structure. This +is useful when combined with the \fB\-print\fR option or if the syntax of the \s-1CMS\s0 +structure is being checked. +.IP "\fB\-print\fR" 4 +.IX Item "-print" +For the \fB\-cmsout\fR operation print out all fields of the \s-1CMS\s0 structure. This +is mainly useful for testing purposes. +.IP "\fB\-CAfile file\fR" 4 +.IX Item "-CAfile file" +A file containing trusted \s-1CA\s0 certificates, only used with \fB\-verify\fR. +.IP "\fB\-CApath dir\fR" 4 +.IX Item "-CApath dir" +A directory containing trusted \s-1CA\s0 certificates, only used with +\&\fB\-verify\fR. This directory must be a standard certificate directory: that +is a hash of each subject name (using \fBx509 \-hash\fR) should be linked +to each certificate. +.IP "\fB\-no\-CAfile\fR" 4 +.IX Item "-no-CAfile" +Do not load the trusted \s-1CA\s0 certificates from the default file location +.IP "\fB\-no\-CApath\fR" 4 +.IX Item "-no-CApath" +Do not load the trusted \s-1CA\s0 certificates from the default directory location +.IP "\fB\-md digest\fR" 4 +.IX Item "-md digest" +Digest algorithm to use when signing or resigning. If not present then the +default digest algorithm for the signing key will be used (usually \s-1SHA1\s0). +.IP "\fB\-\f(BIcipher\fB\fR" 4 +.IX Item "-cipher" +The encryption algorithm to use. For example triple \s-1DES\s0 (168 bits) \- \fB\-des3\fR +or 256 bit \s-1AES\s0 \- \fB\-aes256\fR. Any standard algorithm name (as used by the +\&\fIEVP_get_cipherbyname()\fR function) can also be used preceded by a dash, for +example \fB\-aes\-128\-cbc\fR. See \fIenc\fR\|(1) for a list of ciphers +supported by your version of OpenSSL. +.Sp +If not specified triple \s-1DES\s0 is used. Only used with \fB\-encrypt\fR and +\&\fB\-EncryptedData_create\fR commands. +.IP "\fB\-nointern\fR" 4 +.IX Item "-nointern" +When verifying a message normally certificates (if any) included in +the message are searched for the signing certificate. With this option +only the certificates specified in the \fB\-certfile\fR option are used. +The supplied certificates can still be used as untrusted CAs however. +.IP "\fB\-noverify\fR" 4 +.IX Item "-noverify" +Do not verify the signers certificate of a signed message. +.IP "\fB\-nocerts\fR" 4 +.IX Item "-nocerts" +When signing a message the signer's certificate is normally included +with this option it is excluded. This will reduce the size of the +signed message but the verifier must have a copy of the signers certificate +available locally (passed using the \fB\-certfile\fR option for example). +.IP "\fB\-noattr\fR" 4 +.IX Item "-noattr" +Normally when a message is signed a set of attributes are included which +include the signing time and supported symmetric algorithms. With this +option they are not included. +.IP "\fB\-nosmimecap\fR" 4 +.IX Item "-nosmimecap" +Exclude the list of supported algorithms from signed attributes, other options +such as signing time and content type are still included. +.IP "\fB\-binary\fR" 4 +.IX Item "-binary" +Normally the input message is converted to \*(L"canonical\*(R" format which is +effectively using \s-1CR\s0 and \s-1LF\s0 as end of line: as required by the S/MIME +specification. When this option is present no translation occurs. This +is useful when handling binary data which may not be in \s-1MIME\s0 format. +.IP "\fB\-crlfeol\fR" 4 +.IX Item "-crlfeol" +Normally the output file uses a single \fB\s-1LF\s0\fR as end of line. When this +option is present \fB\s-1CRLF\s0\fR is used instead. +.IP "\fB\-asciicrlf\fR" 4 +.IX Item "-asciicrlf" +When signing use \s-1ASCII\s0 \s-1CRLF\s0 format canonicalisation. This strips trailing +whitespace from all lines, deletes trailing blank lines at \s-1EOF\s0 and sets +the encapsulated content type. This option is normally used with detached +content and an output signature format of \s-1DER\s0. This option is not normally +needed when verifying as it is enabled automatically if the encapsulated +content format is detected. +.IP "\fB\-nodetach\fR" 4 +.IX Item "-nodetach" +When signing a message use opaque signing: this form is more resistant +to translation by mail relays but it cannot be read by mail agents that +do not support S/MIME. Without this option cleartext signing with +the \s-1MIME\s0 type multipart/signed is used. +.IP "\fB\-certfile file\fR" 4 +.IX Item "-certfile file" +Allows additional certificates to be specified. When signing these will +be included with the message. When verifying these will be searched for +the signers certificates. The certificates should be in \s-1PEM\s0 format. +.IP "\fB\-certsout file\fR" 4 +.IX Item "-certsout file" +Any certificates contained in the message are written to \fBfile\fR. +.IP "\fB\-signer file\fR" 4 +.IX Item "-signer file" +A signing certificate when signing or resigning a message, this option can be +used multiple times if more than one signer is required. If a message is being +verified then the signers certificates will be written to this file if the +verification was successful. +.IP "\fB\-recip file\fR" 4 +.IX Item "-recip file" +When decrypting a message this specifies the recipients certificate. The +certificate must match one of the recipients of the message or an error +occurs. +.Sp +When encrypting a message this option may be used multiple times to specify +each recipient. This form \fBmust\fR be used if customised parameters are +required (for example to specify RSA-OAEP). +.Sp +Only certificates carrying \s-1RSA\s0, Diffie-Hellman or \s-1EC\s0 keys are supported by this +option. +.IP "\fB\-keyid\fR" 4 +.IX Item "-keyid" +Use subject key identifier to identify certificates instead of issuer name and +serial number. The supplied certificate \fBmust\fR include a subject key +identifier extension. Supported by \fB\-sign\fR and \fB\-encrypt\fR options. +.IP "\fB\-receipt_request_all\fR, \fB\-receipt_request_first\fR" 4 +.IX Item "-receipt_request_all, -receipt_request_first" +For \fB\-sign\fR option include a signed receipt request. Indicate requests should +be provided by all recipient or first tier recipients (those mailed directly +and not from a mailing list). Ignored it \fB\-receipt_request_from\fR is included. +.IP "\fB\-receipt_request_from emailaddress\fR" 4 +.IX Item "-receipt_request_from emailaddress" +For \fB\-sign\fR option include a signed receipt request. Add an explicit email +address where receipts should be supplied. +.IP "\fB\-receipt_request_to emailaddress\fR" 4 +.IX Item "-receipt_request_to emailaddress" +Add an explicit email address where signed receipts should be sent to. This +option \fBmust\fR but supplied if a signed receipt it requested. +.IP "\fB\-receipt_request_print\fR" 4 +.IX Item "-receipt_request_print" +For the \fB\-verify\fR operation print out the contents of any signed receipt +requests. +.IP "\fB\-secretkey key\fR" 4 +.IX Item "-secretkey key" +Specify symmetric key to use. The key must be supplied in hex format and be +consistent with the algorithm used. Supported by the \fB\-EncryptedData_encrypt\fR +\&\fB\-EncryptedData_decrypt\fR, \fB\-encrypt\fR and \fB\-decrypt\fR options. When used +with \fB\-encrypt\fR or \fB\-decrypt\fR the supplied key is used to wrap or unwrap the +content encryption key using an \s-1AES\s0 key in the \fBKEKRecipientInfo\fR type. +.IP "\fB\-secretkeyid id\fR" 4 +.IX Item "-secretkeyid id" +The key identifier for the supplied symmetric key for \fBKEKRecipientInfo\fR type. +This option \fBmust\fR be present if the \fB\-secretkey\fR option is used with +\&\fB\-encrypt\fR. With \fB\-decrypt\fR operations the \fBid\fR is used to locate the +relevant key if it is not supplied then an attempt is used to decrypt any +\&\fBKEKRecipientInfo\fR structures. +.IP "\fB\-econtent_type type\fR" 4 +.IX Item "-econtent_type type" +Set the encapsulated content type to \fBtype\fR if not supplied the \fBData\fR type +is used. The \fBtype\fR argument can be any valid \s-1OID\s0 name in either text or +numerical format. +.IP "\fB\-inkey file\fR" 4 +.IX Item "-inkey file" +The private key to use when signing or decrypting. This must match the +corresponding certificate. If this option is not specified then the +private key must be included in the certificate file specified with +the \fB\-recip\fR or \fB\-signer\fR file. When signing this option can be used +multiple times to specify successive keys. +.IP "\fB\-keyopt name:opt\fR" 4 +.IX Item "-keyopt name:opt" +For signing and encryption this option can be used multiple times to +set customised parameters for the preceding key or certificate. It can +currently be used to set RSA-PSS for signing, RSA-OAEP for encryption +or to modify default parameters for \s-1ECDH\s0. +.IP "\fB\-passin arg\fR" 4 +.IX Item "-passin arg" +The private key password source. For more information about the format of \fBarg\fR +see the \fB\s-1PASS\s0 \s-1PHRASE\s0 \s-1ARGUMENTS\s0\fR section in \fIopenssl\fR\|(1). +.IP "\fB\-rand file...\fR" 4 +.IX Item "-rand file..." +A file or files containing random data used to seed the random number +generator. +Multiple files can be specified separated by an OS-dependent character. +The separator is \fB;\fR for MS-Windows, \fB,\fR for OpenVMS, and \fB:\fR for +all others. +.IP "[\fB\-writerand file\fR]" 4 +.IX Item "[-writerand file]" +Writes random data to the specified \fIfile\fR upon exit. +This can be used with a subsequent \fB\-rand\fR flag. +.IP "\fBcert.pem...\fR" 4 +.IX Item "cert.pem..." +One or more certificates of message recipients: used when encrypting +a message. +.IP "\fB\-to, \-from, \-subject\fR" 4 +.IX Item "-to, -from, -subject" +The relevant mail headers. These are included outside the signed +portion of a message so they may be included manually. If signing +then many S/MIME mail clients check the signers certificate's email +address matches that specified in the From: address. +.IP "\fB\-attime\fR, \fB\-check_ss_sig\fR, \fB\-crl_check\fR, \fB\-crl_check_all\fR, \fB\-explicit_policy\fR, \fB\-extended_crl\fR, \fB\-ignore_critical\fR, \fB\-inhibit_any\fR, \fB\-inhibit_map\fR, \fB\-no_alt_chains\fR, \fB\-no_check_time\fR, \fB\-partial_chain\fR, \fB\-policy\fR, \fB\-policy_check\fR, \fB\-policy_print\fR, \fB\-purpose\fR, \fB\-suiteB_128\fR, \fB\-suiteB_128_only\fR, \fB\-suiteB_192\fR, \fB\-trusted_first\fR, \fB\-use_deltas\fR, \fB\-auth_level\fR, \fB\-verify_depth\fR, \fB\-verify_email\fR, \fB\-verify_hostname\fR, \fB\-verify_ip\fR, \fB\-verify_name\fR, \fB\-x509_strict\fR" 4 +.IX Item "-attime, -check_ss_sig, -crl_check, -crl_check_all, -explicit_policy, -extended_crl, -ignore_critical, -inhibit_any, -inhibit_map, -no_alt_chains, -no_check_time, -partial_chain, -policy, -policy_check, -policy_print, -purpose, -suiteB_128, -suiteB_128_only, -suiteB_192, -trusted_first, -use_deltas, -auth_level, -verify_depth, -verify_email, -verify_hostname, -verify_ip, -verify_name, -x509_strict" +Set various certificate chain validation options. See the +\&\fIverify\fR\|(1) manual page for details. +.SH "NOTES" +.IX Header "NOTES" +The \s-1MIME\s0 message must be sent without any blank lines between the +headers and the output. Some mail programs will automatically add +a blank line. Piping the mail directly to sendmail is one way to +achieve the correct format. +.PP +The supplied message to be signed or encrypted must include the +necessary \s-1MIME\s0 headers or many S/MIME clients won't display it +properly (if at all). You can use the \fB\-text\fR option to automatically +add plain text headers. +.PP +A \*(L"signed and encrypted\*(R" message is one where a signed message is +then encrypted. This can be produced by encrypting an already signed +message: see the examples section. +.PP +This version of the program only allows one signer per message but it +will verify multiple signers on received messages. Some S/MIME clients +choke if a message contains multiple signers. It is possible to sign +messages \*(L"in parallel\*(R" by signing an already signed message. +.PP +The options \fB\-encrypt\fR and \fB\-decrypt\fR reflect common usage in S/MIME +clients. Strictly speaking these process \s-1CMS\s0 enveloped data: \s-1CMS\s0 +encrypted data is used for other purposes. +.PP +The \fB\-resign\fR option uses an existing message digest when adding a new +signer. This means that attributes must be present in at least one existing +signer using the same message digest or this operation will fail. +.PP +The \fB\-stream\fR and \fB\-indef\fR options enable streaming I/O support. +As a result the encoding is \s-1BER\s0 using indefinite length constructed encoding +and no longer \s-1DER\s0. Streaming is supported for the \fB\-encrypt\fR operation and the +\&\fB\-sign\fR operation if the content is not detached. +.PP +Streaming is always used for the \fB\-sign\fR operation with detached data but +since the content is no longer part of the \s-1CMS\s0 structure the encoding +remains \s-1DER\s0. +.PP +If the \fB\-decrypt\fR option is used without a recipient certificate then an +attempt is made to locate the recipient by trying each potential recipient +in turn using the supplied private key. To thwart the \s-1MMA\s0 attack +(Bleichenbacher's attack on \s-1PKCS\s0 #1 v1.5 \s-1RSA\s0 padding) all recipients are +tried whether they succeed or not and if no recipients match the message +is \*(L"decrypted\*(R" using a random key which will typically output garbage. +The \fB\-debug_decrypt\fR option can be used to disable the \s-1MMA\s0 attack protection +and return an error if no recipient can be found: this option should be used +with caution. For a fuller description see \fICMS_decrypt\fR\|(3)). +.SH "EXIT CODES" +.IX Header "EXIT CODES" +.IP "0" 4 +The operation was completely successfully. +.IP "1" 4 +.IX Item "1" +An error occurred parsing the command options. +.IP "2" 4 +.IX Item "2" +One of the input files could not be read. +.IP "3" 4 +.IX Item "3" +An error occurred creating the \s-1CMS\s0 file or when reading the \s-1MIME\s0 +message. +.IP "4" 4 +.IX Item "4" +An error occurred decrypting or verifying the message. +.IP "5" 4 +.IX Item "5" +The message was verified correctly but an error occurred writing out +the signers certificates. +.SH "COMPATIBILITY WITH PKCS#7 format." +.IX Header "COMPATIBILITY WITH PKCS#7 format." +The \fBsmime\fR utility can only process the older \fBPKCS#7\fR format. The \fBcms\fR +utility supports Cryptographic Message Syntax format. Use of some features +will result in messages which cannot be processed by applications which only +support the older format. These are detailed below. +.PP +The use of the \fB\-keyid\fR option with \fB\-sign\fR or \fB\-encrypt\fR. +.PP +The \fB\-outform \s-1PEM\s0\fR option uses different headers. +.PP +The \fB\-compress\fR option. +.PP +The \fB\-secretkey\fR option when used with \fB\-encrypt\fR. +.PP +The use of \s-1PSS\s0 with \fB\-sign\fR. +.PP +The use of \s-1OAEP\s0 or non-RSA keys with \fB\-encrypt\fR. +.PP +Additionally the \fB\-EncryptedData_create\fR and \fB\-data_create\fR type cannot +be processed by the older \fBsmime\fR command. +.SH "EXAMPLES" +.IX Header "EXAMPLES" +Create a cleartext signed message: +.PP +.Vb 2 +\& openssl cms \-sign \-in message.txt \-text \-out mail.msg \e +\& \-signer mycert.pem +.Ve +.PP +Create an opaque signed message +.PP +.Vb 2 +\& openssl cms \-sign \-in message.txt \-text \-out mail.msg \-nodetach \e +\& \-signer mycert.pem +.Ve +.PP +Create a signed message, include some additional certificates and +read the private key from another file: +.PP +.Vb 2 +\& openssl cms \-sign \-in in.txt \-text \-out mail.msg \e +\& \-signer mycert.pem \-inkey mykey.pem \-certfile mycerts.pem +.Ve +.PP +Create a signed message with two signers, use key identifier: +.PP +.Vb 2 +\& openssl cms \-sign \-in message.txt \-text \-out mail.msg \e +\& \-signer mycert.pem \-signer othercert.pem \-keyid +.Ve +.PP +Send a signed message under Unix directly to sendmail, including headers: +.PP +.Vb 3 +\& openssl cms \-sign \-in in.txt \-text \-signer mycert.pem \e +\& \-from steve@openssl.org \-to someone@somewhere \e +\& \-subject "Signed message" | sendmail someone@somewhere +.Ve +.PP +Verify a message and extract the signer's certificate if successful: +.PP +.Vb 1 +\& openssl cms \-verify \-in mail.msg \-signer user.pem \-out signedtext.txt +.Ve +.PP +Send encrypted mail using triple \s-1DES:\s0 +.PP +.Vb 3 +\& openssl cms \-encrypt \-in in.txt \-from steve@openssl.org \e +\& \-to someone@somewhere \-subject "Encrypted message" \e +\& \-des3 user.pem \-out mail.msg +.Ve +.PP +Sign and encrypt mail: +.PP +.Vb 4 +\& openssl cms \-sign \-in ml.txt \-signer my.pem \-text \e +\& | openssl cms \-encrypt \-out mail.msg \e +\& \-from steve@openssl.org \-to someone@somewhere \e +\& \-subject "Signed and Encrypted message" \-des3 user.pem +.Ve +.PP +Note: the encryption command does not include the \fB\-text\fR option because the +message being encrypted already has \s-1MIME\s0 headers. +.PP +Decrypt mail: +.PP +.Vb 1 +\& openssl cms \-decrypt \-in mail.msg \-recip mycert.pem \-inkey key.pem +.Ve +.PP +The output from Netscape form signing is a PKCS#7 structure with the +detached signature format. You can use this program to verify the +signature by line wrapping the base64 encoded structure and surrounding +it with: +.PP +.Vb 2 +\& \-\-\-\-\-BEGIN PKCS7\-\-\-\-\- +\& \-\-\-\-\-END PKCS7\-\-\-\-\- +.Ve +.PP +and using the command, +.PP +.Vb 1 +\& openssl cms \-verify \-inform PEM \-in signature.pem \-content content.txt +.Ve +.PP +alternatively you can base64 decode the signature and use +.PP +.Vb 1 +\& openssl cms \-verify \-inform DER \-in signature.der \-content content.txt +.Ve +.PP +Create an encrypted message using 128 bit Camellia: +.PP +.Vb 1 +\& openssl cms \-encrypt \-in plain.txt \-camellia128 \-out mail.msg cert.pem +.Ve +.PP +Add a signer to an existing message: +.PP +.Vb 1 +\& openssl cms \-resign \-in mail.msg \-signer newsign.pem \-out mail2.msg +.Ve +.PP +Sign mail using RSA-PSS: +.PP +.Vb 2 +\& openssl cms \-sign \-in message.txt \-text \-out mail.msg \e +\& \-signer mycert.pem \-keyopt rsa_padding_mode:pss +.Ve +.PP +Create encrypted mail using RSA-OAEP: +.PP +.Vb 2 +\& openssl cms \-encrypt \-in plain.txt \-out mail.msg \e +\& \-recip cert.pem \-keyopt rsa_padding_mode:oaep +.Ve +.PP +Use \s-1SHA256\s0 \s-1KDF\s0 with an \s-1ECDH\s0 certificate: +.PP +.Vb 2 +\& openssl cms \-encrypt \-in plain.txt \-out mail.msg \e +\& \-recip ecdhcert.pem \-keyopt ecdh_kdf_md:sha256 +.Ve +.SH "BUGS" +.IX Header "BUGS" +The \s-1MIME\s0 parser isn't very clever: it seems to handle most messages that I've +thrown at it but it may choke on others. +.PP +The code currently will only write out the signer's certificate to a file: if +the signer has a separate encryption certificate this must be manually +extracted. There should be some heuristic that determines the correct +encryption certificate. +.PP +Ideally a database should be maintained of a certificates for each email +address. +.PP +The code doesn't currently take note of the permitted symmetric encryption +algorithms as supplied in the SMIMECapabilities signed attribute. this means the +user has to manually include the correct encryption algorithm. It should store +the list of permitted ciphers in a database and only use those. +.PP +No revocation checking is done on the signer's certificate. +.SH "HISTORY" +.IX Header "HISTORY" +The use of multiple \fB\-signer\fR options and the \fB\-resign\fR command were first +added in OpenSSL 1.0.0. +.PP +The \fBkeyopt\fR option was added in OpenSSL 1.0.2. +.PP +Support for RSA-OAEP and RSA-PSS was added in OpenSSL 1.0.2. +.PP +The use of non-RSA keys with \fB\-encrypt\fR and \fB\-decrypt\fR +was added in OpenSSL 1.0.2. +.PP +The \-no_alt_chains option was added in OpenSSL 1.0.2b. +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2008\-2018 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man1/crl.1 b/linux_amd64/share/man/man1/crl.1 new file mode 100644 index 0000000..1cccd46 --- /dev/null +++ b/linux_amd64/share/man/man1/crl.1 @@ -0,0 +1,248 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "CRL 1" +.TH CRL 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +openssl\-crl, crl \- CRL utility +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBopenssl\fR \fBcrl\fR +[\fB\-help\fR] +[\fB\-inform PEM|DER\fR] +[\fB\-outform PEM|DER\fR] +[\fB\-text\fR] +[\fB\-in filename\fR] +[\fB\-out filename\fR] +[\fB\-nameopt option\fR] +[\fB\-noout\fR] +[\fB\-hash\fR] +[\fB\-issuer\fR] +[\fB\-lastupdate\fR] +[\fB\-nextupdate\fR] +[\fB\-CAfile file\fR] +[\fB\-CApath dir\fR] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The \fBcrl\fR command processes \s-1CRL\s0 files in \s-1DER\s0 or \s-1PEM\s0 format. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-help\fR" 4 +.IX Item "-help" +Print out a usage message. +.IP "\fB\-inform DER|PEM\fR" 4 +.IX Item "-inform DER|PEM" +This specifies the input format. \fB\s-1DER\s0\fR format is \s-1DER\s0 encoded \s-1CRL\s0 +structure. \fB\s-1PEM\s0\fR (the default) is a base64 encoded version of +the \s-1DER\s0 form with header and footer lines. +.IP "\fB\-outform DER|PEM\fR" 4 +.IX Item "-outform DER|PEM" +This specifies the output format, the options have the same meaning and default +as the \fB\-inform\fR option. +.IP "\fB\-in filename\fR" 4 +.IX Item "-in filename" +This specifies the input filename to read from or standard input if this +option is not specified. +.IP "\fB\-out filename\fR" 4 +.IX Item "-out filename" +Specifies the output filename to write to or standard output by +default. +.IP "\fB\-text\fR" 4 +.IX Item "-text" +Print out the \s-1CRL\s0 in text form. +.IP "\fB\-nameopt option\fR" 4 +.IX Item "-nameopt option" +Option which determines how the subject or issuer names are displayed. See +the description of \fB\-nameopt\fR in \fIx509\fR\|(1). +.IP "\fB\-noout\fR" 4 +.IX Item "-noout" +Don't output the encoded version of the \s-1CRL\s0. +.IP "\fB\-hash\fR" 4 +.IX Item "-hash" +Output a hash of the issuer name. This can be use to lookup CRLs in +a directory by issuer name. +.IP "\fB\-hash_old\fR" 4 +.IX Item "-hash_old" +Outputs the \*(L"hash\*(R" of the \s-1CRL\s0 issuer name using the older algorithm +as used by OpenSSL before version 1.0.0. +.IP "\fB\-issuer\fR" 4 +.IX Item "-issuer" +Output the issuer name. +.IP "\fB\-lastupdate\fR" 4 +.IX Item "-lastupdate" +Output the lastUpdate field. +.IP "\fB\-nextupdate\fR" 4 +.IX Item "-nextupdate" +Output the nextUpdate field. +.IP "\fB\-CAfile file\fR" 4 +.IX Item "-CAfile file" +Verify the signature on a \s-1CRL\s0 by looking up the issuing certificate in +\&\fBfile\fR. +.IP "\fB\-CApath dir\fR" 4 +.IX Item "-CApath dir" +Verify the signature on a \s-1CRL\s0 by looking up the issuing certificate in +\&\fBdir\fR. This directory must be a standard certificate directory: that +is a hash of each subject name (using \fBx509 \-hash\fR) should be linked +to each certificate. +.SH "NOTES" +.IX Header "NOTES" +The \s-1PEM\s0 \s-1CRL\s0 format uses the header and footer lines: +.PP +.Vb 2 +\& \-\-\-\-\-BEGIN X509 CRL\-\-\-\-\- +\& \-\-\-\-\-END X509 CRL\-\-\-\-\- +.Ve +.SH "EXAMPLES" +.IX Header "EXAMPLES" +Convert a \s-1CRL\s0 file from \s-1PEM\s0 to \s-1DER:\s0 +.PP +.Vb 1 +\& openssl crl \-in crl.pem \-outform DER \-out crl.der +.Ve +.PP +Output the text form of a \s-1DER\s0 encoded certificate: +.PP +.Vb 1 +\& openssl crl \-in crl.der \-inform DER \-text \-noout +.Ve +.SH "BUGS" +.IX Header "BUGS" +Ideally it should be possible to create a \s-1CRL\s0 using appropriate options +and files too. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIcrl2pkcs7\fR\|(1), \fIca\fR\|(1), \fIx509\fR\|(1) +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man1/crl2pkcs7.1 b/linux_amd64/share/man/man1/crl2pkcs7.1 new file mode 100644 index 0000000..53b5055 --- /dev/null +++ b/linux_amd64/share/man/man1/crl2pkcs7.1 @@ -0,0 +1,218 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "CRL2PKCS7 1" +.TH CRL2PKCS7 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +openssl\-crl2pkcs7, crl2pkcs7 \- Create a PKCS#7 structure from a CRL and certificates +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBopenssl\fR \fBcrl2pkcs7\fR +[\fB\-help\fR] +[\fB\-inform PEM|DER\fR] +[\fB\-outform PEM|DER\fR] +[\fB\-in filename\fR] +[\fB\-out filename\fR] +[\fB\-certfile filename\fR] +[\fB\-nocrl\fR] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The \fBcrl2pkcs7\fR command takes an optional \s-1CRL\s0 and one or more +certificates and converts them into a PKCS#7 degenerate \*(L"certificates +only\*(R" structure. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-help\fR" 4 +.IX Item "-help" +Print out a usage message. +.IP "\fB\-inform DER|PEM\fR" 4 +.IX Item "-inform DER|PEM" +This specifies the \s-1CRL\s0 input format. \fB\s-1DER\s0\fR format is \s-1DER\s0 encoded \s-1CRL\s0 +structure.\fB\s-1PEM\s0\fR (the default) is a base64 encoded version of +the \s-1DER\s0 form with header and footer lines. The default format is \s-1PEM\s0. +.IP "\fB\-outform DER|PEM\fR" 4 +.IX Item "-outform DER|PEM" +This specifies the PKCS#7 structure output format. \fB\s-1DER\s0\fR format is \s-1DER\s0 +encoded PKCS#7 structure.\fB\s-1PEM\s0\fR (the default) is a base64 encoded version of +the \s-1DER\s0 form with header and footer lines. The default format is \s-1PEM\s0. +.IP "\fB\-in filename\fR" 4 +.IX Item "-in filename" +This specifies the input filename to read a \s-1CRL\s0 from or standard input if this +option is not specified. +.IP "\fB\-out filename\fR" 4 +.IX Item "-out filename" +Specifies the output filename to write the PKCS#7 structure to or standard +output by default. +.IP "\fB\-certfile filename\fR" 4 +.IX Item "-certfile filename" +Specifies a filename containing one or more certificates in \fB\s-1PEM\s0\fR format. +All certificates in the file will be added to the PKCS#7 structure. This +option can be used more than once to read certificates form multiple +files. +.IP "\fB\-nocrl\fR" 4 +.IX Item "-nocrl" +Normally a \s-1CRL\s0 is included in the output file. With this option no \s-1CRL\s0 is +included in the output file and a \s-1CRL\s0 is not read from the input file. +.SH "EXAMPLES" +.IX Header "EXAMPLES" +Create a PKCS#7 structure from a certificate and \s-1CRL:\s0 +.PP +.Vb 1 +\& openssl crl2pkcs7 \-in crl.pem \-certfile cert.pem \-out p7.pem +.Ve +.PP +Creates a PKCS#7 structure in \s-1DER\s0 format with no \s-1CRL\s0 from several +different certificates: +.PP +.Vb 2 +\& openssl crl2pkcs7 \-nocrl \-certfile newcert.pem +\& \-certfile demoCA/cacert.pem \-outform DER \-out p7.der +.Ve +.SH "NOTES" +.IX Header "NOTES" +The output file is a PKCS#7 signed data structure containing no signers and +just certificates and an optional \s-1CRL\s0. +.PP +This utility can be used to send certificates and CAs to Netscape as part of +the certificate enrollment process. This involves sending the \s-1DER\s0 encoded output +as \s-1MIME\s0 type application/x\-x509\-user\-cert. +.PP +The \fB\s-1PEM\s0\fR encoded form with the header and footer lines removed can be used to +install user certificates and CAs in \s-1MSIE\s0 using the Xenroll control. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIpkcs7\fR\|(1) +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2000\-2017 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man1/dgst.1 b/linux_amd64/share/man/man1/dgst.1 new file mode 100644 index 0000000..7b7ffaf --- /dev/null +++ b/linux_amd64/share/man/man1/dgst.1 @@ -0,0 +1,338 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "DGST 1" +.TH DGST 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +openssl\-dgst, dgst \- perform digest operations +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBopenssl dgst\fR +[\fB\-\f(BIdigest\fB\fR] +[\fB\-help\fR] +[\fB\-c\fR] +[\fB\-d\fR] +[\fB\-list\fR] +[\fB\-hex\fR] +[\fB\-binary\fR] +[\fB\-r\fR] +[\fB\-out filename\fR] +[\fB\-sign filename\fR] +[\fB\-keyform arg\fR] +[\fB\-passin arg\fR] +[\fB\-verify filename\fR] +[\fB\-prverify filename\fR] +[\fB\-signature filename\fR] +[\fB\-sigopt nm:v\fR] +[\fB\-hmac key\fR] +[\fB\-fips\-fingerprint\fR] +[\fB\-rand file...\fR] +[\fB\-engine id\fR] +[\fB\-engine_impl\fR] +[\fBfile...\fR] +.PP +\&\fBopenssl\fR \fIdigest\fR [\fB...\fR] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The digest functions output the message digest of a supplied file or files +in hexadecimal. The digest functions also generate and verify digital +signatures using message digests. +.PP +The generic name, \fBdgst\fR, may be used with an option specifying the +algorithm to be used. +The default digest is \fIsha256\fR. +A supported \fIdigest\fR name may also be used as the command name. +To see the list of supported algorithms, use the \fIlist \-\-digest\-commands\fR +command. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-help\fR" 4 +.IX Item "-help" +Print out a usage message. +.IP "\fB\-\f(BIdigest\fB\fR" 4 +.IX Item "-digest" +Specifies name of a supported digest to be used. To see the list of +supported digests, use the command \fIlist \-\-digest\-commands\fR. +.IP "\fB\-c\fR" 4 +.IX Item "-c" +Print out the digest in two digit groups separated by colons, only relevant if +\&\fBhex\fR format output is used. +.IP "\fB\-d\fR" 4 +.IX Item "-d" +Print out \s-1BIO\s0 debugging information. +.IP "\fB\-list\fR" 4 +.IX Item "-list" +Prints out a list of supported message digests. +.IP "\fB\-hex\fR" 4 +.IX Item "-hex" +Digest is to be output as a hex dump. This is the default case for a \*(L"normal\*(R" +digest as opposed to a digital signature. See \s-1NOTES\s0 below for digital +signatures using \fB\-hex\fR. +.IP "\fB\-binary\fR" 4 +.IX Item "-binary" +Output the digest or signature in binary form. +.IP "\fB\-r\fR" 4 +.IX Item "-r" +Output the digest in the \*(L"coreutils\*(R" format, including newlines. +Used by programs like \fBsha1sum\fR. +.IP "\fB\-out filename\fR" 4 +.IX Item "-out filename" +Filename to output to, or standard output by default. +.IP "\fB\-sign filename\fR" 4 +.IX Item "-sign filename" +Digitally sign the digest using the private key in \*(L"filename\*(R". Note this option +does not support Ed25519 or Ed448 private keys. Use the \fBpkeyutl\fR command +instead for this. +.IP "\fB\-keyform arg\fR" 4 +.IX Item "-keyform arg" +Specifies the key format to sign digest with. The \s-1DER\s0, \s-1PEM\s0, P12, +and \s-1ENGINE\s0 formats are supported. +.IP "\fB\-sigopt nm:v\fR" 4 +.IX Item "-sigopt nm:v" +Pass options to the signature algorithm during sign or verify operations. +Names and values of these options are algorithm-specific. +.IP "\fB\-passin arg\fR" 4 +.IX Item "-passin arg" +The private key password source. For more information about the format of \fBarg\fR +see the \fB\s-1PASS\s0 \s-1PHRASE\s0 \s-1ARGUMENTS\s0\fR section in \fIopenssl\fR\|(1). +.IP "\fB\-verify filename\fR" 4 +.IX Item "-verify filename" +Verify the signature using the public key in \*(L"filename\*(R". +The output is either \*(L"Verification \s-1OK\s0\*(R" or \*(L"Verification Failure\*(R". +.IP "\fB\-prverify filename\fR" 4 +.IX Item "-prverify filename" +Verify the signature using the private key in \*(L"filename\*(R". +.IP "\fB\-signature filename\fR" 4 +.IX Item "-signature filename" +The actual signature to verify. +.IP "\fB\-hmac key\fR" 4 +.IX Item "-hmac key" +Create a hashed \s-1MAC\s0 using \*(L"key\*(R". +.IP "\fB\-mac alg\fR" 4 +.IX Item "-mac alg" +Create \s-1MAC\s0 (keyed Message Authentication Code). The most popular \s-1MAC\s0 +algorithm is \s-1HMAC\s0 (hash-based \s-1MAC\s0), but there are other \s-1MAC\s0 algorithms +which are not based on hash, for instance \fBgost-mac\fR algorithm, +supported by \fBccgost\fR engine. \s-1MAC\s0 keys and other options should be set +via \fB\-macopt\fR parameter. +.IP "\fB\-macopt nm:v\fR" 4 +.IX Item "-macopt nm:v" +Passes options to \s-1MAC\s0 algorithm, specified by \fB\-mac\fR key. +Following options are supported by both by \fB\s-1HMAC\s0\fR and \fBgost-mac\fR: +.RS 4 +.IP "\fBkey:string\fR" 4 +.IX Item "key:string" +Specifies \s-1MAC\s0 key as alphanumeric string (use if key contain printable +characters only). String length must conform to any restrictions of +the \s-1MAC\s0 algorithm for example exactly 32 chars for gost-mac. +.IP "\fBhexkey:string\fR" 4 +.IX Item "hexkey:string" +Specifies \s-1MAC\s0 key in hexadecimal form (two hex digits per byte). +Key length must conform to any restrictions of the \s-1MAC\s0 algorithm +for example exactly 32 chars for gost-mac. +.RE +.RS 4 +.RE +.IP "\fB\-rand file...\fR" 4 +.IX Item "-rand file..." +A file or files containing random data used to seed the random number +generator. +Multiple files can be specified separated by an OS-dependent character. +The separator is \fB;\fR for MS-Windows, \fB,\fR for OpenVMS, and \fB:\fR for +all others. +.IP "[\fB\-writerand file\fR]" 4 +.IX Item "[-writerand file]" +Writes random data to the specified \fIfile\fR upon exit. +This can be used with a subsequent \fB\-rand\fR flag. +.IP "\fB\-fips\-fingerprint\fR" 4 +.IX Item "-fips-fingerprint" +Compute \s-1HMAC\s0 using a specific key for certain OpenSSL-FIPS operations. +.IP "\fB\-engine id\fR" 4 +.IX Item "-engine id" +Use engine \fBid\fR for operations (including private key storage). +This engine is not used as source for digest algorithms, unless it is +also specified in the configuration file or \fB\-engine_impl\fR is also +specified. +.IP "\fB\-engine_impl\fR" 4 +.IX Item "-engine_impl" +When used with the \fB\-engine\fR option, it specifies to also use +engine \fBid\fR for digest operations. +.IP "\fBfile...\fR" 4 +.IX Item "file..." +File or files to digest. If no files are specified then standard input is +used. +.SH "EXAMPLES" +.IX Header "EXAMPLES" +To create a hex-encoded message digest of a file: + openssl dgst \-md5 \-hex file.txt +.PP +To sign a file using \s-1SHA\-256\s0 with binary file output: + openssl dgst \-sha256 \-sign privatekey.pem \-out signature.sign file.txt +.PP +To verify a signature: + openssl dgst \-sha256 \-verify publickey.pem \e + \-signature signature.sign \e + file.txt +.SH "NOTES" +.IX Header "NOTES" +The digest mechanisms that are available will depend on the options +used when building OpenSSL. +The \fBlist digest-commands\fR command can be used to list them. +.PP +New or agile applications should use probably use \s-1SHA\-256\s0. Other digests, +particularly \s-1SHA\-1\s0 and \s-1MD5\s0, are still widely used for interoperating +with existing formats and protocols. +.PP +When signing a file, \fBdgst\fR will automatically determine the algorithm +(\s-1RSA\s0, \s-1ECC\s0, etc) to use for signing based on the private key's \s-1ASN\s0.1 info. +When verifying signatures, it only handles the \s-1RSA\s0, \s-1DSA\s0, or \s-1ECDSA\s0 signature +itself, not the related data to identify the signer and algorithm used in +formats such as x.509, \s-1CMS\s0, and S/MIME. +.PP +A source of random numbers is required for certain signing algorithms, in +particular \s-1ECDSA\s0 and \s-1DSA\s0. +.PP +The signing and verify options should only be used if a single file is +being signed or verified. +.PP +Hex signatures cannot be verified using \fBopenssl\fR. Instead, use \*(L"xxd \-r\*(R" +or similar program to transform the hex signature into a binary signature +prior to verification. +.SH "HISTORY" +.IX Header "HISTORY" +The default digest was changed from \s-1MD5\s0 to \s-1SHA256\s0 in OpenSSL 1.1.0. +The FIPS-related options were removed in OpenSSL 1.1.0. +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man1/dhparam.1 b/linux_amd64/share/man/man1/dhparam.1 new file mode 100644 index 0000000..13ee3ac --- /dev/null +++ b/linux_amd64/share/man/man1/dhparam.1 @@ -0,0 +1,267 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "DHPARAM 1" +.TH DHPARAM 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +openssl\-dhparam, dhparam \- DH parameter manipulation and generation +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBopenssl dhparam\fR +[\fB\-help\fR] +[\fB\-inform DER|PEM\fR] +[\fB\-outform DER|PEM\fR] +[\fB\-in\fR \fIfilename\fR] +[\fB\-out\fR \fIfilename\fR] +[\fB\-dsaparam\fR] +[\fB\-check\fR] +[\fB\-noout\fR] +[\fB\-text\fR] +[\fB\-C\fR] +[\fB\-2\fR] +[\fB\-5\fR] +[\fB\-rand file...\fR] +[\fB\-writerand file\fR] +[\fB\-engine id\fR] +[\fInumbits\fR] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +This command is used to manipulate \s-1DH\s0 parameter files. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-help\fR" 4 +.IX Item "-help" +Print out a usage message. +.IP "\fB\-inform DER|PEM\fR" 4 +.IX Item "-inform DER|PEM" +This specifies the input format. The \fB\s-1DER\s0\fR option uses an \s-1ASN1\s0 \s-1DER\s0 encoded +form compatible with the PKCS#3 DHparameter structure. The \s-1PEM\s0 form is the +default format: it consists of the \fB\s-1DER\s0\fR format base64 encoded with +additional header and footer lines. +.IP "\fB\-outform DER|PEM\fR" 4 +.IX Item "-outform DER|PEM" +This specifies the output format, the options have the same meaning and default +as the \fB\-inform\fR option. +.IP "\fB\-in\fR \fIfilename\fR" 4 +.IX Item "-in filename" +This specifies the input filename to read parameters from or standard input if +this option is not specified. +.IP "\fB\-out\fR \fIfilename\fR" 4 +.IX Item "-out filename" +This specifies the output filename parameters to. Standard output is used +if this option is not present. The output filename should \fBnot\fR be the same +as the input filename. +.IP "\fB\-dsaparam\fR" 4 +.IX Item "-dsaparam" +If this option is used, \s-1DSA\s0 rather than \s-1DH\s0 parameters are read or created; +they are converted to \s-1DH\s0 format. Otherwise, \*(L"strong\*(R" primes (such +that (p\-1)/2 is also prime) will be used for \s-1DH\s0 parameter generation. +.Sp +\&\s-1DH\s0 parameter generation with the \fB\-dsaparam\fR option is much faster, +and the recommended exponent length is shorter, which makes \s-1DH\s0 key +exchange more efficient. Beware that with such DSA-style \s-1DH\s0 +parameters, a fresh \s-1DH\s0 key should be created for each use to +avoid small-subgroup attacks that may be possible otherwise. +.IP "\fB\-check\fR" 4 +.IX Item "-check" +Performs numerous checks to see if the supplied parameters are valid and +displays a warning if not. +.IP "\fB\-2\fR, \fB\-5\fR" 4 +.IX Item "-2, -5" +The generator to use, either 2 or 5. If present then the +input file is ignored and parameters are generated instead. If not +present but \fBnumbits\fR is present, parameters are generated with the +default generator 2. +.IP "\fB\-rand file...\fR" 4 +.IX Item "-rand file..." +A file or files containing random data used to seed the random number +generator. +Multiple files can be specified separated by an OS-dependent character. +The separator is \fB;\fR for MS-Windows, \fB,\fR for OpenVMS, and \fB:\fR for +all others. +.IP "[\fB\-writerand file\fR]" 4 +.IX Item "[-writerand file]" +Writes random data to the specified \fIfile\fR upon exit. +This can be used with a subsequent \fB\-rand\fR flag. +.IP "\fInumbits\fR" 4 +.IX Item "numbits" +This option specifies that a parameter set should be generated of size +\&\fInumbits\fR. It must be the last option. If this option is present then +the input file is ignored and parameters are generated instead. If +this option is not present but a generator (\fB\-2\fR or \fB\-5\fR) is +present, parameters are generated with a default length of 2048 bits. +.IP "\fB\-noout\fR" 4 +.IX Item "-noout" +This option inhibits the output of the encoded version of the parameters. +.IP "\fB\-text\fR" 4 +.IX Item "-text" +This option prints out the \s-1DH\s0 parameters in human readable form. +.IP "\fB\-C\fR" 4 +.IX Item "-C" +This option converts the parameters into C code. The parameters can then +be loaded by calling the \fIget_dhNNNN()\fR function. +.IP "\fB\-engine id\fR" 4 +.IX Item "-engine id" +Specifying an engine (by its unique \fBid\fR string) will cause \fBdhparam\fR +to attempt to obtain a functional reference to the specified engine, +thus initialising it if needed. The engine will then be set as the default +for all available algorithms. +.SH "WARNINGS" +.IX Header "WARNINGS" +The program \fBdhparam\fR combines the functionality of the programs \fBdh\fR and +\&\fBgendh\fR in previous versions of OpenSSL. The \fBdh\fR and \fBgendh\fR +programs are retained for now but may have different purposes in future +versions of OpenSSL. +.SH "NOTES" +.IX Header "NOTES" +\&\s-1PEM\s0 format \s-1DH\s0 parameters use the header and footer lines: +.PP +.Vb 2 +\& \-\-\-\-\-BEGIN DH PARAMETERS\-\-\-\-\- +\& \-\-\-\-\-END DH PARAMETERS\-\-\-\-\- +.Ve +.PP +OpenSSL currently only supports the older PKCS#3 \s-1DH\s0, not the newer X9.42 +\&\s-1DH\s0. +.PP +This program manipulates \s-1DH\s0 parameters not keys. +.SH "BUGS" +.IX Header "BUGS" +There should be a way to generate and manipulate \s-1DH\s0 keys. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIdsaparam\fR\|(1) +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2000\-2017 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man1/dsa.1 b/linux_amd64/share/man/man1/dsa.1 new file mode 100644 index 0000000..fa144c9 --- /dev/null +++ b/linux_amd64/share/man/man1/dsa.1 @@ -0,0 +1,297 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "DSA 1" +.TH DSA 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +openssl\-dsa, dsa \- DSA key processing +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBopenssl\fR \fBdsa\fR +[\fB\-help\fR] +[\fB\-inform PEM|DER\fR] +[\fB\-outform PEM|DER\fR] +[\fB\-in filename\fR] +[\fB\-passin arg\fR] +[\fB\-out filename\fR] +[\fB\-passout arg\fR] +[\fB\-aes128\fR] +[\fB\-aes192\fR] +[\fB\-aes256\fR] +[\fB\-aria128\fR] +[\fB\-aria192\fR] +[\fB\-aria256\fR] +[\fB\-camellia128\fR] +[\fB\-camellia192\fR] +[\fB\-camellia256\fR] +[\fB\-des\fR] +[\fB\-des3\fR] +[\fB\-idea\fR] +[\fB\-text\fR] +[\fB\-noout\fR] +[\fB\-modulus\fR] +[\fB\-pubin\fR] +[\fB\-pubout\fR] +[\fB\-engine id\fR] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The \fBdsa\fR command processes \s-1DSA\s0 keys. They can be converted between various +forms and their components printed out. \fBNote\fR This command uses the +traditional SSLeay compatible format for private key encryption: newer +applications should use the more secure PKCS#8 format using the \fBpkcs8\fR +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-help\fR" 4 +.IX Item "-help" +Print out a usage message. +.IP "\fB\-inform DER|PEM\fR" 4 +.IX Item "-inform DER|PEM" +This specifies the input format. The \fB\s-1DER\s0\fR option with a private key uses +an \s-1ASN1\s0 \s-1DER\s0 encoded form of an \s-1ASN\s0.1 \s-1SEQUENCE\s0 consisting of the values of +version (currently zero), p, q, g, the public and private key components +respectively as \s-1ASN\s0.1 INTEGERs. When used with a public key it uses a +SubjectPublicKeyInfo structure: it is an error if the key is not \s-1DSA\s0. +.Sp +The \fB\s-1PEM\s0\fR form is the default format: it consists of the \fB\s-1DER\s0\fR format base64 +encoded with additional header and footer lines. In the case of a private key +PKCS#8 format is also accepted. +.IP "\fB\-outform DER|PEM\fR" 4 +.IX Item "-outform DER|PEM" +This specifies the output format, the options have the same meaning and default +as the \fB\-inform\fR option. +.IP "\fB\-in filename\fR" 4 +.IX Item "-in filename" +This specifies the input filename to read a key from or standard input if this +option is not specified. If the key is encrypted a pass phrase will be +prompted for. +.IP "\fB\-passin arg\fR" 4 +.IX Item "-passin arg" +The input file password source. For more information about the format of \fBarg\fR +see the \fB\s-1PASS\s0 \s-1PHRASE\s0 \s-1ARGUMENTS\s0\fR section in \fIopenssl\fR\|(1). +.IP "\fB\-out filename\fR" 4 +.IX Item "-out filename" +This specifies the output filename to write a key to or standard output by +is not specified. If any encryption options are set then a pass phrase will be +prompted for. The output filename should \fBnot\fR be the same as the input +filename. +.IP "\fB\-passout arg\fR" 4 +.IX Item "-passout arg" +The output file password source. For more information about the format of \fBarg\fR +see the \fB\s-1PASS\s0 \s-1PHRASE\s0 \s-1ARGUMENTS\s0\fR section in \fIopenssl\fR\|(1). +.IP "\fB\-aes128\fR, \fB\-aes192\fR, \fB\-aes256\fR, \fB\-aria128\fR, \fB\-aria192\fR, \fB\-aria256\fR, \fB\-camellia128\fR, \fB\-camellia192\fR, \fB\-camellia256\fR, \fB\-des\fR, \fB\-des3\fR, \fB\-idea\fR" 4 +.IX Item "-aes128, -aes192, -aes256, -aria128, -aria192, -aria256, -camellia128, -camellia192, -camellia256, -des, -des3, -idea" +These options encrypt the private key with the specified +cipher before outputting it. A pass phrase is prompted for. +If none of these options is specified the key is written in plain text. This +means that using the \fBdsa\fR utility to read in an encrypted key with no +encryption option can be used to remove the pass phrase from a key, or by +setting the encryption options it can be use to add or change the pass phrase. +These options can only be used with \s-1PEM\s0 format output files. +.IP "\fB\-text\fR" 4 +.IX Item "-text" +Prints out the public, private key components and parameters. +.IP "\fB\-noout\fR" 4 +.IX Item "-noout" +This option prevents output of the encoded version of the key. +.IP "\fB\-modulus\fR" 4 +.IX Item "-modulus" +This option prints out the value of the public key component of the key. +.IP "\fB\-pubin\fR" 4 +.IX Item "-pubin" +By default, a private key is read from the input file. With this option a +public key is read instead. +.IP "\fB\-pubout\fR" 4 +.IX Item "-pubout" +By default, a private key is output. With this option a public +key will be output instead. This option is automatically set if the input is +a public key. +.IP "\fB\-engine id\fR" 4 +.IX Item "-engine id" +Specifying an engine (by its unique \fBid\fR string) will cause \fBdsa\fR +to attempt to obtain a functional reference to the specified engine, +thus initialising it if needed. The engine will then be set as the default +for all available algorithms. +.SH "NOTES" +.IX Header "NOTES" +The \s-1PEM\s0 private key format uses the header and footer lines: +.PP +.Vb 2 +\& \-\-\-\-\-BEGIN DSA PRIVATE KEY\-\-\-\-\- +\& \-\-\-\-\-END DSA PRIVATE KEY\-\-\-\-\- +.Ve +.PP +The \s-1PEM\s0 public key format uses the header and footer lines: +.PP +.Vb 2 +\& \-\-\-\-\-BEGIN PUBLIC KEY\-\-\-\-\- +\& \-\-\-\-\-END PUBLIC KEY\-\-\-\-\- +.Ve +.SH "EXAMPLES" +.IX Header "EXAMPLES" +To remove the pass phrase on a \s-1DSA\s0 private key: +.PP +.Vb 1 +\& openssl dsa \-in key.pem \-out keyout.pem +.Ve +.PP +To encrypt a private key using triple \s-1DES:\s0 +.PP +.Vb 1 +\& openssl dsa \-in key.pem \-des3 \-out keyout.pem +.Ve +.PP +To convert a private key from \s-1PEM\s0 to \s-1DER\s0 format: +.PP +.Vb 1 +\& openssl dsa \-in key.pem \-outform DER \-out keyout.der +.Ve +.PP +To print out the components of a private key to standard output: +.PP +.Vb 1 +\& openssl dsa \-in key.pem \-text \-noout +.Ve +.PP +To just output the public part of a private key: +.PP +.Vb 1 +\& openssl dsa \-in key.pem \-pubout \-out pubkey.pem +.Ve +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIdsaparam\fR\|(1), \fIgendsa\fR\|(1), \fIrsa\fR\|(1), +\&\fIgenrsa\fR\|(1) +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man1/dsaparam.1 b/linux_amd64/share/man/man1/dsaparam.1 new file mode 100644 index 0000000..1471007 --- /dev/null +++ b/linux_amd64/share/man/man1/dsaparam.1 @@ -0,0 +1,236 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "DSAPARAM 1" +.TH DSAPARAM 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +openssl\-dsaparam, dsaparam \- DSA parameter manipulation and generation +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBopenssl dsaparam\fR +[\fB\-help\fR] +[\fB\-inform DER|PEM\fR] +[\fB\-outform DER|PEM\fR] +[\fB\-in filename\fR] +[\fB\-out filename\fR] +[\fB\-noout\fR] +[\fB\-text\fR] +[\fB\-C\fR] +[\fB\-rand file...\fR] +[\fB\-writerand file\fR] +[\fB\-genkey\fR] +[\fB\-engine id\fR] +[\fBnumbits\fR] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +This command is used to manipulate or generate \s-1DSA\s0 parameter files. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-help\fR" 4 +.IX Item "-help" +Print out a usage message. +.IP "\fB\-inform DER|PEM\fR" 4 +.IX Item "-inform DER|PEM" +This specifies the input format. The \fB\s-1DER\s0\fR option uses an \s-1ASN1\s0 \s-1DER\s0 encoded +form compatible with \s-1RFC2459\s0 (\s-1PKIX\s0) DSS-Parms that is a \s-1SEQUENCE\s0 consisting +of p, q and g respectively. The \s-1PEM\s0 form is the default format: it consists +of the \fB\s-1DER\s0\fR format base64 encoded with additional header and footer lines. +.IP "\fB\-outform DER|PEM\fR" 4 +.IX Item "-outform DER|PEM" +This specifies the output format, the options have the same meaning and default +as the \fB\-inform\fR option. +.IP "\fB\-in filename\fR" 4 +.IX Item "-in filename" +This specifies the input filename to read parameters from or standard input if +this option is not specified. If the \fBnumbits\fR parameter is included then +this option will be ignored. +.IP "\fB\-out filename\fR" 4 +.IX Item "-out filename" +This specifies the output filename parameters to. Standard output is used +if this option is not present. The output filename should \fBnot\fR be the same +as the input filename. +.IP "\fB\-noout\fR" 4 +.IX Item "-noout" +This option inhibits the output of the encoded version of the parameters. +.IP "\fB\-text\fR" 4 +.IX Item "-text" +This option prints out the \s-1DSA\s0 parameters in human readable form. +.IP "\fB\-C\fR" 4 +.IX Item "-C" +This option converts the parameters into C code. The parameters can then +be loaded by calling the \fIget_dsaXXX()\fR function. +.IP "\fB\-genkey\fR" 4 +.IX Item "-genkey" +This option will generate a \s-1DSA\s0 either using the specified or generated +parameters. +.IP "\fB\-rand file...\fR" 4 +.IX Item "-rand file..." +A file or files containing random data used to seed the random number +generator. +Multiple files can be specified separated by an OS-dependent character. +The separator is \fB;\fR for MS-Windows, \fB,\fR for OpenVMS, and \fB:\fR for +all others. +.IP "[\fB\-writerand file\fR]" 4 +.IX Item "[-writerand file]" +Writes random data to the specified \fIfile\fR upon exit. +This can be used with a subsequent \fB\-rand\fR flag. +.IP "\fBnumbits\fR" 4 +.IX Item "numbits" +This option specifies that a parameter set should be generated of size +\&\fBnumbits\fR. It must be the last option. If this option is included then +the input file (if any) is ignored. +.IP "\fB\-engine id\fR" 4 +.IX Item "-engine id" +Specifying an engine (by its unique \fBid\fR string) will cause \fBdsaparam\fR +to attempt to obtain a functional reference to the specified engine, +thus initialising it if needed. The engine will then be set as the default +for all available algorithms. +.SH "NOTES" +.IX Header "NOTES" +\&\s-1PEM\s0 format \s-1DSA\s0 parameters use the header and footer lines: +.PP +.Vb 2 +\& \-\-\-\-\-BEGIN DSA PARAMETERS\-\-\-\-\- +\& \-\-\-\-\-END DSA PARAMETERS\-\-\-\-\- +.Ve +.PP +\&\s-1DSA\s0 parameter generation is a slow process and as a result the same set of +\&\s-1DSA\s0 parameters is often used to generate several distinct keys. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIgendsa\fR\|(1), \fIdsa\fR\|(1), \fIgenrsa\fR\|(1), +\&\fIrsa\fR\|(1) +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2000\-2017 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man1/ec.1 b/linux_amd64/share/man/man1/ec.1 new file mode 100644 index 0000000..41a3077 --- /dev/null +++ b/linux_amd64/share/man/man1/ec.1 @@ -0,0 +1,317 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "EC 1" +.TH EC 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +openssl\-ec, ec \- EC key processing +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBopenssl\fR \fBec\fR +[\fB\-help\fR] +[\fB\-inform PEM|DER\fR] +[\fB\-outform PEM|DER\fR] +[\fB\-in filename\fR] +[\fB\-passin arg\fR] +[\fB\-out filename\fR] +[\fB\-passout arg\fR] +[\fB\-des\fR] +[\fB\-des3\fR] +[\fB\-idea\fR] +[\fB\-text\fR] +[\fB\-noout\fR] +[\fB\-param_out\fR] +[\fB\-pubin\fR] +[\fB\-pubout\fR] +[\fB\-conv_form arg\fR] +[\fB\-param_enc arg\fR] +[\fB\-no_public\fR] +[\fB\-check\fR] +[\fB\-engine id\fR] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The \fBec\fR command processes \s-1EC\s0 keys. They can be converted between various +forms and their components printed out. \fBNote\fR OpenSSL uses the +private key format specified in '\s-1SEC\s0 1: Elliptic Curve Cryptography' +(http://www.secg.org/). To convert an OpenSSL \s-1EC\s0 private key into the +PKCS#8 private key format use the \fBpkcs8\fR command. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-help\fR" 4 +.IX Item "-help" +Print out a usage message. +.IP "\fB\-inform DER|PEM\fR" 4 +.IX Item "-inform DER|PEM" +This specifies the input format. The \fB\s-1DER\s0\fR option with a private key uses +an \s-1ASN\s0.1 \s-1DER\s0 encoded \s-1SEC1\s0 private key. When used with a public key it +uses the SubjectPublicKeyInfo structure as specified in \s-1RFC\s0 3280. +The \fB\s-1PEM\s0\fR form is the default format: it consists of the \fB\s-1DER\s0\fR format base64 +encoded with additional header and footer lines. In the case of a private key +PKCS#8 format is also accepted. +.IP "\fB\-outform DER|PEM\fR" 4 +.IX Item "-outform DER|PEM" +This specifies the output format, the options have the same meaning and default +as the \fB\-inform\fR option. +.IP "\fB\-in filename\fR" 4 +.IX Item "-in filename" +This specifies the input filename to read a key from or standard input if this +option is not specified. If the key is encrypted a pass phrase will be +prompted for. +.IP "\fB\-passin arg\fR" 4 +.IX Item "-passin arg" +The input file password source. For more information about the format of \fBarg\fR +see the \fB\s-1PASS\s0 \s-1PHRASE\s0 \s-1ARGUMENTS\s0\fR section in \fIopenssl\fR\|(1). +.IP "\fB\-out filename\fR" 4 +.IX Item "-out filename" +This specifies the output filename to write a key to or standard output by +is not specified. If any encryption options are set then a pass phrase will be +prompted for. The output filename should \fBnot\fR be the same as the input +filename. +.IP "\fB\-passout arg\fR" 4 +.IX Item "-passout arg" +The output file password source. For more information about the format of \fBarg\fR +see the \fB\s-1PASS\s0 \s-1PHRASE\s0 \s-1ARGUMENTS\s0\fR section in \fIopenssl\fR\|(1). +.IP "\fB\-des|\-des3|\-idea\fR" 4 +.IX Item "-des|-des3|-idea" +These options encrypt the private key with the \s-1DES\s0, triple \s-1DES\s0, \s-1IDEA\s0 or +any other cipher supported by OpenSSL before outputting it. A pass phrase is +prompted for. +If none of these options is specified the key is written in plain text. This +means that using the \fBec\fR utility to read in an encrypted key with no +encryption option can be used to remove the pass phrase from a key, or by +setting the encryption options it can be use to add or change the pass phrase. +These options can only be used with \s-1PEM\s0 format output files. +.IP "\fB\-text\fR" 4 +.IX Item "-text" +Prints out the public, private key components and parameters. +.IP "\fB\-noout\fR" 4 +.IX Item "-noout" +This option prevents output of the encoded version of the key. +.IP "\fB\-pubin\fR" 4 +.IX Item "-pubin" +By default, a private key is read from the input file. With this option a +public key is read instead. +.IP "\fB\-pubout\fR" 4 +.IX Item "-pubout" +By default a private key is output. With this option a public +key will be output instead. This option is automatically set if the input is +a public key. +.IP "\fB\-conv_form\fR" 4 +.IX Item "-conv_form" +This specifies how the points on the elliptic curve are converted +into octet strings. Possible values are: \fBcompressed\fR (the default +value), \fBuncompressed\fR and \fBhybrid\fR. For more information regarding +the point conversion forms please read the X9.62 standard. +\&\fBNote\fR Due to patent issues the \fBcompressed\fR option is disabled +by default for binary curves and can be enabled by defining +the preprocessor macro \fB\s-1OPENSSL_EC_BIN_PT_COMP\s0\fR at compile time. +.IP "\fB\-param_enc arg\fR" 4 +.IX Item "-param_enc arg" +This specifies how the elliptic curve parameters are encoded. +Possible value are: \fBnamed_curve\fR, i.e. the ec parameters are +specified by an \s-1OID\s0, or \fBexplicit\fR where the ec parameters are +explicitly given (see \s-1RFC\s0 3279 for the definition of the +\&\s-1EC\s0 parameters structures). The default value is \fBnamed_curve\fR. +\&\fBNote\fR the \fBimplicitlyCA\fR alternative, as specified in \s-1RFC\s0 3279, +is currently not implemented in OpenSSL. +.IP "\fB\-no_public\fR" 4 +.IX Item "-no_public" +This option omits the public key components from the private key output. +.IP "\fB\-check\fR" 4 +.IX Item "-check" +This option checks the consistency of an \s-1EC\s0 private or public key. +.IP "\fB\-engine id\fR" 4 +.IX Item "-engine id" +Specifying an engine (by its unique \fBid\fR string) will cause \fBec\fR +to attempt to obtain a functional reference to the specified engine, +thus initialising it if needed. The engine will then be set as the default +for all available algorithms. +.SH "NOTES" +.IX Header "NOTES" +The \s-1PEM\s0 private key format uses the header and footer lines: +.PP +.Vb 2 +\& \-\-\-\-\-BEGIN EC PRIVATE KEY\-\-\-\-\- +\& \-\-\-\-\-END EC PRIVATE KEY\-\-\-\-\- +.Ve +.PP +The \s-1PEM\s0 public key format uses the header and footer lines: +.PP +.Vb 2 +\& \-\-\-\-\-BEGIN PUBLIC KEY\-\-\-\-\- +\& \-\-\-\-\-END PUBLIC KEY\-\-\-\-\- +.Ve +.SH "EXAMPLES" +.IX Header "EXAMPLES" +To encrypt a private key using triple \s-1DES:\s0 +.PP +.Vb 1 +\& openssl ec \-in key.pem \-des3 \-out keyout.pem +.Ve +.PP +To convert a private key from \s-1PEM\s0 to \s-1DER\s0 format: +.PP +.Vb 1 +\& openssl ec \-in key.pem \-outform DER \-out keyout.der +.Ve +.PP +To print out the components of a private key to standard output: +.PP +.Vb 1 +\& openssl ec \-in key.pem \-text \-noout +.Ve +.PP +To just output the public part of a private key: +.PP +.Vb 1 +\& openssl ec \-in key.pem \-pubout \-out pubkey.pem +.Ve +.PP +To change the parameters encoding to \fBexplicit\fR: +.PP +.Vb 1 +\& openssl ec \-in key.pem \-param_enc explicit \-out keyout.pem +.Ve +.PP +To change the point conversion form to \fBcompressed\fR: +.PP +.Vb 1 +\& openssl ec \-in key.pem \-conv_form compressed \-out keyout.pem +.Ve +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIecparam\fR\|(1), \fIdsa\fR\|(1), \fIrsa\fR\|(1) +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2003\-2019 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man1/ecparam.1 b/linux_amd64/share/man/man1/ecparam.1 new file mode 100644 index 0000000..61ea974 --- /dev/null +++ b/linux_amd64/share/man/man1/ecparam.1 @@ -0,0 +1,303 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "ECPARAM 1" +.TH ECPARAM 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +openssl\-ecparam, ecparam \- EC parameter manipulation and generation +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBopenssl ecparam\fR +[\fB\-help\fR] +[\fB\-inform DER|PEM\fR] +[\fB\-outform DER|PEM\fR] +[\fB\-in filename\fR] +[\fB\-out filename\fR] +[\fB\-noout\fR] +[\fB\-text\fR] +[\fB\-C\fR] +[\fB\-check\fR] +[\fB\-name arg\fR] +[\fB\-list_curves\fR] +[\fB\-conv_form arg\fR] +[\fB\-param_enc arg\fR] +[\fB\-no_seed\fR] +[\fB\-rand file...\fR] +[\fB\-writerand file\fR] +[\fB\-genkey\fR] +[\fB\-engine id\fR] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +This command is used to manipulate or generate \s-1EC\s0 parameter files. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-help\fR" 4 +.IX Item "-help" +Print out a usage message. +.IP "\fB\-inform DER|PEM\fR" 4 +.IX Item "-inform DER|PEM" +This specifies the input format. The \fB\s-1DER\s0\fR option uses an \s-1ASN\s0.1 \s-1DER\s0 encoded +form compatible with \s-1RFC\s0 3279 EcpkParameters. The \s-1PEM\s0 form is the default +format: it consists of the \fB\s-1DER\s0\fR format base64 encoded with additional +header and footer lines. +.IP "\fB\-outform DER|PEM\fR" 4 +.IX Item "-outform DER|PEM" +This specifies the output format, the options have the same meaning and default +as the \fB\-inform\fR option. +.IP "\fB\-in filename\fR" 4 +.IX Item "-in filename" +This specifies the input filename to read parameters from or standard input if +this option is not specified. +.IP "\fB\-out filename\fR" 4 +.IX Item "-out filename" +This specifies the output filename parameters to. Standard output is used +if this option is not present. The output filename should \fBnot\fR be the same +as the input filename. +.IP "\fB\-noout\fR" 4 +.IX Item "-noout" +This option inhibits the output of the encoded version of the parameters. +.IP "\fB\-text\fR" 4 +.IX Item "-text" +This option prints out the \s-1EC\s0 parameters in human readable form. +.IP "\fB\-C\fR" 4 +.IX Item "-C" +This option converts the \s-1EC\s0 parameters into C code. The parameters can then +be loaded by calling the \fIget_ec_group_XXX()\fR function. +.IP "\fB\-check\fR" 4 +.IX Item "-check" +Validate the elliptic curve parameters. +.IP "\fB\-name arg\fR" 4 +.IX Item "-name arg" +Use the \s-1EC\s0 parameters with the specified 'short' name. Use \fB\-list_curves\fR +to get a list of all currently implemented \s-1EC\s0 parameters. +.IP "\fB\-list_curves\fR" 4 +.IX Item "-list_curves" +If this options is specified \fBecparam\fR will print out a list of all +currently implemented \s-1EC\s0 parameters names and exit. +.IP "\fB\-conv_form\fR" 4 +.IX Item "-conv_form" +This specifies how the points on the elliptic curve are converted +into octet strings. Possible values are: \fBcompressed\fR, \fBuncompressed\fR (the +default value) and \fBhybrid\fR. For more information regarding +the point conversion forms please read the X9.62 standard. +\&\fBNote\fR Due to patent issues the \fBcompressed\fR option is disabled +by default for binary curves and can be enabled by defining +the preprocessor macro \fB\s-1OPENSSL_EC_BIN_PT_COMP\s0\fR at compile time. +.IP "\fB\-param_enc arg\fR" 4 +.IX Item "-param_enc arg" +This specifies how the elliptic curve parameters are encoded. +Possible value are: \fBnamed_curve\fR, i.e. the ec parameters are +specified by an \s-1OID\s0, or \fBexplicit\fR where the ec parameters are +explicitly given (see \s-1RFC\s0 3279 for the definition of the +\&\s-1EC\s0 parameters structures). The default value is \fBnamed_curve\fR. +\&\fBNote\fR the \fBimplicitlyCA\fR alternative, as specified in \s-1RFC\s0 3279, +is currently not implemented in OpenSSL. +.IP "\fB\-no_seed\fR" 4 +.IX Item "-no_seed" +This option inhibits that the 'seed' for the parameter generation +is included in the ECParameters structure (see \s-1RFC\s0 3279). +.IP "\fB\-genkey\fR" 4 +.IX Item "-genkey" +This option will generate an \s-1EC\s0 private key using the specified parameters. +.IP "\fB\-rand file...\fR" 4 +.IX Item "-rand file..." +A file or files containing random data used to seed the random number +generator. +Multiple files can be specified separated by an OS-dependent character. +The separator is \fB;\fR for MS-Windows, \fB,\fR for OpenVMS, and \fB:\fR for +all others. +.IP "[\fB\-writerand file\fR]" 4 +.IX Item "[-writerand file]" +Writes random data to the specified \fIfile\fR upon exit. +This can be used with a subsequent \fB\-rand\fR flag. +.IP "\fB\-engine id\fR" 4 +.IX Item "-engine id" +Specifying an engine (by its unique \fBid\fR string) will cause \fBecparam\fR +to attempt to obtain a functional reference to the specified engine, +thus initialising it if needed. The engine will then be set as the default +for all available algorithms. +.SH "NOTES" +.IX Header "NOTES" +\&\s-1PEM\s0 format \s-1EC\s0 parameters use the header and footer lines: +.PP +.Vb 2 +\& \-\-\-\-\-BEGIN EC PARAMETERS\-\-\-\-\- +\& \-\-\-\-\-END EC PARAMETERS\-\-\-\-\- +.Ve +.PP +OpenSSL is currently not able to generate new groups and therefore +\&\fBecparam\fR can only create \s-1EC\s0 parameters from known (named) curves. +.SH "EXAMPLES" +.IX Header "EXAMPLES" +To create \s-1EC\s0 parameters with the group 'prime192v1': +.PP +.Vb 1 +\& openssl ecparam \-out ec_param.pem \-name prime192v1 +.Ve +.PP +To create \s-1EC\s0 parameters with explicit parameters: +.PP +.Vb 1 +\& openssl ecparam \-out ec_param.pem \-name prime192v1 \-param_enc explicit +.Ve +.PP +To validate given \s-1EC\s0 parameters: +.PP +.Vb 1 +\& openssl ecparam \-in ec_param.pem \-check +.Ve +.PP +To create \s-1EC\s0 parameters and a private key: +.PP +.Vb 1 +\& openssl ecparam \-out ec_key.pem \-name prime192v1 \-genkey +.Ve +.PP +To change the point encoding to 'compressed': +.PP +.Vb 1 +\& openssl ecparam \-in ec_in.pem \-out ec_out.pem \-conv_form compressed +.Ve +.PP +To print out the \s-1EC\s0 parameters to standard output: +.PP +.Vb 1 +\& openssl ecparam \-in ec_param.pem \-noout \-text +.Ve +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIec\fR\|(1), \fIdsaparam\fR\|(1) +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2003\-2018 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man1/enc.1 b/linux_amd64/share/man/man1/enc.1 new file mode 100644 index 0000000..912de79 --- /dev/null +++ b/linux_amd64/share/man/man1/enc.1 @@ -0,0 +1,534 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "ENC 1" +.TH ENC 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +openssl\-enc, enc \- symmetric cipher routines +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBopenssl enc \-\f(BIcipher\fB\fR +[\fB\-help\fR] +[\fB\-list\fR] +[\fB\-ciphers\fR] +[\fB\-in filename\fR] +[\fB\-out filename\fR] +[\fB\-pass arg\fR] +[\fB\-e\fR] +[\fB\-d\fR] +[\fB\-a\fR] +[\fB\-base64\fR] +[\fB\-A\fR] +[\fB\-k password\fR] +[\fB\-kfile filename\fR] +[\fB\-K key\fR] +[\fB\-iv \s-1IV\s0\fR] +[\fB\-S salt\fR] +[\fB\-salt\fR] +[\fB\-nosalt\fR] +[\fB\-z\fR] +[\fB\-md digest\fR] +[\fB\-iter count\fR] +[\fB\-pbkdf2\fR] +[\fB\-p\fR] +[\fB\-P\fR] +[\fB\-bufsize number\fR] +[\fB\-nopad\fR] +[\fB\-debug\fR] +[\fB\-none\fR] +[\fB\-rand file...\fR] +[\fB\-writerand file\fR] +[\fB\-engine id\fR] +.PP +\&\fBopenssl\fR \fI[cipher]\fR [\fB...\fR] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The symmetric cipher commands allow data to be encrypted or decrypted +using various block and stream ciphers using keys based on passwords +or explicitly provided. Base64 encoding or decoding can also be performed +either by itself or in addition to the encryption or decryption. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-help\fR" 4 +.IX Item "-help" +Print out a usage message. +.IP "\fB\-list\fR" 4 +.IX Item "-list" +List all supported ciphers. +.IP "\fB\-ciphers\fR" 4 +.IX Item "-ciphers" +Alias of \-list to display all supported ciphers. +.IP "\fB\-in filename\fR" 4 +.IX Item "-in filename" +The input filename, standard input by default. +.IP "\fB\-out filename\fR" 4 +.IX Item "-out filename" +The output filename, standard output by default. +.IP "\fB\-pass arg\fR" 4 +.IX Item "-pass arg" +The password source. For more information about the format of \fBarg\fR +see the \fB\s-1PASS\s0 \s-1PHRASE\s0 \s-1ARGUMENTS\s0\fR section in \fIopenssl\fR\|(1). +.IP "\fB\-e\fR" 4 +.IX Item "-e" +Encrypt the input data: this is the default. +.IP "\fB\-d\fR" 4 +.IX Item "-d" +Decrypt the input data. +.IP "\fB\-a\fR" 4 +.IX Item "-a" +Base64 process the data. This means that if encryption is taking place +the data is base64 encoded after encryption. If decryption is set then +the input data is base64 decoded before being decrypted. +.IP "\fB\-base64\fR" 4 +.IX Item "-base64" +Same as \fB\-a\fR +.IP "\fB\-A\fR" 4 +.IX Item "-A" +If the \fB\-a\fR option is set then base64 process the data on one line. +.IP "\fB\-k password\fR" 4 +.IX Item "-k password" +The password to derive the key from. This is for compatibility with previous +versions of OpenSSL. Superseded by the \fB\-pass\fR argument. +.IP "\fB\-kfile filename\fR" 4 +.IX Item "-kfile filename" +Read the password to derive the key from the first line of \fBfilename\fR. +This is for compatibility with previous versions of OpenSSL. Superseded by +the \fB\-pass\fR argument. +.IP "\fB\-md digest\fR" 4 +.IX Item "-md digest" +Use the specified digest to create the key from the passphrase. +The default algorithm is sha\-256. +.IP "\fB\-iter count\fR" 4 +.IX Item "-iter count" +Use a given number of iterations on the password in deriving the encryption key. +High values increase the time required to brute-force the resulting file. +This option enables the use of \s-1PBKDF2\s0 algorithm to derive the key. +.IP "\fB\-pbkdf2\fR" 4 +.IX Item "-pbkdf2" +Use \s-1PBKDF2\s0 algorithm with default iteration count unless otherwise specified. +.IP "\fB\-nosalt\fR" 4 +.IX Item "-nosalt" +Don't use a salt in the key derivation routines. This option \fB\s-1SHOULD\s0 \s-1NOT\s0\fR be +used except for test purposes or compatibility with ancient versions of +OpenSSL. +.IP "\fB\-salt\fR" 4 +.IX Item "-salt" +Use salt (randomly generated or provide with \fB\-S\fR option) when +encrypting, this is the default. +.IP "\fB\-S salt\fR" 4 +.IX Item "-S salt" +The actual salt to use: this must be represented as a string of hex digits. +.IP "\fB\-K key\fR" 4 +.IX Item "-K key" +The actual key to use: this must be represented as a string comprised only +of hex digits. If only the key is specified, the \s-1IV\s0 must additionally specified +using the \fB\-iv\fR option. When both a key and a password are specified, the +key given with the \fB\-K\fR option will be used and the \s-1IV\s0 generated from the +password will be taken. It does not make much sense to specify both key +and password. +.IP "\fB\-iv \s-1IV\s0\fR" 4 +.IX Item "-iv IV" +The actual \s-1IV\s0 to use: this must be represented as a string comprised only +of hex digits. When only the key is specified using the \fB\-K\fR option, the +\&\s-1IV\s0 must explicitly be defined. When a password is being specified using +one of the other options, the \s-1IV\s0 is generated from this password. +.IP "\fB\-p\fR" 4 +.IX Item "-p" +Print out the key and \s-1IV\s0 used. +.IP "\fB\-P\fR" 4 +.IX Item "-P" +Print out the key and \s-1IV\s0 used then immediately exit: don't do any encryption +or decryption. +.IP "\fB\-bufsize number\fR" 4 +.IX Item "-bufsize number" +Set the buffer size for I/O. +.IP "\fB\-nopad\fR" 4 +.IX Item "-nopad" +Disable standard block padding. +.IP "\fB\-debug\fR" 4 +.IX Item "-debug" +Debug the BIOs used for I/O. +.IP "\fB\-z\fR" 4 +.IX Item "-z" +Compress or decompress clear text using zlib before encryption or after +decryption. This option exists only if OpenSSL with compiled with zlib +or zlib-dynamic option. +.IP "\fB\-none\fR" 4 +.IX Item "-none" +Use \s-1NULL\s0 cipher (no encryption or decryption of input). +.IP "\fB\-rand file...\fR" 4 +.IX Item "-rand file..." +A file or files containing random data used to seed the random number +generator. +Multiple files can be specified separated by an OS-dependent character. +The separator is \fB;\fR for MS-Windows, \fB,\fR for OpenVMS, and \fB:\fR for +all others. +.IP "[\fB\-writerand file\fR]" 4 +.IX Item "[-writerand file]" +Writes random data to the specified \fIfile\fR upon exit. +This can be used with a subsequent \fB\-rand\fR flag. +.SH "NOTES" +.IX Header "NOTES" +The program can be called either as \fBopenssl cipher\fR or +\&\fBopenssl enc \-cipher\fR. The first form doesn't work with +engine-provided ciphers, because this form is processed before the +configuration file is read and any ENGINEs loaded. +Use the \fBlist\fR command to get a list of supported ciphers. +.PP +Engines which provide entirely new encryption algorithms (such as the ccgost +engine which provides gost89 algorithm) should be configured in the +configuration file. Engines specified on the command line using \-engine +options can only be used for hardware-assisted implementations of +ciphers which are supported by the OpenSSL core or another engine specified +in the configuration file. +.PP +When the enc command lists supported ciphers, ciphers provided by engines, +specified in the configuration files are listed too. +.PP +A password will be prompted for to derive the key and \s-1IV\s0 if necessary. +.PP +The \fB\-salt\fR option should \fB\s-1ALWAYS\s0\fR be used if the key is being derived +from a password unless you want compatibility with previous versions of +OpenSSL. +.PP +Without the \fB\-salt\fR option it is possible to perform efficient dictionary +attacks on the password and to attack stream cipher encrypted data. The reason +for this is that without the salt the same password always generates the same +encryption key. When the salt is being used the first eight bytes of the +encrypted data are reserved for the salt: it is generated at random when +encrypting a file and read from the encrypted file when it is decrypted. +.PP +Some of the ciphers do not have large keys and others have security +implications if not used correctly. A beginner is advised to just use +a strong block cipher, such as \s-1AES\s0, in \s-1CBC\s0 mode. +.PP +All the block ciphers normally use PKCS#5 padding, also known as standard +block padding. This allows a rudimentary integrity or password check to +be performed. However since the chance of random data passing the test +is better than 1 in 256 it isn't a very good test. +.PP +If padding is disabled then the input data must be a multiple of the cipher +block length. +.PP +All \s-1RC2\s0 ciphers have the same key and effective key length. +.PP +Blowfish and \s-1RC5\s0 algorithms use a 128 bit key. +.SH "SUPPORTED CIPHERS" +.IX Header "SUPPORTED CIPHERS" +Note that some of these ciphers can be disabled at compile time +and some are available only if an appropriate engine is configured +in the configuration file. The output of the \fBenc\fR command run with +the \fB\-ciphers\fR option (that is \fBopenssl enc \-ciphers\fR) produces a +list of ciphers, supported by your version of OpenSSL, including +ones provided by configured engines. +.PP +The \fBenc\fR program does not support authenticated encryption modes +like \s-1CCM\s0 and \s-1GCM\s0, and will not support such modes in the future. +The \fBenc\fR interface by necessity must begin streaming output (e.g., +to standard output when \fB\-out\fR is not used) before the authentication +tag could be validated, leading to the usage of \fBenc\fR in pipelines +that begin processing untrusted data and are not capable of rolling +back upon authentication failure. The \s-1AEAD\s0 modes currently in common +use also suffer from catastrophic failure of confidentiality and/or +integrity upon reuse of key/iv/nonce, and since \fBenc\fR places the +entire burden of key/iv/nonce management upon the user, the risk of +exposing \s-1AEAD\s0 modes is too great to allow. These key/iv/nonce +management issues also affect other modes currently exposed in \fBenc\fR, +but the failure modes are less extreme in these cases, and the +functionality cannot be removed with a stable release branch. +For bulk encryption of data, whether using authenticated encryption +modes or other modes, \fIcms\fR\|(1) is recommended, as it provides a +standard data format and performs the needed key/iv/nonce management. +.PP +.Vb 1 +\& base64 Base 64 +\& +\& bf\-cbc Blowfish in CBC mode +\& bf Alias for bf\-cbc +\& blowfish Alias for bf\-cbc +\& bf\-cfb Blowfish in CFB mode +\& bf\-ecb Blowfish in ECB mode +\& bf\-ofb Blowfish in OFB mode +\& +\& cast\-cbc CAST in CBC mode +\& cast Alias for cast\-cbc +\& cast5\-cbc CAST5 in CBC mode +\& cast5\-cfb CAST5 in CFB mode +\& cast5\-ecb CAST5 in ECB mode +\& cast5\-ofb CAST5 in OFB mode +\& +\& chacha20 ChaCha20 algorithm +\& +\& des\-cbc DES in CBC mode +\& des Alias for des\-cbc +\& des\-cfb DES in CFB mode +\& des\-ofb DES in OFB mode +\& des\-ecb DES in ECB mode +\& +\& des\-ede\-cbc Two key triple DES EDE in CBC mode +\& des\-ede Two key triple DES EDE in ECB mode +\& des\-ede\-cfb Two key triple DES EDE in CFB mode +\& des\-ede\-ofb Two key triple DES EDE in OFB mode +\& +\& des\-ede3\-cbc Three key triple DES EDE in CBC mode +\& des\-ede3 Three key triple DES EDE in ECB mode +\& des3 Alias for des\-ede3\-cbc +\& des\-ede3\-cfb Three key triple DES EDE CFB mode +\& des\-ede3\-ofb Three key triple DES EDE in OFB mode +\& +\& desx DESX algorithm. +\& +\& gost89 GOST 28147\-89 in CFB mode (provided by ccgost engine) +\& gost89\-cnt \`GOST 28147\-89 in CNT mode (provided by ccgost engine) +\& +\& idea\-cbc IDEA algorithm in CBC mode +\& idea same as idea\-cbc +\& idea\-cfb IDEA in CFB mode +\& idea\-ecb IDEA in ECB mode +\& idea\-ofb IDEA in OFB mode +\& +\& rc2\-cbc 128 bit RC2 in CBC mode +\& rc2 Alias for rc2\-cbc +\& rc2\-cfb 128 bit RC2 in CFB mode +\& rc2\-ecb 128 bit RC2 in ECB mode +\& rc2\-ofb 128 bit RC2 in OFB mode +\& rc2\-64\-cbc 64 bit RC2 in CBC mode +\& rc2\-40\-cbc 40 bit RC2 in CBC mode +\& +\& rc4 128 bit RC4 +\& rc4\-64 64 bit RC4 +\& rc4\-40 40 bit RC4 +\& +\& rc5\-cbc RC5 cipher in CBC mode +\& rc5 Alias for rc5\-cbc +\& rc5\-cfb RC5 cipher in CFB mode +\& rc5\-ecb RC5 cipher in ECB mode +\& rc5\-ofb RC5 cipher in OFB mode +\& +\& seed\-cbc SEED cipher in CBC mode +\& seed Alias for seed\-cbc +\& seed\-cfb SEED cipher in CFB mode +\& seed\-ecb SEED cipher in ECB mode +\& seed\-ofb SEED cipher in OFB mode +\& +\& sm4\-cbc SM4 cipher in CBC mode +\& sm4 Alias for sm4\-cbc +\& sm4\-cfb SM4 cipher in CFB mode +\& sm4\-ctr SM4 cipher in CTR mode +\& sm4\-ecb SM4 cipher in ECB mode +\& sm4\-ofb SM4 cipher in OFB mode +\& +\& aes\-[128|192|256]\-cbc 128/192/256 bit AES in CBC mode +\& aes[128|192|256] Alias for aes\-[128|192|256]\-cbc +\& aes\-[128|192|256]\-cfb 128/192/256 bit AES in 128 bit CFB mode +\& aes\-[128|192|256]\-cfb1 128/192/256 bit AES in 1 bit CFB mode +\& aes\-[128|192|256]\-cfb8 128/192/256 bit AES in 8 bit CFB mode +\& aes\-[128|192|256]\-ctr 128/192/256 bit AES in CTR mode +\& aes\-[128|192|256]\-ecb 128/192/256 bit AES in ECB mode +\& aes\-[128|192|256]\-ofb 128/192/256 bit AES in OFB mode +\& +\& aria\-[128|192|256]\-cbc 128/192/256 bit ARIA in CBC mode +\& aria[128|192|256] Alias for aria\-[128|192|256]\-cbc +\& aria\-[128|192|256]\-cfb 128/192/256 bit ARIA in 128 bit CFB mode +\& aria\-[128|192|256]\-cfb1 128/192/256 bit ARIA in 1 bit CFB mode +\& aria\-[128|192|256]\-cfb8 128/192/256 bit ARIA in 8 bit CFB mode +\& aria\-[128|192|256]\-ctr 128/192/256 bit ARIA in CTR mode +\& aria\-[128|192|256]\-ecb 128/192/256 bit ARIA in ECB mode +\& aria\-[128|192|256]\-ofb 128/192/256 bit ARIA in OFB mode +\& +\& camellia\-[128|192|256]\-cbc 128/192/256 bit Camellia in CBC mode +\& camellia[128|192|256] Alias for camellia\-[128|192|256]\-cbc +\& camellia\-[128|192|256]\-cfb 128/192/256 bit Camellia in 128 bit CFB mode +\& camellia\-[128|192|256]\-cfb1 128/192/256 bit Camellia in 1 bit CFB mode +\& camellia\-[128|192|256]\-cfb8 128/192/256 bit Camellia in 8 bit CFB mode +\& camellia\-[128|192|256]\-ctr 128/192/256 bit Camellia in CTR mode +\& camellia\-[128|192|256]\-ecb 128/192/256 bit Camellia in ECB mode +\& camellia\-[128|192|256]\-ofb 128/192/256 bit Camellia in OFB mode +.Ve +.SH "EXAMPLES" +.IX Header "EXAMPLES" +Just base64 encode a binary file: +.PP +.Vb 1 +\& openssl base64 \-in file.bin \-out file.b64 +.Ve +.PP +Decode the same file +.PP +.Vb 1 +\& openssl base64 \-d \-in file.b64 \-out file.bin +.Ve +.PP +Encrypt a file using \s-1AES\-128\s0 using a prompted password +and \s-1PBKDF2\s0 key derivation: +.PP +.Vb 1 +\& openssl enc \-aes128 \-pbkdf2 \-in file.txt \-out file.aes128 +.Ve +.PP +Decrypt a file using a supplied password: +.PP +.Vb 2 +\& openssl enc \-aes128 \-pbkdf2 \-d \-in file.aes128 \-out file.txt \e +\& \-pass pass: +.Ve +.PP +Encrypt a file then base64 encode it (so it can be sent via mail for example) +using \s-1AES\-256\s0 in \s-1CTR\s0 mode and \s-1PBKDF2\s0 key derivation: +.PP +.Vb 1 +\& openssl enc \-aes\-256\-ctr \-pbkdf2 \-a \-in file.txt \-out file.aes256 +.Ve +.PP +Base64 decode a file then decrypt it using a password supplied in a file: +.PP +.Vb 2 +\& openssl enc \-aes\-256\-ctr \-pbkdf2 \-d \-a \-in file.aes256 \-out file.txt \e +\& \-pass file: +.Ve +.SH "BUGS" +.IX Header "BUGS" +The \fB\-A\fR option when used with large files doesn't work properly. +.PP +The \fBenc\fR program only supports a fixed number of algorithms with +certain parameters. So if, for example, you want to use \s-1RC2\s0 with a +76 bit key or \s-1RC4\s0 with an 84 bit key you can't use this program. +.SH "HISTORY" +.IX Header "HISTORY" +The default digest was changed from \s-1MD5\s0 to \s-1SHA256\s0 in OpenSSL 1.1.0. +.PP +The \fB\-list\fR option was added in OpenSSL 1.1.1e. +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man1/engine.1 b/linux_amd64/share/man/man1/engine.1 new file mode 100644 index 0000000..75885db --- /dev/null +++ b/linux_amd64/share/man/man1/engine.1 @@ -0,0 +1,231 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "ENGINE 1" +.TH ENGINE 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +openssl\-engine, engine \- load and query engines +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBopenssl engine\fR +[ \fIengine...\fR ] +[\fB\-v\fR] +[\fB\-vv\fR] +[\fB\-vvv\fR] +[\fB\-vvv\fR] +[\fB\-vvv\fR] +[\fB\-c\fR] +[\fB\-t\fR] +[\fB\-tt\fR] +[\fB\-pre\fR \fIcommand\fR] +[\fB\-post\fR \fIcommand\fR] +[ \fIengine...\fR ] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The \fBengine\fR command is used to query the status and capabilities +of the specified \fBengine\fR's. +Engines may be specified before and after all other command-line flags. +Only those specified are queried. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-v\fR \fB\-vv\fR \fB\-vvv\fR \fB\-vvvv\fR" 4 +.IX Item "-v -vv -vvv -vvvv" +Provides information about each specified engine. The first flag lists +all the possible run-time control commands; the second adds a +description of each command; the third adds the input flags, and the +final option adds the internal input flags. +.IP "\fB\-c\fR" 4 +.IX Item "-c" +Lists the capabilities of each engine. +.IP "\fB\-t\fR" 4 +.IX Item "-t" +Tests if each specified engine is available, and displays the answer. +.IP "\fB\-tt\fR" 4 +.IX Item "-tt" +Displays an error trace for any unavailable engine. +.IP "\fB\-pre\fR \fIcommand\fR" 4 +.IX Item "-pre command" +.PD 0 +.IP "\fB\-post\fR \fIcommand\fR" 4 +.IX Item "-post command" +.PD +Command-line configuration of engines. +The \fB\-pre\fR command is given to the engine before it is loaded and +the \fB\-post\fR command is given after the engine is loaded. +The \fIcommand\fR is of the form \fIcmd:val\fR where \fIcmd\fR is the command, +and \fIval\fR is the value for the command. +See the example below. +.SH "EXAMPLES" +.IX Header "EXAMPLES" +To list all the commands available to a dynamic engine: +.PP +.Vb 10 +\& $ openssl engine \-t \-tt \-vvvv dynamic +\& (dynamic) Dynamic engine loading support +\& [ unavailable ] +\& SO_PATH: Specifies the path to the new ENGINE shared library +\& (input flags): STRING +\& NO_VCHECK: Specifies to continue even if version checking fails (boolean) +\& (input flags): NUMERIC +\& ID: Specifies an ENGINE id name for loading +\& (input flags): STRING +\& LIST_ADD: Whether to add a loaded ENGINE to the internal list (0=no,1=yes,2=mandatory) +\& (input flags): NUMERIC +\& DIR_LOAD: Specifies whether to load from \*(AqDIR_ADD\*(Aq directories (0=no,1=yes,2=mandatory) +\& (input flags): NUMERIC +\& DIR_ADD: Adds a directory from which ENGINEs can be loaded +\& (input flags): STRING +\& LOAD: Load up the ENGINE specified by other settings +\& (input flags): NO_INPUT +.Ve +.PP +To list the capabilities of the \fIrsax\fR engine: +.PP +.Vb 4 +\& $ openssl engine \-c +\& (rsax) RSAX engine support +\& [RSA] +\& (dynamic) Dynamic engine loading support +.Ve +.SH "ENVIRONMENT" +.IX Header "ENVIRONMENT" +.IP "\fB\s-1OPENSSL_ENGINES\s0\fR" 4 +.IX Item "OPENSSL_ENGINES" +The path to the engines directory. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIconfig\fR\|(5) +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2016\-2019 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man1/errstr.1 b/linux_amd64/share/man/man1/errstr.1 new file mode 100644 index 0000000..13bcff2 --- /dev/null +++ b/linux_amd64/share/man/man1/errstr.1 @@ -0,0 +1,172 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "ERRSTR 1" +.TH ERRSTR 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +openssl\-errstr, errstr \- lookup error codes +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBopenssl errstr error_code\fR +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +Sometimes an application will not load error message and only +numerical forms will be available. The \fBerrstr\fR utility can be used to +display the meaning of the hex code. The hex code is the hex digits after the +second colon. +.SH "OPTIONS" +.IX Header "OPTIONS" +None. +.SH "EXAMPLES" +.IX Header "EXAMPLES" +The error code: +.PP +.Vb 1 +\& 27594:error:2006D080:lib(32):func(109):reason(128):bss_file.c:107: +.Ve +.PP +can be displayed with: +.PP +.Vb 1 +\& openssl errstr 2006D080 +.Ve +.PP +to produce the error message: +.PP +.Vb 1 +\& error:2006D080:BIO routines:BIO_new_file:no such file +.Ve +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2004\-2019 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man1/gendsa.1 b/linux_amd64/share/man/man1/gendsa.1 new file mode 100644 index 0000000..91606ad --- /dev/null +++ b/linux_amd64/share/man/man1/gendsa.1 @@ -0,0 +1,210 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "GENDSA 1" +.TH GENDSA 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +openssl\-gendsa, gendsa \- generate a DSA private key from a set of parameters +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBopenssl\fR \fBgendsa\fR +[\fB\-help\fR] +[\fB\-out filename\fR] +[\fB\-aes128\fR] +[\fB\-aes192\fR] +[\fB\-aes256\fR] +[\fB\-aria128\fR] +[\fB\-aria192\fR] +[\fB\-aria256\fR] +[\fB\-camellia128\fR] +[\fB\-camellia192\fR] +[\fB\-camellia256\fR] +[\fB\-des\fR] +[\fB\-des3\fR] +[\fB\-idea\fR] +[\fB\-rand file...\fR] +[\fB\-writerand file\fR] +[\fB\-engine id\fR] +[\fBparamfile\fR] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The \fBgendsa\fR command generates a \s-1DSA\s0 private key from a \s-1DSA\s0 parameter file +(which will be typically generated by the \fBopenssl dsaparam\fR command). +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-help\fR" 4 +.IX Item "-help" +Print out a usage message. +.IP "\fB\-out filename\fR" 4 +.IX Item "-out filename" +Output the key to the specified file. If this argument is not specified then +standard output is used. +.IP "\fB\-aes128\fR, \fB\-aes192\fR, \fB\-aes256\fR, \fB\-aria128\fR, \fB\-aria192\fR, \fB\-aria256\fR, \fB\-camellia128\fR, \fB\-camellia192\fR, \fB\-camellia256\fR, \fB\-des\fR, \fB\-des3\fR, \fB\-idea\fR" 4 +.IX Item "-aes128, -aes192, -aes256, -aria128, -aria192, -aria256, -camellia128, -camellia192, -camellia256, -des, -des3, -idea" +These options encrypt the private key with specified +cipher before outputting it. A pass phrase is prompted for. +If none of these options is specified no encryption is used. +.IP "\fB\-rand file...\fR" 4 +.IX Item "-rand file..." +A file or files containing random data used to seed the random number +generator. +Multiple files can be specified separated by an OS-dependent character. +The separator is \fB;\fR for MS-Windows, \fB,\fR for OpenVMS, and \fB:\fR for +all others. +.IP "[\fB\-writerand file\fR]" 4 +.IX Item "[-writerand file]" +Writes random data to the specified \fIfile\fR upon exit. +This can be used with a subsequent \fB\-rand\fR flag. +.IP "\fB\-engine id\fR" 4 +.IX Item "-engine id" +Specifying an engine (by its unique \fBid\fR string) will cause \fBgendsa\fR +to attempt to obtain a functional reference to the specified engine, +thus initialising it if needed. The engine will then be set as the default +for all available algorithms. +.IP "\fBparamfile\fR" 4 +.IX Item "paramfile" +This option specifies the \s-1DSA\s0 parameter file to use. The parameters in this +file determine the size of the private key. \s-1DSA\s0 parameters can be generated +and examined using the \fBopenssl dsaparam\fR command. +.SH "NOTES" +.IX Header "NOTES" +\&\s-1DSA\s0 key generation is little more than random number generation so it is +much quicker that \s-1RSA\s0 key generation for example. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIdsaparam\fR\|(1), \fIdsa\fR\|(1), \fIgenrsa\fR\|(1), +\&\fIrsa\fR\|(1) +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man1/genpkey.1 b/linux_amd64/share/man/man1/genpkey.1 new file mode 100644 index 0000000..96f9c1f --- /dev/null +++ b/linux_amd64/share/man/man1/genpkey.1 @@ -0,0 +1,425 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "GENPKEY 1" +.TH GENPKEY 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +openssl\-genpkey, genpkey \- generate a private key +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBopenssl\fR \fBgenpkey\fR +[\fB\-help\fR] +[\fB\-out filename\fR] +[\fB\-outform PEM|DER\fR] +[\fB\-pass arg\fR] +[\fB\-\f(BIcipher\fB\fR] +[\fB\-engine id\fR] +[\fB\-paramfile file\fR] +[\fB\-algorithm alg\fR] +[\fB\-pkeyopt opt:value\fR] +[\fB\-genparam\fR] +[\fB\-text\fR] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The \fBgenpkey\fR command generates a private key. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-help\fR" 4 +.IX Item "-help" +Print out a usage message. +.IP "\fB\-out filename\fR" 4 +.IX Item "-out filename" +Output the key to the specified file. If this argument is not specified then +standard output is used. +.IP "\fB\-outform DER|PEM\fR" 4 +.IX Item "-outform DER|PEM" +This specifies the output format \s-1DER\s0 or \s-1PEM\s0. The default format is \s-1PEM\s0. +.IP "\fB\-pass arg\fR" 4 +.IX Item "-pass arg" +The output file password source. For more information about the format of \fBarg\fR +see the \fB\s-1PASS\s0 \s-1PHRASE\s0 \s-1ARGUMENTS\s0\fR section in \fIopenssl\fR\|(1). +.IP "\fB\-\f(BIcipher\fB\fR" 4 +.IX Item "-cipher" +This option encrypts the private key with the supplied cipher. Any algorithm +name accepted by \fIEVP_get_cipherbyname()\fR is acceptable such as \fBdes3\fR. +.IP "\fB\-engine id\fR" 4 +.IX Item "-engine id" +Specifying an engine (by its unique \fBid\fR string) will cause \fBgenpkey\fR +to attempt to obtain a functional reference to the specified engine, +thus initialising it if needed. The engine will then be set as the default +for all available algorithms. If used this option should precede all other +options. +.IP "\fB\-algorithm alg\fR" 4 +.IX Item "-algorithm alg" +Public key algorithm to use such as \s-1RSA\s0, \s-1DSA\s0 or \s-1DH\s0. If used this option must +precede any \fB\-pkeyopt\fR options. The options \fB\-paramfile\fR and \fB\-algorithm\fR +are mutually exclusive. Engines may add algorithms in addition to the standard +built-in ones. +.Sp +Valid built-in algorithm names for private key generation are \s-1RSA\s0, RSA-PSS, \s-1EC\s0, +X25519, X448, \s-1ED25519\s0 and \s-1ED448\s0. +.Sp +Valid built-in algorithm names for parameter generation (see the \fB\-genparam\fR +option) are \s-1DH\s0, \s-1DSA\s0 and \s-1EC\s0. +.Sp +Note that the algorithm name X9.42 \s-1DH\s0 may be used as a synonym for the \s-1DH\s0 +algorithm. These are identical and do not indicate the type of parameters that +will be generated. Use the \fBdh_paramgen_type\fR option to indicate whether PKCS#3 +or X9.42 \s-1DH\s0 parameters are required. See \*(L"\s-1DH\s0 Parameter Generation Options\*(R" +below for more details. +.IP "\fB\-pkeyopt opt:value\fR" 4 +.IX Item "-pkeyopt opt:value" +Set the public key algorithm option \fBopt\fR to \fBvalue\fR. The precise set of +options supported depends on the public key algorithm used and its +implementation. See \*(L"\s-1KEY\s0 \s-1GENERATION\s0 \s-1OPTIONS\s0\*(R" and +\&\*(L"\s-1PARAMETER\s0 \s-1GENERATION\s0 \s-1OPTIONS\s0\*(R" below for more details. +.IP "\fB\-genparam\fR" 4 +.IX Item "-genparam" +Generate a set of parameters instead of a private key. If used this option must +precede any \fB\-algorithm\fR, \fB\-paramfile\fR or \fB\-pkeyopt\fR options. +.IP "\fB\-paramfile filename\fR" 4 +.IX Item "-paramfile filename" +Some public key algorithms generate a private key based on a set of parameters. +They can be supplied using this option. If this option is used the public key +algorithm used is determined by the parameters. If used this option must +precede any \fB\-pkeyopt\fR options. The options \fB\-paramfile\fR and \fB\-algorithm\fR +are mutually exclusive. +.IP "\fB\-text\fR" 4 +.IX Item "-text" +Print an (unencrypted) text representation of private and public keys and +parameters along with the \s-1PEM\s0 or \s-1DER\s0 structure. +.SH "KEY GENERATION OPTIONS" +.IX Header "KEY GENERATION OPTIONS" +The options supported by each algorithm and indeed each implementation of an +algorithm can vary. The options for the OpenSSL implementations are detailed +below. There are no key generation options defined for the X25519, X448, \s-1ED25519\s0 +or \s-1ED448\s0 algorithms. +.SS "\s-1RSA\s0 Key Generation Options" +.IX Subsection "RSA Key Generation Options" +.IP "\fBrsa_keygen_bits:numbits\fR" 4 +.IX Item "rsa_keygen_bits:numbits" +The number of bits in the generated key. If not specified 2048 is used. +.IP "\fBrsa_keygen_primes:numprimes\fR" 4 +.IX Item "rsa_keygen_primes:numprimes" +The number of primes in the generated key. If not specified 2 is used. +.IP "\fBrsa_keygen_pubexp:value\fR" 4 +.IX Item "rsa_keygen_pubexp:value" +The \s-1RSA\s0 public exponent value. This can be a large decimal or +hexadecimal value if preceded by \fB0x\fR. Default value is 65537. +.SS "RSA-PSS Key Generation Options" +.IX Subsection "RSA-PSS Key Generation Options" +Note: by default an \fBRSA-PSS\fR key has no parameter restrictions. +.IP "\fBrsa_keygen_bits:numbits\fR, \fBrsa_keygen_primes:numprimes\fR, \fBrsa_keygen_pubexp:value\fR" 4 +.IX Item "rsa_keygen_bits:numbits, rsa_keygen_primes:numprimes, rsa_keygen_pubexp:value" +These options have the same meaning as the \fB\s-1RSA\s0\fR algorithm. +.IP "\fBrsa_pss_keygen_md:digest\fR" 4 +.IX Item "rsa_pss_keygen_md:digest" +If set the key is restricted and can only use \fBdigest\fR for signing. +.IP "\fBrsa_pss_keygen_mgf1_md:digest\fR" 4 +.IX Item "rsa_pss_keygen_mgf1_md:digest" +If set the key is restricted and can only use \fBdigest\fR as it's \s-1MGF1\s0 +parameter. +.IP "\fBrsa_pss_keygen_saltlen:len\fR" 4 +.IX Item "rsa_pss_keygen_saltlen:len" +If set the key is restricted and \fBlen\fR specifies the minimum salt length. +.SS "\s-1EC\s0 Key Generation Options" +.IX Subsection "EC Key Generation Options" +The \s-1EC\s0 key generation options can also be used for parameter generation. +.IP "\fBec_paramgen_curve:curve\fR" 4 +.IX Item "ec_paramgen_curve:curve" +The \s-1EC\s0 curve to use. OpenSSL supports \s-1NIST\s0 curve names such as \*(L"P\-256\*(R". +.IP "\fBec_param_enc:encoding\fR" 4 +.IX Item "ec_param_enc:encoding" +The encoding to use for parameters. The \*(L"encoding\*(R" parameter must be either +\&\*(L"named_curve\*(R" or \*(L"explicit\*(R". The default value is \*(L"named_curve\*(R". +.SH "PARAMETER GENERATION OPTIONS" +.IX Header "PARAMETER GENERATION OPTIONS" +The options supported by each algorithm and indeed each implementation of an +algorithm can vary. The options for the OpenSSL implementations are detailed +below. +.SS "\s-1DSA\s0 Parameter Generation Options" +.IX Subsection "DSA Parameter Generation Options" +.IP "\fBdsa_paramgen_bits:numbits\fR" 4 +.IX Item "dsa_paramgen_bits:numbits" +The number of bits in the generated prime. If not specified 2048 is used. +.IP "\fBdsa_paramgen_q_bits:numbits\fR" 4 +.IX Item "dsa_paramgen_q_bits:numbits" +The number of bits in the q parameter. Must be one of 160, 224 or 256. If not +specified 224 is used. +.IP "\fBdsa_paramgen_md:digest\fR" 4 +.IX Item "dsa_paramgen_md:digest" +The digest to use during parameter generation. Must be one of \fBsha1\fR, \fBsha224\fR +or \fBsha256\fR. If set, then the number of bits in \fBq\fR will match the output size +of the specified digest and the \fBdsa_paramgen_q_bits\fR parameter will be +ignored. If not set, then a digest will be used that gives an output matching +the number of bits in \fBq\fR, i.e. \fBsha1\fR if q length is 160, \fBsha224\fR if it 224 +or \fBsha256\fR if it is 256. +.SS "\s-1DH\s0 Parameter Generation Options" +.IX Subsection "DH Parameter Generation Options" +.IP "\fBdh_paramgen_prime_len:numbits\fR" 4 +.IX Item "dh_paramgen_prime_len:numbits" +The number of bits in the prime parameter \fBp\fR. The default is 2048. +.IP "\fBdh_paramgen_subprime_len:numbits\fR" 4 +.IX Item "dh_paramgen_subprime_len:numbits" +The number of bits in the sub prime parameter \fBq\fR. The default is 256 if the +prime is at least 2048 bits long or 160 otherwise. Only relevant if used in +conjunction with the \fBdh_paramgen_type\fR option to generate X9.42 \s-1DH\s0 parameters. +.IP "\fBdh_paramgen_generator:value\fR" 4 +.IX Item "dh_paramgen_generator:value" +The value to use for the generator \fBg\fR. The default is 2. +.IP "\fBdh_paramgen_type:value\fR" 4 +.IX Item "dh_paramgen_type:value" +The type of \s-1DH\s0 parameters to generate. Use 0 for PKCS#3 \s-1DH\s0 and 1 for X9.42 \s-1DH\s0. +The default is 0. +.IP "\fBdh_rfc5114:num\fR" 4 +.IX Item "dh_rfc5114:num" +If this option is set, then the appropriate \s-1RFC5114\s0 parameters are used +instead of generating new parameters. The value \fBnum\fR can take the +values 1, 2 or 3 corresponding to \s-1RFC5114\s0 \s-1DH\s0 parameters consisting of +1024 bit group with 160 bit subgroup, 2048 bit group with 224 bit subgroup +and 2048 bit group with 256 bit subgroup as mentioned in \s-1RFC5114\s0 sections +2.1, 2.2 and 2.3 respectively. If present this overrides all other \s-1DH\s0 parameter +options. +.SS "\s-1EC\s0 Parameter Generation Options" +.IX Subsection "EC Parameter Generation Options" +The \s-1EC\s0 parameter generation options are the same as for key generation. See +\&\*(L"\s-1EC\s0 Key Generation Options\*(R" above. +.SH "NOTES" +.IX Header "NOTES" +The use of the genpkey program is encouraged over the algorithm specific +utilities because additional algorithm options and \s-1ENGINE\s0 provided algorithms +can be used. +.SH "EXAMPLES" +.IX Header "EXAMPLES" +Generate an \s-1RSA\s0 private key using default parameters: +.PP +.Vb 1 +\& openssl genpkey \-algorithm RSA \-out key.pem +.Ve +.PP +Encrypt output private key using 128 bit \s-1AES\s0 and the passphrase \*(L"hello\*(R": +.PP +.Vb 1 +\& openssl genpkey \-algorithm RSA \-out key.pem \-aes\-128\-cbc \-pass pass:hello +.Ve +.PP +Generate a 2048 bit \s-1RSA\s0 key using 3 as the public exponent: +.PP +.Vb 2 +\& openssl genpkey \-algorithm RSA \-out key.pem \e +\& \-pkeyopt rsa_keygen_bits:2048 \-pkeyopt rsa_keygen_pubexp:3 +.Ve +.PP +Generate 2048 bit \s-1DSA\s0 parameters: +.PP +.Vb 2 +\& openssl genpkey \-genparam \-algorithm DSA \-out dsap.pem \e +\& \-pkeyopt dsa_paramgen_bits:2048 +.Ve +.PP +Generate \s-1DSA\s0 key from parameters: +.PP +.Vb 1 +\& openssl genpkey \-paramfile dsap.pem \-out dsakey.pem +.Ve +.PP +Generate 2048 bit \s-1DH\s0 parameters: +.PP +.Vb 2 +\& openssl genpkey \-genparam \-algorithm DH \-out dhp.pem \e +\& \-pkeyopt dh_paramgen_prime_len:2048 +.Ve +.PP +Generate 2048 bit X9.42 \s-1DH\s0 parameters: +.PP +.Vb 3 +\& openssl genpkey \-genparam \-algorithm DH \-out dhpx.pem \e +\& \-pkeyopt dh_paramgen_prime_len:2048 \e +\& \-pkeyopt dh_paramgen_type:1 +.Ve +.PP +Output \s-1RFC5114\s0 2048 bit \s-1DH\s0 parameters with 224 bit subgroup: +.PP +.Vb 1 +\& openssl genpkey \-genparam \-algorithm DH \-out dhp.pem \-pkeyopt dh_rfc5114:2 +.Ve +.PP +Generate \s-1DH\s0 key from parameters: +.PP +.Vb 1 +\& openssl genpkey \-paramfile dhp.pem \-out dhkey.pem +.Ve +.PP +Generate \s-1EC\s0 parameters: +.PP +.Vb 3 +\& openssl genpkey \-genparam \-algorithm EC \-out ecp.pem \e +\& \-pkeyopt ec_paramgen_curve:secp384r1 \e +\& \-pkeyopt ec_param_enc:named_curve +.Ve +.PP +Generate \s-1EC\s0 key from parameters: +.PP +.Vb 1 +\& openssl genpkey \-paramfile ecp.pem \-out eckey.pem +.Ve +.PP +Generate \s-1EC\s0 key directly: +.PP +.Vb 3 +\& openssl genpkey \-algorithm EC \-out eckey.pem \e +\& \-pkeyopt ec_paramgen_curve:P\-384 \e +\& \-pkeyopt ec_param_enc:named_curve +.Ve +.PP +Generate an X25519 private key: +.PP +.Vb 1 +\& openssl genpkey \-algorithm X25519 \-out xkey.pem +.Ve +.PP +Generate an \s-1ED448\s0 private key: +.PP +.Vb 1 +\& openssl genpkey \-algorithm ED448 \-out xkey.pem +.Ve +.SH "HISTORY" +.IX Header "HISTORY" +The ability to use \s-1NIST\s0 curve names, and to generate an \s-1EC\s0 key directly, +were added in OpenSSL 1.0.2. +The ability to generate X25519 keys was added in OpenSSL 1.1.0. +The ability to generate X448, \s-1ED25519\s0 and \s-1ED448\s0 keys was added in OpenSSL 1.1.1. +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2006\-2019 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man1/genrsa.1 b/linux_amd64/share/man/man1/genrsa.1 new file mode 100644 index 0000000..3f99f00 --- /dev/null +++ b/linux_amd64/share/man/man1/genrsa.1 @@ -0,0 +1,234 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "GENRSA 1" +.TH GENRSA 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +openssl\-genrsa, genrsa \- generate an RSA private key +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBopenssl\fR \fBgenrsa\fR +[\fB\-help\fR] +[\fB\-out filename\fR] +[\fB\-passout arg\fR] +[\fB\-aes128\fR] +[\fB\-aes192\fR] +[\fB\-aes256\fR] +[\fB\-aria128\fR] +[\fB\-aria192\fR] +[\fB\-aria256\fR] +[\fB\-camellia128\fR] +[\fB\-camellia192\fR] +[\fB\-camellia256\fR] +[\fB\-des\fR] +[\fB\-des3\fR] +[\fB\-idea\fR] +[\fB\-f4\fR] +[\fB\-3\fR] +[\fB\-rand file...\fR] +[\fB\-writerand file\fR] +[\fB\-engine id\fR] +[\fB\-primes num\fR] +[\fBnumbits\fR] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The \fBgenrsa\fR command generates an \s-1RSA\s0 private key. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-help\fR" 4 +.IX Item "-help" +Print out a usage message. +.IP "\fB\-out filename\fR" 4 +.IX Item "-out filename" +Output the key to the specified file. If this argument is not specified then +standard output is used. +.IP "\fB\-passout arg\fR" 4 +.IX Item "-passout arg" +The output file password source. For more information about the format +of \fBarg\fR see the \fB\s-1PASS\s0 \s-1PHRASE\s0 \s-1ARGUMENTS\s0\fR section in \fIopenssl\fR\|(1). +.IP "\fB\-aes128\fR, \fB\-aes192\fR, \fB\-aes256\fR, \fB\-aria128\fR, \fB\-aria192\fR, \fB\-aria256\fR, \fB\-camellia128\fR, \fB\-camellia192\fR, \fB\-camellia256\fR, \fB\-des\fR, \fB\-des3\fR, \fB\-idea\fR" 4 +.IX Item "-aes128, -aes192, -aes256, -aria128, -aria192, -aria256, -camellia128, -camellia192, -camellia256, -des, -des3, -idea" +These options encrypt the private key with specified +cipher before outputting it. If none of these options is +specified no encryption is used. If encryption is used a pass phrase is prompted +for if it is not supplied via the \fB\-passout\fR argument. +.IP "\fB\-F4|\-3\fR" 4 +.IX Item "-F4|-3" +The public exponent to use, either 65537 or 3. The default is 65537. +.IP "\fB\-rand file...\fR" 4 +.IX Item "-rand file..." +A file or files containing random data used to seed the random number +generator. +Multiple files can be specified separated by an OS-dependent character. +The separator is \fB;\fR for MS-Windows, \fB,\fR for OpenVMS, and \fB:\fR for +all others. +.IP "[\fB\-writerand file\fR]" 4 +.IX Item "[-writerand file]" +Writes random data to the specified \fIfile\fR upon exit. +This can be used with a subsequent \fB\-rand\fR flag. +.IP "\fB\-engine id\fR" 4 +.IX Item "-engine id" +Specifying an engine (by its unique \fBid\fR string) will cause \fBgenrsa\fR +to attempt to obtain a functional reference to the specified engine, +thus initialising it if needed. The engine will then be set as the default +for all available algorithms. +.IP "\fB\-primes num\fR" 4 +.IX Item "-primes num" +Specify the number of primes to use while generating the \s-1RSA\s0 key. The \fBnum\fR +parameter must be a positive integer that is greater than 1 and less than 16. +If \fBnum\fR is greater than 2, then the generated key is called a 'multi\-prime' +\&\s-1RSA\s0 key, which is defined in \s-1RFC\s0 8017. +.IP "\fBnumbits\fR" 4 +.IX Item "numbits" +The size of the private key to generate in bits. This must be the last option +specified. The default is 2048 and values less than 512 are not allowed. +.SH "NOTES" +.IX Header "NOTES" +\&\s-1RSA\s0 private key generation essentially involves the generation of two or more +prime numbers. When generating a private key various symbols will be output to +indicate the progress of the generation. A \fB.\fR represents each number which +has passed an initial sieve test, \fB+\fR means a number has passed a single +round of the Miller-Rabin primality test, \fB*\fR means the current prime starts +a regenerating progress due to some failed tests. A newline means that the number +has passed all the prime tests (the actual number depends on the key size). +.PP +Because key generation is a random process the time taken to generate a key +may vary somewhat. But in general, more primes lead to less generation time +of a key. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIgendsa\fR\|(1) +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man1/list.1 b/linux_amd64/share/man/man1/list.1 new file mode 100644 index 0000000..54de86a --- /dev/null +++ b/linux_amd64/share/man/man1/list.1 @@ -0,0 +1,202 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "LIST 1" +.TH LIST 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +openssl\-list, list \- list algorithms and features +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBopenssl list\fR +[\fB\-help\fR] +[\fB\-1\fR] +[\fB\-commands\fR] +[\fB\-digest\-commands\fR] +[\fB\-digest\-algorithms\fR] +[\fB\-cipher\-commands\fR] +[\fB\-cipher\-algorithms\fR] +[\fB\-public\-key\-algorithms\fR] +[\fB\-public\-key\-methods\fR] +[\fB\-disabled\fR] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +This command is used to generate list of algorithms or disabled +features. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-help\fR" 4 +.IX Item "-help" +Display a usage message. +.IP "\fB\-1\fR" 4 +.IX Item "-1" +List the commands, digest-commands, or cipher-commands in a single column. +If used, this option must be given first. +.IP "\fB\-commands\fR" 4 +.IX Item "-commands" +Display a list of standard commands. +.IP "\fB\-digest\-commands\fR" 4 +.IX Item "-digest-commands" +Display a list of message digest commands, which are typically used +as input to the \fIdgst\fR\|(1) or \fIspeed\fR\|(1) commands. +.IP "\fB\-digest\-algorithms\fR" 4 +.IX Item "-digest-algorithms" +Display a list of message digest algorithms. +If a line is of the form + foo => bar +then \fBfoo\fR is an alias for the official algorithm name, \fBbar\fR. +.IP "\fB\-cipher\-commands\fR" 4 +.IX Item "-cipher-commands" +Display a list of cipher commands, which are typically used as input +to the \fIdgst\fR\|(1) or \fIspeed\fR\|(1) commands. +.IP "\fB\-cipher\-algorithms\fR" 4 +.IX Item "-cipher-algorithms" +Display a list of cipher algorithms. +If a line is of the form + foo => bar +then \fBfoo\fR is an alias for the official algorithm name, \fBbar\fR. +.IP "\fB\-public\-key\-algorithms\fR" 4 +.IX Item "-public-key-algorithms" +Display a list of public key algorithms, with each algorithm as +a block of multiple lines, all but the first are indented. +.IP "\fB\-public\-key\-methods\fR" 4 +.IX Item "-public-key-methods" +Display a list of public key method OIDs: this also includes public key methods +without an associated \s-1ASN\s0.1 method, for example, \s-1KDF\s0 algorithms. +.IP "\fB\-disabled\fR" 4 +.IX Item "-disabled" +Display a list of disabled features, those that were compiled out +of the installation. +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2016\-2017 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man1/nseq.1 b/linux_amd64/share/man/man1/nseq.1 new file mode 100644 index 0000000..c991a17 --- /dev/null +++ b/linux_amd64/share/man/man1/nseq.1 @@ -0,0 +1,202 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "NSEQ 1" +.TH NSEQ 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +openssl\-nseq, nseq \- create or examine a Netscape certificate sequence +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBopenssl\fR \fBnseq\fR +[\fB\-help\fR] +[\fB\-in filename\fR] +[\fB\-out filename\fR] +[\fB\-toseq\fR] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The \fBnseq\fR command takes a file containing a Netscape certificate +sequence and prints out the certificates contained in it or takes a +file of certificates and converts it into a Netscape certificate +sequence. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-help\fR" 4 +.IX Item "-help" +Print out a usage message. +.IP "\fB\-in filename\fR" 4 +.IX Item "-in filename" +This specifies the input filename to read or standard input if this +option is not specified. +.IP "\fB\-out filename\fR" 4 +.IX Item "-out filename" +Specifies the output filename or standard output by default. +.IP "\fB\-toseq\fR" 4 +.IX Item "-toseq" +Normally a Netscape certificate sequence will be input and the output +is the certificates contained in it. With the \fB\-toseq\fR option the +situation is reversed: a Netscape certificate sequence is created from +a file of certificates. +.SH "EXAMPLES" +.IX Header "EXAMPLES" +Output the certificates in a Netscape certificate sequence +.PP +.Vb 1 +\& openssl nseq \-in nseq.pem \-out certs.pem +.Ve +.PP +Create a Netscape certificate sequence +.PP +.Vb 1 +\& openssl nseq \-in certs.pem \-toseq \-out nseq.pem +.Ve +.SH "NOTES" +.IX Header "NOTES" +The \fB\s-1PEM\s0\fR encoded form uses the same headers and footers as a certificate: +.PP +.Vb 2 +\& \-\-\-\-\-BEGIN CERTIFICATE\-\-\-\-\- +\& \-\-\-\-\-END CERTIFICATE\-\-\-\-\- +.Ve +.PP +A Netscape certificate sequence is a Netscape specific format that can be sent +to browsers as an alternative to the standard PKCS#7 format when several +certificates are sent to the browser: for example during certificate enrollment. +It is used by Netscape certificate server for example. +.SH "BUGS" +.IX Header "BUGS" +This program needs a few more options: like allowing \s-1DER\s0 or \s-1PEM\s0 input and +output files and allowing multiple certificate files to be used. +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2000\-2017 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man1/ocsp.1 b/linux_amd64/share/man/man1/ocsp.1 new file mode 100644 index 0000000..d60d867 --- /dev/null +++ b/linux_amd64/share/man/man1/ocsp.1 @@ -0,0 +1,575 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "OCSP 1" +.TH OCSP 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +openssl\-ocsp, ocsp \- Online Certificate Status Protocol utility +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBopenssl\fR \fBocsp\fR +[\fB\-help\fR] +[\fB\-out file\fR] +[\fB\-issuer file\fR] +[\fB\-cert file\fR] +[\fB\-serial n\fR] +[\fB\-signer file\fR] +[\fB\-signkey file\fR] +[\fB\-sign_other file\fR] +[\fB\-no_certs\fR] +[\fB\-req_text\fR] +[\fB\-resp_text\fR] +[\fB\-text\fR] +[\fB\-reqout file\fR] +[\fB\-respout file\fR] +[\fB\-reqin file\fR] +[\fB\-respin file\fR] +[\fB\-nonce\fR] +[\fB\-no_nonce\fR] +[\fB\-url \s-1URL\s0\fR] +[\fB\-host host:port\fR] +[\fB\-multi process-count\fR] +[\fB\-header\fR] +[\fB\-path\fR] +[\fB\-CApath dir\fR] +[\fB\-CAfile file\fR] +[\fB\-no\-CAfile\fR] +[\fB\-no\-CApath\fR] +[\fB\-attime timestamp\fR] +[\fB\-check_ss_sig\fR] +[\fB\-crl_check\fR] +[\fB\-crl_check_all\fR] +[\fB\-explicit_policy\fR] +[\fB\-extended_crl\fR] +[\fB\-ignore_critical\fR] +[\fB\-inhibit_any\fR] +[\fB\-inhibit_map\fR] +[\fB\-no_check_time\fR] +[\fB\-partial_chain\fR] +[\fB\-policy arg\fR] +[\fB\-policy_check\fR] +[\fB\-policy_print\fR] +[\fB\-purpose purpose\fR] +[\fB\-suiteB_128\fR] +[\fB\-suiteB_128_only\fR] +[\fB\-suiteB_192\fR] +[\fB\-trusted_first\fR] +[\fB\-no_alt_chains\fR] +[\fB\-use_deltas\fR] +[\fB\-auth_level num\fR] +[\fB\-verify_depth num\fR] +[\fB\-verify_email email\fR] +[\fB\-verify_hostname hostname\fR] +[\fB\-verify_ip ip\fR] +[\fB\-verify_name name\fR] +[\fB\-x509_strict\fR] +[\fB\-VAfile file\fR] +[\fB\-validity_period n\fR] +[\fB\-status_age n\fR] +[\fB\-noverify\fR] +[\fB\-verify_other file\fR] +[\fB\-trust_other\fR] +[\fB\-no_intern\fR] +[\fB\-no_signature_verify\fR] +[\fB\-no_cert_verify\fR] +[\fB\-no_chain\fR] +[\fB\-no_cert_checks\fR] +[\fB\-no_explicit\fR] +[\fB\-port num\fR] +[\fB\-ignore_err\fR] +[\fB\-index file\fR] +[\fB\-CA file\fR] +[\fB\-rsigner file\fR] +[\fB\-rkey file\fR] +[\fB\-rother file\fR] +[\fB\-rsigopt nm:v\fR] +[\fB\-resp_no_certs\fR] +[\fB\-nmin n\fR] +[\fB\-ndays n\fR] +[\fB\-resp_key_id\fR] +[\fB\-nrequest n\fR] +[\fB\-\f(BIdigest\fB\fR] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The Online Certificate Status Protocol (\s-1OCSP\s0) enables applications to +determine the (revocation) state of an identified certificate (\s-1RFC\s0 2560). +.PP +The \fBocsp\fR command performs many common \s-1OCSP\s0 tasks. It can be used +to print out requests and responses, create requests and send queries +to an \s-1OCSP\s0 responder and behave like a mini \s-1OCSP\s0 server itself. +.SH "OPTIONS" +.IX Header "OPTIONS" +This command operates as either a client or a server. +The options are described below, divided into those two modes. +.SS "\s-1OCSP\s0 Client Options" +.IX Subsection "OCSP Client Options" +.IP "\fB\-help\fR" 4 +.IX Item "-help" +Print out a usage message. +.IP "\fB\-out filename\fR" 4 +.IX Item "-out filename" +specify output filename, default is standard output. +.IP "\fB\-issuer filename\fR" 4 +.IX Item "-issuer filename" +This specifies the current issuer certificate. This option can be used +multiple times. The certificate specified in \fBfilename\fR must be in +\&\s-1PEM\s0 format. This option \fB\s-1MUST\s0\fR come before any \fB\-cert\fR options. +.IP "\fB\-cert filename\fR" 4 +.IX Item "-cert filename" +Add the certificate \fBfilename\fR to the request. The issuer certificate +is taken from the previous \fBissuer\fR option, or an error occurs if no +issuer certificate is specified. +.IP "\fB\-serial num\fR" 4 +.IX Item "-serial num" +Same as the \fBcert\fR option except the certificate with serial number +\&\fBnum\fR is added to the request. The serial number is interpreted as a +decimal integer unless preceded by \fB0x\fR. Negative integers can also +be specified by preceding the value by a \fB\-\fR sign. +.IP "\fB\-signer filename\fR, \fB\-signkey filename\fR" 4 +.IX Item "-signer filename, -signkey filename" +Sign the \s-1OCSP\s0 request using the certificate specified in the \fBsigner\fR +option and the private key specified by the \fBsignkey\fR option. If +the \fBsignkey\fR option is not present then the private key is read +from the same file as the certificate. If neither option is specified then +the \s-1OCSP\s0 request is not signed. +.IP "\fB\-sign_other filename\fR" 4 +.IX Item "-sign_other filename" +Additional certificates to include in the signed request. +.IP "\fB\-nonce\fR, \fB\-no_nonce\fR" 4 +.IX Item "-nonce, -no_nonce" +Add an \s-1OCSP\s0 nonce extension to a request or disable \s-1OCSP\s0 nonce addition. +Normally if an \s-1OCSP\s0 request is input using the \fBreqin\fR option no +nonce is added: using the \fBnonce\fR option will force addition of a nonce. +If an \s-1OCSP\s0 request is being created (using \fBcert\fR and \fBserial\fR options) +a nonce is automatically added specifying \fBno_nonce\fR overrides this. +.IP "\fB\-req_text\fR, \fB\-resp_text\fR, \fB\-text\fR" 4 +.IX Item "-req_text, -resp_text, -text" +Print out the text form of the \s-1OCSP\s0 request, response or both respectively. +.IP "\fB\-reqout file\fR, \fB\-respout file\fR" 4 +.IX Item "-reqout file, -respout file" +Write out the \s-1DER\s0 encoded certificate request or response to \fBfile\fR. +.IP "\fB\-reqin file\fR, \fB\-respin file\fR" 4 +.IX Item "-reqin file, -respin file" +Read \s-1OCSP\s0 request or response file from \fBfile\fR. These option are ignored +if \s-1OCSP\s0 request or response creation is implied by other options (for example +with \fBserial\fR, \fBcert\fR and \fBhost\fR options). +.IP "\fB\-url responder_url\fR" 4 +.IX Item "-url responder_url" +Specify the responder \s-1URL\s0. Both \s-1HTTP\s0 and \s-1HTTPS\s0 (\s-1SSL/TLS\s0) URLs can be specified. +.IP "\fB\-host hostname:port\fR, \fB\-path pathname\fR" 4 +.IX Item "-host hostname:port, -path pathname" +If the \fBhost\fR option is present then the \s-1OCSP\s0 request is sent to the host +\&\fBhostname\fR on port \fBport\fR. \fBpath\fR specifies the \s-1HTTP\s0 path name to use +or \*(L"/\*(R" by default. This is equivalent to specifying \fB\-url\fR with scheme +http:// and the given hostname, port, and pathname. +.IP "\fB\-header name=value\fR" 4 +.IX Item "-header name=value" +Adds the header \fBname\fR with the specified \fBvalue\fR to the \s-1OCSP\s0 request +that is sent to the responder. +This may be repeated. +.IP "\fB\-timeout seconds\fR" 4 +.IX Item "-timeout seconds" +Connection timeout to the \s-1OCSP\s0 responder in seconds. +On \s-1POSIX\s0 systems, when running as an \s-1OCSP\s0 responder, this option also limits +the time that the responder is willing to wait for the client request. +This time is measured from the time the responder accepts the connection until +the complete request is received. +.IP "\fB\-multi process-count\fR" 4 +.IX Item "-multi process-count" +Run the specified number of \s-1OCSP\s0 responder child processes, with the parent +process respawning child processes as needed. +Child processes will detect changes in the \s-1CA\s0 index file and automatically +reload it. +When running as a responder \fB\-timeout\fR option is recommended to limit the time +each child is willing to wait for the client's \s-1OCSP\s0 response. +This option is available on \s-1POSIX\s0 systems (that support the \fIfork()\fR and other +required unix system-calls). +.IP "\fB\-CAfile file\fR, \fB\-CApath pathname\fR" 4 +.IX Item "-CAfile file, -CApath pathname" +File or pathname containing trusted \s-1CA\s0 certificates. These are used to verify +the signature on the \s-1OCSP\s0 response. +.IP "\fB\-no\-CAfile\fR" 4 +.IX Item "-no-CAfile" +Do not load the trusted \s-1CA\s0 certificates from the default file location +.IP "\fB\-no\-CApath\fR" 4 +.IX Item "-no-CApath" +Do not load the trusted \s-1CA\s0 certificates from the default directory location +.IP "\fB\-attime\fR, \fB\-check_ss_sig\fR, \fB\-crl_check\fR, \fB\-crl_check_all\fR, \fB\-explicit_policy\fR, \fB\-extended_crl\fR, \fB\-ignore_critical\fR, \fB\-inhibit_any\fR, \fB\-inhibit_map\fR, \fB\-no_alt_chains\fR, \fB\-no_check_time\fR, \fB\-partial_chain\fR, \fB\-policy\fR, \fB\-policy_check\fR, \fB\-policy_print\fR, \fB\-purpose\fR, \fB\-suiteB_128\fR, \fB\-suiteB_128_only\fR, \fB\-suiteB_192\fR, \fB\-trusted_first\fR, \fB\-use_deltas\fR, \fB\-auth_level\fR, \fB\-verify_depth\fR, \fB\-verify_email\fR, \fB\-verify_hostname\fR, \fB\-verify_ip\fR, \fB\-verify_name\fR, \fB\-x509_strict\fR" 4 +.IX Item "-attime, -check_ss_sig, -crl_check, -crl_check_all, -explicit_policy, -extended_crl, -ignore_critical, -inhibit_any, -inhibit_map, -no_alt_chains, -no_check_time, -partial_chain, -policy, -policy_check, -policy_print, -purpose, -suiteB_128, -suiteB_128_only, -suiteB_192, -trusted_first, -use_deltas, -auth_level, -verify_depth, -verify_email, -verify_hostname, -verify_ip, -verify_name, -x509_strict" +Set different certificate verification options. +See \fIverify\fR\|(1) manual page for details. +.IP "\fB\-verify_other file\fR" 4 +.IX Item "-verify_other file" +File containing additional certificates to search when attempting to locate +the \s-1OCSP\s0 response signing certificate. Some responders omit the actual signer's +certificate from the response: this option can be used to supply the necessary +certificate in such cases. +.IP "\fB\-trust_other\fR" 4 +.IX Item "-trust_other" +The certificates specified by the \fB\-verify_other\fR option should be explicitly +trusted and no additional checks will be performed on them. This is useful +when the complete responder certificate chain is not available or trusting a +root \s-1CA\s0 is not appropriate. +.IP "\fB\-VAfile file\fR" 4 +.IX Item "-VAfile file" +File containing explicitly trusted responder certificates. Equivalent to the +\&\fB\-verify_other\fR and \fB\-trust_other\fR options. +.IP "\fB\-noverify\fR" 4 +.IX Item "-noverify" +Don't attempt to verify the \s-1OCSP\s0 response signature or the nonce +values. This option will normally only be used for debugging since it +disables all verification of the responders certificate. +.IP "\fB\-no_intern\fR" 4 +.IX Item "-no_intern" +Ignore certificates contained in the \s-1OCSP\s0 response when searching for the +signers certificate. With this option the signers certificate must be specified +with either the \fB\-verify_other\fR or \fB\-VAfile\fR options. +.IP "\fB\-no_signature_verify\fR" 4 +.IX Item "-no_signature_verify" +Don't check the signature on the \s-1OCSP\s0 response. Since this option +tolerates invalid signatures on \s-1OCSP\s0 responses it will normally only be +used for testing purposes. +.IP "\fB\-no_cert_verify\fR" 4 +.IX Item "-no_cert_verify" +Don't verify the \s-1OCSP\s0 response signers certificate at all. Since this +option allows the \s-1OCSP\s0 response to be signed by any certificate it should +only be used for testing purposes. +.IP "\fB\-no_chain\fR" 4 +.IX Item "-no_chain" +Do not use certificates in the response as additional untrusted \s-1CA\s0 +certificates. +.IP "\fB\-no_explicit\fR" 4 +.IX Item "-no_explicit" +Do not explicitly trust the root \s-1CA\s0 if it is set to be trusted for \s-1OCSP\s0 signing. +.IP "\fB\-no_cert_checks\fR" 4 +.IX Item "-no_cert_checks" +Don't perform any additional checks on the \s-1OCSP\s0 response signers certificate. +That is do not make any checks to see if the signers certificate is authorised +to provide the necessary status information: as a result this option should +only be used for testing purposes. +.IP "\fB\-validity_period nsec\fR, \fB\-status_age age\fR" 4 +.IX Item "-validity_period nsec, -status_age age" +These options specify the range of times, in seconds, which will be tolerated +in an \s-1OCSP\s0 response. Each certificate status response includes a \fBnotBefore\fR +time and an optional \fBnotAfter\fR time. The current time should fall between +these two values, but the interval between the two times may be only a few +seconds. In practice the \s-1OCSP\s0 responder and clients clocks may not be precisely +synchronised and so such a check may fail. To avoid this the +\&\fB\-validity_period\fR option can be used to specify an acceptable error range in +seconds, the default value is 5 minutes. +.Sp +If the \fBnotAfter\fR time is omitted from a response then this means that new +status information is immediately available. In this case the age of the +\&\fBnotBefore\fR field is checked to see it is not older than \fBage\fR seconds old. +By default this additional check is not performed. +.IP "\fB\-\f(BIdigest\fB\fR" 4 +.IX Item "-digest" +This option sets digest algorithm to use for certificate identification in the +\&\s-1OCSP\s0 request. Any digest supported by the OpenSSL \fBdgst\fR command can be used. +The default is \s-1SHA\-1\s0. This option may be used multiple times to specify the +digest used by subsequent certificate identifiers. +.SS "\s-1OCSP\s0 Server Options" +.IX Subsection "OCSP Server Options" +.IP "\fB\-index indexfile\fR" 4 +.IX Item "-index indexfile" +The \fBindexfile\fR parameter is the name of a text index file in \fBca\fR +format containing certificate revocation information. +.Sp +If the \fBindex\fR option is specified the \fBocsp\fR utility is in responder +mode, otherwise it is in client mode. The request(s) the responder +processes can be either specified on the command line (using \fBissuer\fR +and \fBserial\fR options), supplied in a file (using the \fBreqin\fR option) +or via external \s-1OCSP\s0 clients (if \fBport\fR or \fBurl\fR is specified). +.Sp +If the \fBindex\fR option is present then the \fB\s-1CA\s0\fR and \fBrsigner\fR options +must also be present. +.IP "\fB\-CA file\fR" 4 +.IX Item "-CA file" +\&\s-1CA\s0 certificate corresponding to the revocation information in \fBindexfile\fR. +.IP "\fB\-rsigner file\fR" 4 +.IX Item "-rsigner file" +The certificate to sign \s-1OCSP\s0 responses with. +.IP "\fB\-rother file\fR" 4 +.IX Item "-rother file" +Additional certificates to include in the \s-1OCSP\s0 response. +.IP "\fB\-resp_no_certs\fR" 4 +.IX Item "-resp_no_certs" +Don't include any certificates in the \s-1OCSP\s0 response. +.IP "\fB\-resp_key_id\fR" 4 +.IX Item "-resp_key_id" +Identify the signer certificate using the key \s-1ID\s0, default is to use the +subject name. +.IP "\fB\-rkey file\fR" 4 +.IX Item "-rkey file" +The private key to sign \s-1OCSP\s0 responses with: if not present the file +specified in the \fBrsigner\fR option is used. +.IP "\fB\-rsigopt nm:v\fR" 4 +.IX Item "-rsigopt nm:v" +Pass options to the signature algorithm when signing \s-1OCSP\s0 responses. +Names and values of these options are algorithm-specific. +.IP "\fB\-port portnum\fR" 4 +.IX Item "-port portnum" +Port to listen for \s-1OCSP\s0 requests on. The port may also be specified +using the \fBurl\fR option. +.IP "\fB\-ignore_err\fR" 4 +.IX Item "-ignore_err" +Ignore malformed requests or responses: When acting as an \s-1OCSP\s0 client, retry if +a malformed response is received. When acting as an \s-1OCSP\s0 responder, continue +running instead of terminating upon receiving a malformed request. +.IP "\fB\-nrequest number\fR" 4 +.IX Item "-nrequest number" +The \s-1OCSP\s0 server will exit after receiving \fBnumber\fR requests, default unlimited. +.IP "\fB\-nmin minutes\fR, \fB\-ndays days\fR" 4 +.IX Item "-nmin minutes, -ndays days" +Number of minutes or days when fresh revocation information is available: +used in the \fBnextUpdate\fR field. If neither option is present then the +\&\fBnextUpdate\fR field is omitted meaning fresh revocation information is +immediately available. +.SH "OCSP Response verification." +.IX Header "OCSP Response verification." +\&\s-1OCSP\s0 Response follows the rules specified in \s-1RFC2560\s0. +.PP +Initially the \s-1OCSP\s0 responder certificate is located and the signature on +the \s-1OCSP\s0 request checked using the responder certificate's public key. +.PP +Then a normal certificate verify is performed on the \s-1OCSP\s0 responder certificate +building up a certificate chain in the process. The locations of the trusted +certificates used to build the chain can be specified by the \fBCAfile\fR +and \fBCApath\fR options or they will be looked for in the standard OpenSSL +certificates directory. +.PP +If the initial verify fails then the \s-1OCSP\s0 verify process halts with an +error. +.PP +Otherwise the issuing \s-1CA\s0 certificate in the request is compared to the \s-1OCSP\s0 +responder certificate: if there is a match then the \s-1OCSP\s0 verify succeeds. +.PP +Otherwise the \s-1OCSP\s0 responder certificate's \s-1CA\s0 is checked against the issuing +\&\s-1CA\s0 certificate in the request. If there is a match and the OCSPSigning +extended key usage is present in the \s-1OCSP\s0 responder certificate then the +\&\s-1OCSP\s0 verify succeeds. +.PP +Otherwise, if \fB\-no_explicit\fR is \fBnot\fR set the root \s-1CA\s0 of the \s-1OCSP\s0 responders +\&\s-1CA\s0 is checked to see if it is trusted for \s-1OCSP\s0 signing. If it is the \s-1OCSP\s0 +verify succeeds. +.PP +If none of these checks is successful then the \s-1OCSP\s0 verify fails. +.PP +What this effectively means if that if the \s-1OCSP\s0 responder certificate is +authorised directly by the \s-1CA\s0 it is issuing revocation information about +(and it is correctly configured) then verification will succeed. +.PP +If the \s-1OCSP\s0 responder is a \*(L"global responder\*(R" which can give details about +multiple CAs and has its own separate certificate chain then its root +\&\s-1CA\s0 can be trusted for \s-1OCSP\s0 signing. For example: +.PP +.Vb 1 +\& openssl x509 \-in ocspCA.pem \-addtrust OCSPSigning \-out trustedCA.pem +.Ve +.PP +Alternatively the responder certificate itself can be explicitly trusted +with the \fB\-VAfile\fR option. +.SH "NOTES" +.IX Header "NOTES" +As noted, most of the verify options are for testing or debugging purposes. +Normally only the \fB\-CApath\fR, \fB\-CAfile\fR and (if the responder is a 'global +\&\s-1VA\s0') \fB\-VAfile\fR options need to be used. +.PP +The \s-1OCSP\s0 server is only useful for test and demonstration purposes: it is +not really usable as a full \s-1OCSP\s0 responder. It contains only a very +simple \s-1HTTP\s0 request handling and can only handle the \s-1POST\s0 form of \s-1OCSP\s0 +queries. It also handles requests serially meaning it cannot respond to +new requests until it has processed the current one. The text index file +format of revocation is also inefficient for large quantities of revocation +data. +.PP +It is possible to run the \fBocsp\fR application in responder mode via a \s-1CGI\s0 +script using the \fBreqin\fR and \fBrespout\fR options. +.SH "EXAMPLES" +.IX Header "EXAMPLES" +Create an \s-1OCSP\s0 request and write it to a file: +.PP +.Vb 1 +\& openssl ocsp \-issuer issuer.pem \-cert c1.pem \-cert c2.pem \-reqout req.der +.Ve +.PP +Send a query to an \s-1OCSP\s0 responder with \s-1URL\s0 http://ocsp.myhost.com/ save the +response to a file, print it out in text form, and verify the response: +.PP +.Vb 2 +\& openssl ocsp \-issuer issuer.pem \-cert c1.pem \-cert c2.pem \e +\& \-url http://ocsp.myhost.com/ \-resp_text \-respout resp.der +.Ve +.PP +Read in an \s-1OCSP\s0 response and print out text form: +.PP +.Vb 1 +\& openssl ocsp \-respin resp.der \-text \-noverify +.Ve +.PP +\&\s-1OCSP\s0 server on port 8888 using a standard \fBca\fR configuration, and a separate +responder certificate. All requests and responses are printed to a file. +.PP +.Vb 2 +\& openssl ocsp \-index demoCA/index.txt \-port 8888 \-rsigner rcert.pem \-CA demoCA/cacert.pem +\& \-text \-out log.txt +.Ve +.PP +As above but exit after processing one request: +.PP +.Vb 2 +\& openssl ocsp \-index demoCA/index.txt \-port 8888 \-rsigner rcert.pem \-CA demoCA/cacert.pem +\& \-nrequest 1 +.Ve +.PP +Query status information using an internally generated request: +.PP +.Vb 2 +\& openssl ocsp \-index demoCA/index.txt \-rsigner rcert.pem \-CA demoCA/cacert.pem +\& \-issuer demoCA/cacert.pem \-serial 1 +.Ve +.PP +Query status information using request read from a file, and write the response +to a second file. +.PP +.Vb 2 +\& openssl ocsp \-index demoCA/index.txt \-rsigner rcert.pem \-CA demoCA/cacert.pem +\& \-reqin req.der \-respout resp.der +.Ve +.SH "HISTORY" +.IX Header "HISTORY" +The \-no_alt_chains option was added in OpenSSL 1.1.0. +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2001\-2018 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man1/openssl-c_rehash.1 b/linux_amd64/share/man/man1/openssl-c_rehash.1 new file mode 120000 index 0000000..481032e --- /dev/null +++ b/linux_amd64/share/man/man1/openssl-c_rehash.1 @@ -0,0 +1 @@ +rehash.1 \ No newline at end of file diff --git a/linux_amd64/share/man/man1/openssl-tsget.1 b/linux_amd64/share/man/man1/openssl-tsget.1 new file mode 120000 index 0000000..becee8b --- /dev/null +++ b/linux_amd64/share/man/man1/openssl-tsget.1 @@ -0,0 +1 @@ +tsget.1 \ No newline at end of file diff --git a/linux_amd64/share/man/man1/openssl.1 b/linux_amd64/share/man/man1/openssl.1 index 20b458e..cd8851b 100755 --- a/linux_amd64/share/man/man1/openssl.1 +++ b/linux_amd64/share/man/man1/openssl.1 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "OPENSSL 1" -.TH OPENSSL 1 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH OPENSSL 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -135,20 +135,12 @@ openssl \- OpenSSL command line tool .IX Header "SYNOPSIS" \&\fBopenssl\fR \&\fIcommand\fR -[ \fIoptions\fR ... ] -[ \fIparameters\fR ... ] +[ \fIcommand_opts\fR ] +[ \fIcommand_args\fR ] .PP -\&\fBopenssl\fR -\&\fBlist\fR -\&\fB\-standard\-commands\fR | -\&\fB\-digest\-commands\fR | -\&\fB\-cipher\-commands\fR | -\&\fB\-cipher\-algorithms\fR | -\&\fB\-digest\-algorithms\fR | -\&\fB\-mac\-algorithms\fR | -\&\fB\-public\-key\-algorithms\fR +\&\fBopenssl\fR \fBlist\fR [ \fBstandard-commands\fR | \fBdigest-commands\fR | \fBcipher-commands\fR | \fBcipher-algorithms\fR | \fBdigest-algorithms\fR | \fBpublic-key-algorithms\fR] .PP -\&\fBopenssl\fR \fBno\-\fR\fI\s-1XXX\s0\fR [ \fIoptions\fR ] +\&\fBopenssl\fR \fBno\-\fR\fI\s-1XXX\s0\fR [ \fIarbitrary options\fR ] .SH "DESCRIPTION" .IX Header "DESCRIPTION" OpenSSL is a cryptography toolkit implementing the Secure Sockets Layer (\s-1SSL\s0 @@ -163,45 +155,43 @@ It can be used for \& o Creation and management of private keys, public keys and parameters \& o Public key cryptographic operations \& o Creation of X.509 certificates, CSRs and CRLs -\& o Calculation of Message Digests and Message Authentication Codes +\& o Calculation of Message Digests \& o Encryption and Decryption with Ciphers \& o SSL/TLS Client and Server Tests \& o Handling of S/MIME signed or encrypted mail -\& o Timestamp requests, generation and verification +\& o Time Stamp requests, generation and verification .Ve .SH "COMMAND SUMMARY" .IX Header "COMMAND SUMMARY" -The \fBopenssl\fR program provides a rich variety of commands (\fIcommand\fR in -the \*(L"\s-1SYNOPSIS\s0\*(R" above). -Each command can have many options and argument parameters, shown above as -\&\fIoptions\fR and \fIparameters\fR. +The \fBopenssl\fR program provides a rich variety of commands (\fIcommand\fR in the +\&\s-1SYNOPSIS\s0 above), each of which often has a wealth of options and arguments +(\fIcommand_opts\fR and \fIcommand_args\fR in the \s-1SYNOPSIS\s0). .PP Detailed documentation and use cases for most standard subcommands are available -(e.g., \fIopenssl\-x509\fR\|(1)). +(e.g., \fIx509\fR\|(1) or \fIopenssl\-x509\fR\|(1)). .PP Many commands use an external configuration file for some or all of their arguments and have a \fB\-config\fR option to specify that file. -The default name of the file is \fIopenssl.cnf\fR in the default certificate -storage area, which can be determined from the \fIopenssl\-version\fR\|(1) -command. The environment variable \fB\s-1OPENSSL_CONF\s0\fR can be used to specify -a different location of the file. -See \fIopenssl\-env\fR\|(7). +the location of the file. +If the environment variable is not specified, then the file is named +\&\fBopenssl.cnf\fR in the default certificate storage area, whose value +depends on the configuration flags specified when the OpenSSL +was built. .PP -The list options \fB\-standard\-commands\fR, \fB\-digest\-commands\fR, -and \fB\-cipher\-commands\fR output a list (one entry per line) of the names +The list parameters \fBstandard-commands\fR, \fBdigest-commands\fR, +and \fBcipher-commands\fR output a list (one entry per line) of the names of all standard commands, message digest commands, or cipher commands, -respectively, that are available. +respectively, that are available in the present \fBopenssl\fR utility. .PP -The list parameters \fB\-cipher\-algorithms\fR, \fB\-digest\-algorithms\fR, -and \fB\-mac\-algorithms\fR list all cipher, message digest, and message -authentication code names, one entry per line. Aliases are listed as: +The list parameters \fBcipher-algorithms\fR and +\&\fBdigest-algorithms\fR list all cipher and message digest names, one entry per line. Aliases are listed as: .PP .Vb 1 \& from => to .Ve .PP -The list parameter \fB\-public\-key\-algorithms\fR lists all supported public +The list parameter \fBpublic-key-algorithms\fR lists all supported public key algorithms. .PP The command \fBno\-\fR\fI\s-1XXX\s0\fR tests whether a command of the @@ -236,19 +226,22 @@ Certificate Revocation List (\s-1CRL\s0) Management. \&\s-1CRL\s0 to PKCS#7 Conversion. .IP "\fBdgst\fR" 4 .IX Item "dgst" -Message Digest calculation. \s-1MAC\s0 calculations are superseded by -\&\fIopenssl\-mac\fR\|(1). +Message Digest Calculation. +.IP "\fBdh\fR" 4 +.IX Item "dh" +Diffie-Hellman Parameter Management. +Obsoleted by \fIdhparam\fR\|(1). .IP "\fBdhparam\fR" 4 .IX Item "dhparam" Generation and Management of Diffie-Hellman Parameters. Superseded by -\&\fIopenssl\-genpkey\fR\|(1) and \fIopenssl\-pkeyparam\fR\|(1). +\&\fIgenpkey\fR\|(1) and \fIpkeyparam\fR\|(1). .IP "\fBdsa\fR" 4 .IX Item "dsa" \&\s-1DSA\s0 Data Management. .IP "\fBdsaparam\fR" 4 .IX Item "dsaparam" \&\s-1DSA\s0 Parameter Generation and Management. Superseded by -\&\fIopenssl\-genpkey\fR\|(1) and \fIopenssl\-pkeyparam\fR\|(1). +\&\fIgenpkey\fR\|(1) and \fIpkeyparam\fR\|(1). .IP "\fBec\fR" 4 .IX Item "ec" \&\s-1EC\s0 (Elliptic curve) key processing. @@ -257,41 +250,27 @@ Generation and Management of Diffie-Hellman Parameters. Superseded by \&\s-1EC\s0 parameter manipulation and generation. .IP "\fBenc\fR" 4 .IX Item "enc" -Encryption, decryption, and encoding. +Encoding with Ciphers. .IP "\fBengine\fR" 4 .IX Item "engine" Engine (loadable module) information and manipulation. .IP "\fBerrstr\fR" 4 .IX Item "errstr" Error Number to Error String Conversion. -.IP "\fBfipsinstall\fR" 4 -.IX Item "fipsinstall" -\&\s-1FIPS\s0 configuration installation. +.IP "\fBgendh\fR" 4 +.IX Item "gendh" +Generation of Diffie-Hellman Parameters. +Obsoleted by \fIdhparam\fR\|(1). .IP "\fBgendsa\fR" 4 .IX Item "gendsa" Generation of \s-1DSA\s0 Private Key from Parameters. Superseded by -\&\fIopenssl\-genpkey\fR\|(1) and \fIopenssl\-pkey\fR\|(1). +\&\fIgenpkey\fR\|(1) and \fIpkey\fR\|(1). .IP "\fBgenpkey\fR" 4 .IX Item "genpkey" Generation of Private Key or Parameters. .IP "\fBgenrsa\fR" 4 .IX Item "genrsa" -Generation of \s-1RSA\s0 Private Key. Superseded by \fIopenssl\-genpkey\fR\|(1). -.IP "\fBhelp\fR" 4 -.IX Item "help" -Display information about a command's options. -.IP "\fBinfo\fR" 4 -.IX Item "info" -Display diverse information built into the OpenSSL libraries. -.IP "\fBkdf\fR" 4 -.IX Item "kdf" -Key Derivation Functions. -.IP "\fBlist\fR" 4 -.IX Item "list" -List algorithms and features. -.IP "\fBmac\fR" 4 -.IX Item "mac" -Message Authentication Code Calculation. +Generation of \s-1RSA\s0 Private Key. Superseded by \fIgenpkey\fR\|(1). .IP "\fBnseq\fR" 4 .IX Item "nseq" Create or examine a Netscape certificate sequence. @@ -322,9 +301,6 @@ Public key algorithm cryptographic operation utility. .IP "\fBprime\fR" 4 .IX Item "prime" Compute prime numbers. -.IP "\fBprovider\fR" 4 -.IX Item "provider" -Load and query providers. .IP "\fBrand\fR" 4 .IX Item "rand" Generate pseudo-random bytes. @@ -340,7 +316,7 @@ PKCS#10 X.509 Certificate Signing Request (\s-1CSR\s0) Management. .IP "\fBrsautl\fR" 4 .IX Item "rsautl" \&\s-1RSA\s0 utility for signing, verification, encryption, and decryption. Superseded -by \fIopenssl\-pkeyutl\fR\|(1). +by \fIpkeyutl\fR\|(1). .IP "\fBs_client\fR" 4 .IX Item "s_client" This implements a generic \s-1SSL/TLS\s0 client which can establish a transparent @@ -447,13 +423,13 @@ BLAKE2s\-256 Digest .IP "\fBsm3\fR" 4 .IX Item "sm3" \&\s-1SM3\s0 Digest -.SS "Encryption, Decryption, and Encoding Commands" -.IX Subsection "Encryption, Decryption, and Encoding Commands" +.SS "Encoding and Cipher Commands" +.IX Subsection "Encoding and Cipher Commands" The following aliases provide convenient access to the most used encodings and ciphers. .PP Depending on how OpenSSL was configured and built, not all ciphers listed -here may be present. See \fIopenssl\-enc\fR\|(1) for more information. +here may be present. See \fIenc\fR\|(1) for more information and command usage. .IP "\fBaes128\fR, \fBaes\-128\-cbc\fR, \fBaes\-128\-cfb\fR, \fBaes\-128\-ctr\fR, \fBaes\-128\-ecb\fR, \fBaes\-128\-ofb\fR" 4 .IX Item "aes128, aes-128-cbc, aes-128-cfb, aes-128-ctr, aes-128-ecb, aes-128-ofb" \&\s-1AES\-128\s0 Cipher @@ -529,107 +505,6 @@ This section describes some common options with common behavior. .IP "\fB\-help\fR" 4 .IX Item "-help" Provides a terse summary of all options. -If an option takes an argument, the \*(L"type\*(R" of argument is also given. -.IP "\fB\-\-\fR" 4 -.IX Item "--" -This terminates the list of options. It is mostly useful if any filename -parameters start with a minus sign: -.Sp -.Vb 1 -\& openssl verify [flags...] \-\- \-cert1.pem... -.Ve -.SS "Format Options" -.IX Subsection "Format Options" -Several OpenSSL commands can take input or generate output in a variety -of formats. The list of acceptable formats, and the default, is -described in each command documentation. The list of formats is -described below. Both uppercase and lowercase are accepted. -.IP "\fB\s-1DER\s0\fR" 4 -.IX Item "DER" -A binary format, encoded or parsed according to Distinguished Encoding Rules -(\s-1DER\s0) of the \s-1ASN\s0.1 data language. -.IP "\fB\s-1ENGINE\s0\fR" 4 -.IX Item "ENGINE" -Used to specify that the cryptographic material is in an OpenSSL \fBengine\fR. -An engine must be configured or specified using the \fB\-engine\fR option. -In addition, the \fB\-input\fR flag can be used to name a specific object in -the engine. -A password, such as the \fB\-passin\fR flag often must be specified as well. -.IP "\fBP12\fR" 4 -.IX Item "P12" -A DER-encoded file containing a PKCS#12 object. -It might be necessary to provide a decryption password to retrieve -the private key. -.IP "\fB\s-1PEM\s0\fR" 4 -.IX Item "PEM" -A text format defined in \s-1IETF\s0 \s-1RFC\s0 1421 and \s-1IETF\s0 \s-1RFC\s0 7468. Briefly, this is -a block of base\-64 encoding (defined in \s-1IETF\s0 \s-1RFC\s0 4648), with specific -lines used to mark the start and end: -.Sp -.Vb 7 -\& Text before the BEGIN line is ignored. -\& \-\-\-\-\- BEGIN object\-type \-\-\-\-\- -\& OT43gQKBgQC/2OHZoko6iRlNOAQ/tMVFNq7fL81GivoQ9F1U0Qr+DH3ZfaH8eIkX -\& xT0ToMPJUzWAn8pZv0snA0um6SIgvkCuxO84OkANCVbttzXImIsL7pFzfcwV/ERK -\& UM6j0ZuSMFOCr/lGPAoOQU0fskidGEHi1/kW+suSr28TqsyYZpwBDQ== -\& \-\-\-\-\- END object\-type \-\-\-\-\- -\& Text after the END line is also ignored -.Ve -.Sp -The \fIobject-type\fR must match the type of object that is expected. -For example a \f(CW\*(C`BEGIN X509 CERTIFICATE\*(C'\fR will not match if the command -is trying to read a private key. The types supported include: -.Sp -.Vb 10 -\& ANY PRIVATE KEY -\& CERTIFICATE -\& CERTIFICATE REQUEST -\& CMS -\& DH PARAMETERS -\& DSA PARAMETERS -\& DSA PUBLIC KEY -\& EC PARAMETERS -\& EC PRIVATE KEY -\& ECDSA PUBLIC KEY -\& ENCRYPTED PRIVATE KEY -\& PARAMETERS -\& PKCS #7 SIGNED DATA -\& PKCS7 -\& PRIVATE KEY -\& PUBLIC KEY -\& RSA PRIVATE KEY -\& SSL SESSION PARAMETERS -\& TRUSTED CERTIFICATE -\& X509 CRL -\& X9.42 DH PARAMETERS -.Ve -.Sp -The following legacy \fIobject-type\fR's are also supported for compatibility -with earlier releases: -.Sp -.Vb 4 -\& DSA PRIVATE KEY -\& NEW CERTIFICATE REQUEST -\& RSA PUBLIC KEY -\& X509 CERTIFICATE -.Ve -.IP "\fB\s-1SMIME\s0\fR" 4 -.IX Item "SMIME" -An S/MIME object as described in \s-1IETF\s0 \s-1RFC\s0 8551. -Earlier versions were known as \s-1CMS\s0 and are compatible. -Note that the parsing is simple and might fail to parse some legal data. -.PP -The options to specify the format are as follows. Refer to the individual -manpage to see which options are accepted. -.IP "\fB\-inform\fR \fIformat\fR, \fB\-outform\fR \fIformat\fR" 4 -.IX Item "-inform format, -outform format" -The format of the input or output streams. -.IP "\fB\-keyform\fR \fIformat\fR" 4 -.IX Item "-keyform format" -Format of a private key input source. -.IP "\fB\-CRLform\fR \fIformat\fR" 4 -.IX Item "-CRLform format" -Format of a \s-1CRL\s0 input source. .SS "Pass Phrase Options" .IX Subsection "Pass Phrase Options" Several commands accept password arguments, typically using \fB\-passin\fR @@ -642,624 +517,58 @@ terminal with echoing turned off. .PP Note that character encoding may be relevant, please see \&\fIpassphrase\-encoding\fR\|(7). -.IP "\fBpass:\fR\fIpassword\fR" 4 +.IP "\fBpass:password\fR" 4 .IX Item "pass:password" -The actual password is \fIpassword\fR. Since the password is visible +The actual password is \fBpassword\fR. Since the password is visible to utilities (like 'ps' under Unix) this form should only be used where security is not important. -.IP "\fBenv:\fR\fIvar\fR" 4 +.IP "\fBenv:var\fR" 4 .IX Item "env:var" -Obtain the password from the environment variable \fIvar\fR. Since +Obtain the password from the environment variable \fBvar\fR. Since the environment of other processes is visible on certain platforms (e.g. ps under certain Unix OSes) this option should be used with caution. -.IP "\fBfile:\fR\fIpathname\fR" 4 +.IP "\fBfile:pathname\fR" 4 .IX Item "file:pathname" -The first line of \fIpathname\fR is the password. If the same \fIpathname\fR +The first line of \fBpathname\fR is the password. If the same \fBpathname\fR argument is supplied to \fB\-passin\fR and \fB\-passout\fR arguments then the first line will be used for the input password and the next line for the output -password. \fIpathname\fR need not refer to a regular file: it could for example +password. \fBpathname\fR need not refer to a regular file: it could for example refer to a device or named pipe. -.IP "\fBfd:\fR\fInumber\fR" 4 +.IP "\fBfd:number\fR" 4 .IX Item "fd:number" -Read the password from the file descriptor \fInumber\fR. This can be used to +Read the password from the file descriptor \fBnumber\fR. This can be used to send the data via a pipe for example. .IP "\fBstdin\fR" 4 .IX Item "stdin" Read the password from standard input. -.SS "Trusted Certificate Options" -.IX Subsection "Trusted Certificate Options" -Part of validating a certificate includes verifying that the chain of \s-1CA\s0's -can be traced up to an existing trusted root. The following options specify -how to list the trusted roots, also known as trust anchors. A collection -of trusted roots is called a \fItrust store\fR. -.PP -Note that OpenSSL does not provide a default set of trust anchors. Many -Linux distributions include a system default and configure OpenSSL to point -to that. Mozilla maintains an influential trust store that can be found at -https://www.mozilla.org/en\-US/about/governance/policies/security\-group/certs/ . -.IP "\fB\-CAfile\fR \fIfile\fR" 4 -.IX Item "-CAfile file" -Load the specified file which contains one or more PEM-format certificates -of \s-1CA\s0's that are trusted. -.IP "\fB\-no\-CAfile\fR" 4 -.IX Item "-no-CAfile" -Do not load the default file of trusted certificates. -.IP "\fB\-CApath\fR \fIdir\fR" 4 -.IX Item "-CApath dir" -Use the specified directory as a list of trust certificates. That is, -files should be named with the hash of the X.509 SubjectName of each -certificate. This is so that the library can extract the IssuerName, -hash it, and directly lookup the file to get the issuer certificate. -See \fIopenssl\-rehash\fR\|(1) for information on creating this type of directory. -.IP "\fB\-no\-CApath\fR" 4 -.IX Item "-no-CApath" -Do not use the default directory of trusted certificates. -.IP "\fB\-CAstore\fR \fIuri\fR" 4 -.IX Item "-CAstore uri" -Use \fIuri\fR as a store of trusted \s-1CA\s0 certificates. The \s-1URI\s0 may -indicate a single certificate, as well as a collection of them. -With URIs in the \f(CW\*(C`file:\*(C'\fR scheme, this acts as \fB\-CAfile\fR or -\&\fB\-CApath\fR, depending on if the \s-1URI\s0 indicates a single file or -directory. -See \fIossl_store\-file\fR\|(7) for more information on the \f(CW\*(C`file:\*(C'\fR scheme. -.Sp -These certificates are also used when building the server certificate -chain (for example with \fIopenssl\-s_server\fR\|(1)) or client certificate -chain (for example with \fIopenssl\-s_time\fR\|(1)). -.IP "\fB\-no\-CAstore\fR" 4 -.IX Item "-no-CAstore" -Do not use the default store. -.SS "Random State Options" -.IX Subsection "Random State Options" -Prior to OpenSSL 3.0, it was common for applications to store information -about the state of the random-number generator in a file that was loaded -at startup and rewritten upon exit. On modern operating systems, this is -generally no longer necessary as OpenSSL will seed itself from the -appropriate \s-1CPU\s0 flags, device files, and so on. These flags are still -supported for special platforms or circumstances that might require them. -.PP -It is generally an error to use the same seed file more than once and -every use of \fB\-rand\fR should be paired with \fB\-writerand\fR. -.IP "\fB\-rand\fR \fIfiles\fR" 4 -.IX Item "-rand files" -A file or files containing random data used to seed the random number -generator. -Multiple files can be specified separated by an OS-dependent character. -The separator is \f(CW\*(C`;\*(C'\fR for MS-Windows, \f(CW\*(C`,\*(C'\fR for OpenVMS, and \f(CW\*(C`:\*(C'\fR for -all others. Another way to specify multiple files is to repeat this flag -with different filenames. -.IP "\fB\-writerand\fR \fIfile\fR" 4 -.IX Item "-writerand file" -Writes the seed data to the specified \fIfile\fR upon exit. -This file can be used in a subsequent command invocation. -.SS "Extended Verification Options" -.IX Subsection "Extended Verification Options" -Sometimes there may be more than one certificate chain leading to an -end-entity certificate. -This usually happens when a root or intermediate \s-1CA\s0 signs a certificate -for another a \s-1CA\s0 in other organization. -Another reason is when a \s-1CA\s0 might have intermediates that use two different -signature formats, such as a \s-1SHA\-1\s0 and a \s-1SHA\-256\s0 digest. -.PP -The following options can be used to provide data that will allow the -OpenSSL command to generate an alternative chain. -.IP "\fB\-xchain_build\fR" 4 -.IX Item "-xchain_build" -Specify whether the application should build the certificate chain to be -provided to the server for the extra certificates via the \fB\-xkey\fR, -\&\fB\-xcert\fR, and \fB\-xchain\fR options. -.IP "\fB\-xkey\fR \fIinfile\fR, \fB\-xcert\fR \fIinfile\fR, \fB\-xchain\fR" 4 -.IX Item "-xkey infile, -xcert infile, -xchain" -Specify an extra certificate, private key and certificate chain. These behave -in the same manner as the \fB\-cert\fR, \fB\-key\fR and \fB\-cert_chain\fR options. When -specified, the callback returning the first valid chain will be in use by the -client. -.IP "\fB\-xcertform\fR \fB\s-1DER\s0\fR|\fB\s-1PEM\s0\fR, \fB\-xkeyform\fR \fB\s-1DER\s0\fR|\fB\s-1PEM\s0\fR" 4 -.IX Item "-xcertform DER|PEM, -xkeyform DER|PEM" -The input format for the extra certificate and key, respectively. -See \*(L"Format Options\*(R" in \fIopenssl\fR\|(1) for details. -.IP "\fB\-xchain_build\fR" 4 -.IX Item "-xchain_build" -Specify whether the application should build the certificate chain to be -provided to the server for the extra certificates via the \fB\-xkey\fR, -\&\fB\-xcert\fR, and \fB\-xchain\fR options. -.IP "\fB\-xcertform\fR \fB\s-1DER\s0\fR|\fB\s-1PEM\s0\fR, \fB\-xkeyform\fR \fB\s-1DER\s0\fR|\fB\s-1PEM\s0\fR" 4 -.IX Item "-xcertform DER|PEM, -xkeyform DER|PEM" -The input format for the extra certificate and key, respectively. -See \*(L"Format Options\*(R" in \fIopenssl\fR\|(1) for details. -.SS "Verification Options" -.IX Subsection "Verification Options" -Many OpenSSL commands verify certificates. The details of how each -command handles errors are documented on the specific command page. -.PP -Verification is a complicated process, consisting of a number of separate -steps that are detailed in the following paragraphs. -.PP -First, a certificate chain is built up starting from the supplied certificate -and ending in a root \s-1CA\s0. It is an error if the whole chain cannot be -built up. The chain is built up by looking up the certificate that -signed (or issued) the certificate. It then repeats the process, until -it gets to a certificate that is self-issued. -.PP -The process of looking up the issuer's certificate itself involves a number -of steps. After all certificates whose subject name matches the issuer -name of the current certificate are subject to further tests. The relevant -authority key identifier components of the current certificate (if present) -must match the subject key identifier (if present) and issuer and serial -number of the candidate issuer, in addition the keyUsage extension of the -candidate issuer (if present) must permit certificate signing. -.PP -The lookup first looks in the list of untrusted certificates and if no match -is found the remaining lookups are from the trusted certificates. The root \s-1CA\s0 -is always looked up in the trusted certificate list: if the certificate to -verify is a root certificate then an exact match must be found in the trusted -list. -.PP -The second step is to check every untrusted certificate's extensions -for consistency with the supplied purpose. If the \fB\-purpose\fR option is -not included then no checks are done. The supplied or \*(L"leaf\*(R" certificate -must have extensions compatible with the supplied purpose and all other -certificates must also be valid \s-1CA\s0 certificates. The precise extensions -required are described in more detail in -\&\*(L"\s-1CERTIFICATE\s0 \s-1EXTENSIONS\s0\*(R" in \fIopenssl\-x509\fR\|(1). -.PP -The third step is to check the trust settings on the root \s-1CA\s0. The root -\&\s-1CA\s0 should be trusted for the supplied purpose. For compatibility with -previous versions of OpenSSL, a certificate with no trust settings is -considered to be valid for all purposes. -.PP -The fourth, and final, step is to check the validity of the certificate -chain. The validity period is checked against the system time -and the \f(CW\*(C`notBefore\*(C'\fR and \f(CW\*(C`notAfter\*(C'\fR dates in the certificate. The certificate -signatures are also checked at this point. The \fB\-attime\fR flag may be -used to specify a time other than \*(L"now.\*(R" -.PP -If all operations complete successfully then certificate is considered -valid. If any operation fails then the certificate is not valid. -.PP -The details of the processing steps can be fine-tuned with the -following flags. -.IP "\fB\-verbose\fR" 4 -.IX Item "-verbose" -Print extra information about the operations being performed. -.IP "\fB\-attime\fR \fItimestamp\fR" 4 -.IX Item "-attime timestamp" -Perform validation checks using time specified by \fItimestamp\fR and not -current system time. \fItimestamp\fR is the number of seconds since -January 1, 1970 (i.e., the Unix Epoch). -.IP "\fB\-no_check_time\fR" 4 -.IX Item "-no_check_time" -This option suppresses checking the validity period of certificates and CRLs -against the current time. If option \fB\-attime\fR is used to specify -a verification time, the check is not suppressed. -.IP "\fB\-x509_strict\fR" 4 -.IX Item "-x509_strict" -This disables non-compliant workarounds for broken certificates. -.IP "\fB\-ignore_critical\fR" 4 -.IX Item "-ignore_critical" -Normally if an unhandled critical extension is present which is not -supported by OpenSSL the certificate is rejected (as required by \s-1RFC5280\s0). -If this option is set critical extensions are ignored. -.IP "\fB\-issuer_checks\fR" 4 -.IX Item "-issuer_checks" -Ignored. -.IP "\fB\-crl_check\fR" 4 -.IX Item "-crl_check" -Checks end entity certificate validity by attempting to look up a valid \s-1CRL\s0. -If a valid \s-1CRL\s0 cannot be found an error occurs. -.IP "\fB\-crl_check_all\fR" 4 -.IX Item "-crl_check_all" -Checks the validity of \fBall\fR certificates in the chain by attempting -to look up valid CRLs. -.IP "\fB\-use_deltas\fR" 4 -.IX Item "-use_deltas" -Enable support for delta CRLs. -.IP "\fB\-extended_crl\fR" 4 -.IX Item "-extended_crl" -Enable extended \s-1CRL\s0 features such as indirect CRLs and alternate \s-1CRL\s0 -signing keys. -.IP "\fB\-suiteB_128_only\fR, \fB\-suiteB_128\fR, \fB\-suiteB_192\fR" 4 -.IX Item "-suiteB_128_only, -suiteB_128, -suiteB_192" -Enable the Suite B mode operation at 128 bit Level of Security, 128 bit or -192 bit, or only 192 bit Level of Security respectively. -See \s-1RFC6460\s0 for details. In particular the supported signature algorithms are -reduced to support only \s-1ECDSA\s0 and \s-1SHA256\s0 or \s-1SHA384\s0 and only the elliptic curves -P\-256 and P\-384. -.IP "\fB\-auth_level\fR \fIlevel\fR" 4 -.IX Item "-auth_level level" -Set the certificate chain authentication security level to \fIlevel\fR. -The authentication security level determines the acceptable signature and -public key strength when verifying certificate chains. For a certificate -chain to validate, the public keys of all the certificates must meet the -specified security \fIlevel\fR. The signature algorithm security level is -enforced for all the certificates in the chain except for the chain's -\&\fItrust anchor\fR, which is either directly trusted or validated by means -other than its signature. See \fISSL_CTX_set_security_level\fR\|(3) for the -definitions of the available levels. The default security level is \-1, -or \*(L"not set\*(R". At security level 0 or lower all algorithms are acceptable. -Security level 1 requires at least 80\-bit\-equivalent security and is broadly -interoperable, though it will, for example, reject \s-1MD5\s0 signatures or \s-1RSA\s0 -keys shorter than 1024 bits. -.IP "\fB\-partial_chain\fR" 4 -.IX Item "-partial_chain" -Allow verification to succeed even if a \fIcomplete\fR chain cannot be built to a -self-signed trust-anchor, provided it is possible to construct a chain to a -trusted certificate that might not be self-signed. -.IP "\fB\-check_ss_sig\fR" 4 -.IX Item "-check_ss_sig" -Verify the signature on the self-signed root \s-1CA\s0. This is disabled by default -because it doesn't add any security. -.IP "\fB\-allow_proxy_certs\fR" 4 -.IX Item "-allow_proxy_certs" -Allow the verification of proxy certificates. -.IP "\fB\-trusted_first\fR" 4 -.IX Item "-trusted_first" -As of OpenSSL 1.1.0 this option is on by default and cannot be disabled. -.IP "\fB\-no_alt_chains\fR" 4 -.IX Item "-no_alt_chains" -As of OpenSSL 1.1.0, since \fB\-trusted_first\fR always on, this option has no -effect. -.IP "\fB\-trusted\fR \fIfile\fR" 4 -.IX Item "-trusted file" -Parse \fIfile\fR as a set of one or more certificates in \s-1PEM\s0 format. -All certificates must be self-signed, unless the -\&\fB\-partial_chain\fR option is specified. -This option implies the \fB\-no\-CAfile\fR and \fB\-no\-CApath\fR options and it -cannot be used with either the \fB\-CAfile\fR or \fB\-CApath\fR options, so -only certificates in the file are trust anchors. -This option may be used multiple times. -.IP "\fB\-untrusted\fR \fIfile\fR" 4 -.IX Item "-untrusted file" -Parse \fIfile\fR as a set of one or more certificates in \s-1PEM\s0 format. -All certificates are untrusted certificates that may be used to -construct a certificate chain from the subject certificate to a trust anchor. -This option may be used multiple times. -.IP "\fB\-policy\fR \fIarg\fR" 4 -.IX Item "-policy arg" -Enable policy processing and add \fIarg\fR to the user-initial-policy-set (see -\&\s-1RFC5280\s0). The policy \fIarg\fR can be an object name an \s-1OID\s0 in numeric form. -This argument can appear more than once. -.IP "\fB\-explicit_policy\fR" 4 -.IX Item "-explicit_policy" -Set policy variable require-explicit-policy (see \s-1RFC5280\s0). -.IP "\fB\-policy_check\fR" 4 -.IX Item "-policy_check" -Enables certificate policy processing. -.IP "\fB\-policy_print\fR" 4 -.IX Item "-policy_print" -Print out diagnostics related to policy processing. -.IP "\fB\-inhibit_any\fR" 4 -.IX Item "-inhibit_any" -Set policy variable inhibit-any-policy (see \s-1RFC5280\s0). -.IP "\fB\-inhibit_map\fR" 4 -.IX Item "-inhibit_map" -Set policy variable inhibit-policy-mapping (see \s-1RFC5280\s0). -.IP "\fB\-purpose\fR \fIpurpose\fR" 4 -.IX Item "-purpose purpose" -The intended use for the certificate. If this option is not specified, this -command will not consider certificate purpose during chain verification. -Currently accepted uses are \fBsslclient\fR, \fBsslserver\fR, \fBnssslserver\fR, -\&\fBsmimesign\fR, \fBsmimeencrypt\fR. -.IP "\fB\-verify_depth\fR \fInum\fR" 4 -.IX Item "-verify_depth num" -Limit the certificate chain to \fInum\fR intermediate \s-1CA\s0 certificates. -A maximal depth chain can have up to \fInum\fR+2 certificates, since neither the -end-entity certificate nor the trust-anchor certificate count against the -\&\fB\-verify_depth\fR limit. -.IP "\fB\-verify_email\fR \fIemail\fR" 4 -.IX Item "-verify_email email" -Verify if \fIemail\fR matches the email address in Subject Alternative Name or -the email in the subject Distinguished Name. -.IP "\fB\-verify_hostname\fR \fIhostname\fR" 4 -.IX Item "-verify_hostname hostname" -Verify if \fIhostname\fR matches \s-1DNS\s0 name in Subject Alternative Name or -Common Name in the subject certificate. -.IP "\fB\-verify_ip\fR \fIip\fR" 4 -.IX Item "-verify_ip ip" -Verify if \fIip\fR matches the \s-1IP\s0 address in Subject Alternative Name of -the subject certificate. -.IP "\fB\-verify_name\fR \fIname\fR" 4 -.IX Item "-verify_name name" -Use default verification policies like trust model and required certificate -policies identified by \fIname\fR. -The trust model determines which auxiliary trust or reject OIDs are applicable -to verifying the given certificate chain. -See the \fB\-addtrust\fR and \fB\-addreject\fR options for \fIopenssl\-x509\fR\|(1). -Supported policy names include: \fBdefault\fR, \fBpkcs7\fR, \fBsmime_sign\fR, -\&\fBssl_client\fR, \fBssl_server\fR. -These mimics the combinations of purpose and trust settings used in \s-1SSL\s0, \s-1CMS\s0 -and S/MIME. -As of OpenSSL 1.1.0, the trust model is inferred from the purpose when not -specified, so the \fB\-verify_name\fR options are functionally equivalent to the -corresponding \fB\-purpose\fR settings. -.SS "Name Format Options" -.IX Subsection "Name Format Options" -OpenSSL provides fine-grain control over how the subject and issuer \s-1DN\s0's are -displayed. -This is specified by using the \fB\-nameopt\fR option, which takes a -comma-separated list of options from the following set. -An option may be preceded by a minus sign, \f(CW\*(C`\-\*(C'\fR, to turn it off. -The default value is \f(CW\*(C`oneline\*(C'\fR. -The first four are the most commonly used. -.IP "\fBcompat\fR" 4 -.IX Item "compat" -Display the name using an old format from previous OpenSSL versions. -.IP "\fB\s-1RFC2253\s0\fR" 4 -.IX Item "RFC2253" -Display the name using the format defined in \s-1RFC\s0 2253. -It is equivalent to \fBesc_2253\fR, \fBesc_ctrl\fR, \fBesc_msb\fR, \fButf8\fR, -\&\fBdump_nostr\fR, \fBdump_unknown\fR, \fBdump_der\fR, \fBsep_comma_plus\fR, \fBdn_rev\fR -and \fBsname\fR. -.IP "\fBoneline\fR" 4 -.IX Item "oneline" -Display the name in one line, using a format that is more readable -\&\s-1RFC\s0 2253. -It is equivalent to \fBesc_2253\fR, \fBesc_ctrl\fR, \fBesc_msb\fR, \fButf8\fR, -\&\fBdump_nostr\fR, \fBdump_der\fR, \fBuse_quote\fR, \fBsep_comma_plus_space\fR, -\&\fBspace_eq\fR and \fBsname\fR options. -.IP "\fBmultiline\fR" 4 -.IX Item "multiline" -Display the name using multiple lines. -It is equivalent to \fBesc_ctrl\fR, \fBesc_msb\fR, \fBsep_multiline\fR, \fBspace_eq\fR, -\&\fBlname\fR and \fBalign\fR. -.IP "\fBesc_2253\fR" 4 -.IX Item "esc_2253" -Escape the \*(L"special\*(R" characters in a field, as required by \s-1RFC\s0 2253. -That is, any of the characters \f(CW\*(C`,+"<>;\*(C'\fR, \f(CW\*(C`#\*(C'\fR at the beginning of -a string and leading or trailing spaces. -.IP "\fBesc_2254\fR" 4 -.IX Item "esc_2254" -Escape the \*(L"special\*(R" characters in a field as required by \s-1RFC\s0 2254 in a field. -That is, the \fB\s-1NUL\s0\fR character and and of \f(CW\*(C`()*\*(C'\fR. -.IP "\fBesc_ctrl\fR" 4 -.IX Item "esc_ctrl" -Escape non-printable \s-1ASCII\s0 characters, codes less than 0x20 (space) -or greater than 0x7F (\s-1DELETE\s0). They are displayed using \s-1RFC\s0 2253 \f(CW\*(C`\eXX\*(C'\fR -notation where \fB\s-1XX\s0\fR are the two hex digits representing the character value. -.IP "\fBesc_msb\fR" 4 -.IX Item "esc_msb" -Escape any characters with the most significant bit set, that is with -values larger than 127, as described in \fBesc_ctrl\fR. -.IP "\fBuse_quote\fR" 4 -.IX Item "use_quote" -Escapes some characters by surrounding the entire string with quotation -marks, \f(CW\*(C`"\*(C'\fR. -Without this option, individual special characters are preceeded with -a backslash character, \f(CW\*(C`\e\*(C'\fR. -.IP "\fButf8\fR" 4 -.IX Item "utf8" -Convert all strings to \s-1UTF\-8\s0 format first as required by \s-1RFC\s0 2253. -If the output device is \s-1UTF\-8\s0 compatible, then using this option (and -not setting \fBesc_msb\fR) may give the correct display of multibyte -characters. -If this option is not set, then multibyte characters larger than 0xFF -will be output as \f(CW\*(C`\eUXXXX\*(C'\fR for 16 bits or \f(CW\*(C`\eWXXXXXXXX\*(C'\fR for 32 bits. -In addition, any UTF8Strings will be converted to their character form first. -.IP "\fBignore_type\fR" 4 -.IX Item "ignore_type" -This option does not attempt to interpret multibyte characters in any -way. That is, the content octets are merely dumped as though one octet -represents each character. This is useful for diagnostic purposes but -will result in rather odd looking output. -.IP "\fBshow_type\fR" 4 -.IX Item "show_type" -Display the type of the \s-1ASN1\s0 character string before the value, -such as \f(CW\*(C`BMPSTRING: Hello World\*(C'\fR. -.IP "\fBdump_der\fR" 4 -.IX Item "dump_der" -Any fields that would be output in hex format are displayed using -the \s-1DER\s0 encoding of the field. -If not set, just the content octets are displayed. -Either way, the \fB#XXXX...\fR format of \s-1RFC\s0 2253 is used. -.IP "\fBdump_nostr\fR" 4 -.IX Item "dump_nostr" -Dump non-character strings, such as \s-1ASN\s0.1 \fB\s-1OCTET\s0 \s-1STRING\s0\fR. -If this option is not set, then non character string types will be displayed -as though each content octet represents a single character. -.IP "\fBdump_all\fR" 4 -.IX Item "dump_all" -Dump all fields. When this used with \fBdump_der\fR, this allows the -\&\s-1DER\s0 encoding of the structure to be unambiguously determined. -.IP "\fBdump_unknown\fR" 4 -.IX Item "dump_unknown" -Dump any field whose \s-1OID\s0 is not recognised by OpenSSL. -.IP "\fBsep_comma_plus\fR, \fBsep_comma_plus_space\fR, \fBsep_semi_plus_space\fR, \fBsep_multiline\fR" 4 -.IX Item "sep_comma_plus, sep_comma_plus_space, sep_semi_plus_space, sep_multiline" -Specify the field separators. The first word is used between the -Relative Distinguished Names (RDNs) and the second is between -multiple Attribute Value Assertions (AVAs). Multiple AVAs are -very rare and their use is discouraged. -The options ending in \*(L"space\*(R" additionally place a space after the separator to make it more readable. -The \fBsep_multiline\fR starts each field on its own line, and uses \*(L"plus space\*(R" -for the \s-1AVA\s0 separator. -It also indents the fields by four characters. -The default value is \fBsep_comma_plus_space\fR. -.IP "\fBdn_rev\fR" 4 -.IX Item "dn_rev" -Reverse the fields of the \s-1DN\s0 as required by \s-1RFC\s0 2253. -This also reverses the order of multiple AVAs in a field, but this is -permissible as there is no ordering on values. -.IP "\fBnofname\fR, \fBsname\fR, \fBlname\fR, \fBoid\fR" 4 -.IX Item "nofname, sname, lname, oid" -Specify how the field name is displayed. -\&\fBnofname\fR does not display the field at all. -\&\fBsname\fR uses the \*(L"short name\*(R" form (\s-1CN\s0 for commonName for example). -\&\fBlname\fR uses the long form. -\&\fBoid\fR represents the \s-1OID\s0 in numerical form and is useful for -diagnostic purpose. -.IP "\fBalign\fR" 4 -.IX Item "align" -Align field values for a more readable output. Only usable with -\&\fBsep_multiline\fR. -.IP "\fBspace_eq\fR" 4 -.IX Item "space_eq" -Places spaces round the equal sign, \f(CW\*(C`=\*(C'\fR, character which follows the field -name. -.SS "\s-1TLS\s0 Version Options" -.IX Subsection "TLS Version Options" -Several commands use \s-1SSL\s0, \s-1TLS\s0, or \s-1DTLS\s0. By default, the commands use \s-1TLS\s0 and -clients will offer the lowest and highest protocol version they support, -and servers will pick the highest version that the client offers that is also -supported by the server. -.PP -The options below can be used to limit which protocol versions are used, -and whether \s-1TCP\s0 (\s-1SSL\s0 and \s-1TLS\s0) or \s-1UDP\s0 (\s-1DTLS\s0) is used. -Note that not all protocols and flags may be available, depending on how -OpenSSL was built. -.IP "\fB\-ssl3\fR, \fB\-tls1\fR, \fB\-tls1_1\fR, \fB\-tls1_2\fR, \fB\-tls1_3\fR, \fB\-no_ssl3\fR, \fB\-no_tls1\fR, \fB\-no_tls1_1\fR, \fB\-no_tls1_2\fR, \fB\-no_tls1_3\fR" 4 -.IX Item "-ssl3, -tls1, -tls1_1, -tls1_2, -tls1_3, -no_ssl3, -no_tls1, -no_tls1_1, -no_tls1_2, -no_tls1_3" -These options require or disable the use of the specified \s-1SSL\s0 or \s-1TLS\s0 protocols. -When a specific \s-1TLS\s0 version is required, only that version will be offered or -accepted. -Only one specific protocol can be given and it cannot be combined with any of -the \fBno_\fR options. -.IP "\fB\-dtls\fR, \fB\-dtls1\fR, \fB\-dtls1_2\fR" 4 -.IX Item "-dtls, -dtls1, -dtls1_2" -These options specify to use \s-1DTLS\s0 instead of \s-1DLTS\s0. -With \fB\-dtls\fR, clients will negotiate any supported \s-1DTLS\s0 protocol version. -Use the \fB\-dtls1\fR or \fB\-dtls1_2\fR options to support only \s-1DTLS1\s0.0 or \s-1DTLS1\s0.2, -respectively. -.SS "Engine Options" -.IX Subsection "Engine Options" -.IP "\fB\-engine\fR \fIid\fR" 4 -.IX Item "-engine id" -Use the engine identified by \fIid\fR and use all the methods it -implements (algorithms, key storage, etc.), unless specified otherwise in -the command-specific documentation or it is configured to do so, as described -in \*(L"Engine Configuration Module\*(R" in \fIconfig\fR\|(5). -.SH "ENVIRONMENT" -.IX Header "ENVIRONMENT" -The OpenSSL library can be take some configuration parameters from the -environment. Some of these variables are listed below. For information -about specific commands, see \fIopenssl\-engine\fR\|(1), \fIopenssl\-provider\fR\|(1), -\&\fIopenssl\-rehash\fR\|(1), and \fItsget\fR\|(1). -.PP -For information about the use of environment variables in configuration, -see \*(L"\s-1ENVIRONMENT\s0\*(R" in \fIconfig\fR\|(5). -.PP -For information about querying or specifying \s-1CPU\s0 architecture flags, see -\&\fIOPENSSL_ia32cap\fR\|(3), and \fIOPENSSL_s390xcap\fR\|(3). -.PP -For information about all environment variables used by the OpenSSL libraries, -see \fIopenssl\-env\fR\|(7). -.IP "\fBOPENSSL_TRACE=\fR\fIname\fR[,...]" 4 -.IX Item "OPENSSL_TRACE=name[,...]" -Enable tracing output of OpenSSL library, by name. -This output will only make sense if you know OpenSSL internals well. -Also, it might not give you any output at all, depending on how -OpenSSL was built. -.Sp -The value is a comma separated list of names, with the following -available: -.RS 4 -.IP "\fB\s-1TRACE\s0\fR" 4 -.IX Item "TRACE" -The tracing functionality. -.IP "\fB\s-1TLS\s0\fR" 4 -.IX Item "TLS" -General \s-1SSL/TLS\s0. -.IP "\fB\s-1TLS_CIPHER\s0\fR" 4 -.IX Item "TLS_CIPHER" -\&\s-1SSL/TLS\s0 cipher. -.IP "\fB\s-1ENGINE_CONF\s0\fR" 4 -.IX Item "ENGINE_CONF" -\&\s-1ENGINE\s0 configuration. -.IP "\fB\s-1ENGINE_TABLE\s0\fR" 4 -.IX Item "ENGINE_TABLE" -The function that is used by \s-1RSA\s0, \s-1DSA\s0 (etc) code to select registered -ENGINEs, cache defaults and functional references (etc), will generate -debugging summaries. -.IP "\fB\s-1ENGINE_REF_COUNT\s0\fR" 4 -.IX Item "ENGINE_REF_COUNT" -Reference counts in the \s-1ENGINE\s0 structure will be monitored with a line -of generated for each change. -.IP "\fB\s-1PKCS5V2\s0\fR" 4 -.IX Item "PKCS5V2" -PKCS#5 v2 keygen. -.IP "\fB\s-1PKCS12_KEYGEN\s0\fR" 4 -.IX Item "PKCS12_KEYGEN" -PKCS#12 key generation. -.IP "\fB\s-1PKCS12_DECRYPT\s0\fR" 4 -.IX Item "PKCS12_DECRYPT" -PKCS#12 decryption. -.IP "\fBX509V3_POLICY\fR" 4 -.IX Item "X509V3_POLICY" -Generates the complete policy tree at various point during X.509 v3 -policy evaluation. -.IP "\fB\s-1BN_CTX\s0\fR" 4 -.IX Item "BN_CTX" -\&\s-1BIGNUM\s0 context. -.RE -.RS 4 -.RE .SH "SEE ALSO" .IX Header "SEE ALSO" -\&\fIopenssl\-asn1parse\fR\|(1), -\&\fIopenssl\-ca\fR\|(1), -\&\fIopenssl\-ciphers\fR\|(1), -\&\fIopenssl\-cms\fR\|(1), -\&\fIopenssl\-crl\fR\|(1), -\&\fIopenssl\-crl2pkcs7\fR\|(1), -\&\fIopenssl\-dgst\fR\|(1), -\&\fIopenssl\-dhparam\fR\|(1), -\&\fIopenssl\-dsa\fR\|(1), -\&\fIopenssl\-dsaparam\fR\|(1), -\&\fIopenssl\-ec\fR\|(1), -\&\fIopenssl\-ecparam\fR\|(1), -\&\fIopenssl\-enc\fR\|(1), -\&\fIopenssl\-engine\fR\|(1), -\&\fIopenssl\-errstr\fR\|(1), -\&\fIopenssl\-gendsa\fR\|(1), -\&\fIopenssl\-genpkey\fR\|(1), -\&\fIopenssl\-genrsa\fR\|(1), -\&\fIopenssl\-kdf\fR\|(1), -\&\fIopenssl\-mac\fR\|(1), -\&\fIopenssl\-nseq\fR\|(1), -\&\fIopenssl\-ocsp\fR\|(1), -\&\fIopenssl\-passwd\fR\|(1), -\&\fIopenssl\-pkcs12\fR\|(1), -\&\fIopenssl\-pkcs7\fR\|(1), -\&\fIopenssl\-pkcs8\fR\|(1), -\&\fIopenssl\-pkey\fR\|(1), -\&\fIopenssl\-pkeyparam\fR\|(1), -\&\fIopenssl\-pkeyutl\fR\|(1), -\&\fIopenssl\-prime\fR\|(1), -\&\fIopenssl\-rand\fR\|(1), -\&\fIopenssl\-rehash\fR\|(1), -\&\fIopenssl\-req\fR\|(1), -\&\fIopenssl\-rsa\fR\|(1), -\&\fIopenssl\-rsautl\fR\|(1), -\&\fIopenssl\-s_client\fR\|(1), -\&\fIopenssl\-s_server\fR\|(1), -\&\fIopenssl\-s_time\fR\|(1), -\&\fIopenssl\-sess_id\fR\|(1), -\&\fIopenssl\-smime\fR\|(1), -\&\fIopenssl\-speed\fR\|(1), -\&\fIopenssl\-spkac\fR\|(1), -\&\fIopenssl\-srp\fR\|(1), -\&\fIopenssl\-storeutl\fR\|(1), -\&\fIopenssl\-ts\fR\|(1), -\&\fIopenssl\-verify\fR\|(1), -\&\fIopenssl\-version\fR\|(1), -\&\fIopenssl\-x509\fR\|(1), -\&\fIconfig\fR\|(5), -\&\fIcrypto\fR\|(7), -\&\fIopenssl\-env\fR\|(7). -\&\fIssl\fR\|(7), -\&\fIx509v3_config\fR\|(5) +\&\fIasn1parse\fR\|(1), \fIca\fR\|(1), \fIciphers\fR\|(1), \fIcms\fR\|(1), \fIconfig\fR\|(5), +\&\fIcrl\fR\|(1), \fIcrl2pkcs7\fR\|(1), \fIdgst\fR\|(1), +\&\fIdhparam\fR\|(1), \fIdsa\fR\|(1), \fIdsaparam\fR\|(1), +\&\fIec\fR\|(1), \fIecparam\fR\|(1), +\&\fIenc\fR\|(1), \fIengine\fR\|(1), \fIerrstr\fR\|(1), \fIgendsa\fR\|(1), \fIgenpkey\fR\|(1), +\&\fIgenrsa\fR\|(1), \fInseq\fR\|(1), \fIocsp\fR\|(1), +\&\fIpasswd\fR\|(1), +\&\fIpkcs12\fR\|(1), \fIpkcs7\fR\|(1), \fIpkcs8\fR\|(1), +\&\fIpkey\fR\|(1), \fIpkeyparam\fR\|(1), \fIpkeyutl\fR\|(1), \fIprime\fR\|(1), +\&\fIrand\fR\|(1), \fIrehash\fR\|(1), \fIreq\fR\|(1), \fIrsa\fR\|(1), +\&\fIrsautl\fR\|(1), \fIs_client\fR\|(1), +\&\fIs_server\fR\|(1), \fIs_time\fR\|(1), \fIsess_id\fR\|(1), +\&\fIsmime\fR\|(1), \fIspeed\fR\|(1), \fIspkac\fR\|(1), \fIsrp\fR\|(1), \fIstoreutl\fR\|(1), +\&\fIts\fR\|(1), +\&\fIverify\fR\|(1), \fIversion\fR\|(1), \fIx509\fR\|(1), +\&\fIcrypto\fR\|(7), \fIssl\fR\|(7), \fIx509v3_config\fR\|(5) .SH "HISTORY" .IX Header "HISTORY" -The \fBlist\fR \-\fI\s-1XXX\s0\fR\fB\-algorithms\fR options were added in OpenSSL 1.0.0; +The \fBlist\-\fR\fI\s-1XXX\s0\fR\fB\-algorithms\fR pseudo-commands were added in OpenSSL 1.0.0; For notes on the availability of other commands, see their individual manual pages. -.PP -The \fB\-issuer_checks\fR option is deprecated as of OpenSSL 1.1.0 and -is silently ignored. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man1/passwd.1 b/linux_amd64/share/man/man1/passwd.1 new file mode 100644 index 0000000..f223b68 --- /dev/null +++ b/linux_amd64/share/man/man1/passwd.1 @@ -0,0 +1,239 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "PASSWD 1" +.TH PASSWD 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +openssl\-passwd, passwd \- compute password hashes +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBopenssl passwd\fR +[\fB\-help\fR] +[\fB\-crypt\fR] +[\fB\-1\fR] +[\fB\-apr1\fR] +[\fB\-aixmd5\fR] +[\fB\-5\fR] +[\fB\-6\fR] +[\fB\-salt\fR \fIstring\fR] +[\fB\-in\fR \fIfile\fR] +[\fB\-stdin\fR] +[\fB\-noverify\fR] +[\fB\-quiet\fR] +[\fB\-table\fR] +[\fB\-rand file...\fR] +[\fB\-writerand file\fR] +{\fIpassword\fR} +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The \fBpasswd\fR command computes the hash of a password typed at +run-time or the hash of each password in a list. The password list is +taken from the named file for option \fB\-in file\fR, from stdin for +option \fB\-stdin\fR, or from the command line, or from the terminal otherwise. +The Unix standard algorithm \fBcrypt\fR and the MD5\-based \s-1BSD\s0 password +algorithm \fB1\fR, its Apache variant \fBapr1\fR, and its \s-1AIX\s0 variant are available. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-help\fR" 4 +.IX Item "-help" +Print out a usage message. +.IP "\fB\-crypt\fR" 4 +.IX Item "-crypt" +Use the \fBcrypt\fR algorithm (default). +.IP "\fB\-1\fR" 4 +.IX Item "-1" +Use the \s-1MD5\s0 based \s-1BSD\s0 password algorithm \fB1\fR. +.IP "\fB\-apr1\fR" 4 +.IX Item "-apr1" +Use the \fBapr1\fR algorithm (Apache variant of the \s-1BSD\s0 algorithm). +.IP "\fB\-aixmd5\fR" 4 +.IX Item "-aixmd5" +Use the \fB\s-1AIX\s0 \s-1MD5\s0\fR algorithm (\s-1AIX\s0 variant of the \s-1BSD\s0 algorithm). +.IP "\fB\-5\fR" 4 +.IX Item "-5" +.PD 0 +.IP "\fB\-6\fR" 4 +.IX Item "-6" +.PD +Use the \fB\s-1SHA256\s0\fR / \fB\s-1SHA512\s0\fR based algorithms defined by Ulrich Drepper. +See https://www.akkadia.org/drepper/SHA\-crypt.txt . +.IP "\fB\-salt\fR \fIstring\fR" 4 +.IX Item "-salt string" +Use the specified salt. +When reading a password from the terminal, this implies \fB\-noverify\fR. +.IP "\fB\-in\fR \fIfile\fR" 4 +.IX Item "-in file" +Read passwords from \fIfile\fR. +.IP "\fB\-stdin\fR" 4 +.IX Item "-stdin" +Read passwords from \fBstdin\fR. +.IP "\fB\-noverify\fR" 4 +.IX Item "-noverify" +Don't verify when reading a password from the terminal. +.IP "\fB\-quiet\fR" 4 +.IX Item "-quiet" +Don't output warnings when passwords given at the command line are truncated. +.IP "\fB\-table\fR" 4 +.IX Item "-table" +In the output list, prepend the cleartext password and a \s-1TAB\s0 character +to each password hash. +.IP "\fB\-rand file...\fR" 4 +.IX Item "-rand file..." +A file or files containing random data used to seed the random number +generator. +Multiple files can be specified separated by an OS-dependent character. +The separator is \fB;\fR for MS-Windows, \fB,\fR for OpenVMS, and \fB:\fR for +all others. +.IP "[\fB\-writerand file\fR]" 4 +.IX Item "[-writerand file]" +Writes random data to the specified \fIfile\fR upon exit. +This can be used with a subsequent \fB\-rand\fR flag. +.SH "EXAMPLES" +.IX Header "EXAMPLES" +.Vb 2 +\& % openssl passwd \-crypt \-salt xx password +\& xxj31ZMTZzkVA +\& +\& % openssl passwd \-1 \-salt xxxxxxxx password +\& $1$xxxxxxxx$UYCIxa628.9qXjpQCjM4a. +\& +\& % openssl passwd \-apr1 \-salt xxxxxxxx password +\& $apr1$xxxxxxxx$dxHfLAsjHkDRmG83UXe8K0 +\& +\& % openssl passwd \-aixmd5 \-salt xxxxxxxx password +\& xxxxxxxx$8Oaipk/GPKhC64w/YVeFD/ +.Ve +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man1/pkcs12.1 b/linux_amd64/share/man/man1/pkcs12.1 new file mode 100644 index 0000000..d44a56b --- /dev/null +++ b/linux_amd64/share/man/man1/pkcs12.1 @@ -0,0 +1,470 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "PKCS12 1" +.TH PKCS12 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +openssl\-pkcs12, pkcs12 \- PKCS#12 file utility +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBopenssl\fR \fBpkcs12\fR +[\fB\-help\fR] +[\fB\-export\fR] +[\fB\-chain\fR] +[\fB\-inkey file_or_id\fR] +[\fB\-certfile filename\fR] +[\fB\-name name\fR] +[\fB\-caname name\fR] +[\fB\-in filename\fR] +[\fB\-out filename\fR] +[\fB\-noout\fR] +[\fB\-nomacver\fR] +[\fB\-nocerts\fR] +[\fB\-clcerts\fR] +[\fB\-cacerts\fR] +[\fB\-nokeys\fR] +[\fB\-info\fR] +[\fB\-des | \-des3 | \-idea | \-aes128 | \-aes192 | \-aes256 | \-aria128 | \-aria192 | \-aria256 | \-camellia128 | \-camellia192 | \-camellia256 | \-nodes\fR] +[\fB\-noiter\fR] +[\fB\-maciter | \-nomaciter | \-nomac\fR] +[\fB\-twopass\fR] +[\fB\-descert\fR] +[\fB\-certpbe cipher\fR] +[\fB\-keypbe cipher\fR] +[\fB\-macalg digest\fR] +[\fB\-keyex\fR] +[\fB\-keysig\fR] +[\fB\-password arg\fR] +[\fB\-passin arg\fR] +[\fB\-passout arg\fR] +[\fB\-rand file...\fR] +[\fB\-writerand file\fR] +[\fB\-CAfile file\fR] +[\fB\-CApath dir\fR] +[\fB\-no\-CAfile\fR] +[\fB\-no\-CApath\fR] +[\fB\-CSP name\fR] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The \fBpkcs12\fR command allows PKCS#12 files (sometimes referred to as +\&\s-1PFX\s0 files) to be created and parsed. PKCS#12 files are used by several +programs including Netscape, \s-1MSIE\s0 and \s-1MS\s0 Outlook. +.SH "OPTIONS" +.IX Header "OPTIONS" +There are a lot of options the meaning of some depends of whether a PKCS#12 file +is being created or parsed. By default a PKCS#12 file is parsed. A PKCS#12 +file can be created by using the \fB\-export\fR option (see below). +.SH "PARSING OPTIONS" +.IX Header "PARSING OPTIONS" +.IP "\fB\-help\fR" 4 +.IX Item "-help" +Print out a usage message. +.IP "\fB\-in filename\fR" 4 +.IX Item "-in filename" +This specifies filename of the PKCS#12 file to be parsed. Standard input is used +by default. +.IP "\fB\-out filename\fR" 4 +.IX Item "-out filename" +The filename to write certificates and private keys to, standard output by +default. They are all written in \s-1PEM\s0 format. +.IP "\fB\-passin arg\fR" 4 +.IX Item "-passin arg" +The PKCS#12 file (i.e. input file) password source. For more information about +the format of \fBarg\fR see the \fB\s-1PASS\s0 \s-1PHRASE\s0 \s-1ARGUMENTS\s0\fR section in +\&\fIopenssl\fR\|(1). +.IP "\fB\-passout arg\fR" 4 +.IX Item "-passout arg" +Pass phrase source to encrypt any outputted private keys with. For more +information about the format of \fBarg\fR see the \fB\s-1PASS\s0 \s-1PHRASE\s0 \s-1ARGUMENTS\s0\fR section +in \fIopenssl\fR\|(1). +.IP "\fB\-password arg\fR" 4 +.IX Item "-password arg" +With \-export, \-password is equivalent to \-passout. +Otherwise, \-password is equivalent to \-passin. +.IP "\fB\-noout\fR" 4 +.IX Item "-noout" +This option inhibits output of the keys and certificates to the output file +version of the PKCS#12 file. +.IP "\fB\-clcerts\fR" 4 +.IX Item "-clcerts" +Only output client certificates (not \s-1CA\s0 certificates). +.IP "\fB\-cacerts\fR" 4 +.IX Item "-cacerts" +Only output \s-1CA\s0 certificates (not client certificates). +.IP "\fB\-nocerts\fR" 4 +.IX Item "-nocerts" +No certificates at all will be output. +.IP "\fB\-nokeys\fR" 4 +.IX Item "-nokeys" +No private keys will be output. +.IP "\fB\-info\fR" 4 +.IX Item "-info" +Output additional information about the PKCS#12 file structure, algorithms +used and iteration counts. +.IP "\fB\-des\fR" 4 +.IX Item "-des" +Use \s-1DES\s0 to encrypt private keys before outputting. +.IP "\fB\-des3\fR" 4 +.IX Item "-des3" +Use triple \s-1DES\s0 to encrypt private keys before outputting, this is the default. +.IP "\fB\-idea\fR" 4 +.IX Item "-idea" +Use \s-1IDEA\s0 to encrypt private keys before outputting. +.IP "\fB\-aes128\fR, \fB\-aes192\fR, \fB\-aes256\fR" 4 +.IX Item "-aes128, -aes192, -aes256" +Use \s-1AES\s0 to encrypt private keys before outputting. +.IP "\fB\-aria128\fR, \fB\-aria192\fR, \fB\-aria256\fR" 4 +.IX Item "-aria128, -aria192, -aria256" +Use \s-1ARIA\s0 to encrypt private keys before outputting. +.IP "\fB\-camellia128\fR, \fB\-camellia192\fR, \fB\-camellia256\fR" 4 +.IX Item "-camellia128, -camellia192, -camellia256" +Use Camellia to encrypt private keys before outputting. +.IP "\fB\-nodes\fR" 4 +.IX Item "-nodes" +Don't encrypt the private keys at all. +.IP "\fB\-nomacver\fR" 4 +.IX Item "-nomacver" +Don't attempt to verify the integrity \s-1MAC\s0 before reading the file. +.IP "\fB\-twopass\fR" 4 +.IX Item "-twopass" +Prompt for separate integrity and encryption passwords: most software +always assumes these are the same so this option will render such +PKCS#12 files unreadable. Cannot be used in combination with the options +\&\-password, \-passin (if importing) or \-passout (if exporting). +.SH "FILE CREATION OPTIONS" +.IX Header "FILE CREATION OPTIONS" +.IP "\fB\-export\fR" 4 +.IX Item "-export" +This option specifies that a PKCS#12 file will be created rather than +parsed. +.IP "\fB\-out filename\fR" 4 +.IX Item "-out filename" +This specifies filename to write the PKCS#12 file to. Standard output is used +by default. +.IP "\fB\-in filename\fR" 4 +.IX Item "-in filename" +The filename to read certificates and private keys from, standard input by +default. They must all be in \s-1PEM\s0 format. The order doesn't matter but one +private key and its corresponding certificate should be present. If additional +certificates are present they will also be included in the PKCS#12 file. +.IP "\fB\-inkey file_or_id\fR" 4 +.IX Item "-inkey file_or_id" +File to read private key from. If not present then a private key must be present +in the input file. +If no engine is used, the argument is taken as a file; if an engine is +specified, the argument is given to the engine as a key identifier. +.IP "\fB\-name friendlyname\fR" 4 +.IX Item "-name friendlyname" +This specifies the \*(L"friendly name\*(R" for the certificate and private key. This +name is typically displayed in list boxes by software importing the file. +.IP "\fB\-certfile filename\fR" 4 +.IX Item "-certfile filename" +A filename to read additional certificates from. +.IP "\fB\-caname friendlyname\fR" 4 +.IX Item "-caname friendlyname" +This specifies the \*(L"friendly name\*(R" for other certificates. This option may be +used multiple times to specify names for all certificates in the order they +appear. Netscape ignores friendly names on other certificates whereas \s-1MSIE\s0 +displays them. +.IP "\fB\-pass arg\fR, \fB\-passout arg\fR" 4 +.IX Item "-pass arg, -passout arg" +The PKCS#12 file (i.e. output file) password source. For more information about +the format of \fBarg\fR see the \fB\s-1PASS\s0 \s-1PHRASE\s0 \s-1ARGUMENTS\s0\fR section in +\&\fIopenssl\fR\|(1). +.IP "\fB\-passin password\fR" 4 +.IX Item "-passin password" +Pass phrase source to decrypt any input private keys with. For more information +about the format of \fBarg\fR see the \fB\s-1PASS\s0 \s-1PHRASE\s0 \s-1ARGUMENTS\s0\fR section in +\&\fIopenssl\fR\|(1). +.IP "\fB\-chain\fR" 4 +.IX Item "-chain" +If this option is present then an attempt is made to include the entire +certificate chain of the user certificate. The standard \s-1CA\s0 store is used +for this search. If the search fails it is considered a fatal error. +.IP "\fB\-descert\fR" 4 +.IX Item "-descert" +Encrypt the certificate using triple \s-1DES\s0, this may render the PKCS#12 +file unreadable by some \*(L"export grade\*(R" software. By default the private +key is encrypted using triple \s-1DES\s0 and the certificate using 40 bit \s-1RC2\s0 +unless \s-1RC2\s0 is disabled in which case triple \s-1DES\s0 is used. +.IP "\fB\-keypbe alg\fR, \fB\-certpbe alg\fR" 4 +.IX Item "-keypbe alg, -certpbe alg" +These options allow the algorithm used to encrypt the private key and +certificates to be selected. Any PKCS#5 v1.5 or PKCS#12 \s-1PBE\s0 algorithm name +can be used (see \fB\s-1NOTES\s0\fR section for more information). If a cipher name +(as output by the \fBlist-cipher-algorithms\fR command is specified then it +is used with PKCS#5 v2.0. For interoperability reasons it is advisable to only +use PKCS#12 algorithms. +.IP "\fB\-keyex|\-keysig\fR" 4 +.IX Item "-keyex|-keysig" +Specifies that the private key is to be used for key exchange or just signing. +This option is only interpreted by \s-1MSIE\s0 and similar \s-1MS\s0 software. Normally +\&\*(L"export grade\*(R" software will only allow 512 bit \s-1RSA\s0 keys to be used for +encryption purposes but arbitrary length keys for signing. The \fB\-keysig\fR +option marks the key for signing only. Signing only keys can be used for +S/MIME signing, authenticode (ActiveX control signing) and \s-1SSL\s0 client +authentication, however due to a bug only \s-1MSIE\s0 5.0 and later support +the use of signing only keys for \s-1SSL\s0 client authentication. +.IP "\fB\-macalg digest\fR" 4 +.IX Item "-macalg digest" +Specify the \s-1MAC\s0 digest algorithm. If not included them \s-1SHA1\s0 will be used. +.IP "\fB\-nomaciter\fR, \fB\-noiter\fR" 4 +.IX Item "-nomaciter, -noiter" +These options affect the iteration counts on the \s-1MAC\s0 and key algorithms. +Unless you wish to produce files compatible with \s-1MSIE\s0 4.0 you should leave +these options alone. +.Sp +To discourage attacks by using large dictionaries of common passwords the +algorithm that derives keys from passwords can have an iteration count applied +to it: this causes a certain part of the algorithm to be repeated and slows it +down. The \s-1MAC\s0 is used to check the file integrity but since it will normally +have the same password as the keys and certificates it could also be attacked. +By default both \s-1MAC\s0 and encryption iteration counts are set to 2048, using +these options the \s-1MAC\s0 and encryption iteration counts can be set to 1, since +this reduces the file security you should not use these options unless you +really have to. Most software supports both \s-1MAC\s0 and key iteration counts. +\&\s-1MSIE\s0 4.0 doesn't support \s-1MAC\s0 iteration counts so it needs the \fB\-nomaciter\fR +option. +.IP "\fB\-maciter\fR" 4 +.IX Item "-maciter" +This option is included for compatibility with previous versions, it used +to be needed to use \s-1MAC\s0 iterations counts but they are now used by default. +.IP "\fB\-nomac\fR" 4 +.IX Item "-nomac" +Don't attempt to provide the \s-1MAC\s0 integrity. +.IP "\fB\-rand file...\fR" 4 +.IX Item "-rand file..." +A file or files containing random data used to seed the random number +generator. +Multiple files can be specified separated by an OS-dependent character. +The separator is \fB;\fR for MS-Windows, \fB,\fR for OpenVMS, and \fB:\fR for +all others. +.IP "[\fB\-writerand file\fR]" 4 +.IX Item "[-writerand file]" +Writes random data to the specified \fIfile\fR upon exit. +This can be used with a subsequent \fB\-rand\fR flag. +.IP "\fB\-CAfile file\fR" 4 +.IX Item "-CAfile file" +\&\s-1CA\s0 storage as a file. +.IP "\fB\-CApath dir\fR" 4 +.IX Item "-CApath dir" +\&\s-1CA\s0 storage as a directory. This directory must be a standard certificate +directory: that is a hash of each subject name (using \fBx509 \-hash\fR) should be +linked to each certificate. +.IP "\fB\-no\-CAfile\fR" 4 +.IX Item "-no-CAfile" +Do not load the trusted \s-1CA\s0 certificates from the default file location. +.IP "\fB\-no\-CApath\fR" 4 +.IX Item "-no-CApath" +Do not load the trusted \s-1CA\s0 certificates from the default directory location. +.IP "\fB\-CSP name\fR" 4 +.IX Item "-CSP name" +Write \fBname\fR as a Microsoft \s-1CSP\s0 name. +.SH "NOTES" +.IX Header "NOTES" +Although there are a large number of options most of them are very rarely +used. For PKCS#12 file parsing only \fB\-in\fR and \fB\-out\fR need to be used +for PKCS#12 file creation \fB\-export\fR and \fB\-name\fR are also used. +.PP +If none of the \fB\-clcerts\fR, \fB\-cacerts\fR or \fB\-nocerts\fR options are present +then all certificates will be output in the order they appear in the input +PKCS#12 files. There is no guarantee that the first certificate present is +the one corresponding to the private key. Certain software which requires +a private key and certificate and assumes the first certificate in the +file is the one corresponding to the private key: this may not always +be the case. Using the \fB\-clcerts\fR option will solve this problem by only +outputting the certificate corresponding to the private key. If the \s-1CA\s0 +certificates are required then they can be output to a separate file using +the \fB\-nokeys \-cacerts\fR options to just output \s-1CA\s0 certificates. +.PP +The \fB\-keypbe\fR and \fB\-certpbe\fR algorithms allow the precise encryption +algorithms for private keys and certificates to be specified. Normally +the defaults are fine but occasionally software can't handle triple \s-1DES\s0 +encrypted private keys, then the option \fB\-keypbe \s-1PBE\-SHA1\-RC2\-40\s0\fR can +be used to reduce the private key encryption to 40 bit \s-1RC2\s0. A complete +description of all algorithms is contained in the \fBpkcs8\fR manual page. +.PP +Prior 1.1 release passwords containing non-ASCII characters were encoded +in non-compliant manner, which limited interoperability, in first hand +with Windows. But switching to standard-compliant password encoding +poses problem accessing old data protected with broken encoding. For +this reason even legacy encodings is attempted when reading the +data. If you use PKCS#12 files in production application you are advised +to convert the data, because implemented heuristic approach is not +MT-safe, its sole goal is to facilitate the data upgrade with this +utility. +.SH "EXAMPLES" +.IX Header "EXAMPLES" +Parse a PKCS#12 file and output it to a file: +.PP +.Vb 1 +\& openssl pkcs12 \-in file.p12 \-out file.pem +.Ve +.PP +Output only client certificates to a file: +.PP +.Vb 1 +\& openssl pkcs12 \-in file.p12 \-clcerts \-out file.pem +.Ve +.PP +Don't encrypt the private key: +.PP +.Vb 1 +\& openssl pkcs12 \-in file.p12 \-out file.pem \-nodes +.Ve +.PP +Print some info about a PKCS#12 file: +.PP +.Vb 1 +\& openssl pkcs12 \-in file.p12 \-info \-noout +.Ve +.PP +Create a PKCS#12 file: +.PP +.Vb 1 +\& openssl pkcs12 \-export \-in file.pem \-out file.p12 \-name "My Certificate" +.Ve +.PP +Include some extra certificates: +.PP +.Vb 2 +\& openssl pkcs12 \-export \-in file.pem \-out file.p12 \-name "My Certificate" \e +\& \-certfile othercerts.pem +.Ve +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIpkcs8\fR\|(1) +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man1/pkcs7.1 b/linux_amd64/share/man/man1/pkcs7.1 new file mode 100644 index 0000000..82dcdb0 --- /dev/null +++ b/linux_amd64/share/man/man1/pkcs7.1 @@ -0,0 +1,233 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "PKCS7 1" +.TH PKCS7 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +openssl\-pkcs7, pkcs7 \- PKCS#7 utility +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBopenssl\fR \fBpkcs7\fR +[\fB\-help\fR] +[\fB\-inform PEM|DER\fR] +[\fB\-outform PEM|DER\fR] +[\fB\-in filename\fR] +[\fB\-out filename\fR] +[\fB\-print_certs\fR] +[\fB\-text\fR] +[\fB\-noout\fR] +[\fB\-engine id\fR] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The \fBpkcs7\fR command processes PKCS#7 files in \s-1DER\s0 or \s-1PEM\s0 format. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-help\fR" 4 +.IX Item "-help" +Print out a usage message. +.IP "\fB\-inform DER|PEM\fR" 4 +.IX Item "-inform DER|PEM" +This specifies the input format. \fB\s-1DER\s0\fR format is \s-1DER\s0 encoded PKCS#7 +v1.5 structure.\fB\s-1PEM\s0\fR (the default) is a base64 encoded version of +the \s-1DER\s0 form with header and footer lines. +.IP "\fB\-outform DER|PEM\fR" 4 +.IX Item "-outform DER|PEM" +This specifies the output format, the options have the same meaning and default +as the \fB\-inform\fR option. +.IP "\fB\-in filename\fR" 4 +.IX Item "-in filename" +This specifies the input filename to read from or standard input if this +option is not specified. +.IP "\fB\-out filename\fR" 4 +.IX Item "-out filename" +Specifies the output filename to write to or standard output by +default. +.IP "\fB\-print_certs\fR" 4 +.IX Item "-print_certs" +Prints out any certificates or CRLs contained in the file. They are +preceded by their subject and issuer names in one line format. +.IP "\fB\-text\fR" 4 +.IX Item "-text" +Prints out certificates details in full rather than just subject and +issuer names. +.IP "\fB\-noout\fR" 4 +.IX Item "-noout" +Don't output the encoded version of the PKCS#7 structure (or certificates +is \fB\-print_certs\fR is set). +.IP "\fB\-engine id\fR" 4 +.IX Item "-engine id" +Specifying an engine (by its unique \fBid\fR string) will cause \fBpkcs7\fR +to attempt to obtain a functional reference to the specified engine, +thus initialising it if needed. The engine will then be set as the default +for all available algorithms. +.SH "EXAMPLES" +.IX Header "EXAMPLES" +Convert a PKCS#7 file from \s-1PEM\s0 to \s-1DER:\s0 +.PP +.Vb 1 +\& openssl pkcs7 \-in file.pem \-outform DER \-out file.der +.Ve +.PP +Output all certificates in a file: +.PP +.Vb 1 +\& openssl pkcs7 \-in file.pem \-print_certs \-out certs.pem +.Ve +.SH "NOTES" +.IX Header "NOTES" +The \s-1PEM\s0 PKCS#7 format uses the header and footer lines: +.PP +.Vb 2 +\& \-\-\-\-\-BEGIN PKCS7\-\-\-\-\- +\& \-\-\-\-\-END PKCS7\-\-\-\-\- +.Ve +.PP +For compatibility with some CAs it will also accept: +.PP +.Vb 2 +\& \-\-\-\-\-BEGIN CERTIFICATE\-\-\-\-\- +\& \-\-\-\-\-END CERTIFICATE\-\-\-\-\- +.Ve +.SH "RESTRICTIONS" +.IX Header "RESTRICTIONS" +There is no option to print out all the fields of a PKCS#7 file. +.PP +This PKCS#7 routines only understand PKCS#7 v 1.5 as specified in \s-1RFC2315\s0 they +cannot currently parse, for example, the new \s-1CMS\s0 as described in \s-1RFC2630\s0. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIcrl2pkcs7\fR\|(1) +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2000\-2017 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man1/pkcs8.1 b/linux_amd64/share/man/man1/pkcs8.1 new file mode 100644 index 0000000..bf2a9c1 --- /dev/null +++ b/linux_amd64/share/man/man1/pkcs8.1 @@ -0,0 +1,425 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "PKCS8 1" +.TH PKCS8 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +openssl\-pkcs8, pkcs8 \- PKCS#8 format private key conversion tool +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBopenssl\fR \fBpkcs8\fR +[\fB\-help\fR] +[\fB\-topk8\fR] +[\fB\-inform PEM|DER\fR] +[\fB\-outform PEM|DER\fR] +[\fB\-in filename\fR] +[\fB\-passin arg\fR] +[\fB\-out filename\fR] +[\fB\-passout arg\fR] +[\fB\-iter count\fR] +[\fB\-noiter\fR] +[\fB\-rand file...\fR] +[\fB\-writerand file\fR] +[\fB\-nocrypt\fR] +[\fB\-traditional\fR] +[\fB\-v2 alg\fR] +[\fB\-v2prf alg\fR] +[\fB\-v1 alg\fR] +[\fB\-engine id\fR] +[\fB\-scrypt\fR] +[\fB\-scrypt_N N\fR] +[\fB\-scrypt_r r\fR] +[\fB\-scrypt_p p\fR] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The \fBpkcs8\fR command processes private keys in PKCS#8 format. It can handle +both unencrypted PKCS#8 PrivateKeyInfo format and EncryptedPrivateKeyInfo +format with a variety of PKCS#5 (v1.5 and v2.0) and PKCS#12 algorithms. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-help\fR" 4 +.IX Item "-help" +Print out a usage message. +.IP "\fB\-topk8\fR" 4 +.IX Item "-topk8" +Normally a PKCS#8 private key is expected on input and a private key will be +written to the output file. With the \fB\-topk8\fR option the situation is +reversed: it reads a private key and writes a PKCS#8 format key. +.IP "\fB\-inform DER|PEM\fR" 4 +.IX Item "-inform DER|PEM" +This specifies the input format: see \*(L"\s-1KEY\s0 \s-1FORMATS\s0\*(R" for more details. The default +format is \s-1PEM\s0. +.IP "\fB\-outform DER|PEM\fR" 4 +.IX Item "-outform DER|PEM" +This specifies the output format: see \*(L"\s-1KEY\s0 \s-1FORMATS\s0\*(R" for more details. The default +format is \s-1PEM\s0. +.IP "\fB\-traditional\fR" 4 +.IX Item "-traditional" +When this option is present and \fB\-topk8\fR is not a traditional format private +key is written. +.IP "\fB\-in filename\fR" 4 +.IX Item "-in filename" +This specifies the input filename to read a key from or standard input if this +option is not specified. If the key is encrypted a pass phrase will be +prompted for. +.IP "\fB\-passin arg\fR" 4 +.IX Item "-passin arg" +The input file password source. For more information about the format of \fBarg\fR +see the \fB\s-1PASS\s0 \s-1PHRASE\s0 \s-1ARGUMENTS\s0\fR section in \fIopenssl\fR\|(1). +.IP "\fB\-out filename\fR" 4 +.IX Item "-out filename" +This specifies the output filename to write a key to or standard output by +default. If any encryption options are set then a pass phrase will be +prompted for. The output filename should \fBnot\fR be the same as the input +filename. +.IP "\fB\-passout arg\fR" 4 +.IX Item "-passout arg" +The output file password source. For more information about the format of \fBarg\fR +see the \fB\s-1PASS\s0 \s-1PHRASE\s0 \s-1ARGUMENTS\s0\fR section in \fIopenssl\fR\|(1). +.IP "\fB\-iter count\fR" 4 +.IX Item "-iter count" +When creating new PKCS#8 containers, use a given number of iterations on +the password in deriving the encryption key for the PKCS#8 output. +High values increase the time required to brute-force a PKCS#8 container. +.IP "\fB\-nocrypt\fR" 4 +.IX Item "-nocrypt" +PKCS#8 keys generated or input are normally PKCS#8 EncryptedPrivateKeyInfo +structures using an appropriate password based encryption algorithm. With +this option an unencrypted PrivateKeyInfo structure is expected or output. +This option does not encrypt private keys at all and should only be used +when absolutely necessary. Certain software such as some versions of Java +code signing software used unencrypted private keys. +.IP "\fB\-rand file...\fR" 4 +.IX Item "-rand file..." +A file or files containing random data used to seed the random number +generator. +Multiple files can be specified separated by an OS-dependent character. +The separator is \fB;\fR for MS-Windows, \fB,\fR for OpenVMS, and \fB:\fR for +all others. +.IP "[\fB\-writerand file\fR]" 4 +.IX Item "[-writerand file]" +Writes random data to the specified \fIfile\fR upon exit. +This can be used with a subsequent \fB\-rand\fR flag. +.IP "\fB\-v2 alg\fR" 4 +.IX Item "-v2 alg" +This option sets the PKCS#5 v2.0 algorithm. +.Sp +The \fBalg\fR argument is the encryption algorithm to use, valid values include +\&\fBaes128\fR, \fBaes256\fR and \fBdes3\fR. If this option isn't specified then \fBaes256\fR +is used. +.IP "\fB\-v2prf alg\fR" 4 +.IX Item "-v2prf alg" +This option sets the \s-1PRF\s0 algorithm to use with PKCS#5 v2.0. A typical value +value would be \fBhmacWithSHA256\fR. If this option isn't set then the default +for the cipher is used or \fBhmacWithSHA256\fR if there is no default. +.Sp +Some implementations may not support custom \s-1PRF\s0 algorithms and may require +the \fBhmacWithSHA1\fR option to work. +.IP "\fB\-v1 alg\fR" 4 +.IX Item "-v1 alg" +This option indicates a PKCS#5 v1.5 or PKCS#12 algorithm should be used. Some +older implementations may not support PKCS#5 v2.0 and may require this option. +If not specified PKCS#5 v2.0 form is used. +.IP "\fB\-engine id\fR" 4 +.IX Item "-engine id" +Specifying an engine (by its unique \fBid\fR string) will cause \fBpkcs8\fR +to attempt to obtain a functional reference to the specified engine, +thus initialising it if needed. The engine will then be set as the default +for all available algorithms. +.IP "\fB\-scrypt\fR" 4 +.IX Item "-scrypt" +Uses the \fBscrypt\fR algorithm for private key encryption using default +parameters: currently N=16384, r=8 and p=1 and \s-1AES\s0 in \s-1CBC\s0 mode with a 256 bit +key. These parameters can be modified using the \fB\-scrypt_N\fR, \fB\-scrypt_r\fR, +\&\fB\-scrypt_p\fR and \fB\-v2\fR options. +.IP "\fB\-scrypt_N N\fR \fB\-scrypt_r r\fR \fB\-scrypt_p p\fR" 4 +.IX Item "-scrypt_N N -scrypt_r r -scrypt_p p" +Sets the scrypt \fBN\fR, \fBr\fR or \fBp\fR parameters. +.SH "KEY FORMATS" +.IX Header "KEY FORMATS" +Various different formats are used by the pkcs8 utility. These are detailed +below. +.PP +If a key is being converted from PKCS#8 form (i.e. the \fB\-topk8\fR option is +not used) then the input file must be in PKCS#8 format. An encrypted +key is expected unless \fB\-nocrypt\fR is included. +.PP +If \fB\-topk8\fR is not used and \fB\s-1PEM\s0\fR mode is set the output file will be an +unencrypted private key in PKCS#8 format. If the \fB\-traditional\fR option is +used then a traditional format private key is written instead. +.PP +If \fB\-topk8\fR is not used and \fB\s-1DER\s0\fR mode is set the output file will be an +unencrypted private key in traditional \s-1DER\s0 format. +.PP +If \fB\-topk8\fR is used then any supported private key can be used for the input +file in a format specified by \fB\-inform\fR. The output file will be encrypted +PKCS#8 format using the specified encryption parameters unless \fB\-nocrypt\fR +is included. +.SH "NOTES" +.IX Header "NOTES" +By default, when converting a key to PKCS#8 format, PKCS#5 v2.0 using 256 bit +\&\s-1AES\s0 with \s-1HMAC\s0 and \s-1SHA256\s0 is used. +.PP +Some older implementations do not support PKCS#5 v2.0 format and require +the older PKCS#5 v1.5 form instead, possibly also requiring insecure weak +encryption algorithms such as 56 bit \s-1DES\s0. +.PP +The encrypted form of a \s-1PEM\s0 encode PKCS#8 files uses the following +headers and footers: +.PP +.Vb 2 +\& \-\-\-\-\-BEGIN ENCRYPTED PRIVATE KEY\-\-\-\-\- +\& \-\-\-\-\-END ENCRYPTED PRIVATE KEY\-\-\-\-\- +.Ve +.PP +The unencrypted form uses: +.PP +.Vb 2 +\& \-\-\-\-\-BEGIN PRIVATE KEY\-\-\-\-\- +\& \-\-\-\-\-END PRIVATE KEY\-\-\-\-\- +.Ve +.PP +Private keys encrypted using PKCS#5 v2.0 algorithms and high iteration +counts are more secure that those encrypted using the traditional +SSLeay compatible formats. So if additional security is considered +important the keys should be converted. +.PP +It is possible to write out \s-1DER\s0 encoded encrypted private keys in +PKCS#8 format because the encryption details are included at an \s-1ASN1\s0 +level whereas the traditional format includes them at a \s-1PEM\s0 level. +.SH "PKCS#5 v1.5 and PKCS#12 algorithms." +.IX Header "PKCS#5 v1.5 and PKCS#12 algorithms." +Various algorithms can be used with the \fB\-v1\fR command line option, +including PKCS#5 v1.5 and PKCS#12. These are described in more detail +below. +.IP "\fB\s-1PBE\-MD2\-DES\s0 \s-1PBE\-MD5\-DES\s0\fR" 4 +.IX Item "PBE-MD2-DES PBE-MD5-DES" +These algorithms were included in the original PKCS#5 v1.5 specification. +They only offer 56 bits of protection since they both use \s-1DES\s0. +.IP "\fB\s-1PBE\-SHA1\-RC2\-64\s0\fR, \fB\s-1PBE\-MD2\-RC2\-64\s0\fR, \fB\s-1PBE\-MD5\-RC2\-64\s0\fR, \fB\s-1PBE\-SHA1\-DES\s0\fR" 4 +.IX Item "PBE-SHA1-RC2-64, PBE-MD2-RC2-64, PBE-MD5-RC2-64, PBE-SHA1-DES" +These algorithms are not mentioned in the original PKCS#5 v1.5 specification +but they use the same key derivation algorithm and are supported by some +software. They are mentioned in PKCS#5 v2.0. They use either 64 bit \s-1RC2\s0 or +56 bit \s-1DES\s0. +.IP "\fB\s-1PBE\-SHA1\-RC4\-128\s0\fR, \fB\s-1PBE\-SHA1\-RC4\-40\s0\fR, \fB\s-1PBE\-SHA1\-3DES\s0\fR, \fB\s-1PBE\-SHA1\-2DES\s0\fR, \fB\s-1PBE\-SHA1\-RC2\-128\s0\fR, \fB\s-1PBE\-SHA1\-RC2\-40\s0\fR" 4 +.IX Item "PBE-SHA1-RC4-128, PBE-SHA1-RC4-40, PBE-SHA1-3DES, PBE-SHA1-2DES, PBE-SHA1-RC2-128, PBE-SHA1-RC2-40" +These algorithms use the PKCS#12 password based encryption algorithm and +allow strong encryption algorithms like triple \s-1DES\s0 or 128 bit \s-1RC2\s0 to be used. +.SH "EXAMPLES" +.IX Header "EXAMPLES" +Convert a private key to PKCS#8 format using default parameters (\s-1AES\s0 with +256 bit key and \fBhmacWithSHA256\fR): +.PP +.Vb 1 +\& openssl pkcs8 \-in key.pem \-topk8 \-out enckey.pem +.Ve +.PP +Convert a private key to PKCS#8 unencrypted format: +.PP +.Vb 1 +\& openssl pkcs8 \-in key.pem \-topk8 \-nocrypt \-out enckey.pem +.Ve +.PP +Convert a private key to PKCS#5 v2.0 format using triple \s-1DES:\s0 +.PP +.Vb 1 +\& openssl pkcs8 \-in key.pem \-topk8 \-v2 des3 \-out enckey.pem +.Ve +.PP +Convert a private key to PKCS#5 v2.0 format using \s-1AES\s0 with 256 bits in \s-1CBC\s0 +mode and \fBhmacWithSHA512\fR \s-1PRF:\s0 +.PP +.Vb 1 +\& openssl pkcs8 \-in key.pem \-topk8 \-v2 aes\-256\-cbc \-v2prf hmacWithSHA512 \-out enckey.pem +.Ve +.PP +Convert a private key to PKCS#8 using a PKCS#5 1.5 compatible algorithm +(\s-1DES\s0): +.PP +.Vb 1 +\& openssl pkcs8 \-in key.pem \-topk8 \-v1 PBE\-MD5\-DES \-out enckey.pem +.Ve +.PP +Convert a private key to PKCS#8 using a PKCS#12 compatible algorithm +(3DES): +.PP +.Vb 1 +\& openssl pkcs8 \-in key.pem \-topk8 \-out enckey.pem \-v1 PBE\-SHA1\-3DES +.Ve +.PP +Read a \s-1DER\s0 unencrypted PKCS#8 format private key: +.PP +.Vb 1 +\& openssl pkcs8 \-inform DER \-nocrypt \-in key.der \-out key.pem +.Ve +.PP +Convert a private key from any PKCS#8 encrypted format to traditional format: +.PP +.Vb 1 +\& openssl pkcs8 \-in pk8.pem \-traditional \-out key.pem +.Ve +.PP +Convert a private key to PKCS#8 format, encrypting with \s-1AES\-256\s0 and with +one million iterations of the password: +.PP +.Vb 1 +\& openssl pkcs8 \-in key.pem \-topk8 \-v2 aes\-256\-cbc \-iter 1000000 \-out pk8.pem +.Ve +.SH "STANDARDS" +.IX Header "STANDARDS" +Test vectors from this PKCS#5 v2.0 implementation were posted to the +pkcs-tng mailing list using triple \s-1DES\s0, \s-1DES\s0 and \s-1RC2\s0 with high iteration +counts, several people confirmed that they could decrypt the private +keys produced and Therefore it can be assumed that the PKCS#5 v2.0 +implementation is reasonably accurate at least as far as these +algorithms are concerned. +.PP +The format of PKCS#8 \s-1DSA\s0 (and other) private keys is not well documented: +it is hidden away in PKCS#11 v2.01, section 11.9. OpenSSL's default \s-1DSA\s0 +PKCS#8 private key format complies with this standard. +.SH "BUGS" +.IX Header "BUGS" +There should be an option that prints out the encryption algorithm +in use and other details such as the iteration count. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIdsa\fR\|(1), \fIrsa\fR\|(1), \fIgenrsa\fR\|(1), +\&\fIgendsa\fR\|(1) +.SH "HISTORY" +.IX Header "HISTORY" +The \fB\-iter\fR option was added in OpenSSL 1.1.0. +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man1/pkey.1 b/linux_amd64/share/man/man1/pkey.1 new file mode 100644 index 0000000..6e37028 --- /dev/null +++ b/linux_amd64/share/man/man1/pkey.1 @@ -0,0 +1,279 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "PKEY 1" +.TH PKEY 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +openssl\-pkey, pkey \- public or private key processing tool +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBopenssl\fR \fBpkey\fR +[\fB\-help\fR] +[\fB\-inform PEM|DER\fR] +[\fB\-outform PEM|DER\fR] +[\fB\-in filename\fR] +[\fB\-passin arg\fR] +[\fB\-out filename\fR] +[\fB\-passout arg\fR] +[\fB\-traditional\fR] +[\fB\-\f(BIcipher\fB\fR] +[\fB\-text\fR] +[\fB\-text_pub\fR] +[\fB\-noout\fR] +[\fB\-pubin\fR] +[\fB\-pubout\fR] +[\fB\-engine id\fR] +[\fB\-check\fR] +[\fB\-pubcheck\fR] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The \fBpkey\fR command processes public or private keys. They can be converted +between various forms and their components printed out. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-help\fR" 4 +.IX Item "-help" +Print out a usage message. +.IP "\fB\-inform DER|PEM\fR" 4 +.IX Item "-inform DER|PEM" +This specifies the input format \s-1DER\s0 or \s-1PEM\s0. The default format is \s-1PEM\s0. +.IP "\fB\-outform DER|PEM\fR" 4 +.IX Item "-outform DER|PEM" +This specifies the output format, the options have the same meaning and default +as the \fB\-inform\fR option. +.IP "\fB\-in filename\fR" 4 +.IX Item "-in filename" +This specifies the input filename to read a key from or standard input if this +option is not specified. If the key is encrypted a pass phrase will be +prompted for. +.IP "\fB\-passin arg\fR" 4 +.IX Item "-passin arg" +The input file password source. For more information about the format of \fBarg\fR +see the \fB\s-1PASS\s0 \s-1PHRASE\s0 \s-1ARGUMENTS\s0\fR section in \fIopenssl\fR\|(1). +.IP "\fB\-out filename\fR" 4 +.IX Item "-out filename" +This specifies the output filename to write a key to or standard output if this +option is not specified. If any encryption options are set then a pass phrase +will be prompted for. The output filename should \fBnot\fR be the same as the input +filename. +.IP "\fB\-passout password\fR" 4 +.IX Item "-passout password" +The output file password source. For more information about the format of \fBarg\fR +see the \fB\s-1PASS\s0 \s-1PHRASE\s0 \s-1ARGUMENTS\s0\fR section in \fIopenssl\fR\|(1). +.IP "\fB\-traditional\fR" 4 +.IX Item "-traditional" +Normally a private key is written using standard format: this is PKCS#8 form +with the appropriate encryption algorithm (if any). If the \fB\-traditional\fR +option is specified then the older \*(L"traditional\*(R" format is used instead. +.IP "\fB\-\f(BIcipher\fB\fR" 4 +.IX Item "-cipher" +These options encrypt the private key with the supplied cipher. Any algorithm +name accepted by \fIEVP_get_cipherbyname()\fR is acceptable such as \fBdes3\fR. +.IP "\fB\-text\fR" 4 +.IX Item "-text" +Prints out the various public or private key components in +plain text in addition to the encoded version. +.IP "\fB\-text_pub\fR" 4 +.IX Item "-text_pub" +Print out only public key components even if a private key is being processed. +.IP "\fB\-noout\fR" 4 +.IX Item "-noout" +Do not output the encoded version of the key. +.IP "\fB\-pubin\fR" 4 +.IX Item "-pubin" +By default a private key is read from the input file: with this +option a public key is read instead. +.IP "\fB\-pubout\fR" 4 +.IX Item "-pubout" +By default a private key is output: with this option a public +key will be output instead. This option is automatically set if +the input is a public key. +.IP "\fB\-engine id\fR" 4 +.IX Item "-engine id" +Specifying an engine (by its unique \fBid\fR string) will cause \fBpkey\fR +to attempt to obtain a functional reference to the specified engine, +thus initialising it if needed. The engine will then be set as the default +for all available algorithms. +.IP "\fB\-check\fR" 4 +.IX Item "-check" +This option checks the consistency of a key pair for both public and private +components. +.IP "\fB\-pubcheck\fR" 4 +.IX Item "-pubcheck" +This option checks the correctness of either a public key or the public component +of a key pair. +.SH "EXAMPLES" +.IX Header "EXAMPLES" +To remove the pass phrase on an \s-1RSA\s0 private key: +.PP +.Vb 1 +\& openssl pkey \-in key.pem \-out keyout.pem +.Ve +.PP +To encrypt a private key using triple \s-1DES:\s0 +.PP +.Vb 1 +\& openssl pkey \-in key.pem \-des3 \-out keyout.pem +.Ve +.PP +To convert a private key from \s-1PEM\s0 to \s-1DER\s0 format: +.PP +.Vb 1 +\& openssl pkey \-in key.pem \-outform DER \-out keyout.der +.Ve +.PP +To print out the components of a private key to standard output: +.PP +.Vb 1 +\& openssl pkey \-in key.pem \-text \-noout +.Ve +.PP +To print out the public components of a private key to standard output: +.PP +.Vb 1 +\& openssl pkey \-in key.pem \-text_pub \-noout +.Ve +.PP +To just output the public part of a private key: +.PP +.Vb 1 +\& openssl pkey \-in key.pem \-pubout \-out pubkey.pem +.Ve +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIgenpkey\fR\|(1), \fIrsa\fR\|(1), \fIpkcs8\fR\|(1), +\&\fIdsa\fR\|(1), \fIgenrsa\fR\|(1), \fIgendsa\fR\|(1) +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2006\-2017 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man1/pkeyparam.1 b/linux_amd64/share/man/man1/pkeyparam.1 new file mode 100644 index 0000000..efc1d02 --- /dev/null +++ b/linux_amd64/share/man/man1/pkeyparam.1 @@ -0,0 +1,198 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "PKEYPARAM 1" +.TH PKEYPARAM 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +openssl\-pkeyparam, pkeyparam \- public key algorithm parameter processing tool +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBopenssl\fR \fBpkeyparam\fR +[\fB\-help\fR] +[\fB\-in filename\fR] +[\fB\-out filename\fR] +[\fB\-text\fR] +[\fB\-noout\fR] +[\fB\-engine id\fR] +[\fB\-check\fR] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The \fBpkeyparam\fR command processes public key algorithm parameters. +They can be checked for correctness and their components printed out. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-help\fR" 4 +.IX Item "-help" +Print out a usage message. +.IP "\fB\-in filename\fR" 4 +.IX Item "-in filename" +This specifies the input filename to read parameters from or standard input if +this option is not specified. +.IP "\fB\-out filename\fR" 4 +.IX Item "-out filename" +This specifies the output filename to write parameters to or standard output if +this option is not specified. +.IP "\fB\-text\fR" 4 +.IX Item "-text" +Prints out the parameters in plain text in addition to the encoded version. +.IP "\fB\-noout\fR" 4 +.IX Item "-noout" +Do not output the encoded version of the parameters. +.IP "\fB\-engine id\fR" 4 +.IX Item "-engine id" +Specifying an engine (by its unique \fBid\fR string) will cause \fBpkeyparam\fR +to attempt to obtain a functional reference to the specified engine, +thus initialising it if needed. The engine will then be set as the default +for all available algorithms. +.IP "\fB\-check\fR" 4 +.IX Item "-check" +This option checks the correctness of parameters. +.SH "EXAMPLES" +.IX Header "EXAMPLES" +Print out text version of parameters: +.PP +.Vb 1 +\& openssl pkeyparam \-in param.pem \-text +.Ve +.SH "NOTES" +.IX Header "NOTES" +There are no \fB\-inform\fR or \fB\-outform\fR options for this command because only +\&\s-1PEM\s0 format is supported because the key type is determined by the \s-1PEM\s0 headers. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIgenpkey\fR\|(1), \fIrsa\fR\|(1), \fIpkcs8\fR\|(1), +\&\fIdsa\fR\|(1), \fIgenrsa\fR\|(1), \fIgendsa\fR\|(1) +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2006\-2019 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man1/pkeyutl.1 b/linux_amd64/share/man/man1/pkeyutl.1 new file mode 100644 index 0000000..908ef51 --- /dev/null +++ b/linux_amd64/share/man/man1/pkeyutl.1 @@ -0,0 +1,419 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "PKEYUTL 1" +.TH PKEYUTL 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +openssl\-pkeyutl, pkeyutl \- public key algorithm utility +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBopenssl\fR \fBpkeyutl\fR +[\fB\-help\fR] +[\fB\-in file\fR] +[\fB\-out file\fR] +[\fB\-sigfile file\fR] +[\fB\-inkey file\fR] +[\fB\-keyform PEM|DER|ENGINE\fR] +[\fB\-passin arg\fR] +[\fB\-peerkey file\fR] +[\fB\-peerform PEM|DER|ENGINE\fR] +[\fB\-pubin\fR] +[\fB\-certin\fR] +[\fB\-rev\fR] +[\fB\-sign\fR] +[\fB\-verify\fR] +[\fB\-verifyrecover\fR] +[\fB\-encrypt\fR] +[\fB\-decrypt\fR] +[\fB\-derive\fR] +[\fB\-kdf algorithm\fR] +[\fB\-kdflen length\fR] +[\fB\-pkeyopt opt:value\fR] +[\fB\-hexdump\fR] +[\fB\-asn1parse\fR] +[\fB\-rand file...\fR] +[\fB\-writerand file\fR] +[\fB\-engine id\fR] +[\fB\-engine_impl\fR] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The \fBpkeyutl\fR command can be used to perform low level public key operations +using any supported algorithm. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-help\fR" 4 +.IX Item "-help" +Print out a usage message. +.IP "\fB\-in filename\fR" 4 +.IX Item "-in filename" +This specifies the input filename to read data from or standard input +if this option is not specified. +.IP "\fB\-out filename\fR" 4 +.IX Item "-out filename" +Specifies the output filename to write to or standard output by +default. +.IP "\fB\-sigfile file\fR" 4 +.IX Item "-sigfile file" +Signature file, required for \fBverify\fR operations only +.IP "\fB\-inkey file\fR" 4 +.IX Item "-inkey file" +The input key file, by default it should be a private key. +.IP "\fB\-keyform PEM|DER|ENGINE\fR" 4 +.IX Item "-keyform PEM|DER|ENGINE" +The key format \s-1PEM\s0, \s-1DER\s0 or \s-1ENGINE\s0. Default is \s-1PEM\s0. +.IP "\fB\-passin arg\fR" 4 +.IX Item "-passin arg" +The input key password source. For more information about the format of \fBarg\fR +see the \fB\s-1PASS\s0 \s-1PHRASE\s0 \s-1ARGUMENTS\s0\fR section in \fIopenssl\fR\|(1). +.IP "\fB\-peerkey file\fR" 4 +.IX Item "-peerkey file" +The peer key file, used by key derivation (agreement) operations. +.IP "\fB\-peerform PEM|DER|ENGINE\fR" 4 +.IX Item "-peerform PEM|DER|ENGINE" +The peer key format \s-1PEM\s0, \s-1DER\s0 or \s-1ENGINE\s0. Default is \s-1PEM\s0. +.IP "\fB\-pubin\fR" 4 +.IX Item "-pubin" +The input file is a public key. +.IP "\fB\-certin\fR" 4 +.IX Item "-certin" +The input is a certificate containing a public key. +.IP "\fB\-rev\fR" 4 +.IX Item "-rev" +Reverse the order of the input buffer. This is useful for some libraries +(such as CryptoAPI) which represent the buffer in little endian format. +.IP "\fB\-sign\fR" 4 +.IX Item "-sign" +Sign the input data (which must be a hash) and output the signed result. This +requires a private key. +.IP "\fB\-verify\fR" 4 +.IX Item "-verify" +Verify the input data (which must be a hash) against the signature file and +indicate if the verification succeeded or failed. +.IP "\fB\-verifyrecover\fR" 4 +.IX Item "-verifyrecover" +Verify the input data (which must be a hash) and output the recovered data. +.IP "\fB\-encrypt\fR" 4 +.IX Item "-encrypt" +Encrypt the input data using a public key. +.IP "\fB\-decrypt\fR" 4 +.IX Item "-decrypt" +Decrypt the input data using a private key. +.IP "\fB\-derive\fR" 4 +.IX Item "-derive" +Derive a shared secret using the peer key. +.IP "\fB\-kdf algorithm\fR" 4 +.IX Item "-kdf algorithm" +Use key derivation function \fBalgorithm\fR. The supported algorithms are +at present \fB\s-1TLS1\-PRF\s0\fR and \fB\s-1HKDF\s0\fR. +Note: additional parameters and the \s-1KDF\s0 output length will normally have to be +set for this to work. +See \fIEVP_PKEY_CTX_set_hkdf_md\fR\|(3) and \fIEVP_PKEY_CTX_set_tls1_prf_md\fR\|(3) +for the supported string parameters of each algorithm. +.IP "\fB\-kdflen length\fR" 4 +.IX Item "-kdflen length" +Set the output length for \s-1KDF\s0. +.IP "\fB\-pkeyopt opt:value\fR" 4 +.IX Item "-pkeyopt opt:value" +Public key options specified as opt:value. See \s-1NOTES\s0 below for more details. +.IP "\fB\-hexdump\fR" 4 +.IX Item "-hexdump" +hex dump the output data. +.IP "\fB\-asn1parse\fR" 4 +.IX Item "-asn1parse" +Parse the \s-1ASN\s0.1 output data, this is useful when combined with the +\&\fB\-verifyrecover\fR option when an \s-1ASN1\s0 structure is signed. +.IP "\fB\-rand file...\fR" 4 +.IX Item "-rand file..." +A file or files containing random data used to seed the random number +generator. +Multiple files can be specified separated by an OS-dependent character. +The separator is \fB;\fR for MS-Windows, \fB,\fR for OpenVMS, and \fB:\fR for +all others. +.IP "[\fB\-writerand file\fR]" 4 +.IX Item "[-writerand file]" +Writes random data to the specified \fIfile\fR upon exit. +This can be used with a subsequent \fB\-rand\fR flag. +.IP "\fB\-engine id\fR" 4 +.IX Item "-engine id" +Specifying an engine (by its unique \fBid\fR string) will cause \fBpkeyutl\fR +to attempt to obtain a functional reference to the specified engine, +thus initialising it if needed. The engine will then be set as the default +for all available algorithms. +.IP "\fB\-engine_impl\fR" 4 +.IX Item "-engine_impl" +When used with the \fB\-engine\fR option, it specifies to also use +engine \fBid\fR for crypto operations. +.SH "NOTES" +.IX Header "NOTES" +The operations and options supported vary according to the key algorithm +and its implementation. The OpenSSL operations and options are indicated below. +.PP +Unless otherwise mentioned all algorithms support the \fBdigest:alg\fR option +which specifies the digest in use for sign, verify and verifyrecover operations. +The value \fBalg\fR should represent a digest name as used in the +\&\fIEVP_get_digestbyname()\fR function for example \fBsha1\fR. This value is not used to +hash the input data. It is used (by some algorithms) for sanity-checking the +lengths of data passed in to the \fBpkeyutl\fR and for creating the structures that +make up the signature (e.g. \fBDigestInfo\fR in \s-1RSASSA\s0 PKCS#1 v1.5 signatures). +.PP +This utility does not hash the input data but rather it will use the data +directly as input to the signature algorithm. Depending on the key type, +signature type, and mode of padding, the maximum acceptable lengths of input +data differ. The signed data can't be longer than the key modulus with \s-1RSA\s0. In +case of \s-1ECDSA\s0 and \s-1DSA\s0 the data shouldn't be longer than the field +size, otherwise it will be silently truncated to the field size. In any event +the input size must not be larger than the largest supported digest size. +.PP +In other words, if the value of digest is \fBsha1\fR the input should be the 20 +bytes long binary encoding of the \s-1SHA\-1\s0 hash function output. +.PP +The Ed25519 and Ed448 signature algorithms are not supported by this utility. +They accept non-hashed input, but this utility can only be used to sign hashed +input. +.SH "RSA ALGORITHM" +.IX Header "RSA ALGORITHM" +The \s-1RSA\s0 algorithm generally supports the encrypt, decrypt, sign, +verify and verifyrecover operations. However, some padding modes +support only a subset of these operations. The following additional +\&\fBpkeyopt\fR values are supported: +.IP "\fBrsa_padding_mode:mode\fR" 4 +.IX Item "rsa_padding_mode:mode" +This sets the \s-1RSA\s0 padding mode. Acceptable values for \fBmode\fR are \fBpkcs1\fR for +PKCS#1 padding, \fBsslv23\fR for SSLv23 padding, \fBnone\fR for no padding, \fBoaep\fR +for \fB\s-1OAEP\s0\fR mode, \fBx931\fR for X9.31 mode and \fBpss\fR for \s-1PSS\s0. +.Sp +In PKCS#1 padding if the message digest is not set then the supplied data is +signed or verified directly instead of using a \fBDigestInfo\fR structure. If a +digest is set then the a \fBDigestInfo\fR structure is used and its the length +must correspond to the digest type. +.Sp +For \fBoaep\fR mode only encryption and decryption is supported. +.Sp +For \fBx931\fR if the digest type is set it is used to format the block data +otherwise the first byte is used to specify the X9.31 digest \s-1ID\s0. Sign, +verify and verifyrecover are can be performed in this mode. +.Sp +For \fBpss\fR mode only sign and verify are supported and the digest type must be +specified. +.IP "\fBrsa_pss_saltlen:len\fR" 4 +.IX Item "rsa_pss_saltlen:len" +For \fBpss\fR mode only this option specifies the salt length. Three special +values are supported: \*(L"digest\*(R" sets the salt length to the digest length, +\&\*(L"max\*(R" sets the salt length to the maximum permissible value. When verifying +\&\*(L"auto\*(R" causes the salt length to be automatically determined based on the +\&\fB\s-1PSS\s0\fR block structure. +.IP "\fBrsa_mgf1_md:digest\fR" 4 +.IX Item "rsa_mgf1_md:digest" +For \s-1PSS\s0 and \s-1OAEP\s0 padding sets the \s-1MGF1\s0 digest. If the \s-1MGF1\s0 digest is not +explicitly set in \s-1PSS\s0 mode then the signing digest is used. +.SH "RSA-PSS ALGORITHM" +.IX Header "RSA-PSS ALGORITHM" +The RSA-PSS algorithm is a restricted version of the \s-1RSA\s0 algorithm which only +supports the sign and verify operations with \s-1PSS\s0 padding. The following +additional \fBpkeyopt\fR values are supported: +.IP "\fBrsa_padding_mode:mode\fR, \fBrsa_pss_saltlen:len\fR, \fBrsa_mgf1_md:digest\fR" 4 +.IX Item "rsa_padding_mode:mode, rsa_pss_saltlen:len, rsa_mgf1_md:digest" +These have the same meaning as the \fB\s-1RSA\s0\fR algorithm with some additional +restrictions. The padding mode can only be set to \fBpss\fR which is the +default value. +.Sp +If the key has parameter restrictions than the digest, \s-1MGF1\s0 +digest and salt length are set to the values specified in the parameters. +The digest and \s-1MG\s0 cannot be changed and the salt length cannot be set to a +value less than the minimum restriction. +.SH "DSA ALGORITHM" +.IX Header "DSA ALGORITHM" +The \s-1DSA\s0 algorithm supports signing and verification operations only. Currently +there are no additional \fB\-pkeyopt\fR options other than \fBdigest\fR. The \s-1SHA1\s0 +digest is assumed by default. +.SH "DH ALGORITHM" +.IX Header "DH ALGORITHM" +The \s-1DH\s0 algorithm only supports the derivation operation and no additional +\&\fB\-pkeyopt\fR options. +.SH "EC ALGORITHM" +.IX Header "EC ALGORITHM" +The \s-1EC\s0 algorithm supports sign, verify and derive operations. The sign and +verify operations use \s-1ECDSA\s0 and derive uses \s-1ECDH\s0. \s-1SHA1\s0 is assumed by default for +the \fB\-pkeyopt\fR \fBdigest\fR option. +.SH "X25519 and X448 ALGORITHMS" +.IX Header "X25519 and X448 ALGORITHMS" +The X25519 and X448 algorithms support key derivation only. Currently there are +no additional options. +.SH "EXAMPLES" +.IX Header "EXAMPLES" +Sign some data using a private key: +.PP +.Vb 1 +\& openssl pkeyutl \-sign \-in file \-inkey key.pem \-out sig +.Ve +.PP +Recover the signed data (e.g. if an \s-1RSA\s0 key is used): +.PP +.Vb 1 +\& openssl pkeyutl \-verifyrecover \-in sig \-inkey key.pem +.Ve +.PP +Verify the signature (e.g. a \s-1DSA\s0 key): +.PP +.Vb 1 +\& openssl pkeyutl \-verify \-in file \-sigfile sig \-inkey key.pem +.Ve +.PP +Sign data using a message digest value (this is currently only valid for \s-1RSA\s0): +.PP +.Vb 1 +\& openssl pkeyutl \-sign \-in file \-inkey key.pem \-out sig \-pkeyopt digest:sha256 +.Ve +.PP +Derive a shared secret value: +.PP +.Vb 1 +\& openssl pkeyutl \-derive \-inkey key.pem \-peerkey pubkey.pem \-out secret +.Ve +.PP +Hexdump 48 bytes of \s-1TLS1\s0 \s-1PRF\s0 using digest \fB\s-1SHA256\s0\fR and shared secret and +seed consisting of the single byte 0xFF: +.PP +.Vb 2 +\& openssl pkeyutl \-kdf TLS1\-PRF \-kdflen 48 \-pkeyopt md:SHA256 \e +\& \-pkeyopt hexsecret:ff \-pkeyopt hexseed:ff \-hexdump +.Ve +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIgenpkey\fR\|(1), \fIpkey\fR\|(1), \fIrsautl\fR\|(1) +\&\fIdgst\fR\|(1), \fIrsa\fR\|(1), \fIgenrsa\fR\|(1), +\&\fIEVP_PKEY_CTX_set_hkdf_md\fR\|(3), \fIEVP_PKEY_CTX_set_tls1_prf_md\fR\|(3) +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2006\-2019 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man1/prime.1 b/linux_amd64/share/man/man1/prime.1 new file mode 100644 index 0000000..159ad94 --- /dev/null +++ b/linux_amd64/share/man/man1/prime.1 @@ -0,0 +1,180 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "PRIME 1" +.TH PRIME 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +openssl\-prime, prime \- compute prime numbers +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBopenssl prime\fR +[\fB\-help\fR] +[\fB\-hex\fR] +[\fB\-generate\fR] +[\fB\-bits\fR] +[\fB\-safe\fR] +[\fB\-checks\fR] +[\fInumber...\fR] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The \fBprime\fR command checks if the specified numbers are prime. +.PP +If no numbers are given on the command line, the \fB\-generate\fR flag should +be used to generate primes according to the requirements specified by the +rest of the flags. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "[\fB\-help\fR]" 4 +.IX Item "[-help]" +Display an option summary. +.IP "[\fB\-hex\fR]" 4 +.IX Item "[-hex]" +Generate hex output. +.IP "[\fB\-generate\fR]" 4 +.IX Item "[-generate]" +Generate a prime number. +.IP "[\fB\-bits num\fR]" 4 +.IX Item "[-bits num]" +Generate a prime with \fBnum\fR bits. +.IP "[\fB\-safe\fR]" 4 +.IX Item "[-safe]" +When used with \fB\-generate\fR, generates a \*(L"safe\*(R" prime. If the number +generated is \fBn\fR, then check that \fB(n\-1)/2\fR is also prime. +.IP "[\fB\-checks num\fR]" 4 +.IX Item "[-checks num]" +Perform the checks \fBnum\fR times to see that the generated number +is prime. The default is 20. +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man1/rand.1 b/linux_amd64/share/man/man1/rand.1 new file mode 100644 index 0000000..79025b3 --- /dev/null +++ b/linux_amd64/share/man/man1/rand.1 @@ -0,0 +1,187 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "RAND 1" +.TH RAND 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +openssl\-rand, rand \- generate pseudo\-random bytes +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBopenssl rand\fR +[\fB\-help\fR] +[\fB\-out\fR \fIfile\fR] +[\fB\-rand file...\fR] +[\fB\-writerand file\fR] +[\fB\-base64\fR] +[\fB\-hex\fR] +\&\fInum\fR +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The \fBrand\fR command outputs \fInum\fR pseudo-random bytes after seeding +the random number generator once. As in other \fBopenssl\fR command +line tools, \s-1PRNG\s0 seeding uses the file \fI\f(CI$HOME\fI/\fR\fB.rnd\fR or \fB.rnd\fR +in addition to the files given in the \fB\-rand\fR option. A new +\&\fI\f(CI$HOME\fI\fR/\fB.rnd\fR or \fB.rnd\fR file will be written back if enough +seeding was obtained from these sources. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-help\fR" 4 +.IX Item "-help" +Print out a usage message. +.IP "\fB\-out file\fR" 4 +.IX Item "-out file" +Write to \fIfile\fR instead of standard output. +.IP "\fB\-rand file...\fR" 4 +.IX Item "-rand file..." +A file or files containing random data used to seed the random number +generator. +Multiple files can be specified separated by an OS-dependent character. +The separator is \fB;\fR for MS-Windows, \fB,\fR for OpenVMS, and \fB:\fR for +all others. +.IP "[\fB\-writerand file\fR]" 4 +.IX Item "[-writerand file]" +Writes random data to the specified \fIfile\fR upon exit. +This can be used with a subsequent \fB\-rand\fR flag. +.IP "\fB\-base64\fR" 4 +.IX Item "-base64" +Perform base64 encoding on the output. +.IP "\fB\-hex\fR" 4 +.IX Item "-hex" +Show the output as a hex string. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIRAND_bytes\fR\|(3) +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man1/rehash.1 b/linux_amd64/share/man/man1/rehash.1 new file mode 100644 index 0000000..41166c7 --- /dev/null +++ b/linux_amd64/share/man/man1/rehash.1 @@ -0,0 +1,250 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "REHASH 1" +.TH REHASH 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +openssl\-c_rehash, openssl\-rehash, c_rehash, rehash \- Create symbolic links to files named by the hash values +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBopenssl\fR +\&\fBrehash\fR +\&\fB[\-h]\fR +\&\fB[\-help]\fR +\&\fB[\-old]\fR +\&\fB[\-n]\fR +\&\fB[\-v]\fR +[ \fIdirectory\fR...] +.PP +\&\fBc_rehash\fR +\&\fIflags...\fR +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +On some platforms, the OpenSSL \fBrehash\fR command is available as +an external script called \fBc_rehash\fR. They are functionally equivalent, +except for minor differences noted below. +.PP +\&\fBrehash\fR scans directories and calculates a hash value of each +\&\f(CW\*(C`.pem\*(C'\fR, \f(CW\*(C`.crt\*(C'\fR, \f(CW\*(C`.cer\*(C'\fR, or \f(CW\*(C`.crl\*(C'\fR +file in the specified directory list and creates symbolic links +for each file, where the name of the link is the hash value. +(If the platform does not support symbolic links, a copy is made.) +This utility is useful as many programs that use OpenSSL require +directories to be set up like this in order to find certificates. +.PP +If any directories are named on the command line, then those are +processed in turn. If not, then the \fB\s-1SSL_CERT_DIR\s0\fR environment variable +is consulted; this should be a colon-separated list of directories, +like the Unix \fB\s-1PATH\s0\fR variable. +If that is not set then the default directory (installation-specific +but often \fB/usr/local/ssl/certs\fR) is processed. +.PP +In order for a directory to be processed, the user must have write +permissions on that directory, otherwise an error will be generated. +.PP +The links created are of the form \f(CW\*(C`HHHHHHHH.D\*(C'\fR, where each \fBH\fR +is a hexadecimal character and \fBD\fR is a single decimal digit. +When processing a directory, \fBrehash\fR will first remove all links +that have a name in that syntax, even if they are being used for some +other purpose. +To skip the removal step, use the \fB\-n\fR flag. +Hashes for \s-1CRL\s0's look similar except the letter \fBr\fR appears after +the period, like this: \f(CW\*(C`HHHHHHHH.rD\*(C'\fR. +.PP +Multiple objects may have the same hash; they will be indicated by +incrementing the \fBD\fR value. Duplicates are found by comparing the +full \s-1SHA\-1\s0 fingerprint. A warning will be displayed if a duplicate +is found. +.PP +A warning will also be displayed if there are files that +cannot be parsed as either a certificate or a \s-1CRL\s0 or if +more than one such object appears in the file. +.SS "Script Configuration" +.IX Subsection "Script Configuration" +The \fBc_rehash\fR script +uses the \fBopenssl\fR program to compute the hashes and +fingerprints. If not found in the user's \fB\s-1PATH\s0\fR, then set the +\&\fB\s-1OPENSSL\s0\fR environment variable to the full pathname. +Any program can be used, it will be invoked as follows for either +a certificate or \s-1CRL:\s0 +.PP +.Vb 2 +\& $OPENSSL x509 \-hash \-fingerprint \-noout \-in FILENAME +\& $OPENSSL crl \-hash \-fingerprint \-noout \-in FILENAME +.Ve +.PP +where \fB\s-1FILENAME\s0\fR is the filename. It must output the hash of the +file on the first line, and the fingerprint on the second, +optionally prefixed with some text and an equals sign. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-help\fR \fB\-h\fR" 4 +.IX Item "-help -h" +Display a brief usage message. +.IP "\fB\-old\fR" 4 +.IX Item "-old" +Use old-style hashing (\s-1MD5\s0, as opposed to \s-1SHA\-1\s0) for generating +links to be used for releases before 1.0.0. +Note that current versions will not use the old style. +.IP "\fB\-n\fR" 4 +.IX Item "-n" +Do not remove existing links. +This is needed when keeping new and old-style links in the same directory. +.IP "\fB\-compat\fR" 4 +.IX Item "-compat" +Generate links for both old-style (\s-1MD5\s0) and new-style (\s-1SHA1\s0) hashing. +This allows releases before 1.0.0 to use these links along-side newer +releases. +.IP "\fB\-v\fR" 4 +.IX Item "-v" +Print messages about old links removed and new links created. +By default, \fBrehash\fR only lists each directory as it is processed. +.SH "ENVIRONMENT" +.IX Header "ENVIRONMENT" +.IP "\fB\s-1OPENSSL\s0\fR" 4 +.IX Item "OPENSSL" +The path to an executable to use to generate hashes and +fingerprints (see above). +.IP "\fB\s-1SSL_CERT_DIR\s0\fR" 4 +.IX Item "SSL_CERT_DIR" +Colon separated list of directories to operate on. +Ignored if directories are listed on the command line. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIopenssl\fR\|(1), +\&\fIcrl\fR\|(1). +\&\fIx509\fR\|(1). +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2015\-2018 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man1/req.1 b/linux_amd64/share/man/man1/req.1 new file mode 100644 index 0000000..0db7020 --- /dev/null +++ b/linux_amd64/share/man/man1/req.1 @@ -0,0 +1,788 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "REQ 1" +.TH REQ 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +openssl\-req, req \- PKCS#10 certificate request and certificate generating utility +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBopenssl\fR \fBreq\fR +[\fB\-help\fR] +[\fB\-inform PEM|DER\fR] +[\fB\-outform PEM|DER\fR] +[\fB\-in filename\fR] +[\fB\-passin arg\fR] +[\fB\-out filename\fR] +[\fB\-passout arg\fR] +[\fB\-text\fR] +[\fB\-pubkey\fR] +[\fB\-noout\fR] +[\fB\-verify\fR] +[\fB\-modulus\fR] +[\fB\-new\fR] +[\fB\-rand file...\fR] +[\fB\-writerand file\fR] +[\fB\-newkey rsa:bits\fR] +[\fB\-newkey alg:file\fR] +[\fB\-nodes\fR] +[\fB\-key filename\fR] +[\fB\-keyform PEM|DER\fR] +[\fB\-keyout filename\fR] +[\fB\-keygen_engine id\fR] +[\fB\-\f(BIdigest\fB\fR] +[\fB\-config filename\fR] +[\fB\-multivalue\-rdn\fR] +[\fB\-x509\fR] +[\fB\-days n\fR] +[\fB\-set_serial n\fR] +[\fB\-newhdr\fR] +[\fB\-addext ext\fR] +[\fB\-extensions section\fR] +[\fB\-reqexts section\fR] +[\fB\-precert\fR] +[\fB\-utf8\fR] +[\fB\-nameopt\fR] +[\fB\-reqopt\fR] +[\fB\-subject\fR] +[\fB\-subj arg\fR] +[\fB\-sigopt nm:v\fR] +[\fB\-batch\fR] +[\fB\-verbose\fR] +[\fB\-engine id\fR] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The \fBreq\fR command primarily creates and processes certificate requests +in PKCS#10 format. It can additionally create self signed certificates +for use as root CAs for example. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-help\fR" 4 +.IX Item "-help" +Print out a usage message. +.IP "\fB\-inform DER|PEM\fR" 4 +.IX Item "-inform DER|PEM" +This specifies the input format. The \fB\s-1DER\s0\fR option uses an \s-1ASN1\s0 \s-1DER\s0 encoded +form compatible with the PKCS#10. The \fB\s-1PEM\s0\fR form is the default format: it +consists of the \fB\s-1DER\s0\fR format base64 encoded with additional header and +footer lines. +.IP "\fB\-outform DER|PEM\fR" 4 +.IX Item "-outform DER|PEM" +This specifies the output format, the options have the same meaning and default +as the \fB\-inform\fR option. +.IP "\fB\-in filename\fR" 4 +.IX Item "-in filename" +This specifies the input filename to read a request from or standard input +if this option is not specified. A request is only read if the creation +options (\fB\-new\fR and \fB\-newkey\fR) are not specified. +.IP "\fB\-sigopt nm:v\fR" 4 +.IX Item "-sigopt nm:v" +Pass options to the signature algorithm during sign or verify operations. +Names and values of these options are algorithm-specific. +.IP "\fB\-passin arg\fR" 4 +.IX Item "-passin arg" +The input file password source. For more information about the format of \fBarg\fR +see the \fB\s-1PASS\s0 \s-1PHRASE\s0 \s-1ARGUMENTS\s0\fR section in \fIopenssl\fR\|(1). +.IP "\fB\-out filename\fR" 4 +.IX Item "-out filename" +This specifies the output filename to write to or standard output by +default. +.IP "\fB\-passout arg\fR" 4 +.IX Item "-passout arg" +The output file password source. For more information about the format of \fBarg\fR +see the \fB\s-1PASS\s0 \s-1PHRASE\s0 \s-1ARGUMENTS\s0\fR section in \fIopenssl\fR\|(1). +.IP "\fB\-text\fR" 4 +.IX Item "-text" +Prints out the certificate request in text form. +.IP "\fB\-subject\fR" 4 +.IX Item "-subject" +Prints out the request subject (or certificate subject if \fB\-x509\fR is +specified) +.IP "\fB\-pubkey\fR" 4 +.IX Item "-pubkey" +Outputs the public key. +.IP "\fB\-noout\fR" 4 +.IX Item "-noout" +This option prevents output of the encoded version of the request. +.IP "\fB\-modulus\fR" 4 +.IX Item "-modulus" +This option prints out the value of the modulus of the public key +contained in the request. +.IP "\fB\-verify\fR" 4 +.IX Item "-verify" +Verifies the signature on the request. +.IP "\fB\-new\fR" 4 +.IX Item "-new" +This option generates a new certificate request. It will prompt +the user for the relevant field values. The actual fields +prompted for and their maximum and minimum sizes are specified +in the configuration file and any requested extensions. +.Sp +If the \fB\-key\fR option is not used it will generate a new \s-1RSA\s0 private +key using information specified in the configuration file. +.IP "\fB\-rand file...\fR" 4 +.IX Item "-rand file..." +A file or files containing random data used to seed the random number +generator. +Multiple files can be specified separated by an OS-dependent character. +The separator is \fB;\fR for MS-Windows, \fB,\fR for OpenVMS, and \fB:\fR for +all others. +.IP "[\fB\-writerand file\fR]" 4 +.IX Item "[-writerand file]" +Writes random data to the specified \fIfile\fR upon exit. +This can be used with a subsequent \fB\-rand\fR flag. +.IP "\fB\-newkey arg\fR" 4 +.IX Item "-newkey arg" +This option creates a new certificate request and a new private +key. The argument takes one of several forms. \fBrsa:nbits\fR, where +\&\fBnbits\fR is the number of bits, generates an \s-1RSA\s0 key \fBnbits\fR +in size. If \fBnbits\fR is omitted, i.e. \fB\-newkey rsa\fR specified, +the default key size, specified in the configuration file is used. +.Sp +All other algorithms support the \fB\-newkey alg:file\fR form, where file may be +an algorithm parameter file, created by the \fBgenpkey \-genparam\fR command +or and X.509 certificate for a key with appropriate algorithm. +.Sp +\&\fBparam:file\fR generates a key using the parameter file or certificate \fBfile\fR, +the algorithm is determined by the parameters. \fBalgname:file\fR use algorithm +\&\fBalgname\fR and parameter file \fBfile\fR: the two algorithms must match or an +error occurs. \fBalgname\fR just uses algorithm \fBalgname\fR, and parameters, +if necessary should be specified via \fB\-pkeyopt\fR parameter. +.Sp +\&\fBdsa:filename\fR generates a \s-1DSA\s0 key using the parameters +in the file \fBfilename\fR. \fBec:filename\fR generates \s-1EC\s0 key (usable both with +\&\s-1ECDSA\s0 or \s-1ECDH\s0 algorithms), \fBgost2001:filename\fR generates \s-1GOST\s0 R +34.10\-2001 key (requires \fBccgost\fR engine configured in the configuration +file). If just \fBgost2001\fR is specified a parameter set should be +specified by \fB\-pkeyopt paramset:X\fR +.IP "\fB\-pkeyopt opt:value\fR" 4 +.IX Item "-pkeyopt opt:value" +Set the public key algorithm option \fBopt\fR to \fBvalue\fR. The precise set of +options supported depends on the public key algorithm used and its +implementation. See \fB\s-1KEY\s0 \s-1GENERATION\s0 \s-1OPTIONS\s0\fR in the \fBgenpkey\fR manual page +for more details. +.IP "\fB\-key filename\fR" 4 +.IX Item "-key filename" +This specifies the file to read the private key from. It also +accepts PKCS#8 format private keys for \s-1PEM\s0 format files. +.IP "\fB\-keyform PEM|DER\fR" 4 +.IX Item "-keyform PEM|DER" +The format of the private key file specified in the \fB\-key\fR +argument. \s-1PEM\s0 is the default. +.IP "\fB\-keyout filename\fR" 4 +.IX Item "-keyout filename" +This gives the filename to write the newly created private key to. +If this option is not specified then the filename present in the +configuration file is used. +.IP "\fB\-nodes\fR" 4 +.IX Item "-nodes" +If this option is specified then if a private key is created it +will not be encrypted. +.IP "\fB\-\f(BIdigest\fB\fR" 4 +.IX Item "-digest" +This specifies the message digest to sign the request. +Any digest supported by the OpenSSL \fBdgst\fR command can be used. +This overrides the digest algorithm specified in +the configuration file. +.Sp +Some public key algorithms may override this choice. For instance, \s-1DSA\s0 +signatures always use \s-1SHA1\s0, \s-1GOST\s0 R 34.10 signatures always use +\&\s-1GOST\s0 R 34.11\-94 (\fB\-md_gost94\fR), Ed25519 and Ed448 never use any digest. +.IP "\fB\-config filename\fR" 4 +.IX Item "-config filename" +This allows an alternative configuration file to be specified. +Optional; for a description of the default value, +see \*(L"\s-1COMMAND\s0 \s-1SUMMARY\s0\*(R" in \fIopenssl\fR\|(1). +.IP "\fB\-subj arg\fR" 4 +.IX Item "-subj arg" +Sets subject name for new request or supersedes the subject name +when processing a request. +The arg must be formatted as \fI/type0=value0/type1=value1/type2=...\fR. +Keyword characters may be escaped by \e (backslash), and whitespace is retained. +Empty values are permitted, but the corresponding type will not be included +in the request. +.IP "\fB\-multivalue\-rdn\fR" 4 +.IX Item "-multivalue-rdn" +This option causes the \-subj argument to be interpreted with full +support for multivalued RDNs. Example: +.Sp +\&\fI/DC=org/DC=OpenSSL/DC=users/UID=123456+CN=John Doe\fR +.Sp +If \-multi\-rdn is not used then the \s-1UID\s0 value is \fI123456+CN=John Doe\fR. +.IP "\fB\-x509\fR" 4 +.IX Item "-x509" +This option outputs a self signed certificate instead of a certificate +request. This is typically used to generate a test certificate or +a self signed root \s-1CA\s0. The extensions added to the certificate +(if any) are specified in the configuration file. Unless specified +using the \fBset_serial\fR option, a large random number will be used for +the serial number. +.Sp +If existing request is specified with the \fB\-in\fR option, it is converted +to the self signed certificate otherwise new request is created. +.IP "\fB\-days n\fR" 4 +.IX Item "-days n" +When the \fB\-x509\fR option is being used this specifies the number of +days to certify the certificate for, otherwise it is ignored. \fBn\fR should +be a positive integer. The default is 30 days. +.IP "\fB\-set_serial n\fR" 4 +.IX Item "-set_serial n" +Serial number to use when outputting a self signed certificate. This +may be specified as a decimal value or a hex value if preceded by \fB0x\fR. +.IP "\fB\-addext ext\fR" 4 +.IX Item "-addext ext" +Add a specific extension to the certificate (if the \fB\-x509\fR option is +present) or certificate request. The argument must have the form of +a key=value pair as it would appear in a config file. +.Sp +This option can be given multiple times. +.IP "\fB\-extensions section\fR" 4 +.IX Item "-extensions section" +.PD 0 +.IP "\fB\-reqexts section\fR" 4 +.IX Item "-reqexts section" +.PD +These options specify alternative sections to include certificate +extensions (if the \fB\-x509\fR option is present) or certificate +request extensions. This allows several different sections to +be used in the same configuration file to specify requests for +a variety of purposes. +.IP "\fB\-precert\fR" 4 +.IX Item "-precert" +A poison extension will be added to the certificate, making it a +\&\*(L"pre-certificate\*(R" (see \s-1RFC6962\s0). This can be submitted to Certificate +Transparency logs in order to obtain signed certificate timestamps (SCTs). +These SCTs can then be embedded into the pre-certificate as an extension, before +removing the poison and signing the certificate. +.Sp +This implies the \fB\-new\fR flag. +.IP "\fB\-utf8\fR" 4 +.IX Item "-utf8" +This option causes field values to be interpreted as \s-1UTF8\s0 strings, by +default they are interpreted as \s-1ASCII\s0. This means that the field +values, whether prompted from a terminal or obtained from a +configuration file, must be valid \s-1UTF8\s0 strings. +.IP "\fB\-nameopt option\fR" 4 +.IX Item "-nameopt option" +Option which determines how the subject or issuer names are displayed. The +\&\fBoption\fR argument can be a single option or multiple options separated by +commas. Alternatively the \fB\-nameopt\fR switch may be used more than once to +set multiple options. See the \fIx509\fR\|(1) manual page for details. +.IP "\fB\-reqopt\fR" 4 +.IX Item "-reqopt" +Customise the output format used with \fB\-text\fR. The \fBoption\fR argument can be +a single option or multiple options separated by commas. +.Sp +See discussion of the \fB\-certopt\fR parameter in the \fIx509\fR\|(1) +command. +.IP "\fB\-newhdr\fR" 4 +.IX Item "-newhdr" +Adds the word \fB\s-1NEW\s0\fR to the \s-1PEM\s0 file header and footer lines on the outputted +request. Some software (Netscape certificate server) and some CAs need this. +.IP "\fB\-batch\fR" 4 +.IX Item "-batch" +Non-interactive mode. +.IP "\fB\-verbose\fR" 4 +.IX Item "-verbose" +Print extra details about the operations being performed. +.IP "\fB\-engine id\fR" 4 +.IX Item "-engine id" +Specifying an engine (by its unique \fBid\fR string) will cause \fBreq\fR +to attempt to obtain a functional reference to the specified engine, +thus initialising it if needed. The engine will then be set as the default +for all available algorithms. +.IP "\fB\-keygen_engine id\fR" 4 +.IX Item "-keygen_engine id" +Specifies an engine (by its unique \fBid\fR string) which would be used +for key generation operations. +.SH "CONFIGURATION FILE FORMAT" +.IX Header "CONFIGURATION FILE FORMAT" +The configuration options are specified in the \fBreq\fR section of +the configuration file. As with all configuration files if no +value is specified in the specific section (i.e. \fBreq\fR) then +the initial unnamed or \fBdefault\fR section is searched too. +.PP +The options available are described in detail below. +.IP "\fBinput_password output_password\fR" 4 +.IX Item "input_password output_password" +The passwords for the input private key file (if present) and +the output private key file (if one will be created). The +command line options \fBpassin\fR and \fBpassout\fR override the +configuration file values. +.IP "\fBdefault_bits\fR" 4 +.IX Item "default_bits" +Specifies the default key size in bits. +.Sp +This option is used in conjunction with the \fB\-new\fR option to generate +a new key. It can be overridden by specifying an explicit key size in +the \fB\-newkey\fR option. The smallest accepted key size is 512 bits. If +no key size is specified then 2048 bits is used. +.IP "\fBdefault_keyfile\fR" 4 +.IX Item "default_keyfile" +This is the default filename to write a private key to. If not +specified the key is written to standard output. This can be +overridden by the \fB\-keyout\fR option. +.IP "\fBoid_file\fR" 4 +.IX Item "oid_file" +This specifies a file containing additional \fB\s-1OBJECT\s0 \s-1IDENTIFIERS\s0\fR. +Each line of the file should consist of the numerical form of the +object identifier followed by white space then the short name followed +by white space and finally the long name. +.IP "\fBoid_section\fR" 4 +.IX Item "oid_section" +This specifies a section in the configuration file containing extra +object identifiers. Each line should consist of the short name of the +object identifier followed by \fB=\fR and the numerical form. The short +and long names are the same when this option is used. +.IP "\fB\s-1RANDFILE\s0\fR" 4 +.IX Item "RANDFILE" +At startup the specified file is loaded into the random number generator, +and at exit 256 bytes will be written to it. +It is used for private key generation. +.IP "\fBencrypt_key\fR" 4 +.IX Item "encrypt_key" +If this is set to \fBno\fR then if a private key is generated it is +\&\fBnot\fR encrypted. This is equivalent to the \fB\-nodes\fR command line +option. For compatibility \fBencrypt_rsa_key\fR is an equivalent option. +.IP "\fBdefault_md\fR" 4 +.IX Item "default_md" +This option specifies the digest algorithm to use. Any digest supported by the +OpenSSL \fBdgst\fR command can be used. This option can be overridden on the +command line. Certain signing algorithms (i.e. Ed25519 and Ed448) will ignore +any digest that has been set. +.IP "\fBstring_mask\fR" 4 +.IX Item "string_mask" +This option masks out the use of certain string types in certain +fields. Most users will not need to change this option. +.Sp +It can be set to several values \fBdefault\fR which is also the default +option uses PrintableStrings, T61Strings and BMPStrings if the +\&\fBpkix\fR value is used then only PrintableStrings and BMPStrings will +be used. This follows the \s-1PKIX\s0 recommendation in \s-1RFC2459\s0. If the +\&\fButf8only\fR option is used then only UTF8Strings will be used: this +is the \s-1PKIX\s0 recommendation in \s-1RFC2459\s0 after 2003. Finally the \fBnombstr\fR +option just uses PrintableStrings and T61Strings: certain software has +problems with BMPStrings and UTF8Strings: in particular Netscape. +.IP "\fBreq_extensions\fR" 4 +.IX Item "req_extensions" +This specifies the configuration file section containing a list of +extensions to add to the certificate request. It can be overridden +by the \fB\-reqexts\fR command line switch. See the +\&\fIx509v3_config\fR\|(5) manual page for details of the +extension section format. +.IP "\fBx509_extensions\fR" 4 +.IX Item "x509_extensions" +This specifies the configuration file section containing a list of +extensions to add to certificate generated when the \fB\-x509\fR switch +is used. It can be overridden by the \fB\-extensions\fR command line switch. +.IP "\fBprompt\fR" 4 +.IX Item "prompt" +If set to the value \fBno\fR this disables prompting of certificate fields +and just takes values from the config file directly. It also changes the +expected format of the \fBdistinguished_name\fR and \fBattributes\fR sections. +.IP "\fButf8\fR" 4 +.IX Item "utf8" +If set to the value \fByes\fR then field values to be interpreted as \s-1UTF8\s0 +strings, by default they are interpreted as \s-1ASCII\s0. This means that +the field values, whether prompted from a terminal or obtained from a +configuration file, must be valid \s-1UTF8\s0 strings. +.IP "\fBattributes\fR" 4 +.IX Item "attributes" +This specifies the section containing any request attributes: its format +is the same as \fBdistinguished_name\fR. Typically these may contain the +challengePassword or unstructuredName types. They are currently ignored +by OpenSSL's request signing utilities but some CAs might want them. +.IP "\fBdistinguished_name\fR" 4 +.IX Item "distinguished_name" +This specifies the section containing the distinguished name fields to +prompt for when generating a certificate or certificate request. The format +is described in the next section. +.SH "DISTINGUISHED NAME AND ATTRIBUTE SECTION FORMAT" +.IX Header "DISTINGUISHED NAME AND ATTRIBUTE SECTION FORMAT" +There are two separate formats for the distinguished name and attribute +sections. If the \fBprompt\fR option is set to \fBno\fR then these sections +just consist of field names and values: for example, +.PP +.Vb 3 +\& CN=My Name +\& OU=My Organization +\& emailAddress=someone@somewhere.org +.Ve +.PP +This allows external programs (e.g. \s-1GUI\s0 based) to generate a template file +with all the field names and values and just pass it to \fBreq\fR. An example +of this kind of configuration file is contained in the \fB\s-1EXAMPLES\s0\fR section. +.PP +Alternatively if the \fBprompt\fR option is absent or not set to \fBno\fR then the +file contains field prompting information. It consists of lines of the form: +.PP +.Vb 4 +\& fieldName="prompt" +\& fieldName_default="default field value" +\& fieldName_min= 2 +\& fieldName_max= 4 +.Ve +.PP +\&\*(L"fieldName\*(R" is the field name being used, for example commonName (or \s-1CN\s0). +The \*(L"prompt\*(R" string is used to ask the user to enter the relevant +details. If the user enters nothing then the default value is used if no +default value is present then the field is omitted. A field can +still be omitted if a default value is present if the user just +enters the '.' character. +.PP +The number of characters entered must be between the fieldName_min and +fieldName_max limits: there may be additional restrictions based +on the field being used (for example countryName can only ever be +two characters long and must fit in a PrintableString). +.PP +Some fields (such as organizationName) can be used more than once +in a \s-1DN\s0. This presents a problem because configuration files will +not recognize the same name occurring twice. To avoid this problem +if the fieldName contains some characters followed by a full stop +they will be ignored. So for example a second organizationName can +be input by calling it \*(L"1.organizationName\*(R". +.PP +The actual permitted field names are any object identifier short or +long names. These are compiled into OpenSSL and include the usual +values such as commonName, countryName, localityName, organizationName, +organizationalUnitName, stateOrProvinceName. Additionally emailAddress +is included as well as name, surname, givenName, initials, and dnQualifier. +.PP +Additional object identifiers can be defined with the \fBoid_file\fR or +\&\fBoid_section\fR options in the configuration file. Any additional fields +will be treated as though they were a DirectoryString. +.SH "EXAMPLES" +.IX Header "EXAMPLES" +Examine and verify certificate request: +.PP +.Vb 1 +\& openssl req \-in req.pem \-text \-verify \-noout +.Ve +.PP +Create a private key and then generate a certificate request from it: +.PP +.Vb 2 +\& openssl genrsa \-out key.pem 2048 +\& openssl req \-new \-key key.pem \-out req.pem +.Ve +.PP +The same but just using req: +.PP +.Vb 1 +\& openssl req \-newkey rsa:2048 \-keyout key.pem \-out req.pem +.Ve +.PP +Generate a self signed root certificate: +.PP +.Vb 1 +\& openssl req \-x509 \-newkey rsa:2048 \-keyout key.pem \-out req.pem +.Ve +.PP +Example of a file pointed to by the \fBoid_file\fR option: +.PP +.Vb 2 +\& 1.2.3.4 shortName A longer Name +\& 1.2.3.6 otherName Other longer Name +.Ve +.PP +Example of a section pointed to by \fBoid_section\fR making use of variable +expansion: +.PP +.Vb 2 +\& testoid1=1.2.3.5 +\& testoid2=${testoid1}.6 +.Ve +.PP +Sample configuration file prompting for field values: +.PP +.Vb 6 +\& [ req ] +\& default_bits = 2048 +\& default_keyfile = privkey.pem +\& distinguished_name = req_distinguished_name +\& attributes = req_attributes +\& req_extensions = v3_ca +\& +\& dirstring_type = nobmp +\& +\& [ req_distinguished_name ] +\& countryName = Country Name (2 letter code) +\& countryName_default = AU +\& countryName_min = 2 +\& countryName_max = 2 +\& +\& localityName = Locality Name (eg, city) +\& +\& organizationalUnitName = Organizational Unit Name (eg, section) +\& +\& commonName = Common Name (eg, YOUR name) +\& commonName_max = 64 +\& +\& emailAddress = Email Address +\& emailAddress_max = 40 +\& +\& [ req_attributes ] +\& challengePassword = A challenge password +\& challengePassword_min = 4 +\& challengePassword_max = 20 +\& +\& [ v3_ca ] +\& +\& subjectKeyIdentifier=hash +\& authorityKeyIdentifier=keyid:always,issuer:always +\& basicConstraints = critical, CA:true +.Ve +.PP +Sample configuration containing all field values: +.PP +.Vb 1 +\& RANDFILE = $ENV::HOME/.rnd +\& +\& [ req ] +\& default_bits = 2048 +\& default_keyfile = keyfile.pem +\& distinguished_name = req_distinguished_name +\& attributes = req_attributes +\& prompt = no +\& output_password = mypass +\& +\& [ req_distinguished_name ] +\& C = GB +\& ST = Test State or Province +\& L = Test Locality +\& O = Organization Name +\& OU = Organizational Unit Name +\& CN = Common Name +\& emailAddress = test@email.address +\& +\& [ req_attributes ] +\& challengePassword = A challenge password +.Ve +.PP +Example of giving the most common attributes (subject and extensions) +on the command line: +.PP +.Vb 4 +\& openssl req \-new \-subj "/C=GB/CN=foo" \e +\& \-addext "subjectAltName = DNS:foo.co.uk" \e +\& \-addext "certificatePolicies = 1.2.3.4" \e +\& \-newkey rsa:2048 \-keyout key.pem \-out req.pem +.Ve +.SH "NOTES" +.IX Header "NOTES" +The header and footer lines in the \fB\s-1PEM\s0\fR format are normally: +.PP +.Vb 2 +\& \-\-\-\-\-BEGIN CERTIFICATE REQUEST\-\-\-\-\- +\& \-\-\-\-\-END CERTIFICATE REQUEST\-\-\-\-\- +.Ve +.PP +some software (some versions of Netscape certificate server) instead needs: +.PP +.Vb 2 +\& \-\-\-\-\-BEGIN NEW CERTIFICATE REQUEST\-\-\-\-\- +\& \-\-\-\-\-END NEW CERTIFICATE REQUEST\-\-\-\-\- +.Ve +.PP +which is produced with the \fB\-newhdr\fR option but is otherwise compatible. +Either form is accepted transparently on input. +.PP +The certificate requests generated by \fBXenroll\fR with \s-1MSIE\s0 have extensions +added. It includes the \fBkeyUsage\fR extension which determines the type of +key (signature only or general purpose) and any additional OIDs entered +by the script in an extendedKeyUsage extension. +.SH "DIAGNOSTICS" +.IX Header "DIAGNOSTICS" +The following messages are frequently asked about: +.PP +.Vb 2 +\& Using configuration from /some/path/openssl.cnf +\& Unable to load config info +.Ve +.PP +This is followed some time later by... +.PP +.Vb 2 +\& unable to find \*(Aqdistinguished_name\*(Aq in config +\& problems making Certificate Request +.Ve +.PP +The first error message is the clue: it can't find the configuration +file! Certain operations (like examining a certificate request) don't +need a configuration file so its use isn't enforced. Generation of +certificates or requests however does need a configuration file. This +could be regarded as a bug. +.PP +Another puzzling message is this: +.PP +.Vb 2 +\& Attributes: +\& a0:00 +.Ve +.PP +this is displayed when no attributes are present and the request includes +the correct empty \fB\s-1SET\s0 \s-1OF\s0\fR structure (the \s-1DER\s0 encoding of which is 0xa0 +0x00). If you just see: +.PP +.Vb 1 +\& Attributes: +.Ve +.PP +then the \fB\s-1SET\s0 \s-1OF\s0\fR is missing and the encoding is technically invalid (but +it is tolerated). See the description of the command line option \fB\-asn1\-kludge\fR +for more information. +.SH "BUGS" +.IX Header "BUGS" +OpenSSL's handling of T61Strings (aka TeletexStrings) is broken: it effectively +treats them as \s-1ISO\-8859\-1\s0 (Latin 1), Netscape and \s-1MSIE\s0 have similar behaviour. +This can cause problems if you need characters that aren't available in +PrintableStrings and you don't want to or can't use BMPStrings. +.PP +As a consequence of the T61String handling the only correct way to represent +accented characters in OpenSSL is to use a BMPString: unfortunately Netscape +currently chokes on these. If you have to use accented characters with Netscape +and \s-1MSIE\s0 then you currently need to use the invalid T61String form. +.PP +The current prompting is not very friendly. It doesn't allow you to confirm what +you've just entered. Other things like extensions in certificate requests are +statically defined in the configuration file. Some of these: like an email +address in subjectAltName should be input by the user. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIx509\fR\|(1), \fIca\fR\|(1), \fIgenrsa\fR\|(1), +\&\fIgendsa\fR\|(1), \fIconfig\fR\|(5), +\&\fIx509v3_config\fR\|(5) +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man1/rsa.1 b/linux_amd64/share/man/man1/rsa.1 new file mode 100644 index 0000000..80cec8c --- /dev/null +++ b/linux_amd64/share/man/man1/rsa.1 @@ -0,0 +1,321 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "RSA 1" +.TH RSA 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +openssl\-rsa, rsa \- RSA key processing tool +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBopenssl\fR \fBrsa\fR +[\fB\-help\fR] +[\fB\-inform PEM|DER\fR] +[\fB\-outform PEM|DER\fR] +[\fB\-in filename\fR] +[\fB\-passin arg\fR] +[\fB\-out filename\fR] +[\fB\-passout arg\fR] +[\fB\-aes128\fR] +[\fB\-aes192\fR] +[\fB\-aes256\fR] +[\fB\-aria128\fR] +[\fB\-aria192\fR] +[\fB\-aria256\fR] +[\fB\-camellia128\fR] +[\fB\-camellia192\fR] +[\fB\-camellia256\fR] +[\fB\-des\fR] +[\fB\-des3\fR] +[\fB\-idea\fR] +[\fB\-text\fR] +[\fB\-noout\fR] +[\fB\-modulus\fR] +[\fB\-check\fR] +[\fB\-pubin\fR] +[\fB\-pubout\fR] +[\fB\-RSAPublicKey_in\fR] +[\fB\-RSAPublicKey_out\fR] +[\fB\-engine id\fR] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The \fBrsa\fR command processes \s-1RSA\s0 keys. They can be converted between various +forms and their components printed out. \fBNote\fR this command uses the +traditional SSLeay compatible format for private key encryption: newer +applications should use the more secure PKCS#8 format using the \fBpkcs8\fR +utility. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-help\fR" 4 +.IX Item "-help" +Print out a usage message. +.IP "\fB\-inform DER|PEM\fR" 4 +.IX Item "-inform DER|PEM" +This specifies the input format. The \fB\s-1DER\s0\fR option uses an \s-1ASN1\s0 \s-1DER\s0 encoded +form compatible with the PKCS#1 RSAPrivateKey or SubjectPublicKeyInfo format. +The \fB\s-1PEM\s0\fR form is the default format: it consists of the \fB\s-1DER\s0\fR format base64 +encoded with additional header and footer lines. On input PKCS#8 format private +keys are also accepted. +.IP "\fB\-outform DER|PEM\fR" 4 +.IX Item "-outform DER|PEM" +This specifies the output format, the options have the same meaning and default +as the \fB\-inform\fR option. +.IP "\fB\-in filename\fR" 4 +.IX Item "-in filename" +This specifies the input filename to read a key from or standard input if this +option is not specified. If the key is encrypted a pass phrase will be +prompted for. +.IP "\fB\-passin arg\fR" 4 +.IX Item "-passin arg" +The input file password source. For more information about the format of \fBarg\fR +see the \fB\s-1PASS\s0 \s-1PHRASE\s0 \s-1ARGUMENTS\s0\fR section in \fIopenssl\fR\|(1). +.IP "\fB\-out filename\fR" 4 +.IX Item "-out filename" +This specifies the output filename to write a key to or standard output if this +option is not specified. If any encryption options are set then a pass phrase +will be prompted for. The output filename should \fBnot\fR be the same as the input +filename. +.IP "\fB\-passout password\fR" 4 +.IX Item "-passout password" +The output file password source. For more information about the format of \fBarg\fR +see the \fB\s-1PASS\s0 \s-1PHRASE\s0 \s-1ARGUMENTS\s0\fR section in \fIopenssl\fR\|(1). +.IP "\fB\-aes128\fR, \fB\-aes192\fR, \fB\-aes256\fR, \fB\-aria128\fR, \fB\-aria192\fR, \fB\-aria256\fR, \fB\-camellia128\fR, \fB\-camellia192\fR, \fB\-camellia256\fR, \fB\-des\fR, \fB\-des3\fR, \fB\-idea\fR" 4 +.IX Item "-aes128, -aes192, -aes256, -aria128, -aria192, -aria256, -camellia128, -camellia192, -camellia256, -des, -des3, -idea" +These options encrypt the private key with the specified +cipher before outputting it. A pass phrase is prompted for. +If none of these options is specified the key is written in plain text. This +means that using the \fBrsa\fR utility to read in an encrypted key with no +encryption option can be used to remove the pass phrase from a key, or by +setting the encryption options it can be use to add or change the pass phrase. +These options can only be used with \s-1PEM\s0 format output files. +.IP "\fB\-text\fR" 4 +.IX Item "-text" +Prints out the various public or private key components in +plain text in addition to the encoded version. +.IP "\fB\-noout\fR" 4 +.IX Item "-noout" +This option prevents output of the encoded version of the key. +.IP "\fB\-modulus\fR" 4 +.IX Item "-modulus" +This option prints out the value of the modulus of the key. +.IP "\fB\-check\fR" 4 +.IX Item "-check" +This option checks the consistency of an \s-1RSA\s0 private key. +.IP "\fB\-pubin\fR" 4 +.IX Item "-pubin" +By default a private key is read from the input file: with this +option a public key is read instead. +.IP "\fB\-pubout\fR" 4 +.IX Item "-pubout" +By default a private key is output: with this option a public +key will be output instead. This option is automatically set if +the input is a public key. +.IP "\fB\-RSAPublicKey_in\fR, \fB\-RSAPublicKey_out\fR" 4 +.IX Item "-RSAPublicKey_in, -RSAPublicKey_out" +Like \fB\-pubin\fR and \fB\-pubout\fR except \fBRSAPublicKey\fR format is used instead. +.IP "\fB\-engine id\fR" 4 +.IX Item "-engine id" +Specifying an engine (by its unique \fBid\fR string) will cause \fBrsa\fR +to attempt to obtain a functional reference to the specified engine, +thus initialising it if needed. The engine will then be set as the default +for all available algorithms. +.SH "NOTES" +.IX Header "NOTES" +The \s-1PEM\s0 private key format uses the header and footer lines: +.PP +.Vb 2 +\& \-\-\-\-\-BEGIN RSA PRIVATE KEY\-\-\-\-\- +\& \-\-\-\-\-END RSA PRIVATE KEY\-\-\-\-\- +.Ve +.PP +The \s-1PEM\s0 public key format uses the header and footer lines: +.PP +.Vb 2 +\& \-\-\-\-\-BEGIN PUBLIC KEY\-\-\-\-\- +\& \-\-\-\-\-END PUBLIC KEY\-\-\-\-\- +.Ve +.PP +The \s-1PEM\s0 \fBRSAPublicKey\fR format uses the header and footer lines: +.PP +.Vb 2 +\& \-\-\-\-\-BEGIN RSA PUBLIC KEY\-\-\-\-\- +\& \-\-\-\-\-END RSA PUBLIC KEY\-\-\-\-\- +.Ve +.SH "EXAMPLES" +.IX Header "EXAMPLES" +To remove the pass phrase on an \s-1RSA\s0 private key: +.PP +.Vb 1 +\& openssl rsa \-in key.pem \-out keyout.pem +.Ve +.PP +To encrypt a private key using triple \s-1DES:\s0 +.PP +.Vb 1 +\& openssl rsa \-in key.pem \-des3 \-out keyout.pem +.Ve +.PP +To convert a private key from \s-1PEM\s0 to \s-1DER\s0 format: +.PP +.Vb 1 +\& openssl rsa \-in key.pem \-outform DER \-out keyout.der +.Ve +.PP +To print out the components of a private key to standard output: +.PP +.Vb 1 +\& openssl rsa \-in key.pem \-text \-noout +.Ve +.PP +To just output the public part of a private key: +.PP +.Vb 1 +\& openssl rsa \-in key.pem \-pubout \-out pubkey.pem +.Ve +.PP +Output the public part of a private key in \fBRSAPublicKey\fR format: +.PP +.Vb 1 +\& openssl rsa \-in key.pem \-RSAPublicKey_out \-out pubkey.pem +.Ve +.SH "BUGS" +.IX Header "BUGS" +There should be an option that automatically handles .key files, +without having to manually edit them. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIpkcs8\fR\|(1), \fIdsa\fR\|(1), \fIgenrsa\fR\|(1), +\&\fIgendsa\fR\|(1) +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man1/rsautl.1 b/linux_amd64/share/man/man1/rsautl.1 new file mode 100644 index 0000000..1ffdd24 --- /dev/null +++ b/linux_amd64/share/man/man1/rsautl.1 @@ -0,0 +1,336 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "RSAUTL 1" +.TH RSAUTL 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +openssl\-rsautl, rsautl \- RSA utility +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBopenssl\fR \fBrsautl\fR +[\fB\-help\fR] +[\fB\-in file\fR] +[\fB\-out file\fR] +[\fB\-inkey file\fR] +[\fB\-keyform PEM|DER|ENGINE\fR] +[\fB\-pubin\fR] +[\fB\-certin\fR] +[\fB\-sign\fR] +[\fB\-verify\fR] +[\fB\-encrypt\fR] +[\fB\-decrypt\fR] +[\fB\-rand file...\fR] +[\fB\-writerand file\fR] +[\fB\-pkcs\fR] +[\fB\-ssl\fR] +[\fB\-raw\fR] +[\fB\-hexdump\fR] +[\fB\-asn1parse\fR] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The \fBrsautl\fR command can be used to sign, verify, encrypt and decrypt +data using the \s-1RSA\s0 algorithm. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-help\fR" 4 +.IX Item "-help" +Print out a usage message. +.IP "\fB\-in filename\fR" 4 +.IX Item "-in filename" +This specifies the input filename to read data from or standard input +if this option is not specified. +.IP "\fB\-out filename\fR" 4 +.IX Item "-out filename" +Specifies the output filename to write to or standard output by +default. +.IP "\fB\-inkey file\fR" 4 +.IX Item "-inkey file" +The input key file, by default it should be an \s-1RSA\s0 private key. +.IP "\fB\-keyform PEM|DER|ENGINE\fR" 4 +.IX Item "-keyform PEM|DER|ENGINE" +The key format \s-1PEM\s0, \s-1DER\s0 or \s-1ENGINE\s0. +.IP "\fB\-pubin\fR" 4 +.IX Item "-pubin" +The input file is an \s-1RSA\s0 public key. +.IP "\fB\-certin\fR" 4 +.IX Item "-certin" +The input is a certificate containing an \s-1RSA\s0 public key. +.IP "\fB\-sign\fR" 4 +.IX Item "-sign" +Sign the input data and output the signed result. This requires +an \s-1RSA\s0 private key. +.IP "\fB\-verify\fR" 4 +.IX Item "-verify" +Verify the input data and output the recovered data. +.IP "\fB\-encrypt\fR" 4 +.IX Item "-encrypt" +Encrypt the input data using an \s-1RSA\s0 public key. +.IP "\fB\-decrypt\fR" 4 +.IX Item "-decrypt" +Decrypt the input data using an \s-1RSA\s0 private key. +.IP "\fB\-rand file...\fR" 4 +.IX Item "-rand file..." +A file or files containing random data used to seed the random number +generator. +Multiple files can be specified separated by an OS-dependent character. +The separator is \fB;\fR for MS-Windows, \fB,\fR for OpenVMS, and \fB:\fR for +all others. +.IP "[\fB\-writerand file\fR]" 4 +.IX Item "[-writerand file]" +Writes random data to the specified \fIfile\fR upon exit. +This can be used with a subsequent \fB\-rand\fR flag. +.IP "\fB\-pkcs, \-oaep, \-ssl, \-raw\fR" 4 +.IX Item "-pkcs, -oaep, -ssl, -raw" +The padding to use: PKCS#1 v1.5 (the default), PKCS#1 \s-1OAEP\s0, +special padding used in \s-1SSL\s0 v2 backwards compatible handshakes, +or no padding, respectively. +For signatures, only \fB\-pkcs\fR and \fB\-raw\fR can be used. +.IP "\fB\-hexdump\fR" 4 +.IX Item "-hexdump" +Hex dump the output data. +.IP "\fB\-asn1parse\fR" 4 +.IX Item "-asn1parse" +Parse the \s-1ASN\s0.1 output data, this is useful when combined with the +\&\fB\-verify\fR option. +.SH "NOTES" +.IX Header "NOTES" +\&\fBrsautl\fR because it uses the \s-1RSA\s0 algorithm directly can only be +used to sign or verify small pieces of data. +.SH "EXAMPLES" +.IX Header "EXAMPLES" +Sign some data using a private key: +.PP +.Vb 1 +\& openssl rsautl \-sign \-in file \-inkey key.pem \-out sig +.Ve +.PP +Recover the signed data +.PP +.Vb 1 +\& openssl rsautl \-verify \-in sig \-inkey key.pem +.Ve +.PP +Examine the raw signed data: +.PP +.Vb 1 +\& openssl rsautl \-verify \-in sig \-inkey key.pem \-raw \-hexdump +\& +\& 0000 \- 00 01 ff ff ff ff ff ff\-ff ff ff ff ff ff ff ff ................ +\& 0010 \- ff ff ff ff ff ff ff ff\-ff ff ff ff ff ff ff ff ................ +\& 0020 \- ff ff ff ff ff ff ff ff\-ff ff ff ff ff ff ff ff ................ +\& 0030 \- ff ff ff ff ff ff ff ff\-ff ff ff ff ff ff ff ff ................ +\& 0040 \- ff ff ff ff ff ff ff ff\-ff ff ff ff ff ff ff ff ................ +\& 0050 \- ff ff ff ff ff ff ff ff\-ff ff ff ff ff ff ff ff ................ +\& 0060 \- ff ff ff ff ff ff ff ff\-ff ff ff ff ff ff ff ff ................ +\& 0070 \- ff ff ff ff 00 68 65 6c\-6c 6f 20 77 6f 72 6c 64 .....hello world +.Ve +.PP +The PKCS#1 block formatting is evident from this. If this was done using +encrypt and decrypt the block would have been of type 2 (the second byte) +and random padding data visible instead of the 0xff bytes. +.PP +It is possible to analyse the signature of certificates using this +utility in conjunction with \fBasn1parse\fR. Consider the self signed +example in certs/pca\-cert.pem . Running \fBasn1parse\fR as follows yields: +.PP +.Vb 1 +\& openssl asn1parse \-in pca\-cert.pem +\& +\& 0:d=0 hl=4 l= 742 cons: SEQUENCE +\& 4:d=1 hl=4 l= 591 cons: SEQUENCE +\& 8:d=2 hl=2 l= 3 cons: cont [ 0 ] +\& 10:d=3 hl=2 l= 1 prim: INTEGER :02 +\& 13:d=2 hl=2 l= 1 prim: INTEGER :00 +\& 16:d=2 hl=2 l= 13 cons: SEQUENCE +\& 18:d=3 hl=2 l= 9 prim: OBJECT :md5WithRSAEncryption +\& 29:d=3 hl=2 l= 0 prim: NULL +\& 31:d=2 hl=2 l= 92 cons: SEQUENCE +\& 33:d=3 hl=2 l= 11 cons: SET +\& 35:d=4 hl=2 l= 9 cons: SEQUENCE +\& 37:d=5 hl=2 l= 3 prim: OBJECT :countryName +\& 42:d=5 hl=2 l= 2 prim: PRINTABLESTRING :AU +\& .... +\& 599:d=1 hl=2 l= 13 cons: SEQUENCE +\& 601:d=2 hl=2 l= 9 prim: OBJECT :md5WithRSAEncryption +\& 612:d=2 hl=2 l= 0 prim: NULL +\& 614:d=1 hl=3 l= 129 prim: BIT STRING +.Ve +.PP +The final \s-1BIT\s0 \s-1STRING\s0 contains the actual signature. It can be extracted with: +.PP +.Vb 1 +\& openssl asn1parse \-in pca\-cert.pem \-out sig \-noout \-strparse 614 +.Ve +.PP +The certificate public key can be extracted with: +.PP +.Vb 1 +\& openssl x509 \-in test/testx509.pem \-pubkey \-noout >pubkey.pem +.Ve +.PP +The signature can be analysed with: +.PP +.Vb 1 +\& openssl rsautl \-in sig \-verify \-asn1parse \-inkey pubkey.pem \-pubin +\& +\& 0:d=0 hl=2 l= 32 cons: SEQUENCE +\& 2:d=1 hl=2 l= 12 cons: SEQUENCE +\& 4:d=2 hl=2 l= 8 prim: OBJECT :md5 +\& 14:d=2 hl=2 l= 0 prim: NULL +\& 16:d=1 hl=2 l= 16 prim: OCTET STRING +\& 0000 \- f3 46 9e aa 1a 4a 73 c9\-37 ea 93 00 48 25 08 b5 .F...Js.7...H%.. +.Ve +.PP +This is the parsed version of an \s-1ASN1\s0 DigestInfo structure. It can be seen that +the digest used was md5. The actual part of the certificate that was signed can +be extracted with: +.PP +.Vb 1 +\& openssl asn1parse \-in pca\-cert.pem \-out tbs \-noout \-strparse 4 +.Ve +.PP +and its digest computed with: +.PP +.Vb 2 +\& openssl md5 \-c tbs +\& MD5(tbs)= f3:46:9e:aa:1a:4a:73:c9:37:ea:93:00:48:25:08:b5 +.Ve +.PP +which it can be seen agrees with the recovered value above. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIdgst\fR\|(1), \fIrsa\fR\|(1), \fIgenrsa\fR\|(1) +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2000\-2017 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man1/s_client.1 b/linux_amd64/share/man/man1/s_client.1 new file mode 100644 index 0000000..0bf00bf --- /dev/null +++ b/linux_amd64/share/man/man1/s_client.1 @@ -0,0 +1,854 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "S_CLIENT 1" +.TH S_CLIENT 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +openssl\-s_client, s_client \- SSL/TLS client program +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBopenssl\fR \fBs_client\fR +[\fB\-help\fR] +[\fB\-connect host:port\fR] +[\fB\-bind host:port\fR] +[\fB\-proxy host:port\fR] +[\fB\-unix path\fR] +[\fB\-4\fR] +[\fB\-6\fR] +[\fB\-servername name\fR] +[\fB\-noservername\fR] +[\fB\-verify depth\fR] +[\fB\-verify_return_error\fR] +[\fB\-cert filename\fR] +[\fB\-certform DER|PEM\fR] +[\fB\-key filename\fR] +[\fB\-keyform DER|PEM\fR] +[\fB\-cert_chain filename\fR] +[\fB\-build_chain\fR] +[\fB\-xkey\fR] +[\fB\-xcert\fR] +[\fB\-xchain\fR] +[\fB\-xchain_build\fR] +[\fB\-xcertform PEM|DER\fR] +[\fB\-xkeyform PEM|DER\fR] +[\fB\-pass arg\fR] +[\fB\-CApath directory\fR] +[\fB\-CAfile filename\fR] +[\fB\-chainCApath directory\fR] +[\fB\-chainCAfile filename\fR] +[\fB\-no\-CAfile\fR] +[\fB\-no\-CApath\fR] +[\fB\-requestCAfile filename\fR] +[\fB\-dane_tlsa_domain domain\fR] +[\fB\-dane_tlsa_rrdata rrdata\fR] +[\fB\-dane_ee_no_namechecks\fR] +[\fB\-attime timestamp\fR] +[\fB\-check_ss_sig\fR] +[\fB\-crl_check\fR] +[\fB\-crl_check_all\fR] +[\fB\-explicit_policy\fR] +[\fB\-extended_crl\fR] +[\fB\-ignore_critical\fR] +[\fB\-inhibit_any\fR] +[\fB\-inhibit_map\fR] +[\fB\-no_check_time\fR] +[\fB\-partial_chain\fR] +[\fB\-policy arg\fR] +[\fB\-policy_check\fR] +[\fB\-policy_print\fR] +[\fB\-purpose purpose\fR] +[\fB\-suiteB_128\fR] +[\fB\-suiteB_128_only\fR] +[\fB\-suiteB_192\fR] +[\fB\-trusted_first\fR] +[\fB\-no_alt_chains\fR] +[\fB\-use_deltas\fR] +[\fB\-auth_level num\fR] +[\fB\-nameopt option\fR] +[\fB\-verify_depth num\fR] +[\fB\-verify_email email\fR] +[\fB\-verify_hostname hostname\fR] +[\fB\-verify_ip ip\fR] +[\fB\-verify_name name\fR] +[\fB\-build_chain\fR] +[\fB\-x509_strict\fR] +[\fB\-reconnect\fR] +[\fB\-showcerts\fR] +[\fB\-debug\fR] +[\fB\-msg\fR] +[\fB\-nbio_test\fR] +[\fB\-state\fR] +[\fB\-nbio\fR] +[\fB\-crlf\fR] +[\fB\-ign_eof\fR] +[\fB\-no_ign_eof\fR] +[\fB\-psk_identity identity\fR] +[\fB\-psk key\fR] +[\fB\-psk_session file\fR] +[\fB\-quiet\fR] +[\fB\-ssl3\fR] +[\fB\-tls1\fR] +[\fB\-tls1_1\fR] +[\fB\-tls1_2\fR] +[\fB\-tls1_3\fR] +[\fB\-no_ssl3\fR] +[\fB\-no_tls1\fR] +[\fB\-no_tls1_1\fR] +[\fB\-no_tls1_2\fR] +[\fB\-no_tls1_3\fR] +[\fB\-dtls\fR] +[\fB\-dtls1\fR] +[\fB\-dtls1_2\fR] +[\fB\-sctp\fR] +[\fB\-sctp_label_bug\fR] +[\fB\-fallback_scsv\fR] +[\fB\-async\fR] +[\fB\-max_send_frag\fR] +[\fB\-split_send_frag\fR] +[\fB\-max_pipelines\fR] +[\fB\-read_buf\fR] +[\fB\-bugs\fR] +[\fB\-comp\fR] +[\fB\-no_comp\fR] +[\fB\-allow_no_dhe_kex\fR] +[\fB\-sigalgs sigalglist\fR] +[\fB\-curves curvelist\fR] +[\fB\-cipher cipherlist\fR] +[\fB\-ciphersuites val\fR] +[\fB\-serverpref\fR] +[\fB\-starttls protocol\fR] +[\fB\-xmpphost hostname\fR] +[\fB\-name hostname\fR] +[\fB\-engine id\fR] +[\fB\-tlsextdebug\fR] +[\fB\-no_ticket\fR] +[\fB\-sess_out filename\fR] +[\fB\-sess_in filename\fR] +[\fB\-rand file...\fR] +[\fB\-writerand file\fR] +[\fB\-serverinfo types\fR] +[\fB\-status\fR] +[\fB\-alpn protocols\fR] +[\fB\-nextprotoneg protocols\fR] +[\fB\-ct\fR] +[\fB\-noct\fR] +[\fB\-ctlogfile\fR] +[\fB\-keylogfile file\fR] +[\fB\-early_data file\fR] +[\fB\-enable_pha\fR] +[\fBtarget\fR] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The \fBs_client\fR command implements a generic \s-1SSL/TLS\s0 client which connects +to a remote host using \s-1SSL/TLS\s0. It is a \fIvery\fR useful diagnostic tool for +\&\s-1SSL\s0 servers. +.SH "OPTIONS" +.IX Header "OPTIONS" +In addition to the options below the \fBs_client\fR utility also supports the +common and client only options documented +in the \*(L"Supported Command Line Commands\*(R" section of the \fISSL_CONF_cmd\fR\|(3) +manual page. +.IP "\fB\-help\fR" 4 +.IX Item "-help" +Print out a usage message. +.IP "\fB\-connect host:port\fR" 4 +.IX Item "-connect host:port" +This specifies the host and optional port to connect to. It is possible to +select the host and port using the optional target positional argument instead. +If neither this nor the target positional argument are specified then an attempt +is made to connect to the local host on port 4433. +.IP "\fB\-bind host:port\fR]" 4 +.IX Item "-bind host:port]" +This specifies the host address and or port to bind as the source for the +connection. For Unix-domain sockets the port is ignored and the host is +used as the source socket address. +.IP "\fB\-proxy host:port\fR" 4 +.IX Item "-proxy host:port" +When used with the \fB\-connect\fR flag, the program uses the host and port +specified with this flag and issues an \s-1HTTP\s0 \s-1CONNECT\s0 command to connect +to the desired server. +.IP "\fB\-unix path\fR" 4 +.IX Item "-unix path" +Connect over the specified Unix-domain socket. +.IP "\fB\-4\fR" 4 +.IX Item "-4" +Use IPv4 only. +.IP "\fB\-6\fR" 4 +.IX Item "-6" +Use IPv6 only. +.IP "\fB\-servername name\fR" 4 +.IX Item "-servername name" +Set the \s-1TLS\s0 \s-1SNI\s0 (Server Name Indication) extension in the ClientHello message to +the given value. +If \fB\-servername\fR is not provided, the \s-1TLS\s0 \s-1SNI\s0 extension will be populated with +the name given to \fB\-connect\fR if it follows a \s-1DNS\s0 name format. If \fB\-connect\fR is +not provided either, the \s-1SNI\s0 is set to \*(L"localhost\*(R". +This is the default since OpenSSL 1.1.1. +.Sp +Even though \s-1SNI\s0 should normally be a \s-1DNS\s0 name and not an \s-1IP\s0 address, if +\&\fB\-servername\fR is provided then that name will be sent, regardless of whether +it is a \s-1DNS\s0 name or not. +.Sp +This option cannot be used in conjunction with \fB\-noservername\fR. +.IP "\fB\-noservername\fR" 4 +.IX Item "-noservername" +Suppresses sending of the \s-1SNI\s0 (Server Name Indication) extension in the +ClientHello message. Cannot be used in conjunction with the \fB\-servername\fR or +<\-dane_tlsa_domain> options. +.IP "\fB\-cert certname\fR" 4 +.IX Item "-cert certname" +The certificate to use, if one is requested by the server. The default is +not to use a certificate. +.IP "\fB\-certform format\fR" 4 +.IX Item "-certform format" +The certificate format to use: \s-1DER\s0 or \s-1PEM\s0. \s-1PEM\s0 is the default. +.IP "\fB\-key keyfile\fR" 4 +.IX Item "-key keyfile" +The private key to use. If not specified then the certificate file will +be used. +.IP "\fB\-keyform format\fR" 4 +.IX Item "-keyform format" +The private format to use: \s-1DER\s0 or \s-1PEM\s0. \s-1PEM\s0 is the default. +.IP "\fB\-cert_chain\fR" 4 +.IX Item "-cert_chain" +A file containing trusted certificates to use when attempting to build the +client/server certificate chain related to the certificate specified via the +\&\fB\-cert\fR option. +.IP "\fB\-build_chain\fR" 4 +.IX Item "-build_chain" +Specify whether the application should build the certificate chain to be +provided to the server. +.IP "\fB\-xkey infile\fR, \fB\-xcert infile\fR, \fB\-xchain\fR" 4 +.IX Item "-xkey infile, -xcert infile, -xchain" +Specify an extra certificate, private key and certificate chain. These behave +in the same manner as the \fB\-cert\fR, \fB\-key\fR and \fB\-cert_chain\fR options. When +specified, the callback returning the first valid chain will be in use by the +client. +.IP "\fB\-xchain_build\fR" 4 +.IX Item "-xchain_build" +Specify whether the application should build the certificate chain to be +provided to the server for the extra certificates provided via \fB\-xkey infile\fR, +\&\fB\-xcert infile\fR, \fB\-xchain\fR options. +.IP "\fB\-xcertform PEM|DER\fR, \fB\-xkeyform PEM|DER\fR" 4 +.IX Item "-xcertform PEM|DER, -xkeyform PEM|DER" +Extra certificate and private key format respectively. +.IP "\fB\-pass arg\fR" 4 +.IX Item "-pass arg" +the private key password source. For more information about the format of \fBarg\fR +see the \fB\s-1PASS\s0 \s-1PHRASE\s0 \s-1ARGUMENTS\s0\fR section in \fIopenssl\fR\|(1). +.IP "\fB\-verify depth\fR" 4 +.IX Item "-verify depth" +The verify depth to use. This specifies the maximum length of the +server certificate chain and turns on server certificate verification. +Currently the verify operation continues after errors so all the problems +with a certificate chain can be seen. As a side effect the connection +will never fail due to a server certificate verify failure. +.IP "\fB\-verify_return_error\fR" 4 +.IX Item "-verify_return_error" +Return verification errors instead of continuing. This will typically +abort the handshake with a fatal error. +.IP "\fB\-nameopt option\fR" 4 +.IX Item "-nameopt option" +Option which determines how the subject or issuer names are displayed. The +\&\fBoption\fR argument can be a single option or multiple options separated by +commas. Alternatively the \fB\-nameopt\fR switch may be used more than once to +set multiple options. See the \fIx509\fR\|(1) manual page for details. +.IP "\fB\-CApath directory\fR" 4 +.IX Item "-CApath directory" +The directory to use for server certificate verification. This directory +must be in \*(L"hash format\*(R", see \fIverify\fR\|(1) for more information. These are +also used when building the client certificate chain. +.IP "\fB\-CAfile file\fR" 4 +.IX Item "-CAfile file" +A file containing trusted certificates to use during server authentication +and to use when attempting to build the client certificate chain. +.IP "\fB\-chainCApath directory\fR" 4 +.IX Item "-chainCApath directory" +The directory to use for building the chain provided to the server. This +directory must be in \*(L"hash format\*(R", see \fIverify\fR\|(1) for more information. +.IP "\fB\-chainCAfile file\fR" 4 +.IX Item "-chainCAfile file" +A file containing trusted certificates to use when attempting to build the +client certificate chain. +.IP "\fB\-no\-CAfile\fR" 4 +.IX Item "-no-CAfile" +Do not load the trusted \s-1CA\s0 certificates from the default file location +.IP "\fB\-no\-CApath\fR" 4 +.IX Item "-no-CApath" +Do not load the trusted \s-1CA\s0 certificates from the default directory location +.IP "\fB\-requestCAfile file\fR" 4 +.IX Item "-requestCAfile file" +A file containing a list of certificates whose subject names will be sent +to the server in the \fBcertificate_authorities\fR extension. Only supported +for \s-1TLS\s0 1.3 +.IP "\fB\-dane_tlsa_domain domain\fR" 4 +.IX Item "-dane_tlsa_domain domain" +Enable \s-1RFC6698/RFC7671\s0 \s-1DANE\s0 \s-1TLSA\s0 authentication and specify the +\&\s-1TLSA\s0 base domain which becomes the default \s-1SNI\s0 hint and the primary +reference identifier for hostname checks. This must be used in +combination with at least one instance of the \fB\-dane_tlsa_rrdata\fR +option below. +.Sp +When \s-1DANE\s0 authentication succeeds, the diagnostic output will include +the lowest (closest to 0) depth at which a \s-1TLSA\s0 record authenticated +a chain certificate. When that \s-1TLSA\s0 record is a \*(L"2 1 0\*(R" trust +anchor public key that signed (rather than matched) the top-most +certificate of the chain, the result is reported as \*(L"\s-1TA\s0 public key +verified\*(R". Otherwise, either the \s-1TLSA\s0 record \*(L"matched \s-1TA\s0 certificate\*(R" +at a positive depth or else \*(L"matched \s-1EE\s0 certificate\*(R" at depth 0. +.IP "\fB\-dane_tlsa_rrdata rrdata\fR" 4 +.IX Item "-dane_tlsa_rrdata rrdata" +Use one or more times to specify the \s-1RRDATA\s0 fields of the \s-1DANE\s0 \s-1TLSA\s0 +RRset associated with the target service. The \fBrrdata\fR value is +specified in \*(L"presentation form\*(R", that is four whitespace separated +fields that specify the usage, selector, matching type and associated +data, with the last of these encoded in hexadecimal. Optional +whitespace is ignored in the associated data field. For example: +.Sp +.Vb 12 +\& $ openssl s_client \-brief \-starttls smtp \e +\& \-connect smtp.example.com:25 \e +\& \-dane_tlsa_domain smtp.example.com \e +\& \-dane_tlsa_rrdata "2 1 1 +\& B111DD8A1C2091A89BD4FD60C57F0716CCE50FEEFF8137CDBEE0326E 02CF362B" \e +\& \-dane_tlsa_rrdata "2 1 1 +\& 60B87575447DCBA2A36B7D11AC09FB24A9DB406FEE12D2CC90180517 616E8A18" +\& ... +\& Verification: OK +\& Verified peername: smtp.example.com +\& DANE TLSA 2 1 1 ...ee12d2cc90180517616e8a18 matched TA certificate at depth 1 +\& ... +.Ve +.IP "\fB\-dane_ee_no_namechecks\fR" 4 +.IX Item "-dane_ee_no_namechecks" +This disables server name checks when authenticating via \s-1\fIDANE\-EE\s0\fR\|(3) \s-1TLSA\s0 +records. +For some applications, primarily web browsers, it is not safe to disable name +checks due to \*(L"unknown key share\*(R" attacks, in which a malicious server can +convince a client that a connection to a victim server is instead a secure +connection to the malicious server. +The malicious server may then be able to violate cross-origin scripting +restrictions. +Thus, despite the text of \s-1RFC7671\s0, name checks are by default enabled for +\&\s-1\fIDANE\-EE\s0\fR\|(3) \s-1TLSA\s0 records, and can be disabled in applications where it is safe +to do so. +In particular, \s-1SMTP\s0 and \s-1XMPP\s0 clients should set this option as \s-1SRV\s0 and \s-1MX\s0 +records already make it possible for a remote domain to redirect client +connections to any server of its choice, and in any case \s-1SMTP\s0 and \s-1XMPP\s0 clients +do not execute scripts downloaded from remote servers. +.IP "\fB\-attime\fR, \fB\-check_ss_sig\fR, \fB\-crl_check\fR, \fB\-crl_check_all\fR, \fB\-explicit_policy\fR, \fB\-extended_crl\fR, \fB\-ignore_critical\fR, \fB\-inhibit_any\fR, \fB\-inhibit_map\fR, \fB\-no_alt_chains\fR, \fB\-no_check_time\fR, \fB\-partial_chain\fR, \fB\-policy\fR, \fB\-policy_check\fR, \fB\-policy_print\fR, \fB\-purpose\fR, \fB\-suiteB_128\fR, \fB\-suiteB_128_only\fR, \fB\-suiteB_192\fR, \fB\-trusted_first\fR, \fB\-use_deltas\fR, \fB\-auth_level\fR, \fB\-verify_depth\fR, \fB\-verify_email\fR, \fB\-verify_hostname\fR, \fB\-verify_ip\fR, \fB\-verify_name\fR, \fB\-x509_strict\fR" 4 +.IX Item "-attime, -check_ss_sig, -crl_check, -crl_check_all, -explicit_policy, -extended_crl, -ignore_critical, -inhibit_any, -inhibit_map, -no_alt_chains, -no_check_time, -partial_chain, -policy, -policy_check, -policy_print, -purpose, -suiteB_128, -suiteB_128_only, -suiteB_192, -trusted_first, -use_deltas, -auth_level, -verify_depth, -verify_email, -verify_hostname, -verify_ip, -verify_name, -x509_strict" +Set various certificate chain validation options. See the +\&\fIverify\fR\|(1) manual page for details. +.IP "\fB\-reconnect\fR" 4 +.IX Item "-reconnect" +Reconnects to the same server 5 times using the same session \s-1ID\s0, this can +be used as a test that session caching is working. +.IP "\fB\-showcerts\fR" 4 +.IX Item "-showcerts" +Displays the server certificate list as sent by the server: it only consists of +certificates the server has sent (in the order the server has sent them). It is +\&\fBnot\fR a verified chain. +.IP "\fB\-prexit\fR" 4 +.IX Item "-prexit" +Print session information when the program exits. This will always attempt +to print out information even if the connection fails. Normally information +will only be printed out once if the connection succeeds. This option is useful +because the cipher in use may be renegotiated or the connection may fail +because a client certificate is required or is requested only after an +attempt is made to access a certain \s-1URL\s0. Note: the output produced by this +option is not always accurate because a connection might never have been +established. +.IP "\fB\-state\fR" 4 +.IX Item "-state" +Prints out the \s-1SSL\s0 session states. +.IP "\fB\-debug\fR" 4 +.IX Item "-debug" +Print extensive debugging information including a hex dump of all traffic. +.IP "\fB\-msg\fR" 4 +.IX Item "-msg" +Show all protocol messages with hex dump. +.IP "\fB\-trace\fR" 4 +.IX Item "-trace" +Show verbose trace output of protocol messages. OpenSSL needs to be compiled +with \fBenable-ssl-trace\fR for this option to work. +.IP "\fB\-msgfile\fR" 4 +.IX Item "-msgfile" +File to send output of \fB\-msg\fR or \fB\-trace\fR to, default standard output. +.IP "\fB\-nbio_test\fR" 4 +.IX Item "-nbio_test" +Tests non-blocking I/O +.IP "\fB\-nbio\fR" 4 +.IX Item "-nbio" +Turns on non-blocking I/O +.IP "\fB\-crlf\fR" 4 +.IX Item "-crlf" +This option translated a line feed from the terminal into \s-1CR+LF\s0 as required +by some servers. +.IP "\fB\-ign_eof\fR" 4 +.IX Item "-ign_eof" +Inhibit shutting down the connection when end of file is reached in the +input. +.IP "\fB\-quiet\fR" 4 +.IX Item "-quiet" +Inhibit printing of session and certificate information. This implicitly +turns on \fB\-ign_eof\fR as well. +.IP "\fB\-no_ign_eof\fR" 4 +.IX Item "-no_ign_eof" +Shut down the connection when end of file is reached in the input. +Can be used to override the implicit \fB\-ign_eof\fR after \fB\-quiet\fR. +.IP "\fB\-psk_identity identity\fR" 4 +.IX Item "-psk_identity identity" +Use the \s-1PSK\s0 identity \fBidentity\fR when using a \s-1PSK\s0 cipher suite. +The default value is \*(L"Client_identity\*(R" (without the quotes). +.IP "\fB\-psk key\fR" 4 +.IX Item "-psk key" +Use the \s-1PSK\s0 key \fBkey\fR when using a \s-1PSK\s0 cipher suite. The key is +given as a hexadecimal number without leading 0x, for example \-psk +1a2b3c4d. +This option must be provided in order to use a \s-1PSK\s0 cipher. +.IP "\fB\-psk_session file\fR" 4 +.IX Item "-psk_session file" +Use the pem encoded \s-1SSL_SESSION\s0 data stored in \fBfile\fR as the basis of a \s-1PSK\s0. +Note that this will only work if TLSv1.3 is negotiated. +.IP "\fB\-ssl3\fR, \fB\-tls1\fR, \fB\-tls1_1\fR, \fB\-tls1_2\fR, \fB\-tls1_3\fR, \fB\-no_ssl3\fR, \fB\-no_tls1\fR, \fB\-no_tls1_1\fR, \fB\-no_tls1_2\fR, \fB\-no_tls1_3\fR" 4 +.IX Item "-ssl3, -tls1, -tls1_1, -tls1_2, -tls1_3, -no_ssl3, -no_tls1, -no_tls1_1, -no_tls1_2, -no_tls1_3" +These options require or disable the use of the specified \s-1SSL\s0 or \s-1TLS\s0 protocols. +By default \fBs_client\fR will negotiate the highest mutually supported protocol +version. +When a specific \s-1TLS\s0 version is required, only that version will be offered to +and accepted from the server. +Note that not all protocols and flags may be available, depending on how +OpenSSL was built. +.IP "\fB\-dtls\fR, \fB\-dtls1\fR, \fB\-dtls1_2\fR" 4 +.IX Item "-dtls, -dtls1, -dtls1_2" +These options make \fBs_client\fR use \s-1DTLS\s0 protocols instead of \s-1TLS\s0. +With \fB\-dtls\fR, \fBs_client\fR will negotiate any supported \s-1DTLS\s0 protocol version, +whilst \fB\-dtls1\fR and \fB\-dtls1_2\fR will only support \s-1DTLS1\s0.0 and \s-1DTLS1\s0.2 +respectively. +.IP "\fB\-sctp\fR" 4 +.IX Item "-sctp" +Use \s-1SCTP\s0 for the transport protocol instead of \s-1UDP\s0 in \s-1DTLS\s0. Must be used in +conjunction with \fB\-dtls\fR, \fB\-dtls1\fR or \fB\-dtls1_2\fR. This option is only +available where OpenSSL has support for \s-1SCTP\s0 enabled. +.IP "\fB\-sctp_label_bug\fR" 4 +.IX Item "-sctp_label_bug" +Use the incorrect behaviour of older OpenSSL implementations when computing +endpoint-pair shared secrets for \s-1DTLS/SCTP\s0. This allows communication with +older broken implementations but breaks interoperability with correct +implementations. Must be used in conjunction with \fB\-sctp\fR. This option is only +available where OpenSSL has support for \s-1SCTP\s0 enabled. +.IP "\fB\-fallback_scsv\fR" 4 +.IX Item "-fallback_scsv" +Send \s-1TLS_FALLBACK_SCSV\s0 in the ClientHello. +.IP "\fB\-async\fR" 4 +.IX Item "-async" +Switch on asynchronous mode. Cryptographic operations will be performed +asynchronously. This will only have an effect if an asynchronous capable engine +is also used via the \fB\-engine\fR option. For test purposes the dummy async engine +(dasync) can be used (if available). +.IP "\fB\-max_send_frag int\fR" 4 +.IX Item "-max_send_frag int" +The maximum size of data fragment to send. +See \fISSL_CTX_set_max_send_fragment\fR\|(3) for further information. +.IP "\fB\-split_send_frag int\fR" 4 +.IX Item "-split_send_frag int" +The size used to split data for encrypt pipelines. If more data is written in +one go than this value then it will be split into multiple pipelines, up to the +maximum number of pipelines defined by max_pipelines. This only has an effect if +a suitable cipher suite has been negotiated, an engine that supports pipelining +has been loaded, and max_pipelines is greater than 1. See +\&\fISSL_CTX_set_split_send_fragment\fR\|(3) for further information. +.IP "\fB\-max_pipelines int\fR" 4 +.IX Item "-max_pipelines int" +The maximum number of encrypt/decrypt pipelines to be used. This will only have +an effect if an engine has been loaded that supports pipelining (e.g. the dasync +engine) and a suitable cipher suite has been negotiated. The default value is 1. +See \fISSL_CTX_set_max_pipelines\fR\|(3) for further information. +.IP "\fB\-read_buf int\fR" 4 +.IX Item "-read_buf int" +The default read buffer size to be used for connections. This will only have an +effect if the buffer size is larger than the size that would otherwise be used +and pipelining is in use (see \fISSL_CTX_set_default_read_buffer_len\fR\|(3) for +further information). +.IP "\fB\-bugs\fR" 4 +.IX Item "-bugs" +There are several known bugs in \s-1SSL\s0 and \s-1TLS\s0 implementations. Adding this +option enables various workarounds. +.IP "\fB\-comp\fR" 4 +.IX Item "-comp" +Enables support for \s-1SSL/TLS\s0 compression. +This option was introduced in OpenSSL 1.1.0. +\&\s-1TLS\s0 compression is not recommended and is off by default as of +OpenSSL 1.1.0. +.IP "\fB\-no_comp\fR" 4 +.IX Item "-no_comp" +Disables support for \s-1SSL/TLS\s0 compression. +\&\s-1TLS\s0 compression is not recommended and is off by default as of +OpenSSL 1.1.0. +.IP "\fB\-brief\fR" 4 +.IX Item "-brief" +Only provide a brief summary of connection parameters instead of the +normal verbose output. +.IP "\fB\-sigalgs sigalglist\fR" 4 +.IX Item "-sigalgs sigalglist" +Specifies the list of signature algorithms that are sent by the client. +The server selects one entry in the list based on its preferences. +For example strings, see \fISSL_CTX_set1_sigalgs\fR\|(3) +.IP "\fB\-curves curvelist\fR" 4 +.IX Item "-curves curvelist" +Specifies the list of supported curves to be sent by the client. The curve is +ultimately selected by the server. For a list of all curves, use: +.Sp +.Vb 1 +\& $ openssl ecparam \-list_curves +.Ve +.IP "\fB\-cipher cipherlist\fR" 4 +.IX Item "-cipher cipherlist" +This allows the TLSv1.2 and below cipher list sent by the client to be modified. +This list will be combined with any TLSv1.3 ciphersuites that have been +configured. Although the server determines which ciphersuite is used it should +take the first supported cipher in the list sent by the client. See the +\&\fBciphers\fR command for more information. +.IP "\fB\-ciphersuites val\fR" 4 +.IX Item "-ciphersuites val" +This allows the TLSv1.3 ciphersuites sent by the client to be modified. This +list will be combined with any TLSv1.2 and below ciphersuites that have been +configured. Although the server determines which cipher suite is used it should +take the first supported cipher in the list sent by the client. See the +\&\fBciphers\fR command for more information. The format for this list is a simple +colon (\*(L":\*(R") separated list of TLSv1.3 ciphersuite names. +.IP "\fB\-starttls protocol\fR" 4 +.IX Item "-starttls protocol" +Send the protocol-specific message(s) to switch to \s-1TLS\s0 for communication. +\&\fBprotocol\fR is a keyword for the intended protocol. Currently, the only +supported keywords are \*(L"smtp\*(R", \*(L"pop3\*(R", \*(L"imap\*(R", \*(L"ftp\*(R", \*(L"xmpp\*(R", \*(L"xmpp-server\*(R", +\&\*(L"irc\*(R", \*(L"postgres\*(R", \*(L"mysql\*(R", \*(L"lmtp\*(R", \*(L"nntp\*(R", \*(L"sieve\*(R" and \*(L"ldap\*(R". +.IP "\fB\-xmpphost hostname\fR" 4 +.IX Item "-xmpphost hostname" +This option, when used with \*(L"\-starttls xmpp\*(R" or \*(L"\-starttls xmpp-server\*(R", +specifies the host for the \*(L"to\*(R" attribute of the stream element. +If this option is not specified, then the host specified with \*(L"\-connect\*(R" +will be used. +.Sp +This option is an alias of the \fB\-name\fR option for \*(L"xmpp\*(R" and \*(L"xmpp-server\*(R". +.IP "\fB\-name hostname\fR" 4 +.IX Item "-name hostname" +This option is used to specify hostname information for various protocols +used with \fB\-starttls\fR option. Currently only \*(L"xmpp\*(R", \*(L"xmpp-server\*(R", +\&\*(L"smtp\*(R" and \*(L"lmtp\*(R" can utilize this \fB\-name\fR option. +.Sp +If this option is used with \*(L"\-starttls xmpp\*(R" or \*(L"\-starttls xmpp-server\*(R", +if specifies the host for the \*(L"to\*(R" attribute of the stream element. If this +option is not specified, then the host specified with \*(L"\-connect\*(R" will be used. +.Sp +If this option is used with \*(L"\-starttls lmtp\*(R" or \*(L"\-starttls smtp\*(R", it specifies +the name to use in the \*(L"\s-1LMTP\s0 \s-1LHLO\s0\*(R" or \*(L"\s-1SMTP\s0 \s-1EHLO\s0\*(R" message, respectively. If +this option is not specified, then \*(L"mail.example.com\*(R" will be used. +.IP "\fB\-tlsextdebug\fR" 4 +.IX Item "-tlsextdebug" +Print out a hex dump of any \s-1TLS\s0 extensions received from the server. +.IP "\fB\-no_ticket\fR" 4 +.IX Item "-no_ticket" +Disable RFC4507bis session ticket support. +.IP "\fB\-sess_out filename\fR" 4 +.IX Item "-sess_out filename" +Output \s-1SSL\s0 session to \fBfilename\fR. +.IP "\fB\-sess_in sess.pem\fR" 4 +.IX Item "-sess_in sess.pem" +Load \s-1SSL\s0 session from \fBfilename\fR. The client will attempt to resume a +connection from this session. +.IP "\fB\-engine id\fR" 4 +.IX Item "-engine id" +Specifying an engine (by its unique \fBid\fR string) will cause \fBs_client\fR +to attempt to obtain a functional reference to the specified engine, +thus initialising it if needed. The engine will then be set as the default +for all available algorithms. +.IP "\fB\-rand file...\fR" 4 +.IX Item "-rand file..." +A file or files containing random data used to seed the random number +generator. +Multiple files can be specified separated by an OS-dependent character. +The separator is \fB;\fR for MS-Windows, \fB,\fR for OpenVMS, and \fB:\fR for +all others. +.IP "[\fB\-writerand file\fR]" 4 +.IX Item "[-writerand file]" +Writes random data to the specified \fIfile\fR upon exit. +This can be used with a subsequent \fB\-rand\fR flag. +.IP "\fB\-serverinfo types\fR" 4 +.IX Item "-serverinfo types" +A list of comma-separated \s-1TLS\s0 Extension Types (numbers between 0 and +65535). Each type will be sent as an empty ClientHello \s-1TLS\s0 Extension. +The server's response (if any) will be encoded and displayed as a \s-1PEM\s0 +file. +.IP "\fB\-status\fR" 4 +.IX Item "-status" +Sends a certificate status request to the server (\s-1OCSP\s0 stapling). The server +response (if any) is printed out. +.IP "\fB\-alpn protocols\fR, \fB\-nextprotoneg protocols\fR" 4 +.IX Item "-alpn protocols, -nextprotoneg protocols" +These flags enable the Enable the Application-Layer Protocol Negotiation +or Next Protocol Negotiation (\s-1NPN\s0) extension, respectively. \s-1ALPN\s0 is the +\&\s-1IETF\s0 standard and replaces \s-1NPN\s0. +The \fBprotocols\fR list is a comma-separated list of protocol names that +the client should advertise support for. The list should contain the most +desirable protocols first. Protocol names are printable \s-1ASCII\s0 strings, +for example \*(L"http/1.1\*(R" or \*(L"spdy/3\*(R". +An empty list of protocols is treated specially and will cause the +client to advertise support for the \s-1TLS\s0 extension but disconnect just +after receiving ServerHello with a list of server supported protocols. +The flag \fB\-nextprotoneg\fR cannot be specified if \fB\-tls1_3\fR is used. +.IP "\fB\-ct\fR, \fB\-noct\fR" 4 +.IX Item "-ct, -noct" +Use one of these two options to control whether Certificate Transparency (\s-1CT\s0) +is enabled (\fB\-ct\fR) or disabled (\fB\-noct\fR). +If \s-1CT\s0 is enabled, signed certificate timestamps (SCTs) will be requested from +the server and reported at handshake completion. +.Sp +Enabling \s-1CT\s0 also enables \s-1OCSP\s0 stapling, as this is one possible delivery method +for SCTs. +.IP "\fB\-ctlogfile\fR" 4 +.IX Item "-ctlogfile" +A file containing a list of known Certificate Transparency logs. See +\&\fISSL_CTX_set_ctlog_list_file\fR\|(3) for the expected file format. +.IP "\fB\-keylogfile file\fR" 4 +.IX Item "-keylogfile file" +Appends \s-1TLS\s0 secrets to the specified keylog file such that external programs +(like Wireshark) can decrypt \s-1TLS\s0 connections. +.IP "\fB\-early_data file\fR" 4 +.IX Item "-early_data file" +Reads the contents of the specified file and attempts to send it as early data +to the server. This will only work with resumed sessions that support early +data and when the server accepts the early data. +.IP "\fB\-enable_pha\fR" 4 +.IX Item "-enable_pha" +For TLSv1.3 only, send the Post-Handshake Authentication extension. This will +happen whether or not a certificate has been provided via \fB\-cert\fR. +.IP "\fB[target]\fR" 4 +.IX Item "[target]" +Rather than providing \fB\-connect\fR, the target hostname and optional port may +be provided as a single positional argument after all options. If neither this +nor \fB\-connect\fR are provided, falls back to attempting to connect to localhost +on port 4433. +.SH "CONNECTED COMMANDS" +.IX Header "CONNECTED COMMANDS" +If a connection is established with an \s-1SSL\s0 server then any data received +from the server is displayed and any key presses will be sent to the +server. If end of file is reached then the connection will be closed down. When +used interactively (which means neither \fB\-quiet\fR nor \fB\-ign_eof\fR have been +given), then certain commands are also recognized which perform special +operations. These commands are a letter which must appear at the start of a +line. They are listed below. +.IP "\fBQ\fR" 4 +.IX Item "Q" +End the current \s-1SSL\s0 connection and exit. +.IP "\fBR\fR" 4 +.IX Item "R" +Renegotiate the \s-1SSL\s0 session (TLSv1.2 and below only). +.IP "\fBB\fR" 4 +.IX Item "B" +Send a heartbeat message to the server (\s-1DTLS\s0 only) +.IP "\fBk\fR" 4 +.IX Item "k" +Send a key update message to the server (TLSv1.3 only) +.IP "\fBK\fR" 4 +.IX Item "K" +Send a key update message to the server and request one back (TLSv1.3 only) +.SH "NOTES" +.IX Header "NOTES" +\&\fBs_client\fR can be used to debug \s-1SSL\s0 servers. To connect to an \s-1SSL\s0 \s-1HTTP\s0 +server the command: +.PP +.Vb 1 +\& openssl s_client \-connect servername:443 +.Ve +.PP +would typically be used (https uses port 443). If the connection succeeds +then an \s-1HTTP\s0 command can be given such as \*(L"\s-1GET\s0 /\*(R" to retrieve a web page. +.PP +If the handshake fails then there are several possible causes, if it is +nothing obvious like no client certificate then the \fB\-bugs\fR, +\&\fB\-ssl3\fR, \fB\-tls1\fR, \fB\-no_ssl3\fR, \fB\-no_tls1\fR options can be tried +in case it is a buggy server. In particular you should play with these +options \fBbefore\fR submitting a bug report to an OpenSSL mailing list. +.PP +A frequent problem when attempting to get client certificates working +is that a web client complains it has no certificates or gives an empty +list to choose from. This is normally because the server is not sending +the clients certificate authority in its \*(L"acceptable \s-1CA\s0 list\*(R" when it +requests a certificate. By using \fBs_client\fR the \s-1CA\s0 list can be viewed +and checked. However some servers only request client authentication +after a specific \s-1URL\s0 is requested. To obtain the list in this case it +is necessary to use the \fB\-prexit\fR option and send an \s-1HTTP\s0 request +for an appropriate page. +.PP +If a certificate is specified on the command line using the \fB\-cert\fR +option it will not be used unless the server specifically requests +a client certificate. Therefor merely including a client certificate +on the command line is no guarantee that the certificate works. +.PP +If there are problems verifying a server certificate then the +\&\fB\-showcerts\fR option can be used to show all the certificates sent by the +server. +.PP +The \fBs_client\fR utility is a test tool and is designed to continue the +handshake after any certificate verification errors. As a result it will +accept any certificate chain (trusted or not) sent by the peer. None test +applications should \fBnot\fR do this as it makes them vulnerable to a \s-1MITM\s0 +attack. This behaviour can be changed by with the \fB\-verify_return_error\fR +option: any verify errors are then returned aborting the handshake. +.PP +The \fB\-bind\fR option may be useful if the server or a firewall requires +connections to come from some particular address and or port. +.SH "BUGS" +.IX Header "BUGS" +Because this program has a lot of options and also because some of the +techniques used are rather old, the C source of \fBs_client\fR is rather hard to +read and not a model of how things should be done. +A typical \s-1SSL\s0 client program would be much simpler. +.PP +The \fB\-prexit\fR option is a bit of a hack. We should really report +information whenever a session is renegotiated. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fISSL_CONF_cmd\fR\|(3), \fIsess_id\fR\|(1), \fIs_server\fR\|(1), \fIciphers\fR\|(1), +\&\fISSL_CTX_set_max_send_fragment\fR\|(3), \fISSL_CTX_set_split_send_fragment\fR\|(3), +\&\fISSL_CTX_set_max_pipelines\fR\|(3) +.SH "HISTORY" +.IX Header "HISTORY" +The \fB\-no_alt_chains\fR option was added in OpenSSL 1.1.0. +The \fB\-name\fR option was added in OpenSSL 1.1.1. +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man1/s_server.1 b/linux_amd64/share/man/man1/s_server.1 new file mode 100644 index 0000000..b6aa9ef --- /dev/null +++ b/linux_amd64/share/man/man1/s_server.1 @@ -0,0 +1,859 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "S_SERVER 1" +.TH S_SERVER 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +openssl\-s_server, s_server \- SSL/TLS server program +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBopenssl\fR \fBs_server\fR +[\fB\-help\fR] +[\fB\-port +int\fR] +[\fB\-accept val\fR] +[\fB\-unix val\fR] +[\fB\-4\fR] +[\fB\-6\fR] +[\fB\-unlink\fR] +[\fB\-context val\fR] +[\fB\-verify int\fR] +[\fB\-Verify int\fR] +[\fB\-cert infile\fR] +[\fB\-nameopt val\fR] +[\fB\-naccept +int\fR] +[\fB\-serverinfo val\fR] +[\fB\-certform PEM|DER\fR] +[\fB\-key infile\fR] +[\fB\-keyform format\fR] +[\fB\-pass val\fR] +[\fB\-dcert infile\fR] +[\fB\-dcertform PEM|DER\fR] +[\fB\-dkey infile\fR] +[\fB\-dkeyform PEM|DER\fR] +[\fB\-dpass val\fR] +[\fB\-nbio_test\fR] +[\fB\-crlf\fR] +[\fB\-debug\fR] +[\fB\-msg\fR] +[\fB\-msgfile outfile\fR] +[\fB\-state\fR] +[\fB\-CAfile infile\fR] +[\fB\-CApath dir\fR] +[\fB\-no\-CAfile\fR] +[\fB\-no\-CApath\fR] +[\fB\-nocert\fR] +[\fB\-quiet\fR] +[\fB\-no_resume_ephemeral\fR] +[\fB\-www\fR] +[\fB\-WWW\fR] +[\fB\-servername\fR] +[\fB\-servername_fatal\fR] +[\fB\-cert2 infile\fR] +[\fB\-key2 infile\fR] +[\fB\-tlsextdebug\fR] +[\fB\-HTTP\fR] +[\fB\-id_prefix val\fR] +[\fB\-rand file...\fR] +[\fB\-writerand file\fR] +[\fB\-keymatexport val\fR] +[\fB\-keymatexportlen +int\fR] +[\fB\-CRL infile\fR] +[\fB\-crl_download\fR] +[\fB\-cert_chain infile\fR] +[\fB\-dcert_chain infile\fR] +[\fB\-chainCApath dir\fR] +[\fB\-verifyCApath dir\fR] +[\fB\-no_cache\fR] +[\fB\-ext_cache\fR] +[\fB\-CRLform PEM|DER\fR] +[\fB\-verify_return_error\fR] +[\fB\-verify_quiet\fR] +[\fB\-build_chain\fR] +[\fB\-chainCAfile infile\fR] +[\fB\-verifyCAfile infile\fR] +[\fB\-ign_eof\fR] +[\fB\-no_ign_eof\fR] +[\fB\-status\fR] +[\fB\-status_verbose\fR] +[\fB\-status_timeout int\fR] +[\fB\-status_url val\fR] +[\fB\-status_file infile\fR] +[\fB\-trace\fR] +[\fB\-security_debug\fR] +[\fB\-security_debug_verbose\fR] +[\fB\-brief\fR] +[\fB\-rev\fR] +[\fB\-async\fR] +[\fB\-ssl_config val\fR] +[\fB\-max_send_frag +int\fR] +[\fB\-split_send_frag +int\fR] +[\fB\-max_pipelines +int\fR] +[\fB\-read_buf +int\fR] +[\fB\-no_ssl3\fR] +[\fB\-no_tls1\fR] +[\fB\-no_tls1_1\fR] +[\fB\-no_tls1_2\fR] +[\fB\-no_tls1_3\fR] +[\fB\-bugs\fR] +[\fB\-no_comp\fR] +[\fB\-comp\fR] +[\fB\-no_ticket\fR] +[\fB\-num_tickets\fR] +[\fB\-serverpref\fR] +[\fB\-legacy_renegotiation\fR] +[\fB\-no_renegotiation\fR] +[\fB\-legacy_server_connect\fR] +[\fB\-no_resumption_on_reneg\fR] +[\fB\-no_legacy_server_connect\fR] +[\fB\-allow_no_dhe_kex\fR] +[\fB\-prioritize_chacha\fR] +[\fB\-strict\fR] +[\fB\-sigalgs val\fR] +[\fB\-client_sigalgs val\fR] +[\fB\-groups val\fR] +[\fB\-curves val\fR] +[\fB\-named_curve val\fR] +[\fB\-cipher val\fR] +[\fB\-ciphersuites val\fR] +[\fB\-dhparam infile\fR] +[\fB\-record_padding val\fR] +[\fB\-debug_broken_protocol\fR] +[\fB\-policy val\fR] +[\fB\-purpose val\fR] +[\fB\-verify_name val\fR] +[\fB\-verify_depth int\fR] +[\fB\-auth_level int\fR] +[\fB\-attime intmax\fR] +[\fB\-verify_hostname val\fR] +[\fB\-verify_email val\fR] +[\fB\-verify_ip\fR] +[\fB\-ignore_critical\fR] +[\fB\-issuer_checks\fR] +[\fB\-crl_check\fR] +[\fB\-crl_check_all\fR] +[\fB\-policy_check\fR] +[\fB\-explicit_policy\fR] +[\fB\-inhibit_any\fR] +[\fB\-inhibit_map\fR] +[\fB\-x509_strict\fR] +[\fB\-extended_crl\fR] +[\fB\-use_deltas\fR] +[\fB\-policy_print\fR] +[\fB\-check_ss_sig\fR] +[\fB\-trusted_first\fR] +[\fB\-suiteB_128_only\fR] +[\fB\-suiteB_128\fR] +[\fB\-suiteB_192\fR] +[\fB\-partial_chain\fR] +[\fB\-no_alt_chains\fR] +[\fB\-no_check_time\fR] +[\fB\-allow_proxy_certs\fR] +[\fB\-xkey\fR] +[\fB\-xcert\fR] +[\fB\-xchain\fR] +[\fB\-xchain_build\fR] +[\fB\-xcertform PEM|DER\fR] +[\fB\-xkeyform PEM|DER\fR] +[\fB\-nbio\fR] +[\fB\-psk_identity val\fR] +[\fB\-psk_hint val\fR] +[\fB\-psk val\fR] +[\fB\-psk_session file\fR] +[\fB\-srpvfile infile\fR] +[\fB\-srpuserseed val\fR] +[\fB\-ssl3\fR] +[\fB\-tls1\fR] +[\fB\-tls1_1\fR] +[\fB\-tls1_2\fR] +[\fB\-tls1_3\fR] +[\fB\-dtls\fR] +[\fB\-timeout\fR] +[\fB\-mtu +int\fR] +[\fB\-listen\fR] +[\fB\-dtls1\fR] +[\fB\-dtls1_2\fR] +[\fB\-sctp\fR] +[\fB\-sctp_label_bug\fR] +[\fB\-no_dhe\fR] +[\fB\-nextprotoneg val\fR] +[\fB\-use_srtp val\fR] +[\fB\-alpn val\fR] +[\fB\-engine val\fR] +[\fB\-keylogfile outfile\fR] +[\fB\-max_early_data int\fR] +[\fB\-early_data\fR] +[\fB\-anti_replay\fR] +[\fB\-no_anti_replay\fR] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The \fBs_server\fR command implements a generic \s-1SSL/TLS\s0 server which listens +for connections on a given port using \s-1SSL/TLS\s0. +.SH "OPTIONS" +.IX Header "OPTIONS" +In addition to the options below the \fBs_server\fR utility also supports the +common and server only options documented +in the \*(L"Supported Command Line Commands\*(R" section of the \fISSL_CONF_cmd\fR\|(3) +manual page. +.IP "\fB\-help\fR" 4 +.IX Item "-help" +Print out a usage message. +.IP "\fB\-port +int\fR" 4 +.IX Item "-port +int" +The \s-1TCP\s0 port to listen on for connections. If not specified 4433 is used. +.IP "\fB\-accept val\fR" 4 +.IX Item "-accept val" +The optional \s-1TCP\s0 host and port to listen on for connections. If not specified, *:4433 is used. +.IP "\fB\-unix val\fR" 4 +.IX Item "-unix val" +Unix domain socket to accept on. +.IP "\fB\-4\fR" 4 +.IX Item "-4" +Use IPv4 only. +.IP "\fB\-6\fR" 4 +.IX Item "-6" +Use IPv6 only. +.IP "\fB\-unlink\fR" 4 +.IX Item "-unlink" +For \-unix, unlink any existing socket first. +.IP "\fB\-context val\fR" 4 +.IX Item "-context val" +Sets the \s-1SSL\s0 context id. It can be given any string value. If this option +is not present a default value will be used. +.IP "\fB\-verify int\fR, \fB\-Verify int\fR" 4 +.IX Item "-verify int, -Verify int" +The verify depth to use. This specifies the maximum length of the +client certificate chain and makes the server request a certificate from +the client. With the \fB\-verify\fR option a certificate is requested but the +client does not have to send one, with the \fB\-Verify\fR option the client +must supply a certificate or an error occurs. +.Sp +If the cipher suite cannot request a client certificate (for example an +anonymous cipher suite or \s-1PSK\s0) this option has no effect. +.IP "\fB\-cert infile\fR" 4 +.IX Item "-cert infile" +The certificate to use, most servers cipher suites require the use of a +certificate and some require a certificate with a certain public key type: +for example the \s-1DSS\s0 cipher suites require a certificate containing a \s-1DSS\s0 +(\s-1DSA\s0) key. If not specified then the filename \*(L"server.pem\*(R" will be used. +.IP "\fB\-cert_chain\fR" 4 +.IX Item "-cert_chain" +A file containing trusted certificates to use when attempting to build the +client/server certificate chain related to the certificate specified via the +\&\fB\-cert\fR option. +.IP "\fB\-build_chain\fR" 4 +.IX Item "-build_chain" +Specify whether the application should build the certificate chain to be +provided to the client. +.IP "\fB\-nameopt val\fR" 4 +.IX Item "-nameopt val" +Option which determines how the subject or issuer names are displayed. The +\&\fBval\fR argument can be a single option or multiple options separated by +commas. Alternatively the \fB\-nameopt\fR switch may be used more than once to +set multiple options. See the \fIx509\fR\|(1) manual page for details. +.IP "\fB\-naccept +int\fR" 4 +.IX Item "-naccept +int" +The server will exit after receiving the specified number of connections, +default unlimited. +.IP "\fB\-serverinfo val\fR" 4 +.IX Item "-serverinfo val" +A file containing one or more blocks of \s-1PEM\s0 data. Each \s-1PEM\s0 block +must encode a \s-1TLS\s0 ServerHello extension (2 bytes type, 2 bytes length, +followed by \*(L"length\*(R" bytes of extension data). If the client sends +an empty \s-1TLS\s0 ClientHello extension matching the type, the corresponding +ServerHello extension will be returned. +.IP "\fB\-certform PEM|DER\fR" 4 +.IX Item "-certform PEM|DER" +The certificate format to use: \s-1DER\s0 or \s-1PEM\s0. \s-1PEM\s0 is the default. +.IP "\fB\-key infile\fR" 4 +.IX Item "-key infile" +The private key to use. If not specified then the certificate file will +be used. +.IP "\fB\-keyform format\fR" 4 +.IX Item "-keyform format" +The private format to use: \s-1DER\s0 or \s-1PEM\s0. \s-1PEM\s0 is the default. +.IP "\fB\-pass val\fR" 4 +.IX Item "-pass val" +The private key password source. For more information about the format of \fBval\fR +see the \fB\s-1PASS\s0 \s-1PHRASE\s0 \s-1ARGUMENTS\s0\fR section in \fIopenssl\fR\|(1). +.IP "\fB\-dcert infile\fR, \fB\-dkey infile\fR" 4 +.IX Item "-dcert infile, -dkey infile" +Specify an additional certificate and private key, these behave in the +same manner as the \fB\-cert\fR and \fB\-key\fR options except there is no default +if they are not specified (no additional certificate and key is used). As +noted above some cipher suites require a certificate containing a key of +a certain type. Some cipher suites need a certificate carrying an \s-1RSA\s0 key +and some a \s-1DSS\s0 (\s-1DSA\s0) key. By using \s-1RSA\s0 and \s-1DSS\s0 certificates and keys +a server can support clients which only support \s-1RSA\s0 or \s-1DSS\s0 cipher suites +by using an appropriate certificate. +.IP "\fB\-dcert_chain\fR" 4 +.IX Item "-dcert_chain" +A file containing trusted certificates to use when attempting to build the +server certificate chain when a certificate specified via the \fB\-dcert\fR option +is in use. +.IP "\fB\-dcertform PEM|DER\fR, \fB\-dkeyform PEM|DER\fR, \fB\-dpass val\fR" 4 +.IX Item "-dcertform PEM|DER, -dkeyform PEM|DER, -dpass val" +Additional certificate and private key format and passphrase respectively. +.IP "\fB\-xkey infile\fR, \fB\-xcert infile\fR, \fB\-xchain\fR" 4 +.IX Item "-xkey infile, -xcert infile, -xchain" +Specify an extra certificate, private key and certificate chain. These behave +in the same manner as the \fB\-cert\fR, \fB\-key\fR and \fB\-cert_chain\fR options. When +specified, the callback returning the first valid chain will be in use by +the server. +.IP "\fB\-xchain_build\fR" 4 +.IX Item "-xchain_build" +Specify whether the application should build the certificate chain to be +provided to the client for the extra certificates provided via \fB\-xkey infile\fR, +\&\fB\-xcert infile\fR, \fB\-xchain\fR options. +.IP "\fB\-xcertform PEM|DER\fR, \fB\-xkeyform PEM|DER\fR" 4 +.IX Item "-xcertform PEM|DER, -xkeyform PEM|DER" +Extra certificate and private key format respectively. +.IP "\fB\-nbio_test\fR" 4 +.IX Item "-nbio_test" +Tests non blocking I/O. +.IP "\fB\-crlf\fR" 4 +.IX Item "-crlf" +This option translated a line feed from the terminal into \s-1CR+LF\s0. +.IP "\fB\-debug\fR" 4 +.IX Item "-debug" +Print extensive debugging information including a hex dump of all traffic. +.IP "\fB\-msg\fR" 4 +.IX Item "-msg" +Show all protocol messages with hex dump. +.IP "\fB\-msgfile outfile\fR" 4 +.IX Item "-msgfile outfile" +File to send output of \fB\-msg\fR or \fB\-trace\fR to, default standard output. +.IP "\fB\-state\fR" 4 +.IX Item "-state" +Prints the \s-1SSL\s0 session states. +.IP "\fB\-CAfile infile\fR" 4 +.IX Item "-CAfile infile" +A file containing trusted certificates to use during client authentication +and to use when attempting to build the server certificate chain. The list +is also used in the list of acceptable client CAs passed to the client when +a certificate is requested. +.IP "\fB\-CApath dir\fR" 4 +.IX Item "-CApath dir" +The directory to use for client certificate verification. This directory +must be in \*(L"hash format\*(R", see \fIverify\fR\|(1) for more information. These are +also used when building the server certificate chain. +.IP "\fB\-chainCApath dir\fR" 4 +.IX Item "-chainCApath dir" +The directory to use for building the chain provided to the client. This +directory must be in \*(L"hash format\*(R", see \fIverify\fR\|(1) for more information. +.IP "\fB\-chainCAfile file\fR" 4 +.IX Item "-chainCAfile file" +A file containing trusted certificates to use when attempting to build the +server certificate chain. +.IP "\fB\-no\-CAfile\fR" 4 +.IX Item "-no-CAfile" +Do not load the trusted \s-1CA\s0 certificates from the default file location. +.IP "\fB\-no\-CApath\fR" 4 +.IX Item "-no-CApath" +Do not load the trusted \s-1CA\s0 certificates from the default directory location. +.IP "\fB\-nocert\fR" 4 +.IX Item "-nocert" +If this option is set then no certificate is used. This restricts the +cipher suites available to the anonymous ones (currently just anonymous +\&\s-1DH\s0). +.IP "\fB\-quiet\fR" 4 +.IX Item "-quiet" +Inhibit printing of session and certificate information. +.IP "\fB\-www\fR" 4 +.IX Item "-www" +Sends a status message back to the client when it connects. This includes +information about the ciphers used and various session parameters. +The output is in \s-1HTML\s0 format so this option will normally be used with a +web browser. Cannot be used in conjunction with \fB\-early_data\fR. +.IP "\fB\-WWW\fR" 4 +.IX Item "-WWW" +Emulates a simple web server. Pages will be resolved relative to the +current directory, for example if the \s-1URL\s0 https://myhost/page.html is +requested the file ./page.html will be loaded. Cannot be used in conjunction +with \fB\-early_data\fR. +.IP "\fB\-tlsextdebug\fR" 4 +.IX Item "-tlsextdebug" +Print a hex dump of any \s-1TLS\s0 extensions received from the server. +.IP "\fB\-HTTP\fR" 4 +.IX Item "-HTTP" +Emulates a simple web server. Pages will be resolved relative to the +current directory, for example if the \s-1URL\s0 https://myhost/page.html is +requested the file ./page.html will be loaded. The files loaded are +assumed to contain a complete and correct \s-1HTTP\s0 response (lines that +are part of the \s-1HTTP\s0 response line and headers must end with \s-1CRLF\s0). Cannot be +used in conjunction with \fB\-early_data\fR. +.IP "\fB\-id_prefix val\fR" 4 +.IX Item "-id_prefix val" +Generate \s-1SSL/TLS\s0 session IDs prefixed by \fBval\fR. This is mostly useful +for testing any \s-1SSL/TLS\s0 code (eg. proxies) that wish to deal with multiple +servers, when each of which might be generating a unique range of session +IDs (eg. with a certain prefix). +.IP "\fB\-rand file...\fR" 4 +.IX Item "-rand file..." +A file or files containing random data used to seed the random number +generator. +Multiple files can be specified separated by an OS-dependent character. +The separator is \fB;\fR for MS-Windows, \fB,\fR for OpenVMS, and \fB:\fR for +all others. +.IP "[\fB\-writerand file\fR]" 4 +.IX Item "[-writerand file]" +Writes random data to the specified \fIfile\fR upon exit. +This can be used with a subsequent \fB\-rand\fR flag. +.IP "\fB\-verify_return_error\fR" 4 +.IX Item "-verify_return_error" +Verification errors normally just print a message but allow the +connection to continue, for debugging purposes. +If this option is used, then verification errors close the connection. +.IP "\fB\-status\fR" 4 +.IX Item "-status" +Enables certificate status request support (aka \s-1OCSP\s0 stapling). +.IP "\fB\-status_verbose\fR" 4 +.IX Item "-status_verbose" +Enables certificate status request support (aka \s-1OCSP\s0 stapling) and gives +a verbose printout of the \s-1OCSP\s0 response. +.IP "\fB\-status_timeout int\fR" 4 +.IX Item "-status_timeout int" +Sets the timeout for \s-1OCSP\s0 response to \fBint\fR seconds. +.IP "\fB\-status_url val\fR" 4 +.IX Item "-status_url val" +Sets a fallback responder \s-1URL\s0 to use if no responder \s-1URL\s0 is present in the +server certificate. Without this option an error is returned if the server +certificate does not contain a responder address. +.IP "\fB\-status_file infile\fR" 4 +.IX Item "-status_file infile" +Overrides any \s-1OCSP\s0 responder URLs from the certificate and always provides the +\&\s-1OCSP\s0 Response stored in the file. The file must be in \s-1DER\s0 format. +.IP "\fB\-trace\fR" 4 +.IX Item "-trace" +Show verbose trace output of protocol messages. OpenSSL needs to be compiled +with \fBenable-ssl-trace\fR for this option to work. +.IP "\fB\-brief\fR" 4 +.IX Item "-brief" +Provide a brief summary of connection parameters instead of the normal verbose +output. +.IP "\fB\-rev\fR" 4 +.IX Item "-rev" +Simple test server which just reverses the text received from the client +and sends it back to the server. Also sets \fB\-brief\fR. Cannot be used in +conjunction with \fB\-early_data\fR. +.IP "\fB\-async\fR" 4 +.IX Item "-async" +Switch on asynchronous mode. Cryptographic operations will be performed +asynchronously. This will only have an effect if an asynchronous capable engine +is also used via the \fB\-engine\fR option. For test purposes the dummy async engine +(dasync) can be used (if available). +.IP "\fB\-max_send_frag +int\fR" 4 +.IX Item "-max_send_frag +int" +The maximum size of data fragment to send. +See \fISSL_CTX_set_max_send_fragment\fR\|(3) for further information. +.IP "\fB\-split_send_frag +int\fR" 4 +.IX Item "-split_send_frag +int" +The size used to split data for encrypt pipelines. If more data is written in +one go than this value then it will be split into multiple pipelines, up to the +maximum number of pipelines defined by max_pipelines. This only has an effect if +a suitable cipher suite has been negotiated, an engine that supports pipelining +has been loaded, and max_pipelines is greater than 1. See +\&\fISSL_CTX_set_split_send_fragment\fR\|(3) for further information. +.IP "\fB\-max_pipelines +int\fR" 4 +.IX Item "-max_pipelines +int" +The maximum number of encrypt/decrypt pipelines to be used. This will only have +an effect if an engine has been loaded that supports pipelining (e.g. the dasync +engine) and a suitable cipher suite has been negotiated. The default value is 1. +See \fISSL_CTX_set_max_pipelines\fR\|(3) for further information. +.IP "\fB\-read_buf +int\fR" 4 +.IX Item "-read_buf +int" +The default read buffer size to be used for connections. This will only have an +effect if the buffer size is larger than the size that would otherwise be used +and pipelining is in use (see \fISSL_CTX_set_default_read_buffer_len\fR\|(3) for +further information). +.IP "\fB\-ssl2\fR, \fB\-ssl3\fR, \fB\-tls1\fR, \fB\-tls1_1\fR, \fB\-tls1_2\fR, \fB\-tls1_3\fR, \fB\-no_ssl2\fR, \fB\-no_ssl3\fR, \fB\-no_tls1\fR, \fB\-no_tls1_1\fR, \fB\-no_tls1_2\fR, \fB\-no_tls1_3\fR" 4 +.IX Item "-ssl2, -ssl3, -tls1, -tls1_1, -tls1_2, -tls1_3, -no_ssl2, -no_ssl3, -no_tls1, -no_tls1_1, -no_tls1_2, -no_tls1_3" +These options require or disable the use of the specified \s-1SSL\s0 or \s-1TLS\s0 protocols. +By default \fBs_server\fR will negotiate the highest mutually supported protocol +version. +When a specific \s-1TLS\s0 version is required, only that version will be accepted +from the client. +Note that not all protocols and flags may be available, depending on how +OpenSSL was built. +.IP "\fB\-bugs\fR" 4 +.IX Item "-bugs" +There are several known bugs in \s-1SSL\s0 and \s-1TLS\s0 implementations. Adding this +option enables various workarounds. +.IP "\fB\-no_comp\fR" 4 +.IX Item "-no_comp" +Disable negotiation of \s-1TLS\s0 compression. +\&\s-1TLS\s0 compression is not recommended and is off by default as of +OpenSSL 1.1.0. +.IP "\fB\-comp\fR" 4 +.IX Item "-comp" +Enable negotiation of \s-1TLS\s0 compression. +This option was introduced in OpenSSL 1.1.0. +\&\s-1TLS\s0 compression is not recommended and is off by default as of +OpenSSL 1.1.0. +.IP "\fB\-no_ticket\fR" 4 +.IX Item "-no_ticket" +Disable RFC4507bis session ticket support. This option has no effect if TLSv1.3 +is negotiated. See \fB\-num_tickets\fR. +.IP "\fB\-num_tickets\fR" 4 +.IX Item "-num_tickets" +Control the number of tickets that will be sent to the client after a full +handshake in TLSv1.3. The default number of tickets is 2. This option does not +affect the number of tickets sent after a resumption handshake. +.IP "\fB\-serverpref\fR" 4 +.IX Item "-serverpref" +Use the server's cipher preferences, rather than the client's preferences. +.IP "\fB\-prioritize_chacha\fR" 4 +.IX Item "-prioritize_chacha" +Prioritize ChaCha ciphers when preferred by clients. Requires \fB\-serverpref\fR. +.IP "\fB\-no_resumption_on_reneg\fR" 4 +.IX Item "-no_resumption_on_reneg" +Set the \fB\s-1SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION\s0\fR option. +.IP "\fB\-client_sigalgs val\fR" 4 +.IX Item "-client_sigalgs val" +Signature algorithms to support for client certificate authentication +(colon-separated list). +.IP "\fB\-named_curve val\fR" 4 +.IX Item "-named_curve val" +Specifies the elliptic curve to use. \s-1NOTE:\s0 this is single curve, not a list. +For a list of all possible curves, use: +.Sp +.Vb 1 +\& $ openssl ecparam \-list_curves +.Ve +.IP "\fB\-cipher val\fR" 4 +.IX Item "-cipher val" +This allows the list of TLSv1.2 and below ciphersuites used by the server to be +modified. This list is combined with any TLSv1.3 ciphersuites that have been +configured. When the client sends a list of supported ciphers the first client +cipher also included in the server list is used. Because the client specifies +the preference order, the order of the server cipherlist is irrelevant. See +the \fBciphers\fR command for more information. +.IP "\fB\-ciphersuites val\fR" 4 +.IX Item "-ciphersuites val" +This allows the list of TLSv1.3 ciphersuites used by the server to be modified. +This list is combined with any TLSv1.2 and below ciphersuites that have been +configured. When the client sends a list of supported ciphers the first client +cipher also included in the server list is used. Because the client specifies +the preference order, the order of the server cipherlist is irrelevant. See +the \fBciphers\fR command for more information. The format for this list is a +simple colon (\*(L":\*(R") separated list of TLSv1.3 ciphersuite names. +.IP "\fB\-dhparam infile\fR" 4 +.IX Item "-dhparam infile" +The \s-1DH\s0 parameter file to use. The ephemeral \s-1DH\s0 cipher suites generate keys +using a set of \s-1DH\s0 parameters. If not specified then an attempt is made to +load the parameters from the server certificate file. +If this fails then a static set of parameters hard coded into the \fBs_server\fR +program will be used. +.IP "\fB\-attime\fR, \fB\-check_ss_sig\fR, \fB\-crl_check\fR, \fB\-crl_check_all\fR, \fB\-explicit_policy\fR, \fB\-extended_crl\fR, \fB\-ignore_critical\fR, \fB\-inhibit_any\fR, \fB\-inhibit_map\fR, \fB\-no_alt_chains\fR, \fB\-no_check_time\fR, \fB\-partial_chain\fR, \fB\-policy\fR, \fB\-policy_check\fR, \fB\-policy_print\fR, \fB\-purpose\fR, \fB\-suiteB_128\fR, \fB\-suiteB_128_only\fR, \fB\-suiteB_192\fR, \fB\-trusted_first\fR, \fB\-use_deltas\fR, \fB\-auth_level\fR, \fB\-verify_depth\fR, \fB\-verify_email\fR, \fB\-verify_hostname\fR, \fB\-verify_ip\fR, \fB\-verify_name\fR, \fB\-x509_strict\fR" 4 +.IX Item "-attime, -check_ss_sig, -crl_check, -crl_check_all, -explicit_policy, -extended_crl, -ignore_critical, -inhibit_any, -inhibit_map, -no_alt_chains, -no_check_time, -partial_chain, -policy, -policy_check, -policy_print, -purpose, -suiteB_128, -suiteB_128_only, -suiteB_192, -trusted_first, -use_deltas, -auth_level, -verify_depth, -verify_email, -verify_hostname, -verify_ip, -verify_name, -x509_strict" +Set different peer certificate verification options. +See the \fIverify\fR\|(1) manual page for details. +.IP "\fB\-crl_check\fR, \fB\-crl_check_all\fR" 4 +.IX Item "-crl_check, -crl_check_all" +Check the peer certificate has not been revoked by its \s-1CA\s0. +The \s-1CRL\s0(s) are appended to the certificate file. With the \fB\-crl_check_all\fR +option all CRLs of all CAs in the chain are checked. +.IP "\fB\-nbio\fR" 4 +.IX Item "-nbio" +Turns on non blocking I/O. +.IP "\fB\-psk_identity val\fR" 4 +.IX Item "-psk_identity val" +Expect the client to send \s-1PSK\s0 identity \fBval\fR when using a \s-1PSK\s0 +cipher suite, and warn if they do not. By default, the expected \s-1PSK\s0 +identity is the string \*(L"Client_identity\*(R". +.IP "\fB\-psk_hint val\fR" 4 +.IX Item "-psk_hint val" +Use the \s-1PSK\s0 identity hint \fBval\fR when using a \s-1PSK\s0 cipher suite. +.IP "\fB\-psk val\fR" 4 +.IX Item "-psk val" +Use the \s-1PSK\s0 key \fBval\fR when using a \s-1PSK\s0 cipher suite. The key is +given as a hexadecimal number without leading 0x, for example \-psk +1a2b3c4d. +This option must be provided in order to use a \s-1PSK\s0 cipher. +.IP "\fB\-psk_session file\fR" 4 +.IX Item "-psk_session file" +Use the pem encoded \s-1SSL_SESSION\s0 data stored in \fBfile\fR as the basis of a \s-1PSK\s0. +Note that this will only work if TLSv1.3 is negotiated. +.IP "\fB\-listen\fR" 4 +.IX Item "-listen" +This option can only be used in conjunction with one of the \s-1DTLS\s0 options above. +With this option \fBs_server\fR will listen on a \s-1UDP\s0 port for incoming connections. +Any ClientHellos that arrive will be checked to see if they have a cookie in +them or not. +Any without a cookie will be responded to with a HelloVerifyRequest. +If a ClientHello with a cookie is received then \fBs_server\fR will connect to +that peer and complete the handshake. +.IP "\fB\-dtls\fR, \fB\-dtls1\fR, \fB\-dtls1_2\fR" 4 +.IX Item "-dtls, -dtls1, -dtls1_2" +These options make \fBs_server\fR use \s-1DTLS\s0 protocols instead of \s-1TLS\s0. +With \fB\-dtls\fR, \fBs_server\fR will negotiate any supported \s-1DTLS\s0 protocol version, +whilst \fB\-dtls1\fR and \fB\-dtls1_2\fR will only support DTLSv1.0 and DTLSv1.2 +respectively. +.IP "\fB\-sctp\fR" 4 +.IX Item "-sctp" +Use \s-1SCTP\s0 for the transport protocol instead of \s-1UDP\s0 in \s-1DTLS\s0. Must be used in +conjunction with \fB\-dtls\fR, \fB\-dtls1\fR or \fB\-dtls1_2\fR. This option is only +available where OpenSSL has support for \s-1SCTP\s0 enabled. +.IP "\fB\-sctp_label_bug\fR" 4 +.IX Item "-sctp_label_bug" +Use the incorrect behaviour of older OpenSSL implementations when computing +endpoint-pair shared secrets for \s-1DTLS/SCTP\s0. This allows communication with +older broken implementations but breaks interoperability with correct +implementations. Must be used in conjunction with \fB\-sctp\fR. This option is only +available where OpenSSL has support for \s-1SCTP\s0 enabled. +.IP "\fB\-no_dhe\fR" 4 +.IX Item "-no_dhe" +If this option is set then no \s-1DH\s0 parameters will be loaded effectively +disabling the ephemeral \s-1DH\s0 cipher suites. +.IP "\fB\-alpn val\fR, \fB\-nextprotoneg val\fR" 4 +.IX Item "-alpn val, -nextprotoneg val" +These flags enable the Enable the Application-Layer Protocol Negotiation +or Next Protocol Negotiation (\s-1NPN\s0) extension, respectively. \s-1ALPN\s0 is the +\&\s-1IETF\s0 standard and replaces \s-1NPN\s0. +The \fBval\fR list is a comma-separated list of supported protocol +names. The list should contain the most desirable protocols first. +Protocol names are printable \s-1ASCII\s0 strings, for example \*(L"http/1.1\*(R" or +\&\*(L"spdy/3\*(R". +The flag \fB\-nextprotoneg\fR cannot be specified if \fB\-tls1_3\fR is used. +.IP "\fB\-engine val\fR" 4 +.IX Item "-engine val" +Specifying an engine (by its unique id string in \fBval\fR) will cause \fBs_server\fR +to attempt to obtain a functional reference to the specified engine, +thus initialising it if needed. The engine will then be set as the default +for all available algorithms. +.IP "\fB\-keylogfile outfile\fR" 4 +.IX Item "-keylogfile outfile" +Appends \s-1TLS\s0 secrets to the specified keylog file such that external programs +(like Wireshark) can decrypt \s-1TLS\s0 connections. +.IP "\fB\-max_early_data int\fR" 4 +.IX Item "-max_early_data int" +Change the default maximum early data bytes that are specified for new sessions +and any incoming early data (when used in conjunction with the \fB\-early_data\fR +flag). The default value is approximately 16k. The argument must be an integer +greater than or equal to 0. +.IP "\fB\-early_data\fR" 4 +.IX Item "-early_data" +Accept early data where possible. Cannot be used in conjunction with \fB\-www\fR, +\&\fB\-WWW\fR, \fB\-HTTP\fR or \fB\-rev\fR. +.IP "\fB\-anti_replay\fR, \fB\-no_anti_replay\fR" 4 +.IX Item "-anti_replay, -no_anti_replay" +Switches replay protection on or off, respectively. Replay protection is on by +default unless overridden by a configuration file. When it is on, OpenSSL will +automatically detect if a session ticket has been used more than once, TLSv1.3 +has been negotiated, and early data is enabled on the server. A full handshake +is forced if a session ticket is used a second or subsequent time. Any early +data that was sent will be rejected. +.SH "CONNECTED COMMANDS" +.IX Header "CONNECTED COMMANDS" +If a connection request is established with an \s-1SSL\s0 client and neither the +\&\fB\-www\fR nor the \fB\-WWW\fR option has been used then normally any data received +from the client is displayed and any key presses will be sent to the client. +.PP +Certain commands are also recognized which perform special operations. These +commands are a letter which must appear at the start of a line. They are listed +below. +.IP "\fBq\fR" 4 +.IX Item "q" +End the current \s-1SSL\s0 connection but still accept new connections. +.IP "\fBQ\fR" 4 +.IX Item "Q" +End the current \s-1SSL\s0 connection and exit. +.IP "\fBr\fR" 4 +.IX Item "r" +Renegotiate the \s-1SSL\s0 session (TLSv1.2 and below only). +.IP "\fBR\fR" 4 +.IX Item "R" +Renegotiate the \s-1SSL\s0 session and request a client certificate (TLSv1.2 and below +only). +.IP "\fBP\fR" 4 +.IX Item "P" +Send some plain text down the underlying \s-1TCP\s0 connection: this should +cause the client to disconnect due to a protocol violation. +.IP "\fBS\fR" 4 +.IX Item "S" +Print out some session cache status information. +.IP "\fBB\fR" 4 +.IX Item "B" +Send a heartbeat message to the client (\s-1DTLS\s0 only) +.IP "\fBk\fR" 4 +.IX Item "k" +Send a key update message to the client (TLSv1.3 only) +.IP "\fBK\fR" 4 +.IX Item "K" +Send a key update message to the client and request one back (TLSv1.3 only) +.IP "\fBc\fR" 4 +.IX Item "c" +Send a certificate request to the client (TLSv1.3 only) +.SH "NOTES" +.IX Header "NOTES" +\&\fBs_server\fR can be used to debug \s-1SSL\s0 clients. To accept connections from +a web browser the command: +.PP +.Vb 1 +\& openssl s_server \-accept 443 \-www +.Ve +.PP +can be used for example. +.PP +Although specifying an empty list of CAs when requesting a client certificate +is strictly speaking a protocol violation, some \s-1SSL\s0 clients interpret this to +mean any \s-1CA\s0 is acceptable. This is useful for debugging purposes. +.PP +The session parameters can printed out using the \fBsess_id\fR program. +.SH "BUGS" +.IX Header "BUGS" +Because this program has a lot of options and also because some of the +techniques used are rather old, the C source of \fBs_server\fR is rather hard to +read and not a model of how things should be done. +A typical \s-1SSL\s0 server program would be much simpler. +.PP +The output of common ciphers is wrong: it just gives the list of ciphers that +OpenSSL recognizes and the client supports. +.PP +There should be a way for the \fBs_server\fR program to print out details of any +unknown cipher suites a client says it supports. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fISSL_CONF_cmd\fR\|(3), \fIsess_id\fR\|(1), \fIs_client\fR\|(1), \fIciphers\fR\|(1) +\&\fISSL_CTX_set_max_send_fragment\fR\|(3), +\&\fISSL_CTX_set_split_send_fragment\fR\|(3), +\&\fISSL_CTX_set_max_pipelines\fR\|(3) +.SH "HISTORY" +.IX Header "HISTORY" +The \-no_alt_chains option was added in OpenSSL 1.1.0. +.PP +The +\&\-allow\-no\-dhe\-kex and \-prioritize_chacha options were added in OpenSSL 1.1.1. +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man1/s_time.1 b/linux_amd64/share/man/man1/s_time.1 new file mode 100644 index 0000000..e253c24 --- /dev/null +++ b/linux_amd64/share/man/man1/s_time.1 @@ -0,0 +1,311 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "S_TIME 1" +.TH S_TIME 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +openssl\-s_time, s_time \- SSL/TLS performance timing program +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBopenssl\fR \fBs_time\fR +[\fB\-help\fR] +[\fB\-connect host:port\fR] +[\fB\-www page\fR] +[\fB\-cert filename\fR] +[\fB\-key filename\fR] +[\fB\-CApath directory\fR] +[\fB\-cafile filename\fR] +[\fB\-no\-CAfile\fR] +[\fB\-no\-CApath\fR] +[\fB\-reuse\fR] +[\fB\-new\fR] +[\fB\-verify depth\fR] +[\fB\-nameopt option\fR] +[\fB\-time seconds\fR] +[\fB\-ssl3\fR] +[\fB\-bugs\fR] +[\fB\-cipher cipherlist\fR] +[\fB\-ciphersuites val\fR] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The \fBs_time\fR command implements a generic \s-1SSL/TLS\s0 client which connects to a +remote host using \s-1SSL/TLS\s0. It can request a page from the server and includes +the time to transfer the payload data in its timing measurements. It measures +the number of connections within a given timeframe, the amount of data +transferred (if any), and calculates the average time spent for one connection. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-help\fR" 4 +.IX Item "-help" +Print out a usage message. +.IP "\fB\-connect host:port\fR" 4 +.IX Item "-connect host:port" +This specifies the host and optional port to connect to. +.IP "\fB\-www page\fR" 4 +.IX Item "-www page" +This specifies the page to \s-1GET\s0 from the server. A value of '/' gets the +index.htm[l] page. If this parameter is not specified, then \fBs_time\fR will only +perform the handshake to establish \s-1SSL\s0 connections but not transfer any +payload data. +.IP "\fB\-cert certname\fR" 4 +.IX Item "-cert certname" +The certificate to use, if one is requested by the server. The default is +not to use a certificate. The file is in \s-1PEM\s0 format. +.IP "\fB\-key keyfile\fR" 4 +.IX Item "-key keyfile" +The private key to use. If not specified then the certificate file will +be used. The file is in \s-1PEM\s0 format. +.IP "\fB\-verify depth\fR" 4 +.IX Item "-verify depth" +The verify depth to use. This specifies the maximum length of the +server certificate chain and turns on server certificate verification. +Currently the verify operation continues after errors so all the problems +with a certificate chain can be seen. As a side effect the connection +will never fail due to a server certificate verify failure. +.IP "\fB\-nameopt option\fR" 4 +.IX Item "-nameopt option" +Option which determines how the subject or issuer names are displayed. The +\&\fBoption\fR argument can be a single option or multiple options separated by +commas. Alternatively the \fB\-nameopt\fR switch may be used more than once to +set multiple options. See the \fIx509\fR\|(1) manual page for details. +.IP "\fB\-CApath directory\fR" 4 +.IX Item "-CApath directory" +The directory to use for server certificate verification. This directory +must be in \*(L"hash format\*(R", see \fBverify\fR for more information. These are +also used when building the client certificate chain. +.IP "\fB\-CAfile file\fR" 4 +.IX Item "-CAfile file" +A file containing trusted certificates to use during server authentication +and to use when attempting to build the client certificate chain. +.IP "\fB\-no\-CAfile\fR" 4 +.IX Item "-no-CAfile" +Do not load the trusted \s-1CA\s0 certificates from the default file location +.IP "\fB\-no\-CApath\fR" 4 +.IX Item "-no-CApath" +Do not load the trusted \s-1CA\s0 certificates from the default directory location +.IP "\fB\-new\fR" 4 +.IX Item "-new" +Performs the timing test using a new session \s-1ID\s0 for each connection. +If neither \fB\-new\fR nor \fB\-reuse\fR are specified, they are both on by default +and executed in sequence. +.IP "\fB\-reuse\fR" 4 +.IX Item "-reuse" +Performs the timing test using the same session \s-1ID\s0; this can be used as a test +that session caching is working. If neither \fB\-new\fR nor \fB\-reuse\fR are +specified, they are both on by default and executed in sequence. +.IP "\fB\-ssl3\fR" 4 +.IX Item "-ssl3" +This option disables the use of \s-1SSL\s0 version 3. By default +the initial handshake uses a method which should be compatible with all +servers and permit them to use \s-1SSL\s0 v3 or \s-1TLS\s0 as appropriate. +.Sp +The timing program is not as rich in options to turn protocols on and off as +the \fIs_client\fR\|(1) program and may not connect to all servers. +Unfortunately there are a lot of ancient and broken servers in use which +cannot handle this technique and will fail to connect. Some servers only +work if \s-1TLS\s0 is turned off with the \fB\-ssl3\fR option. +.Sp +Note that this option may not be available, depending on how +OpenSSL was built. +.IP "\fB\-bugs\fR" 4 +.IX Item "-bugs" +There are several known bugs in \s-1SSL\s0 and \s-1TLS\s0 implementations. Adding this +option enables various workarounds. +.IP "\fB\-cipher cipherlist\fR" 4 +.IX Item "-cipher cipherlist" +This allows the TLSv1.2 and below cipher list sent by the client to be modified. +This list will be combined with any TLSv1.3 ciphersuites that have been +configured. Although the server determines which cipher suite is used it should +take the first supported cipher in the list sent by the client. See +\&\fIciphers\fR\|(1) for more information. +.IP "\fB\-ciphersuites val\fR" 4 +.IX Item "-ciphersuites val" +This allows the TLSv1.3 ciphersuites sent by the client to be modified. This +list will be combined with any TLSv1.2 and below ciphersuites that have been +configured. Although the server determines which cipher suite is used it should +take the first supported cipher in the list sent by the client. See +\&\fIciphers\fR\|(1) for more information. The format for this list is a simple +colon (\*(L":\*(R") separated list of TLSv1.3 ciphersuite names. +.IP "\fB\-time length\fR" 4 +.IX Item "-time length" +Specifies how long (in seconds) \fBs_time\fR should establish connections and +optionally transfer payload data from a server. Server and client performance +and the link speed determine how many connections \fBs_time\fR can establish. +.SH "NOTES" +.IX Header "NOTES" +\&\fBs_time\fR can be used to measure the performance of an \s-1SSL\s0 connection. +To connect to an \s-1SSL\s0 \s-1HTTP\s0 server and get the default page the command +.PP +.Vb 1 +\& openssl s_time \-connect servername:443 \-www / \-CApath yourdir \-CAfile yourfile.pem \-cipher commoncipher [\-ssl3] +.Ve +.PP +would typically be used (https uses port 443). 'commoncipher' is a cipher to +which both client and server can agree, see the \fIciphers\fR\|(1) command +for details. +.PP +If the handshake fails then there are several possible causes, if it is +nothing obvious like no client certificate then the \fB\-bugs\fR and +\&\fB\-ssl3\fR options can be tried +in case it is a buggy server. In particular you should play with these +options \fBbefore\fR submitting a bug report to an OpenSSL mailing list. +.PP +A frequent problem when attempting to get client certificates working +is that a web client complains it has no certificates or gives an empty +list to choose from. This is normally because the server is not sending +the clients certificate authority in its \*(L"acceptable \s-1CA\s0 list\*(R" when it +requests a certificate. By using \fIs_client\fR\|(1) the \s-1CA\s0 list can be +viewed and checked. However some servers only request client authentication +after a specific \s-1URL\s0 is requested. To obtain the list in this case it +is necessary to use the \fB\-prexit\fR option of \fIs_client\fR\|(1) and +send an \s-1HTTP\s0 request for an appropriate page. +.PP +If a certificate is specified on the command line using the \fB\-cert\fR +option it will not be used unless the server specifically requests +a client certificate. Therefor merely including a client certificate +on the command line is no guarantee that the certificate works. +.SH "BUGS" +.IX Header "BUGS" +Because this program does not have all the options of the +\&\fIs_client\fR\|(1) program to turn protocols on and off, you may not be +able to measure the performance of all protocols with all servers. +.PP +The \fB\-verify\fR option should really exit if the server verification +fails. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIs_client\fR\|(1), \fIs_server\fR\|(1), \fIciphers\fR\|(1) +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2004\-2019 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man1/sess_id.1 b/linux_amd64/share/man/man1/sess_id.1 new file mode 100644 index 0000000..025bdf7 --- /dev/null +++ b/linux_amd64/share/man/man1/sess_id.1 @@ -0,0 +1,263 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "SESS_ID 1" +.TH SESS_ID 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +openssl\-sess_id, sess_id \- SSL/TLS session handling utility +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBopenssl\fR \fBsess_id\fR +[\fB\-help\fR] +[\fB\-inform PEM|DER\fR] +[\fB\-outform PEM|DER|NSS\fR] +[\fB\-in filename\fR] +[\fB\-out filename\fR] +[\fB\-text\fR] +[\fB\-noout\fR] +[\fB\-context \s-1ID\s0\fR] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The \fBsess_id\fR process the encoded version of the \s-1SSL\s0 session structure +and optionally prints out \s-1SSL\s0 session details (for example the \s-1SSL\s0 session +master key) in human readable format. Since this is a diagnostic tool that +needs some knowledge of the \s-1SSL\s0 protocol to use properly, most users will +not need to use it. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-help\fR" 4 +.IX Item "-help" +Print out a usage message. +.IP "\fB\-inform DER|PEM\fR" 4 +.IX Item "-inform DER|PEM" +This specifies the input format. The \fB\s-1DER\s0\fR option uses an \s-1ASN1\s0 \s-1DER\s0 encoded +format containing session details. The precise format can vary from one version +to the next. The \fB\s-1PEM\s0\fR form is the default format: it consists of the \fB\s-1DER\s0\fR +format base64 encoded with additional header and footer lines. +.IP "\fB\-outform DER|PEM|NSS\fR" 4 +.IX Item "-outform DER|PEM|NSS" +This specifies the output format. The \fB\s-1PEM\s0\fR and \fB\s-1DER\s0\fR options have the same meaning +and default as the \fB\-inform\fR option. The \fB\s-1NSS\s0\fR option outputs the session id and +the master key in \s-1NSS\s0 keylog format. +.IP "\fB\-in filename\fR" 4 +.IX Item "-in filename" +This specifies the input filename to read session information from or standard +input by default. +.IP "\fB\-out filename\fR" 4 +.IX Item "-out filename" +This specifies the output filename to write session information to or standard +output if this option is not specified. +.IP "\fB\-text\fR" 4 +.IX Item "-text" +Prints out the various public or private key components in +plain text in addition to the encoded version. +.IP "\fB\-cert\fR" 4 +.IX Item "-cert" +If a certificate is present in the session it will be output using this option, +if the \fB\-text\fR option is also present then it will be printed out in text form. +.IP "\fB\-noout\fR" 4 +.IX Item "-noout" +This option prevents output of the encoded version of the session. +.IP "\fB\-context \s-1ID\s0\fR" 4 +.IX Item "-context ID" +This option can set the session id so the output session information uses the +supplied \s-1ID\s0. The \s-1ID\s0 can be any string of characters. This option won't normally +be used. +.SH "OUTPUT" +.IX Header "OUTPUT" +Typical output: +.PP +.Vb 10 +\& SSL\-Session: +\& Protocol : TLSv1 +\& Cipher : 0016 +\& Session\-ID: 871E62626C554CE95488823752CBD5F3673A3EF3DCE9C67BD916C809914B40ED +\& Session\-ID\-ctx: 01000000 +\& Master\-Key: A7CEFC571974BE02CAC305269DC59F76EA9F0B180CB6642697A68251F2D2BB57E51DBBB4C7885573192AE9AEE220FACD +\& Key\-Arg : None +\& Start Time: 948459261 +\& Timeout : 300 (sec) +\& Verify return code 0 (ok) +.Ve +.PP +These are described below in more detail. +.IP "\fBProtocol\fR" 4 +.IX Item "Protocol" +This is the protocol in use TLSv1.3, TLSv1.2, TLSv1.1, TLSv1 or SSLv3. +.IP "\fBCipher\fR" 4 +.IX Item "Cipher" +The cipher used this is the actual raw \s-1SSL\s0 or \s-1TLS\s0 cipher code, see the \s-1SSL\s0 +or \s-1TLS\s0 specifications for more information. +.IP "\fBSession-ID\fR" 4 +.IX Item "Session-ID" +The \s-1SSL\s0 session \s-1ID\s0 in hex format. +.IP "\fBSession-ID-ctx\fR" 4 +.IX Item "Session-ID-ctx" +The session \s-1ID\s0 context in hex format. +.IP "\fBMaster-Key\fR" 4 +.IX Item "Master-Key" +This is the \s-1SSL\s0 session master key. +.IP "\fBStart Time\fR" 4 +.IX Item "Start Time" +This is the session start time represented as an integer in standard +Unix format. +.IP "\fBTimeout\fR" 4 +.IX Item "Timeout" +The timeout in seconds. +.IP "\fBVerify return code\fR" 4 +.IX Item "Verify return code" +This is the return code when an \s-1SSL\s0 client certificate is verified. +.SH "NOTES" +.IX Header "NOTES" +The \s-1PEM\s0 encoded session format uses the header and footer lines: +.PP +.Vb 2 +\& \-\-\-\-\-BEGIN SSL SESSION PARAMETERS\-\-\-\-\- +\& \-\-\-\-\-END SSL SESSION PARAMETERS\-\-\-\-\- +.Ve +.PP +Since the \s-1SSL\s0 session output contains the master key it is +possible to read the contents of an encrypted session using this +information. Therefore appropriate security precautions should be taken if +the information is being output by a \*(L"real\*(R" application. This is however +strongly discouraged and should only be used for debugging purposes. +.SH "BUGS" +.IX Header "BUGS" +The cipher and start time should be printed out in human readable form. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIciphers\fR\|(1), \fIs_server\fR\|(1) +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man1/smime.1 b/linux_amd64/share/man/man1/smime.1 new file mode 100644 index 0000000..fdcf543 --- /dev/null +++ b/linux_amd64/share/man/man1/smime.1 @@ -0,0 +1,608 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "SMIME 1" +.TH SMIME 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +openssl\-smime, smime \- S/MIME utility +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBopenssl\fR \fBsmime\fR +[\fB\-help\fR] +[\fB\-encrypt\fR] +[\fB\-decrypt\fR] +[\fB\-sign\fR] +[\fB\-resign\fR] +[\fB\-verify\fR] +[\fB\-pk7out\fR] +[\fB\-binary\fR] +[\fB\-crlfeol\fR] +[\fB\-\f(BIcipher\fB\fR] +[\fB\-in file\fR] +[\fB\-CAfile file\fR] +[\fB\-CApath dir\fR] +[\fB\-no\-CAfile\fR] +[\fB\-no\-CApath\fR] +[\fB\-attime timestamp\fR] +[\fB\-check_ss_sig\fR] +[\fB\-crl_check\fR] +[\fB\-crl_check_all\fR] +[\fB\-explicit_policy\fR] +[\fB\-extended_crl\fR] +[\fB\-ignore_critical\fR] +[\fB\-inhibit_any\fR] +[\fB\-inhibit_map\fR] +[\fB\-partial_chain\fR] +[\fB\-policy arg\fR] +[\fB\-policy_check\fR] +[\fB\-policy_print\fR] +[\fB\-purpose purpose\fR] +[\fB\-suiteB_128\fR] +[\fB\-suiteB_128_only\fR] +[\fB\-suiteB_192\fR] +[\fB\-trusted_first\fR] +[\fB\-no_alt_chains\fR] +[\fB\-use_deltas\fR] +[\fB\-auth_level num\fR] +[\fB\-verify_depth num\fR] +[\fB\-verify_email email\fR] +[\fB\-verify_hostname hostname\fR] +[\fB\-verify_ip ip\fR] +[\fB\-verify_name name\fR] +[\fB\-x509_strict\fR] +[\fB\-certfile file\fR] +[\fB\-signer file\fR] +[\fB\-recip file\fR] +[\fB\-inform SMIME|PEM|DER\fR] +[\fB\-passin arg\fR] +[\fB\-inkey file_or_id\fR] +[\fB\-out file\fR] +[\fB\-outform SMIME|PEM|DER\fR] +[\fB\-content file\fR] +[\fB\-to addr\fR] +[\fB\-from ad\fR] +[\fB\-subject s\fR] +[\fB\-text\fR] +[\fB\-indef\fR] +[\fB\-noindef\fR] +[\fB\-stream\fR] +[\fB\-rand file...\fR] +[\fB\-writerand file\fR] +[\fB\-md digest\fR] +[cert.pem]... +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The \fBsmime\fR command handles S/MIME mail. It can encrypt, decrypt, sign and +verify S/MIME messages. +.SH "OPTIONS" +.IX Header "OPTIONS" +There are six operation options that set the type of operation to be performed. +The meaning of the other options varies according to the operation type. +.IP "\fB\-help\fR" 4 +.IX Item "-help" +Print out a usage message. +.IP "\fB\-encrypt\fR" 4 +.IX Item "-encrypt" +Encrypt mail for the given recipient certificates. Input file is the message +to be encrypted. The output file is the encrypted mail in \s-1MIME\s0 format. +.Sp +Note that no revocation check is done for the recipient cert, so if that +key has been compromised, others may be able to decrypt the text. +.IP "\fB\-decrypt\fR" 4 +.IX Item "-decrypt" +Decrypt mail using the supplied certificate and private key. Expects an +encrypted mail message in \s-1MIME\s0 format for the input file. The decrypted mail +is written to the output file. +.IP "\fB\-sign\fR" 4 +.IX Item "-sign" +Sign mail using the supplied certificate and private key. Input file is +the message to be signed. The signed message in \s-1MIME\s0 format is written +to the output file. +.IP "\fB\-verify\fR" 4 +.IX Item "-verify" +Verify signed mail. Expects a signed mail message on input and outputs +the signed data. Both clear text and opaque signing is supported. +.IP "\fB\-pk7out\fR" 4 +.IX Item "-pk7out" +Takes an input message and writes out a \s-1PEM\s0 encoded PKCS#7 structure. +.IP "\fB\-resign\fR" 4 +.IX Item "-resign" +Resign a message: take an existing message and one or more new signers. +.IP "\fB\-in filename\fR" 4 +.IX Item "-in filename" +The input message to be encrypted or signed or the \s-1MIME\s0 message to +be decrypted or verified. +.IP "\fB\-inform SMIME|PEM|DER\fR" 4 +.IX Item "-inform SMIME|PEM|DER" +This specifies the input format for the PKCS#7 structure. The default +is \fB\s-1SMIME\s0\fR which reads an S/MIME format message. \fB\s-1PEM\s0\fR and \fB\s-1DER\s0\fR +format change this to expect \s-1PEM\s0 and \s-1DER\s0 format PKCS#7 structures +instead. This currently only affects the input format of the PKCS#7 +structure, if no PKCS#7 structure is being input (for example with +\&\fB\-encrypt\fR or \fB\-sign\fR) this option has no effect. +.IP "\fB\-out filename\fR" 4 +.IX Item "-out filename" +The message text that has been decrypted or verified or the output \s-1MIME\s0 +format message that has been signed or verified. +.IP "\fB\-outform SMIME|PEM|DER\fR" 4 +.IX Item "-outform SMIME|PEM|DER" +This specifies the output format for the PKCS#7 structure. The default +is \fB\s-1SMIME\s0\fR which write an S/MIME format message. \fB\s-1PEM\s0\fR and \fB\s-1DER\s0\fR +format change this to write \s-1PEM\s0 and \s-1DER\s0 format PKCS#7 structures +instead. This currently only affects the output format of the PKCS#7 +structure, if no PKCS#7 structure is being output (for example with +\&\fB\-verify\fR or \fB\-decrypt\fR) this option has no effect. +.IP "\fB\-stream \-indef \-noindef\fR" 4 +.IX Item "-stream -indef -noindef" +The \fB\-stream\fR and \fB\-indef\fR options are equivalent and enable streaming I/O +for encoding operations. This permits single pass processing of data without +the need to hold the entire contents in memory, potentially supporting very +large files. Streaming is automatically set for S/MIME signing with detached +data if the output format is \fB\s-1SMIME\s0\fR it is currently off by default for all +other operations. +.IP "\fB\-noindef\fR" 4 +.IX Item "-noindef" +Disable streaming I/O where it would produce and indefinite length constructed +encoding. This option currently has no effect. In future streaming will be +enabled by default on all relevant operations and this option will disable it. +.IP "\fB\-content filename\fR" 4 +.IX Item "-content filename" +This specifies a file containing the detached content, this is only +useful with the \fB\-verify\fR command. This is only usable if the PKCS#7 +structure is using the detached signature form where the content is +not included. This option will override any content if the input format +is S/MIME and it uses the multipart/signed \s-1MIME\s0 content type. +.IP "\fB\-text\fR" 4 +.IX Item "-text" +This option adds plain text (text/plain) \s-1MIME\s0 headers to the supplied +message if encrypting or signing. If decrypting or verifying it strips +off text headers: if the decrypted or verified message is not of \s-1MIME\s0 +type text/plain then an error occurs. +.IP "\fB\-CAfile file\fR" 4 +.IX Item "-CAfile file" +A file containing trusted \s-1CA\s0 certificates, only used with \fB\-verify\fR. +.IP "\fB\-CApath dir\fR" 4 +.IX Item "-CApath dir" +A directory containing trusted \s-1CA\s0 certificates, only used with +\&\fB\-verify\fR. This directory must be a standard certificate directory: that +is a hash of each subject name (using \fBx509 \-hash\fR) should be linked +to each certificate. +.IP "\fB\-no\-CAfile\fR" 4 +.IX Item "-no-CAfile" +Do not load the trusted \s-1CA\s0 certificates from the default file location. +.IP "\fB\-no\-CApath\fR" 4 +.IX Item "-no-CApath" +Do not load the trusted \s-1CA\s0 certificates from the default directory location. +.IP "\fB\-md digest\fR" 4 +.IX Item "-md digest" +Digest algorithm to use when signing or resigning. If not present then the +default digest algorithm for the signing key will be used (usually \s-1SHA1\s0). +.IP "\fB\-\f(BIcipher\fB\fR" 4 +.IX Item "-cipher" +The encryption algorithm to use. For example \s-1DES\s0 (56 bits) \- \fB\-des\fR, +triple \s-1DES\s0 (168 bits) \- \fB\-des3\fR, +\&\fIEVP_get_cipherbyname()\fR function) can also be used preceded by a dash, for +example \fB\-aes\-128\-cbc\fR. See \fBenc\fR for list of ciphers +supported by your version of OpenSSL. +.Sp +If not specified triple \s-1DES\s0 is used. Only used with \fB\-encrypt\fR. +.IP "\fB\-nointern\fR" 4 +.IX Item "-nointern" +When verifying a message normally certificates (if any) included in +the message are searched for the signing certificate. With this option +only the certificates specified in the \fB\-certfile\fR option are used. +The supplied certificates can still be used as untrusted CAs however. +.IP "\fB\-noverify\fR" 4 +.IX Item "-noverify" +Do not verify the signers certificate of a signed message. +.IP "\fB\-nochain\fR" 4 +.IX Item "-nochain" +Do not do chain verification of signers certificates: that is don't +use the certificates in the signed message as untrusted CAs. +.IP "\fB\-nosigs\fR" 4 +.IX Item "-nosigs" +Don't try to verify the signatures on the message. +.IP "\fB\-nocerts\fR" 4 +.IX Item "-nocerts" +When signing a message the signer's certificate is normally included +with this option it is excluded. This will reduce the size of the +signed message but the verifier must have a copy of the signers certificate +available locally (passed using the \fB\-certfile\fR option for example). +.IP "\fB\-noattr\fR" 4 +.IX Item "-noattr" +Normally when a message is signed a set of attributes are included which +include the signing time and supported symmetric algorithms. With this +option they are not included. +.IP "\fB\-binary\fR" 4 +.IX Item "-binary" +Normally the input message is converted to \*(L"canonical\*(R" format which is +effectively using \s-1CR\s0 and \s-1LF\s0 as end of line: as required by the S/MIME +specification. When this option is present no translation occurs. This +is useful when handling binary data which may not be in \s-1MIME\s0 format. +.IP "\fB\-crlfeol\fR" 4 +.IX Item "-crlfeol" +Normally the output file uses a single \fB\s-1LF\s0\fR as end of line. When this +option is present \fB\s-1CRLF\s0\fR is used instead. +.IP "\fB\-nodetach\fR" 4 +.IX Item "-nodetach" +When signing a message use opaque signing: this form is more resistant +to translation by mail relays but it cannot be read by mail agents that +do not support S/MIME. Without this option cleartext signing with +the \s-1MIME\s0 type multipart/signed is used. +.IP "\fB\-certfile file\fR" 4 +.IX Item "-certfile file" +Allows additional certificates to be specified. When signing these will +be included with the message. When verifying these will be searched for +the signers certificates. The certificates should be in \s-1PEM\s0 format. +.IP "\fB\-signer file\fR" 4 +.IX Item "-signer file" +A signing certificate when signing or resigning a message, this option can be +used multiple times if more than one signer is required. If a message is being +verified then the signers certificates will be written to this file if the +verification was successful. +.IP "\fB\-recip file\fR" 4 +.IX Item "-recip file" +The recipients certificate when decrypting a message. This certificate +must match one of the recipients of the message or an error occurs. +.IP "\fB\-inkey file_or_id\fR" 4 +.IX Item "-inkey file_or_id" +The private key to use when signing or decrypting. This must match the +corresponding certificate. If this option is not specified then the +private key must be included in the certificate file specified with +the \fB\-recip\fR or \fB\-signer\fR file. When signing this option can be used +multiple times to specify successive keys. +If no engine is used, the argument is taken as a file; if an engine is +specified, the argument is given to the engine as a key identifier. +.IP "\fB\-passin arg\fR" 4 +.IX Item "-passin arg" +The private key password source. For more information about the format of \fBarg\fR +see the \fB\s-1PASS\s0 \s-1PHRASE\s0 \s-1ARGUMENTS\s0\fR section in \fIopenssl\fR\|(1). +.IP "\fB\-rand file...\fR" 4 +.IX Item "-rand file..." +A file or files containing random data used to seed the random number +generator. +Multiple files can be specified separated by an OS-dependent character. +The separator is \fB;\fR for MS-Windows, \fB,\fR for OpenVMS, and \fB:\fR for +all others. +.IP "[\fB\-writerand file\fR]" 4 +.IX Item "[-writerand file]" +Writes random data to the specified \fIfile\fR upon exit. +This can be used with a subsequent \fB\-rand\fR flag. +.IP "\fBcert.pem...\fR" 4 +.IX Item "cert.pem..." +One or more certificates of message recipients: used when encrypting +a message. +.IP "\fB\-to, \-from, \-subject\fR" 4 +.IX Item "-to, -from, -subject" +The relevant mail headers. These are included outside the signed +portion of a message so they may be included manually. If signing +then many S/MIME mail clients check the signers certificate's email +address matches that specified in the From: address. +.IP "\fB\-attime\fR, \fB\-check_ss_sig\fR, \fB\-crl_check\fR, \fB\-crl_check_all\fR, \fB\-explicit_policy\fR, \fB\-extended_crl\fR, \fB\-ignore_critical\fR, \fB\-inhibit_any\fR, \fB\-inhibit_map\fR, \fB\-no_alt_chains\fR, \fB\-partial_chain\fR, \fB\-policy\fR, \fB\-policy_check\fR, \fB\-policy_print\fR, \fB\-purpose\fR, \fB\-suiteB_128\fR, \fB\-suiteB_128_only\fR, \fB\-suiteB_192\fR, \fB\-trusted_first\fR, \fB\-use_deltas\fR, \fB\-auth_level\fR, \fB\-verify_depth\fR, \fB\-verify_email\fR, \fB\-verify_hostname\fR, \fB\-verify_ip\fR, \fB\-verify_name\fR, \fB\-x509_strict\fR" 4 +.IX Item "-attime, -check_ss_sig, -crl_check, -crl_check_all, -explicit_policy, -extended_crl, -ignore_critical, -inhibit_any, -inhibit_map, -no_alt_chains, -partial_chain, -policy, -policy_check, -policy_print, -purpose, -suiteB_128, -suiteB_128_only, -suiteB_192, -trusted_first, -use_deltas, -auth_level, -verify_depth, -verify_email, -verify_hostname, -verify_ip, -verify_name, -x509_strict" +Set various options of certificate chain verification. See +\&\fIverify\fR\|(1) manual page for details. +.SH "NOTES" +.IX Header "NOTES" +The \s-1MIME\s0 message must be sent without any blank lines between the +headers and the output. Some mail programs will automatically add +a blank line. Piping the mail directly to sendmail is one way to +achieve the correct format. +.PP +The supplied message to be signed or encrypted must include the +necessary \s-1MIME\s0 headers or many S/MIME clients won't display it +properly (if at all). You can use the \fB\-text\fR option to automatically +add plain text headers. +.PP +A \*(L"signed and encrypted\*(R" message is one where a signed message is +then encrypted. This can be produced by encrypting an already signed +message: see the examples section. +.PP +This version of the program only allows one signer per message but it +will verify multiple signers on received messages. Some S/MIME clients +choke if a message contains multiple signers. It is possible to sign +messages \*(L"in parallel\*(R" by signing an already signed message. +.PP +The options \fB\-encrypt\fR and \fB\-decrypt\fR reflect common usage in S/MIME +clients. Strictly speaking these process PKCS#7 enveloped data: PKCS#7 +encrypted data is used for other purposes. +.PP +The \fB\-resign\fR option uses an existing message digest when adding a new +signer. This means that attributes must be present in at least one existing +signer using the same message digest or this operation will fail. +.PP +The \fB\-stream\fR and \fB\-indef\fR options enable streaming I/O support. +As a result the encoding is \s-1BER\s0 using indefinite length constructed encoding +and no longer \s-1DER\s0. Streaming is supported for the \fB\-encrypt\fR operation and the +\&\fB\-sign\fR operation if the content is not detached. +.PP +Streaming is always used for the \fB\-sign\fR operation with detached data but +since the content is no longer part of the PKCS#7 structure the encoding +remains \s-1DER\s0. +.SH "EXIT CODES" +.IX Header "EXIT CODES" +.IP "0" 4 +The operation was completely successfully. +.IP "1" 4 +.IX Item "1" +An error occurred parsing the command options. +.IP "2" 4 +.IX Item "2" +One of the input files could not be read. +.IP "3" 4 +.IX Item "3" +An error occurred creating the PKCS#7 file or when reading the \s-1MIME\s0 +message. +.IP "4" 4 +.IX Item "4" +An error occurred decrypting or verifying the message. +.IP "5" 4 +.IX Item "5" +The message was verified correctly but an error occurred writing out +the signers certificates. +.SH "EXAMPLES" +.IX Header "EXAMPLES" +Create a cleartext signed message: +.PP +.Vb 2 +\& openssl smime \-sign \-in message.txt \-text \-out mail.msg \e +\& \-signer mycert.pem +.Ve +.PP +Create an opaque signed message: +.PP +.Vb 2 +\& openssl smime \-sign \-in message.txt \-text \-out mail.msg \-nodetach \e +\& \-signer mycert.pem +.Ve +.PP +Create a signed message, include some additional certificates and +read the private key from another file: +.PP +.Vb 2 +\& openssl smime \-sign \-in in.txt \-text \-out mail.msg \e +\& \-signer mycert.pem \-inkey mykey.pem \-certfile mycerts.pem +.Ve +.PP +Create a signed message with two signers: +.PP +.Vb 2 +\& openssl smime \-sign \-in message.txt \-text \-out mail.msg \e +\& \-signer mycert.pem \-signer othercert.pem +.Ve +.PP +Send a signed message under Unix directly to sendmail, including headers: +.PP +.Vb 3 +\& openssl smime \-sign \-in in.txt \-text \-signer mycert.pem \e +\& \-from steve@openssl.org \-to someone@somewhere \e +\& \-subject "Signed message" | sendmail someone@somewhere +.Ve +.PP +Verify a message and extract the signer's certificate if successful: +.PP +.Vb 1 +\& openssl smime \-verify \-in mail.msg \-signer user.pem \-out signedtext.txt +.Ve +.PP +Send encrypted mail using triple \s-1DES:\s0 +.PP +.Vb 3 +\& openssl smime \-encrypt \-in in.txt \-from steve@openssl.org \e +\& \-to someone@somewhere \-subject "Encrypted message" \e +\& \-des3 user.pem \-out mail.msg +.Ve +.PP +Sign and encrypt mail: +.PP +.Vb 4 +\& openssl smime \-sign \-in ml.txt \-signer my.pem \-text \e +\& | openssl smime \-encrypt \-out mail.msg \e +\& \-from steve@openssl.org \-to someone@somewhere \e +\& \-subject "Signed and Encrypted message" \-des3 user.pem +.Ve +.PP +Note: the encryption command does not include the \fB\-text\fR option because the +message being encrypted already has \s-1MIME\s0 headers. +.PP +Decrypt mail: +.PP +.Vb 1 +\& openssl smime \-decrypt \-in mail.msg \-recip mycert.pem \-inkey key.pem +.Ve +.PP +The output from Netscape form signing is a PKCS#7 structure with the +detached signature format. You can use this program to verify the +signature by line wrapping the base64 encoded structure and surrounding +it with: +.PP +.Vb 2 +\& \-\-\-\-\-BEGIN PKCS7\-\-\-\-\- +\& \-\-\-\-\-END PKCS7\-\-\-\-\- +.Ve +.PP +and using the command: +.PP +.Vb 1 +\& openssl smime \-verify \-inform PEM \-in signature.pem \-content content.txt +.Ve +.PP +Alternatively you can base64 decode the signature and use: +.PP +.Vb 1 +\& openssl smime \-verify \-inform DER \-in signature.der \-content content.txt +.Ve +.PP +Create an encrypted message using 128 bit Camellia: +.PP +.Vb 1 +\& openssl smime \-encrypt \-in plain.txt \-camellia128 \-out mail.msg cert.pem +.Ve +.PP +Add a signer to an existing message: +.PP +.Vb 1 +\& openssl smime \-resign \-in mail.msg \-signer newsign.pem \-out mail2.msg +.Ve +.SH "BUGS" +.IX Header "BUGS" +The \s-1MIME\s0 parser isn't very clever: it seems to handle most messages that I've +thrown at it but it may choke on others. +.PP +The code currently will only write out the signer's certificate to a file: if +the signer has a separate encryption certificate this must be manually +extracted. There should be some heuristic that determines the correct +encryption certificate. +.PP +Ideally a database should be maintained of a certificates for each email +address. +.PP +The code doesn't currently take note of the permitted symmetric encryption +algorithms as supplied in the SMIMECapabilities signed attribute. This means the +user has to manually include the correct encryption algorithm. It should store +the list of permitted ciphers in a database and only use those. +.PP +No revocation checking is done on the signer's certificate. +.PP +The current code can only handle S/MIME v2 messages, the more complex S/MIME v3 +structures may cause parsing errors. +.SH "HISTORY" +.IX Header "HISTORY" +The use of multiple \fB\-signer\fR options and the \fB\-resign\fR command were first +added in OpenSSL 1.0.0 +.PP +The \-no_alt_chains option was added in OpenSSL 1.1.0. +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2000\-2017 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man1/speed.1 b/linux_amd64/share/man/man1/speed.1 new file mode 100644 index 0000000..2a228c2 --- /dev/null +++ b/linux_amd64/share/man/man1/speed.1 @@ -0,0 +1,211 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "SPEED 1" +.TH SPEED 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +openssl\-speed, speed \- test library performance +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBopenssl speed\fR +[\fB\-help\fR] +[\fB\-engine id\fR] +[\fB\-elapsed\fR] +[\fB\-evp algo\fR] +[\fB\-decrypt\fR] +[\fB\-rand file...\fR] +[\fB\-writerand file\fR] +[\fB\-primes num\fR] +[\fB\-seconds num\fR] +[\fB\-bytes num\fR] +[\fBalgorithm...\fR] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +This command is used to test the performance of cryptographic algorithms. +To see the list of supported algorithms, use the \fIlist \-\-digest\-commands\fR +or \fIlist \-\-cipher\-commands\fR command. The global \s-1CSPRNG\s0 is denoted by +the \fIrand\fR algorithm name. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-help\fR" 4 +.IX Item "-help" +Print out a usage message. +.IP "\fB\-engine id\fR" 4 +.IX Item "-engine id" +Specifying an engine (by its unique \fBid\fR string) will cause \fBspeed\fR +to attempt to obtain a functional reference to the specified engine, +thus initialising it if needed. The engine will then be set as the default +for all available algorithms. +.IP "\fB\-elapsed\fR" 4 +.IX Item "-elapsed" +When calculating operations\- or bytes-per-second, use wall-clock time +instead of \s-1CPU\s0 user time as divisor. It can be useful when testing speed +of hardware engines. +.IP "\fB\-evp algo\fR" 4 +.IX Item "-evp algo" +Use the specified cipher or message digest algorithm via the \s-1EVP\s0 interface. +If \fBalgo\fR is an \s-1AEAD\s0 cipher, then you can pass <\-aead> to benchmark a +TLS-like sequence. And if \fBalgo\fR is a multi-buffer capable cipher, e.g. +aes\-128\-cbc\-hmac\-sha1, then \fB\-mb\fR will time multi-buffer operation. +.IP "\fB\-decrypt\fR" 4 +.IX Item "-decrypt" +Time the decryption instead of encryption. Affects only the \s-1EVP\s0 testing. +.IP "\fB\-rand file...\fR" 4 +.IX Item "-rand file..." +A file or files containing random data used to seed the random number +generator. +Multiple files can be specified separated by an OS-dependent character. +The separator is \fB;\fR for MS-Windows, \fB,\fR for OpenVMS, and \fB:\fR for +all others. +.IP "[\fB\-writerand file\fR]" 4 +.IX Item "[-writerand file]" +Writes random data to the specified \fIfile\fR upon exit. +This can be used with a subsequent \fB\-rand\fR flag. +.IP "\fB\-primes num\fR" 4 +.IX Item "-primes num" +Generate a \fBnum\fR\-prime \s-1RSA\s0 key and use it to run the benchmarks. This option +is only effective if \s-1RSA\s0 algorithm is specified to test. +.IP "\fB\-seconds num\fR" 4 +.IX Item "-seconds num" +Run benchmarks for \fBnum\fR seconds. +.IP "\fB\-bytes num\fR" 4 +.IX Item "-bytes num" +Run benchmarks on \fBnum\fR\-byte buffers. Affects ciphers, digests and the \s-1CSPRNG\s0. +.IP "\fB[zero or more test algorithms]\fR" 4 +.IX Item "[zero or more test algorithms]" +If any options are given, \fBspeed\fR tests those algorithms, otherwise a +pre-compiled grand selection is tested. +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man1/spkac.1 b/linux_amd64/share/man/man1/spkac.1 new file mode 100644 index 0000000..df369ce --- /dev/null +++ b/linux_amd64/share/man/man1/spkac.1 @@ -0,0 +1,265 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "SPKAC 1" +.TH SPKAC 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +openssl\-spkac, spkac \- SPKAC printing and generating utility +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBopenssl\fR \fBspkac\fR +[\fB\-help\fR] +[\fB\-in filename\fR] +[\fB\-out filename\fR] +[\fB\-key keyfile\fR] +[\fB\-keyform PEM|DER|ENGINE\fR] +[\fB\-passin arg\fR] +[\fB\-challenge string\fR] +[\fB\-pubkey\fR] +[\fB\-spkac spkacname\fR] +[\fB\-spksect section\fR] +[\fB\-noout\fR] +[\fB\-verify\fR] +[\fB\-engine id\fR] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The \fBspkac\fR command processes Netscape signed public key and challenge +(\s-1SPKAC\s0) files. It can print out their contents, verify the signature and +produce its own SPKACs from a supplied private key. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-help\fR" 4 +.IX Item "-help" +Print out a usage message. +.IP "\fB\-in filename\fR" 4 +.IX Item "-in filename" +This specifies the input filename to read from or standard input if this +option is not specified. Ignored if the \fB\-key\fR option is used. +.IP "\fB\-out filename\fR" 4 +.IX Item "-out filename" +Specifies the output filename to write to or standard output by +default. +.IP "\fB\-key keyfile\fR" 4 +.IX Item "-key keyfile" +Create an \s-1SPKAC\s0 file using the private key in \fBkeyfile\fR. The +\&\fB\-in\fR, \fB\-noout\fR, \fB\-spksect\fR and \fB\-verify\fR options are ignored if +present. +.IP "\fB\-keyform PEM|DER|ENGINE\fR" 4 +.IX Item "-keyform PEM|DER|ENGINE" +Whether the key format is \s-1PEM\s0, \s-1DER\s0, or an engine-backed key. +The default is \s-1PEM\s0. +.IP "\fB\-passin password\fR" 4 +.IX Item "-passin password" +The input file password source. For more information about the format of \fBarg\fR +see the \fB\s-1PASS\s0 \s-1PHRASE\s0 \s-1ARGUMENTS\s0\fR section in \fIopenssl\fR\|(1). +.IP "\fB\-challenge string\fR" 4 +.IX Item "-challenge string" +Specifies the challenge string if an \s-1SPKAC\s0 is being created. +.IP "\fB\-spkac spkacname\fR" 4 +.IX Item "-spkac spkacname" +Allows an alternative name form the variable containing the +\&\s-1SPKAC\s0. The default is \*(L"\s-1SPKAC\s0\*(R". This option affects both +generated and input \s-1SPKAC\s0 files. +.IP "\fB\-spksect section\fR" 4 +.IX Item "-spksect section" +Allows an alternative name form the section containing the +\&\s-1SPKAC\s0. The default is the default section. +.IP "\fB\-noout\fR" 4 +.IX Item "-noout" +Don't output the text version of the \s-1SPKAC\s0 (not used if an +\&\s-1SPKAC\s0 is being created). +.IP "\fB\-pubkey\fR" 4 +.IX Item "-pubkey" +Output the public key of an \s-1SPKAC\s0 (not used if an \s-1SPKAC\s0 is +being created). +.IP "\fB\-verify\fR" 4 +.IX Item "-verify" +Verifies the digital signature on the supplied \s-1SPKAC\s0. +.IP "\fB\-engine id\fR" 4 +.IX Item "-engine id" +Specifying an engine (by its unique \fBid\fR string) will cause \fBspkac\fR +to attempt to obtain a functional reference to the specified engine, +thus initialising it if needed. The engine will then be set as the default +for all available algorithms. +.SH "EXAMPLES" +.IX Header "EXAMPLES" +Print out the contents of an \s-1SPKAC:\s0 +.PP +.Vb 1 +\& openssl spkac \-in spkac.cnf +.Ve +.PP +Verify the signature of an \s-1SPKAC:\s0 +.PP +.Vb 1 +\& openssl spkac \-in spkac.cnf \-noout \-verify +.Ve +.PP +Create an \s-1SPKAC\s0 using the challenge string \*(L"hello\*(R": +.PP +.Vb 1 +\& openssl spkac \-key key.pem \-challenge hello \-out spkac.cnf +.Ve +.PP +Example of an \s-1SPKAC\s0, (long lines split up for clarity): +.PP +.Vb 6 +\& SPKAC=MIG5MGUwXDANBgkqhkiG9w0BAQEFAANLADBIAkEA\e +\& 1cCoq2Wa3Ixs47uI7FPVwHVIPDx5yso105Y6zpozam135a\e +\& 8R0CpoRvkkigIyXfcCjiVi5oWk+6FfPaD03uPFoQIDAQAB\e +\& FgVoZWxsbzANBgkqhkiG9w0BAQQFAANBAFpQtY/FojdwkJ\e +\& h1bEIYuc2EeM2KHTWPEepWYeawvHD0gQ3DngSC75YCWnnD\e +\& dq+NQ3F+X4deMx9AaEglZtULwV4= +.Ve +.SH "NOTES" +.IX Header "NOTES" +A created \s-1SPKAC\s0 with suitable \s-1DN\s0 components appended can be fed into +the \fBca\fR utility. +.PP +SPKACs are typically generated by Netscape when a form is submitted +containing the \fB\s-1KEYGEN\s0\fR tag as part of the certificate enrollment +process. +.PP +The challenge string permits a primitive form of proof of possession +of private key. By checking the \s-1SPKAC\s0 signature and a random challenge +string some guarantee is given that the user knows the private key +corresponding to the public key being certified. This is important in +some applications. Without this it is possible for a previous \s-1SPKAC\s0 +to be used in a \*(L"replay attack\*(R". +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIca\fR\|(1) +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man1/srp.1 b/linux_amd64/share/man/man1/srp.1 new file mode 100644 index 0000000..97d4087 --- /dev/null +++ b/linux_amd64/share/man/man1/srp.1 @@ -0,0 +1,189 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "SRP 1" +.TH SRP 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +openssl\-srp, srp \- maintain SRP password file +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBopenssl srp\fR +[\fB\-help\fR] +[\fB\-verbose\fR] +[\fB\-add\fR] +[\fB\-modify\fR] +[\fB\-delete\fR] +[\fB\-list\fR] +[\fB\-name section\fR] +[\fB\-config file\fR] +[\fB\-srpvfile file\fR] +[\fB\-gn identifier\fR] +[\fB\-userinfo text...\fR] +[\fB\-passin arg\fR] +[\fB\-passout arg\fR] +[\fIuser...\fR] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The \fBsrp\fR command is user to maintain an \s-1SRP\s0 (secure remote password) +file. +At most one of the \fB\-add\fR, \fB\-modify\fR, \fB\-delete\fR, and \fB\-list\fR options +can be specified. +These options take zero or more usernames as parameters and perform the +appropriate operation on the \s-1SRP\s0 file. +For \fB\-list\fR, if no \fBuser\fR is given then all users are displayed. +.PP +The configuration file to use, and the section within the file, can be +specified with the \fB\-config\fR and \fB\-name\fR flags, respectively. +If the config file is not specified, the \fB\-srpvfile\fR can be used to +just specify the file to operate on. +.PP +The \fB\-userinfo\fR option specifies additional information to add when +adding or modifying a user. +.PP +The \fB\-gn\fR flag specifies the \fBg\fR and \fBN\fR values, using one of +the strengths defined in \s-1IETF\s0 \s-1RFC\s0 5054. +.PP +The \fB\-passin\fR and \fB\-passout\fR arguments are parsed as described in +the \fIopenssl\fR\|(1) command. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "[\fB\-help\fR]" 4 +.IX Item "[-help]" +Display an option summary. +.IP "[\fB\-verbose\fR]" 4 +.IX Item "[-verbose]" +Generate verbose output while processing. +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man1/storeutl.1 b/linux_amd64/share/man/man1/storeutl.1 new file mode 100644 index 0000000..baacffa --- /dev/null +++ b/linux_amd64/share/man/man1/storeutl.1 @@ -0,0 +1,240 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "STOREUTL 1" +.TH STOREUTL 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +openssl\-storeutl, storeutl \- STORE utility +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBopenssl\fR \fBstoreutl\fR +[\fB\-help\fR] +[\fB\-out file\fR] +[\fB\-noout\fR] +[\fB\-passin arg\fR] +[\fB\-text arg\fR] +[\fB\-engine id\fR] +[\fB\-r\fR] +[\fB\-certs\fR] +[\fB\-keys\fR] +[\fB\-crls\fR] +[\fB\-subject arg\fR] +[\fB\-issuer arg\fR] +[\fB\-serial arg\fR] +[\fB\-alias arg\fR] +[\fB\-fingerprint arg\fR] +[\fB\-\f(BIdigest\fB\fR] +\&\fBuri\fR ... +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The \fBstoreutl\fR command can be used to display the contents (after decryption +as the case may be) fetched from the given URIs. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-help\fR" 4 +.IX Item "-help" +Print out a usage message. +.IP "\fB\-out filename\fR" 4 +.IX Item "-out filename" +specifies the output filename to write to or standard output by +default. +.IP "\fB\-noout\fR" 4 +.IX Item "-noout" +this option prevents output of the \s-1PEM\s0 data. +.IP "\fB\-passin arg\fR" 4 +.IX Item "-passin arg" +the key password source. For more information about the format of \fBarg\fR +see the \fB\s-1PASS\s0 \s-1PHRASE\s0 \s-1ARGUMENTS\s0\fR section in \fIopenssl\fR\|(1). +.IP "\fB\-text\fR" 4 +.IX Item "-text" +Prints out the objects in text form, similarly to the \fB\-text\fR output from +\&\fBopenssl x509\fR, \fBopenssl pkey\fR, etc. +.IP "\fB\-engine id\fR" 4 +.IX Item "-engine id" +specifying an engine (by its unique \fBid\fR string) will cause \fBstoreutl\fR +to attempt to obtain a functional reference to the specified engine, +thus initialising it if needed. +The engine will then be set as the default for all available algorithms. +.IP "\fB\-r\fR" 4 +.IX Item "-r" +Fetch objects recursively when possible. +.IP "\fB\-certs\fR" 4 +.IX Item "-certs" +.PD 0 +.IP "\fB\-keys\fR" 4 +.IX Item "-keys" +.IP "\fB\-crls\fR" 4 +.IX Item "-crls" +.PD +Only select the certificates, keys or CRLs from the given \s-1URI\s0. +However, if this \s-1URI\s0 would return a set of names (URIs), those are always +returned. +.IP "\fB\-subject arg\fR" 4 +.IX Item "-subject arg" +Search for an object having the subject name \fBarg\fR. +The arg must be formatted as \fI/type0=value0/type1=value1/type2=...\fR. +Keyword characters may be escaped by \e (backslash), and whitespace is retained. +Empty values are permitted but are ignored for the search. That is, +a search with an empty value will have the same effect as not specifying +the type at all. +.IP "\fB\-issuer arg\fR" 4 +.IX Item "-issuer arg" +.PD 0 +.IP "\fB\-serial arg\fR" 4 +.IX Item "-serial arg" +.PD +Search for an object having the given issuer name and serial number. +These two options \fImust\fR be used together. +The issuer arg must be formatted as \fI/type0=value0/type1=value1/type2=...\fR, +characters may be escaped by \e (backslash), no spaces are skipped. +The serial arg may be specified as a decimal value or a hex value if preceded +by \fB0x\fR. +.IP "\fB\-alias arg\fR" 4 +.IX Item "-alias arg" +Search for an object having the given alias. +.IP "\fB\-fingerprint arg\fR" 4 +.IX Item "-fingerprint arg" +Search for an object having the given fingerprint. +.IP "\fB\-\f(BIdigest\fB\fR" 4 +.IX Item "-digest" +The digest that was used to compute the fingerprint given with \fB\-fingerprint\fR. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIopenssl\fR\|(1) +.SH "HISTORY" +.IX Header "HISTORY" +The \fBopenssl\fR \fBstoreutl\fR app was added in OpenSSL 1.1.1. +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2016\-2018 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man1/ts.1 b/linux_amd64/share/man/man1/ts.1 new file mode 100644 index 0000000..4d713e1 --- /dev/null +++ b/linux_amd64/share/man/man1/ts.1 @@ -0,0 +1,718 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "TS 1" +.TH TS 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +openssl\-ts, ts \- Time Stamping Authority tool (client/server) +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBopenssl\fR \fBts\fR +\&\fB\-query\fR +[\fB\-rand file...\fR] +[\fB\-writerand file\fR] +[\fB\-config\fR configfile] +[\fB\-data\fR file_to_hash] +[\fB\-digest\fR digest_bytes] +[\fB\-\f(BIdigest\fB\fR] +[\fB\-tspolicy\fR object_id] +[\fB\-no_nonce\fR] +[\fB\-cert\fR] +[\fB\-in\fR request.tsq] +[\fB\-out\fR request.tsq] +[\fB\-text\fR] +.PP +\&\fBopenssl\fR \fBts\fR +\&\fB\-reply\fR +[\fB\-config\fR configfile] +[\fB\-section\fR tsa_section] +[\fB\-queryfile\fR request.tsq] +[\fB\-passin\fR password_src] +[\fB\-signer\fR tsa_cert.pem] +[\fB\-inkey\fR file_or_id] +[\fB\-\f(BIdigest\fB\fR] +[\fB\-chain\fR certs_file.pem] +[\fB\-tspolicy\fR object_id] +[\fB\-in\fR response.tsr] +[\fB\-token_in\fR] +[\fB\-out\fR response.tsr] +[\fB\-token_out\fR] +[\fB\-text\fR] +[\fB\-engine\fR id] +.PP +\&\fBopenssl\fR \fBts\fR +\&\fB\-verify\fR +[\fB\-data\fR file_to_hash] +[\fB\-digest\fR digest_bytes] +[\fB\-queryfile\fR request.tsq] +[\fB\-in\fR response.tsr] +[\fB\-token_in\fR] +[\fB\-CApath\fR trusted_cert_path] +[\fB\-CAfile\fR trusted_certs.pem] +[\fB\-untrusted\fR cert_file.pem] +[\fIverify options\fR] +.PP +\&\fIverify options:\fR +[\-attime timestamp] +[\-check_ss_sig] +[\-crl_check] +[\-crl_check_all] +[\-explicit_policy] +[\-extended_crl] +[\-ignore_critical] +[\-inhibit_any] +[\-inhibit_map] +[\-issuer_checks] +[\-no_alt_chains] +[\-no_check_time] +[\-partial_chain] +[\-policy arg] +[\-policy_check] +[\-policy_print] +[\-purpose purpose] +[\-suiteB_128] +[\-suiteB_128_only] +[\-suiteB_192] +[\-trusted_first] +[\-use_deltas] +[\-auth_level num] +[\-verify_depth num] +[\-verify_email email] +[\-verify_hostname hostname] +[\-verify_ip ip] +[\-verify_name name] +[\-x509_strict] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The \fBts\fR command is a basic Time Stamping Authority (\s-1TSA\s0) client and server +application as specified in \s-1RFC\s0 3161 (Time-Stamp Protocol, \s-1TSP\s0). A +\&\s-1TSA\s0 can be part of a \s-1PKI\s0 deployment and its role is to provide long +term proof of the existence of a certain datum before a particular +time. Here is a brief description of the protocol: +.IP "1." 4 +The \s-1TSA\s0 client computes a one-way hash value for a data file and sends +the hash to the \s-1TSA\s0. +.IP "2." 4 +The \s-1TSA\s0 attaches the current date and time to the received hash value, +signs them and sends the time stamp token back to the client. By +creating this token the \s-1TSA\s0 certifies the existence of the original +data file at the time of response generation. +.IP "3." 4 +The \s-1TSA\s0 client receives the time stamp token and verifies the +signature on it. It also checks if the token contains the same hash +value that it had sent to the \s-1TSA\s0. +.PP +There is one \s-1DER\s0 encoded protocol data unit defined for transporting a time +stamp request to the \s-1TSA\s0 and one for sending the time stamp response +back to the client. The \fBts\fR command has three main functions: +creating a time stamp request based on a data file, +creating a time stamp response based on a request, verifying if a +response corresponds to a particular request or a data file. +.PP +There is no support for sending the requests/responses automatically +over \s-1HTTP\s0 or \s-1TCP\s0 yet as suggested in \s-1RFC\s0 3161. The users must send the +requests either by ftp or e\-mail. +.SH "OPTIONS" +.IX Header "OPTIONS" +.SS "Time Stamp Request generation" +.IX Subsection "Time Stamp Request generation" +The \fB\-query\fR switch can be used for creating and printing a time stamp +request with the following options: +.IP "\fB\-rand file...\fR" 4 +.IX Item "-rand file..." +A file or files containing random data used to seed the random number +generator. +Multiple files can be specified separated by an OS-dependent character. +The separator is \fB;\fR for MS-Windows, \fB,\fR for OpenVMS, and \fB:\fR for +all others. +.IP "[\fB\-writerand file\fR]" 4 +.IX Item "[-writerand file]" +Writes random data to the specified \fIfile\fR upon exit. +This can be used with a subsequent \fB\-rand\fR flag. +.IP "\fB\-config\fR configfile" 4 +.IX Item "-config configfile" +The configuration file to use. +Optional; for a description of the default value, +see \*(L"\s-1COMMAND\s0 \s-1SUMMARY\s0\*(R" in \fIopenssl\fR\|(1). +.IP "\fB\-data\fR file_to_hash" 4 +.IX Item "-data file_to_hash" +The data file for which the time stamp request needs to be +created. stdin is the default if neither the \fB\-data\fR nor the \fB\-digest\fR +parameter is specified. (Optional) +.IP "\fB\-digest\fR digest_bytes" 4 +.IX Item "-digest digest_bytes" +It is possible to specify the message imprint explicitly without the data +file. The imprint must be specified in a hexadecimal format, two characters +per byte, the bytes optionally separated by colons (e.g. 1A:F6:01:... or +1AF601...). The number of bytes must match the message digest algorithm +in use. (Optional) +.IP "\fB\-\f(BIdigest\fB\fR" 4 +.IX Item "-digest" +The message digest to apply to the data file. +Any digest supported by the OpenSSL \fBdgst\fR command can be used. +The default is \s-1SHA\-1\s0. (Optional) +.IP "\fB\-tspolicy\fR object_id" 4 +.IX Item "-tspolicy object_id" +The policy that the client expects the \s-1TSA\s0 to use for creating the +time stamp token. Either the dotted \s-1OID\s0 notation or \s-1OID\s0 names defined +in the config file can be used. If no policy is requested the \s-1TSA\s0 will +use its own default policy. (Optional) +.IP "\fB\-no_nonce\fR" 4 +.IX Item "-no_nonce" +No nonce is specified in the request if this option is +given. Otherwise a 64 bit long pseudo-random none is +included in the request. It is recommended to use nonce to +protect against replay-attacks. (Optional) +.IP "\fB\-cert\fR" 4 +.IX Item "-cert" +The \s-1TSA\s0 is expected to include its signing certificate in the +response. (Optional) +.IP "\fB\-in\fR request.tsq" 4 +.IX Item "-in request.tsq" +This option specifies a previously created time stamp request in \s-1DER\s0 +format that will be printed into the output file. Useful when you need +to examine the content of a request in human-readable +format. (Optional) +.IP "\fB\-out\fR request.tsq" 4 +.IX Item "-out request.tsq" +Name of the output file to which the request will be written. Default +is stdout. (Optional) +.IP "\fB\-text\fR" 4 +.IX Item "-text" +If this option is specified the output is human-readable text format +instead of \s-1DER\s0. (Optional) +.SS "Time Stamp Response generation" +.IX Subsection "Time Stamp Response generation" +A time stamp response (TimeStampResp) consists of a response status +and the time stamp token itself (ContentInfo), if the token generation was +successful. The \fB\-reply\fR command is for creating a time stamp +response or time stamp token based on a request and printing the +response/token in human-readable format. If \fB\-token_out\fR is not +specified the output is always a time stamp response (TimeStampResp), +otherwise it is a time stamp token (ContentInfo). +.IP "\fB\-config\fR configfile" 4 +.IX Item "-config configfile" +The configuration file to use. +Optional; for a description of the default value, +see \*(L"\s-1COMMAND\s0 \s-1SUMMARY\s0\*(R" in \fIopenssl\fR\|(1). +See \fB\s-1CONFIGURATION\s0 \s-1FILE\s0 \s-1OPTIONS\s0\fR for configurable variables. +.IP "\fB\-section\fR tsa_section" 4 +.IX Item "-section tsa_section" +The name of the config file section containing the settings for the +response generation. If not specified the default \s-1TSA\s0 section is +used, see \fB\s-1CONFIGURATION\s0 \s-1FILE\s0 \s-1OPTIONS\s0\fR for details. (Optional) +.IP "\fB\-queryfile\fR request.tsq" 4 +.IX Item "-queryfile request.tsq" +The name of the file containing a \s-1DER\s0 encoded time stamp request. (Optional) +.IP "\fB\-passin\fR password_src" 4 +.IX Item "-passin password_src" +Specifies the password source for the private key of the \s-1TSA\s0. See +\&\fB\s-1PASS\s0 \s-1PHRASE\s0 \s-1ARGUMENTS\s0\fR in \fIopenssl\fR\|(1). (Optional) +.IP "\fB\-signer\fR tsa_cert.pem" 4 +.IX Item "-signer tsa_cert.pem" +The signer certificate of the \s-1TSA\s0 in \s-1PEM\s0 format. The \s-1TSA\s0 signing +certificate must have exactly one extended key usage assigned to it: +timeStamping. The extended key usage must also be critical, otherwise +the certificate is going to be refused. Overrides the \fBsigner_cert\fR +variable of the config file. (Optional) +.IP "\fB\-inkey\fR file_or_id" 4 +.IX Item "-inkey file_or_id" +The signer private key of the \s-1TSA\s0 in \s-1PEM\s0 format. Overrides the +\&\fBsigner_key\fR config file option. (Optional) +If no engine is used, the argument is taken as a file; if an engine is +specified, the argument is given to the engine as a key identifier. +.IP "\fB\-\f(BIdigest\fB\fR" 4 +.IX Item "-digest" +Signing digest to use. Overrides the \fBsigner_digest\fR config file +option. (Mandatory unless specified in the config file) +.IP "\fB\-chain\fR certs_file.pem" 4 +.IX Item "-chain certs_file.pem" +The collection of certificates in \s-1PEM\s0 format that will all +be included in the response in addition to the signer certificate if +the \fB\-cert\fR option was used for the request. This file is supposed to +contain the certificate chain for the signer certificate from its +issuer upwards. The \fB\-reply\fR command does not build a certificate +chain automatically. (Optional) +.IP "\fB\-tspolicy\fR object_id" 4 +.IX Item "-tspolicy object_id" +The default policy to use for the response unless the client +explicitly requires a particular \s-1TSA\s0 policy. The \s-1OID\s0 can be specified +either in dotted notation or with its name. Overrides the +\&\fBdefault_policy\fR config file option. (Optional) +.IP "\fB\-in\fR response.tsr" 4 +.IX Item "-in response.tsr" +Specifies a previously created time stamp response or time stamp token +(if \fB\-token_in\fR is also specified) in \s-1DER\s0 format that will be written +to the output file. This option does not require a request, it is +useful e.g. when you need to examine the content of a response or +token or you want to extract the time stamp token from a response. If +the input is a token and the output is a time stamp response a default +\&'granted' status info is added to the token. (Optional) +.IP "\fB\-token_in\fR" 4 +.IX Item "-token_in" +This flag can be used together with the \fB\-in\fR option and indicates +that the input is a \s-1DER\s0 encoded time stamp token (ContentInfo) instead +of a time stamp response (TimeStampResp). (Optional) +.IP "\fB\-out\fR response.tsr" 4 +.IX Item "-out response.tsr" +The response is written to this file. The format and content of the +file depends on other options (see \fB\-text\fR, \fB\-token_out\fR). The default is +stdout. (Optional) +.IP "\fB\-token_out\fR" 4 +.IX Item "-token_out" +The output is a time stamp token (ContentInfo) instead of time stamp +response (TimeStampResp). (Optional) +.IP "\fB\-text\fR" 4 +.IX Item "-text" +If this option is specified the output is human-readable text format +instead of \s-1DER\s0. (Optional) +.IP "\fB\-engine\fR id" 4 +.IX Item "-engine id" +Specifying an engine (by its unique \fBid\fR string) will cause \fBts\fR +to attempt to obtain a functional reference to the specified engine, +thus initialising it if needed. The engine will then be set as the default +for all available algorithms. Default is builtin. (Optional) +.SS "Time Stamp Response verification" +.IX Subsection "Time Stamp Response verification" +The \fB\-verify\fR command is for verifying if a time stamp response or time +stamp token is valid and matches a particular time stamp request or +data file. The \fB\-verify\fR command does not use the configuration file. +.IP "\fB\-data\fR file_to_hash" 4 +.IX Item "-data file_to_hash" +The response or token must be verified against file_to_hash. The file +is hashed with the message digest algorithm specified in the token. +The \fB\-digest\fR and \fB\-queryfile\fR options must not be specified with this one. +(Optional) +.IP "\fB\-digest\fR digest_bytes" 4 +.IX Item "-digest digest_bytes" +The response or token must be verified against the message digest specified +with this option. The number of bytes must match the message digest algorithm +specified in the token. The \fB\-data\fR and \fB\-queryfile\fR options must not be +specified with this one. (Optional) +.IP "\fB\-queryfile\fR request.tsq" 4 +.IX Item "-queryfile request.tsq" +The original time stamp request in \s-1DER\s0 format. The \fB\-data\fR and \fB\-digest\fR +options must not be specified with this one. (Optional) +.IP "\fB\-in\fR response.tsr" 4 +.IX Item "-in response.tsr" +The time stamp response that needs to be verified in \s-1DER\s0 format. (Mandatory) +.IP "\fB\-token_in\fR" 4 +.IX Item "-token_in" +This flag can be used together with the \fB\-in\fR option and indicates +that the input is a \s-1DER\s0 encoded time stamp token (ContentInfo) instead +of a time stamp response (TimeStampResp). (Optional) +.IP "\fB\-CApath\fR trusted_cert_path" 4 +.IX Item "-CApath trusted_cert_path" +The name of the directory containing the trusted \s-1CA\s0 certificates of the +client. See the similar option of \fIverify\fR\|(1) for additional +details. Either this option or \fB\-CAfile\fR must be specified. (Optional) +.IP "\fB\-CAfile\fR trusted_certs.pem" 4 +.IX Item "-CAfile trusted_certs.pem" +The name of the file containing a set of trusted self-signed \s-1CA\s0 +certificates in \s-1PEM\s0 format. See the similar option of +\&\fIverify\fR\|(1) for additional details. Either this option +or \fB\-CApath\fR must be specified. +(Optional) +.IP "\fB\-untrusted\fR cert_file.pem" 4 +.IX Item "-untrusted cert_file.pem" +Set of additional untrusted certificates in \s-1PEM\s0 format which may be +needed when building the certificate chain for the \s-1TSA\s0's signing +certificate. This file must contain the \s-1TSA\s0 signing certificate and +all intermediate \s-1CA\s0 certificates unless the response includes them. +(Optional) +.IP "\fIverify options\fR" 4 +.IX Item "verify options" +The options \fB\-attime timestamp\fR, \fB\-check_ss_sig\fR, \fB\-crl_check\fR, +\&\fB\-crl_check_all\fR, \fB\-explicit_policy\fR, \fB\-extended_crl\fR, \fB\-ignore_critical\fR, +\&\fB\-inhibit_any\fR, \fB\-inhibit_map\fR, \fB\-issuer_checks\fR, \fB\-no_alt_chains\fR, +\&\fB\-no_check_time\fR, \fB\-partial_chain\fR, \fB\-policy\fR, \fB\-policy_check\fR, +\&\fB\-policy_print\fR, \fB\-purpose\fR, \fB\-suiteB_128\fR, \fB\-suiteB_128_only\fR, +\&\fB\-suiteB_192\fR, \fB\-trusted_first\fR, \fB\-use_deltas\fR, \fB\-auth_level\fR, +\&\fB\-verify_depth\fR, \fB\-verify_email\fR, \fB\-verify_hostname\fR, \fB\-verify_ip\fR, +\&\fB\-verify_name\fR, and \fB\-x509_strict\fR can be used to control timestamp +verification. See \fIverify\fR\|(1). +.SH "CONFIGURATION FILE OPTIONS" +.IX Header "CONFIGURATION FILE OPTIONS" +The \fB\-query\fR and \fB\-reply\fR commands make use of a configuration file. +See \fIconfig\fR\|(5) +for a general description of the syntax of the config file. The +\&\fB\-query\fR command uses only the symbolic \s-1OID\s0 names section +and it can work without it. However, the \fB\-reply\fR command needs the +config file for its operation. +.PP +When there is a command line switch equivalent of a variable the +switch always overrides the settings in the config file. +.IP "\fBtsa\fR section, \fBdefault_tsa\fR" 4 +.IX Item "tsa section, default_tsa" +This is the main section and it specifies the name of another section +that contains all the options for the \fB\-reply\fR command. This default +section can be overridden with the \fB\-section\fR command line switch. (Optional) +.IP "\fBoid_file\fR" 4 +.IX Item "oid_file" +See \fIca\fR\|(1) for description. (Optional) +.IP "\fBoid_section\fR" 4 +.IX Item "oid_section" +See \fIca\fR\|(1) for description. (Optional) +.IP "\fB\s-1RANDFILE\s0\fR" 4 +.IX Item "RANDFILE" +See \fIca\fR\|(1) for description. (Optional) +.IP "\fBserial\fR" 4 +.IX Item "serial" +The name of the file containing the hexadecimal serial number of the +last time stamp response created. This number is incremented by 1 for +each response. If the file does not exist at the time of response +generation a new file is created with serial number 1. (Mandatory) +.IP "\fBcrypto_device\fR" 4 +.IX Item "crypto_device" +Specifies the OpenSSL engine that will be set as the default for +all available algorithms. The default value is builtin, you can specify +any other engines supported by OpenSSL (e.g. use chil for the NCipher \s-1HSM\s0). +(Optional) +.IP "\fBsigner_cert\fR" 4 +.IX Item "signer_cert" +\&\s-1TSA\s0 signing certificate in \s-1PEM\s0 format. The same as the \fB\-signer\fR +command line option. (Optional) +.IP "\fBcerts\fR" 4 +.IX Item "certs" +A file containing a set of \s-1PEM\s0 encoded certificates that need to be +included in the response. The same as the \fB\-chain\fR command line +option. (Optional) +.IP "\fBsigner_key\fR" 4 +.IX Item "signer_key" +The private key of the \s-1TSA\s0 in \s-1PEM\s0 format. The same as the \fB\-inkey\fR +command line option. (Optional) +.IP "\fBsigner_digest\fR" 4 +.IX Item "signer_digest" +Signing digest to use. The same as the +\&\fB\-\f(BIdigest\fB\fR command line option. (Mandatory unless specified on the command +line) +.IP "\fBdefault_policy\fR" 4 +.IX Item "default_policy" +The default policy to use when the request does not mandate any +policy. The same as the \fB\-tspolicy\fR command line option. (Optional) +.IP "\fBother_policies\fR" 4 +.IX Item "other_policies" +Comma separated list of policies that are also acceptable by the \s-1TSA\s0 +and used only if the request explicitly specifies one of them. (Optional) +.IP "\fBdigests\fR" 4 +.IX Item "digests" +The list of message digest algorithms that the \s-1TSA\s0 accepts. At least +one algorithm must be specified. (Mandatory) +.IP "\fBaccuracy\fR" 4 +.IX Item "accuracy" +The accuracy of the time source of the \s-1TSA\s0 in seconds, milliseconds +and microseconds. E.g. secs:1, millisecs:500, microsecs:100. If any of +the components is missing zero is assumed for that field. (Optional) +.IP "\fBclock_precision_digits\fR" 4 +.IX Item "clock_precision_digits" +Specifies the maximum number of digits, which represent the fraction of +seconds, that need to be included in the time field. The trailing zeroes +must be removed from the time, so there might actually be fewer digits, +or no fraction of seconds at all. Supported only on \s-1UNIX\s0 platforms. +The maximum value is 6, default is 0. +(Optional) +.IP "\fBordering\fR" 4 +.IX Item "ordering" +If this option is yes the responses generated by this \s-1TSA\s0 can always +be ordered, even if the time difference between two responses is less +than the sum of their accuracies. Default is no. (Optional) +.IP "\fBtsa_name\fR" 4 +.IX Item "tsa_name" +Set this option to yes if the subject name of the \s-1TSA\s0 must be included in +the \s-1TSA\s0 name field of the response. Default is no. (Optional) +.IP "\fBess_cert_id_chain\fR" 4 +.IX Item "ess_cert_id_chain" +The SignedData objects created by the \s-1TSA\s0 always contain the +certificate identifier of the signing certificate in a signed +attribute (see \s-1RFC\s0 2634, Enhanced Security Services). If this option +is set to yes and either the \fBcerts\fR variable or the \fB\-chain\fR option +is specified then the certificate identifiers of the chain will also +be included in the SigningCertificate signed attribute. If this +variable is set to no, only the signing certificate identifier is +included. Default is no. (Optional) +.IP "\fBess_cert_id_alg\fR" 4 +.IX Item "ess_cert_id_alg" +This option specifies the hash function to be used to calculate the \s-1TSA\s0's +public key certificate identifier. Default is sha1. (Optional) +.SH "EXAMPLES" +.IX Header "EXAMPLES" +All the examples below presume that \fB\s-1OPENSSL_CONF\s0\fR is set to a proper +configuration file, e.g. the example configuration file +openssl/apps/openssl.cnf will do. +.SS "Time Stamp Request" +.IX Subsection "Time Stamp Request" +To create a time stamp request for design1.txt with \s-1SHA\-1\s0 +without nonce and policy and no certificate is required in the response: +.PP +.Vb 2 +\& openssl ts \-query \-data design1.txt \-no_nonce \e +\& \-out design1.tsq +.Ve +.PP +To create a similar time stamp request with specifying the message imprint +explicitly: +.PP +.Vb 2 +\& openssl ts \-query \-digest b7e5d3f93198b38379852f2c04e78d73abdd0f4b \e +\& \-no_nonce \-out design1.tsq +.Ve +.PP +To print the content of the previous request in human readable format: +.PP +.Vb 1 +\& openssl ts \-query \-in design1.tsq \-text +.Ve +.PP +To create a time stamp request which includes the \s-1MD\-5\s0 digest +of design2.txt, requests the signer certificate and nonce, +specifies a policy id (assuming the tsa_policy1 name is defined in the +\&\s-1OID\s0 section of the config file): +.PP +.Vb 2 +\& openssl ts \-query \-data design2.txt \-md5 \e +\& \-tspolicy tsa_policy1 \-cert \-out design2.tsq +.Ve +.SS "Time Stamp Response" +.IX Subsection "Time Stamp Response" +Before generating a response a signing certificate must be created for +the \s-1TSA\s0 that contains the \fBtimeStamping\fR critical extended key usage extension +without any other key usage extensions. You can add this line to the +user certificate section of the config file to generate a proper certificate; +.PP +.Vb 1 +\& extendedKeyUsage = critical,timeStamping +.Ve +.PP +See \fIreq\fR\|(1), \fIca\fR\|(1), and \fIx509\fR\|(1) for instructions. The examples +below assume that cacert.pem contains the certificate of the \s-1CA\s0, +tsacert.pem is the signing certificate issued by cacert.pem and +tsakey.pem is the private key of the \s-1TSA\s0. +.PP +To create a time stamp response for a request: +.PP +.Vb 2 +\& openssl ts \-reply \-queryfile design1.tsq \-inkey tsakey.pem \e +\& \-signer tsacert.pem \-out design1.tsr +.Ve +.PP +If you want to use the settings in the config file you could just write: +.PP +.Vb 1 +\& openssl ts \-reply \-queryfile design1.tsq \-out design1.tsr +.Ve +.PP +To print a time stamp reply to stdout in human readable format: +.PP +.Vb 1 +\& openssl ts \-reply \-in design1.tsr \-text +.Ve +.PP +To create a time stamp token instead of time stamp response: +.PP +.Vb 1 +\& openssl ts \-reply \-queryfile design1.tsq \-out design1_token.der \-token_out +.Ve +.PP +To print a time stamp token to stdout in human readable format: +.PP +.Vb 1 +\& openssl ts \-reply \-in design1_token.der \-token_in \-text \-token_out +.Ve +.PP +To extract the time stamp token from a response: +.PP +.Vb 1 +\& openssl ts \-reply \-in design1.tsr \-out design1_token.der \-token_out +.Ve +.PP +To add 'granted' status info to a time stamp token thereby creating a +valid response: +.PP +.Vb 1 +\& openssl ts \-reply \-in design1_token.der \-token_in \-out design1.tsr +.Ve +.SS "Time Stamp Verification" +.IX Subsection "Time Stamp Verification" +To verify a time stamp reply against a request: +.PP +.Vb 2 +\& openssl ts \-verify \-queryfile design1.tsq \-in design1.tsr \e +\& \-CAfile cacert.pem \-untrusted tsacert.pem +.Ve +.PP +To verify a time stamp reply that includes the certificate chain: +.PP +.Vb 2 +\& openssl ts \-verify \-queryfile design2.tsq \-in design2.tsr \e +\& \-CAfile cacert.pem +.Ve +.PP +To verify a time stamp token against the original data file: + openssl ts \-verify \-data design2.txt \-in design2.tsr \e + \-CAfile cacert.pem +.PP +To verify a time stamp token against a message imprint: + openssl ts \-verify \-digest b7e5d3f93198b38379852f2c04e78d73abdd0f4b \e + \-in design2.tsr \-CAfile cacert.pem +.PP +You could also look at the 'test' directory for more examples. +.SH "BUGS" +.IX Header "BUGS" +.IP "\(bu" 2 +No support for time stamps over \s-1SMTP\s0, though it is quite easy +to implement an automatic e\-mail based \s-1TSA\s0 with \fIprocmail\fR\|(1) +and \fIperl\fR\|(1). \s-1HTTP\s0 server support is provided in the form of +a separate apache module. \s-1HTTP\s0 client support is provided by +\&\fItsget\fR\|(1). Pure \s-1TCP/IP\s0 protocol is not supported. +.IP "\(bu" 2 +The file containing the last serial number of the \s-1TSA\s0 is not +locked when being read or written. This is a problem if more than one +instance of \fIopenssl\fR\|(1) is trying to create a time stamp +response at the same time. This is not an issue when using the apache +server module, it does proper locking. +.IP "\(bu" 2 +Look for the \s-1FIXME\s0 word in the source files. +.IP "\(bu" 2 +The source code should really be reviewed by somebody else, too. +.IP "\(bu" 2 +More testing is needed, I have done only some basic tests (see +test/testtsa). +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fItsget\fR\|(1), \fIopenssl\fR\|(1), \fIreq\fR\|(1), +\&\fIx509\fR\|(1), \fIca\fR\|(1), \fIgenrsa\fR\|(1), +\&\fIconfig\fR\|(5) +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2006\-2019 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man1/tsget.1 b/linux_amd64/share/man/man1/tsget.1 index 5354416..017ab05 100755 --- a/linux_amd64/share/man/man1/tsget.1 +++ b/linux_amd64/share/man/man1/tsget.1 @@ -124,39 +124,40 @@ .\" ======================================================================== .\" .IX Title "TSGET 1" -.TH TSGET 1 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH TSGET 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -tsget \- Time Stamping HTTP/HTTPS client +openssl\-tsget, tsget \- Time Stamping HTTP/HTTPS client .SH "SYNOPSIS" .IX Header "SYNOPSIS" \&\fBtsget\fR -\&\fB\-h\fR \fIserver_url\fR -[\fB\-e\fR \fIextension\fR] -[\fB\-o\fR \fIoutput\fR] +\&\fB\-h\fR server_url +[\fB\-e\fR extension] +[\fB\-o\fR output] [\fB\-v\fR] [\fB\-d\fR] -[\fB\-k\fR \fIprivate_key.pem\fR] -[\fB\-p\fR \fIkey_password\fR] -[\fB\-c\fR \fIclient_cert.pem\fR] -[\fB\-C\fR \fICA_certs.pem\fR] -[\fB\-P\fR \fICA_path\fR] -[\fB\-r\fR \fIfiles\fR] -[\fB\-g\fR \fIEGD_socket\fR] -[\fIrequest\fR ...] +[\fB\-k\fR private_key.pem] +[\fB\-p\fR key_password] +[\fB\-c\fR client_cert.pem] +[\fB\-C\fR CA_certs.pem] +[\fB\-P\fR CA_path] +[\fB\-r\fR file:file...] +[\fB\-g\fR EGD_socket] +[request]... .SH "DESCRIPTION" .IX Header "DESCRIPTION" -This command can be used for sending a timestamp request, as specified -in \s-1RFC\s0 3161, to a timestamp server over \s-1HTTP\s0 or \s-1HTTPS\s0 and storing the -timestamp response in a file. It cannot be used for creating the requests -and verifying responses, you have to use \fIopenssl\-ts\fR\|(1) to do that. This -command can send several requests to the server without closing the \s-1TCP\s0 -connection if more than one requests are specified on the command line. +The \fBtsget\fR command can be used for sending a time stamp request, as +specified in \fB\s-1RFC\s0 3161\fR, to a time stamp server over \s-1HTTP\s0 or \s-1HTTPS\s0 and storing +the time stamp response in a file. This tool cannot be used for creating the +requests and verifying responses, you can use the OpenSSL \fB\f(BIts\fB\|(1)\fR command to +do that. \fBtsget\fR can send several requests to the server without closing +the \s-1TCP\s0 connection if more than one requests are specified on the command +line. .PP -This command sends the following \s-1HTTP\s0 request for each timestamp request: +The tool sends the following \s-1HTTP\s0 request for each time stamp request: .PP .Vb 7 \& POST url HTTP/1.1 @@ -170,23 +171,23 @@ This command sends the following \s-1HTTP\s0 request for each timestamp request: \& ...binary request specified by the user... .Ve .PP -It expects a response of type application/timestamp\-reply, which is +\&\fBtsget\fR expects a response of type application/timestamp\-reply, which is written to a file without any interpretation. .SH "OPTIONS" .IX Header "OPTIONS" -.IP "\fB\-h\fR \fIserver_url\fR" 4 +.IP "\fB\-h\fR server_url" 4 .IX Item "-h server_url" -The \s-1URL\s0 of the \s-1HTTP/HTTPS\s0 server listening for timestamp requests. -.IP "\fB\-e\fR \fIextension\fR" 4 +The \s-1URL\s0 of the \s-1HTTP/HTTPS\s0 server listening for time stamp requests. +.IP "\fB\-e\fR extension" 4 .IX Item "-e extension" If the \fB\-o\fR option is not given this argument specifies the extension of the output files. The base name of the output file will be the same as those of -the input files. Default extension is \fI.tsr\fR. (Optional) -.IP "\fB\-o\fR \fIoutput\fR" 4 +the input files. Default extension is '.tsr'. (Optional) +.IP "\fB\-o\fR output" 4 .IX Item "-o output" This option can be specified only when just one request is sent to the -server. The timestamp response will be written to the given output file. '\-' -means standard output. In case of multiple timestamp requests or the absence +server. The time stamp response will be written to the given output file. '\-' +means standard output. In case of multiple time stamp requests or the absence of this argument the names of the output files will be derived from the names of the input files and the default or specified extension argument. (Optional) .IP "\fB\-v\fR" 4 @@ -195,47 +196,49 @@ The name of the currently processed request is printed on standard error. (Optional) .IP "\fB\-d\fR" 4 .IX Item "-d" -Switches on verbose mode for the underlying perl module WWW::Curl::Easy. -You can see detailed debug messages for the connection. (Optional) -.IP "\fB\-k\fR \fIprivate_key.pem\fR" 4 +Switches on verbose mode for the underlying \fBcurl\fR library. You can see +detailed debug messages for the connection. (Optional) +.IP "\fB\-k\fR private_key.pem" 4 .IX Item "-k private_key.pem" (\s-1HTTPS\s0) In case of certificate-based client authentication over \s-1HTTPS\s0 -\&\fIprivate_key.pem\fR must contain the private key of the user. The private key + must contain the private key of the user. The private key file can optionally be protected by a passphrase. The \fB\-c\fR option must also be specified. (Optional) -.IP "\fB\-p\fR \fIkey_password\fR" 4 +.IP "\fB\-p\fR key_password" 4 .IX Item "-p key_password" (\s-1HTTPS\s0) Specifies the passphrase for the private key specified by the \fB\-k\fR -argument. If this option is omitted and the key is passphrase protected, -it will be prompted for. (Optional) -.IP "\fB\-c\fR \fIclient_cert.pem\fR" 4 +argument. If this option is omitted and the key is passphrase protected \fBtsget\fR +will ask for it. (Optional) +.IP "\fB\-c\fR client_cert.pem" 4 .IX Item "-c client_cert.pem" (\s-1HTTPS\s0) In case of certificate-based client authentication over \s-1HTTPS\s0 -\&\fIclient_cert.pem\fR must contain the X.509 certificate of the user. The \fB\-k\fR + must contain the X.509 certificate of the user. The \fB\-k\fR option must also be specified. If this option is not specified no certificate-based client authentication will take place. (Optional) -.IP "\fB\-C\fR \fICA_certs.pem\fR" 4 +.IP "\fB\-C\fR CA_certs.pem" 4 .IX Item "-C CA_certs.pem" (\s-1HTTPS\s0) The trusted \s-1CA\s0 certificate store. The certificate chain of the peer's certificate must include one of the \s-1CA\s0 certificates specified in this file. Either option \fB\-C\fR or option \fB\-P\fR must be given in case of \s-1HTTPS\s0. (Optional) -.IP "\fB\-P\fR \fICA_path\fR" 4 +.IP "\fB\-P\fR CA_path" 4 .IX Item "-P CA_path" (\s-1HTTPS\s0) The path containing the trusted \s-1CA\s0 certificates to verify the peer's -certificate. The directory must be prepared with \fIopenssl\-rehash\fR\|(1). Either -option \fB\-C\fR or option \fB\-P\fR must be given in case of \s-1HTTPS\s0. (Optional) -.IP "\fB\-r\fR \fIfiles\fR" 4 -.IX Item "-r files" -See \*(L"Random State Options\*(R" in \fIopenssl\fR\|(1) for more information. -.IP "\fB\-g\fR \fIEGD_socket\fR" 4 +certificate. The directory must be prepared with the \fBc_rehash\fR +OpenSSL utility. Either option \fB\-C\fR or option \fB\-P\fR must be given in case of +\&\s-1HTTPS\s0. (Optional) +.IP "\fB\-rand\fR file:file..." 4 +.IX Item "-rand file:file..." +The files containing random data for seeding the random number +generator. Multiple files can be specified, the separator is \fB;\fR for +MS-Windows, \fB,\fR for \s-1VMS\s0 and \fB:\fR for all other platforms. (Optional) +.IP "\fB\-g\fR EGD_socket" 4 .IX Item "-g EGD_socket" The name of an \s-1EGD\s0 socket to get random data from. (Optional) -.IP "\fIrequest\fR ..." 4 -.IX Item "request ..." -List of files containing \s-1RFC\s0 3161 DER-encoded timestamp requests. If no -requests are specified only one request will be sent to the server and it will -be read from the standard input. -(Optional) +.IP "[request]..." 4 +.IX Item "[request]..." +List of files containing \fB\s-1RFC\s0 3161\fR DER-encoded time stamp requests. If no +requests are specified only one request will be sent to the server and it will be +read from the standard input. (Optional) .SH "ENVIRONMENT VARIABLES" .IX Header "ENVIRONMENT VARIABLES" The \fB\s-1TSGET\s0\fR environment variable can optionally contain default @@ -243,28 +246,28 @@ arguments. The content of this variable is added to the list of command line arguments. .SH "EXAMPLES" .IX Header "EXAMPLES" -The examples below presume that \fIfile1.tsq\fR and \fIfile2.tsq\fR contain valid -timestamp requests, tsa.opentsa.org listens at port 8080 for \s-1HTTP\s0 requests +The examples below presume that \fBfile1.tsq\fR and \fBfile2.tsq\fR contain valid +time stamp requests, tsa.opentsa.org listens at port 8080 for \s-1HTTP\s0 requests and at port 8443 for \s-1HTTPS\s0 requests, the \s-1TSA\s0 service is available at the /tsa absolute path. .PP -Get a timestamp response for \fIfile1.tsq\fR over \s-1HTTP\s0, output is written to -\&\fIfile1.tsr\fR: +Get a time stamp response for file1.tsq over \s-1HTTP\s0, output is written to +file1.tsr: .PP .Vb 1 \& tsget \-h http://tsa.opentsa.org:8080/tsa file1.tsq .Ve .PP -Get a timestamp response for \fIfile1.tsq\fR and \fIfile2.tsq\fR over \s-1HTTP\s0 showing -progress, output is written to \fIfile1.reply\fR and \fIfile2.reply\fR respectively: +Get a time stamp response for file1.tsq and file2.tsq over \s-1HTTP\s0 showing +progress, output is written to file1.reply and file2.reply respectively: .PP .Vb 2 \& tsget \-h http://tsa.opentsa.org:8080/tsa \-v \-e .reply \e \& file1.tsq file2.tsq .Ve .PP -Create a timestamp request, write it to \fIfile3.tsq\fR, send it to the server and -write the response to \fIfile3.tsr\fR: +Create a time stamp request, write it to file3.tsq, send it to the server and +write the response to file3.tsr: .PP .Vb 3 \& openssl ts \-query \-data file3.txt \-cert | tee file3.tsq \e @@ -272,7 +275,7 @@ write the response to \fIfile3.tsr\fR: \& \-o file3.tsr .Ve .PP -Get a timestamp response for \fIfile1.tsq\fR over \s-1HTTPS\s0 without client +Get a time stamp response for file1.tsq over \s-1HTTPS\s0 without client authentication: .PP .Vb 2 @@ -280,8 +283,8 @@ authentication: \& \-C cacerts.pem file1.tsq .Ve .PP -Get a timestamp response for \fIfile1.tsq\fR over \s-1HTTPS\s0 with certificate-based -client authentication (it will ask for the passphrase if \fIclient_key.pem\fR is +Get a time stamp response for file1.tsq over \s-1HTTPS\s0 with certificate-based +client authentication (it will ask for the passphrase if client_key.pem is protected): .PP .Vb 2 @@ -301,15 +304,13 @@ example: .Ve .SH "SEE ALSO" .IX Header "SEE ALSO" -\&\fIopenssl\fR\|(1), -\&\fIopenssl\-ts\fR\|(1), -WWW::Curl::Easy, -https://www.rfc\-editor.org/rfc/rfc3161.html +\&\fIopenssl\fR\|(1), \fIts\fR\|(1), \fIcurl\fR\|(1), +\&\fB\s-1RFC\s0 3161\fR .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2006\-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2006\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man1/verify.1 b/linux_amd64/share/man/man1/verify.1 new file mode 100644 index 0000000..a1de05d --- /dev/null +++ b/linux_amd64/share/man/man1/verify.1 @@ -0,0 +1,771 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "VERIFY 1" +.TH VERIFY 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +openssl\-verify, verify \- Utility to verify certificates +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBopenssl\fR \fBverify\fR +[\fB\-help\fR] +[\fB\-CAfile file\fR] +[\fB\-CApath directory\fR] +[\fB\-no\-CAfile\fR] +[\fB\-no\-CApath\fR] +[\fB\-allow_proxy_certs\fR] +[\fB\-attime timestamp\fR] +[\fB\-check_ss_sig\fR] +[\fB\-CRLfile file\fR] +[\fB\-crl_download\fR] +[\fB\-crl_check\fR] +[\fB\-crl_check_all\fR] +[\fB\-engine id\fR] +[\fB\-explicit_policy\fR] +[\fB\-extended_crl\fR] +[\fB\-ignore_critical\fR] +[\fB\-inhibit_any\fR] +[\fB\-inhibit_map\fR] +[\fB\-nameopt option\fR] +[\fB\-no_check_time\fR] +[\fB\-partial_chain\fR] +[\fB\-policy arg\fR] +[\fB\-policy_check\fR] +[\fB\-policy_print\fR] +[\fB\-purpose purpose\fR] +[\fB\-suiteB_128\fR] +[\fB\-suiteB_128_only\fR] +[\fB\-suiteB_192\fR] +[\fB\-trusted_first\fR] +[\fB\-no_alt_chains\fR] +[\fB\-untrusted file\fR] +[\fB\-trusted file\fR] +[\fB\-use_deltas\fR] +[\fB\-verbose\fR] +[\fB\-auth_level level\fR] +[\fB\-verify_depth num\fR] +[\fB\-verify_email email\fR] +[\fB\-verify_hostname hostname\fR] +[\fB\-verify_ip ip\fR] +[\fB\-verify_name name\fR] +[\fB\-x509_strict\fR] +[\fB\-show_chain\fR] +[\fB\-\fR] +[certificates] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The \fBverify\fR command verifies certificate chains. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-help\fR" 4 +.IX Item "-help" +Print out a usage message. +.IP "\fB\-CAfile file\fR" 4 +.IX Item "-CAfile file" +A \fBfile\fR of trusted certificates. +The file should contain one or more certificates in \s-1PEM\s0 format. +.IP "\fB\-CApath directory\fR" 4 +.IX Item "-CApath directory" +A directory of trusted certificates. The certificates should have names +of the form: hash.0 or have symbolic links to them of this +form (\*(L"hash\*(R" is the hashed certificate subject name: see the \fB\-hash\fR option +of the \fBx509\fR utility). Under Unix the \fBc_rehash\fR script will automatically +create symbolic links to a directory of certificates. +.IP "\fB\-no\-CAfile\fR" 4 +.IX Item "-no-CAfile" +Do not load the trusted \s-1CA\s0 certificates from the default file location. +.IP "\fB\-no\-CApath\fR" 4 +.IX Item "-no-CApath" +Do not load the trusted \s-1CA\s0 certificates from the default directory location. +.IP "\fB\-allow_proxy_certs\fR" 4 +.IX Item "-allow_proxy_certs" +Allow the verification of proxy certificates. +.IP "\fB\-attime timestamp\fR" 4 +.IX Item "-attime timestamp" +Perform validation checks using time specified by \fBtimestamp\fR and not +current system time. \fBtimestamp\fR is the number of seconds since +01.01.1970 (\s-1UNIX\s0 time). +.IP "\fB\-check_ss_sig\fR" 4 +.IX Item "-check_ss_sig" +Verify the signature on the self-signed root \s-1CA\s0. This is disabled by default +because it doesn't add any security. +.IP "\fB\-CRLfile file\fR" 4 +.IX Item "-CRLfile file" +The \fBfile\fR should contain one or more CRLs in \s-1PEM\s0 format. +This option can be specified more than once to include CRLs from multiple +\&\fBfiles\fR. +.IP "\fB\-crl_download\fR" 4 +.IX Item "-crl_download" +Attempt to download \s-1CRL\s0 information for this certificate. +.IP "\fB\-crl_check\fR" 4 +.IX Item "-crl_check" +Checks end entity certificate validity by attempting to look up a valid \s-1CRL\s0. +If a valid \s-1CRL\s0 cannot be found an error occurs. +.IP "\fB\-crl_check_all\fR" 4 +.IX Item "-crl_check_all" +Checks the validity of \fBall\fR certificates in the chain by attempting +to look up valid CRLs. +.IP "\fB\-engine id\fR" 4 +.IX Item "-engine id" +Specifying an engine \fBid\fR will cause \fIverify\fR\|(1) to attempt to load the +specified engine. +The engine will then be set as the default for all its supported algorithms. +If you want to load certificates or CRLs that require engine support via any of +the \fB\-trusted\fR, \fB\-untrusted\fR or \fB\-CRLfile\fR options, the \fB\-engine\fR option +must be specified before those options. +.IP "\fB\-explicit_policy\fR" 4 +.IX Item "-explicit_policy" +Set policy variable require-explicit-policy (see \s-1RFC5280\s0). +.IP "\fB\-extended_crl\fR" 4 +.IX Item "-extended_crl" +Enable extended \s-1CRL\s0 features such as indirect CRLs and alternate \s-1CRL\s0 +signing keys. +.IP "\fB\-ignore_critical\fR" 4 +.IX Item "-ignore_critical" +Normally if an unhandled critical extension is present which is not +supported by OpenSSL the certificate is rejected (as required by \s-1RFC5280\s0). +If this option is set critical extensions are ignored. +.IP "\fB\-inhibit_any\fR" 4 +.IX Item "-inhibit_any" +Set policy variable inhibit-any-policy (see \s-1RFC5280\s0). +.IP "\fB\-inhibit_map\fR" 4 +.IX Item "-inhibit_map" +Set policy variable inhibit-policy-mapping (see \s-1RFC5280\s0). +.IP "\fB\-nameopt option\fR" 4 +.IX Item "-nameopt option" +Option which determines how the subject or issuer names are displayed. The +\&\fBoption\fR argument can be a single option or multiple options separated by +commas. Alternatively the \fB\-nameopt\fR switch may be used more than once to +set multiple options. See the \fIx509\fR\|(1) manual page for details. +.IP "\fB\-no_check_time\fR" 4 +.IX Item "-no_check_time" +This option suppresses checking the validity period of certificates and CRLs +against the current time. If option \fB\-attime timestamp\fR is used to specify +a verification time, the check is not suppressed. +.IP "\fB\-partial_chain\fR" 4 +.IX Item "-partial_chain" +Allow verification to succeed even if a \fIcomplete\fR chain cannot be built to a +self-signed trust-anchor, provided it is possible to construct a chain to a +trusted certificate that might not be self-signed. +.IP "\fB\-policy arg\fR" 4 +.IX Item "-policy arg" +Enable policy processing and add \fBarg\fR to the user-initial-policy-set (see +\&\s-1RFC5280\s0). The policy \fBarg\fR can be an object name an \s-1OID\s0 in numeric form. +This argument can appear more than once. +.IP "\fB\-policy_check\fR" 4 +.IX Item "-policy_check" +Enables certificate policy processing. +.IP "\fB\-policy_print\fR" 4 +.IX Item "-policy_print" +Print out diagnostics related to policy processing. +.IP "\fB\-purpose purpose\fR" 4 +.IX Item "-purpose purpose" +The intended use for the certificate. If this option is not specified, +\&\fBverify\fR will not consider certificate purpose during chain verification. +Currently accepted uses are \fBsslclient\fR, \fBsslserver\fR, \fBnssslserver\fR, +\&\fBsmimesign\fR, \fBsmimeencrypt\fR. See the \fB\s-1VERIFY\s0 \s-1OPERATION\s0\fR section for more +information. +.IP "\fB\-suiteB_128_only\fR, \fB\-suiteB_128\fR, \fB\-suiteB_192\fR" 4 +.IX Item "-suiteB_128_only, -suiteB_128, -suiteB_192" +Enable the Suite B mode operation at 128 bit Level of Security, 128 bit or +192 bit, or only 192 bit Level of Security respectively. +See \s-1RFC6460\s0 for details. In particular the supported signature algorithms are +reduced to support only \s-1ECDSA\s0 and \s-1SHA256\s0 or \s-1SHA384\s0 and only the elliptic curves +P\-256 and P\-384. +.IP "\fB\-trusted_first\fR" 4 +.IX Item "-trusted_first" +When constructing the certificate chain, use the trusted certificates specified +via \fB\-CAfile\fR, \fB\-CApath\fR or \fB\-trusted\fR before any certificates specified via +\&\fB\-untrusted\fR. +This can be useful in environments with Bridge or Cross-Certified CAs. +As of OpenSSL 1.1.0 this option is on by default and cannot be disabled. +.IP "\fB\-no_alt_chains\fR" 4 +.IX Item "-no_alt_chains" +By default, unless \fB\-trusted_first\fR is specified, when building a certificate +chain, if the first certificate chain found is not trusted, then OpenSSL will +attempt to replace untrusted issuer certificates with certificates from the +trust store to see if an alternative chain can be found that is trusted. +As of OpenSSL 1.1.0, with \fB\-trusted_first\fR always on, this option has no +effect. +.IP "\fB\-untrusted file\fR" 4 +.IX Item "-untrusted file" +A \fBfile\fR of additional untrusted certificates (intermediate issuer CAs) used +to construct a certificate chain from the subject certificate to a trust-anchor. +The \fBfile\fR should contain one or more certificates in \s-1PEM\s0 format. +This option can be specified more than once to include untrusted certificates +from multiple \fBfiles\fR. +.IP "\fB\-trusted file\fR" 4 +.IX Item "-trusted file" +A \fBfile\fR of trusted certificates, which must be self-signed, unless the +\&\fB\-partial_chain\fR option is specified. +The \fBfile\fR contains one or more certificates in \s-1PEM\s0 format. +With this option, no additional (e.g., default) certificate lists are +consulted. +That is, the only trust-anchors are those listed in \fBfile\fR. +This option can be specified more than once to include trusted certificates +from multiple \fBfiles\fR. +This option implies the \fB\-no\-CAfile\fR and \fB\-no\-CApath\fR options. +This option cannot be used in combination with either of the \fB\-CAfile\fR or +\&\fB\-CApath\fR options. +.IP "\fB\-use_deltas\fR" 4 +.IX Item "-use_deltas" +Enable support for delta CRLs. +.IP "\fB\-verbose\fR" 4 +.IX Item "-verbose" +Print extra information about the operations being performed. +.IP "\fB\-auth_level level\fR" 4 +.IX Item "-auth_level level" +Set the certificate chain authentication security level to \fBlevel\fR. +The authentication security level determines the acceptable signature and +public key strength when verifying certificate chains. +For a certificate chain to validate, the public keys of all the certificates +must meet the specified security \fBlevel\fR. +The signature algorithm security level is enforced for all the certificates in +the chain except for the chain's \fItrust anchor\fR, which is either directly +trusted or validated by means other than its signature. +See \fISSL_CTX_set_security_level\fR\|(3) for the definitions of the available +levels. +The default security level is \-1, or \*(L"not set\*(R". +At security level 0 or lower all algorithms are acceptable. +Security level 1 requires at least 80\-bit\-equivalent security and is broadly +interoperable, though it will, for example, reject \s-1MD5\s0 signatures or \s-1RSA\s0 keys +shorter than 1024 bits. +.IP "\fB\-verify_depth num\fR" 4 +.IX Item "-verify_depth num" +Limit the certificate chain to \fBnum\fR intermediate \s-1CA\s0 certificates. +A maximal depth chain can have up to \fBnum+2\fR certificates, since neither the +end-entity certificate nor the trust-anchor certificate count against the +\&\fB\-verify_depth\fR limit. +.IP "\fB\-verify_email email\fR" 4 +.IX Item "-verify_email email" +Verify if the \fBemail\fR matches the email address in Subject Alternative Name or +the email in the subject Distinguished Name. +.IP "\fB\-verify_hostname hostname\fR" 4 +.IX Item "-verify_hostname hostname" +Verify if the \fBhostname\fR matches \s-1DNS\s0 name in Subject Alternative Name or +Common Name in the subject certificate. +.IP "\fB\-verify_ip ip\fR" 4 +.IX Item "-verify_ip ip" +Verify if the \fBip\fR matches the \s-1IP\s0 address in Subject Alternative Name of +the subject certificate. +.IP "\fB\-verify_name name\fR" 4 +.IX Item "-verify_name name" +Use default verification policies like trust model and required certificate +policies identified by \fBname\fR. +The trust model determines which auxiliary trust or reject OIDs are applicable +to verifying the given certificate chain. +See the \fB\-addtrust\fR and \fB\-addreject\fR options of the \fIx509\fR\|(1) command-line +utility. +Supported policy names include: \fBdefault\fR, \fBpkcs7\fR, \fBsmime_sign\fR, +\&\fBssl_client\fR, \fBssl_server\fR. +These mimics the combinations of purpose and trust settings used in \s-1SSL\s0, \s-1CMS\s0 +and S/MIME. +As of OpenSSL 1.1.0, the trust model is inferred from the purpose when not +specified, so the \fB\-verify_name\fR options are functionally equivalent to the +corresponding \fB\-purpose\fR settings. +.IP "\fB\-x509_strict\fR" 4 +.IX Item "-x509_strict" +For strict X.509 compliance, disable non-compliant workarounds for broken +certificates. +.IP "\fB\-show_chain\fR" 4 +.IX Item "-show_chain" +Display information about the certificate chain that has been built (if +successful). Certificates in the chain that came from the untrusted list will be +flagged as \*(L"untrusted\*(R". +.IP "\fB\-\fR" 4 +.IX Item "-" +Indicates the last option. All arguments following this are assumed to be +certificate files. This is useful if the first certificate filename begins +with a \fB\-\fR. +.IP "\fBcertificates\fR" 4 +.IX Item "certificates" +One or more certificates to verify. If no certificates are given, \fBverify\fR +will attempt to read a certificate from standard input. Certificates must be +in \s-1PEM\s0 format. +.SH "VERIFY OPERATION" +.IX Header "VERIFY OPERATION" +The \fBverify\fR program uses the same functions as the internal \s-1SSL\s0 and S/MIME +verification, therefore this description applies to these verify operations +too. +.PP +There is one crucial difference between the verify operations performed +by the \fBverify\fR program: wherever possible an attempt is made to continue +after an error whereas normally the verify operation would halt on the +first error. This allows all the problems with a certificate chain to be +determined. +.PP +The verify operation consists of a number of separate steps. +.PP +Firstly a certificate chain is built up starting from the supplied certificate +and ending in the root \s-1CA\s0. +It is an error if the whole chain cannot be built up. +The chain is built up by looking up the issuers certificate of the current +certificate. +If a certificate is found which is its own issuer it is assumed to be the root +\&\s-1CA\s0. +.PP +The process of 'looking up the issuers certificate' itself involves a number of +steps. +After all certificates whose subject name matches the issuer name of the current +certificate are subject to further tests. +The relevant authority key identifier components of the current certificate (if +present) must match the subject key identifier (if present) and issuer and +serial number of the candidate issuer, in addition the keyUsage extension of +the candidate issuer (if present) must permit certificate signing. +.PP +The lookup first looks in the list of untrusted certificates and if no match +is found the remaining lookups are from the trusted certificates. The root \s-1CA\s0 +is always looked up in the trusted certificate list: if the certificate to +verify is a root certificate then an exact match must be found in the trusted +list. +.PP +The second operation is to check every untrusted certificate's extensions for +consistency with the supplied purpose. If the \fB\-purpose\fR option is not included +then no checks are done. The supplied or \*(L"leaf\*(R" certificate must have extensions +compatible with the supplied purpose and all other certificates must also be valid +\&\s-1CA\s0 certificates. The precise extensions required are described in more detail in +the \fB\s-1CERTIFICATE\s0 \s-1EXTENSIONS\s0\fR section of the \fBx509\fR utility. +.PP +The third operation is to check the trust settings on the root \s-1CA\s0. The root \s-1CA\s0 +should be trusted for the supplied purpose. +For compatibility with previous versions of OpenSSL, a certificate with no +trust settings is considered to be valid for all purposes. +.PP +The final operation is to check the validity of the certificate chain. The validity +period is checked against the current system time and the notBefore and notAfter +dates in the certificate. The certificate signatures are also checked at this +point. +.PP +If all operations complete successfully then certificate is considered valid. If +any operation fails then the certificate is not valid. +.SH "DIAGNOSTICS" +.IX Header "DIAGNOSTICS" +When a verify operation fails the output messages can be somewhat cryptic. The +general form of the error message is: +.PP +.Vb 2 +\& server.pem: /C=AU/ST=Queensland/O=CryptSoft Pty Ltd/CN=Test CA (1024 bit) +\& error 24 at 1 depth lookup:invalid CA certificate +.Ve +.PP +The first line contains the name of the certificate being verified followed by +the subject name of the certificate. The second line contains the error number +and the depth. The depth is number of the certificate being verified when a +problem was detected starting with zero for the certificate being verified itself +then 1 for the \s-1CA\s0 that signed the certificate and so on. Finally a text version +of the error number is presented. +.PP +A partial list of the error codes and messages is shown below, this also +includes the name of the error code as defined in the header file x509_vfy.h +Some of the error codes are defined but never returned: these are described +as \*(L"unused\*(R". +.IP "\fBX509_V_OK\fR" 4 +.IX Item "X509_V_OK" +The operation was successful. +.IP "\fBX509_V_ERR_UNSPECIFIED\fR" 4 +.IX Item "X509_V_ERR_UNSPECIFIED" +Unspecified error; should not happen. +.IP "\fBX509_V_ERR_UNABLE_TO_GET_ISSUER_CERT\fR" 4 +.IX Item "X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT" +The issuer certificate of a looked up certificate could not be found. This +normally means the list of trusted certificates is not complete. +.IP "\fBX509_V_ERR_UNABLE_TO_GET_CRL\fR" 4 +.IX Item "X509_V_ERR_UNABLE_TO_GET_CRL" +The \s-1CRL\s0 of a certificate could not be found. +.IP "\fBX509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE\fR" 4 +.IX Item "X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE" +The certificate signature could not be decrypted. This means that the +actual signature value could not be determined rather than it not matching +the expected value, this is only meaningful for \s-1RSA\s0 keys. +.IP "\fBX509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE\fR" 4 +.IX Item "X509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE" +The \s-1CRL\s0 signature could not be decrypted: this means that the actual +signature value could not be determined rather than it not matching the +expected value. Unused. +.IP "\fBX509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY\fR" 4 +.IX Item "X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY" +The public key in the certificate SubjectPublicKeyInfo could not be read. +.IP "\fBX509_V_ERR_CERT_SIGNATURE_FAILURE\fR" 4 +.IX Item "X509_V_ERR_CERT_SIGNATURE_FAILURE" +The signature of the certificate is invalid. +.IP "\fBX509_V_ERR_CRL_SIGNATURE_FAILURE\fR" 4 +.IX Item "X509_V_ERR_CRL_SIGNATURE_FAILURE" +The signature of the certificate is invalid. +.IP "\fBX509_V_ERR_CERT_NOT_YET_VALID\fR" 4 +.IX Item "X509_V_ERR_CERT_NOT_YET_VALID" +The certificate is not yet valid: the notBefore date is after the +current time. +.IP "\fBX509_V_ERR_CERT_HAS_EXPIRED\fR" 4 +.IX Item "X509_V_ERR_CERT_HAS_EXPIRED" +The certificate has expired: that is the notAfter date is before the +current time. +.IP "\fBX509_V_ERR_CRL_NOT_YET_VALID\fR" 4 +.IX Item "X509_V_ERR_CRL_NOT_YET_VALID" +The \s-1CRL\s0 is not yet valid. +.IP "\fBX509_V_ERR_CRL_HAS_EXPIRED\fR" 4 +.IX Item "X509_V_ERR_CRL_HAS_EXPIRED" +The \s-1CRL\s0 has expired. +.IP "\fBX509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD\fR" 4 +.IX Item "X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD" +The certificate notBefore field contains an invalid time. +.IP "\fBX509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD\fR" 4 +.IX Item "X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD" +The certificate notAfter field contains an invalid time. +.IP "\fBX509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD\fR" 4 +.IX Item "X509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD" +The \s-1CRL\s0 lastUpdate field contains an invalid time. +.IP "\fBX509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD\fR" 4 +.IX Item "X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD" +The \s-1CRL\s0 nextUpdate field contains an invalid time. +.IP "\fBX509_V_ERR_OUT_OF_MEM\fR" 4 +.IX Item "X509_V_ERR_OUT_OF_MEM" +An error occurred trying to allocate memory. This should never happen. +.IP "\fBX509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT\fR" 4 +.IX Item "X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT" +The passed certificate is self-signed and the same certificate cannot +be found in the list of trusted certificates. +.IP "\fBX509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN\fR" 4 +.IX Item "X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN" +The certificate chain could be built up using the untrusted certificates +but the root could not be found locally. +.IP "\fBX509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY\fR" 4 +.IX Item "X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY" +The issuer certificate could not be found: this occurs if the issuer +certificate of an untrusted certificate cannot be found. +.IP "\fBX509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE\fR" 4 +.IX Item "X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE" +No signatures could be verified because the chain contains only one +certificate and it is not self signed. +.IP "\fBX509_V_ERR_CERT_CHAIN_TOO_LONG\fR" 4 +.IX Item "X509_V_ERR_CERT_CHAIN_TOO_LONG" +The certificate chain length is greater than the supplied maximum +depth. Unused. +.IP "\fBX509_V_ERR_CERT_REVOKED\fR" 4 +.IX Item "X509_V_ERR_CERT_REVOKED" +The certificate has been revoked. +.IP "\fBX509_V_ERR_INVALID_CA\fR" 4 +.IX Item "X509_V_ERR_INVALID_CA" +A \s-1CA\s0 certificate is invalid. Either it is not a \s-1CA\s0 or its extensions +are not consistent with the supplied purpose. +.IP "\fBX509_V_ERR_PATH_LENGTH_EXCEEDED\fR" 4 +.IX Item "X509_V_ERR_PATH_LENGTH_EXCEEDED" +The basicConstraints pathlength parameter has been exceeded. +.IP "\fBX509_V_ERR_INVALID_PURPOSE\fR" 4 +.IX Item "X509_V_ERR_INVALID_PURPOSE" +The supplied certificate cannot be used for the specified purpose. +.IP "\fBX509_V_ERR_CERT_UNTRUSTED\fR" 4 +.IX Item "X509_V_ERR_CERT_UNTRUSTED" +The root \s-1CA\s0 is not marked as trusted for the specified purpose. +.IP "\fBX509_V_ERR_CERT_REJECTED\fR" 4 +.IX Item "X509_V_ERR_CERT_REJECTED" +The root \s-1CA\s0 is marked to reject the specified purpose. +.IP "\fBX509_V_ERR_SUBJECT_ISSUER_MISMATCH\fR" 4 +.IX Item "X509_V_ERR_SUBJECT_ISSUER_MISMATCH" +Not used as of OpenSSL 1.1.0 as a result of the deprecation of the +\&\fB\-issuer_checks\fR option. +.IP "\fBX509_V_ERR_AKID_SKID_MISMATCH\fR" 4 +.IX Item "X509_V_ERR_AKID_SKID_MISMATCH" +Not used as of OpenSSL 1.1.0 as a result of the deprecation of the +\&\fB\-issuer_checks\fR option. +.IP "\fBX509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH\fR" 4 +.IX Item "X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH" +Not used as of OpenSSL 1.1.0 as a result of the deprecation of the +\&\fB\-issuer_checks\fR option. +.IP "\fBX509_V_ERR_KEYUSAGE_NO_CERTSIGN\fR" 4 +.IX Item "X509_V_ERR_KEYUSAGE_NO_CERTSIGN" +Not used as of OpenSSL 1.1.0 as a result of the deprecation of the +\&\fB\-issuer_checks\fR option. +.IP "\fBX509_V_ERR_UNABLE_TO_GET_CRL_ISSUER\fR" 4 +.IX Item "X509_V_ERR_UNABLE_TO_GET_CRL_ISSUER" +Unable to get \s-1CRL\s0 issuer certificate. +.IP "\fBX509_V_ERR_UNHANDLED_CRITICAL_EXTENSION\fR" 4 +.IX Item "X509_V_ERR_UNHANDLED_CRITICAL_EXTENSION" +Unhandled critical extension. +.IP "\fBX509_V_ERR_KEYUSAGE_NO_CRL_SIGN\fR" 4 +.IX Item "X509_V_ERR_KEYUSAGE_NO_CRL_SIGN" +Key usage does not include \s-1CRL\s0 signing. +.IP "\fBX509_V_ERR_UNHANDLED_CRITICAL_CRL_EXTENSION\fR" 4 +.IX Item "X509_V_ERR_UNHANDLED_CRITICAL_CRL_EXTENSION" +Unhandled critical \s-1CRL\s0 extension. +.IP "\fBX509_V_ERR_INVALID_NON_CA\fR" 4 +.IX Item "X509_V_ERR_INVALID_NON_CA" +Invalid non-CA certificate has \s-1CA\s0 markings. +.IP "\fBX509_V_ERR_PROXY_PATH_LENGTH_EXCEEDED\fR" 4 +.IX Item "X509_V_ERR_PROXY_PATH_LENGTH_EXCEEDED" +Proxy path length constraint exceeded. +.IP "\fBX509_V_ERR_PROXY_SUBJECT_INVALID\fR" 4 +.IX Item "X509_V_ERR_PROXY_SUBJECT_INVALID" +Proxy certificate subject is invalid. It \s-1MUST\s0 be the same as the issuer +with a single \s-1CN\s0 component added. +.IP "\fBX509_V_ERR_KEYUSAGE_NO_DIGITAL_SIGNATURE\fR" 4 +.IX Item "X509_V_ERR_KEYUSAGE_NO_DIGITAL_SIGNATURE" +Key usage does not include digital signature. +.IP "\fBX509_V_ERR_PROXY_CERTIFICATES_NOT_ALLOWED\fR" 4 +.IX Item "X509_V_ERR_PROXY_CERTIFICATES_NOT_ALLOWED" +Proxy certificates not allowed, please use \fB\-allow_proxy_certs\fR. +.IP "\fBX509_V_ERR_INVALID_EXTENSION\fR" 4 +.IX Item "X509_V_ERR_INVALID_EXTENSION" +Invalid or inconsistent certificate extension. +.IP "\fBX509_V_ERR_INVALID_POLICY_EXTENSION\fR" 4 +.IX Item "X509_V_ERR_INVALID_POLICY_EXTENSION" +Invalid or inconsistent certificate policy extension. +.IP "\fBX509_V_ERR_NO_EXPLICIT_POLICY\fR" 4 +.IX Item "X509_V_ERR_NO_EXPLICIT_POLICY" +No explicit policy. +.IP "\fBX509_V_ERR_DIFFERENT_CRL_SCOPE\fR" 4 +.IX Item "X509_V_ERR_DIFFERENT_CRL_SCOPE" +Different \s-1CRL\s0 scope. +.IP "\fBX509_V_ERR_UNSUPPORTED_EXTENSION_FEATURE\fR" 4 +.IX Item "X509_V_ERR_UNSUPPORTED_EXTENSION_FEATURE" +Unsupported extension feature. +.IP "\fBX509_V_ERR_UNNESTED_RESOURCE\fR" 4 +.IX Item "X509_V_ERR_UNNESTED_RESOURCE" +\&\s-1RFC\s0 3779 resource not subset of parent's resources. +.IP "\fBX509_V_ERR_PERMITTED_VIOLATION\fR" 4 +.IX Item "X509_V_ERR_PERMITTED_VIOLATION" +Permitted subtree violation. +.IP "\fBX509_V_ERR_EXCLUDED_VIOLATION\fR" 4 +.IX Item "X509_V_ERR_EXCLUDED_VIOLATION" +Excluded subtree violation. +.IP "\fBX509_V_ERR_SUBTREE_MINMAX\fR" 4 +.IX Item "X509_V_ERR_SUBTREE_MINMAX" +Name constraints minimum and maximum not supported. +.IP "\fBX509_V_ERR_APPLICATION_VERIFICATION\fR" 4 +.IX Item "X509_V_ERR_APPLICATION_VERIFICATION" +Application verification failure. Unused. +.IP "\fBX509_V_ERR_UNSUPPORTED_CONSTRAINT_TYPE\fR" 4 +.IX Item "X509_V_ERR_UNSUPPORTED_CONSTRAINT_TYPE" +Unsupported name constraint type. +.IP "\fBX509_V_ERR_UNSUPPORTED_CONSTRAINT_SYNTAX\fR" 4 +.IX Item "X509_V_ERR_UNSUPPORTED_CONSTRAINT_SYNTAX" +Unsupported or invalid name constraint syntax. +.IP "\fBX509_V_ERR_UNSUPPORTED_NAME_SYNTAX\fR" 4 +.IX Item "X509_V_ERR_UNSUPPORTED_NAME_SYNTAX" +Unsupported or invalid name syntax. +.IP "\fBX509_V_ERR_CRL_PATH_VALIDATION_ERROR\fR" 4 +.IX Item "X509_V_ERR_CRL_PATH_VALIDATION_ERROR" +\&\s-1CRL\s0 path validation error. +.IP "\fBX509_V_ERR_PATH_LOOP\fR" 4 +.IX Item "X509_V_ERR_PATH_LOOP" +Path loop. +.IP "\fBX509_V_ERR_SUITE_B_INVALID_VERSION\fR" 4 +.IX Item "X509_V_ERR_SUITE_B_INVALID_VERSION" +Suite B: certificate version invalid. +.IP "\fBX509_V_ERR_SUITE_B_INVALID_ALGORITHM\fR" 4 +.IX Item "X509_V_ERR_SUITE_B_INVALID_ALGORITHM" +Suite B: invalid public key algorithm. +.IP "\fBX509_V_ERR_SUITE_B_INVALID_CURVE\fR" 4 +.IX Item "X509_V_ERR_SUITE_B_INVALID_CURVE" +Suite B: invalid \s-1ECC\s0 curve. +.IP "\fBX509_V_ERR_SUITE_B_INVALID_SIGNATURE_ALGORITHM\fR" 4 +.IX Item "X509_V_ERR_SUITE_B_INVALID_SIGNATURE_ALGORITHM" +Suite B: invalid signature algorithm. +.IP "\fBX509_V_ERR_SUITE_B_LOS_NOT_ALLOWED\fR" 4 +.IX Item "X509_V_ERR_SUITE_B_LOS_NOT_ALLOWED" +Suite B: curve not allowed for this \s-1LOS\s0. +.IP "\fBX509_V_ERR_SUITE_B_CANNOT_SIGN_P_384_WITH_P_256\fR" 4 +.IX Item "X509_V_ERR_SUITE_B_CANNOT_SIGN_P_384_WITH_P_256" +Suite B: cannot sign P\-384 with P\-256. +.IP "\fBX509_V_ERR_HOSTNAME_MISMATCH\fR" 4 +.IX Item "X509_V_ERR_HOSTNAME_MISMATCH" +Hostname mismatch. +.IP "\fBX509_V_ERR_EMAIL_MISMATCH\fR" 4 +.IX Item "X509_V_ERR_EMAIL_MISMATCH" +Email address mismatch. +.IP "\fBX509_V_ERR_IP_ADDRESS_MISMATCH\fR" 4 +.IX Item "X509_V_ERR_IP_ADDRESS_MISMATCH" +\&\s-1IP\s0 address mismatch. +.IP "\fBX509_V_ERR_DANE_NO_MATCH\fR" 4 +.IX Item "X509_V_ERR_DANE_NO_MATCH" +\&\s-1DANE\s0 \s-1TLSA\s0 authentication is enabled, but no \s-1TLSA\s0 records matched the +certificate chain. +This error is only possible in \fIs_client\fR\|(1). +.IP "\fBX509_V_ERR_EE_KEY_TOO_SMALL\fR" 4 +.IX Item "X509_V_ERR_EE_KEY_TOO_SMALL" +\&\s-1EE\s0 certificate key too weak. +.IP "\fBX509_ERR_CA_KEY_TOO_SMALL\fR" 4 +.IX Item "X509_ERR_CA_KEY_TOO_SMALL" +\&\s-1CA\s0 certificate key too weak. +.IP "\fBX509_ERR_CA_MD_TOO_WEAK\fR" 4 +.IX Item "X509_ERR_CA_MD_TOO_WEAK" +\&\s-1CA\s0 signature digest algorithm too weak. +.IP "\fBX509_V_ERR_INVALID_CALL\fR" 4 +.IX Item "X509_V_ERR_INVALID_CALL" +nvalid certificate verification context. +.IP "\fBX509_V_ERR_STORE_LOOKUP\fR" 4 +.IX Item "X509_V_ERR_STORE_LOOKUP" +Issuer certificate lookup error. +.IP "\fBX509_V_ERR_NO_VALID_SCTS\fR" 4 +.IX Item "X509_V_ERR_NO_VALID_SCTS" +Certificate Transparency required, but no valid SCTs found. +.IP "\fBX509_V_ERR_PROXY_SUBJECT_NAME_VIOLATION\fR" 4 +.IX Item "X509_V_ERR_PROXY_SUBJECT_NAME_VIOLATION" +Proxy subject name violation. +.IP "\fBX509_V_ERR_OCSP_VERIFY_NEEDED\fR" 4 +.IX Item "X509_V_ERR_OCSP_VERIFY_NEEDED" +Returned by the verify callback to indicate an \s-1OCSP\s0 verification is needed. +.IP "\fBX509_V_ERR_OCSP_VERIFY_FAILED\fR" 4 +.IX Item "X509_V_ERR_OCSP_VERIFY_FAILED" +Returned by the verify callback to indicate \s-1OCSP\s0 verification failed. +.IP "\fBX509_V_ERR_OCSP_CERT_UNKNOWN\fR" 4 +.IX Item "X509_V_ERR_OCSP_CERT_UNKNOWN" +Returned by the verify callback to indicate that the certificate is not recognized +by the \s-1OCSP\s0 responder. +.SH "BUGS" +.IX Header "BUGS" +Although the issuer checks are a considerable improvement over the old +technique they still suffer from limitations in the underlying X509_LOOKUP +\&\s-1API\s0. One consequence of this is that trusted certificates with matching +subject name must either appear in a file (as specified by the \fB\-CAfile\fR +option) or a directory (as specified by \fB\-CApath\fR). If they occur in +both then only the certificates in the file will be recognised. +.PP +Previous versions of OpenSSL assume certificates with matching subject +name are identical and mishandled them. +.PP +Previous versions of this documentation swapped the meaning of the +\&\fBX509_V_ERR_UNABLE_TO_GET_ISSUER_CERT\fR and +\&\fBX509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY\fR error codes. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIx509\fR\|(1) +.SH "HISTORY" +.IX Header "HISTORY" +The \fB\-show_chain\fR option was added in OpenSSL 1.1.0. +.PP +The \fB\-issuer_checks\fR option is deprecated as of OpenSSL 1.1.0 and +is silently ignored. +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2000\-2017 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man1/version.1 b/linux_amd64/share/man/man1/version.1 new file mode 100644 index 0000000..0199252 --- /dev/null +++ b/linux_amd64/share/man/man1/version.1 @@ -0,0 +1,189 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "VERSION 1" +.TH VERSION 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +openssl\-version, version \- print OpenSSL version information +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBopenssl version\fR +[\fB\-help\fR] +[\fB\-a\fR] +[\fB\-v\fR] +[\fB\-b\fR] +[\fB\-o\fR] +[\fB\-f\fR] +[\fB\-p\fR] +[\fB\-d\fR] +[\fB\-e\fR] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +This command is used to print out version information about OpenSSL. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fB\-help\fR" 4 +.IX Item "-help" +Print out a usage message. +.IP "\fB\-a\fR" 4 +.IX Item "-a" +All information, this is the same as setting all the other flags. +.IP "\fB\-v\fR" 4 +.IX Item "-v" +The current OpenSSL version. +.IP "\fB\-b\fR" 4 +.IX Item "-b" +The date the current version of OpenSSL was built. +.IP "\fB\-o\fR" 4 +.IX Item "-o" +Option information: various options set when the library was built. +.IP "\fB\-f\fR" 4 +.IX Item "-f" +Compilation flags. +.IP "\fB\-p\fR" 4 +.IX Item "-p" +Platform setting. +.IP "\fB\-d\fR" 4 +.IX Item "-d" +\&\s-1OPENSSLDIR\s0 setting. +.IP "\fB\-e\fR" 4 +.IX Item "-e" +\&\s-1ENGINESDIR\s0 setting. +.SH "NOTES" +.IX Header "NOTES" +The output of \fBopenssl version \-a\fR would typically be used when sending +in a bug report. +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2000\-2017 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man1/x509.1 b/linux_amd64/share/man/man1/x509.1 new file mode 100644 index 0000000..e6b8c04 --- /dev/null +++ b/linux_amd64/share/man/man1/x509.1 @@ -0,0 +1,945 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "X509 1" +.TH X509 1 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +openssl\-x509, x509 \- Certificate display and signing utility +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBopenssl\fR \fBx509\fR +[\fB\-help\fR] +[\fB\-inform DER|PEM\fR] +[\fB\-outform DER|PEM\fR] +[\fB\-keyform DER|PEM|ENGINE\fR] +[\fB\-CAform DER|PEM\fR] +[\fB\-CAkeyform DER|PEM\fR] +[\fB\-in filename\fR] +[\fB\-out filename\fR] +[\fB\-serial\fR] +[\fB\-hash\fR] +[\fB\-subject_hash\fR] +[\fB\-issuer_hash\fR] +[\fB\-ocspid\fR] +[\fB\-subject\fR] +[\fB\-issuer\fR] +[\fB\-nameopt option\fR] +[\fB\-email\fR] +[\fB\-ocsp_uri\fR] +[\fB\-startdate\fR] +[\fB\-enddate\fR] +[\fB\-purpose\fR] +[\fB\-dates\fR] +[\fB\-checkend num\fR] +[\fB\-modulus\fR] +[\fB\-pubkey\fR] +[\fB\-fingerprint\fR] +[\fB\-alias\fR] +[\fB\-noout\fR] +[\fB\-trustout\fR] +[\fB\-clrtrust\fR] +[\fB\-clrreject\fR] +[\fB\-addtrust arg\fR] +[\fB\-addreject arg\fR] +[\fB\-setalias arg\fR] +[\fB\-days arg\fR] +[\fB\-set_serial n\fR] +[\fB\-signkey filename\fR] +[\fB\-passin arg\fR] +[\fB\-x509toreq\fR] +[\fB\-req\fR] +[\fB\-CA filename\fR] +[\fB\-CAkey filename\fR] +[\fB\-CAcreateserial\fR] +[\fB\-CAserial filename\fR] +[\fB\-force_pubkey key\fR] +[\fB\-text\fR] +[\fB\-ext extensions\fR] +[\fB\-certopt option\fR] +[\fB\-C\fR] +[\fB\-\f(BIdigest\fB\fR] +[\fB\-clrext\fR] +[\fB\-extfile filename\fR] +[\fB\-extensions section\fR] +[\fB\-sigopt nm:v\fR] +[\fB\-rand file...\fR] +[\fB\-writerand file\fR] +[\fB\-engine id\fR] +[\fB\-preserve_dates\fR] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The \fBx509\fR command is a multi purpose certificate utility. It can be +used to display certificate information, convert certificates to +various forms, sign certificate requests like a \*(L"mini \s-1CA\s0\*(R" or edit +certificate trust settings. +.PP +Since there are a large number of options they will split up into +various sections. +.SH "OPTIONS" +.IX Header "OPTIONS" +.SS "Input, Output, and General Purpose Options" +.IX Subsection "Input, Output, and General Purpose Options" +.IP "\fB\-help\fR" 4 +.IX Item "-help" +Print out a usage message. +.IP "\fB\-inform DER|PEM\fR" 4 +.IX Item "-inform DER|PEM" +This specifies the input format normally the command will expect an X509 +certificate but this can change if other options such as \fB\-req\fR are +present. The \s-1DER\s0 format is the \s-1DER\s0 encoding of the certificate and \s-1PEM\s0 +is the base64 encoding of the \s-1DER\s0 encoding with header and footer lines +added. The default format is \s-1PEM\s0. +.IP "\fB\-outform DER|PEM\fR" 4 +.IX Item "-outform DER|PEM" +This specifies the output format, the options have the same meaning and default +as the \fB\-inform\fR option. +.IP "\fB\-in filename\fR" 4 +.IX Item "-in filename" +This specifies the input filename to read a certificate from or standard input +if this option is not specified. +.IP "\fB\-out filename\fR" 4 +.IX Item "-out filename" +This specifies the output filename to write to or standard output by +default. +.IP "\fB\-\f(BIdigest\fB\fR" 4 +.IX Item "-digest" +The digest to use. +This affects any signing or display option that uses a message +digest, such as the \fB\-fingerprint\fR, \fB\-signkey\fR and \fB\-CA\fR options. +Any digest supported by the OpenSSL \fBdgst\fR command can be used. +If not specified then \s-1SHA1\s0 is used with \fB\-fingerprint\fR or +the default digest for the signing algorithm is used, typically \s-1SHA256\s0. +.IP "\fB\-rand file...\fR" 4 +.IX Item "-rand file..." +A file or files containing random data used to seed the random number +generator. +Multiple files can be specified separated by an OS-dependent character. +The separator is \fB;\fR for MS-Windows, \fB,\fR for OpenVMS, and \fB:\fR for +all others. +.IP "[\fB\-writerand file\fR]" 4 +.IX Item "[-writerand file]" +Writes random data to the specified \fIfile\fR upon exit. +This can be used with a subsequent \fB\-rand\fR flag. +.IP "\fB\-engine id\fR" 4 +.IX Item "-engine id" +Specifying an engine (by its unique \fBid\fR string) will cause \fBx509\fR +to attempt to obtain a functional reference to the specified engine, +thus initialising it if needed. The engine will then be set as the default +for all available algorithms. +.IP "\fB\-preserve_dates\fR" 4 +.IX Item "-preserve_dates" +When signing a certificate, preserve the \*(L"notBefore\*(R" and \*(L"notAfter\*(R" dates instead +of adjusting them to current time and duration. Cannot be used with the \fB\-days\fR option. +.SS "Display Options" +.IX Subsection "Display Options" +Note: the \fB\-alias\fR and \fB\-purpose\fR options are also display options +but are described in the \fB\s-1TRUST\s0 \s-1SETTINGS\s0\fR section. +.IP "\fB\-text\fR" 4 +.IX Item "-text" +Prints out the certificate in text form. Full details are output including the +public key, signature algorithms, issuer and subject names, serial number +any extensions present and any trust settings. +.IP "\fB\-ext extensions\fR" 4 +.IX Item "-ext extensions" +Prints out the certificate extensions in text form. Extensions are specified +with a comma separated string, e.g., \*(L"subjectAltName,subjectKeyIdentifier\*(R". +See the \fIx509v3_config\fR\|(5) manual page for the extension names. +.IP "\fB\-certopt option\fR" 4 +.IX Item "-certopt option" +Customise the output format used with \fB\-text\fR. The \fBoption\fR argument +can be a single option or multiple options separated by commas. The +\&\fB\-certopt\fR switch may be also be used more than once to set multiple +options. See the \fB\s-1TEXT\s0 \s-1OPTIONS\s0\fR section for more information. +.IP "\fB\-noout\fR" 4 +.IX Item "-noout" +This option prevents output of the encoded version of the certificate. +.IP "\fB\-pubkey\fR" 4 +.IX Item "-pubkey" +Outputs the certificate's SubjectPublicKeyInfo block in \s-1PEM\s0 format. +.IP "\fB\-modulus\fR" 4 +.IX Item "-modulus" +This option prints out the value of the modulus of the public key +contained in the certificate. +.IP "\fB\-serial\fR" 4 +.IX Item "-serial" +Outputs the certificate serial number. +.IP "\fB\-subject_hash\fR" 4 +.IX Item "-subject_hash" +Outputs the \*(L"hash\*(R" of the certificate subject name. This is used in OpenSSL to +form an index to allow certificates in a directory to be looked up by subject +name. +.IP "\fB\-issuer_hash\fR" 4 +.IX Item "-issuer_hash" +Outputs the \*(L"hash\*(R" of the certificate issuer name. +.IP "\fB\-ocspid\fR" 4 +.IX Item "-ocspid" +Outputs the \s-1OCSP\s0 hash values for the subject name and public key. +.IP "\fB\-hash\fR" 4 +.IX Item "-hash" +Synonym for \*(L"\-subject_hash\*(R" for backward compatibility reasons. +.IP "\fB\-subject_hash_old\fR" 4 +.IX Item "-subject_hash_old" +Outputs the \*(L"hash\*(R" of the certificate subject name using the older algorithm +as used by OpenSSL before version 1.0.0. +.IP "\fB\-issuer_hash_old\fR" 4 +.IX Item "-issuer_hash_old" +Outputs the \*(L"hash\*(R" of the certificate issuer name using the older algorithm +as used by OpenSSL before version 1.0.0. +.IP "\fB\-subject\fR" 4 +.IX Item "-subject" +Outputs the subject name. +.IP "\fB\-issuer\fR" 4 +.IX Item "-issuer" +Outputs the issuer name. +.IP "\fB\-nameopt option\fR" 4 +.IX Item "-nameopt option" +Option which determines how the subject or issuer names are displayed. The +\&\fBoption\fR argument can be a single option or multiple options separated by +commas. Alternatively the \fB\-nameopt\fR switch may be used more than once to +set multiple options. See the \fB\s-1NAME\s0 \s-1OPTIONS\s0\fR section for more information. +.IP "\fB\-email\fR" 4 +.IX Item "-email" +Outputs the email address(es) if any. +.IP "\fB\-ocsp_uri\fR" 4 +.IX Item "-ocsp_uri" +Outputs the \s-1OCSP\s0 responder address(es) if any. +.IP "\fB\-startdate\fR" 4 +.IX Item "-startdate" +Prints out the start date of the certificate, that is the notBefore date. +.IP "\fB\-enddate\fR" 4 +.IX Item "-enddate" +Prints out the expiry date of the certificate, that is the notAfter date. +.IP "\fB\-dates\fR" 4 +.IX Item "-dates" +Prints out the start and expiry dates of a certificate. +.IP "\fB\-checkend arg\fR" 4 +.IX Item "-checkend arg" +Checks if the certificate expires within the next \fBarg\fR seconds and exits +non-zero if yes it will expire or zero if not. +.IP "\fB\-fingerprint\fR" 4 +.IX Item "-fingerprint" +Calculates and outputs the digest of the \s-1DER\s0 encoded version of the entire +certificate (see digest options). +This is commonly called a \*(L"fingerprint\*(R". Because of the nature of message +digests, the fingerprint of a certificate is unique to that certificate and +two certificates with the same fingerprint can be considered to be the same. +.IP "\fB\-C\fR" 4 +.IX Item "-C" +This outputs the certificate in the form of a C source file. +.SS "Trust Settings" +.IX Subsection "Trust Settings" +A \fBtrusted certificate\fR is an ordinary certificate which has several +additional pieces of information attached to it such as the permitted +and prohibited uses of the certificate and an \*(L"alias\*(R". +.PP +Normally when a certificate is being verified at least one certificate +must be \*(L"trusted\*(R". By default a trusted certificate must be stored +locally and must be a root \s-1CA:\s0 any certificate chain ending in this \s-1CA\s0 +is then usable for any purpose. +.PP +Trust settings currently are only used with a root \s-1CA\s0. They allow a finer +control over the purposes the root \s-1CA\s0 can be used for. For example a \s-1CA\s0 +may be trusted for \s-1SSL\s0 client but not \s-1SSL\s0 server use. +.PP +See the description of the \fBverify\fR utility for more information on the +meaning of trust settings. +.PP +Future versions of OpenSSL will recognize trust settings on any +certificate: not just root CAs. +.IP "\fB\-trustout\fR" 4 +.IX Item "-trustout" +This causes \fBx509\fR to output a \fBtrusted\fR certificate. An ordinary +or trusted certificate can be input but by default an ordinary +certificate is output and any trust settings are discarded. With the +\&\fB\-trustout\fR option a trusted certificate is output. A trusted +certificate is automatically output if any trust settings are modified. +.IP "\fB\-setalias arg\fR" 4 +.IX Item "-setalias arg" +Sets the alias of the certificate. This will allow the certificate +to be referred to using a nickname for example \*(L"Steve's Certificate\*(R". +.IP "\fB\-alias\fR" 4 +.IX Item "-alias" +Outputs the certificate alias, if any. +.IP "\fB\-clrtrust\fR" 4 +.IX Item "-clrtrust" +Clears all the permitted or trusted uses of the certificate. +.IP "\fB\-clrreject\fR" 4 +.IX Item "-clrreject" +Clears all the prohibited or rejected uses of the certificate. +.IP "\fB\-addtrust arg\fR" 4 +.IX Item "-addtrust arg" +Adds a trusted certificate use. +Any object name can be used here but currently only \fBclientAuth\fR (\s-1SSL\s0 client +use), \fBserverAuth\fR (\s-1SSL\s0 server use), \fBemailProtection\fR (S/MIME email) and +\&\fBanyExtendedKeyUsage\fR are used. +As of OpenSSL 1.1.0, the last of these blocks all purposes when rejected or +enables all purposes when trusted. +Other OpenSSL applications may define additional uses. +.IP "\fB\-addreject arg\fR" 4 +.IX Item "-addreject arg" +Adds a prohibited use. It accepts the same values as the \fB\-addtrust\fR +option. +.IP "\fB\-purpose\fR" 4 +.IX Item "-purpose" +This option performs tests on the certificate extensions and outputs +the results. For a more complete description see the \fB\s-1CERTIFICATE\s0 +\&\s-1EXTENSIONS\s0\fR section. +.SS "Signing Options" +.IX Subsection "Signing Options" +The \fBx509\fR utility can be used to sign certificates and requests: it +can thus behave like a \*(L"mini \s-1CA\s0\*(R". +.IP "\fB\-signkey filename\fR" 4 +.IX Item "-signkey filename" +This option causes the input file to be self signed using the supplied +private key. +.Sp +If the input file is a certificate it sets the issuer name to the +subject name (i.e. makes it self signed) changes the public key to the +supplied value and changes the start and end dates. The start date is +set to the current time and the end date is set to a value determined +by the \fB\-days\fR option. Any certificate extensions are retained unless +the \fB\-clrext\fR option is supplied; this includes, for example, any existing +key identifier extensions. +.Sp +If the input is a certificate request then a self signed certificate +is created using the supplied private key using the subject name in +the request. +.IP "\fB\-sigopt nm:v\fR" 4 +.IX Item "-sigopt nm:v" +Pass options to the signature algorithm during sign or verify operations. +Names and values of these options are algorithm-specific. +.IP "\fB\-passin arg\fR" 4 +.IX Item "-passin arg" +The key password source. For more information about the format of \fBarg\fR +see the \fB\s-1PASS\s0 \s-1PHRASE\s0 \s-1ARGUMENTS\s0\fR section in \fIopenssl\fR\|(1). +.IP "\fB\-clrext\fR" 4 +.IX Item "-clrext" +Delete any extensions from a certificate. This option is used when a +certificate is being created from another certificate (for example with +the \fB\-signkey\fR or the \fB\-CA\fR options). Normally all extensions are +retained. +.IP "\fB\-keyform PEM|DER|ENGINE\fR" 4 +.IX Item "-keyform PEM|DER|ENGINE" +Specifies the format (\s-1DER\s0 or \s-1PEM\s0) of the private key file used in the +\&\fB\-signkey\fR option. +.IP "\fB\-days arg\fR" 4 +.IX Item "-days arg" +Specifies the number of days to make a certificate valid for. The default +is 30 days. Cannot be used with the \fB\-preserve_dates\fR option. +.IP "\fB\-x509toreq\fR" 4 +.IX Item "-x509toreq" +Converts a certificate into a certificate request. The \fB\-signkey\fR option +is used to pass the required private key. +.IP "\fB\-req\fR" 4 +.IX Item "-req" +By default a certificate is expected on input. With this option a +certificate request is expected instead. +.IP "\fB\-set_serial n\fR" 4 +.IX Item "-set_serial n" +Specifies the serial number to use. This option can be used with either +the \fB\-signkey\fR or \fB\-CA\fR options. If used in conjunction with the \fB\-CA\fR +option the serial number file (as specified by the \fB\-CAserial\fR or +\&\fB\-CAcreateserial\fR options) is not used. +.Sp +The serial number can be decimal or hex (if preceded by \fB0x\fR). +.IP "\fB\-CA filename\fR" 4 +.IX Item "-CA filename" +Specifies the \s-1CA\s0 certificate to be used for signing. When this option is +present \fBx509\fR behaves like a \*(L"mini \s-1CA\s0\*(R". The input file is signed by this +\&\s-1CA\s0 using this option: that is its issuer name is set to the subject name +of the \s-1CA\s0 and it is digitally signed using the CAs private key. +.Sp +This option is normally combined with the \fB\-req\fR option. Without the +\&\fB\-req\fR option the input is a certificate which must be self signed. +.IP "\fB\-CAkey filename\fR" 4 +.IX Item "-CAkey filename" +Sets the \s-1CA\s0 private key to sign a certificate with. If this option is +not specified then it is assumed that the \s-1CA\s0 private key is present in +the \s-1CA\s0 certificate file. +.IP "\fB\-CAserial filename\fR" 4 +.IX Item "-CAserial filename" +Sets the \s-1CA\s0 serial number file to use. +.Sp +When the \fB\-CA\fR option is used to sign a certificate it uses a serial +number specified in a file. This file consists of one line containing +an even number of hex digits with the serial number to use. After each +use the serial number is incremented and written out to the file again. +.Sp +The default filename consists of the \s-1CA\s0 certificate file base name with +\&\*(L".srl\*(R" appended. For example if the \s-1CA\s0 certificate file is called +\&\*(L"mycacert.pem\*(R" it expects to find a serial number file called \*(L"mycacert.srl\*(R". +.IP "\fB\-CAcreateserial\fR" 4 +.IX Item "-CAcreateserial" +With this option the \s-1CA\s0 serial number file is created if it does not exist: +it will contain the serial number \*(L"02\*(R" and the certificate being signed will +have the 1 as its serial number. If the \fB\-CA\fR option is specified +and the serial number file does not exist a random number is generated; +this is the recommended practice. +.IP "\fB\-extfile filename\fR" 4 +.IX Item "-extfile filename" +File containing certificate extensions to use. If not specified then +no extensions are added to the certificate. +.IP "\fB\-extensions section\fR" 4 +.IX Item "-extensions section" +The section to add certificate extensions from. If this option is not +specified then the extensions should either be contained in the unnamed +(default) section or the default section should contain a variable called +\&\*(L"extensions\*(R" which contains the section to use. See the +\&\fIx509v3_config\fR\|(5) manual page for details of the +extension section format. +.IP "\fB\-force_pubkey key\fR" 4 +.IX Item "-force_pubkey key" +When a certificate is created set its public key to \fBkey\fR instead of the +key in the certificate or certificate request. This option is useful for +creating certificates where the algorithm can't normally sign requests, for +example \s-1DH\s0. +.Sp +The format or \fBkey\fR can be specified using the \fB\-keyform\fR option. +.SS "Name Options" +.IX Subsection "Name Options" +The \fBnameopt\fR command line switch determines how the subject and issuer +names are displayed. If no \fBnameopt\fR switch is present the default \*(L"oneline\*(R" +format is used which is compatible with previous versions of OpenSSL. +Each option is described in detail below, all options can be preceded by +a \fB\-\fR to turn the option off. Only the first four will normally be used. +.IP "\fBcompat\fR" 4 +.IX Item "compat" +Use the old format. +.IP "\fB\s-1RFC2253\s0\fR" 4 +.IX Item "RFC2253" +Displays names compatible with \s-1RFC2253\s0 equivalent to \fBesc_2253\fR, \fBesc_ctrl\fR, +\&\fBesc_msb\fR, \fButf8\fR, \fBdump_nostr\fR, \fBdump_unknown\fR, \fBdump_der\fR, +\&\fBsep_comma_plus\fR, \fBdn_rev\fR and \fBsname\fR. +.IP "\fBoneline\fR" 4 +.IX Item "oneline" +A oneline format which is more readable than \s-1RFC2253\s0. It is equivalent to +specifying the \fBesc_2253\fR, \fBesc_ctrl\fR, \fBesc_msb\fR, \fButf8\fR, \fBdump_nostr\fR, +\&\fBdump_der\fR, \fBuse_quote\fR, \fBsep_comma_plus_space\fR, \fBspace_eq\fR and \fBsname\fR +options. This is the \fIdefault\fR of no name options are given explicitly. +.IP "\fBmultiline\fR" 4 +.IX Item "multiline" +A multiline format. It is equivalent \fBesc_ctrl\fR, \fBesc_msb\fR, \fBsep_multiline\fR, +\&\fBspace_eq\fR, \fBlname\fR and \fBalign\fR. +.IP "\fBesc_2253\fR" 4 +.IX Item "esc_2253" +Escape the \*(L"special\*(R" characters required by \s-1RFC2253\s0 in a field. That is +\&\fB,+"<>;\fR. Additionally \fB#\fR is escaped at the beginning of a string +and a space character at the beginning or end of a string. +.IP "\fBesc_2254\fR" 4 +.IX Item "esc_2254" +Escape the \*(L"special\*(R" characters required by \s-1RFC2254\s0 in a field. That is +the \fB\s-1NUL\s0\fR character as well as and \fB()*\fR. +.IP "\fBesc_ctrl\fR" 4 +.IX Item "esc_ctrl" +Escape control characters. That is those with \s-1ASCII\s0 values less than +0x20 (space) and the delete (0x7f) character. They are escaped using the +\&\s-1RFC2253\s0 \eXX notation (where \s-1XX\s0 are two hex digits representing the +character value). +.IP "\fBesc_msb\fR" 4 +.IX Item "esc_msb" +Escape characters with the \s-1MSB\s0 set, that is with \s-1ASCII\s0 values larger than +127. +.IP "\fBuse_quote\fR" 4 +.IX Item "use_quote" +Escapes some characters by surrounding the whole string with \fB"\fR characters, +without the option all escaping is done with the \fB\e\fR character. +.IP "\fButf8\fR" 4 +.IX Item "utf8" +Convert all strings to \s-1UTF8\s0 format first. This is required by \s-1RFC2253\s0. If +you are lucky enough to have a \s-1UTF8\s0 compatible terminal then the use +of this option (and \fBnot\fR setting \fBesc_msb\fR) may result in the correct +display of multibyte (international) characters. Is this option is not +present then multibyte characters larger than 0xff will be represented +using the format \eUXXXX for 16 bits and \eWXXXXXXXX for 32 bits. +Also if this option is off any UTF8Strings will be converted to their +character form first. +.IP "\fBignore_type\fR" 4 +.IX Item "ignore_type" +This option does not attempt to interpret multibyte characters in any +way. That is their content octets are merely dumped as though one octet +represents each character. This is useful for diagnostic purposes but +will result in rather odd looking output. +.IP "\fBshow_type\fR" 4 +.IX Item "show_type" +Show the type of the \s-1ASN1\s0 character string. The type precedes the +field contents. For example \*(L"\s-1BMPSTRING:\s0 Hello World\*(R". +.IP "\fBdump_der\fR" 4 +.IX Item "dump_der" +When this option is set any fields that need to be hexdumped will +be dumped using the \s-1DER\s0 encoding of the field. Otherwise just the +content octets will be displayed. Both options use the \s-1RFC2253\s0 +\&\fB#XXXX...\fR format. +.IP "\fBdump_nostr\fR" 4 +.IX Item "dump_nostr" +Dump non character string types (for example \s-1OCTET\s0 \s-1STRING\s0) if this +option is not set then non character string types will be displayed +as though each content octet represents a single character. +.IP "\fBdump_all\fR" 4 +.IX Item "dump_all" +Dump all fields. This option when used with \fBdump_der\fR allows the +\&\s-1DER\s0 encoding of the structure to be unambiguously determined. +.IP "\fBdump_unknown\fR" 4 +.IX Item "dump_unknown" +Dump any field whose \s-1OID\s0 is not recognised by OpenSSL. +.IP "\fBsep_comma_plus\fR, \fBsep_comma_plus_space\fR, \fBsep_semi_plus_space\fR, \fBsep_multiline\fR" 4 +.IX Item "sep_comma_plus, sep_comma_plus_space, sep_semi_plus_space, sep_multiline" +These options determine the field separators. The first character is +between RDNs and the second between multiple AVAs (multiple AVAs are +very rare and their use is discouraged). The options ending in +\&\*(L"space\*(R" additionally place a space after the separator to make it +more readable. The \fBsep_multiline\fR uses a linefeed character for +the \s-1RDN\s0 separator and a spaced \fB+\fR for the \s-1AVA\s0 separator. It also +indents the fields by four characters. If no field separator is specified +then \fBsep_comma_plus_space\fR is used by default. +.IP "\fBdn_rev\fR" 4 +.IX Item "dn_rev" +Reverse the fields of the \s-1DN\s0. This is required by \s-1RFC2253\s0. As a side +effect this also reverses the order of multiple AVAs but this is +permissible. +.IP "\fBnofname\fR, \fBsname\fR, \fBlname\fR, \fBoid\fR" 4 +.IX Item "nofname, sname, lname, oid" +These options alter how the field name is displayed. \fBnofname\fR does +not display the field at all. \fBsname\fR uses the \*(L"short name\*(R" form +(\s-1CN\s0 for commonName for example). \fBlname\fR uses the long form. +\&\fBoid\fR represents the \s-1OID\s0 in numerical form and is useful for +diagnostic purpose. +.IP "\fBalign\fR" 4 +.IX Item "align" +Align field values for a more readable output. Only usable with +\&\fBsep_multiline\fR. +.IP "\fBspace_eq\fR" 4 +.IX Item "space_eq" +Places spaces round the \fB=\fR character which follows the field +name. +.SS "Text Options" +.IX Subsection "Text Options" +As well as customising the name output format, it is also possible to +customise the actual fields printed using the \fBcertopt\fR options when +the \fBtext\fR option is present. The default behaviour is to print all fields. +.IP "\fBcompatible\fR" 4 +.IX Item "compatible" +Use the old format. This is equivalent to specifying no output options at all. +.IP "\fBno_header\fR" 4 +.IX Item "no_header" +Don't print header information: that is the lines saying \*(L"Certificate\*(R" +and \*(L"Data\*(R". +.IP "\fBno_version\fR" 4 +.IX Item "no_version" +Don't print out the version number. +.IP "\fBno_serial\fR" 4 +.IX Item "no_serial" +Don't print out the serial number. +.IP "\fBno_signame\fR" 4 +.IX Item "no_signame" +Don't print out the signature algorithm used. +.IP "\fBno_validity\fR" 4 +.IX Item "no_validity" +Don't print the validity, that is the \fBnotBefore\fR and \fBnotAfter\fR fields. +.IP "\fBno_subject\fR" 4 +.IX Item "no_subject" +Don't print out the subject name. +.IP "\fBno_issuer\fR" 4 +.IX Item "no_issuer" +Don't print out the issuer name. +.IP "\fBno_pubkey\fR" 4 +.IX Item "no_pubkey" +Don't print out the public key. +.IP "\fBno_sigdump\fR" 4 +.IX Item "no_sigdump" +Don't give a hexadecimal dump of the certificate signature. +.IP "\fBno_aux\fR" 4 +.IX Item "no_aux" +Don't print out certificate trust information. +.IP "\fBno_extensions\fR" 4 +.IX Item "no_extensions" +Don't print out any X509V3 extensions. +.IP "\fBext_default\fR" 4 +.IX Item "ext_default" +Retain default extension behaviour: attempt to print out unsupported +certificate extensions. +.IP "\fBext_error\fR" 4 +.IX Item "ext_error" +Print an error message for unsupported certificate extensions. +.IP "\fBext_parse\fR" 4 +.IX Item "ext_parse" +\&\s-1ASN1\s0 parse unsupported extensions. +.IP "\fBext_dump\fR" 4 +.IX Item "ext_dump" +Hex dump unsupported extensions. +.IP "\fBca_default\fR" 4 +.IX Item "ca_default" +The value used by the \fBca\fR utility, equivalent to \fBno_issuer\fR, \fBno_pubkey\fR, +\&\fBno_header\fR, and \fBno_version\fR. +.SH "EXAMPLES" +.IX Header "EXAMPLES" +Note: in these examples the '\e' means the example should be all on one +line. +.PP +Display the contents of a certificate: +.PP +.Vb 1 +\& openssl x509 \-in cert.pem \-noout \-text +.Ve +.PP +Display the \*(L"Subject Alternative Name\*(R" extension of a certificate: +.PP +.Vb 1 +\& openssl x509 \-in cert.pem \-noout \-ext subjectAltName +.Ve +.PP +Display more extensions of a certificate: +.PP +.Vb 1 +\& openssl x509 \-in cert.pem \-noout \-ext subjectAltName,nsCertType +.Ve +.PP +Display the certificate serial number: +.PP +.Vb 1 +\& openssl x509 \-in cert.pem \-noout \-serial +.Ve +.PP +Display the certificate subject name: +.PP +.Vb 1 +\& openssl x509 \-in cert.pem \-noout \-subject +.Ve +.PP +Display the certificate subject name in \s-1RFC2253\s0 form: +.PP +.Vb 1 +\& openssl x509 \-in cert.pem \-noout \-subject \-nameopt RFC2253 +.Ve +.PP +Display the certificate subject name in oneline form on a terminal +supporting \s-1UTF8:\s0 +.PP +.Vb 1 +\& openssl x509 \-in cert.pem \-noout \-subject \-nameopt oneline,\-esc_msb +.Ve +.PP +Display the certificate \s-1SHA1\s0 fingerprint: +.PP +.Vb 1 +\& openssl x509 \-sha1 \-in cert.pem \-noout \-fingerprint +.Ve +.PP +Convert a certificate from \s-1PEM\s0 to \s-1DER\s0 format: +.PP +.Vb 1 +\& openssl x509 \-in cert.pem \-inform PEM \-out cert.der \-outform DER +.Ve +.PP +Convert a certificate to a certificate request: +.PP +.Vb 1 +\& openssl x509 \-x509toreq \-in cert.pem \-out req.pem \-signkey key.pem +.Ve +.PP +Convert a certificate request into a self signed certificate using +extensions for a \s-1CA:\s0 +.PP +.Vb 2 +\& openssl x509 \-req \-in careq.pem \-extfile openssl.cnf \-extensions v3_ca \e +\& \-signkey key.pem \-out cacert.pem +.Ve +.PP +Sign a certificate request using the \s-1CA\s0 certificate above and add user +certificate extensions: +.PP +.Vb 2 +\& openssl x509 \-req \-in req.pem \-extfile openssl.cnf \-extensions v3_usr \e +\& \-CA cacert.pem \-CAkey key.pem \-CAcreateserial +.Ve +.PP +Set a certificate to be trusted for \s-1SSL\s0 client use and change set its alias to +\&\*(L"Steve's Class 1 \s-1CA\s0\*(R" +.PP +.Vb 2 +\& openssl x509 \-in cert.pem \-addtrust clientAuth \e +\& \-setalias "Steve\*(Aqs Class 1 CA" \-out trust.pem +.Ve +.SH "NOTES" +.IX Header "NOTES" +The \s-1PEM\s0 format uses the header and footer lines: +.PP +.Vb 2 +\& \-\-\-\-\-BEGIN CERTIFICATE\-\-\-\-\- +\& \-\-\-\-\-END CERTIFICATE\-\-\-\-\- +.Ve +.PP +it will also handle files containing: +.PP +.Vb 2 +\& \-\-\-\-\-BEGIN X509 CERTIFICATE\-\-\-\-\- +\& \-\-\-\-\-END X509 CERTIFICATE\-\-\-\-\- +.Ve +.PP +Trusted certificates have the lines +.PP +.Vb 2 +\& \-\-\-\-\-BEGIN TRUSTED CERTIFICATE\-\-\-\-\- +\& \-\-\-\-\-END TRUSTED CERTIFICATE\-\-\-\-\- +.Ve +.PP +The conversion to \s-1UTF8\s0 format used with the name options assumes that +T61Strings use the \s-1ISO8859\-1\s0 character set. This is wrong but Netscape +and \s-1MSIE\s0 do this as do many certificates. So although this is incorrect +it is more likely to display the majority of certificates correctly. +.PP +The \fB\-email\fR option searches the subject name and the subject alternative +name extension. Only unique email addresses will be printed out: it will +not print the same address more than once. +.SH "CERTIFICATE EXTENSIONS" +.IX Header "CERTIFICATE EXTENSIONS" +The \fB\-purpose\fR option checks the certificate extensions and determines +what the certificate can be used for. The actual checks done are rather +complex and include various hacks and workarounds to handle broken +certificates and software. +.PP +The same code is used when verifying untrusted certificates in chains +so this section is useful if a chain is rejected by the verify code. +.PP +The basicConstraints extension \s-1CA\s0 flag is used to determine whether the +certificate can be used as a \s-1CA\s0. If the \s-1CA\s0 flag is true then it is a \s-1CA\s0, +if the \s-1CA\s0 flag is false then it is not a \s-1CA\s0. \fBAll\fR CAs should have the +\&\s-1CA\s0 flag set to true. +.PP +If the basicConstraints extension is absent then the certificate is +considered to be a \*(L"possible \s-1CA\s0\*(R" other extensions are checked according +to the intended use of the certificate. A warning is given in this case +because the certificate should really not be regarded as a \s-1CA:\s0 however +it is allowed to be a \s-1CA\s0 to work around some broken software. +.PP +If the certificate is a V1 certificate (and thus has no extensions) and +it is self signed it is also assumed to be a \s-1CA\s0 but a warning is again +given: this is to work around the problem of Verisign roots which are V1 +self signed certificates. +.PP +If the keyUsage extension is present then additional restraints are +made on the uses of the certificate. A \s-1CA\s0 certificate \fBmust\fR have the +keyCertSign bit set if the keyUsage extension is present. +.PP +The extended key usage extension places additional restrictions on the +certificate uses. If this extension is present (whether critical or not) +the key can only be used for the purposes specified. +.PP +A complete description of each test is given below. The comments about +basicConstraints and keyUsage and V1 certificates above apply to \fBall\fR +\&\s-1CA\s0 certificates. +.IP "\fB\s-1SSL\s0 Client\fR" 4 +.IX Item "SSL Client" +The extended key usage extension must be absent or include the \*(L"web client +authentication\*(R" \s-1OID\s0. keyUsage must be absent or it must have the +digitalSignature bit set. Netscape certificate type must be absent or it must +have the \s-1SSL\s0 client bit set. +.IP "\fB\s-1SSL\s0 Client \s-1CA\s0\fR" 4 +.IX Item "SSL Client CA" +The extended key usage extension must be absent or include the \*(L"web client +authentication\*(R" \s-1OID\s0. Netscape certificate type must be absent or it must have +the \s-1SSL\s0 \s-1CA\s0 bit set: this is used as a work around if the basicConstraints +extension is absent. +.IP "\fB\s-1SSL\s0 Server\fR" 4 +.IX Item "SSL Server" +The extended key usage extension must be absent or include the \*(L"web server +authentication\*(R" and/or one of the \s-1SGC\s0 OIDs. keyUsage must be absent or it +must have the digitalSignature, the keyEncipherment set or both bits set. +Netscape certificate type must be absent or have the \s-1SSL\s0 server bit set. +.IP "\fB\s-1SSL\s0 Server \s-1CA\s0\fR" 4 +.IX Item "SSL Server CA" +The extended key usage extension must be absent or include the \*(L"web server +authentication\*(R" and/or one of the \s-1SGC\s0 OIDs. Netscape certificate type must +be absent or the \s-1SSL\s0 \s-1CA\s0 bit must be set: this is used as a work around if the +basicConstraints extension is absent. +.IP "\fBNetscape \s-1SSL\s0 Server\fR" 4 +.IX Item "Netscape SSL Server" +For Netscape \s-1SSL\s0 clients to connect to an \s-1SSL\s0 server it must have the +keyEncipherment bit set if the keyUsage extension is present. This isn't +always valid because some cipher suites use the key for digital signing. +Otherwise it is the same as a normal \s-1SSL\s0 server. +.IP "\fBCommon S/MIME Client Tests\fR" 4 +.IX Item "Common S/MIME Client Tests" +The extended key usage extension must be absent or include the \*(L"email +protection\*(R" \s-1OID\s0. Netscape certificate type must be absent or should have the +S/MIME bit set. If the S/MIME bit is not set in Netscape certificate type +then the \s-1SSL\s0 client bit is tolerated as an alternative but a warning is shown: +this is because some Verisign certificates don't set the S/MIME bit. +.IP "\fBS/MIME Signing\fR" 4 +.IX Item "S/MIME Signing" +In addition to the common S/MIME client tests the digitalSignature bit or +the nonRepudiation bit must be set if the keyUsage extension is present. +.IP "\fBS/MIME Encryption\fR" 4 +.IX Item "S/MIME Encryption" +In addition to the common S/MIME tests the keyEncipherment bit must be set +if the keyUsage extension is present. +.IP "\fBS/MIME \s-1CA\s0\fR" 4 +.IX Item "S/MIME CA" +The extended key usage extension must be absent or include the \*(L"email +protection\*(R" \s-1OID\s0. Netscape certificate type must be absent or must have the +S/MIME \s-1CA\s0 bit set: this is used as a work around if the basicConstraints +extension is absent. +.IP "\fB\s-1CRL\s0 Signing\fR" 4 +.IX Item "CRL Signing" +The keyUsage extension must be absent or it must have the \s-1CRL\s0 signing bit +set. +.IP "\fB\s-1CRL\s0 Signing \s-1CA\s0\fR" 4 +.IX Item "CRL Signing CA" +The normal \s-1CA\s0 tests apply. Except in this case the basicConstraints extension +must be present. +.SH "BUGS" +.IX Header "BUGS" +Extensions in certificates are not transferred to certificate requests and +vice versa. +.PP +It is possible to produce invalid certificates or requests by specifying the +wrong private key or using inconsistent options in some cases: these should +be checked. +.PP +There should be options to explicitly set such things as start and end +dates rather than an offset from the current time. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIreq\fR\|(1), \fIca\fR\|(1), \fIgenrsa\fR\|(1), +\&\fIgendsa\fR\|(1), \fIverify\fR\|(1), +\&\fIx509v3_config\fR\|(5) +.SH "HISTORY" +.IX Header "HISTORY" +The hash algorithm used in the \fB\-subject_hash\fR and \fB\-issuer_hash\fR options +before OpenSSL 1.0.0 was based on the deprecated \s-1MD5\s0 algorithm and the encoding +of the distinguished name. In OpenSSL 1.0.0 and later it is based on a +canonical version of the \s-1DN\s0 using \s-1SHA1\s0. This means that any directories using +the old form must have their links rebuilt using \fBc_rehash\fR or similar. +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man3/ACCESS_DESCRIPTION_free.3 b/linux_amd64/share/man/man3/ACCESS_DESCRIPTION_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/ACCESS_DESCRIPTION_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ACCESS_DESCRIPTION_new.3 b/linux_amd64/share/man/man3/ACCESS_DESCRIPTION_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/ACCESS_DESCRIPTION_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ADMISSIONS.3 b/linux_amd64/share/man/man3/ADMISSIONS.3 index fe4a09f..456468e 100755 --- a/linux_amd64/share/man/man3/ADMISSIONS.3 +++ b/linux_amd64/share/man/man3/ADMISSIONS.3 @@ -124,44 +124,13 @@ .\" ======================================================================== .\" .IX Title "ADMISSIONS 3" -.TH ADMISSIONS 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH ADMISSIONS 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -ADMISSIONS, -ADMISSIONS_get0_admissionAuthority, -ADMISSIONS_get0_namingAuthority, -ADMISSIONS_get0_professionInfos, -ADMISSIONS_set0_admissionAuthority, -ADMISSIONS_set0_namingAuthority, -ADMISSIONS_set0_professionInfos, -ADMISSION_SYNTAX, -ADMISSION_SYNTAX_get0_admissionAuthority, -ADMISSION_SYNTAX_get0_contentsOfAdmissions, -ADMISSION_SYNTAX_set0_admissionAuthority, -ADMISSION_SYNTAX_set0_contentsOfAdmissions, -NAMING_AUTHORITY, -NAMING_AUTHORITY_get0_authorityId, -NAMING_AUTHORITY_get0_authorityURL, -NAMING_AUTHORITY_get0_authorityText, -NAMING_AUTHORITY_set0_authorityId, -NAMING_AUTHORITY_set0_authorityURL, -NAMING_AUTHORITY_set0_authorityText, -PROFESSION_INFO, -PROFESSION_INFOS, -PROFESSION_INFO_get0_addProfessionInfo, -PROFESSION_INFO_get0_namingAuthority, -PROFESSION_INFO_get0_professionItems, -PROFESSION_INFO_get0_professionOIDs, -PROFESSION_INFO_get0_registrationNumber, -PROFESSION_INFO_set0_addProfessionInfo, -PROFESSION_INFO_set0_namingAuthority, -PROFESSION_INFO_set0_professionItems, -PROFESSION_INFO_set0_professionOIDs, -PROFESSION_INFO_set0_registrationNumber -\&\- Accessors and settors for ADMISSION_SYNTAX +ADMISSIONS, ADMISSIONS_get0_admissionAuthority, ADMISSIONS_get0_namingAuthority, ADMISSIONS_get0_professionInfos, ADMISSIONS_set0_admissionAuthority, ADMISSIONS_set0_namingAuthority, ADMISSIONS_set0_professionInfos, ADMISSION_SYNTAX, ADMISSION_SYNTAX_get0_admissionAuthority, ADMISSION_SYNTAX_get0_contentsOfAdmissions, ADMISSION_SYNTAX_set0_admissionAuthority, ADMISSION_SYNTAX_set0_contentsOfAdmissions, NAMING_AUTHORITY, NAMING_AUTHORITY_get0_authorityId, NAMING_AUTHORITY_get0_authorityURL, NAMING_AUTHORITY_get0_authorityText, NAMING_AUTHORITY_set0_authorityId, NAMING_AUTHORITY_set0_authorityURL, NAMING_AUTHORITY_set0_authorityText, PROFESSION_INFO, PROFESSION_INFOS, PROFESSION_INFO_get0_addProfessionInfo, PROFESSION_INFO_get0_namingAuthority, PROFESSION_INFO_get0_professionItems, PROFESSION_INFO_get0_professionOIDs, PROFESSION_INFO_get0_registrationNumber, PROFESSION_INFO_set0_addProfessionInfo, PROFESSION_INFO_set0_namingAuthority, PROFESSION_INFO_set0_professionItems, PROFESSION_INFO_set0_professionOIDs, PROFESSION_INFO_set0_registrationNumber \&\- Accessors and settors for ADMISSION_SYNTAX .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 5 @@ -294,9 +263,9 @@ structure and must not be freed. \&\fId2i_X509\fR\|(3), .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2017\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/ADMISSIONS_free.3 b/linux_amd64/share/man/man3/ADMISSIONS_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/ADMISSIONS_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ADMISSIONS_get0_admissionAuthority.3 b/linux_amd64/share/man/man3/ADMISSIONS_get0_admissionAuthority.3 new file mode 120000 index 0000000..86f1944 --- /dev/null +++ b/linux_amd64/share/man/man3/ADMISSIONS_get0_admissionAuthority.3 @@ -0,0 +1 @@ +ADMISSIONS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ADMISSIONS_get0_namingAuthority.3 b/linux_amd64/share/man/man3/ADMISSIONS_get0_namingAuthority.3 new file mode 120000 index 0000000..86f1944 --- /dev/null +++ b/linux_amd64/share/man/man3/ADMISSIONS_get0_namingAuthority.3 @@ -0,0 +1 @@ +ADMISSIONS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ADMISSIONS_get0_professionInfos.3 b/linux_amd64/share/man/man3/ADMISSIONS_get0_professionInfos.3 new file mode 120000 index 0000000..86f1944 --- /dev/null +++ b/linux_amd64/share/man/man3/ADMISSIONS_get0_professionInfos.3 @@ -0,0 +1 @@ +ADMISSIONS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ADMISSIONS_new.3 b/linux_amd64/share/man/man3/ADMISSIONS_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/ADMISSIONS_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ADMISSIONS_set0_admissionAuthority.3 b/linux_amd64/share/man/man3/ADMISSIONS_set0_admissionAuthority.3 new file mode 120000 index 0000000..86f1944 --- /dev/null +++ b/linux_amd64/share/man/man3/ADMISSIONS_set0_admissionAuthority.3 @@ -0,0 +1 @@ +ADMISSIONS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ADMISSIONS_set0_namingAuthority.3 b/linux_amd64/share/man/man3/ADMISSIONS_set0_namingAuthority.3 new file mode 120000 index 0000000..86f1944 --- /dev/null +++ b/linux_amd64/share/man/man3/ADMISSIONS_set0_namingAuthority.3 @@ -0,0 +1 @@ +ADMISSIONS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ADMISSIONS_set0_professionInfos.3 b/linux_amd64/share/man/man3/ADMISSIONS_set0_professionInfos.3 new file mode 120000 index 0000000..86f1944 --- /dev/null +++ b/linux_amd64/share/man/man3/ADMISSIONS_set0_professionInfos.3 @@ -0,0 +1 @@ +ADMISSIONS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ADMISSION_SYNTAX.3 b/linux_amd64/share/man/man3/ADMISSION_SYNTAX.3 new file mode 120000 index 0000000..86f1944 --- /dev/null +++ b/linux_amd64/share/man/man3/ADMISSION_SYNTAX.3 @@ -0,0 +1 @@ +ADMISSIONS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ADMISSION_SYNTAX_free.3 b/linux_amd64/share/man/man3/ADMISSION_SYNTAX_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/ADMISSION_SYNTAX_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ADMISSION_SYNTAX_get0_admissionAuthority.3 b/linux_amd64/share/man/man3/ADMISSION_SYNTAX_get0_admissionAuthority.3 new file mode 120000 index 0000000..86f1944 --- /dev/null +++ b/linux_amd64/share/man/man3/ADMISSION_SYNTAX_get0_admissionAuthority.3 @@ -0,0 +1 @@ +ADMISSIONS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ADMISSION_SYNTAX_get0_contentsOfAdmissions.3 b/linux_amd64/share/man/man3/ADMISSION_SYNTAX_get0_contentsOfAdmissions.3 new file mode 120000 index 0000000..86f1944 --- /dev/null +++ b/linux_amd64/share/man/man3/ADMISSION_SYNTAX_get0_contentsOfAdmissions.3 @@ -0,0 +1 @@ +ADMISSIONS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ADMISSION_SYNTAX_new.3 b/linux_amd64/share/man/man3/ADMISSION_SYNTAX_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/ADMISSION_SYNTAX_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ADMISSION_SYNTAX_set0_admissionAuthority.3 b/linux_amd64/share/man/man3/ADMISSION_SYNTAX_set0_admissionAuthority.3 new file mode 120000 index 0000000..86f1944 --- /dev/null +++ b/linux_amd64/share/man/man3/ADMISSION_SYNTAX_set0_admissionAuthority.3 @@ -0,0 +1 @@ +ADMISSIONS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ADMISSION_SYNTAX_set0_contentsOfAdmissions.3 b/linux_amd64/share/man/man3/ADMISSION_SYNTAX_set0_contentsOfAdmissions.3 new file mode 120000 index 0000000..86f1944 --- /dev/null +++ b/linux_amd64/share/man/man3/ADMISSION_SYNTAX_set0_contentsOfAdmissions.3 @@ -0,0 +1 @@ +ADMISSIONS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASIdOrRange_free.3 b/linux_amd64/share/man/man3/ASIdOrRange_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/ASIdOrRange_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASIdOrRange_new.3 b/linux_amd64/share/man/man3/ASIdOrRange_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/ASIdOrRange_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASIdentifierChoice_free.3 b/linux_amd64/share/man/man3/ASIdentifierChoice_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/ASIdentifierChoice_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASIdentifierChoice_new.3 b/linux_amd64/share/man/man3/ASIdentifierChoice_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/ASIdentifierChoice_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASIdentifiers_free.3 b/linux_amd64/share/man/man3/ASIdentifiers_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/ASIdentifiers_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASIdentifiers_new.3 b/linux_amd64/share/man/man3/ASIdentifiers_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/ASIdentifiers_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_ENUMERATED_get.3 b/linux_amd64/share/man/man3/ASN1_ENUMERATED_get.3 new file mode 120000 index 0000000..ce7ad54 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_ENUMERATED_get.3 @@ -0,0 +1 @@ +ASN1_INTEGER_get_int64.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_ENUMERATED_get_int64.3 b/linux_amd64/share/man/man3/ASN1_ENUMERATED_get_int64.3 new file mode 120000 index 0000000..ce7ad54 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_ENUMERATED_get_int64.3 @@ -0,0 +1 @@ +ASN1_INTEGER_get_int64.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_ENUMERATED_set.3 b/linux_amd64/share/man/man3/ASN1_ENUMERATED_set.3 new file mode 120000 index 0000000..ce7ad54 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_ENUMERATED_set.3 @@ -0,0 +1 @@ +ASN1_INTEGER_get_int64.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_ENUMERATED_set_int64.3 b/linux_amd64/share/man/man3/ASN1_ENUMERATED_set_int64.3 new file mode 120000 index 0000000..ce7ad54 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_ENUMERATED_set_int64.3 @@ -0,0 +1 @@ +ASN1_INTEGER_get_int64.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_ENUMERATED_to_BN.3 b/linux_amd64/share/man/man3/ASN1_ENUMERATED_to_BN.3 new file mode 120000 index 0000000..ce7ad54 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_ENUMERATED_to_BN.3 @@ -0,0 +1 @@ +ASN1_INTEGER_get_int64.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_GENERALIZEDTIME_adj.3 b/linux_amd64/share/man/man3/ASN1_GENERALIZEDTIME_adj.3 new file mode 120000 index 0000000..27bedc3 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_GENERALIZEDTIME_adj.3 @@ -0,0 +1 @@ +ASN1_TIME_set.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_GENERALIZEDTIME_check.3 b/linux_amd64/share/man/man3/ASN1_GENERALIZEDTIME_check.3 new file mode 120000 index 0000000..27bedc3 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_GENERALIZEDTIME_check.3 @@ -0,0 +1 @@ +ASN1_TIME_set.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_GENERALIZEDTIME_print.3 b/linux_amd64/share/man/man3/ASN1_GENERALIZEDTIME_print.3 new file mode 120000 index 0000000..27bedc3 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_GENERALIZEDTIME_print.3 @@ -0,0 +1 @@ +ASN1_TIME_set.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_GENERALIZEDTIME_set.3 b/linux_amd64/share/man/man3/ASN1_GENERALIZEDTIME_set.3 new file mode 120000 index 0000000..27bedc3 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_GENERALIZEDTIME_set.3 @@ -0,0 +1 @@ +ASN1_TIME_set.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_GENERALIZEDTIME_set_string.3 b/linux_amd64/share/man/man3/ASN1_GENERALIZEDTIME_set_string.3 new file mode 120000 index 0000000..27bedc3 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_GENERALIZEDTIME_set_string.3 @@ -0,0 +1 @@ +ASN1_TIME_set.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_INTEGER_get.3 b/linux_amd64/share/man/man3/ASN1_INTEGER_get.3 new file mode 120000 index 0000000..ce7ad54 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_INTEGER_get.3 @@ -0,0 +1 @@ +ASN1_INTEGER_get_int64.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_INTEGER_get_int64.3 b/linux_amd64/share/man/man3/ASN1_INTEGER_get_int64.3 index 567ec63..2f7bbd4 100755 --- a/linux_amd64/share/man/man3/ASN1_INTEGER_get_int64.3 +++ b/linux_amd64/share/man/man3/ASN1_INTEGER_get_int64.3 @@ -124,15 +124,13 @@ .\" ======================================================================== .\" .IX Title "ASN1_INTEGER_GET_INT64 3" -.TH ASN1_INTEGER_GET_INT64 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH ASN1_INTEGER_GET_INT64 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -ASN1_INTEGER_get_uint64, ASN1_INTEGER_set_uint64, -ASN1_INTEGER_get_int64, ASN1_INTEGER_get, ASN1_INTEGER_set_int64, ASN1_INTEGER_set, BN_to_ASN1_INTEGER, ASN1_INTEGER_to_BN, ASN1_ENUMERATED_get_int64, ASN1_ENUMERATED_get, ASN1_ENUMERATED_set_int64, ASN1_ENUMERATED_set, BN_to_ASN1_ENUMERATED, ASN1_ENUMERATED_to_BN -\&\- ASN.1 INTEGER and ENUMERATED utilities +ASN1_INTEGER_get_uint64, ASN1_INTEGER_set_uint64, ASN1_INTEGER_get_int64, ASN1_INTEGER_get, ASN1_INTEGER_set_int64, ASN1_INTEGER_set, BN_to_ASN1_INTEGER, ASN1_INTEGER_to_BN, ASN1_ENUMERATED_get_int64, ASN1_ENUMERATED_get, ASN1_ENUMERATED_set_int64, ASN1_ENUMERATED_set, BN_to_ASN1_ENUMERATED, ASN1_ENUMERATED_to_BN \&\- ASN.1 INTEGER and ENUMERATED utilities .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -165,7 +163,7 @@ These functions convert to and from \fB\s-1ASN1_INTEGER\s0\fR and \fB\s-1ASN1_EN structures. .PP \&\fIASN1_INTEGER_get_int64()\fR converts an \fB\s-1ASN1_INTEGER\s0\fR into an \fBint64_t\fR type -If successful it returns 1 and sets \fI*pr\fR to the value of \fIa\fR. If it fails +If successful it returns 1 and sets \fB*pr\fR to the value of \fBa\fR. If it fails (due to invalid type or the value being too big to fit into an \fBint64_t\fR type) it returns 0. .PP @@ -173,26 +171,26 @@ it returns 0. converts to a \fBuint64_t\fR type and an error is returned if the passed integer is negative. .PP -\&\fIASN1_INTEGER_get()\fR also returns the value of \fIa\fR but it returns 0 if \fIa\fR is +\&\fIASN1_INTEGER_get()\fR also returns the value of \fBa\fR but it returns 0 if \fBa\fR is \&\s-1NULL\s0 and \-1 on error (which is ambiguous because \-1 is a legitimate value for an \fB\s-1ASN1_INTEGER\s0\fR). New applications should use \fIASN1_INTEGER_get_int64()\fR instead. .PP -\&\fIASN1_INTEGER_set_int64()\fR sets the value of \fB\s-1ASN1_INTEGER\s0\fR \fIa\fR to the -\&\fBint64_t\fR value \fIr\fR. +\&\fIASN1_INTEGER_set_int64()\fR sets the value of \fB\s-1ASN1_INTEGER\s0\fR \fBa\fR to the +\&\fBint64_t\fR value \fBr\fR. .PP -\&\fIASN1_INTEGER_set_uint64()\fR sets the value of \fB\s-1ASN1_INTEGER\s0\fR \fIa\fR to the -\&\fBuint64_t\fR value \fIr\fR. +\&\fIASN1_INTEGER_set_uint64()\fR sets the value of \fB\s-1ASN1_INTEGER\s0\fR \fBa\fR to the +\&\fBuint64_t\fR value \fBr\fR. .PP -\&\fIASN1_INTEGER_set()\fR sets the value of \fB\s-1ASN1_INTEGER\s0\fR \fIa\fR to the \fIlong\fR value -\&\fIv\fR. +\&\fIASN1_INTEGER_set()\fR sets the value of \fB\s-1ASN1_INTEGER\s0\fR \fBa\fR to the \fBlong\fR value +\&\fBv\fR. .PP -\&\fIBN_to_ASN1_INTEGER()\fR converts \fB\s-1BIGNUM\s0\fR \fIbn\fR to an \fB\s-1ASN1_INTEGER\s0\fR. If \fIai\fR -is \s-1NULL\s0 a new \fB\s-1ASN1_INTEGER\s0\fR structure is returned. If \fIai\fR is not \s-1NULL\s0 then +\&\fIBN_to_ASN1_INTEGER()\fR converts \fB\s-1BIGNUM\s0\fR \fBbn\fR to an \fB\s-1ASN1_INTEGER\s0\fR. If \fBai\fR +is \s-1NULL\s0 a new \fB\s-1ASN1_INTEGER\s0\fR structure is returned. If \fBai\fR is not \s-1NULL\s0 then the existing structure will be used instead. .PP -\&\fIASN1_INTEGER_to_BN()\fR converts \s-1ASN1_INTEGER\s0 \fIai\fR into a \fB\s-1BIGNUM\s0\fR. If \fIbn\fR is -\&\s-1NULL\s0 a new \fB\s-1BIGNUM\s0\fR structure is returned. If \fIbn\fR is not \s-1NULL\s0 then the +\&\fIASN1_INTEGER_to_BN()\fR converts \s-1ASN1_INTEGER\s0 \fBai\fR into a \fB\s-1BIGNUM\s0\fR. If \fBbn\fR is +\&\s-1NULL\s0 a new \fB\s-1BIGNUM\s0\fR structure is returned. If \fBbn\fR is not \s-1NULL\s0 then the existing structure will be used instead. .PP \&\fIASN1_ENUMERATED_get_int64()\fR, \fIASN1_ENUMERATED_set_int64()\fR, @@ -200,8 +198,8 @@ existing structure will be used instead. behave in an identical way to their \s-1ASN1_INTEGER\s0 counterparts except they operate on an \fB\s-1ASN1_ENUMERATED\s0\fR value. .PP -\&\fIASN1_ENUMERATED_get()\fR returns the value of \fIa\fR in a similar way to -\&\fIASN1_INTEGER_get()\fR but it returns \fB0xffffffffL\fR if the value of \fIa\fR will not +\&\fIASN1_ENUMERATED_get()\fR returns the value of \fBa\fR in a similar way to +\&\fIASN1_INTEGER_get()\fR but it returns \fB0xffffffffL\fR if the value of \fBa\fR will not fit in a long type. New applications should use \fIASN1_ENUMERATED_get_int64()\fR instead. .SH "NOTES" @@ -247,7 +245,7 @@ were added in OpenSSL 1.1.0. .IX Header "COPYRIGHT" Copyright 2015\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/ASN1_INTEGER_get_uint64.3 b/linux_amd64/share/man/man3/ASN1_INTEGER_get_uint64.3 new file mode 120000 index 0000000..ce7ad54 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_INTEGER_get_uint64.3 @@ -0,0 +1 @@ +ASN1_INTEGER_get_int64.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_INTEGER_set.3 b/linux_amd64/share/man/man3/ASN1_INTEGER_set.3 new file mode 120000 index 0000000..ce7ad54 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_INTEGER_set.3 @@ -0,0 +1 @@ +ASN1_INTEGER_get_int64.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_INTEGER_set_int64.3 b/linux_amd64/share/man/man3/ASN1_INTEGER_set_int64.3 new file mode 120000 index 0000000..ce7ad54 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_INTEGER_set_int64.3 @@ -0,0 +1 @@ +ASN1_INTEGER_get_int64.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_INTEGER_set_uint64.3 b/linux_amd64/share/man/man3/ASN1_INTEGER_set_uint64.3 new file mode 120000 index 0000000..ce7ad54 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_INTEGER_set_uint64.3 @@ -0,0 +1 @@ +ASN1_INTEGER_get_int64.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_INTEGER_to_BN.3 b/linux_amd64/share/man/man3/ASN1_INTEGER_to_BN.3 new file mode 120000 index 0000000..ce7ad54 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_INTEGER_to_BN.3 @@ -0,0 +1 @@ +ASN1_INTEGER_get_int64.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_ITEM.3 b/linux_amd64/share/man/man3/ASN1_ITEM.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_ITEM.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_ITEM_get.3 b/linux_amd64/share/man/man3/ASN1_ITEM_get.3 new file mode 120000 index 0000000..8dd4c6f --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_ITEM_get.3 @@ -0,0 +1 @@ +ASN1_ITEM_lookup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_ITEM_lookup.3 b/linux_amd64/share/man/man3/ASN1_ITEM_lookup.3 index 349bd52..d30924a 100755 --- a/linux_amd64/share/man/man3/ASN1_ITEM_lookup.3 +++ b/linux_amd64/share/man/man3/ASN1_ITEM_lookup.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "ASN1_ITEM_LOOKUP 3" -.TH ASN1_ITEM_LOOKUP 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH ASN1_ITEM_LOOKUP 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -141,14 +141,14 @@ ASN1_ITEM_lookup, ASN1_ITEM_get \- lookup ASN.1 structures .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -\&\fIASN1_ITEM_lookup()\fR returns the \fB\s-1ASN1_ITEM\s0\fR named \fIname\fR. +\&\fIASN1_ITEM_lookup()\fR returns the \fB\s-1ASN1_ITEM\s0 name\fR. .PP -\&\fIASN1_ITEM_get()\fR returns the \fB\s-1ASN1_ITEM\s0\fR with index \fIi\fR. This function -returns \s-1NULL\s0 if the index \fIi\fR is out of range. +\&\fIASN1_ITEM_get()\fR returns the \fB\s-1ASN1_ITEM\s0\fR with index \fBi\fR. This function +returns \fB\s-1NULL\s0\fR if the index \fBi\fR is out of range. .SH "RETURN VALUES" .IX Header "RETURN VALUES" \&\fIASN1_ITEM_lookup()\fR and \fIASN1_ITEM_get()\fR return a valid \fB\s-1ASN1_ITEM\s0\fR structure -or \s-1NULL\s0 if an error occurred. +or \fB\s-1NULL\s0\fR if an error occurred. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIERR_get_error\fR\|(3) @@ -156,7 +156,7 @@ or \s-1NULL\s0 if an error occurred. .IX Header "COPYRIGHT" Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/ASN1_OBJECT_free.3 b/linux_amd64/share/man/man3/ASN1_OBJECT_free.3 new file mode 120000 index 0000000..2831ce6 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_OBJECT_free.3 @@ -0,0 +1 @@ +ASN1_OBJECT_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_OBJECT_new.3 b/linux_amd64/share/man/man3/ASN1_OBJECT_new.3 index 9558b6a..e9d2700 100755 --- a/linux_amd64/share/man/man3/ASN1_OBJECT_new.3 +++ b/linux_amd64/share/man/man3/ASN1_OBJECT_new.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "ASN1_OBJECT_NEW 3" -.TH ASN1_OBJECT_NEW 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH ASN1_OBJECT_NEW 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -141,21 +141,21 @@ ASN1_OBJECT_new, ASN1_OBJECT_free \- object allocation functions .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -The \fB\s-1ASN1_OBJECT\s0\fR allocation routines, allocate and free an -\&\fB\s-1ASN1_OBJECT\s0\fR structure, which represents an \s-1ASN1\s0 \s-1OBJECT\s0 \s-1IDENTIFIER\s0. +The \s-1ASN1_OBJECT\s0 allocation routines, allocate and free an +\&\s-1ASN1_OBJECT\s0 structure, which represents an \s-1ASN1\s0 \s-1OBJECT\s0 \s-1IDENTIFIER\s0. .PP -\&\fIASN1_OBJECT_new()\fR allocates and initializes an \fB\s-1ASN1_OBJECT\s0\fR structure. +\&\fIASN1_OBJECT_new()\fR allocates and initializes an \s-1ASN1_OBJECT\s0 structure. .PP -\&\fIASN1_OBJECT_free()\fR frees up the \fB\s-1ASN1_OBJECT\s0\fR structure \fIa\fR. -If \fIa\fR is \s-1NULL\s0, nothing is done. +\&\fIASN1_OBJECT_free()\fR frees up the \fB\s-1ASN1_OBJECT\s0\fR structure \fBa\fR. +If \fBa\fR is \s-1NULL\s0, nothing is done. .SH "NOTES" .IX Header "NOTES" -Although \fIASN1_OBJECT_new()\fR allocates a new \fB\s-1ASN1_OBJECT\s0\fR structure it +Although \fIASN1_OBJECT_new()\fR allocates a new \s-1ASN1_OBJECT\s0 structure it is almost never used in applications. The \s-1ASN1\s0 object utility functions such as \fIOBJ_nid2obj()\fR are used instead. .SH "RETURN VALUES" .IX Header "RETURN VALUES" -If the allocation fails, \fIASN1_OBJECT_new()\fR returns \s-1NULL\s0 and sets an error +If the allocation fails, \fIASN1_OBJECT_new()\fR returns \fB\s-1NULL\s0\fR and sets an error code that can be obtained by \fIERR_get_error\fR\|(3). Otherwise it returns a pointer to the newly allocated structure. .PP @@ -167,7 +167,7 @@ Otherwise it returns a pointer to the newly allocated structure. .IX Header "COPYRIGHT" Copyright 2002\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/ASN1_STRING_TABLE.3 b/linux_amd64/share/man/man3/ASN1_STRING_TABLE.3 new file mode 120000 index 0000000..43937a2 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_STRING_TABLE.3 @@ -0,0 +1 @@ +ASN1_STRING_TABLE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_STRING_TABLE_add.3 b/linux_amd64/share/man/man3/ASN1_STRING_TABLE_add.3 index 545b0b1..4900200 100755 --- a/linux_amd64/share/man/man3/ASN1_STRING_TABLE_add.3 +++ b/linux_amd64/share/man/man3/ASN1_STRING_TABLE_add.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "ASN1_STRING_TABLE_ADD 3" -.TH ASN1_STRING_TABLE_ADD 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH ASN1_STRING_TABLE_ADD 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -ASN1_STRING_TABLE, ASN1_STRING_TABLE_add, ASN1_STRING_TABLE_get, -ASN1_STRING_TABLE_cleanup \- ASN1_STRING_TABLE manipulation functions +ASN1_STRING_TABLE, ASN1_STRING_TABLE_add, ASN1_STRING_TABLE_get, ASN1_STRING_TABLE_cleanup \- ASN1_STRING_TABLE manipulation functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -153,16 +152,16 @@ ASN1_STRING_TABLE_cleanup \- ASN1_STRING_TABLE manipulation functions .SS "Functions" .IX Subsection "Functions" \&\fIASN1_STRING_TABLE_add()\fR adds a new \fB\s-1ASN1_STRING_TABLE\s0\fR item into the -local \s-1ASN1\s0 string table based on the \fInid\fR along with other parameters. +local \s-1ASN1\s0 string table based on the \fBnid\fR along with other parameters. .PP If the item is already in the table, fields of \fB\s-1ASN1_STRING_TABLE\s0\fR are -updated (depending on the values of those parameters, e.g., \fIminsize\fR -and \fImaxsize\fR >= 0, \fImask\fR and \fIflags\fR != 0). If the \fInid\fR is standard, +updated (depending on the values of those parameters, e.g., \fBminsize\fR +and \fBmaxsize\fR >= 0, \fBmask\fR and \fBflags\fR != 0). If the \fBnid\fR is standard, a copy of the standard \fB\s-1ASN1_STRING_TABLE\s0\fR is created and updated with other parameters. .PP \&\fIASN1_STRING_TABLE_get()\fR searches for an \fB\s-1ASN1_STRING_TABLE\s0\fR item based -on \fInid\fR. It will search the local table first, then the standard one. +on \fBnid\fR. It will search the local table first, then the standard one. .PP \&\fIASN1_STRING_TABLE_cleanup()\fR frees all \fB\s-1ASN1_STRING_TABLE\s0\fR items added by \fIASN1_STRING_TABLE_add()\fR. @@ -171,7 +170,7 @@ by \fIASN1_STRING_TABLE_add()\fR. \&\fIASN1_STRING_TABLE_add()\fR returns 1 on success, 0 if an error occurred. .PP \&\fIASN1_STRING_TABLE_get()\fR returns a valid \fB\s-1ASN1_STRING_TABLE\s0\fR structure -or \s-1NULL\s0 if nothing is found. +or \fB\s-1NULL\s0\fR if nothing is found. .PP \&\fIASN1_STRING_TABLE_cleanup()\fR does not return a value. .SH "SEE ALSO" @@ -181,7 +180,7 @@ or \s-1NULL\s0 if nothing is found. .IX Header "COPYRIGHT" Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/ASN1_STRING_TABLE_cleanup.3 b/linux_amd64/share/man/man3/ASN1_STRING_TABLE_cleanup.3 new file mode 120000 index 0000000..43937a2 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_STRING_TABLE_cleanup.3 @@ -0,0 +1 @@ +ASN1_STRING_TABLE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_STRING_TABLE_get.3 b/linux_amd64/share/man/man3/ASN1_STRING_TABLE_get.3 new file mode 120000 index 0000000..43937a2 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_STRING_TABLE_get.3 @@ -0,0 +1 @@ +ASN1_STRING_TABLE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_STRING_cmp.3 b/linux_amd64/share/man/man3/ASN1_STRING_cmp.3 new file mode 120000 index 0000000..7d3a478 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_STRING_cmp.3 @@ -0,0 +1 @@ +ASN1_STRING_length.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_STRING_data.3 b/linux_amd64/share/man/man3/ASN1_STRING_data.3 new file mode 120000 index 0000000..7d3a478 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_STRING_data.3 @@ -0,0 +1 @@ +ASN1_STRING_length.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_STRING_dup.3 b/linux_amd64/share/man/man3/ASN1_STRING_dup.3 new file mode 120000 index 0000000..7d3a478 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_STRING_dup.3 @@ -0,0 +1 @@ +ASN1_STRING_length.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_STRING_free.3 b/linux_amd64/share/man/man3/ASN1_STRING_free.3 new file mode 120000 index 0000000..01828dc --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_STRING_free.3 @@ -0,0 +1 @@ +ASN1_STRING_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_STRING_get0_data.3 b/linux_amd64/share/man/man3/ASN1_STRING_get0_data.3 new file mode 120000 index 0000000..7d3a478 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_STRING_get0_data.3 @@ -0,0 +1 @@ +ASN1_STRING_length.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_STRING_length.3 b/linux_amd64/share/man/man3/ASN1_STRING_length.3 index 3c1f3c8..f79e3da 100755 --- a/linux_amd64/share/man/man3/ASN1_STRING_length.3 +++ b/linux_amd64/share/man/man3/ASN1_STRING_length.3 @@ -124,15 +124,13 @@ .\" ======================================================================== .\" .IX Title "ASN1_STRING_LENGTH 3" -.TH ASN1_STRING_LENGTH 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH ASN1_STRING_LENGTH 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -ASN1_STRING_dup, ASN1_STRING_cmp, ASN1_STRING_set, ASN1_STRING_length, -ASN1_STRING_type, ASN1_STRING_get0_data, ASN1_STRING_data, -ASN1_STRING_to_UTF8 \- ASN1_STRING utility functions +ASN1_STRING_dup, ASN1_STRING_cmp, ASN1_STRING_set, ASN1_STRING_length, ASN1_STRING_type, ASN1_STRING_get0_data, ASN1_STRING_data, ASN1_STRING_to_UTF8 \- ASN1_STRING utility functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -142,7 +140,7 @@ ASN1_STRING_to_UTF8 \- ASN1_STRING utility functions \& const unsigned char * ASN1_STRING_get0_data(const ASN1_STRING *x); \& unsigned char * ASN1_STRING_data(ASN1_STRING *x); \& -\& ASN1_STRING * ASN1_STRING_dup(const ASN1_STRING *a); +\& ASN1_STRING * ASN1_STRING_dup(ASN1_STRING *a); \& \& int ASN1_STRING_cmp(ASN1_STRING *a, ASN1_STRING *b); \& @@ -156,9 +154,9 @@ ASN1_STRING_to_UTF8 \- ASN1_STRING utility functions .IX Header "DESCRIPTION" These functions allow an \fB\s-1ASN1_STRING\s0\fR structure to be manipulated. .PP -\&\fIASN1_STRING_length()\fR returns the length of the content of \fIx\fR. +\&\fIASN1_STRING_length()\fR returns the length of the content of \fBx\fR. .PP -\&\fIASN1_STRING_get0_data()\fR returns an internal pointer to the data of \fIx\fR. +\&\fIASN1_STRING_get0_data()\fR returns an internal pointer to the data of \fBx\fR. Since this is an internal pointer it should \fBnot\fR be freed or modified in any way. .PP @@ -166,21 +164,21 @@ modified in any way. returned value is not constant. This function is deprecated: applications should use \fIASN1_STRING_get0_data()\fR instead. .PP -\&\fIASN1_STRING_dup()\fR returns a copy of the structure \fIa\fR. +\&\fIASN1_STRING_dup()\fR returns a copy of the structure \fBa\fR. .PP -\&\fIASN1_STRING_cmp()\fR compares \fIa\fR and \fIb\fR returning 0 if the two +\&\fIASN1_STRING_cmp()\fR compares \fBa\fR and \fBb\fR returning 0 if the two are identical. The string types and content are compared. .PP -\&\fIASN1_STRING_set()\fR sets the data of string \fIstr\fR to the buffer -\&\fIdata\fR or length \fIlen\fR. The supplied data is copied. If \fIlen\fR +\&\fIASN1_STRING_set()\fR sets the data of string \fBstr\fR to the buffer +\&\fBdata\fR or length \fBlen\fR. The supplied data is copied. If \fBlen\fR is \-1 then the length is determined by strlen(data). .PP -\&\fIASN1_STRING_type()\fR returns the type of \fIx\fR, using standard constants +\&\fIASN1_STRING_type()\fR returns the type of \fBx\fR, using standard constants such as \fBV_ASN1_OCTET_STRING\fR. .PP -\&\fIASN1_STRING_to_UTF8()\fR converts the string \fIin\fR to \s-1UTF8\s0 format, the -converted data is allocated in a buffer in \fI*out\fR. The length of -\&\fIout\fR is returned or a negative error code. The buffer \fI*out\fR +\&\fIASN1_STRING_to_UTF8()\fR converts the string \fBin\fR to \s-1UTF8\s0 format, the +converted data is allocated in a buffer in \fB*out\fR. The length of +\&\fBout\fR is returned or a negative error code. The buffer \fB*out\fR should be freed using \fIOPENSSL_free()\fR. .SH "NOTES" .IX Header "NOTES" @@ -205,22 +203,22 @@ Similar care should be take to ensure the data is in the correct format when calling \fIASN1_STRING_set()\fR. .SH "RETURN VALUES" .IX Header "RETURN VALUES" -\&\fIASN1_STRING_length()\fR returns the length of the content of \fIx\fR. +\&\fIASN1_STRING_length()\fR returns the length of the content of \fBx\fR. .PP \&\fIASN1_STRING_get0_data()\fR and \fIASN1_STRING_data()\fR return an internal pointer to -the data of \fIx\fR. +the data of \fBx\fR. .PP -\&\fIASN1_STRING_dup()\fR returns a valid \fB\s-1ASN1_STRING\s0\fR structure or \s-1NULL\s0 if an +\&\fIASN1_STRING_dup()\fR returns a valid \fB\s-1ASN1_STRING\s0\fR structure or \fB\s-1NULL\s0\fR if an error occurred. .PP \&\fIASN1_STRING_cmp()\fR returns an integer greater than, equal to, or less than 0, -according to whether \fIa\fR is greater than, equal to, or less than \fIb\fR. +according to whether \fBa\fR is greater than, equal to, or less than \fBb\fR. .PP \&\fIASN1_STRING_set()\fR returns 1 on success or 0 on error. .PP -\&\fIASN1_STRING_type()\fR returns the type of \fIx\fR. +\&\fIASN1_STRING_type()\fR returns the type of \fBx\fR. .PP -\&\fIASN1_STRING_to_UTF8()\fR returns the number of bytes in output string \fIout\fR or a +\&\fIASN1_STRING_to_UTF8()\fR returns the number of bytes in output string \fBout\fR or a negative value if an error occurred. .SH "SEE ALSO" .IX Header "SEE ALSO" @@ -229,7 +227,7 @@ negative value if an error occurred. .IX Header "COPYRIGHT" Copyright 2002\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/ASN1_STRING_new.3 b/linux_amd64/share/man/man3/ASN1_STRING_new.3 index c391206..e41f01b 100755 --- a/linux_amd64/share/man/man3/ASN1_STRING_new.3 +++ b/linux_amd64/share/man/man3/ASN1_STRING_new.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "ASN1_STRING_NEW 3" -.TH ASN1_STRING_NEW 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH ASN1_STRING_NEW 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -ASN1_STRING_new, ASN1_STRING_type_new, ASN1_STRING_free \- -ASN1_STRING allocation functions +ASN1_STRING_new, ASN1_STRING_type_new, ASN1_STRING_free \- ASN1_STRING allocation functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -147,10 +146,10 @@ ASN1_STRING allocation functions is undefined. .PP \&\fIASN1_STRING_type_new()\fR returns an allocated \fB\s-1ASN1_STRING\s0\fR structure of -type \fItype\fR. +type \fBtype\fR. .PP -\&\fIASN1_STRING_free()\fR frees up \fIa\fR. -If \fIa\fR is \s-1NULL\s0 nothing is done. +\&\fIASN1_STRING_free()\fR frees up \fBa\fR. +If \fBa\fR is \s-1NULL\s0 nothing is done. .SH "NOTES" .IX Header "NOTES" Other string types call the \fB\s-1ASN1_STRING\s0\fR functions. For example @@ -158,7 +157,7 @@ Other string types call the \fB\s-1ASN1_STRING\s0\fR functions. For example .SH "RETURN VALUES" .IX Header "RETURN VALUES" \&\fIASN1_STRING_new()\fR and \fIASN1_STRING_type_new()\fR return a valid -\&\fB\s-1ASN1_STRING\s0\fR structure or \s-1NULL\s0 if an error occurred. +\&\s-1ASN1_STRING\s0 structure or \fB\s-1NULL\s0\fR if an error occurred. .PP \&\fIASN1_STRING_free()\fR does not return a value. .SH "SEE ALSO" @@ -168,7 +167,7 @@ Other string types call the \fB\s-1ASN1_STRING\s0\fR functions. For example .IX Header "COPYRIGHT" Copyright 2002\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/ASN1_STRING_print.3 b/linux_amd64/share/man/man3/ASN1_STRING_print.3 new file mode 120000 index 0000000..34b46a9 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_STRING_print.3 @@ -0,0 +1 @@ +ASN1_STRING_print_ex.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_STRING_print_ex.3 b/linux_amd64/share/man/man3/ASN1_STRING_print_ex.3 index a7b9cee..13a4576 100755 --- a/linux_amd64/share/man/man3/ASN1_STRING_print_ex.3 +++ b/linux_amd64/share/man/man3/ASN1_STRING_print_ex.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "ASN1_STRING_PRINT_EX 3" -.TH ASN1_STRING_PRINT_EX 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH ASN1_STRING_PRINT_EX 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -ASN1_tag2str, ASN1_STRING_print_ex, ASN1_STRING_print_ex_fp, ASN1_STRING_print -\&\- ASN1_STRING output routines +ASN1_tag2str, ASN1_STRING_print_ex, ASN1_STRING_print_ex_fp, ASN1_STRING_print \&\- ASN1_STRING output routines .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -148,15 +147,15 @@ ASN1_tag2str, ASN1_STRING_print_ex, ASN1_STRING_print_ex_fp, ASN1_STRING_print These functions output an \fB\s-1ASN1_STRING\s0\fR structure. \fB\s-1ASN1_STRING\s0\fR is used to represent all the \s-1ASN1\s0 string types. .PP -\&\fIASN1_STRING_print_ex()\fR outputs \fIstr\fR to \fIout\fR, the format is determined by -the options \fIflags\fR. \fIASN1_STRING_print_ex_fp()\fR is identical except it outputs -to \fIfp\fR instead. +\&\fIASN1_STRING_print_ex()\fR outputs \fBstr\fR to \fBout\fR, the format is determined by +the options \fBflags\fR. \fIASN1_STRING_print_ex_fp()\fR is identical except it outputs +to \fBfp\fR instead. .PP -\&\fIASN1_STRING_print()\fR prints \fIstr\fR to \fIout\fR but using a different format to +\&\fIASN1_STRING_print()\fR prints \fBstr\fR to \fBout\fR but using a different format to \&\fIASN1_STRING_print_ex()\fR. It replaces unprintable characters (other than \s-1CR\s0, \s-1LF\s0) with '.'. .PP -\&\fIASN1_tag2str()\fR returns a human-readable name of the specified \s-1ASN\s0.1 \fItag\fR. +\&\fIASN1_tag2str()\fR returns a human-readable name of the specified \s-1ASN\s0.1 \fBtag\fR. .SH "NOTES" .IX Header "NOTES" \&\fIASN1_STRING_print()\fR is a deprecated function which should be avoided; use @@ -165,7 +164,7 @@ with '.'. Although there are a large number of options frequently \fB\s-1ASN1_STRFLGS_RFC2253\s0\fR is suitable, or on \s-1UTF8\s0 terminals \fB\s-1ASN1_STRFLGS_RFC2253\s0 & ~ASN1_STRFLGS_ESC_MSB\fR. .PP -The complete set of supported options for \fIflags\fR is listed below. +The complete set of supported options for \fBflags\fR is listed below. .PP Various characters can be escaped. If \fB\s-1ASN1_STRFLGS_ESC_2253\s0\fR is set the characters determined by \s-1RFC2253\s0 are escaped. If \fB\s-1ASN1_STRFLGS_ESC_CTRL\s0\fR is set control @@ -222,7 +221,7 @@ characters written or \-1 if an error occurred. .PP \&\fIASN1_STRING_print()\fR returns 1 on success or 0 on error. .PP -\&\fIASN1_tag2str()\fR returns a human-readable name of the specified \s-1ASN\s0.1 \fItag\fR. +\&\fIASN1_tag2str()\fR returns a human-readable name of the specified \s-1ASN\s0.1 \fBtag\fR. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIX509_NAME_print_ex\fR\|(3), @@ -231,7 +230,7 @@ characters written or \-1 if an error occurred. .IX Header "COPYRIGHT" Copyright 2002\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/ASN1_STRING_print_ex_fp.3 b/linux_amd64/share/man/man3/ASN1_STRING_print_ex_fp.3 new file mode 120000 index 0000000..34b46a9 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_STRING_print_ex_fp.3 @@ -0,0 +1 @@ +ASN1_STRING_print_ex.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_STRING_set.3 b/linux_amd64/share/man/man3/ASN1_STRING_set.3 new file mode 120000 index 0000000..7d3a478 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_STRING_set.3 @@ -0,0 +1 @@ +ASN1_STRING_length.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_STRING_to_UTF8.3 b/linux_amd64/share/man/man3/ASN1_STRING_to_UTF8.3 new file mode 120000 index 0000000..7d3a478 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_STRING_to_UTF8.3 @@ -0,0 +1 @@ +ASN1_STRING_length.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_STRING_type.3 b/linux_amd64/share/man/man3/ASN1_STRING_type.3 new file mode 120000 index 0000000..7d3a478 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_STRING_type.3 @@ -0,0 +1 @@ +ASN1_STRING_length.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_STRING_type_new.3 b/linux_amd64/share/man/man3/ASN1_STRING_type_new.3 new file mode 120000 index 0000000..01828dc --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_STRING_type_new.3 @@ -0,0 +1 @@ +ASN1_STRING_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_TIME_adj.3 b/linux_amd64/share/man/man3/ASN1_TIME_adj.3 new file mode 120000 index 0000000..27bedc3 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_TIME_adj.3 @@ -0,0 +1 @@ +ASN1_TIME_set.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_TIME_check.3 b/linux_amd64/share/man/man3/ASN1_TIME_check.3 new file mode 120000 index 0000000..27bedc3 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_TIME_check.3 @@ -0,0 +1 @@ +ASN1_TIME_set.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_TIME_cmp_time_t.3 b/linux_amd64/share/man/man3/ASN1_TIME_cmp_time_t.3 new file mode 120000 index 0000000..27bedc3 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_TIME_cmp_time_t.3 @@ -0,0 +1 @@ +ASN1_TIME_set.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_TIME_compare.3 b/linux_amd64/share/man/man3/ASN1_TIME_compare.3 new file mode 120000 index 0000000..27bedc3 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_TIME_compare.3 @@ -0,0 +1 @@ +ASN1_TIME_set.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_TIME_diff.3 b/linux_amd64/share/man/man3/ASN1_TIME_diff.3 new file mode 120000 index 0000000..27bedc3 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_TIME_diff.3 @@ -0,0 +1 @@ +ASN1_TIME_set.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_TIME_normalize.3 b/linux_amd64/share/man/man3/ASN1_TIME_normalize.3 new file mode 120000 index 0000000..27bedc3 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_TIME_normalize.3 @@ -0,0 +1 @@ +ASN1_TIME_set.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_TIME_print.3 b/linux_amd64/share/man/man3/ASN1_TIME_print.3 new file mode 120000 index 0000000..27bedc3 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_TIME_print.3 @@ -0,0 +1 @@ +ASN1_TIME_set.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_TIME_set.3 b/linux_amd64/share/man/man3/ASN1_TIME_set.3 index 984e455..990dd1d 100755 --- a/linux_amd64/share/man/man3/ASN1_TIME_set.3 +++ b/linux_amd64/share/man/man3/ASN1_TIME_set.3 @@ -124,25 +124,13 @@ .\" ======================================================================== .\" .IX Title "ASN1_TIME_SET 3" -.TH ASN1_TIME_SET 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH ASN1_TIME_SET 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -ASN1_TIME_set, ASN1_UTCTIME_set, ASN1_GENERALIZEDTIME_set, -ASN1_TIME_adj, ASN1_UTCTIME_adj, ASN1_GENERALIZEDTIME_adj, -ASN1_TIME_check, ASN1_UTCTIME_check, ASN1_GENERALIZEDTIME_check, -ASN1_TIME_set_string, ASN1_UTCTIME_set_string, ASN1_GENERALIZEDTIME_set_string, -ASN1_TIME_set_string_X509, -ASN1_TIME_normalize, -ASN1_TIME_to_tm, -ASN1_TIME_print, ASN1_UTCTIME_print, ASN1_GENERALIZEDTIME_print, -ASN1_TIME_diff, -ASN1_TIME_cmp_time_t, ASN1_UTCTIME_cmp_time_t, -ASN1_TIME_compare, -ASN1_TIME_to_generalizedtime, -ASN1_TIME_dup, ASN1_UTCTIME_dup, ASN1_GENERALIZEDTIME_dup \- ASN.1 Time functions +ASN1_TIME_set, ASN1_UTCTIME_set, ASN1_GENERALIZEDTIME_set, ASN1_TIME_adj, ASN1_UTCTIME_adj, ASN1_GENERALIZEDTIME_adj, ASN1_TIME_check, ASN1_UTCTIME_check, ASN1_GENERALIZEDTIME_check, ASN1_TIME_set_string, ASN1_UTCTIME_set_string, ASN1_GENERALIZEDTIME_set_string, ASN1_TIME_set_string_X509, ASN1_TIME_normalize, ASN1_TIME_to_tm, ASN1_TIME_print, ASN1_UTCTIME_print, ASN1_GENERALIZEDTIME_print, ASN1_TIME_diff, ASN1_TIME_cmp_time_t, ASN1_UTCTIME_cmp_time_t, ASN1_TIME_compare, ASN1_TIME_to_generalizedtime \- ASN.1 Time functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 4 @@ -186,147 +174,136 @@ ASN1_TIME_dup, ASN1_UTCTIME_dup, ASN1_GENERALIZEDTIME_dup \- ASN.1 Time function \& \& ASN1_GENERALIZEDTIME *ASN1_TIME_to_generalizedtime(ASN1_TIME *t, \& ASN1_GENERALIZEDTIME **out); -\& -\& ASN1_TIME *ASN1_TIME_dup(const ASN1_TIME *t); -\& ASN1_UTCTIME *ASN1_UTCTIME_dup(const ASN1_UTCTIME *t); -\& ASN1_GENERALIZEDTIME *ASN1_GENERALIZEDTIME_dup(const ASN1_GENERALIZEDTIME *t); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" The \fIASN1_TIME_set()\fR, \fIASN1_UTCTIME_set()\fR and \fIASN1_GENERALIZEDTIME_set()\fR -functions set the structure \fIs\fR to the time represented by the time_t -value \fIt\fR. If \fIs\fR is \s-1NULL\s0 a new time structure is allocated and returned. +functions set the structure \fBs\fR to the time represented by the time_t +value \fBt\fR. If \fBs\fR is \s-1NULL\s0 a new time structure is allocated and returned. .PP The \fIASN1_TIME_adj()\fR, \fIASN1_UTCTIME_adj()\fR and \fIASN1_GENERALIZEDTIME_adj()\fR -functions set the time structure \fIs\fR to the time represented -by the time \fIoffset_day\fR and \fIoffset_sec\fR after the time_t value \fIt\fR. -The values of \fIoffset_day\fR or \fIoffset_sec\fR can be negative to set a -time before \fIt\fR. The \fIoffset_sec\fR value can also exceed the number of -seconds in a day. If \fIs\fR is \s-1NULL\s0 a new structure is allocated +functions set the time structure \fBs\fR to the time represented +by the time \fBoffset_day\fR and \fBoffset_sec\fR after the time_t value \fBt\fR. +The values of \fBoffset_day\fR or \fBoffset_sec\fR can be negative to set a +time before \fBt\fR. The \fBoffset_sec\fR value can also exceed the number of +seconds in a day. If \fBs\fR is \s-1NULL\s0 a new structure is allocated and returned. .PP The \fIASN1_TIME_set_string()\fR, \fIASN1_UTCTIME_set_string()\fR and -\&\fIASN1_GENERALIZEDTIME_set_string()\fR functions set the time structure \fIs\fR -to the time represented by string \fIstr\fR which must be in appropriate \s-1ASN\s0.1 -time format (for example \s-1YYMMDDHHMMSSZ\s0 or \s-1YYYYMMDDHHMMSSZ\s0). If \fIs\fR is \s-1NULL\s0 -this function performs a format check on \fIstr\fR only. The string \fIstr\fR -is copied into \fIs\fR. +\&\fIASN1_GENERALIZEDTIME_set_string()\fR functions set the time structure \fBs\fR +to the time represented by string \fBstr\fR which must be in appropriate \s-1ASN\s0.1 +time format (for example \s-1YYMMDDHHMMSSZ\s0 or \s-1YYYYMMDDHHMMSSZ\s0). If \fBs\fR is \s-1NULL\s0 +this function performs a format check on \fBstr\fR only. The string \fBstr\fR +is copied into \fBs\fR. .PP -\&\fIASN1_TIME_set_string_X509()\fR sets \fB\s-1ASN1_TIME\s0\fR structure \fIs\fR to the time -represented by string \fIstr\fR which must be in appropriate time format +\&\fIASN1_TIME_set_string_X509()\fR sets \s-1ASN1_TIME\s0 structure \fBs\fR to the time +represented by string \fBstr\fR which must be in appropriate time format that \s-1RFC\s0 5280 requires, which means it only allows \s-1YYMMDDHHMMSSZ\s0 and \&\s-1YYYYMMDDHHMMSSZ\s0 (leap second is rejected), all other \s-1ASN\s0.1 time format -are not allowed. If \fIs\fR is \s-1NULL\s0 this function performs a format check -on \fIstr\fR only. +are not allowed. If \fBs\fR is \s-1NULL\s0 this function performs a format check +on \fBstr\fR only. .PP -The \fIASN1_TIME_normalize()\fR function converts an \fB\s-1ASN1_GENERALIZEDTIME\s0\fR or -\&\fB\s-1ASN1_UTCTIME\s0\fR into a time value that can be used in a certificate. It +The \fIASN1_TIME_normalize()\fR function converts an \s-1ASN1_GENERALIZEDTIME\s0 or +\&\s-1ASN1_UTCTIME\s0 into a time value that can be used in a certificate. It should be used after the \fIASN1_TIME_set_string()\fR functions and before \&\fIASN1_TIME_print()\fR functions to get consistent (i.e. \s-1GMT\s0) results. .PP The \fIASN1_TIME_check()\fR, \fIASN1_UTCTIME_check()\fR and \fIASN1_GENERALIZEDTIME_check()\fR -functions check the syntax of the time structure \fIs\fR. +functions check the syntax of the time structure \fBs\fR. .PP The \fIASN1_TIME_print()\fR, \fIASN1_UTCTIME_print()\fR and \fIASN1_GENERALIZEDTIME_print()\fR -functions print the time structure \fIs\fR to \s-1BIO\s0 \fIb\fR in human readable +functions print the time structure \fBs\fR to \s-1BIO\s0 \fBb\fR in human readable format. It will be of the format \s-1MMM\s0 \s-1DD\s0 \s-1HH:MM:SS\s0 \s-1YYYY\s0 [\s-1GMT\s0], for example \&\*(L"Feb 3 00:55:52 2015 \s-1GMT\s0\*(R" it does not include a newline. If the time structure has invalid format it prints out \*(L"Bad time value\*(R" and returns an error. The output for generalized time may include a fractional part following the second. .PP -\&\fIASN1_TIME_to_tm()\fR converts the time \fIs\fR to the standard \fItm\fR structure. -If \fIs\fR is \s-1NULL\s0, then the current time is converted. The output time is \s-1GMT\s0. -The \fItm_sec\fR, \fItm_min\fR, \fItm_hour\fR, \fItm_mday\fR, \fItm_wday\fR, \fItm_yday\fR, -\&\fItm_mon\fR and \fItm_year\fR fields of \fItm\fR structure are set to proper values, -whereas all other fields are set to 0. If \fItm\fR is \s-1NULL\s0 this function performs -a format check on \fIs\fR only. If \fIs\fR is in Generalized format with fractional +\&\fIASN1_TIME_to_tm()\fR converts the time \fBs\fR to the standard \fBtm\fR structure. +If \fBs\fR is \s-1NULL\s0, then the current time is converted. The output time is \s-1GMT\s0. +The \fBtm_sec\fR, \fBtm_min\fR, \fBtm_hour\fR, \fBtm_mday\fR, \fBtm_wday\fR, \fBtm_yday\fR, +\&\fBtm_mon\fR and \fBtm_year\fR fields of \fBtm\fR structure are set to proper values, +whereas all other fields are set to 0. If \fBtm\fR is \s-1NULL\s0 this function performs +a format check on \fBs\fR only. If \fBs\fR is in Generalized format with fractional seconds, e.g. \s-1YYYYMMDDHHMMSS\s0.SSSZ, the fractional seconds will be lost while -converting \fIs\fR to \fItm\fR structure. +converting \fBs\fR to \fBtm\fR structure. .PP -\&\fIASN1_TIME_diff()\fR sets \fI*pday\fR and \fI*psec\fR to the time difference between -\&\fIfrom\fR and \fIto\fR. If \fIto\fR represents a time later than \fIfrom\fR then -one or both (depending on the time difference) of \fI*pday\fR and \fI*psec\fR -will be positive. If \fIto\fR represents a time earlier than \fIfrom\fR then -one or both of \fI*pday\fR and \fI*psec\fR will be negative. If \fIto\fR and \fIfrom\fR -represent the same time then \fI*pday\fR and \fI*psec\fR will both be zero. -If both \fI*pday\fR and \fI*psec\fR are nonzero they will always have the same -sign. The value of \fI*psec\fR will always be less than the number of seconds -in a day. If \fIfrom\fR or \fIto\fR is \s-1NULL\s0 the current time is used. +\&\fIASN1_TIME_diff()\fR sets \fB*pday\fR and \fB*psec\fR to the time difference between +\&\fBfrom\fR and \fBto\fR. If \fBto\fR represents a time later than \fBfrom\fR then +one or both (depending on the time difference) of \fB*pday\fR and \fB*psec\fR +will be positive. If \fBto\fR represents a time earlier than \fBfrom\fR then +one or both of \fB*pday\fR and \fB*psec\fR will be negative. If \fBto\fR and \fBfrom\fR +represent the same time then \fB*pday\fR and \fB*psec\fR will both be zero. +If both \fB*pday\fR and \fB*psec\fR are non-zero they will always have the same +sign. The value of \fB*psec\fR will always be less than the number of seconds +in a day. If \fBfrom\fR or \fBto\fR is \s-1NULL\s0 the current time is used. .PP The \fIASN1_TIME_cmp_time_t()\fR and \fIASN1_UTCTIME_cmp_time_t()\fR functions compare -the two times represented by the time structure \fIs\fR and the time_t \fIt\fR. +the two times represented by the time structure \fBs\fR and the time_t \fBt\fR. .PP The \fIASN1_TIME_compare()\fR function compares the two times represented by the -time structures \fIa\fR and \fIb\fR. +time structures \fBa\fR and \fBb\fR. .PP -The \fIASN1_TIME_to_generalizedtime()\fR function converts an \fB\s-1ASN1_TIME\s0\fR to an -\&\fB\s-1ASN1_GENERALIZEDTIME\s0\fR, regardless of year. If either \fIout\fR or -\&\fI*out\fR are \s-1NULL\s0, then a new object is allocated and must be freed after use. -.PP -The \fIASN1_TIME_dup()\fR, \fIASN1_UTCTIME_dup()\fR and \fIASN1_GENERALIZEDTIME_dup()\fR functions -duplicate the time structure \fIt\fR and return the duplicated result -correspondingly. +The \fIASN1_TIME_to_generalizedtime()\fR function converts an \s-1ASN1_TIME\s0 to an +\&\s-1ASN1_GENERALIZEDTIME\s0, regardless of year. If either \fBout\fR or +\&\fB*out\fR are \s-1NULL\s0, then a new object is allocated and must be freed after use. .SH "NOTES" .IX Header "NOTES" -The \fB\s-1ASN1_TIME\s0\fR structure corresponds to the \s-1ASN\s0.1 structure \fBTime\fR +The \s-1ASN1_TIME\s0 structure corresponds to the \s-1ASN\s0.1 structure \fBTime\fR defined in \s-1RFC5280\s0 et al. The time setting functions obey the rules outlined in \s-1RFC5280:\s0 if the date can be represented by UTCTime it is used, else GeneralizedTime is used. .PP -The \fB\s-1ASN1_TIME\s0\fR, \fB\s-1ASN1_UTCTIME\s0\fR and \fB\s-1ASN1_GENERALIZEDTIME\s0\fR structures are -represented as an \fB\s-1ASN1_STRING\s0\fR internally and can be freed up using -\&\fIASN1_STRING_free()\fR. +The \s-1ASN1_TIME\s0, \s-1ASN1_UTCTIME\s0 and \s-1ASN1_GENERALIZEDTIME\s0 structures are represented +as an \s-1ASN1_STRING\s0 internally and can be freed up using \fIASN1_STRING_free()\fR. .PP -The \fB\s-1ASN1_TIME\s0\fR structure can represent years from 0000 to 9999 but no attempt +The \s-1ASN1_TIME\s0 structure can represent years from 0000 to 9999 but no attempt is made to correct ancient calendar changes (for example from Julian to Gregorian calendars). .PP -\&\fB\s-1ASN1_UTCTIME\s0\fR is limited to a year range of 1950 through 2049. +\&\s-1ASN1_UTCTIME\s0 is limited to a year range of 1950 through 2049. .PP Some applications add offset times directly to a time_t value and pass the results to \fIASN1_TIME_set()\fR (or equivalent). This can cause problems as the time_t value can overflow on some systems resulting in unexpected results. New applications should use \fIASN1_TIME_adj()\fR instead and pass the offset value -in the \fIoffset_sec\fR and \fIoffset_day\fR parameters instead of directly +in the \fBoffset_sec\fR and \fBoffset_day\fR parameters instead of directly manipulating a time_t value. .PP -\&\fIASN1_TIME_adj()\fR may change the type from \fB\s-1ASN1_GENERALIZEDTIME\s0\fR to -\&\fB\s-1ASN1_UTCTIME\s0\fR, or vice versa, based on the resulting year. -\&\fIASN1_GENERALIZEDTIME_adj()\fR and \fIASN1_UTCTIME_adj()\fR will not modify the type -of the return structure. +\&\fIASN1_TIME_adj()\fR may change the type from \s-1ASN1_GENERALIZEDTIME\s0 to \s-1ASN1_UTCTIME\s0, +or vice versa, based on the resulting year. The \fIASN1_GENERALIZEDTIME_adj()\fR and +\&\fIASN1_UTCTIME_adj()\fR functions will not modify the type of the return structure. .PP -It is recommended that functions starting with \fB\s-1ASN1_TIME\s0\fR be used instead of -those starting with \fB\s-1ASN1_UTCTIME\s0\fR or \fB\s-1ASN1_GENERALIZEDTIME\s0\fR. The functions -starting with \fB\s-1ASN1_UTCTIME\s0\fR and \fB\s-1ASN1_GENERALIZEDTIME\s0\fR act only on that -specific time format. The functions starting with \fB\s-1ASN1_TIME\s0\fR will operate on -either format. +It is recommended that functions starting with \s-1ASN1_TIME\s0 be used instead of +those starting with \s-1ASN1_UTCTIME\s0 or \s-1ASN1_GENERALIZEDTIME\s0. The functions +starting with \s-1ASN1_UTCTIME\s0 and \s-1ASN1_GENERALIZEDTIME\s0 act only on that specific +time format. The functions starting with \s-1ASN1_TIME\s0 will operate on either +format. .SH "BUGS" .IX Header "BUGS" \&\fIASN1_TIME_print()\fR, \fIASN1_UTCTIME_print()\fR and \fIASN1_GENERALIZEDTIME_print()\fR -do not print out the timezone: it either prints out \*(L"\s-1GMT\s0\*(R" or nothing. But all +do not print out the time zone: it either prints out \*(L"\s-1GMT\s0\*(R" or nothing. But all certificates complying with \s-1RFC5280\s0 et al use \s-1GMT\s0 anyway. .PP Use the \fIASN1_TIME_normalize()\fR function to normalize the time value before printing to get \s-1GMT\s0 results. .SH "RETURN VALUES" .IX Header "RETURN VALUES" -\&\fIASN1_TIME_set()\fR, \fIASN1_UTCTIME_set()\fR, \fIASN1_GENERALIZEDTIME_set()\fR, -\&\fIASN1_TIME_adj()\fR, \fIASN1_UTCTIME_adj()\fR and \fIASN1_GENERALIZEDTIME_set()\fR return -a pointer to a time structure or \s-1NULL\s0 if an error occurred. +\&\fIASN1_TIME_set()\fR, \fIASN1_UTCTIME_set()\fR, \fIASN1_GENERALIZEDTIME_set()\fR, \fIASN1_TIME_adj()\fR, +ASN1_UTCTIME_adj and ASN1_GENERALIZEDTIME_set return a pointer to a time structure +or \s-1NULL\s0 if an error occurred. .PP -\&\fIASN1_TIME_set_string()\fR, \fIASN1_UTCTIME_set_string()\fR, -\&\fIASN1_GENERALIZEDTIME_set_string()\fR and \fIASN1_TIME_set_string_X509()\fR return -1 if the time value is successfully set and 0 otherwise. +\&\fIASN1_TIME_set_string()\fR, \fIASN1_UTCTIME_set_string()\fR, \fIASN1_GENERALIZEDTIME_set_string()\fR +\&\fIASN1_TIME_set_string_X509()\fR return 1 if the time value is successfully set and 0 otherwise. .PP \&\fIASN1_TIME_normalize()\fR returns 1 on success, and 0 on error. .PP \&\fIASN1_TIME_check()\fR, ASN1_UTCTIME_check and \fIASN1_GENERALIZEDTIME_check()\fR return 1 if the structure is syntactically correct and 0 otherwise. .PP -\&\fIASN1_TIME_print()\fR, \fIASN1_UTCTIME_print()\fR and \fIASN1_GENERALIZEDTIME_print()\fR return -1 if the time is successfully printed out and 0 if an error occurred (I/O error -or invalid time format). +\&\fIASN1_TIME_print()\fR, \fIASN1_UTCTIME_print()\fR and \fIASN1_GENERALIZEDTIME_print()\fR return 1 +if the time is successfully printed out and 0 if an error occurred (I/O error or +invalid time format). .PP \&\fIASN1_TIME_to_tm()\fR returns 1 if the time is successfully parsed and 0 if an error occurred (invalid time format). @@ -334,18 +311,14 @@ error occurred (invalid time format). \&\fIASN1_TIME_diff()\fR returns 1 for success and 0 for failure. It can fail if the passed-in time structure has invalid syntax, for example. .PP -\&\fIASN1_TIME_cmp_time_t()\fR and \fIASN1_UTCTIME_cmp_time_t()\fR return \-1 if \fIs\fR is -before \fIt\fR, 0 if \fIs\fR equals \fIt\fR, or 1 if \fIs\fR is after \fIt\fR. \-2 is returned +\&\fIASN1_TIME_cmp_time_t()\fR and \fIASN1_UTCTIME_cmp_time_t()\fR return \-1 if \fBs\fR is +before \fBt\fR, 0 if \fBs\fR equals \fBt\fR, or 1 if \fBs\fR is after \fBt\fR. \-2 is returned on error. .PP -\&\fIASN1_TIME_compare()\fR returns \-1 if \fIa\fR is before \fIb\fR, 0 if \fIa\fR equals \fIb\fR, -or 1 if \fIa\fR is after \fIb\fR. \-2 is returned on error. +\&\fIASN1_TIME_compare()\fR returns \-1 if \fBa\fR is before \fBb\fR, 0 if \fBa\fR equals \fBb\fR, or 1 if \fBa\fR is after \fBb\fR. \-2 is returned on error. .PP -\&\fIASN1_TIME_to_generalizedtime()\fR returns a pointer to the appropriate time -structure on success or \s-1NULL\s0 if an error occurred. -.PP -\&\fIASN1_TIME_dup()\fR, \fIASN1_UTCTIME_dup()\fR and \fIASN1_GENERALIZEDTIME_dup()\fR return a -pointer to a time structure or \s-1NULL\s0 if an error occurred. +\&\fIASN1_TIME_to_generalizedtime()\fR returns a pointer to +the appropriate time structure on success or \s-1NULL\s0 if an error occurred. .SH "EXAMPLES" .IX Header "EXAMPLES" Set a time structure to one hour after the current time and print it out: @@ -390,9 +363,9 @@ The \fIASN1_TIME_cmp_time_t()\fR function was added in OpenSSL 1.1.1. The \fIASN1_TIME_compare()\fR function was added in OpenSSL 1.1.1. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2015\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2015\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/ASN1_TIME_set_string.3 b/linux_amd64/share/man/man3/ASN1_TIME_set_string.3 new file mode 120000 index 0000000..27bedc3 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_TIME_set_string.3 @@ -0,0 +1 @@ +ASN1_TIME_set.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_TIME_set_string_X509.3 b/linux_amd64/share/man/man3/ASN1_TIME_set_string_X509.3 new file mode 120000 index 0000000..27bedc3 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_TIME_set_string_X509.3 @@ -0,0 +1 @@ +ASN1_TIME_set.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_TIME_to_generalizedtime.3 b/linux_amd64/share/man/man3/ASN1_TIME_to_generalizedtime.3 new file mode 120000 index 0000000..27bedc3 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_TIME_to_generalizedtime.3 @@ -0,0 +1 @@ +ASN1_TIME_set.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_TIME_to_tm.3 b/linux_amd64/share/man/man3/ASN1_TIME_to_tm.3 new file mode 120000 index 0000000..27bedc3 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_TIME_to_tm.3 @@ -0,0 +1 @@ +ASN1_TIME_set.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_TYPE_cmp.3 b/linux_amd64/share/man/man3/ASN1_TYPE_cmp.3 new file mode 120000 index 0000000..bb68750 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_TYPE_cmp.3 @@ -0,0 +1 @@ +ASN1_TYPE_get.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_TYPE_get.3 b/linux_amd64/share/man/man3/ASN1_TYPE_get.3 index feb9ab8..73c5de8 100755 --- a/linux_amd64/share/man/man3/ASN1_TYPE_get.3 +++ b/linux_amd64/share/man/man3/ASN1_TYPE_get.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "ASN1_TYPE_GET 3" -.TH ASN1_TYPE_GET 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH ASN1_TYPE_GET 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -ASN1_TYPE_get, ASN1_TYPE_set, ASN1_TYPE_set1, ASN1_TYPE_cmp, ASN1_TYPE_unpack_sequence, ASN1_TYPE_pack_sequence \- ASN1_TYPE utility -functions +ASN1_TYPE_get, ASN1_TYPE_set, ASN1_TYPE_set1, ASN1_TYPE_cmp, ASN1_TYPE_unpack_sequence, ASN1_TYPE_pack_sequence \- ASN1_TYPE utility functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -148,77 +147,76 @@ functions .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -These functions allow an \fB\s-1ASN1_TYPE\s0\fR structure to be manipulated. The -\&\fB\s-1ASN1_TYPE\s0\fR structure can contain any \s-1ASN\s0.1 type or constructed type +These functions allow an \s-1ASN1_TYPE\s0 structure to be manipulated. The +\&\s-1ASN1_TYPE\s0 structure can contain any \s-1ASN\s0.1 type or constructed type such as a \s-1SEQUENCE:\s0 it is effectively equivalent to the \s-1ASN\s0.1 \s-1ANY\s0 type. .PP -\&\fIASN1_TYPE_get()\fR returns the type of \fIa\fR. +\&\fIASN1_TYPE_get()\fR returns the type of \fBa\fR. .PP -\&\fIASN1_TYPE_set()\fR sets the value of \fIa\fR to \fItype\fR and \fIvalue\fR. This -function uses the pointer \fIvalue\fR internally so it must \fBnot\fR be freed +\&\fIASN1_TYPE_set()\fR sets the value of \fBa\fR to \fBtype\fR and \fBvalue\fR. This +function uses the pointer \fBvalue\fR internally so it must \fBnot\fR be freed up after the call. .PP -\&\fIASN1_TYPE_set1()\fR sets the value of \fIa\fR to \fItype\fR a copy of \fIvalue\fR. +\&\fIASN1_TYPE_set1()\fR sets the value of \fBa\fR to \fBtype\fR a copy of \fBvalue\fR. .PP -\&\fIASN1_TYPE_cmp()\fR compares \s-1ASN\s0.1 types \fIa\fR and \fIb\fR and returns 0 if -they are identical and nonzero otherwise. +\&\fIASN1_TYPE_cmp()\fR compares \s-1ASN\s0.1 types \fBa\fR and \fBb\fR and returns 0 if +they are identical and non-zero otherwise. .PP \&\fIASN1_TYPE_unpack_sequence()\fR attempts to parse the \s-1SEQUENCE\s0 present in -\&\fIt\fR using the \s-1ASN\s0.1 structure \fIit\fR. If successful it returns a pointer -to the \s-1ASN\s0.1 structure corresponding to \fIit\fR which must be freed by the +\&\fBt\fR using the \s-1ASN\s0.1 structure \fBit\fR. If successful it returns a pointer +to the \s-1ASN\s0.1 structure corresponding to \fBit\fR which must be freed by the caller. If it fails it return \s-1NULL\s0. .PP -\&\fIASN1_TYPE_pack_sequence()\fR attempts to encode the \s-1ASN\s0.1 structure \fIs\fR -corresponding to \fIit\fR into an \fB\s-1ASN1_TYPE\s0\fR. If successful the encoded -\&\fB\s-1ASN1_TYPE\s0\fR is returned. If \fIt\fR and \fI*t\fR are not \s-1NULL\s0 the encoded type -is written to \fIt\fR overwriting any existing data. If \fIt\fR is not \s-1NULL\s0 -but \fI*t\fR is \s-1NULL\s0 the returned \fB\s-1ASN1_TYPE\s0\fR is written to \fI*t\fR. +\&\fIASN1_TYPE_pack_sequence()\fR attempts to encode the \s-1ASN\s0.1 structure \fBs\fR +corresponding to \fBit\fR into an \s-1ASN1_TYPE\s0. If successful the encoded +\&\s-1ASN1_TYPE\s0 is returned. If \fBt\fR and \fB*t\fR are not \s-1NULL\s0 the encoded type +is written to \fBt\fR overwriting any existing data. If \fBt\fR is not \s-1NULL\s0 +but \fB*t\fR is \s-1NULL\s0 the returned \s-1ASN1_TYPE\s0 is written to \fB*t\fR. .SH "NOTES" .IX Header "NOTES" -The type and meaning of the \fIvalue\fR parameter for \fIASN1_TYPE_set()\fR and -\&\fIASN1_TYPE_set1()\fR is determined by the \fItype\fR parameter. -If \fItype\fR is \fBV_ASN1_NULL\fR \fIvalue\fR is ignored. If \fItype\fR is -\&\fBV_ASN1_BOOLEAN\fR -then the boolean is set to \s-1TRUE\s0 if \fIvalue\fR is not \s-1NULL\s0. If \fItype\fR is -\&\fBV_ASN1_OBJECT\fR then value is an \fB\s-1ASN1_OBJECT\s0\fR structure. Otherwise \fItype\fR -is and \fB\s-1ASN1_STRING\s0\fR structure. If \fItype\fR corresponds to a primitive type -(or a string type) then the contents of the \fB\s-1ASN1_STRING\s0\fR contain the content -octets of the type. If \fItype\fR corresponds to a constructed type or -a tagged type (\fBV_ASN1_SEQUENCE\fR, \fBV_ASN1_SET\fR or \fBV_ASN1_OTHER\fR) then the -\&\fB\s-1ASN1_STRING\s0\fR contains the entire \s-1ASN\s0.1 encoding verbatim (including tag and +The type and meaning of the \fBvalue\fR parameter for \fIASN1_TYPE_set()\fR and +\&\fIASN1_TYPE_set1()\fR is determined by the \fBtype\fR parameter. +If \fBtype\fR is V_ASN1_NULL \fBvalue\fR is ignored. If \fBtype\fR is V_ASN1_BOOLEAN +then the boolean is set to \s-1TRUE\s0 if \fBvalue\fR is not \s-1NULL\s0. If \fBtype\fR is +V_ASN1_OBJECT then value is an \s-1ASN1_OBJECT\s0 structure. Otherwise \fBtype\fR +is and \s-1ASN1_STRING\s0 structure. If \fBtype\fR corresponds to a primitive type +(or a string type) then the contents of the \s-1ASN1_STRING\s0 contain the content +octets of the type. If \fBtype\fR corresponds to a constructed type or +a tagged type (V_ASN1_SEQUENCE, V_ASN1_SET or V_ASN1_OTHER) then the +\&\s-1ASN1_STRING\s0 contains the entire \s-1ASN\s0.1 encoding verbatim (including tag and length octets). .PP \&\fIASN1_TYPE_cmp()\fR may not return zero if two types are equivalent but have different encodings. For example the single content octet of the boolean \s-1TRUE\s0 -value under \s-1BER\s0 can have any nonzero encoding but \fIASN1_TYPE_cmp()\fR will +value under \s-1BER\s0 can have any non-zero encoding but \fIASN1_TYPE_cmp()\fR will only return zero if the values are the same. .PP If either or both of the parameters passed to \fIASN1_TYPE_cmp()\fR is \s-1NULL\s0 the -return value is nonzero. Technically if both parameters are \s-1NULL\s0 the two +return value is non-zero. Technically if both parameters are \s-1NULL\s0 the two types could be absent \s-1OPTIONAL\s0 fields and so should match, however passing \&\s-1NULL\s0 values could also indicate a programming error (for example an unparsable type which returns \s-1NULL\s0) for types which do \fBnot\fR match. So applications should handle the case of two absent values separately. .SH "RETURN VALUES" .IX Header "RETURN VALUES" -\&\fIASN1_TYPE_get()\fR returns the type of the \fB\s-1ASN1_TYPE\s0\fR argument. +\&\fIASN1_TYPE_get()\fR returns the type of the \s-1ASN1_TYPE\s0 argument. .PP \&\fIASN1_TYPE_set()\fR does not return a value. .PP \&\fIASN1_TYPE_set1()\fR returns 1 for success and 0 for failure. .PP -\&\fIASN1_TYPE_cmp()\fR returns 0 if the types are identical and nonzero otherwise. +\&\fIASN1_TYPE_cmp()\fR returns 0 if the types are identical and non-zero otherwise. .PP \&\fIASN1_TYPE_unpack_sequence()\fR returns a pointer to an \s-1ASN\s0.1 structure or \&\s-1NULL\s0 on failure. .PP -\&\fIASN1_TYPE_pack_sequence()\fR return an \fB\s-1ASN1_TYPE\s0\fR structure if it succeeds or +\&\fIASN1_TYPE_pack_sequence()\fR return an \s-1ASN1_TYPE\s0 structure if it succeeds or \&\s-1NULL\s0 on failure. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2015\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/ASN1_TYPE_pack_sequence.3 b/linux_amd64/share/man/man3/ASN1_TYPE_pack_sequence.3 new file mode 120000 index 0000000..bb68750 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_TYPE_pack_sequence.3 @@ -0,0 +1 @@ +ASN1_TYPE_get.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_TYPE_set.3 b/linux_amd64/share/man/man3/ASN1_TYPE_set.3 new file mode 120000 index 0000000..bb68750 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_TYPE_set.3 @@ -0,0 +1 @@ +ASN1_TYPE_get.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_TYPE_set1.3 b/linux_amd64/share/man/man3/ASN1_TYPE_set1.3 new file mode 120000 index 0000000..bb68750 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_TYPE_set1.3 @@ -0,0 +1 @@ +ASN1_TYPE_get.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_TYPE_unpack_sequence.3 b/linux_amd64/share/man/man3/ASN1_TYPE_unpack_sequence.3 new file mode 120000 index 0000000..bb68750 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_TYPE_unpack_sequence.3 @@ -0,0 +1 @@ +ASN1_TYPE_get.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_UTCTIME_adj.3 b/linux_amd64/share/man/man3/ASN1_UTCTIME_adj.3 new file mode 120000 index 0000000..27bedc3 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_UTCTIME_adj.3 @@ -0,0 +1 @@ +ASN1_TIME_set.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_UTCTIME_check.3 b/linux_amd64/share/man/man3/ASN1_UTCTIME_check.3 new file mode 120000 index 0000000..27bedc3 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_UTCTIME_check.3 @@ -0,0 +1 @@ +ASN1_TIME_set.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_UTCTIME_cmp_time_t.3 b/linux_amd64/share/man/man3/ASN1_UTCTIME_cmp_time_t.3 new file mode 120000 index 0000000..27bedc3 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_UTCTIME_cmp_time_t.3 @@ -0,0 +1 @@ +ASN1_TIME_set.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_UTCTIME_print.3 b/linux_amd64/share/man/man3/ASN1_UTCTIME_print.3 new file mode 120000 index 0000000..27bedc3 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_UTCTIME_print.3 @@ -0,0 +1 @@ +ASN1_TIME_set.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_UTCTIME_set.3 b/linux_amd64/share/man/man3/ASN1_UTCTIME_set.3 new file mode 120000 index 0000000..27bedc3 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_UTCTIME_set.3 @@ -0,0 +1 @@ +ASN1_TIME_set.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_UTCTIME_set_string.3 b/linux_amd64/share/man/man3/ASN1_UTCTIME_set_string.3 new file mode 120000 index 0000000..27bedc3 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_UTCTIME_set_string.3 @@ -0,0 +1 @@ +ASN1_TIME_set.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_add_oid_module.3 b/linux_amd64/share/man/man3/ASN1_add_oid_module.3 new file mode 120000 index 0000000..8619db5 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_add_oid_module.3 @@ -0,0 +1 @@ +OPENSSL_load_builtin_modules.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_generate_nconf.3 b/linux_amd64/share/man/man3/ASN1_generate_nconf.3 index 08eb3f8..0c914c6 100755 --- a/linux_amd64/share/man/man3/ASN1_generate_nconf.3 +++ b/linux_amd64/share/man/man3/ASN1_generate_nconf.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "ASN1_GENERATE_NCONF 3" -.TH ASN1_GENERATE_NCONF 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH ASN1_GENERATE_NCONF 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -144,40 +144,40 @@ ASN1_generate_nconf, ASN1_generate_v3 \- ASN1 generation functions These functions generate the \s-1ASN1\s0 encoding of a string in an \fB\s-1ASN1_TYPE\s0\fR structure. .PP -\&\fIstr\fR contains the string to encode \fInconf\fR or \fIcnf\fR contains +\&\fBstr\fR contains the string to encode \fBnconf\fR or \fBcnf\fR contains the optional configuration information where additional strings -will be read from. \fInconf\fR will typically come from a config -file whereas \fIcnf\fR is obtained from an \fBX509V3_CTX\fR structure +will be read from. \fBnconf\fR will typically come from a config +file whereas \fBcnf\fR is obtained from an \fBX509V3_CTX\fR structure which will typically be used by X509 v3 certificate extension -functions. \fIcnf\fR or \fInconf\fR can be set to \s-1NULL\s0 if no additional +functions. \fBcnf\fR or \fBnconf\fR can be set to \fB\s-1NULL\s0\fR if no additional configuration will be used. .SH "GENERATION STRING FORMAT" .IX Header "GENERATION STRING FORMAT" -The actual data encoded is determined by the string \fIstr\fR and +The actual data encoded is determined by the string \fBstr\fR and the configuration information. The general format of the string is: -.IP "[\fImodifier\fR,]\fItype\fR[:\fIvalue\fR]" 4 +.IP "\fB[modifier,]type[:value]\fR" 4 .IX Item "[modifier,]type[:value]" .PP That is zero or more comma separated modifiers followed by a type -followed by an optional colon and a value. The formats of \fItype\fR, -\&\fIvalue\fR and \fImodifier\fR are explained below. +followed by an optional colon and a value. The formats of \fBtype\fR, +\&\fBvalue\fR and \fBmodifier\fR are explained below. .SS "Supported Types" .IX Subsection "Supported Types" The supported types are listed below. Unless otherwise specified only the \fB\s-1ASCII\s0\fR format is permissible. .IP "\fB\s-1BOOLEAN\s0\fR, \fB\s-1BOOL\s0\fR" 4 .IX Item "BOOLEAN, BOOL" -This encodes a boolean type. The \fIvalue\fR string is mandatory and +This encodes a boolean type. The \fBvalue\fR string is mandatory and should be \fB\s-1TRUE\s0\fR or \fB\s-1FALSE\s0\fR. Additionally \fB\s-1TRUE\s0\fR, \fBtrue\fR, \fBY\fR, \&\fBy\fR, \fB\s-1YES\s0\fR, \fByes\fR, \fB\s-1FALSE\s0\fR, \fBfalse\fR, \fBN\fR, \fBn\fR, \fB\s-1NO\s0\fR and \fBno\fR are acceptable. .IP "\fB\s-1NULL\s0\fR" 4 .IX Item "NULL" -Encode the \fB\s-1NULL\s0\fR type, the \fIvalue\fR string must not be present. +Encode the \fB\s-1NULL\s0\fR type, the \fBvalue\fR string must not be present. .IP "\fB\s-1INTEGER\s0\fR, \fB\s-1INT\s0\fR" 4 .IX Item "INTEGER, INT" -Encodes an \s-1ASN1\s0 \fB\s-1INTEGER\s0\fR type. The \fIvalue\fR string represents +Encodes an \s-1ASN1\s0 \fB\s-1INTEGER\s0\fR type. The \fBvalue\fR string represents the value of the integer, it can be prefaced by a minus sign and is normally interpreted as a decimal value unless the prefix \fB0x\fR is included. @@ -187,7 +187,7 @@ Encodes the \s-1ASN1\s0 \fB\s-1ENUMERATED\s0\fR type, it is otherwise identical \&\fB\s-1INTEGER\s0\fR. .IP "\fB\s-1OBJECT\s0\fR, \fB\s-1OID\s0\fR" 4 .IX Item "OBJECT, OID" -Encodes an \s-1ASN1\s0 \fB\s-1OBJECT\s0 \s-1IDENTIFIER\s0\fR, the \fIvalue\fR string can be +Encodes an \s-1ASN1\s0 \fB\s-1OBJECT\s0 \s-1IDENTIFIER\s0\fR, the \fBvalue\fR string can be a short name, a long name or numerical format. .IP "\fB\s-1UTCTIME\s0\fR, \fB\s-1UTC\s0\fR" 4 .IX Item "UTCTIME, UTC" @@ -199,27 +199,27 @@ Encodes an \s-1ASN1\s0 \fBGeneralizedTime\fR structure, the value should be in the format \fB\s-1YYYYMMDDHHMMSSZ\s0\fR. .IP "\fB\s-1OCTETSTRING\s0\fR, \fB\s-1OCT\s0\fR" 4 .IX Item "OCTETSTRING, OCT" -Encodes an \s-1ASN1\s0 \fB\s-1OCTET\s0 \s-1STRING\s0\fR. \fIvalue\fR represents the contents +Encodes an \s-1ASN1\s0 \fB\s-1OCTET\s0 \s-1STRING\s0\fR. \fBvalue\fR represents the contents of this structure, the format strings \fB\s-1ASCII\s0\fR and \fB\s-1HEX\s0\fR can be -used to specify the format of \fIvalue\fR. +used to specify the format of \fBvalue\fR. .IP "\fB\s-1BITSTRING\s0\fR, \fB\s-1BITSTR\s0\fR" 4 .IX Item "BITSTRING, BITSTR" -Encodes an \s-1ASN1\s0 \fB\s-1BIT\s0 \s-1STRING\s0\fR. \fIvalue\fR represents the contents +Encodes an \s-1ASN1\s0 \fB\s-1BIT\s0 \s-1STRING\s0\fR. \fBvalue\fR represents the contents of this structure, the format strings \fB\s-1ASCII\s0\fR, \fB\s-1HEX\s0\fR and \fB\s-1BITLIST\s0\fR -can be used to specify the format of \fIvalue\fR. +can be used to specify the format of \fBvalue\fR. .Sp If the format is anything other than \fB\s-1BITLIST\s0\fR the number of unused bits is set to zero. .IP "\fB\s-1UNIVERSALSTRING\s0\fR, \fB\s-1UNIV\s0\fR, \fB\s-1IA5\s0\fR, \fB\s-1IA5STRING\s0\fR, \fB\s-1UTF8\s0\fR, \fBUTF8String\fR, \fB\s-1BMP\s0\fR, \fB\s-1BMPSTRING\s0\fR, \fB\s-1VISIBLESTRING\s0\fR, \fB\s-1VISIBLE\s0\fR, \fB\s-1PRINTABLESTRING\s0\fR, \fB\s-1PRINTABLE\s0\fR, \fBT61\fR, \fBT61STRING\fR, \fB\s-1TELETEXSTRING\s0\fR, \fBGeneralString\fR, \fB\s-1NUMERICSTRING\s0\fR, \fB\s-1NUMERIC\s0\fR" 4 .IX Item "UNIVERSALSTRING, UNIV, IA5, IA5STRING, UTF8, UTF8String, BMP, BMPSTRING, VISIBLESTRING, VISIBLE, PRINTABLESTRING, PRINTABLE, T61, T61STRING, TELETEXSTRING, GeneralString, NUMERICSTRING, NUMERIC" -These encode the corresponding string types. \fIvalue\fR represents the +These encode the corresponding string types. \fBvalue\fR represents the contents of this structure. The format can be \fB\s-1ASCII\s0\fR or \fB\s-1UTF8\s0\fR. .IP "\fB\s-1SEQUENCE\s0\fR, \fB\s-1SEQ\s0\fR, \fB\s-1SET\s0\fR" 4 .IX Item "SEQUENCE, SEQ, SET" -Formats the result as an \s-1ASN1\s0 \fB\s-1SEQUENCE\s0\fR or \fB\s-1SET\s0\fR type. \fIvalue\fR +Formats the result as an \s-1ASN1\s0 \fB\s-1SEQUENCE\s0\fR or \fB\s-1SET\s0\fR type. \fBvalue\fR should be a section name which will contain the contents. The field names in the section are ignored and the values are in the -generated string format. If \fIvalue\fR is absent then an empty \s-1SEQUENCE\s0 +generated string format. If \fBvalue\fR is absent then an empty \s-1SEQUENCE\s0 will be encoded. .SS "Modifiers" .IX Subsection "Modifiers" @@ -258,7 +258,7 @@ bits are zero. .SH "RETURN VALUES" .IX Header "RETURN VALUES" \&\fIASN1_generate_nconf()\fR and \fIASN1_generate_v3()\fR return the encoded -data as an \fB\s-1ASN1_TYPE\s0\fR structure or \s-1NULL\s0 if an error occurred. +data as an \fB\s-1ASN1_TYPE\s0\fR structure or \fB\s-1NULL\s0\fR if an error occurred. .PP The error codes that can be obtained by \fIERR_get_error\fR\|(3). .SH "EXAMPLES" @@ -364,9 +364,9 @@ structure: \&\fIERR_get_error\fR\|(3) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2002\-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2002\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/ASN1_generate_v3.3 b/linux_amd64/share/man/man3/ASN1_generate_v3.3 new file mode 120000 index 0000000..0eda3cf --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_generate_v3.3 @@ -0,0 +1 @@ +ASN1_generate_nconf.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASN1_tag2str.3 b/linux_amd64/share/man/man3/ASN1_tag2str.3 new file mode 120000 index 0000000..34b46a9 --- /dev/null +++ b/linux_amd64/share/man/man3/ASN1_tag2str.3 @@ -0,0 +1 @@ +ASN1_STRING_print_ex.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASRange_free.3 b/linux_amd64/share/man/man3/ASRange_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/ASRange_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASRange_new.3 b/linux_amd64/share/man/man3/ASRange_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/ASRange_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASYNC_WAIT_CTX_clear_fd.3 b/linux_amd64/share/man/man3/ASYNC_WAIT_CTX_clear_fd.3 new file mode 120000 index 0000000..cb8dfcb --- /dev/null +++ b/linux_amd64/share/man/man3/ASYNC_WAIT_CTX_clear_fd.3 @@ -0,0 +1 @@ +ASYNC_WAIT_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASYNC_WAIT_CTX_free.3 b/linux_amd64/share/man/man3/ASYNC_WAIT_CTX_free.3 new file mode 120000 index 0000000..cb8dfcb --- /dev/null +++ b/linux_amd64/share/man/man3/ASYNC_WAIT_CTX_free.3 @@ -0,0 +1 @@ +ASYNC_WAIT_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASYNC_WAIT_CTX_get_all_fds.3 b/linux_amd64/share/man/man3/ASYNC_WAIT_CTX_get_all_fds.3 new file mode 120000 index 0000000..cb8dfcb --- /dev/null +++ b/linux_amd64/share/man/man3/ASYNC_WAIT_CTX_get_all_fds.3 @@ -0,0 +1 @@ +ASYNC_WAIT_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASYNC_WAIT_CTX_get_changed_fds.3 b/linux_amd64/share/man/man3/ASYNC_WAIT_CTX_get_changed_fds.3 new file mode 120000 index 0000000..cb8dfcb --- /dev/null +++ b/linux_amd64/share/man/man3/ASYNC_WAIT_CTX_get_changed_fds.3 @@ -0,0 +1 @@ +ASYNC_WAIT_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASYNC_WAIT_CTX_get_fd.3 b/linux_amd64/share/man/man3/ASYNC_WAIT_CTX_get_fd.3 new file mode 120000 index 0000000..cb8dfcb --- /dev/null +++ b/linux_amd64/share/man/man3/ASYNC_WAIT_CTX_get_fd.3 @@ -0,0 +1 @@ +ASYNC_WAIT_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASYNC_WAIT_CTX_new.3 b/linux_amd64/share/man/man3/ASYNC_WAIT_CTX_new.3 index f491df7..982f8ed 100755 --- a/linux_amd64/share/man/man3/ASYNC_WAIT_CTX_new.3 +++ b/linux_amd64/share/man/man3/ASYNC_WAIT_CTX_new.3 @@ -124,30 +124,18 @@ .\" ======================================================================== .\" .IX Title "ASYNC_WAIT_CTX_NEW 3" -.TH ASYNC_WAIT_CTX_NEW 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH ASYNC_WAIT_CTX_NEW 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -ASYNC_WAIT_CTX_new, ASYNC_WAIT_CTX_free, ASYNC_WAIT_CTX_set_wait_fd, -ASYNC_WAIT_CTX_get_fd, ASYNC_WAIT_CTX_get_all_fds, -ASYNC_WAIT_CTX_get_changed_fds, ASYNC_WAIT_CTX_clear_fd, -ASYNC_WAIT_CTX_set_callback, ASYNC_WAIT_CTX_get_callback, -ASYNC_WAIT_CTX_set_status, ASYNC_WAIT_CTX_get_status, ASYNC_callback_fn, -ASYNC_STATUS_UNSUPPORTED, ASYNC_STATUS_ERR, ASYNC_STATUS_OK, -ASYNC_STATUS_EAGAIN -\&\- functions to manage waiting for asynchronous jobs to complete +ASYNC_WAIT_CTX_new, ASYNC_WAIT_CTX_free, ASYNC_WAIT_CTX_set_wait_fd, ASYNC_WAIT_CTX_get_fd, ASYNC_WAIT_CTX_get_all_fds, ASYNC_WAIT_CTX_get_changed_fds, ASYNC_WAIT_CTX_clear_fd \- functions to manage waiting for asynchronous jobs to complete .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include \& -\& #define ASYNC_STATUS_UNSUPPORTED 0 -\& #define ASYNC_STATUS_ERR 1 -\& #define ASYNC_STATUS_OK 2 -\& #define ASYNC_STATUS_EAGAIN 3 -\& typedef int (*ASYNC_callback_fn)(void *arg); \& ASYNC_WAIT_CTX *ASYNC_WAIT_CTX_new(void); \& void ASYNC_WAIT_CTX_free(ASYNC_WAIT_CTX *ctx); \& int ASYNC_WAIT_CTX_set_wait_fd(ASYNC_WAIT_CTX *ctx, const void *key, @@ -163,57 +151,49 @@ ASYNC_STATUS_EAGAIN \& size_t *numaddfds, OSSL_ASYNC_FD *delfd, \& size_t *numdelfds); \& int ASYNC_WAIT_CTX_clear_fd(ASYNC_WAIT_CTX *ctx, const void *key); -\& int ASYNC_WAIT_CTX_set_callback(ASYNC_WAIT_CTX *ctx, -\& ASYNC_callback_fn callback, -\& void *callback_arg); -\& int ASYNC_WAIT_CTX_get_callback(ASYNC_WAIT_CTX *ctx, -\& ASYNC_callback_fn *callback, -\& void **callback_arg); -\& int ASYNC_WAIT_CTX_set_status(ASYNC_WAIT_CTX *ctx, int status); -\& int ASYNC_WAIT_CTX_get_status(ASYNC_WAIT_CTX *ctx); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" For an overview of how asynchronous operations are implemented in OpenSSL see -\&\fIASYNC_start_job\fR\|(3). An \fB\s-1ASYNC_WAIT_CTX\s0\fR object represents an asynchronous +\&\fIASYNC_start_job\fR\|(3). An \s-1ASYNC_WAIT_CTX\s0 object represents an asynchronous \&\*(L"session\*(R", i.e. a related set of crypto operations. For example in \s-1SSL\s0 terms this would have a one-to-one correspondence with an \s-1SSL\s0 connection. .PP -Application code must create an \fB\s-1ASYNC_WAIT_CTX\s0\fR using the \fIASYNC_WAIT_CTX_new()\fR +Application code must create an \s-1ASYNC_WAIT_CTX\s0 using the \fIASYNC_WAIT_CTX_new()\fR function prior to calling \fIASYNC_start_job()\fR (see \fIASYNC_start_job\fR\|(3)). When -the job is started it is associated with the \fB\s-1ASYNC_WAIT_CTX\s0\fR for the duration -of that job. An \fB\s-1ASYNC_WAIT_CTX\s0\fR should only be used for one \fB\s-1ASYNC_JOB\s0\fR at -any one time, but can be reused after an \fB\s-1ASYNC_JOB\s0\fR has finished for a -subsequent \fB\s-1ASYNC_JOB\s0\fR. When the session is complete (e.g. the \s-1SSL\s0 connection -is closed), application code cleans up with \fIASYNC_WAIT_CTX_free()\fR. +the job is started it is associated with the \s-1ASYNC_WAIT_CTX\s0 for the duration of +that job. An \s-1ASYNC_WAIT_CTX\s0 should only be used for one \s-1ASYNC_JOB\s0 at any one +time, but can be reused after an \s-1ASYNC_JOB\s0 has finished for a subsequent +\&\s-1ASYNC_JOB\s0. When the session is complete (e.g. the \s-1SSL\s0 connection is closed), +application code cleans up with \fIASYNC_WAIT_CTX_free()\fR. .PP -\&\fB\s-1ASYNC_WAIT_CTX\s0\fRs can have \*(L"wait\*(R" file descriptors associated with them. -Calling \fIASYNC_WAIT_CTX_get_all_fds()\fR and passing in a pointer to an -\&\fB\s-1ASYNC_WAIT_CTX\s0\fR in the \fIctx\fR parameter will return the wait file descriptors -associated with that job in \fI*fd\fR. The number of file descriptors returned will -be stored in \fI*numfds\fR. It is the caller's responsibility to ensure that -sufficient memory has been allocated in \fI*fd\fR to receive all the file -descriptors. Calling \fIASYNC_WAIT_CTX_get_all_fds()\fR with a \s-1NULL\s0 \fIfd\fR value will -return no file descriptors but will still populate \fI*numfds\fR. Therefore -application code is typically expected to call this function twice: once to get -the number of fds, and then again when sufficient memory has been allocated. If -only one asynchronous engine is being used then normally this call will only -ever return one fd. If multiple asynchronous engines are being used then more -could be returned. +ASYNC_WAIT_CTXs can have \*(L"wait\*(R" file descriptors associated with them. Calling +\&\fIASYNC_WAIT_CTX_get_all_fds()\fR and passing in a pointer to an \s-1ASYNC_WAIT_CTX\s0 in +the \fBctx\fR parameter will return the wait file descriptors associated with that +job in \fB*fd\fR. The number of file descriptors returned will be stored in +\&\fB*numfds\fR. It is the caller's responsibility to ensure that sufficient memory +has been allocated in \fB*fd\fR to receive all the file descriptors. Calling +\&\fIASYNC_WAIT_CTX_get_all_fds()\fR with a \s-1NULL\s0 \fBfd\fR value will return no file +descriptors but will still populate \fB*numfds\fR. Therefore application code is +typically expected to call this function twice: once to get the number of fds, +and then again when sufficient memory has been allocated. If only one +asynchronous engine is being used then normally this call will only ever return +one fd. If multiple asynchronous engines are being used then more could be +returned. .PP The function \fIASYNC_WAIT_CTX_get_changed_fds()\fR can be used to detect if any fds -have changed since the last call time \fIASYNC_start_job()\fR returned \fB\s-1ASYNC_PAUSE\s0\fR -(or since the \fB\s-1ASYNC_WAIT_CTX\s0\fR was created if no \fB\s-1ASYNC_PAUSE\s0\fR result has -been received). The \fInumaddfds\fR and \fInumdelfds\fR parameters will be populated -with the number of fds added or deleted respectively. \fI*addfd\fR and \fI*delfd\fR +have changed since the last call time \fIASYNC_start_job()\fR returned an \s-1ASYNC_PAUSE\s0 +result (or since the \s-1ASYNC_WAIT_CTX\s0 was created if no \s-1ASYNC_PAUSE\s0 result has +been received). The \fBnumaddfds\fR and \fBnumdelfds\fR parameters will be populated +with the number of fds added or deleted respectively. \fB*addfd\fR and \fB*delfd\fR will be populated with the list of added and deleted fds respectively. Similarly to \fIASYNC_WAIT_CTX_get_all_fds()\fR either of these can be \s-1NULL\s0, but if they are not \&\s-1NULL\s0 then the caller is responsible for ensuring sufficient memory is allocated. .PP Implementors of async aware code (e.g. engines) are encouraged to return a -stable fd for the lifetime of the \fB\s-1ASYNC_WAIT_CTX\s0\fR in order to reduce the -\&\*(L"churn\*(R" of regularly changing fds \- although no guarantees of this are provided -to applications. +stable fd for the lifetime of the \s-1ASYNC_WAIT_CTX\s0 in order to reduce the \*(L"churn\*(R" +of regularly changing fds \- although no guarantees of this are provided to +applications. .PP Applications can wait for the file descriptor to be ready for \*(L"read\*(R" using a system function call such as select or poll (being ready for \*(L"read\*(R" indicates @@ -221,21 +201,21 @@ that the job should be resumed). If no file descriptor is made available then an application will have to periodically \*(L"poll\*(R" the job by attempting to restart it to see if it is ready to continue. .PP -Async aware code (e.g. engines) can get the current \fB\s-1ASYNC_WAIT_CTX\s0\fR from the -job via \fIASYNC_get_wait_ctx\fR\|(3) and provide a file descriptor to use for -waiting on by calling \fIASYNC_WAIT_CTX_set_wait_fd()\fR. Typically this would be done -by an engine immediately prior to calling \fIASYNC_pause_job()\fR and not by end user -code. An existing association with a file descriptor can be obtained using +Async aware code (e.g. engines) can get the current \s-1ASYNC_WAIT_CTX\s0 from the job +via \fIASYNC_get_wait_ctx\fR\|(3) and provide a file descriptor to use for waiting +on by calling \fIASYNC_WAIT_CTX_set_wait_fd()\fR. Typically this would be done by an +engine immediately prior to calling \fIASYNC_pause_job()\fR and not by end user code. +An existing association with a file descriptor can be obtained using \&\fIASYNC_WAIT_CTX_get_fd()\fR and cleared using \fIASYNC_WAIT_CTX_clear_fd()\fR. Both of -these functions requires a \fIkey\fR value which is unique to the async aware +these functions requires a \fBkey\fR value which is unique to the async aware code. This could be any unique value but a good candidate might be the -\&\fB\s-1ENGINE\s0 *\fR for the engine. The \fIcustom_data\fR parameter can be any value, and +\&\fB\s-1ENGINE\s0 *\fR for the engine. The \fBcustom_data\fR parameter can be any value, and will be returned in a subsequent call to \fIASYNC_WAIT_CTX_get_fd()\fR. The \&\fIASYNC_WAIT_CTX_set_wait_fd()\fR function also expects a pointer to a \*(L"cleanup\*(R" routine. This can be \s-1NULL\s0 but if provided will automatically get called when -the \fB\s-1ASYNC_WAIT_CTX\s0\fR is freed, and gives the engine the opportunity to close -the fd or any other resources. Note: The \*(L"cleanup\*(R" routine does not get called -if the fd is cleared directly via a call to \fIASYNC_WAIT_CTX_clear_fd()\fR. +the \s-1ASYNC_WAIT_CTX\s0 is freed, and gives the engine the opportunity to close the +fd or any other resources. Note: The \*(L"cleanup\*(R" routine does not get called if +the fd is cleared directly via a call to \fIASYNC_WAIT_CTX_clear_fd()\fR. .PP An example of typical usage might be an async capable engine. User code would initiate cryptographic operations. The engine would initiate those operations @@ -246,66 +226,14 @@ similar function on the wait file descriptor. The engine can signal to the user code that the job should be resumed by making the wait file descriptor \&\*(L"readable\*(R". Once resumed the engine should clear the wake signal on the wait file descriptor. -.PP -As well as a file descriptor, user code may also be notified via a callback. The -callback and data pointers are stored within the \fB\s-1ASYNC_WAIT_CTX\s0\fR along with an -additional status field that can be used for the notification of retries from an -engine. This additional method can be used when the user thinks that a file -descriptor is too costly in terms of \s-1CPU\s0 cycles or in some context where a file -descriptor is not appropriate. -.PP -\&\fIASYNC_WAIT_CTX_set_callback()\fR sets the callback and the callback argument. The -callback will be called to notify user code when an engine completes a -cryptography operation. It is a requirement that the callback function is small -and non-blocking as it will be run in the context of a polling mechanism or an -interrupt. -.PP -\&\fIASYNC_WAIT_CTX_get_callback()\fR returns the callback set in the \fB\s-1ASYNC_WAIT_CTX\s0\fR -structure. -.PP -\&\fIASYNC_WAIT_CTX_set_status()\fR allows an engine to set the current engine status. -The possible status values are the following: -.IP "\fB\s-1ASYNC_STATUS_UNSUPPORTED\s0\fR" 4 -.IX Item "ASYNC_STATUS_UNSUPPORTED" -The engine does not support the callback mechanism. This is the default value. -The engine must call \fIASYNC_WAIT_CTX_set_status()\fR to set the status to some value -other than \fB\s-1ASYNC_STATUS_UNSUPPORTED\s0\fR if it intends to enable the callback -mechanism. -.IP "\fB\s-1ASYNC_STATUS_ERR\s0\fR" 4 -.IX Item "ASYNC_STATUS_ERR" -The engine has a fatal problem with this request. The user code should clean up -this session. -.IP "\fB\s-1ASYNC_STATUS_OK\s0\fR" 4 -.IX Item "ASYNC_STATUS_OK" -The request has been successfully submitted. -.IP "\fB\s-1ASYNC_STATUS_EAGAIN\s0\fR" 4 -.IX Item "ASYNC_STATUS_EAGAIN" -The engine has some problem which will be recovered soon, such as a buffer is -full, so user code should resume the job. -.PP -\&\fIASYNC_WAIT_CTX_get_status()\fR allows user code to obtain the current status value. -If the status is any value other than \fB\s-1ASYNC_STATUS_OK\s0\fR then the user code -should not expect to receive a callback from the engine even if one has been -set. -.PP -An example of the usage of the callback method might be the following. User -code would initiate cryptographic operations, and the engine code would dispatch -this operation to hardware, and if the dispatch is successful, then the engine -code would call \fIASYNC_pause_job()\fR to return control to the user code. After -that, user code can perform other tasks. When the hardware completes the -operation, normally it is detected by a polling function or an interrupt, as the -user code set a callback by calling \fIASYNC_WAIT_CTX_set_callback()\fR previously, -then the registered callback will be called. .SH "RETURN VALUES" .IX Header "RETURN VALUES" -\&\fIASYNC_WAIT_CTX_new()\fR returns a pointer to the newly allocated \fB\s-1ASYNC_WAIT_CTX\s0\fR -or \s-1NULL\s0 on error. +\&\fIASYNC_WAIT_CTX_new()\fR returns a pointer to the newly allocated \s-1ASYNC_WAIT_CTX\s0 or +\&\s-1NULL\s0 on error. .PP ASYNC_WAIT_CTX_set_wait_fd, ASYNC_WAIT_CTX_get_fd, ASYNC_WAIT_CTX_get_all_fds, -ASYNC_WAIT_CTX_get_changed_fds, ASYNC_WAIT_CTX_clear_fd, -ASYNC_WAIT_CTX_set_callback, ASYNC_WAIT_CTX_get_callback and -ASYNC_WAIT_CTX_set_status all return 1 on success or 0 on error. -\&\fIASYNC_WAIT_CTX_get_status()\fR returns the engine status. +ASYNC_WAIT_CTX_get_changed_fds and ASYNC_WAIT_CTX_clear_fd all return 1 on +success or 0 on error. .SH "NOTES" .IX Header "NOTES" On Windows platforms the openssl/async.h header is dependent on some @@ -323,15 +251,11 @@ windows.h prior to async.h. \&\fIASYNC_WAIT_CTX_get_fd()\fR, \fIASYNC_WAIT_CTX_get_all_fds()\fR, \&\fIASYNC_WAIT_CTX_get_changed_fds()\fR and \fIASYNC_WAIT_CTX_clear_fd()\fR were added in OpenSSL 1.1.0. -.PP -\&\fIASYNC_WAIT_CTX_set_callback()\fR, \fIASYNC_WAIT_CTX_get_callback()\fR, -\&\fIASYNC_WAIT_CTX_set_status()\fR, and \fIASYNC_WAIT_CTX_get_status()\fR -were added in OpenSSL 3.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/ASYNC_WAIT_CTX_set_wait_fd.3 b/linux_amd64/share/man/man3/ASYNC_WAIT_CTX_set_wait_fd.3 new file mode 120000 index 0000000..cb8dfcb --- /dev/null +++ b/linux_amd64/share/man/man3/ASYNC_WAIT_CTX_set_wait_fd.3 @@ -0,0 +1 @@ +ASYNC_WAIT_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASYNC_block_pause.3 b/linux_amd64/share/man/man3/ASYNC_block_pause.3 new file mode 120000 index 0000000..e52deb6 --- /dev/null +++ b/linux_amd64/share/man/man3/ASYNC_block_pause.3 @@ -0,0 +1 @@ +ASYNC_start_job.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASYNC_cleanup_thread.3 b/linux_amd64/share/man/man3/ASYNC_cleanup_thread.3 new file mode 120000 index 0000000..e52deb6 --- /dev/null +++ b/linux_amd64/share/man/man3/ASYNC_cleanup_thread.3 @@ -0,0 +1 @@ +ASYNC_start_job.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASYNC_get_current_job.3 b/linux_amd64/share/man/man3/ASYNC_get_current_job.3 new file mode 120000 index 0000000..e52deb6 --- /dev/null +++ b/linux_amd64/share/man/man3/ASYNC_get_current_job.3 @@ -0,0 +1 @@ +ASYNC_start_job.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASYNC_get_wait_ctx.3 b/linux_amd64/share/man/man3/ASYNC_get_wait_ctx.3 new file mode 120000 index 0000000..e52deb6 --- /dev/null +++ b/linux_amd64/share/man/man3/ASYNC_get_wait_ctx.3 @@ -0,0 +1 @@ +ASYNC_start_job.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASYNC_init_thread.3 b/linux_amd64/share/man/man3/ASYNC_init_thread.3 new file mode 120000 index 0000000..e52deb6 --- /dev/null +++ b/linux_amd64/share/man/man3/ASYNC_init_thread.3 @@ -0,0 +1 @@ +ASYNC_start_job.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASYNC_is_capable.3 b/linux_amd64/share/man/man3/ASYNC_is_capable.3 new file mode 120000 index 0000000..e52deb6 --- /dev/null +++ b/linux_amd64/share/man/man3/ASYNC_is_capable.3 @@ -0,0 +1 @@ +ASYNC_start_job.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASYNC_pause_job.3 b/linux_amd64/share/man/man3/ASYNC_pause_job.3 new file mode 120000 index 0000000..e52deb6 --- /dev/null +++ b/linux_amd64/share/man/man3/ASYNC_pause_job.3 @@ -0,0 +1 @@ +ASYNC_start_job.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ASYNC_start_job.3 b/linux_amd64/share/man/man3/ASYNC_start_job.3 index 6e9ee25..d18d10d 100755 --- a/linux_amd64/share/man/man3/ASYNC_start_job.3 +++ b/linux_amd64/share/man/man3/ASYNC_start_job.3 @@ -124,16 +124,13 @@ .\" ======================================================================== .\" .IX Title "ASYNC_START_JOB 3" -.TH ASYNC_START_JOB 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH ASYNC_START_JOB 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -ASYNC_get_wait_ctx, -ASYNC_init_thread, ASYNC_cleanup_thread, ASYNC_start_job, ASYNC_pause_job, -ASYNC_get_current_job, ASYNC_block_pause, ASYNC_unblock_pause, ASYNC_is_capable -\&\- asynchronous job management functions +ASYNC_get_wait_ctx, ASYNC_init_thread, ASYNC_cleanup_thread, ASYNC_start_job, ASYNC_pause_job, ASYNC_get_current_job, ASYNC_block_pause, ASYNC_unblock_pause, ASYNC_is_capable \&\- asynchronous job management functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -155,40 +152,40 @@ ASYNC_get_current_job, ASYNC_block_pause, ASYNC_unblock_pause, ASYNC_is_capable .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -OpenSSL implements asynchronous capabilities through an \fB\s-1ASYNC_JOB\s0\fR. This +OpenSSL implements asynchronous capabilities through an \s-1ASYNC_JOB\s0. This represents code that can be started and executes until some event occurs. At that point the code can be paused and control returns to user code until some subsequent event indicates that the job can be resumed. .PP -The creation of an \fB\s-1ASYNC_JOB\s0\fR is a relatively expensive operation. Therefore, -for efficiency reasons, jobs can be created up front and reused many times. They -are held in a pool until they are needed, at which point they are removed from -the pool, used, and then returned to the pool when the job completes. If the -user application is multi-threaded, then \fIASYNC_init_thread()\fR may be called for -each thread that will initiate asynchronous jobs. Before +The creation of an \s-1ASYNC_JOB\s0 is a relatively expensive operation. Therefore, for +efficiency reasons, jobs can be created up front and reused many times. They are +held in a pool until they are needed, at which point they are removed from the +pool, used, and then returned to the pool when the job completes. If the user +application is multi-threaded, then \fIASYNC_init_thread()\fR may be called for each +thread that will initiate asynchronous jobs. Before user code exits per-thread resources need to be cleaned up. This will normally occur automatically (see \fIOPENSSL_init_crypto\fR\|(3)) but may be explicitly initiated by using \fIASYNC_cleanup_thread()\fR. No asynchronous jobs must be outstanding for the thread when \fIASYNC_cleanup_thread()\fR is called. Failing to ensure this will result in memory leaks. .PP -The \fImax_size\fR argument limits the number of \fB\s-1ASYNC_JOB\s0\fRs that will be held in -the pool. If \fImax_size\fR is set to 0 then no upper limit is set. When an -\&\fB\s-1ASYNC_JOB\s0\fR is needed but there are none available in the pool already then one -will be automatically created, as long as the total of \fB\s-1ASYNC_JOB\s0\fRs managed by -the pool does not exceed \fImax_size\fR. When the pool is first initialised -\&\fIinit_size\fR \fB\s-1ASYNC_JOB\s0\fRs will be created immediately. If \fIASYNC_init_thread()\fR -is not called before the pool is first used then it will be called automatically -with a \fImax_size\fR of 0 (no upper limit) and an \fIinit_size\fR of 0 (no -\&\fB\s-1ASYNC_JOB\s0\fRs created up front). +The \fBmax_size\fR argument limits the number of ASYNC_JOBs that will be held in +the pool. If \fBmax_size\fR is set to 0 then no upper limit is set. When an +\&\s-1ASYNC_JOB\s0 is needed but there are none available in the pool already then one +will be automatically created, as long as the total of ASYNC_JOBs managed by the +pool does not exceed \fBmax_size\fR. When the pool is first initialised +\&\fBinit_size\fR ASYNC_JOBs will be created immediately. If \fIASYNC_init_thread()\fR is +not called before the pool is first used then it will be called automatically +with a \fBmax_size\fR of 0 (no upper limit) and an \fBinit_size\fR of 0 (no ASYNC_JOBs +created up front). .PP An asynchronous job is started by calling the \fIASYNC_start_job()\fR function. -Initially \fI*job\fR should be \s-1NULL\s0. \fIctx\fR should point to an \fB\s-1ASYNC_WAIT_CTX\s0\fR -object created through the \fIASYNC_WAIT_CTX_new\fR\|(3) function. \fIret\fR should +Initially \fB*job\fR should be \s-1NULL\s0. \fBctx\fR should point to an \s-1ASYNC_WAIT_CTX\s0 +object created through the \fIASYNC_WAIT_CTX_new\fR\|(3) function. \fBret\fR should point to a location where the return value of the asynchronous function should -be stored on completion of the job. \fIfunc\fR represents the function that should -be started asynchronously. The data pointed to by \fIargs\fR and of size \fIsize\fR -will be copied and then passed as an argument to \fIfunc\fR when the job starts. +be stored on completion of the job. \fBfunc\fR represents the function that should +be started asynchronously. The data pointed to by \fBargs\fR and of size \fBsize\fR +will be copied and then passed as an argument to \fBfunc\fR when the job starts. ASYNC_start_job will return one of the following values: .IP "\fB\s-1ASYNC_ERR\s0\fR" 4 .IX Item "ASYNC_ERR" @@ -201,52 +198,48 @@ again at a later time. .IP "\fB\s-1ASYNC_PAUSE\s0\fR" 4 .IX Item "ASYNC_PAUSE" The job was successfully started but was \*(L"paused\*(R" before it completed (see -\&\fIASYNC_pause_job()\fR below). A handle to the job is placed in \fI*job\fR. Other work +\&\fIASYNC_pause_job()\fR below). A handle to the job is placed in \fB*job\fR. Other work can be performed (if desired) and the job restarted at a later time. To restart -a job call \fIASYNC_start_job()\fR again passing the job handle in \fI*job\fR. The -\&\fIfunc\fR, \fIargs\fR and \fIsize\fR parameters will be ignored when restarting a job. +a job call \fIASYNC_start_job()\fR again passing the job handle in \fB*job\fR. The +\&\fBfunc\fR, \fBargs\fR and \fBsize\fR parameters will be ignored when restarting a job. When restarting a job \fIASYNC_start_job()\fR \fBmust\fR be called from the same thread that the job was originally started from. .IP "\fB\s-1ASYNC_FINISH\s0\fR" 4 .IX Item "ASYNC_FINISH" -The job completed. \fI*job\fR will be \s-1NULL\s0 and the return value from \fIfunc\fR will -be placed in \fI*ret\fR. +The job completed. \fB*job\fR will be \s-1NULL\s0 and the return value from \fBfunc\fR will +be placed in \fB*ret\fR. .PP At any one time there can be a maximum of one job actively running per thread (you can have many that are paused). \fIASYNC_get_current_job()\fR can be used to get -a pointer to the currently executing \fB\s-1ASYNC_JOB\s0\fR. If no job is currently -executing then this will return \s-1NULL\s0. +a pointer to the currently executing \s-1ASYNC_JOB\s0. If no job is currently executing +then this will return \s-1NULL\s0. .PP If executing within the context of a job (i.e. having been called directly or indirectly by the function \*(L"func\*(R" passed as an argument to \fIASYNC_start_job()\fR) then \fIASYNC_pause_job()\fR will immediately return control to the calling -application with \fB\s-1ASYNC_PAUSE\s0\fR returned from the \fIASYNC_start_job()\fR call. A -subsequent call to ASYNC_start_job passing in the relevant \fB\s-1ASYNC_JOB\s0\fR in the -\&\fI*job\fR parameter will resume execution from the \fIASYNC_pause_job()\fR call. If +application with \s-1ASYNC_PAUSE\s0 returned from the \fIASYNC_start_job()\fR call. A +subsequent call to ASYNC_start_job passing in the relevant \s-1ASYNC_JOB\s0 in the +\&\fB*job\fR parameter will resume execution from the \fIASYNC_pause_job()\fR call. If \&\fIASYNC_pause_job()\fR is called whilst not within the context of a job then no action is taken and \fIASYNC_pause_job()\fR returns immediately. .PP -\&\fIASYNC_get_wait_ctx()\fR can be used to get a pointer to the \fB\s-1ASYNC_WAIT_CTX\s0\fR -for the \fIjob\fR. \fB\s-1ASYNC_WAIT_CTX\s0\fRs contain two different ways to notify -applications that a job is ready to be resumed. One is a \*(L"wait\*(R" file -descriptor, and the other is a \*(L"callback\*(R" mechanism. +\&\fIASYNC_get_wait_ctx()\fR can be used to get a pointer to the \s-1ASYNC_WAIT_CTX\s0 +for the \fBjob\fR. ASYNC_WAIT_CTXs can have a \*(L"wait\*(R" file descriptor associated +with them. Applications can wait for the file descriptor to be ready for \*(L"read\*(R" +using a system function call such as select or poll (being ready for \*(L"read\*(R" +indicates that the job should be resumed). If no file descriptor is made +available then an application will have to periodically \*(L"poll\*(R" the job by +attempting to restart it to see if it is ready to continue. .PP -The \*(L"wait\*(R" file descriptor associated with \fB\s-1ASYNC_WAIT_CTX\s0\fR is used for -applications to wait for the file descriptor to be ready for \*(L"read\*(R" using a -system function call such as select or poll (being ready for \*(L"read\*(R" indicates -that the job should be resumed). If no file descriptor is made available then -an application will have to periodically \*(L"poll\*(R" the job by attempting to restart -it to see if it is ready to continue. -.PP -\&\fB\s-1ASYNC_WAIT_CTX\s0\fRs also have a \*(L"callback\*(R" mechanism to notify applications. The -callback is set by an application, and it will be automatically called when an -engine completes a cryptography operation, so that the application can resume -the paused work flow without polling. An engine could be written to look whether -the callback has been set. If it has then it would use the callback mechanism -in preference to the file descriptor notifications. If a callback is not set -then the engine may use file descriptor based notifications. Please note that -not all engines may support the callback mechanism, so the callback may not be -used even if it has been set. See \fIASYNC_WAIT_CTX_new()\fR for more details. +An example of typical usage might be an async capable engine. User code would +initiate cryptographic operations. The engine would initiate those operations +asynchronously and then call \fIASYNC_WAIT_CTX_set_wait_fd\fR\|(3) followed by +\&\fIASYNC_pause_job()\fR to return control to the user code. The user code can then +perform other tasks or wait for the job to be ready by calling \*(L"select\*(R" or other +similar function on the wait file descriptor. The engine can signal to the user +code that the job should be resumed by making the wait file descriptor +\&\*(L"readable\*(R". Once resumed the engine should clear the wake signal on the wait +file descriptor. .PP The \fIASYNC_block_pause()\fR function will prevent the currently active job from pausing. The block will remain in place until a subsequent call to @@ -254,10 +247,10 @@ pausing. The block will remain in place until a subsequent call to \&\fIASYNC_block_pause()\fR twice then you must call \fIASYNC_unblock_pause()\fR twice in order to re-enable pausing. If these functions are called while there is no currently active job then they have no effect. This functionality can be useful -to avoid deadlock scenarios. For example during the execution of an \fB\s-1ASYNC_JOB\s0\fR -an application acquires a lock. It then calls some cryptographic function which +to avoid deadlock scenarios. For example during the execution of an \s-1ASYNC_JOB\s0 an +application acquires a lock. It then calls some cryptographic function which invokes \fIASYNC_pause_job()\fR. This returns control back to the code that created -the \fB\s-1ASYNC_JOB\s0\fR. If that code then attempts to acquire the same lock before +the \s-1ASYNC_JOB\s0. If that code then attempts to acquire the same lock before resuming the original job then a deadlock can occur. By calling \&\fIASYNC_block_pause()\fR immediately after acquiring the lock and \&\fIASYNC_unblock_pause()\fR immediately before releasing it then this situation cannot @@ -269,17 +262,17 @@ can be used to detect whether the current platform is async capable or not. .IX Header "RETURN VALUES" ASYNC_init_thread returns 1 on success or 0 otherwise. .PP -ASYNC_start_job returns one of \fB\s-1ASYNC_ERR\s0\fR, \fB\s-1ASYNC_NO_JOBS\s0\fR, \fB\s-1ASYNC_PAUSE\s0\fR or -\&\fB\s-1ASYNC_FINISH\s0\fR as described above. +ASYNC_start_job returns one of \s-1ASYNC_ERR\s0, \s-1ASYNC_NO_JOBS\s0, \s-1ASYNC_PAUSE\s0 or +\&\s-1ASYNC_FINISH\s0 as described above. .PP ASYNC_pause_job returns 0 if an error occurred or 1 on success. If called when -not within the context of an \fB\s-1ASYNC_JOB\s0\fR then this is counted as success so 1 -is returned. +not within the context of an \s-1ASYNC_JOB\s0 then this is counted as success so 1 is +returned. .PP -ASYNC_get_current_job returns a pointer to the currently executing \fB\s-1ASYNC_JOB\s0\fR -or \s-1NULL\s0 if not within the context of a job. +ASYNC_get_current_job returns a pointer to the currently executing \s-1ASYNC_JOB\s0 or +\&\s-1NULL\s0 if not within the context of a job. .PP -\&\fIASYNC_get_wait_ctx()\fR returns a pointer to the \fB\s-1ASYNC_WAIT_CTX\s0\fR for the job. +\&\fIASYNC_get_wait_ctx()\fR returns a pointer to the \s-1ASYNC_WAIT_CTX\s0 for the job. .PP \&\fIASYNC_is_capable()\fR returns 1 if the current platform is async capable or 0 otherwise. @@ -443,9 +436,9 @@ ASYNC_start_job, ASYNC_pause_job, ASYNC_get_current_job, \fIASYNC_get_wait_ctx() added in OpenSSL 1.1.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2015\-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2015\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/ASYNC_unblock_pause.3 b/linux_amd64/share/man/man3/ASYNC_unblock_pause.3 new file mode 120000 index 0000000..e52deb6 --- /dev/null +++ b/linux_amd64/share/man/man3/ASYNC_unblock_pause.3 @@ -0,0 +1 @@ +ASYNC_start_job.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/AUTHORITY_INFO_ACCESS_free.3 b/linux_amd64/share/man/man3/AUTHORITY_INFO_ACCESS_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/AUTHORITY_INFO_ACCESS_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/AUTHORITY_INFO_ACCESS_new.3 b/linux_amd64/share/man/man3/AUTHORITY_INFO_ACCESS_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/AUTHORITY_INFO_ACCESS_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/AUTHORITY_KEYID_free.3 b/linux_amd64/share/man/man3/AUTHORITY_KEYID_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/AUTHORITY_KEYID_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/AUTHORITY_KEYID_new.3 b/linux_amd64/share/man/man3/AUTHORITY_KEYID_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/AUTHORITY_KEYID_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BASIC_CONSTRAINTS_free.3 b/linux_amd64/share/man/man3/BASIC_CONSTRAINTS_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/BASIC_CONSTRAINTS_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BASIC_CONSTRAINTS_new.3 b/linux_amd64/share/man/man3/BASIC_CONSTRAINTS_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/BASIC_CONSTRAINTS_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BF_cbc_encrypt.3 b/linux_amd64/share/man/man3/BF_cbc_encrypt.3 new file mode 120000 index 0000000..30aec55 --- /dev/null +++ b/linux_amd64/share/man/man3/BF_cbc_encrypt.3 @@ -0,0 +1 @@ +BF_encrypt.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BF_cfb64_encrypt.3 b/linux_amd64/share/man/man3/BF_cfb64_encrypt.3 new file mode 120000 index 0000000..30aec55 --- /dev/null +++ b/linux_amd64/share/man/man3/BF_cfb64_encrypt.3 @@ -0,0 +1 @@ +BF_encrypt.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BF_decrypt.3 b/linux_amd64/share/man/man3/BF_decrypt.3 new file mode 120000 index 0000000..30aec55 --- /dev/null +++ b/linux_amd64/share/man/man3/BF_decrypt.3 @@ -0,0 +1 @@ +BF_encrypt.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BF_ecb_encrypt.3 b/linux_amd64/share/man/man3/BF_ecb_encrypt.3 new file mode 120000 index 0000000..30aec55 --- /dev/null +++ b/linux_amd64/share/man/man3/BF_ecb_encrypt.3 @@ -0,0 +1 @@ +BF_encrypt.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BF_encrypt.3 b/linux_amd64/share/man/man3/BF_encrypt.3 index 3821967..ee6a522 100755 --- a/linux_amd64/share/man/man3/BF_encrypt.3 +++ b/linux_amd64/share/man/man3/BF_encrypt.3 @@ -124,25 +124,18 @@ .\" ======================================================================== .\" .IX Title "BF_ENCRYPT 3" -.TH BF_ENCRYPT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BF_ENCRYPT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -BF_set_key, BF_encrypt, BF_decrypt, BF_ecb_encrypt, BF_cbc_encrypt, -BF_cfb64_encrypt, BF_ofb64_encrypt, BF_options \- Blowfish encryption +BF_set_key, BF_encrypt, BF_decrypt, BF_ecb_encrypt, BF_cbc_encrypt, BF_cfb64_encrypt, BF_ofb64_encrypt, BF_options \- Blowfish encryption .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include -.Ve -.PP -Deprecated since OpenSSL 3.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): -.PP -.Vb 1 +\& \& void BF_set_key(BF_KEY *key, int len, const unsigned char *data); \& \& void BF_ecb_encrypt(const unsigned char *in, unsigned char *out, @@ -163,10 +156,6 @@ Deprecated since OpenSSL 3.0, can be hidden entirely by defining .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -All of the functions described on this page are deprecated. Applications should -instead use \fIEVP_EncryptInit_ex\fR\|(3), \fIEVP_EncryptUpdate\fR\|(3) and -\&\fIEVP_EncryptFinal_ex\fR\|(3) or the equivalently named decrypt functions. -.PP This library implements the Blowfish cipher, which was invented and described by Counterpane (see http://www.counterpane.com/blowfish.html ). .PP @@ -241,14 +230,11 @@ functions directly. .IX Header "SEE ALSO" \&\fIEVP_EncryptInit\fR\|(3), \&\fIdes_modes\fR\|(7) -.SH "HISTORY" -.IX Header "HISTORY" -All of these functions were deprecated in OpenSSL 3.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BF_ofb64_encrypt.3 b/linux_amd64/share/man/man3/BF_ofb64_encrypt.3 new file mode 120000 index 0000000..30aec55 --- /dev/null +++ b/linux_amd64/share/man/man3/BF_ofb64_encrypt.3 @@ -0,0 +1 @@ +BF_encrypt.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BF_options.3 b/linux_amd64/share/man/man3/BF_options.3 new file mode 120000 index 0000000..30aec55 --- /dev/null +++ b/linux_amd64/share/man/man3/BF_options.3 @@ -0,0 +1 @@ +BF_encrypt.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BF_set_key.3 b/linux_amd64/share/man/man3/BF_set_key.3 new file mode 120000 index 0000000..30aec55 --- /dev/null +++ b/linux_amd64/share/man/man3/BF_set_key.3 @@ -0,0 +1 @@ +BF_encrypt.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_ADDR.3 b/linux_amd64/share/man/man3/BIO_ADDR.3 index 393294c..61acf8d 100755 --- a/linux_amd64/share/man/man3/BIO_ADDR.3 +++ b/linux_amd64/share/man/man3/BIO_ADDR.3 @@ -124,16 +124,13 @@ .\" ======================================================================== .\" .IX Title "BIO_ADDR 3" -.TH BIO_ADDR 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BIO_ADDR 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -BIO_ADDR, BIO_ADDR_new, BIO_ADDR_clear, BIO_ADDR_free, BIO_ADDR_rawmake, -BIO_ADDR_family, BIO_ADDR_rawaddress, BIO_ADDR_rawport, -BIO_ADDR_hostname_string, BIO_ADDR_service_string, -BIO_ADDR_path_string \- BIO_ADDR routines +BIO_ADDR, BIO_ADDR_new, BIO_ADDR_clear, BIO_ADDR_free, BIO_ADDR_rawmake, BIO_ADDR_family, BIO_ADDR_rawaddress, BIO_ADDR_rawport, BIO_ADDR_hostname_string, BIO_ADDR_service_string, BIO_ADDR_path_string \- BIO_ADDR routines .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 2 @@ -178,7 +175,7 @@ therefore ignored) and populates the given \fB\s-1BIO_ADDR\s0\fR with them. In case this creates a \fB\s-1AF_UNIX\s0\fR \fB\s-1BIO_ADDR\s0\fR, \fBwherelen\fR is expected to be the length of the path string (not including the terminating \&\s-1NUL\s0, such as the result of a call to \fIstrlen()\fR). -Read on about the addresses in \*(L"\s-1RAW\s0 \s-1ADDRESSES\s0\*(R" below. +\&\fIRead on about the addresses in \*(L"\s-1RAW\s0 \s-1ADDRESSES\s0\*(R" below\fR. .PP \&\fIBIO_ADDR_family()\fR returns the protocol family of the given \&\fB\s-1BIO_ADDR\s0\fR. The possible non-error results are one of the @@ -195,7 +192,7 @@ order, most significant byte first. In case this is a \fB\s-1AF_UNIX\s0\fR \fB\s-1BIO_ADDR\s0\fR, \fBl\fR gets the length of the path string (not including the terminating \s-1NUL\s0, such as the result of a call to \fIstrlen()\fR). -Read on about the addresses in \*(L"\s-1RAW\s0 \s-1ADDRESSES\s0\*(R" below. +\&\fIRead on about the addresses in \*(L"\s-1RAW\s0 \s-1ADDRESSES\s0\*(R" below\fR. .PP \&\fIBIO_ADDR_rawport()\fR returns the raw port of the given \fB\s-1BIO_ADDR\s0\fR. The raw port will be in network byte order. @@ -241,7 +238,7 @@ information they should return isn't available. .IX Header "COPYRIGHT" Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BIO_ADDRINFO.3 b/linux_amd64/share/man/man3/BIO_ADDRINFO.3 index 6b561b4..4152a3b 100755 --- a/linux_amd64/share/man/man3/BIO_ADDRINFO.3 +++ b/linux_amd64/share/man/man3/BIO_ADDRINFO.3 @@ -124,19 +124,13 @@ .\" ======================================================================== .\" .IX Title "BIO_ADDRINFO 3" -.TH BIO_ADDRINFO 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BIO_ADDRINFO 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -BIO_lookup_type, -BIO_ADDRINFO, BIO_ADDRINFO_next, BIO_ADDRINFO_free, -BIO_ADDRINFO_family, BIO_ADDRINFO_socktype, BIO_ADDRINFO_protocol, -BIO_ADDRINFO_address, -BIO_lookup_ex, -BIO_lookup -\&\- BIO_ADDRINFO type and routines +BIO_lookup_type, BIO_ADDRINFO, BIO_ADDRINFO_next, BIO_ADDRINFO_free, BIO_ADDRINFO_family, BIO_ADDRINFO_socktype, BIO_ADDRINFO_protocol, BIO_ADDRINFO_address, BIO_lookup_ex, BIO_lookup \&\- BIO_ADDRINFO type and routines .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 2 @@ -230,7 +224,7 @@ The \fIBIO_lookup_ex()\fR function was added in OpenSSL 1.1.1. .IX Header "COPYRIGHT" Copyright 2016\-2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BIO_ADDRINFO_address.3 b/linux_amd64/share/man/man3/BIO_ADDRINFO_address.3 new file mode 120000 index 0000000..2d8ef3b --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_ADDRINFO_address.3 @@ -0,0 +1 @@ +BIO_ADDRINFO.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_ADDRINFO_family.3 b/linux_amd64/share/man/man3/BIO_ADDRINFO_family.3 new file mode 120000 index 0000000..2d8ef3b --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_ADDRINFO_family.3 @@ -0,0 +1 @@ +BIO_ADDRINFO.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_ADDRINFO_free.3 b/linux_amd64/share/man/man3/BIO_ADDRINFO_free.3 new file mode 120000 index 0000000..2d8ef3b --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_ADDRINFO_free.3 @@ -0,0 +1 @@ +BIO_ADDRINFO.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_ADDRINFO_next.3 b/linux_amd64/share/man/man3/BIO_ADDRINFO_next.3 new file mode 120000 index 0000000..2d8ef3b --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_ADDRINFO_next.3 @@ -0,0 +1 @@ +BIO_ADDRINFO.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_ADDRINFO_protocol.3 b/linux_amd64/share/man/man3/BIO_ADDRINFO_protocol.3 new file mode 120000 index 0000000..2d8ef3b --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_ADDRINFO_protocol.3 @@ -0,0 +1 @@ +BIO_ADDRINFO.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_ADDRINFO_socktype.3 b/linux_amd64/share/man/man3/BIO_ADDRINFO_socktype.3 new file mode 120000 index 0000000..2d8ef3b --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_ADDRINFO_socktype.3 @@ -0,0 +1 @@ +BIO_ADDRINFO.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_ADDR_clear.3 b/linux_amd64/share/man/man3/BIO_ADDR_clear.3 new file mode 120000 index 0000000..9fddf1f --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_ADDR_clear.3 @@ -0,0 +1 @@ +BIO_ADDR.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_ADDR_family.3 b/linux_amd64/share/man/man3/BIO_ADDR_family.3 new file mode 120000 index 0000000..9fddf1f --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_ADDR_family.3 @@ -0,0 +1 @@ +BIO_ADDR.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_ADDR_free.3 b/linux_amd64/share/man/man3/BIO_ADDR_free.3 new file mode 120000 index 0000000..9fddf1f --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_ADDR_free.3 @@ -0,0 +1 @@ +BIO_ADDR.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_ADDR_hostname_string.3 b/linux_amd64/share/man/man3/BIO_ADDR_hostname_string.3 new file mode 120000 index 0000000..9fddf1f --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_ADDR_hostname_string.3 @@ -0,0 +1 @@ +BIO_ADDR.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_ADDR_new.3 b/linux_amd64/share/man/man3/BIO_ADDR_new.3 new file mode 120000 index 0000000..9fddf1f --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_ADDR_new.3 @@ -0,0 +1 @@ +BIO_ADDR.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_ADDR_path_string.3 b/linux_amd64/share/man/man3/BIO_ADDR_path_string.3 new file mode 120000 index 0000000..9fddf1f --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_ADDR_path_string.3 @@ -0,0 +1 @@ +BIO_ADDR.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_ADDR_rawaddress.3 b/linux_amd64/share/man/man3/BIO_ADDR_rawaddress.3 new file mode 120000 index 0000000..9fddf1f --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_ADDR_rawaddress.3 @@ -0,0 +1 @@ +BIO_ADDR.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_ADDR_rawmake.3 b/linux_amd64/share/man/man3/BIO_ADDR_rawmake.3 new file mode 120000 index 0000000..9fddf1f --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_ADDR_rawmake.3 @@ -0,0 +1 @@ +BIO_ADDR.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_ADDR_rawport.3 b/linux_amd64/share/man/man3/BIO_ADDR_rawport.3 new file mode 120000 index 0000000..9fddf1f --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_ADDR_rawport.3 @@ -0,0 +1 @@ +BIO_ADDR.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_ADDR_service_string.3 b/linux_amd64/share/man/man3/BIO_ADDR_service_string.3 new file mode 120000 index 0000000..9fddf1f --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_ADDR_service_string.3 @@ -0,0 +1 @@ +BIO_ADDR.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_accept_ex.3 b/linux_amd64/share/man/man3/BIO_accept_ex.3 new file mode 120000 index 0000000..2f67a67 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_accept_ex.3 @@ -0,0 +1 @@ +BIO_connect.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_append_filename.3 b/linux_amd64/share/man/man3/BIO_append_filename.3 new file mode 120000 index 0000000..4efef0c --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_append_filename.3 @@ -0,0 +1 @@ +BIO_s_file.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_bind.3 b/linux_amd64/share/man/man3/BIO_bind.3 new file mode 120000 index 0000000..2f67a67 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_bind.3 @@ -0,0 +1 @@ +BIO_connect.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_callback_ctrl.3 b/linux_amd64/share/man/man3/BIO_callback_ctrl.3 new file mode 120000 index 0000000..83b7fd3 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_callback_ctrl.3 @@ -0,0 +1 @@ +BIO_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_callback_fn.3 b/linux_amd64/share/man/man3/BIO_callback_fn.3 new file mode 120000 index 0000000..b2c6b7a --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_callback_fn.3 @@ -0,0 +1 @@ +BIO_set_callback.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_callback_fn_ex.3 b/linux_amd64/share/man/man3/BIO_callback_fn_ex.3 new file mode 120000 index 0000000..b2c6b7a --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_callback_fn_ex.3 @@ -0,0 +1 @@ +BIO_set_callback.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_closesocket.3 b/linux_amd64/share/man/man3/BIO_closesocket.3 new file mode 120000 index 0000000..2f67a67 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_closesocket.3 @@ -0,0 +1 @@ +BIO_connect.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_connect.3 b/linux_amd64/share/man/man3/BIO_connect.3 index 6f5f38b..8ec2a97 100755 --- a/linux_amd64/share/man/man3/BIO_connect.3 +++ b/linux_amd64/share/man/man3/BIO_connect.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "BIO_CONNECT 3" -.TH BIO_CONNECT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BIO_CONNECT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -BIO_socket, BIO_bind, BIO_connect, BIO_listen, BIO_accept_ex, BIO_closesocket \- BIO -socket communication setup routines +BIO_socket, BIO_bind, BIO_connect, BIO_listen, BIO_accept_ex, BIO_closesocket \- BIO socket communication setup routines .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -226,7 +225,7 @@ Use the functions described above instead. .IX Header "COPYRIGHT" Copyright 2016\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BIO_ctrl.3 b/linux_amd64/share/man/man3/BIO_ctrl.3 index e1623c4..730d62b 100755 --- a/linux_amd64/share/man/man3/BIO_ctrl.3 +++ b/linux_amd64/share/man/man3/BIO_ctrl.3 @@ -124,18 +124,13 @@ .\" ======================================================================== .\" .IX Title "BIO_CTRL 3" -.TH BIO_CTRL 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BIO_CTRL 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -BIO_ctrl, BIO_callback_ctrl, BIO_ptr_ctrl, BIO_int_ctrl, BIO_reset, -BIO_seek, BIO_tell, BIO_flush, BIO_eof, BIO_set_close, BIO_get_close, -BIO_pending, BIO_wpending, BIO_ctrl_pending, BIO_ctrl_wpending, -BIO_get_info_callback, BIO_set_info_callback, BIO_info_cb, BIO_get_ktls_send, -BIO_get_ktls_recv -\&\- BIO control operations +BIO_ctrl, BIO_callback_ctrl, BIO_ptr_ctrl, BIO_int_ctrl, BIO_reset, BIO_seek, BIO_tell, BIO_flush, BIO_eof, BIO_set_close, BIO_get_close, BIO_pending, BIO_wpending, BIO_ctrl_pending, BIO_ctrl_wpending, BIO_get_info_callback, BIO_set_info_callback, BIO_info_cb \&\- BIO control operations .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -162,9 +157,6 @@ BIO_get_ktls_recv \& \& int BIO_get_info_callback(BIO *b, BIO_info_cb **cbp); \& int BIO_set_info_callback(BIO *b, BIO_info_cb *cb); -\& -\& int BIO_get_ktls_send(BIO *b); -\& int BIO_get_ktls_recv(BIO *b); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" @@ -203,11 +195,6 @@ return the number of pending characters in the BIOs read and write buffers. Not all BIOs support these calls. \fIBIO_ctrl_pending()\fR and \fIBIO_ctrl_wpending()\fR return a size_t type and are functions, \fIBIO_pending()\fR and \fIBIO_wpending()\fR are macros which call \fIBIO_ctrl()\fR. -.PP -\&\fIBIO_get_ktls_send()\fR returns 1 if the \s-1BIO\s0 is using the Kernel \s-1TLS\s0 data-path for -sending. Otherwise, it returns zero. -\&\fIBIO_get_ktls_recv()\fR returns 1 if the \s-1BIO\s0 is using the Kernel \s-1TLS\s0 data-path for -receiving. Otherwise, it returns zero. .SH "RETURN VALUES" .IX Header "RETURN VALUES" \&\fIBIO_reset()\fR normally returns 1 for success and 0 or \-1 for failure. File @@ -227,11 +214,6 @@ for success and \-1 for failure. .PP \&\fIBIO_pending()\fR, \fIBIO_ctrl_pending()\fR, \fIBIO_wpending()\fR and \fIBIO_ctrl_wpending()\fR return the amount of pending data. -.PP -\&\fIBIO_get_ktls_send()\fR returns 1 if the \s-1BIO\s0 is using the Kernel \s-1TLS\s0 data-path for -sending. Otherwise, it returns zero. -\&\fIBIO_get_ktls_recv()\fR returns 1 if the \s-1BIO\s0 is using the Kernel \s-1TLS\s0 data-path for -receiving. Otherwise, it returns zero. .SH "NOTES" .IX Header "NOTES" \&\fIBIO_flush()\fR, because it can write data may return 0 or \-1 indicating @@ -262,15 +244,11 @@ Some of the return values are ambiguous and care should be taken. In particular a return value of 0 can be returned if an operation is not supported, if an error occurred, if \s-1EOF\s0 has not been reached and in the case of \fIBIO_seek()\fR on a file \s-1BIO\s0 for a successful operation. -.SH "HISTORY" -.IX Header "HISTORY" -The \fIBIO_get_ktls_send()\fR and \fIBIO_get_ktls_recv()\fR functions were added in -OpenSSL 3.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BIO_ctrl_get_read_request.3 b/linux_amd64/share/man/man3/BIO_ctrl_get_read_request.3 new file mode 120000 index 0000000..5ba6898 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_ctrl_get_read_request.3 @@ -0,0 +1 @@ +BIO_s_bio.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_ctrl_get_write_guarantee.3 b/linux_amd64/share/man/man3/BIO_ctrl_get_write_guarantee.3 new file mode 120000 index 0000000..5ba6898 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_ctrl_get_write_guarantee.3 @@ -0,0 +1 @@ +BIO_s_bio.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_ctrl_pending.3 b/linux_amd64/share/man/man3/BIO_ctrl_pending.3 new file mode 120000 index 0000000..83b7fd3 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_ctrl_pending.3 @@ -0,0 +1 @@ +BIO_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_ctrl_reset_read_request.3 b/linux_amd64/share/man/man3/BIO_ctrl_reset_read_request.3 new file mode 120000 index 0000000..5ba6898 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_ctrl_reset_read_request.3 @@ -0,0 +1 @@ +BIO_s_bio.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_ctrl_wpending.3 b/linux_amd64/share/man/man3/BIO_ctrl_wpending.3 new file mode 120000 index 0000000..83b7fd3 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_ctrl_wpending.3 @@ -0,0 +1 @@ +BIO_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_debug_callback.3 b/linux_amd64/share/man/man3/BIO_debug_callback.3 new file mode 120000 index 0000000..b2c6b7a --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_debug_callback.3 @@ -0,0 +1 @@ +BIO_set_callback.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_destroy_bio_pair.3 b/linux_amd64/share/man/man3/BIO_destroy_bio_pair.3 new file mode 120000 index 0000000..5ba6898 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_destroy_bio_pair.3 @@ -0,0 +1 @@ +BIO_s_bio.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_do_accept.3 b/linux_amd64/share/man/man3/BIO_do_accept.3 new file mode 120000 index 0000000..0ce0c2f --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_do_accept.3 @@ -0,0 +1 @@ +BIO_s_accept.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_do_connect.3 b/linux_amd64/share/man/man3/BIO_do_connect.3 new file mode 120000 index 0000000..3e3e84a --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_do_connect.3 @@ -0,0 +1 @@ +BIO_s_connect.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_do_handshake.3 b/linux_amd64/share/man/man3/BIO_do_handshake.3 new file mode 120000 index 0000000..4451cfe --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_do_handshake.3 @@ -0,0 +1 @@ +BIO_f_ssl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_eof.3 b/linux_amd64/share/man/man3/BIO_eof.3 new file mode 120000 index 0000000..83b7fd3 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_eof.3 @@ -0,0 +1 @@ +BIO_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_f_base64.3 b/linux_amd64/share/man/man3/BIO_f_base64.3 index a273249..7e1117d 100755 --- a/linux_amd64/share/man/man3/BIO_f_base64.3 +++ b/linux_amd64/share/man/man3/BIO_f_base64.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BIO_F_BASE64 3" -.TH BIO_F_BASE64 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BIO_F_BASE64 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -208,7 +208,7 @@ to reliably determine \s-1EOF\s0 (for example a \s-1MIME\s0 boundary). .IX Header "COPYRIGHT" Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BIO_f_buffer.3 b/linux_amd64/share/man/man3/BIO_f_buffer.3 index a53b1c6..0dfe79d 100755 --- a/linux_amd64/share/man/man3/BIO_f_buffer.3 +++ b/linux_amd64/share/man/man3/BIO_f_buffer.3 @@ -124,19 +124,13 @@ .\" ======================================================================== .\" .IX Title "BIO_F_BUFFER 3" -.TH BIO_F_BUFFER 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BIO_F_BUFFER 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -BIO_get_buffer_num_lines, -BIO_set_read_buffer_size, -BIO_set_write_buffer_size, -BIO_set_buffer_size, -BIO_set_buffer_read_data, -BIO_f_buffer -\&\- buffering BIO +BIO_get_buffer_num_lines, BIO_set_read_buffer_size, BIO_set_write_buffer_size, BIO_set_buffer_size, BIO_set_buffer_read_data, BIO_f_buffer \&\- buffering BIO .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -218,7 +212,7 @@ there was an error. .IX Header "COPYRIGHT" Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BIO_f_cipher.3 b/linux_amd64/share/man/man3/BIO_f_cipher.3 index fbf9c55..decc8b0 100755 --- a/linux_amd64/share/man/man3/BIO_f_cipher.3 +++ b/linux_amd64/share/man/man3/BIO_f_cipher.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BIO_F_CIPHER 3" -.TH BIO_F_CIPHER 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BIO_F_CIPHER 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -196,7 +196,7 @@ for failure. .IX Header "COPYRIGHT" Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BIO_f_md.3 b/linux_amd64/share/man/man3/BIO_f_md.3 index cfd2878..2883880 100755 --- a/linux_amd64/share/man/man3/BIO_f_md.3 +++ b/linux_amd64/share/man/man3/BIO_f_md.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BIO_F_MD 3" -.TH BIO_F_MD 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BIO_F_MD 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -280,7 +280,7 @@ Before OpenSSL 1.0.0., the call to \fIBIO_get_md_ctx()\fR would only work if the .IX Header "COPYRIGHT" Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BIO_f_null.3 b/linux_amd64/share/man/man3/BIO_f_null.3 index 996f112..2440cfd 100755 --- a/linux_amd64/share/man/man3/BIO_f_null.3 +++ b/linux_amd64/share/man/man3/BIO_f_null.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BIO_F_NULL 3" -.TH BIO_F_NULL 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BIO_F_NULL 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -156,7 +156,7 @@ As may be apparent a null filter \s-1BIO\s0 is not particularly useful. .IX Header "COPYRIGHT" Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BIO_f_ssl.3 b/linux_amd64/share/man/man3/BIO_f_ssl.3 index 5e62cba..147d71a 100755 --- a/linux_amd64/share/man/man3/BIO_f_ssl.3 +++ b/linux_amd64/share/man/man3/BIO_f_ssl.3 @@ -124,18 +124,13 @@ .\" ======================================================================== .\" .IX Title "BIO_F_SSL 3" -.TH BIO_F_SSL 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BIO_F_SSL 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -BIO_do_handshake, -BIO_f_ssl, BIO_set_ssl, BIO_get_ssl, BIO_set_ssl_mode, -BIO_set_ssl_renegotiate_bytes, -BIO_get_num_renegotiates, BIO_set_ssl_renegotiate_timeout, BIO_new_ssl, -BIO_new_ssl_connect, BIO_new_buffer_ssl_connect, BIO_ssl_copy_session_id, -BIO_ssl_shutdown \- SSL BIO +BIO_do_handshake, BIO_f_ssl, BIO_set_ssl, BIO_get_ssl, BIO_set_ssl_mode, BIO_set_ssl_renegotiate_bytes, BIO_get_num_renegotiates, BIO_set_ssl_renegotiate_timeout, BIO_new_ssl, BIO_new_ssl_connect, BIO_new_buffer_ssl_connect, BIO_ssl_copy_session_id, BIO_ssl_shutdown \- SSL BIO .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 2 @@ -423,9 +418,9 @@ included workarounds for this bug (e.g. freeing BIOs more than once) should be modified to handle this fix or they may free up an already freed \s-1BIO\s0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BIO_find_type.3 b/linux_amd64/share/man/man3/BIO_find_type.3 index 5090bb6..e828606 100755 --- a/linux_amd64/share/man/man3/BIO_find_type.3 +++ b/linux_amd64/share/man/man3/BIO_find_type.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BIO_FIND_TYPE 3" -.TH BIO_FIND_TYPE 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BIO_FIND_TYPE 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -186,9 +186,9 @@ Traverse a chain looking for digest BIOs: .Ve .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BIO_flush.3 b/linux_amd64/share/man/man3/BIO_flush.3 new file mode 120000 index 0000000..83b7fd3 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_flush.3 @@ -0,0 +1 @@ +BIO_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_free.3 b/linux_amd64/share/man/man3/BIO_free.3 new file mode 120000 index 0000000..9161f01 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_free.3 @@ -0,0 +1 @@ +BIO_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_free_all.3 b/linux_amd64/share/man/man3/BIO_free_all.3 new file mode 120000 index 0000000..9161f01 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_free_all.3 @@ -0,0 +1 @@ +BIO_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_get_accept_ip_family.3 b/linux_amd64/share/man/man3/BIO_get_accept_ip_family.3 new file mode 120000 index 0000000..0ce0c2f --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_get_accept_ip_family.3 @@ -0,0 +1 @@ +BIO_s_accept.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_get_accept_name.3 b/linux_amd64/share/man/man3/BIO_get_accept_name.3 new file mode 120000 index 0000000..0ce0c2f --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_get_accept_name.3 @@ -0,0 +1 @@ +BIO_s_accept.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_get_accept_port.3 b/linux_amd64/share/man/man3/BIO_get_accept_port.3 new file mode 120000 index 0000000..0ce0c2f --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_get_accept_port.3 @@ -0,0 +1 @@ +BIO_s_accept.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_get_bind_mode.3 b/linux_amd64/share/man/man3/BIO_get_bind_mode.3 new file mode 120000 index 0000000..0ce0c2f --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_get_bind_mode.3 @@ -0,0 +1 @@ +BIO_s_accept.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_get_buffer_num_lines.3 b/linux_amd64/share/man/man3/BIO_get_buffer_num_lines.3 new file mode 120000 index 0000000..977161c --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_get_buffer_num_lines.3 @@ -0,0 +1 @@ +BIO_f_buffer.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_get_callback.3 b/linux_amd64/share/man/man3/BIO_get_callback.3 new file mode 120000 index 0000000..b2c6b7a --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_get_callback.3 @@ -0,0 +1 @@ +BIO_set_callback.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_get_callback_arg.3 b/linux_amd64/share/man/man3/BIO_get_callback_arg.3 new file mode 120000 index 0000000..b2c6b7a --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_get_callback_arg.3 @@ -0,0 +1 @@ +BIO_set_callback.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_get_callback_ex.3 b/linux_amd64/share/man/man3/BIO_get_callback_ex.3 new file mode 120000 index 0000000..b2c6b7a --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_get_callback_ex.3 @@ -0,0 +1 @@ +BIO_set_callback.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_get_cipher_ctx.3 b/linux_amd64/share/man/man3/BIO_get_cipher_ctx.3 new file mode 120000 index 0000000..0d99524 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_get_cipher_ctx.3 @@ -0,0 +1 @@ +BIO_f_cipher.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_get_cipher_status.3 b/linux_amd64/share/man/man3/BIO_get_cipher_status.3 new file mode 120000 index 0000000..0d99524 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_get_cipher_status.3 @@ -0,0 +1 @@ +BIO_f_cipher.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_get_close.3 b/linux_amd64/share/man/man3/BIO_get_close.3 new file mode 120000 index 0000000..83b7fd3 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_get_close.3 @@ -0,0 +1 @@ +BIO_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_get_conn_address.3 b/linux_amd64/share/man/man3/BIO_get_conn_address.3 new file mode 120000 index 0000000..3e3e84a --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_get_conn_address.3 @@ -0,0 +1 @@ +BIO_s_connect.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_get_conn_hostname.3 b/linux_amd64/share/man/man3/BIO_get_conn_hostname.3 new file mode 120000 index 0000000..3e3e84a --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_get_conn_hostname.3 @@ -0,0 +1 @@ +BIO_s_connect.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_get_conn_ip_family.3 b/linux_amd64/share/man/man3/BIO_get_conn_ip_family.3 new file mode 120000 index 0000000..3e3e84a --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_get_conn_ip_family.3 @@ -0,0 +1 @@ +BIO_s_connect.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_get_conn_port.3 b/linux_amd64/share/man/man3/BIO_get_conn_port.3 new file mode 120000 index 0000000..3e3e84a --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_get_conn_port.3 @@ -0,0 +1 @@ +BIO_s_connect.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_get_data.3 b/linux_amd64/share/man/man3/BIO_get_data.3 index 2fd9d74..c48d735 100755 --- a/linux_amd64/share/man/man3/BIO_get_data.3 +++ b/linux_amd64/share/man/man3/BIO_get_data.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "BIO_GET_DATA 3" -.TH BIO_GET_DATA 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BIO_GET_DATA 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -BIO_set_data, BIO_get_data, BIO_set_init, BIO_get_init, BIO_set_shutdown, -BIO_get_shutdown \- functions for managing BIO state information +BIO_set_data, BIO_get_data, BIO_set_init, BIO_get_init, BIO_set_shutdown, BIO_get_shutdown \- functions for managing BIO state information .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -153,7 +152,7 @@ the \s-1BIO\s0. This data can subsequently be retrieved via a call to \fIBIO_get This can be used by custom BIOs for storing implementation specific information. .PP The \fIBIO_set_init()\fR function sets the value of the \s-1BIO\s0's \*(L"init\*(R" flag to indicate -whether initialisation has been completed for this \s-1BIO\s0 or not. A nonzero value +whether initialisation has been completed for this \s-1BIO\s0 or not. A non-zero value indicates that initialisation is complete, whilst zero indicates that it is not. Often initialisation will complete during initial construction of the \s-1BIO\s0. For some BIOs however, initialisation may not complete until after additional steps @@ -173,7 +172,7 @@ associated with this \s-1BIO\s0, or \s-1NULL\s0 if none has been set. \&\fIBIO_get_shutdown()\fR returns the stat of the \s-1BIO\s0's shutdown (i.e. \s-1BIO_CLOSE\s0) flag. .SH "SEE ALSO" .IX Header "SEE ALSO" -\&\fIbio\fR\|(7), \fIBIO_meth_new\fR\|(3) +bio, BIO_meth_new .SH "HISTORY" .IX Header "HISTORY" The functions described here were added in OpenSSL 1.1.0. @@ -181,7 +180,7 @@ The functions described here were added in OpenSSL 1.1.0. .IX Header "COPYRIGHT" Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BIO_get_ex_data.3 b/linux_amd64/share/man/man3/BIO_get_ex_data.3 new file mode 120000 index 0000000..aa4dc88 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_get_ex_data.3 @@ -0,0 +1 @@ +BIO_get_ex_new_index.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_get_ex_new_index.3 b/linux_amd64/share/man/man3/BIO_get_ex_new_index.3 index 576f4a5..aa1a149 100755 --- a/linux_amd64/share/man/man3/BIO_get_ex_new_index.3 +++ b/linux_amd64/share/man/man3/BIO_get_ex_new_index.3 @@ -124,35 +124,13 @@ .\" ======================================================================== .\" .IX Title "BIO_GET_EX_NEW_INDEX 3" -.TH BIO_GET_EX_NEW_INDEX 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BIO_GET_EX_NEW_INDEX 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -BIO_get_ex_new_index, BIO_set_ex_data, BIO_get_ex_data, -BIO_set_app_data, BIO_get_app_data, -DH_get_ex_new_index, DH_set_ex_data, DH_get_ex_data, -DSA_get_ex_new_index, DSA_set_ex_data, DSA_get_ex_data, -ECDH_get_ex_new_index, ECDH_set_ex_data, ECDH_get_ex_data, -EC_KEY_get_ex_new_index, EC_KEY_set_ex_data, EC_KEY_get_ex_data, -ENGINE_get_ex_new_index, ENGINE_set_ex_data, ENGINE_get_ex_data, -RAND_DRBG_set_ex_data, RAND_DRBG_get_ex_data, RAND_DRBG_get_ex_new_index, -RSA_get_ex_new_index, RSA_set_ex_data, RSA_get_ex_data, -RSA_set_app_data, RSA_get_app_data, -SSL_get_ex_new_index, SSL_set_ex_data, SSL_get_ex_data, -SSL_set_app_data, SSL_get_app_data, -SSL_CTX_get_ex_new_index, SSL_CTX_set_ex_data, SSL_CTX_get_ex_data, -SSL_CTX_set_app_data, SSL_CTX_get_app_data, -SSL_SESSION_get_ex_new_index, SSL_SESSION_set_ex_data, SSL_SESSION_get_ex_data, -SSL_SESSION_set_app_data, SSL_SESSION_get_app_data, -UI_get_ex_new_index, UI_set_ex_data, UI_get_ex_data, -UI_set_app_data, UI_get_app_data, -X509_STORE_CTX_get_ex_new_index, X509_STORE_CTX_set_ex_data, X509_STORE_CTX_get_ex_data, -X509_STORE_CTX_set_app_data, X509_STORE_CTX_get_app_data, -X509_STORE_get_ex_new_index, X509_STORE_set_ex_data, X509_STORE_get_ex_data, -X509_get_ex_new_index, X509_set_ex_data, X509_get_ex_data -\&\- application\-specific data +BIO_get_ex_new_index, BIO_set_ex_data, BIO_get_ex_data, ENGINE_get_ex_new_index, ENGINE_set_ex_data, ENGINE_get_ex_data, UI_get_ex_new_index, UI_set_ex_data, UI_get_ex_data, X509_get_ex_new_index, X509_set_ex_data, X509_get_ex_data, X509_STORE_get_ex_new_index, X509_STORE_set_ex_data, X509_STORE_get_ex_data, X509_STORE_CTX_get_ex_new_index, X509_STORE_CTX_set_ex_data, X509_STORE_CTX_get_ex_data, DH_get_ex_new_index, DH_set_ex_data, DH_get_ex_data, DSA_get_ex_new_index, DSA_set_ex_data, DSA_get_ex_data, ECDH_get_ex_new_index, ECDH_set_ex_data, ECDH_get_ex_data, EC_KEY_get_ex_new_index, EC_KEY_set_ex_data, EC_KEY_get_ex_data, RSA_get_ex_new_index, RSA_set_ex_data, RSA_get_ex_data \&\- application\-specific data .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -166,9 +144,6 @@ X509_get_ex_new_index, X509_set_ex_data, X509_get_ex_data \& int TYPE_set_ex_data(TYPE *d, int idx, void *arg); \& \& void *TYPE_get_ex_data(TYPE *d, int idx); -\& -\& #define TYPE_set_app_data(TYPE *d, void *arg) -\& #define TYPE_get_app_data(TYPE *d) .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" @@ -187,16 +162,6 @@ an offset into the opaque exdata part of the \s-1TYPE\s0 object. .PP \&\fITYPE_get_ex_data()\fR is a function that calls \fICRYPTO_get_ex_data()\fR with an offset into the opaque exdata part of the \s-1TYPE\s0 object. -.PP -For compatibility with previous releases, the exdata index of zero is -reserved for \*(L"application data.\*(R" There are two convenience functions for -this. -\&\fITYPE_set_app_data()\fR is a macro that invokes \fITYPE_set_ex_data()\fR with -\&\fBidx\fR set to zero. -\&\fITYPE_get_app_data()\fR is a macro that invokes \fITYPE_get_ex_data()\fR with -\&\fBidx\fR set to zero. -Note that these functions are not defined for the \fB\s-1RAND_DRBG\s0\fR type because -there are no backward compatibility concerns. .SH "RETURN VALUES" .IX Header "RETURN VALUES" \&\fITYPE_get_new_ex_index()\fR returns a new index on success or \-1 on error. @@ -211,7 +176,7 @@ there are no backward compatibility concerns. .IX Header "COPYRIGHT" Copyright 2015\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BIO_get_fd.3 b/linux_amd64/share/man/man3/BIO_get_fd.3 new file mode 120000 index 0000000..47d0cb8 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_get_fd.3 @@ -0,0 +1 @@ +BIO_s_fd.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_get_fp.3 b/linux_amd64/share/man/man3/BIO_get_fp.3 new file mode 120000 index 0000000..4efef0c --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_get_fp.3 @@ -0,0 +1 @@ +BIO_s_file.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_get_info_callback.3 b/linux_amd64/share/man/man3/BIO_get_info_callback.3 new file mode 120000 index 0000000..83b7fd3 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_get_info_callback.3 @@ -0,0 +1 @@ +BIO_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_get_init.3 b/linux_amd64/share/man/man3/BIO_get_init.3 new file mode 120000 index 0000000..1bbda12 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_get_init.3 @@ -0,0 +1 @@ +BIO_get_data.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_get_md.3 b/linux_amd64/share/man/man3/BIO_get_md.3 new file mode 120000 index 0000000..264a7c3 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_get_md.3 @@ -0,0 +1 @@ +BIO_f_md.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_get_md_ctx.3 b/linux_amd64/share/man/man3/BIO_get_md_ctx.3 new file mode 120000 index 0000000..264a7c3 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_get_md_ctx.3 @@ -0,0 +1 @@ +BIO_f_md.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_get_mem_data.3 b/linux_amd64/share/man/man3/BIO_get_mem_data.3 new file mode 120000 index 0000000..72cb355 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_get_mem_data.3 @@ -0,0 +1 @@ +BIO_s_mem.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_get_mem_ptr.3 b/linux_amd64/share/man/man3/BIO_get_mem_ptr.3 new file mode 120000 index 0000000..72cb355 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_get_mem_ptr.3 @@ -0,0 +1 @@ +BIO_s_mem.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_get_new_index.3 b/linux_amd64/share/man/man3/BIO_get_new_index.3 new file mode 120000 index 0000000..1ec0db8 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_get_new_index.3 @@ -0,0 +1 @@ +BIO_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_get_num_renegotiates.3 b/linux_amd64/share/man/man3/BIO_get_num_renegotiates.3 new file mode 120000 index 0000000..4451cfe --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_get_num_renegotiates.3 @@ -0,0 +1 @@ +BIO_f_ssl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_get_peer_name.3 b/linux_amd64/share/man/man3/BIO_get_peer_name.3 new file mode 120000 index 0000000..0ce0c2f --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_get_peer_name.3 @@ -0,0 +1 @@ +BIO_s_accept.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_get_peer_port.3 b/linux_amd64/share/man/man3/BIO_get_peer_port.3 new file mode 120000 index 0000000..0ce0c2f --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_get_peer_port.3 @@ -0,0 +1 @@ +BIO_s_accept.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_get_read_request.3 b/linux_amd64/share/man/man3/BIO_get_read_request.3 new file mode 120000 index 0000000..5ba6898 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_get_read_request.3 @@ -0,0 +1 @@ +BIO_s_bio.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_get_retry_BIO.3 b/linux_amd64/share/man/man3/BIO_get_retry_BIO.3 new file mode 120000 index 0000000..3f3f6d3 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_get_retry_BIO.3 @@ -0,0 +1 @@ +BIO_should_retry.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_get_retry_reason.3 b/linux_amd64/share/man/man3/BIO_get_retry_reason.3 new file mode 120000 index 0000000..3f3f6d3 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_get_retry_reason.3 @@ -0,0 +1 @@ +BIO_should_retry.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_get_shutdown.3 b/linux_amd64/share/man/man3/BIO_get_shutdown.3 new file mode 120000 index 0000000..1bbda12 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_get_shutdown.3 @@ -0,0 +1 @@ +BIO_get_data.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_get_ssl.3 b/linux_amd64/share/man/man3/BIO_get_ssl.3 new file mode 120000 index 0000000..4451cfe --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_get_ssl.3 @@ -0,0 +1 @@ +BIO_f_ssl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_get_write_buf_size.3 b/linux_amd64/share/man/man3/BIO_get_write_buf_size.3 new file mode 120000 index 0000000..5ba6898 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_get_write_buf_size.3 @@ -0,0 +1 @@ +BIO_s_bio.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_get_write_guarantee.3 b/linux_amd64/share/man/man3/BIO_get_write_guarantee.3 new file mode 120000 index 0000000..5ba6898 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_get_write_guarantee.3 @@ -0,0 +1 @@ +BIO_s_bio.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_gets.3 b/linux_amd64/share/man/man3/BIO_gets.3 new file mode 120000 index 0000000..899127a --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_gets.3 @@ -0,0 +1 @@ +BIO_read.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_hostserv_priorities.3 b/linux_amd64/share/man/man3/BIO_hostserv_priorities.3 new file mode 120000 index 0000000..7c29d2a --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_hostserv_priorities.3 @@ -0,0 +1 @@ +BIO_parse_hostserv.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_info_cb.3 b/linux_amd64/share/man/man3/BIO_info_cb.3 new file mode 120000 index 0000000..83b7fd3 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_info_cb.3 @@ -0,0 +1 @@ +BIO_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_int_ctrl.3 b/linux_amd64/share/man/man3/BIO_int_ctrl.3 new file mode 120000 index 0000000..83b7fd3 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_int_ctrl.3 @@ -0,0 +1 @@ +BIO_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_listen.3 b/linux_amd64/share/man/man3/BIO_listen.3 new file mode 120000 index 0000000..2f67a67 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_listen.3 @@ -0,0 +1 @@ +BIO_connect.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_lookup.3 b/linux_amd64/share/man/man3/BIO_lookup.3 new file mode 120000 index 0000000..2d8ef3b --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_lookup.3 @@ -0,0 +1 @@ +BIO_ADDRINFO.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_lookup_ex.3 b/linux_amd64/share/man/man3/BIO_lookup_ex.3 new file mode 120000 index 0000000..2d8ef3b --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_lookup_ex.3 @@ -0,0 +1 @@ +BIO_ADDRINFO.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_lookup_type.3 b/linux_amd64/share/man/man3/BIO_lookup_type.3 new file mode 120000 index 0000000..2d8ef3b --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_lookup_type.3 @@ -0,0 +1 @@ +BIO_ADDRINFO.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_make_bio_pair.3 b/linux_amd64/share/man/man3/BIO_make_bio_pair.3 new file mode 120000 index 0000000..5ba6898 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_make_bio_pair.3 @@ -0,0 +1 @@ +BIO_s_bio.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_meth_free.3 b/linux_amd64/share/man/man3/BIO_meth_free.3 new file mode 120000 index 0000000..1ec0db8 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_meth_free.3 @@ -0,0 +1 @@ +BIO_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_meth_get_callback_ctrl.3 b/linux_amd64/share/man/man3/BIO_meth_get_callback_ctrl.3 new file mode 120000 index 0000000..1ec0db8 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_meth_get_callback_ctrl.3 @@ -0,0 +1 @@ +BIO_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_meth_get_create.3 b/linux_amd64/share/man/man3/BIO_meth_get_create.3 new file mode 120000 index 0000000..1ec0db8 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_meth_get_create.3 @@ -0,0 +1 @@ +BIO_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_meth_get_ctrl.3 b/linux_amd64/share/man/man3/BIO_meth_get_ctrl.3 new file mode 120000 index 0000000..1ec0db8 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_meth_get_ctrl.3 @@ -0,0 +1 @@ +BIO_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_meth_get_destroy.3 b/linux_amd64/share/man/man3/BIO_meth_get_destroy.3 new file mode 120000 index 0000000..1ec0db8 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_meth_get_destroy.3 @@ -0,0 +1 @@ +BIO_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_meth_get_gets.3 b/linux_amd64/share/man/man3/BIO_meth_get_gets.3 new file mode 120000 index 0000000..1ec0db8 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_meth_get_gets.3 @@ -0,0 +1 @@ +BIO_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_meth_get_puts.3 b/linux_amd64/share/man/man3/BIO_meth_get_puts.3 new file mode 120000 index 0000000..1ec0db8 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_meth_get_puts.3 @@ -0,0 +1 @@ +BIO_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_meth_get_read.3 b/linux_amd64/share/man/man3/BIO_meth_get_read.3 new file mode 120000 index 0000000..1ec0db8 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_meth_get_read.3 @@ -0,0 +1 @@ +BIO_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_meth_get_read_ex.3 b/linux_amd64/share/man/man3/BIO_meth_get_read_ex.3 new file mode 120000 index 0000000..1ec0db8 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_meth_get_read_ex.3 @@ -0,0 +1 @@ +BIO_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_meth_get_write.3 b/linux_amd64/share/man/man3/BIO_meth_get_write.3 new file mode 120000 index 0000000..1ec0db8 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_meth_get_write.3 @@ -0,0 +1 @@ +BIO_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_meth_get_write_ex.3 b/linux_amd64/share/man/man3/BIO_meth_get_write_ex.3 new file mode 120000 index 0000000..1ec0db8 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_meth_get_write_ex.3 @@ -0,0 +1 @@ +BIO_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_meth_new.3 b/linux_amd64/share/man/man3/BIO_meth_new.3 index 21787cb..9cd2dd3 100755 --- a/linux_amd64/share/man/man3/BIO_meth_new.3 +++ b/linux_amd64/share/man/man3/BIO_meth_new.3 @@ -124,20 +124,13 @@ .\" ======================================================================== .\" .IX Title "BIO_METH_NEW 3" -.TH BIO_METH_NEW 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BIO_METH_NEW 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -BIO_get_new_index, -BIO_meth_new, BIO_meth_free, BIO_meth_get_read_ex, BIO_meth_set_read_ex, -BIO_meth_get_write_ex, BIO_meth_set_write_ex, BIO_meth_get_write, -BIO_meth_set_write, BIO_meth_get_read, BIO_meth_set_read, BIO_meth_get_puts, -BIO_meth_set_puts, BIO_meth_get_gets, BIO_meth_set_gets, BIO_meth_get_ctrl, -BIO_meth_set_ctrl, BIO_meth_get_create, BIO_meth_set_create, -BIO_meth_get_destroy, BIO_meth_set_destroy, BIO_meth_get_callback_ctrl, -BIO_meth_set_callback_ctrl \- Routines to build up BIO methods +BIO_get_new_index, BIO_meth_new, BIO_meth_free, BIO_meth_get_read_ex, BIO_meth_set_read_ex, BIO_meth_get_write_ex, BIO_meth_set_write_ex, BIO_meth_get_write, BIO_meth_set_write, BIO_meth_get_read, BIO_meth_set_read, BIO_meth_get_puts, BIO_meth_set_puts, BIO_meth_get_gets, BIO_meth_set_gets, BIO_meth_get_ctrl, BIO_meth_set_ctrl, BIO_meth_get_create, BIO_meth_set_create, BIO_meth_get_destroy, BIO_meth_set_destroy, BIO_meth_get_callback_ctrl, BIO_meth_set_callback_ctrl \- Routines to build up BIO methods .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -188,7 +181,7 @@ BIO_meth_set_callback_ctrl \- Routines to build up BIO methods .IX Header "DESCRIPTION" The \fB\s-1BIO_METHOD\s0\fR type is a structure used for the implementation of new \s-1BIO\s0 types. It provides a set of functions used by OpenSSL for the implementation -of the various \s-1BIO\s0 capabilities. See the \fIbio\fR\|(7) page for more information. +of the various \s-1BIO\s0 capabilities. See the bio page for more information. .PP \&\fIBIO_meth_new()\fR creates a new \fB\s-1BIO_METHOD\s0\fR structure. It should be given a unique integer \fBtype\fR and a string that represents its \fBname\fR. @@ -200,7 +193,7 @@ include \fB\s-1BIO_TYPE_BUFFER\s0\fR and \fB\s-1BIO_TYPE_CIPHER\s0\fR. Filter BI type which have the \*(L"filter\*(R" bit set (\fB\s-1BIO_TYPE_FILTER\s0\fR). Source/sink BIOs should have the \*(L"source/sink\*(R" bit set (\fB\s-1BIO_TYPE_SOURCE_SINK\s0\fR). File descriptor based BIOs (e.g. socket, fd, connect, accept etc) should additionally have the -\&\*(L"descriptor\*(R" bit set (\fB\s-1BIO_TYPE_DESCRIPTOR\s0\fR). See the \fIBIO_find_type\fR\|(3) page for +\&\*(L"descriptor\*(R" bit set (\fB\s-1BIO_TYPE_DESCRIPTOR\s0\fR). See the BIO_find_type page for more information. .PP \&\fIBIO_meth_free()\fR destroys a \fB\s-1BIO_METHOD\s0\fR structure and frees up any memory @@ -236,7 +229,7 @@ application calling \fIBIO_gets()\fR. The parameters for the function have the s meaning as for \fIBIO_gets()\fR. .PP \&\fIBIO_meth_get_ctrl()\fR and \fIBIO_meth_set_ctrl()\fR get and set the function used for -processing ctrl messages in the \s-1BIO\s0 respectively. See the \fIBIO_ctrl\fR\|(3) page for +processing ctrl messages in the \s-1BIO\s0 respectively. See the BIO_ctrl page for more information. This function will be called in response to the application calling \fIBIO_ctrl()\fR. The parameters for the function have the same meaning as for \&\fIBIO_ctrl()\fR. @@ -272,7 +265,7 @@ The \fBBIO_meth_set\fR functions return 1 on success or 0 on error. The \fBBIO_meth_get\fR functions return the corresponding function pointers. .SH "SEE ALSO" .IX Header "SEE ALSO" -\&\fIbio\fR\|(7), \fIBIO_find_type\fR\|(3), \fIBIO_ctrl\fR\|(3), \fIBIO_read_ex\fR\|(3), \fIBIO_new\fR\|(3) +bio, BIO_find_type, BIO_ctrl, BIO_read_ex, BIO_new .SH "HISTORY" .IX Header "HISTORY" The functions described here were added in OpenSSL 1.1.0. @@ -280,7 +273,7 @@ The functions described here were added in OpenSSL 1.1.0. .IX Header "COPYRIGHT" Copyright 2016\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BIO_meth_set_callback_ctrl.3 b/linux_amd64/share/man/man3/BIO_meth_set_callback_ctrl.3 new file mode 120000 index 0000000..1ec0db8 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_meth_set_callback_ctrl.3 @@ -0,0 +1 @@ +BIO_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_meth_set_create.3 b/linux_amd64/share/man/man3/BIO_meth_set_create.3 new file mode 120000 index 0000000..1ec0db8 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_meth_set_create.3 @@ -0,0 +1 @@ +BIO_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_meth_set_ctrl.3 b/linux_amd64/share/man/man3/BIO_meth_set_ctrl.3 new file mode 120000 index 0000000..1ec0db8 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_meth_set_ctrl.3 @@ -0,0 +1 @@ +BIO_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_meth_set_destroy.3 b/linux_amd64/share/man/man3/BIO_meth_set_destroy.3 new file mode 120000 index 0000000..1ec0db8 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_meth_set_destroy.3 @@ -0,0 +1 @@ +BIO_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_meth_set_gets.3 b/linux_amd64/share/man/man3/BIO_meth_set_gets.3 new file mode 120000 index 0000000..1ec0db8 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_meth_set_gets.3 @@ -0,0 +1 @@ +BIO_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_meth_set_puts.3 b/linux_amd64/share/man/man3/BIO_meth_set_puts.3 new file mode 120000 index 0000000..1ec0db8 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_meth_set_puts.3 @@ -0,0 +1 @@ +BIO_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_meth_set_read.3 b/linux_amd64/share/man/man3/BIO_meth_set_read.3 new file mode 120000 index 0000000..1ec0db8 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_meth_set_read.3 @@ -0,0 +1 @@ +BIO_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_meth_set_read_ex.3 b/linux_amd64/share/man/man3/BIO_meth_set_read_ex.3 new file mode 120000 index 0000000..1ec0db8 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_meth_set_read_ex.3 @@ -0,0 +1 @@ +BIO_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_meth_set_write.3 b/linux_amd64/share/man/man3/BIO_meth_set_write.3 new file mode 120000 index 0000000..1ec0db8 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_meth_set_write.3 @@ -0,0 +1 @@ +BIO_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_meth_set_write_ex.3 b/linux_amd64/share/man/man3/BIO_meth_set_write_ex.3 new file mode 120000 index 0000000..1ec0db8 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_meth_set_write_ex.3 @@ -0,0 +1 @@ +BIO_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_method_type.3 b/linux_amd64/share/man/man3/BIO_method_type.3 new file mode 120000 index 0000000..3759841 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_method_type.3 @@ -0,0 +1 @@ +BIO_find_type.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_new.3 b/linux_amd64/share/man/man3/BIO_new.3 index f86f014..aa0b225 100755 --- a/linux_amd64/share/man/man3/BIO_new.3 +++ b/linux_amd64/share/man/man3/BIO_new.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "BIO_NEW 3" -.TH BIO_NEW 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BIO_NEW 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -BIO_new, BIO_up_ref, BIO_free, BIO_vfree, BIO_free_all -\&\- BIO allocation and freeing functions +BIO_new, BIO_up_ref, BIO_free, BIO_vfree, BIO_free_all \&\- BIO allocation and freeing functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -186,9 +185,9 @@ Create a memory \s-1BIO:\s0 .Ve .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BIO_new_CMS.3 b/linux_amd64/share/man/man3/BIO_new_CMS.3 index c2b3226..2db9e2e 100755 --- a/linux_amd64/share/man/man3/BIO_new_CMS.3 +++ b/linux_amd64/share/man/man3/BIO_new_CMS.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BIO_NEW_CMS 3" -.TH BIO_NEW_CMS 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BIO_NEW_CMS 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -189,7 +189,7 @@ The \fIBIO_new_CMS()\fR function was added in OpenSSL 1.0.0. .IX Header "COPYRIGHT" Copyright 2008\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BIO_new_accept.3 b/linux_amd64/share/man/man3/BIO_new_accept.3 new file mode 120000 index 0000000..0ce0c2f --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_new_accept.3 @@ -0,0 +1 @@ +BIO_s_accept.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_new_bio_pair.3 b/linux_amd64/share/man/man3/BIO_new_bio_pair.3 new file mode 120000 index 0000000..5ba6898 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_new_bio_pair.3 @@ -0,0 +1 @@ +BIO_s_bio.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_new_buffer_ssl_connect.3 b/linux_amd64/share/man/man3/BIO_new_buffer_ssl_connect.3 new file mode 120000 index 0000000..4451cfe --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_new_buffer_ssl_connect.3 @@ -0,0 +1 @@ +BIO_f_ssl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_new_connect.3 b/linux_amd64/share/man/man3/BIO_new_connect.3 new file mode 120000 index 0000000..3e3e84a --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_new_connect.3 @@ -0,0 +1 @@ +BIO_s_connect.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_new_fd.3 b/linux_amd64/share/man/man3/BIO_new_fd.3 new file mode 120000 index 0000000..47d0cb8 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_new_fd.3 @@ -0,0 +1 @@ +BIO_s_fd.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_new_file.3 b/linux_amd64/share/man/man3/BIO_new_file.3 new file mode 120000 index 0000000..4efef0c --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_new_file.3 @@ -0,0 +1 @@ +BIO_s_file.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_new_fp.3 b/linux_amd64/share/man/man3/BIO_new_fp.3 new file mode 120000 index 0000000..4efef0c --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_new_fp.3 @@ -0,0 +1 @@ +BIO_s_file.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_new_mem_buf.3 b/linux_amd64/share/man/man3/BIO_new_mem_buf.3 new file mode 120000 index 0000000..72cb355 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_new_mem_buf.3 @@ -0,0 +1 @@ +BIO_s_mem.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_new_socket.3 b/linux_amd64/share/man/man3/BIO_new_socket.3 new file mode 120000 index 0000000..56005f8 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_new_socket.3 @@ -0,0 +1 @@ +BIO_s_socket.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_new_ssl.3 b/linux_amd64/share/man/man3/BIO_new_ssl.3 new file mode 120000 index 0000000..4451cfe --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_new_ssl.3 @@ -0,0 +1 @@ +BIO_f_ssl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_new_ssl_connect.3 b/linux_amd64/share/man/man3/BIO_new_ssl_connect.3 new file mode 120000 index 0000000..4451cfe --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_new_ssl_connect.3 @@ -0,0 +1 @@ +BIO_f_ssl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_next.3 b/linux_amd64/share/man/man3/BIO_next.3 new file mode 120000 index 0000000..3759841 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_next.3 @@ -0,0 +1 @@ +BIO_find_type.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_parse_hostserv.3 b/linux_amd64/share/man/man3/BIO_parse_hostserv.3 index 70e9192..c5bdebb 100755 --- a/linux_amd64/share/man/man3/BIO_parse_hostserv.3 +++ b/linux_amd64/share/man/man3/BIO_parse_hostserv.3 @@ -124,15 +124,13 @@ .\" ======================================================================== .\" .IX Title "BIO_PARSE_HOSTSERV 3" -.TH BIO_PARSE_HOSTSERV 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BIO_PARSE_HOSTSERV 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -BIO_hostserv_priorities, -BIO_parse_hostserv -\&\- utility routines to parse a standard host and service string +BIO_hostserv_priorities, BIO_parse_hostserv \&\- utility routines to parse a standard host and service string .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -147,10 +145,10 @@ BIO_parse_hostserv .SH "DESCRIPTION" .IX Header "DESCRIPTION" \&\fIBIO_parse_hostserv()\fR will parse the information given in \fBhostserv\fR, -create strings with the hostname and service name and give those +create strings with the host name and service name and give those back via \fBhost\fR and \fBservice\fR. Those will need to be freed after they are used. \fBhostserv_prio\fR helps determine if \fBhostserv\fR shall -be interpreted primarily as a hostname or a service name in ambiguous +be interpreted primarily as a host name or a service name in ambiguous cases. .PP The syntax the \fIBIO_parse_hostserv()\fR recognises is: @@ -199,7 +197,7 @@ and \fBhostserv_prio\fR, as follows: .IX Header "COPYRIGHT" Copyright 2016\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BIO_pending.3 b/linux_amd64/share/man/man3/BIO_pending.3 new file mode 120000 index 0000000..83b7fd3 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_pending.3 @@ -0,0 +1 @@ +BIO_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_pop.3 b/linux_amd64/share/man/man3/BIO_pop.3 new file mode 120000 index 0000000..e6846c7 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_pop.3 @@ -0,0 +1 @@ +BIO_push.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_printf.3 b/linux_amd64/share/man/man3/BIO_printf.3 index 0b2aefc..e69b4fa 100755 --- a/linux_amd64/share/man/man3/BIO_printf.3 +++ b/linux_amd64/share/man/man3/BIO_printf.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "BIO_PRINTF 3" -.TH BIO_PRINTF 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BIO_PRINTF 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -BIO_printf, BIO_vprintf, BIO_snprintf, BIO_vsnprintf -\&\- formatted output to a BIO +BIO_printf, BIO_vprintf, BIO_snprintf, BIO_vsnprintf \&\- formatted output to a BIO .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -168,7 +167,7 @@ buffer is too small. .IX Header "COPYRIGHT" Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BIO_ptr_ctrl.3 b/linux_amd64/share/man/man3/BIO_ptr_ctrl.3 new file mode 120000 index 0000000..83b7fd3 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_ptr_ctrl.3 @@ -0,0 +1 @@ +BIO_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_push.3 b/linux_amd64/share/man/man3/BIO_push.3 index 979b3e9..08dbb6d 100755 --- a/linux_amd64/share/man/man3/BIO_push.3 +++ b/linux_amd64/share/man/man3/BIO_push.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BIO_PUSH 3" -.TH BIO_PUSH 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BIO_PUSH 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -201,15 +201,15 @@ The call will return \fBb64\fR and the new chain will be \fBmd1\-b64\-f\fR data be written to \fBmd1\fR as before. .SH "SEE ALSO" .IX Header "SEE ALSO" -\&\fIbio\fR\|(7) +bio .SH "HISTORY" .IX Header "HISTORY" The \fIBIO_set_next()\fR function was added in OpenSSL 1.1.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BIO_puts.3 b/linux_amd64/share/man/man3/BIO_puts.3 new file mode 120000 index 0000000..899127a --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_puts.3 @@ -0,0 +1 @@ +BIO_read.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_read.3 b/linux_amd64/share/man/man3/BIO_read.3 index b9a6ad2..c41aa3b 100755 --- a/linux_amd64/share/man/man3/BIO_read.3 +++ b/linux_amd64/share/man/man3/BIO_read.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "BIO_READ 3" -.TH BIO_READ 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BIO_READ 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -BIO_read_ex, BIO_write_ex, BIO_read, BIO_write, BIO_gets, BIO_puts -\&\- BIO I/O functions +BIO_read_ex, BIO_write_ex, BIO_read, BIO_write, BIO_gets, BIO_puts \&\- BIO I/O functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -212,7 +211,7 @@ keep the '\en' at the end of the line in the buffer. .IX Header "COPYRIGHT" Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BIO_read_ex.3 b/linux_amd64/share/man/man3/BIO_read_ex.3 new file mode 120000 index 0000000..899127a --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_read_ex.3 @@ -0,0 +1 @@ +BIO_read.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_read_filename.3 b/linux_amd64/share/man/man3/BIO_read_filename.3 new file mode 120000 index 0000000..4efef0c --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_read_filename.3 @@ -0,0 +1 @@ +BIO_s_file.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_reset.3 b/linux_amd64/share/man/man3/BIO_reset.3 new file mode 120000 index 0000000..83b7fd3 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_reset.3 @@ -0,0 +1 @@ +BIO_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_retry_type.3 b/linux_amd64/share/man/man3/BIO_retry_type.3 new file mode 120000 index 0000000..3f3f6d3 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_retry_type.3 @@ -0,0 +1 @@ +BIO_should_retry.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_rw_filename.3 b/linux_amd64/share/man/man3/BIO_rw_filename.3 new file mode 120000 index 0000000..4efef0c --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_rw_filename.3 @@ -0,0 +1 @@ +BIO_s_file.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_s_accept.3 b/linux_amd64/share/man/man3/BIO_s_accept.3 index 44cbb71..c9aa9c6 100755 --- a/linux_amd64/share/man/man3/BIO_s_accept.3 +++ b/linux_amd64/share/man/man3/BIO_s_accept.3 @@ -124,17 +124,13 @@ .\" ======================================================================== .\" .IX Title "BIO_S_ACCEPT 3" -.TH BIO_S_ACCEPT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BIO_S_ACCEPT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -BIO_s_accept, BIO_set_accept_name, BIO_set_accept_port, BIO_get_accept_name, -BIO_get_accept_port, BIO_new_accept, BIO_set_nbio_accept, BIO_set_accept_bios, -BIO_get_peer_name, BIO_get_peer_port, -BIO_get_accept_ip_family, BIO_set_accept_ip_family, -BIO_set_bind_mode, BIO_get_bind_mode, BIO_do_accept \- accept BIO +BIO_s_accept, BIO_set_accept_name, BIO_set_accept_port, BIO_get_accept_name, BIO_get_accept_port, BIO_new_accept, BIO_set_nbio_accept, BIO_set_accept_bios, BIO_get_peer_name, BIO_get_peer_port, BIO_get_accept_ip_family, BIO_set_accept_ip_family, BIO_set_bind_mode, BIO_get_bind_mode, BIO_do_accept \- accept BIO .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -352,9 +348,9 @@ down each and finally closes both down. .Ve .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BIO_s_bio.3 b/linux_amd64/share/man/man3/BIO_s_bio.3 index 02d3c83..1005424 100755 --- a/linux_amd64/share/man/man3/BIO_s_bio.3 +++ b/linux_amd64/share/man/man3/BIO_s_bio.3 @@ -124,16 +124,13 @@ .\" ======================================================================== .\" .IX Title "BIO_S_BIO 3" -.TH BIO_S_BIO 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BIO_S_BIO 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -BIO_s_bio, BIO_make_bio_pair, BIO_destroy_bio_pair, BIO_shutdown_wr, -BIO_set_write_buf_size, BIO_get_write_buf_size, BIO_new_bio_pair, -BIO_get_write_guarantee, BIO_ctrl_get_write_guarantee, BIO_get_read_request, -BIO_ctrl_get_read_request, BIO_ctrl_reset_read_request \- BIO pair BIO +BIO_s_bio, BIO_make_bio_pair, BIO_destroy_bio_pair, BIO_shutdown_wr, BIO_set_write_buf_size, BIO_get_write_buf_size, BIO_new_bio_pair, BIO_get_write_guarantee, BIO_ctrl_get_write_guarantee, BIO_get_read_request, BIO_ctrl_get_read_request, BIO_ctrl_reset_read_request \- BIO pair BIO .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -315,9 +312,9 @@ the peer might be waiting for the data before being able to continue. \&\fIBIO_should_retry\fR\|(3), \fIBIO_read_ex\fR\|(3) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BIO_s_connect.3 b/linux_amd64/share/man/man3/BIO_s_connect.3 index 0c0dcf5..9683ba1 100755 --- a/linux_amd64/share/man/man3/BIO_s_connect.3 +++ b/linux_amd64/share/man/man3/BIO_s_connect.3 @@ -124,17 +124,13 @@ .\" ======================================================================== .\" .IX Title "BIO_S_CONNECT 3" -.TH BIO_S_CONNECT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BIO_S_CONNECT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -BIO_set_conn_address, BIO_get_conn_address, -BIO_s_connect, BIO_new_connect, BIO_set_conn_hostname, BIO_set_conn_port, -BIO_set_conn_ip_family, BIO_get_conn_ip_family, -BIO_get_conn_hostname, BIO_get_conn_port, -BIO_set_nbio, BIO_do_connect \- connect BIO +BIO_set_conn_address, BIO_get_conn_address, BIO_s_connect, BIO_new_connect, BIO_set_conn_hostname, BIO_set_conn_port, BIO_set_conn_ip_family, BIO_get_conn_ip_family, BIO_get_conn_hostname, BIO_get_conn_port, BIO_set_nbio, BIO_do_connect \- connect BIO .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -233,7 +229,7 @@ If blocking I/O is set then a non positive return value from any I/O call is caused by an error condition, although a zero return will normally mean that the connection was closed. .PP -If the port name is supplied as part of the hostname then this will +If the port name is supplied as part of the host name then this will override any value set with \fIBIO_set_conn_port()\fR. This may be undesirable if the application does not wish to allow connection to arbitrary ports. This can be avoided by checking for the presence of the ':' @@ -325,9 +321,9 @@ were removed in OpenSSL 1.1.0. Use \fIBIO_set_conn_address()\fR and \fIBIO_get_conn_address()\fR instead. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BIO_s_fd.3 b/linux_amd64/share/man/man3/BIO_s_fd.3 index a0b1c2d..938147c 100755 --- a/linux_amd64/share/man/man3/BIO_s_fd.3 +++ b/linux_amd64/share/man/man3/BIO_s_fd.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BIO_S_FD 3" -.TH BIO_S_FD 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BIO_S_FD 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -213,9 +213,9 @@ This is a file descriptor \s-1BIO\s0 version of \*(L"Hello World\*(R": \&\fIBIO_set_close\fR\|(3), \fIBIO_get_close\fR\|(3) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BIO_s_file.3 b/linux_amd64/share/man/man3/BIO_s_file.3 index f031903..b299acf 100755 --- a/linux_amd64/share/man/man3/BIO_s_file.3 +++ b/linux_amd64/share/man/man3/BIO_s_file.3 @@ -124,15 +124,13 @@ .\" ======================================================================== .\" .IX Title "BIO_S_FILE 3" -.TH BIO_S_FILE 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BIO_S_FILE 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -BIO_s_file, BIO_new_file, BIO_new_fp, BIO_set_fp, BIO_get_fp, -BIO_read_filename, BIO_write_filename, BIO_append_filename, -BIO_rw_filename \- FILE bio +BIO_s_file, BIO_new_file, BIO_new_fp, BIO_set_fp, BIO_get_fp, BIO_read_filename, BIO_write_filename, BIO_append_filename, BIO_rw_filename \- FILE bio .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -205,7 +203,7 @@ in stdio behaviour will be mirrored by the corresponding \s-1BIO\s0. .PP On Windows BIO_new_files reserves for the filename argument to be \&\s-1UTF\-8\s0 encoded. In other words if you have to make it work in multi\- -lingual environment, encode filenames in \s-1UTF\-8\s0. +lingual environment, encode file names in \s-1UTF\-8\s0. .SH "RETURN VALUES" .IX Header "RETURN VALUES" \&\fIBIO_s_file()\fR returns the file \s-1BIO\s0 method. @@ -288,9 +286,9 @@ occurred this differs from other types of \s-1BIO\s0 which will typically return \&\fIBIO_set_close\fR\|(3), \fIBIO_get_close\fR\|(3) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BIO_s_mem.3 b/linux_amd64/share/man/man3/BIO_s_mem.3 index e38659e..4d0f1e8 100755 --- a/linux_amd64/share/man/man3/BIO_s_mem.3 +++ b/linux_amd64/share/man/man3/BIO_s_mem.3 @@ -124,15 +124,13 @@ .\" ======================================================================== .\" .IX Title "BIO_S_MEM 3" -.TH BIO_S_MEM 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BIO_S_MEM 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -BIO_s_secmem, -BIO_s_mem, BIO_set_mem_eof_return, BIO_get_mem_data, BIO_set_mem_buf, -BIO_get_mem_ptr, BIO_new_mem_buf \- memory BIO +BIO_s_secmem, BIO_s_mem, BIO_set_mem_eof_return, BIO_get_mem_data, BIO_set_mem_buf, BIO_get_mem_ptr, BIO_new_mem_buf \- memory BIO .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -282,9 +280,9 @@ Extract the \s-1BUF_MEM\s0 structure from a memory \s-1BIO\s0 and then free up t .Ve .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BIO_s_null.3 b/linux_amd64/share/man/man3/BIO_s_null.3 index f92a489..68a0305 100755 --- a/linux_amd64/share/man/man3/BIO_s_null.3 +++ b/linux_amd64/share/man/man3/BIO_s_null.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BIO_S_NULL 3" -.TH BIO_S_NULL 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BIO_S_NULL 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -161,7 +161,7 @@ by adding a null sink \s-1BIO\s0 to the end of the chain .IX Header "COPYRIGHT" Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BIO_s_secmem.3 b/linux_amd64/share/man/man3/BIO_s_secmem.3 new file mode 120000 index 0000000..72cb355 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_s_secmem.3 @@ -0,0 +1 @@ +BIO_s_mem.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_s_socket.3 b/linux_amd64/share/man/man3/BIO_s_socket.3 index 3a34ae5..afeb578 100755 --- a/linux_amd64/share/man/man3/BIO_s_socket.3 +++ b/linux_amd64/share/man/man3/BIO_s_socket.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BIO_S_SOCKET 3" -.TH BIO_S_SOCKET 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BIO_S_SOCKET 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -171,7 +171,7 @@ occurred. .IX Header "COPYRIGHT" Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BIO_seek.3 b/linux_amd64/share/man/man3/BIO_seek.3 new file mode 120000 index 0000000..83b7fd3 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_seek.3 @@ -0,0 +1 @@ +BIO_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_set_accept_bios.3 b/linux_amd64/share/man/man3/BIO_set_accept_bios.3 new file mode 120000 index 0000000..0ce0c2f --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_set_accept_bios.3 @@ -0,0 +1 @@ +BIO_s_accept.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_set_accept_ip_family.3 b/linux_amd64/share/man/man3/BIO_set_accept_ip_family.3 new file mode 120000 index 0000000..0ce0c2f --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_set_accept_ip_family.3 @@ -0,0 +1 @@ +BIO_s_accept.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_set_accept_name.3 b/linux_amd64/share/man/man3/BIO_set_accept_name.3 new file mode 120000 index 0000000..0ce0c2f --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_set_accept_name.3 @@ -0,0 +1 @@ +BIO_s_accept.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_set_accept_port.3 b/linux_amd64/share/man/man3/BIO_set_accept_port.3 new file mode 120000 index 0000000..0ce0c2f --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_set_accept_port.3 @@ -0,0 +1 @@ +BIO_s_accept.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_set_bind_mode.3 b/linux_amd64/share/man/man3/BIO_set_bind_mode.3 new file mode 120000 index 0000000..0ce0c2f --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_set_bind_mode.3 @@ -0,0 +1 @@ +BIO_s_accept.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_set_buffer_read_data.3 b/linux_amd64/share/man/man3/BIO_set_buffer_read_data.3 new file mode 120000 index 0000000..977161c --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_set_buffer_read_data.3 @@ -0,0 +1 @@ +BIO_f_buffer.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_set_buffer_size.3 b/linux_amd64/share/man/man3/BIO_set_buffer_size.3 new file mode 120000 index 0000000..977161c --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_set_buffer_size.3 @@ -0,0 +1 @@ +BIO_f_buffer.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_set_callback.3 b/linux_amd64/share/man/man3/BIO_set_callback.3 index 35eccd6..539d9ac 100755 --- a/linux_amd64/share/man/man3/BIO_set_callback.3 +++ b/linux_amd64/share/man/man3/BIO_set_callback.3 @@ -124,16 +124,13 @@ .\" ======================================================================== .\" .IX Title "BIO_SET_CALLBACK 3" -.TH BIO_SET_CALLBACK 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BIO_SET_CALLBACK 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -BIO_set_callback_ex, BIO_get_callback_ex, BIO_set_callback, BIO_get_callback, -BIO_set_callback_arg, BIO_get_callback_arg, BIO_debug_callback, -BIO_callback_fn_ex, BIO_callback_fn -\&\- BIO callback functions +BIO_set_callback_ex, BIO_get_callback_ex, BIO_set_callback, BIO_get_callback, BIO_set_callback_arg, BIO_get_callback_arg, BIO_debug_callback, BIO_callback_fn_ex, BIO_callback_fn \&\- BIO callback functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -176,7 +173,7 @@ out information relating to each \s-1BIO\s0 operation. If the callback argument is set it is interpreted as a \s-1BIO\s0 to send the information to, otherwise stderr is used. .PP -BIO_callback_fn_ex is the type of the callback function and BIO_callback_fn +\&\fIBIO_callback_fn_ex()\fR is the type of the callback function and \fIBIO_callback_fn()\fR is the type of the old format callback function. The meaning of each argument is described below: .IP "\fBb\fR" 4 @@ -378,9 +375,9 @@ The \fIBIO_debug_callback()\fR function is a good example, its source is in crypto/bio/bio_cb.c .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BIO_set_callback_arg.3 b/linux_amd64/share/man/man3/BIO_set_callback_arg.3 new file mode 120000 index 0000000..b2c6b7a --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_set_callback_arg.3 @@ -0,0 +1 @@ +BIO_set_callback.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_set_callback_ex.3 b/linux_amd64/share/man/man3/BIO_set_callback_ex.3 new file mode 120000 index 0000000..b2c6b7a --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_set_callback_ex.3 @@ -0,0 +1 @@ +BIO_set_callback.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_set_cipher.3 b/linux_amd64/share/man/man3/BIO_set_cipher.3 new file mode 120000 index 0000000..0d99524 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_set_cipher.3 @@ -0,0 +1 @@ +BIO_f_cipher.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_set_close.3 b/linux_amd64/share/man/man3/BIO_set_close.3 new file mode 120000 index 0000000..83b7fd3 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_set_close.3 @@ -0,0 +1 @@ +BIO_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_set_conn_address.3 b/linux_amd64/share/man/man3/BIO_set_conn_address.3 new file mode 120000 index 0000000..3e3e84a --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_set_conn_address.3 @@ -0,0 +1 @@ +BIO_s_connect.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_set_conn_hostname.3 b/linux_amd64/share/man/man3/BIO_set_conn_hostname.3 new file mode 120000 index 0000000..3e3e84a --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_set_conn_hostname.3 @@ -0,0 +1 @@ +BIO_s_connect.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_set_conn_ip_family.3 b/linux_amd64/share/man/man3/BIO_set_conn_ip_family.3 new file mode 120000 index 0000000..3e3e84a --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_set_conn_ip_family.3 @@ -0,0 +1 @@ +BIO_s_connect.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_set_conn_port.3 b/linux_amd64/share/man/man3/BIO_set_conn_port.3 new file mode 120000 index 0000000..3e3e84a --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_set_conn_port.3 @@ -0,0 +1 @@ +BIO_s_connect.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_set_data.3 b/linux_amd64/share/man/man3/BIO_set_data.3 new file mode 120000 index 0000000..1bbda12 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_set_data.3 @@ -0,0 +1 @@ +BIO_get_data.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_set_ex_data.3 b/linux_amd64/share/man/man3/BIO_set_ex_data.3 new file mode 120000 index 0000000..aa4dc88 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_set_ex_data.3 @@ -0,0 +1 @@ +BIO_get_ex_new_index.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_set_fd.3 b/linux_amd64/share/man/man3/BIO_set_fd.3 new file mode 120000 index 0000000..47d0cb8 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_set_fd.3 @@ -0,0 +1 @@ +BIO_s_fd.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_set_fp.3 b/linux_amd64/share/man/man3/BIO_set_fp.3 new file mode 120000 index 0000000..4efef0c --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_set_fp.3 @@ -0,0 +1 @@ +BIO_s_file.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_set_info_callback.3 b/linux_amd64/share/man/man3/BIO_set_info_callback.3 new file mode 120000 index 0000000..83b7fd3 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_set_info_callback.3 @@ -0,0 +1 @@ +BIO_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_set_init.3 b/linux_amd64/share/man/man3/BIO_set_init.3 new file mode 120000 index 0000000..1bbda12 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_set_init.3 @@ -0,0 +1 @@ +BIO_get_data.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_set_md.3 b/linux_amd64/share/man/man3/BIO_set_md.3 new file mode 120000 index 0000000..264a7c3 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_set_md.3 @@ -0,0 +1 @@ +BIO_f_md.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_set_mem_buf.3 b/linux_amd64/share/man/man3/BIO_set_mem_buf.3 new file mode 120000 index 0000000..72cb355 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_set_mem_buf.3 @@ -0,0 +1 @@ +BIO_s_mem.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_set_mem_eof_return.3 b/linux_amd64/share/man/man3/BIO_set_mem_eof_return.3 new file mode 120000 index 0000000..72cb355 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_set_mem_eof_return.3 @@ -0,0 +1 @@ +BIO_s_mem.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_set_nbio.3 b/linux_amd64/share/man/man3/BIO_set_nbio.3 new file mode 120000 index 0000000..3e3e84a --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_set_nbio.3 @@ -0,0 +1 @@ +BIO_s_connect.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_set_nbio_accept.3 b/linux_amd64/share/man/man3/BIO_set_nbio_accept.3 new file mode 120000 index 0000000..0ce0c2f --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_set_nbio_accept.3 @@ -0,0 +1 @@ +BIO_s_accept.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_set_next.3 b/linux_amd64/share/man/man3/BIO_set_next.3 new file mode 120000 index 0000000..e6846c7 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_set_next.3 @@ -0,0 +1 @@ +BIO_push.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_set_read_buffer_size.3 b/linux_amd64/share/man/man3/BIO_set_read_buffer_size.3 new file mode 120000 index 0000000..977161c --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_set_read_buffer_size.3 @@ -0,0 +1 @@ +BIO_f_buffer.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_set_retry_reason.3 b/linux_amd64/share/man/man3/BIO_set_retry_reason.3 new file mode 120000 index 0000000..3f3f6d3 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_set_retry_reason.3 @@ -0,0 +1 @@ +BIO_should_retry.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_set_shutdown.3 b/linux_amd64/share/man/man3/BIO_set_shutdown.3 new file mode 120000 index 0000000..1bbda12 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_set_shutdown.3 @@ -0,0 +1 @@ +BIO_get_data.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_set_ssl.3 b/linux_amd64/share/man/man3/BIO_set_ssl.3 new file mode 120000 index 0000000..4451cfe --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_set_ssl.3 @@ -0,0 +1 @@ +BIO_f_ssl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_set_ssl_mode.3 b/linux_amd64/share/man/man3/BIO_set_ssl_mode.3 new file mode 120000 index 0000000..4451cfe --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_set_ssl_mode.3 @@ -0,0 +1 @@ +BIO_f_ssl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_set_ssl_renegotiate_bytes.3 b/linux_amd64/share/man/man3/BIO_set_ssl_renegotiate_bytes.3 new file mode 120000 index 0000000..4451cfe --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_set_ssl_renegotiate_bytes.3 @@ -0,0 +1 @@ +BIO_f_ssl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_set_ssl_renegotiate_timeout.3 b/linux_amd64/share/man/man3/BIO_set_ssl_renegotiate_timeout.3 new file mode 120000 index 0000000..4451cfe --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_set_ssl_renegotiate_timeout.3 @@ -0,0 +1 @@ +BIO_f_ssl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_set_write_buf_size.3 b/linux_amd64/share/man/man3/BIO_set_write_buf_size.3 new file mode 120000 index 0000000..5ba6898 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_set_write_buf_size.3 @@ -0,0 +1 @@ +BIO_s_bio.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_set_write_buffer_size.3 b/linux_amd64/share/man/man3/BIO_set_write_buffer_size.3 new file mode 120000 index 0000000..977161c --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_set_write_buffer_size.3 @@ -0,0 +1 @@ +BIO_f_buffer.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_should_io_special.3 b/linux_amd64/share/man/man3/BIO_should_io_special.3 new file mode 120000 index 0000000..3f3f6d3 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_should_io_special.3 @@ -0,0 +1 @@ +BIO_should_retry.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_should_read.3 b/linux_amd64/share/man/man3/BIO_should_read.3 new file mode 120000 index 0000000..3f3f6d3 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_should_read.3 @@ -0,0 +1 @@ +BIO_should_retry.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_should_retry.3 b/linux_amd64/share/man/man3/BIO_should_retry.3 index 4dc6d12..a116fe0 100755 --- a/linux_amd64/share/man/man3/BIO_should_retry.3 +++ b/linux_amd64/share/man/man3/BIO_should_retry.3 @@ -124,16 +124,13 @@ .\" ======================================================================== .\" .IX Title "BIO_SHOULD_RETRY 3" -.TH BIO_SHOULD_RETRY 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BIO_SHOULD_RETRY 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -BIO_should_read, BIO_should_write, -BIO_should_io_special, BIO_retry_type, BIO_should_retry, -BIO_get_retry_BIO, BIO_get_retry_reason, BIO_set_retry_reason \- BIO retry -functions +BIO_should_read, BIO_should_write, BIO_should_io_special, BIO_retry_type, BIO_should_retry, BIO_get_retry_BIO, BIO_get_retry_reason, BIO_set_retry_reason \- BIO retry functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -252,7 +249,7 @@ condition or false if there is no retry condition. \&\fIBIO_get_retry_reason()\fR returns the reason for a special condition. .SH "SEE ALSO" .IX Header "SEE ALSO" -\&\fIbio\fR\|(7) +bio .SH "HISTORY" .IX Header "HISTORY" The \fIBIO_get_retry_reason()\fR and \fIBIO_set_retry_reason()\fR functions were added in @@ -261,7 +258,7 @@ OpenSSL 1.1.0. .IX Header "COPYRIGHT" Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BIO_should_write.3 b/linux_amd64/share/man/man3/BIO_should_write.3 new file mode 120000 index 0000000..3f3f6d3 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_should_write.3 @@ -0,0 +1 @@ +BIO_should_retry.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_shutdown_wr.3 b/linux_amd64/share/man/man3/BIO_shutdown_wr.3 new file mode 120000 index 0000000..5ba6898 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_shutdown_wr.3 @@ -0,0 +1 @@ +BIO_s_bio.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_snprintf.3 b/linux_amd64/share/man/man3/BIO_snprintf.3 new file mode 120000 index 0000000..09a898d --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_snprintf.3 @@ -0,0 +1 @@ +BIO_printf.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_socket.3 b/linux_amd64/share/man/man3/BIO_socket.3 new file mode 120000 index 0000000..2f67a67 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_socket.3 @@ -0,0 +1 @@ +BIO_connect.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_ssl_copy_session_id.3 b/linux_amd64/share/man/man3/BIO_ssl_copy_session_id.3 new file mode 120000 index 0000000..4451cfe --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_ssl_copy_session_id.3 @@ -0,0 +1 @@ +BIO_f_ssl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_ssl_shutdown.3 b/linux_amd64/share/man/man3/BIO_ssl_shutdown.3 new file mode 120000 index 0000000..4451cfe --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_ssl_shutdown.3 @@ -0,0 +1 @@ +BIO_f_ssl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_tell.3 b/linux_amd64/share/man/man3/BIO_tell.3 new file mode 120000 index 0000000..83b7fd3 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_tell.3 @@ -0,0 +1 @@ +BIO_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_up_ref.3 b/linux_amd64/share/man/man3/BIO_up_ref.3 new file mode 120000 index 0000000..9161f01 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_up_ref.3 @@ -0,0 +1 @@ +BIO_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_vfree.3 b/linux_amd64/share/man/man3/BIO_vfree.3 new file mode 120000 index 0000000..9161f01 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_vfree.3 @@ -0,0 +1 @@ +BIO_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_vprintf.3 b/linux_amd64/share/man/man3/BIO_vprintf.3 new file mode 120000 index 0000000..09a898d --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_vprintf.3 @@ -0,0 +1 @@ +BIO_printf.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_vsnprintf.3 b/linux_amd64/share/man/man3/BIO_vsnprintf.3 new file mode 120000 index 0000000..09a898d --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_vsnprintf.3 @@ -0,0 +1 @@ +BIO_printf.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_wpending.3 b/linux_amd64/share/man/man3/BIO_wpending.3 new file mode 120000 index 0000000..83b7fd3 --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_wpending.3 @@ -0,0 +1 @@ +BIO_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_write.3 b/linux_amd64/share/man/man3/BIO_write.3 new file mode 120000 index 0000000..899127a --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_write.3 @@ -0,0 +1 @@ +BIO_read.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_write_ex.3 b/linux_amd64/share/man/man3/BIO_write_ex.3 new file mode 120000 index 0000000..899127a --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_write_ex.3 @@ -0,0 +1 @@ +BIO_read.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BIO_write_filename.3 b/linux_amd64/share/man/man3/BIO_write_filename.3 new file mode 120000 index 0000000..4efef0c --- /dev/null +++ b/linux_amd64/share/man/man3/BIO_write_filename.3 @@ -0,0 +1 @@ +BIO_s_file.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_BLINDING_convert.3 b/linux_amd64/share/man/man3/BN_BLINDING_convert.3 new file mode 120000 index 0000000..b9befb1 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_BLINDING_convert.3 @@ -0,0 +1 @@ +BN_BLINDING_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_BLINDING_convert_ex.3 b/linux_amd64/share/man/man3/BN_BLINDING_convert_ex.3 new file mode 120000 index 0000000..b9befb1 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_BLINDING_convert_ex.3 @@ -0,0 +1 @@ +BN_BLINDING_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_BLINDING_create_param.3 b/linux_amd64/share/man/man3/BN_BLINDING_create_param.3 new file mode 120000 index 0000000..b9befb1 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_BLINDING_create_param.3 @@ -0,0 +1 @@ +BN_BLINDING_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_BLINDING_free.3 b/linux_amd64/share/man/man3/BN_BLINDING_free.3 new file mode 120000 index 0000000..b9befb1 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_BLINDING_free.3 @@ -0,0 +1 @@ +BN_BLINDING_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_BLINDING_get_flags.3 b/linux_amd64/share/man/man3/BN_BLINDING_get_flags.3 new file mode 120000 index 0000000..b9befb1 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_BLINDING_get_flags.3 @@ -0,0 +1 @@ +BN_BLINDING_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_BLINDING_invert.3 b/linux_amd64/share/man/man3/BN_BLINDING_invert.3 new file mode 120000 index 0000000..b9befb1 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_BLINDING_invert.3 @@ -0,0 +1 @@ +BN_BLINDING_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_BLINDING_invert_ex.3 b/linux_amd64/share/man/man3/BN_BLINDING_invert_ex.3 new file mode 120000 index 0000000..b9befb1 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_BLINDING_invert_ex.3 @@ -0,0 +1 @@ +BN_BLINDING_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_BLINDING_is_current_thread.3 b/linux_amd64/share/man/man3/BN_BLINDING_is_current_thread.3 new file mode 120000 index 0000000..b9befb1 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_BLINDING_is_current_thread.3 @@ -0,0 +1 @@ +BN_BLINDING_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_BLINDING_lock.3 b/linux_amd64/share/man/man3/BN_BLINDING_lock.3 new file mode 120000 index 0000000..b9befb1 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_BLINDING_lock.3 @@ -0,0 +1 @@ +BN_BLINDING_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_BLINDING_new.3 b/linux_amd64/share/man/man3/BN_BLINDING_new.3 index 80339fd..9130759 100755 --- a/linux_amd64/share/man/man3/BN_BLINDING_new.3 +++ b/linux_amd64/share/man/man3/BN_BLINDING_new.3 @@ -124,17 +124,13 @@ .\" ======================================================================== .\" .IX Title "BN_BLINDING_NEW 3" -.TH BN_BLINDING_NEW 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BN_BLINDING_NEW 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -BN_BLINDING_new, BN_BLINDING_free, BN_BLINDING_update, BN_BLINDING_convert, -BN_BLINDING_invert, BN_BLINDING_convert_ex, BN_BLINDING_invert_ex, -BN_BLINDING_is_current_thread, BN_BLINDING_set_current_thread, -BN_BLINDING_lock, BN_BLINDING_unlock, BN_BLINDING_get_flags, -BN_BLINDING_set_flags, BN_BLINDING_create_param \- blinding related BIGNUM functions +BN_BLINDING_new, BN_BLINDING_free, BN_BLINDING_update, BN_BLINDING_convert, BN_BLINDING_invert, BN_BLINDING_convert_ex, BN_BLINDING_invert_ex, BN_BLINDING_is_current_thread, BN_BLINDING_set_current_thread, BN_BLINDING_lock, BN_BLINDING_unlock, BN_BLINDING_get_flags, BN_BLINDING_set_flags, BN_BLINDING_create_param \- blinding related BIGNUM functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -243,7 +239,7 @@ deprecates \fIBN_BLINDING_set_thread_id()\fR and \fIBN_BLINDING_get_thread_id()\ .IX Header "COPYRIGHT" Copyright 2005\-2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BN_BLINDING_set_current_thread.3 b/linux_amd64/share/man/man3/BN_BLINDING_set_current_thread.3 new file mode 120000 index 0000000..b9befb1 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_BLINDING_set_current_thread.3 @@ -0,0 +1 @@ +BN_BLINDING_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_BLINDING_set_flags.3 b/linux_amd64/share/man/man3/BN_BLINDING_set_flags.3 new file mode 120000 index 0000000..b9befb1 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_BLINDING_set_flags.3 @@ -0,0 +1 @@ +BN_BLINDING_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_BLINDING_unlock.3 b/linux_amd64/share/man/man3/BN_BLINDING_unlock.3 new file mode 120000 index 0000000..b9befb1 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_BLINDING_unlock.3 @@ -0,0 +1 @@ +BN_BLINDING_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_BLINDING_update.3 b/linux_amd64/share/man/man3/BN_BLINDING_update.3 new file mode 120000 index 0000000..b9befb1 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_BLINDING_update.3 @@ -0,0 +1 @@ +BN_BLINDING_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_CTX_end.3 b/linux_amd64/share/man/man3/BN_CTX_end.3 new file mode 120000 index 0000000..12861e2 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_CTX_end.3 @@ -0,0 +1 @@ +BN_CTX_start.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_CTX_free.3 b/linux_amd64/share/man/man3/BN_CTX_free.3 new file mode 120000 index 0000000..eb2d371 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_CTX_free.3 @@ -0,0 +1 @@ +BN_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_CTX_get.3 b/linux_amd64/share/man/man3/BN_CTX_get.3 new file mode 120000 index 0000000..12861e2 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_CTX_get.3 @@ -0,0 +1 @@ +BN_CTX_start.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_CTX_new.3 b/linux_amd64/share/man/man3/BN_CTX_new.3 index fd9089f..2f89679 100755 --- a/linux_amd64/share/man/man3/BN_CTX_new.3 +++ b/linux_amd64/share/man/man3/BN_CTX_new.3 @@ -124,23 +124,20 @@ .\" ======================================================================== .\" .IX Title "BN_CTX_NEW 3" -.TH BN_CTX_NEW 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BN_CTX_NEW 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -BN_CTX_new_ex, BN_CTX_new, BN_CTX_secure_new_ex, BN_CTX_secure_new, BN_CTX_free -\&\- allocate and free BN_CTX structures +BN_CTX_new, BN_CTX_secure_new, BN_CTX_free \- allocate and free BN_CTX structures .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include \& -\& BN_CTX *BN_CTX_new_ex(OPENSSL_CTX *ctx); \& BN_CTX *BN_CTX_new(void); \& -\& BN_CTX *BN_CTX_secure_new_ex(OPENSSL_CTX *ctx); \& BN_CTX *BN_CTX_secure_new(void); \& \& void BN_CTX_free(BN_CTX *c); @@ -152,17 +149,10 @@ library functions. Since dynamic memory allocation to create \fB\s-1BIGNUM\s0\fR is rather expensive when used in conjunction with repeated subroutine calls, the \fB\s-1BN_CTX\s0\fR structure is used. .PP -\&\fIBN_CTX_new_ex()\fR allocates and initializes a \fB\s-1BN_CTX\s0\fR structure for the given -library context \fBctx\fR. The value may be \s-1NULL\s0 in which case the default -library context will be used. \fIBN_CTX_new()\fR is the same as \fIBN_CTX_new_ex()\fR except -that the default library context is always used. -.PP -\&\fIBN_CTX_secure_new_ex()\fR allocates and initializes a \fB\s-1BN_CTX\s0\fR structure +\&\fIBN_CTX_new()\fR allocates and initializes a \fB\s-1BN_CTX\s0\fR structure. +\&\fIBN_CTX_secure_new()\fR allocates and initializes a \fB\s-1BN_CTX\s0\fR structure but uses the secure heap (see \fICRYPTO_secure_malloc\fR\|(3)) to hold the -\&\fB\s-1BIGNUM\s0\fRs for the given library context \fBctx\fR. The value may be \s-1NULL\s0 in -which case the default library context will be used. \fIBN_CTX_secure_new()\fR is the -same as \fIBN_CTX_secure_new_ex()\fR except that the default library context is always -used. +\&\fB\s-1BIGNUM\s0\fRs. .PP \&\fIBN_CTX_free()\fR frees the components of the \fB\s-1BN_CTX\s0\fR and the structure itself. Since \fIBN_CTX_start()\fR is required in order to obtain \fB\s-1BIGNUM\s0\fRs from the @@ -208,7 +198,7 @@ replace use of BN_CTX_init with BN_CTX_new instead: .IX Header "COPYRIGHT" Copyright 2000\-2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BN_CTX_secure_new.3 b/linux_amd64/share/man/man3/BN_CTX_secure_new.3 new file mode 120000 index 0000000..eb2d371 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_CTX_secure_new.3 @@ -0,0 +1 @@ +BN_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_CTX_start.3 b/linux_amd64/share/man/man3/BN_CTX_start.3 index 2ebc28a..89bedbd 100755 --- a/linux_amd64/share/man/man3/BN_CTX_start.3 +++ b/linux_amd64/share/man/man3/BN_CTX_start.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BN_CTX_START 3" -.TH BN_CTX_START 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BN_CTX_START 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -172,9 +172,9 @@ can be obtained by \fIERR_get_error\fR\|(3). \&\fIBN_CTX_new\fR\|(3) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BN_GENCB_call.3 b/linux_amd64/share/man/man3/BN_GENCB_call.3 new file mode 120000 index 0000000..de0c835 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_GENCB_call.3 @@ -0,0 +1 @@ +BN_generate_prime.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_GENCB_free.3 b/linux_amd64/share/man/man3/BN_GENCB_free.3 new file mode 120000 index 0000000..de0c835 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_GENCB_free.3 @@ -0,0 +1 @@ +BN_generate_prime.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_GENCB_get_arg.3 b/linux_amd64/share/man/man3/BN_GENCB_get_arg.3 new file mode 120000 index 0000000..de0c835 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_GENCB_get_arg.3 @@ -0,0 +1 @@ +BN_generate_prime.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_GENCB_new.3 b/linux_amd64/share/man/man3/BN_GENCB_new.3 new file mode 120000 index 0000000..de0c835 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_GENCB_new.3 @@ -0,0 +1 @@ +BN_generate_prime.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_GENCB_set.3 b/linux_amd64/share/man/man3/BN_GENCB_set.3 new file mode 120000 index 0000000..de0c835 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_GENCB_set.3 @@ -0,0 +1 @@ +BN_generate_prime.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_GENCB_set_old.3 b/linux_amd64/share/man/man3/BN_GENCB_set_old.3 new file mode 120000 index 0000000..de0c835 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_GENCB_set_old.3 @@ -0,0 +1 @@ +BN_generate_prime.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_MONT_CTX_copy.3 b/linux_amd64/share/man/man3/BN_MONT_CTX_copy.3 new file mode 120000 index 0000000..a5c73d4 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_MONT_CTX_copy.3 @@ -0,0 +1 @@ +BN_mod_mul_montgomery.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_MONT_CTX_free.3 b/linux_amd64/share/man/man3/BN_MONT_CTX_free.3 new file mode 120000 index 0000000..a5c73d4 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_MONT_CTX_free.3 @@ -0,0 +1 @@ +BN_mod_mul_montgomery.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_MONT_CTX_new.3 b/linux_amd64/share/man/man3/BN_MONT_CTX_new.3 new file mode 120000 index 0000000..a5c73d4 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_MONT_CTX_new.3 @@ -0,0 +1 @@ +BN_mod_mul_montgomery.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_MONT_CTX_set.3 b/linux_amd64/share/man/man3/BN_MONT_CTX_set.3 new file mode 120000 index 0000000..a5c73d4 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_MONT_CTX_set.3 @@ -0,0 +1 @@ +BN_mod_mul_montgomery.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_RECP_CTX_free.3 b/linux_amd64/share/man/man3/BN_RECP_CTX_free.3 new file mode 120000 index 0000000..c1917ad --- /dev/null +++ b/linux_amd64/share/man/man3/BN_RECP_CTX_free.3 @@ -0,0 +1 @@ +BN_mod_mul_reciprocal.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_RECP_CTX_new.3 b/linux_amd64/share/man/man3/BN_RECP_CTX_new.3 new file mode 120000 index 0000000..c1917ad --- /dev/null +++ b/linux_amd64/share/man/man3/BN_RECP_CTX_new.3 @@ -0,0 +1 @@ +BN_mod_mul_reciprocal.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_RECP_CTX_set.3 b/linux_amd64/share/man/man3/BN_RECP_CTX_set.3 new file mode 120000 index 0000000..c1917ad --- /dev/null +++ b/linux_amd64/share/man/man3/BN_RECP_CTX_set.3 @@ -0,0 +1 @@ +BN_mod_mul_reciprocal.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_add.3 b/linux_amd64/share/man/man3/BN_add.3 index 7214009..4ec2d4a 100755 --- a/linux_amd64/share/man/man3/BN_add.3 +++ b/linux_amd64/share/man/man3/BN_add.3 @@ -124,15 +124,13 @@ .\" ======================================================================== .\" .IX Title "BN_ADD 3" -.TH BN_ADD 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BN_ADD 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -BN_add, BN_sub, BN_mul, BN_sqr, BN_div, BN_mod, BN_nnmod, BN_mod_add, -BN_mod_sub, BN_mod_mul, BN_mod_sqr, BN_exp, BN_mod_exp, BN_gcd \- -arithmetic operations on BIGNUMs +BN_add, BN_sub, BN_mul, BN_sqr, BN_div, BN_mod, BN_nnmod, BN_mod_add, BN_mod_sub, BN_mod_mul, BN_mod_sqr, BN_exp, BN_mod_exp, BN_gcd \- arithmetic operations on BIGNUMs .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -246,7 +244,7 @@ The error codes can be obtained by \fIERR_get_error\fR\|(3). .IX Header "COPYRIGHT" Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BN_add_word.3 b/linux_amd64/share/man/man3/BN_add_word.3 index 1309a95..93a4dbf 100755 --- a/linux_amd64/share/man/man3/BN_add_word.3 +++ b/linux_amd64/share/man/man3/BN_add_word.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "BN_ADD_WORD 3" -.TH BN_ADD_WORD 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BN_ADD_WORD 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -BN_add_word, BN_sub_word, BN_mul_word, BN_div_word, BN_mod_word \- arithmetic -functions on BIGNUMs with integers +BN_add_word, BN_sub_word, BN_mul_word, BN_div_word, BN_mod_word \- arithmetic functions on BIGNUMs with integers .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -178,7 +177,7 @@ on error. The error codes can be obtained by \fIERR_get_error\fR\|(3). .IX Header "COPYRIGHT" Copyright 2000\-2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BN_bin2bn.3 b/linux_amd64/share/man/man3/BN_bin2bn.3 new file mode 120000 index 0000000..794dc7f --- /dev/null +++ b/linux_amd64/share/man/man3/BN_bin2bn.3 @@ -0,0 +1 @@ +BN_bn2bin.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_bn2bin.3 b/linux_amd64/share/man/man3/BN_bn2bin.3 index 6cfda22..06eeec1 100755 --- a/linux_amd64/share/man/man3/BN_bn2bin.3 +++ b/linux_amd64/share/man/man3/BN_bn2bin.3 @@ -124,16 +124,13 @@ .\" ======================================================================== .\" .IX Title "BN_BN2BIN 3" -.TH BN_BN2BIN 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BN_BN2BIN 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -BN_bn2binpad, -BN_bn2bin, BN_bin2bn, BN_bn2lebinpad, BN_lebin2bn, -BN_bn2nativepad, BN_native2bn, BN_bn2hex, BN_bn2dec, BN_hex2bn, BN_dec2bn, -BN_print, BN_print_fp, BN_bn2mpi, BN_mpi2bn \- format conversions +BN_bn2binpad, BN_bn2bin, BN_bin2bn, BN_bn2lebinpad, BN_lebin2bn, BN_bn2hex, BN_bn2dec, BN_hex2bn, BN_dec2bn, BN_print, BN_print_fp, BN_bn2mpi, BN_mpi2bn \- format conversions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -146,9 +143,6 @@ BN_print, BN_print_fp, BN_bn2mpi, BN_mpi2bn \- format conversions \& int BN_bn2lebinpad(const BIGNUM *a, unsigned char *to, int tolen); \& BIGNUM *BN_lebin2bn(const unsigned char *s, int len, BIGNUM *ret); \& -\& int BN_bn2nativepad(const BIGNUM *a, unsigned char *to, int tolen); -\& BIGNUM *BN_native2bn(const unsigned char *s, int len, BIGNUM *ret); -\& \& char *BN_bn2hex(const BIGNUM *a); \& char *BN_bn2dec(const BIGNUM *a); \& int BN_hex2bn(BIGNUM **a, const char *str); @@ -168,7 +162,7 @@ memory. .PP \&\fIBN_bn2binpad()\fR also converts the absolute value of \fBa\fR into big-endian form and stores it at \fBto\fR. \fBtolen\fR indicates the length of the output buffer -\&\fBto\fR. The result is padded with zeros if necessary. If \fBtolen\fR is less than +\&\fBto\fR. The result is padded with zeroes if necessary. If \fBtolen\fR is less than BN_num_bytes(\fBa\fR) an error is returned. .PP \&\fIBN_bin2bn()\fR converts the positive integer in big-endian form of length @@ -178,11 +172,6 @@ BN_num_bytes(\fBa\fR) an error is returned. \&\fIBN_bn2lebinpad()\fR and \fIBN_lebin2bn()\fR are identical to \fIBN_bn2binpad()\fR and \&\fIBN_bin2bn()\fR except the buffer is in little-endian format. .PP -\&\fIBN_bn2nativepad()\fR and \fIBN_native2bn()\fR are identical to \fIBN_bn2binpad()\fR and -\&\fIBN_bin2bn()\fR except the buffer is in native format, i.e. most significant -byte first on big-endian platforms, and least significant byte first on -little-endian platforms. -.PP \&\fIBN_bn2hex()\fR and \fIBN_bn2dec()\fR return printable strings containing the hexadecimal and decimal encoding of \fBa\fR respectively. For negative numbers, the string is prefaced with a leading '\-'. The string must be @@ -241,7 +230,7 @@ The error codes can be obtained by \fIERR_get_error\fR\|(3). .IX Header "COPYRIGHT" Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BN_bn2binpad.3 b/linux_amd64/share/man/man3/BN_bn2binpad.3 new file mode 120000 index 0000000..794dc7f --- /dev/null +++ b/linux_amd64/share/man/man3/BN_bn2binpad.3 @@ -0,0 +1 @@ +BN_bn2bin.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_bn2dec.3 b/linux_amd64/share/man/man3/BN_bn2dec.3 new file mode 120000 index 0000000..794dc7f --- /dev/null +++ b/linux_amd64/share/man/man3/BN_bn2dec.3 @@ -0,0 +1 @@ +BN_bn2bin.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_bn2hex.3 b/linux_amd64/share/man/man3/BN_bn2hex.3 new file mode 120000 index 0000000..794dc7f --- /dev/null +++ b/linux_amd64/share/man/man3/BN_bn2hex.3 @@ -0,0 +1 @@ +BN_bn2bin.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_bn2lebinpad.3 b/linux_amd64/share/man/man3/BN_bn2lebinpad.3 new file mode 120000 index 0000000..794dc7f --- /dev/null +++ b/linux_amd64/share/man/man3/BN_bn2lebinpad.3 @@ -0,0 +1 @@ +BN_bn2bin.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_bn2mpi.3 b/linux_amd64/share/man/man3/BN_bn2mpi.3 new file mode 120000 index 0000000..794dc7f --- /dev/null +++ b/linux_amd64/share/man/man3/BN_bn2mpi.3 @@ -0,0 +1 @@ +BN_bn2bin.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_clear.3 b/linux_amd64/share/man/man3/BN_clear.3 new file mode 120000 index 0000000..0512e5a --- /dev/null +++ b/linux_amd64/share/man/man3/BN_clear.3 @@ -0,0 +1 @@ +BN_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_clear_bit.3 b/linux_amd64/share/man/man3/BN_clear_bit.3 new file mode 120000 index 0000000..fa628cf --- /dev/null +++ b/linux_amd64/share/man/man3/BN_clear_bit.3 @@ -0,0 +1 @@ +BN_set_bit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_clear_free.3 b/linux_amd64/share/man/man3/BN_clear_free.3 new file mode 120000 index 0000000..0512e5a --- /dev/null +++ b/linux_amd64/share/man/man3/BN_clear_free.3 @@ -0,0 +1 @@ +BN_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_cmp.3 b/linux_amd64/share/man/man3/BN_cmp.3 index 11e83a2..3902f84 100755 --- a/linux_amd64/share/man/man3/BN_cmp.3 +++ b/linux_amd64/share/man/man3/BN_cmp.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BN_CMP 3" -.TH BN_CMP 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BN_CMP 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -165,7 +165,7 @@ the condition is true, 0 otherwise. .IX Header "COPYRIGHT" Copyright 2000\-2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BN_copy.3 b/linux_amd64/share/man/man3/BN_copy.3 index e7edcab..13ed55c 100755 --- a/linux_amd64/share/man/man3/BN_copy.3 +++ b/linux_amd64/share/man/man3/BN_copy.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BN_COPY 3" -.TH BN_COPY 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BN_COPY 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -176,7 +176,7 @@ by \fIERR_get_error\fR\|(3). .IX Header "COPYRIGHT" Copyright 2000\-2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BN_dec2bn.3 b/linux_amd64/share/man/man3/BN_dec2bn.3 new file mode 120000 index 0000000..794dc7f --- /dev/null +++ b/linux_amd64/share/man/man3/BN_dec2bn.3 @@ -0,0 +1 @@ +BN_bn2bin.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_div.3 b/linux_amd64/share/man/man3/BN_div.3 new file mode 120000 index 0000000..386e9d5 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_div.3 @@ -0,0 +1 @@ +BN_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_div_recp.3 b/linux_amd64/share/man/man3/BN_div_recp.3 new file mode 120000 index 0000000..c1917ad --- /dev/null +++ b/linux_amd64/share/man/man3/BN_div_recp.3 @@ -0,0 +1 @@ +BN_mod_mul_reciprocal.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_div_word.3 b/linux_amd64/share/man/man3/BN_div_word.3 new file mode 120000 index 0000000..6295e05 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_div_word.3 @@ -0,0 +1 @@ +BN_add_word.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_dup.3 b/linux_amd64/share/man/man3/BN_dup.3 new file mode 120000 index 0000000..e121f9d --- /dev/null +++ b/linux_amd64/share/man/man3/BN_dup.3 @@ -0,0 +1 @@ +BN_copy.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_exp.3 b/linux_amd64/share/man/man3/BN_exp.3 new file mode 120000 index 0000000..386e9d5 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_exp.3 @@ -0,0 +1 @@ +BN_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_free.3 b/linux_amd64/share/man/man3/BN_free.3 new file mode 120000 index 0000000..0512e5a --- /dev/null +++ b/linux_amd64/share/man/man3/BN_free.3 @@ -0,0 +1 @@ +BN_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_from_montgomery.3 b/linux_amd64/share/man/man3/BN_from_montgomery.3 new file mode 120000 index 0000000..a5c73d4 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_from_montgomery.3 @@ -0,0 +1 @@ +BN_mod_mul_montgomery.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_gcd.3 b/linux_amd64/share/man/man3/BN_gcd.3 new file mode 120000 index 0000000..386e9d5 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_gcd.3 @@ -0,0 +1 @@ +BN_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_generate_prime.3 b/linux_amd64/share/man/man3/BN_generate_prime.3 index 1b376c5..5ab2b62 100755 --- a/linux_amd64/share/man/man3/BN_generate_prime.3 +++ b/linux_amd64/share/man/man3/BN_generate_prime.3 @@ -124,29 +124,25 @@ .\" ======================================================================== .\" .IX Title "BN_GENERATE_PRIME 3" -.TH BN_GENERATE_PRIME 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BN_GENERATE_PRIME 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -BN_generate_prime_ex2, BN_generate_prime_ex, BN_is_prime_ex, BN_check_prime, -BN_is_prime_fasttest_ex, BN_GENCB_call, BN_GENCB_new, BN_GENCB_free, -BN_GENCB_set_old, BN_GENCB_set, BN_GENCB_get_arg, BN_generate_prime, -BN_is_prime, BN_is_prime_fasttest \- generate primes and test for primality +BN_generate_prime_ex, BN_is_prime_ex, BN_is_prime_fasttest_ex, BN_GENCB_call, BN_GENCB_new, BN_GENCB_free, BN_GENCB_set_old, BN_GENCB_set, BN_GENCB_get_arg, BN_generate_prime, BN_is_prime, BN_is_prime_fasttest \- generate primes and test for primality .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include \& -\& int BN_generate_prime_ex2(BIGNUM *ret, int bits, int safe, -\& const BIGNUM *add, const BIGNUM *rem, BN_GENCB *cb, -\& BN_CTX *ctx); -\& \& int BN_generate_prime_ex(BIGNUM *ret, int bits, int safe, const BIGNUM *add, \& const BIGNUM *rem, BN_GENCB *cb); \& -\& int BN_check_prime(const BIGNUM *p, BN_CTX *ctx, BN_GENCB *cb); +\& int BN_is_prime_ex(const BIGNUM *p, int nchecks, BN_CTX *ctx, BN_GENCB *cb); +\& +\& int BN_is_prime_fasttest_ex(const BIGNUM *p, int nchecks, BN_CTX *ctx, +\& int do_trial_division, BN_GENCB *cb); \& \& int BN_GENCB_call(BN_GENCB *cb, int a, int b); \& @@ -163,45 +159,27 @@ BN_is_prime, BN_is_prime_fasttest \- generate primes and test for primality \& void *BN_GENCB_get_arg(BN_GENCB *cb); .Ve .PP -Deprecated since OpenSSL 0.9.8, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): +Deprecated: .PP -.Vb 3 +.Vb 4 +\& #if OPENSSL_API_COMPAT < 0x00908000L \& BIGNUM *BN_generate_prime(BIGNUM *ret, int num, int safe, BIGNUM *add, \& BIGNUM *rem, void (*callback)(int, int, void *), \& void *cb_arg); \& -\& int BN_is_prime(const BIGNUM *p, int nchecks, +\& int BN_is_prime(const BIGNUM *a, int checks, \& void (*callback)(int, int, void *), BN_CTX *ctx, void *cb_arg); \& -\& int BN_is_prime_fasttest(const BIGNUM *p, int nchecks, +\& int BN_is_prime_fasttest(const BIGNUM *a, int checks, \& void (*callback)(int, int, void *), BN_CTX *ctx, \& void *cb_arg, int do_trial_division); -.Ve -.PP -Deprecated since OpenSSL 3.0: -.PP -.Vb 1 -\& int BN_is_prime_ex(const BIGNUM *p, int nchecks, BN_CTX *ctx, BN_GENCB *cb); -\& -\& int BN_is_prime_fasttest_ex(const BIGNUM *p, int nchecks, BN_CTX *ctx, -\& int do_trial_division, BN_GENCB *cb); +\& #endif .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -\&\fIBN_generate_prime_ex2()\fR generates a pseudo-random prime number of -at least bit length \fBbits\fR using the \s-1BN_CTX\s0 provided in \fBctx\fR. The value of -\&\fBctx\fR must not be \s-1NULL\s0. -.PP -The returned number is probably prime with a negligible error. -The maximum error rate is 2^\-128. -It's 2^\-287 for a 512 bit prime, 2^\-435 for a 1024 bit prime, -2^\-648 for a 2048 bit prime, and lower than 2^\-882 for primes larger -than 2048 bit. -.PP -If \fBadd\fR is \fB\s-1NULL\s0\fR the returned prime number will have exact bit -length \fBbits\fR with the top most two bits set. +\&\fIBN_generate_prime_ex()\fR generates a pseudo-random prime number of +at least bit length \fBbits\fR. The returned number is probably prime +with a negligible error. .PP If \fBret\fR is not \fB\s-1NULL\s0\fR, it will be used to store the number. .PP @@ -226,58 +204,43 @@ If \fBadd\fR is not \fB\s-1NULL\s0\fR, the prime will fulfill the condition p % generator. .PP If \fBsafe\fR is true, it will be a safe prime (i.e. a prime p so -that (p\-1)/2 is also prime). If \fBsafe\fR is true, and \fBrem\fR == \fB\s-1NULL\s0\fR -the condition will be p % \fBadd\fR == 3. -It is recommended that \fBadd\fR is a multiple of 4. +that (p\-1)/2 is also prime). .PP The random generator must be seeded prior to calling \fIBN_generate_prime_ex()\fR. If the automatic seeding or reseeding of the OpenSSL \s-1CSPRNG\s0 fails due to external circumstances (see \s-1\fIRAND\s0\fR\|(7)), the operation will fail. -The random number generator configured for the \s-1OPENSSL_CTX\s0 associated with -\&\fBctx\fR will be used. .PP -\&\fIBN_generate_prime_ex()\fR is the same as \fIBN_generate_prime_ex2()\fR except that no -\&\fBctx\fR parameter is passed. -In this case the random number generator associated with the default \s-1OPENSSL_CTX\s0 -will be used. +\&\fIBN_is_prime_ex()\fR and \fIBN_is_prime_fasttest_ex()\fR test if the number \fBp\fR is +prime. The following tests are performed until one of them shows that +\&\fBp\fR is composite; if \fBp\fR passes all these tests, it is considered +prime. .PP -\&\fIBN_check_prime()\fR, \fIBN_is_prime_ex()\fR, \fIBN_is_prime_fasttest_ex()\fR, \fIBN_is_prime()\fR -and \fIBN_is_prime_fasttest()\fR test if the number \fBp\fR is prime. -The functions tests until one of the tests shows that \fBp\fR is composite, -or all the tests passed. -If \fBp\fR passes all these tests, it is considered a probable prime. +\&\fIBN_is_prime_fasttest_ex()\fR, when called with \fBdo_trial_division == 1\fR, +first attempts trial division by a number of small primes; +if no divisors are found by this test and \fBcb\fR is not \fB\s-1NULL\s0\fR, +\&\fBBN_GENCB_call(cb, 1, \-1)\fR is called. +If \fBdo_trial_division == 0\fR, this test is skipped. .PP -The test performed on \fBp\fR are trial division by a number of small primes -and rounds of the of the Miller-Rabin probabilistic primality test. +Both \fIBN_is_prime_ex()\fR and \fIBN_is_prime_fasttest_ex()\fR perform a Miller-Rabin +probabilistic primality test with \fBnchecks\fR iterations. If +\&\fBnchecks == BN_prime_checks\fR, a number of iterations is used that +yields a false positive rate of at most 2^\-64 for random input. +The error rate depends on the size of the prime and goes down for bigger primes. +The rate is 2^\-80 starting at 308 bits, 2^\-112 at 852 bits, 2^\-128 at 1080 bits, +2^\-192 at 3747 bits and 2^\-256 at 6394 bits. .PP -The functions do at least 64 rounds of the Miller-Rabin test giving a maximum -false positive rate of 2^\-128. -If the size of \fBp\fR is more than 2048 bits, they do at least 128 rounds -giving a maximum false positive rate of 2^\-256. +When the source of the prime is not random or not trusted, the number +of checks needs to be much higher to reach the same level of assurance: +It should equal half of the targeted security level in bits (rounded up to the +next integer if necessary). +For instance, to reach the 128 bit security level, \fBnchecks\fR should be set to +64. .PP -If \fBnchecks\fR is larger than the minimum above (64 or 128), \fBnchecks\fR -rounds of the Miller-Rabin test will be done. -.PP -If \fBdo_trial_division\fR set to \fB0\fR, the trial division will be skipped. -\&\fIBN_is_prime_ex()\fR and \fIBN_is_prime()\fR always skip the trial division. -.PP -\&\fIBN_is_prime_ex()\fR, \fIBN_is_prime_fasttest_ex()\fR, \fIBN_is_prime()\fR -and \fIBN_is_prime_fasttest()\fR are deprecated. -.PP -\&\fIBN_is_prime_fasttest()\fR and \fIBN_is_prime()\fR behave just like -\&\fIBN_is_prime_fasttest_ex()\fR and \fIBN_is_prime_ex()\fR respectively, but with the old -style call back. -.PP -\&\fBctx\fR is a pre-allocated \fB\s-1BN_CTX\s0\fR (to save the overhead of allocating and +If \fBcb\fR is not \fB\s-1NULL\s0\fR, \fBBN_GENCB_call(cb, 1, j)\fR is called +after the j\-th iteration (j = 0, 1, ...). \fBctx\fR is a +pre-allocated \fB\s-1BN_CTX\s0\fR (to save the overhead of allocating and freeing the structure in a loop), or \fB\s-1NULL\s0\fR. .PP -If the trial division is done, and no divisors are found and \fBcb\fR -is not \fB\s-1NULL\s0\fR, \fBBN_GENCB_call(cb, 1, \-1)\fR is called. -.PP -After each round of the Miller-Rabin probabilistic primality test, -if \fBcb\fR is not \fB\s-1NULL\s0\fR, \fBBN_GENCB_call(cb, 1, j)\fR is called -with \fBj\fR the iteration (j = 0, 1, ...). -.PP \&\fIBN_GENCB_call()\fR calls the callback function held in the \fB\s-1BN_GENCB\s0\fR structure and passes the ints \fBa\fR and \fBb\fR as arguments. There are two types of \&\fB\s-1BN_GENCB\s0\fR structure that are supported: \*(L"new\*(R" style and \*(L"old\*(R" style. New @@ -311,9 +274,9 @@ can similarly be compared to \fIBN_is_prime_ex()\fR and .IX Header "RETURN VALUES" \&\fIBN_generate_prime_ex()\fR return 1 on success or 0 on error. .PP -\&\fIBN_is_prime_ex()\fR, \fIBN_is_prime_fasttest_ex()\fR, \fIBN_is_prime()\fR, -\&\fIBN_is_prime_fasttest()\fR and BN_check_prime return 0 if the number is composite, -1 if it is prime with an error probability of less than 0.25^\fBnchecks\fR, and +\&\fIBN_is_prime_ex()\fR, \fIBN_is_prime_fasttest_ex()\fR, \fIBN_is_prime()\fR and +\&\fIBN_is_prime_fasttest()\fR return 0 if the number is composite, 1 if it is +prime with an error probability of less than 0.25^\fBnchecks\fR, and \&\-1 on error. .PP \&\fIBN_generate_prime()\fR returns the prime number on success, \fB\s-1NULL\s0\fR otherwise. @@ -355,13 +318,11 @@ Instead applications should create a \s-1BN_GENCB\s0 structure using BN_GENCB_ne .IX Header "HISTORY" The \fIBN_GENCB_new()\fR, \fIBN_GENCB_free()\fR, and \fIBN_GENCB_get_arg()\fR functions were added in OpenSSL 1.1.0. -.PP -\&\fIBN_check_prime()\fR was added in OpenSSL 3.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BN_generate_prime_ex.3 b/linux_amd64/share/man/man3/BN_generate_prime_ex.3 new file mode 120000 index 0000000..de0c835 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_generate_prime_ex.3 @@ -0,0 +1 @@ +BN_generate_prime.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_get0_nist_prime_192.3 b/linux_amd64/share/man/man3/BN_get0_nist_prime_192.3 new file mode 120000 index 0000000..f1ebeac --- /dev/null +++ b/linux_amd64/share/man/man3/BN_get0_nist_prime_192.3 @@ -0,0 +1 @@ +DH_get_1024_160.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_get0_nist_prime_224.3 b/linux_amd64/share/man/man3/BN_get0_nist_prime_224.3 new file mode 120000 index 0000000..f1ebeac --- /dev/null +++ b/linux_amd64/share/man/man3/BN_get0_nist_prime_224.3 @@ -0,0 +1 @@ +DH_get_1024_160.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_get0_nist_prime_256.3 b/linux_amd64/share/man/man3/BN_get0_nist_prime_256.3 new file mode 120000 index 0000000..f1ebeac --- /dev/null +++ b/linux_amd64/share/man/man3/BN_get0_nist_prime_256.3 @@ -0,0 +1 @@ +DH_get_1024_160.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_get0_nist_prime_384.3 b/linux_amd64/share/man/man3/BN_get0_nist_prime_384.3 new file mode 120000 index 0000000..f1ebeac --- /dev/null +++ b/linux_amd64/share/man/man3/BN_get0_nist_prime_384.3 @@ -0,0 +1 @@ +DH_get_1024_160.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_get0_nist_prime_521.3 b/linux_amd64/share/man/man3/BN_get0_nist_prime_521.3 new file mode 120000 index 0000000..f1ebeac --- /dev/null +++ b/linux_amd64/share/man/man3/BN_get0_nist_prime_521.3 @@ -0,0 +1 @@ +DH_get_1024_160.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_get_rfc2409_prime_1024.3 b/linux_amd64/share/man/man3/BN_get_rfc2409_prime_1024.3 new file mode 120000 index 0000000..f1ebeac --- /dev/null +++ b/linux_amd64/share/man/man3/BN_get_rfc2409_prime_1024.3 @@ -0,0 +1 @@ +DH_get_1024_160.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_get_rfc2409_prime_768.3 b/linux_amd64/share/man/man3/BN_get_rfc2409_prime_768.3 new file mode 120000 index 0000000..f1ebeac --- /dev/null +++ b/linux_amd64/share/man/man3/BN_get_rfc2409_prime_768.3 @@ -0,0 +1 @@ +DH_get_1024_160.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_get_rfc3526_prime_1536.3 b/linux_amd64/share/man/man3/BN_get_rfc3526_prime_1536.3 new file mode 120000 index 0000000..f1ebeac --- /dev/null +++ b/linux_amd64/share/man/man3/BN_get_rfc3526_prime_1536.3 @@ -0,0 +1 @@ +DH_get_1024_160.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_get_rfc3526_prime_2048.3 b/linux_amd64/share/man/man3/BN_get_rfc3526_prime_2048.3 new file mode 120000 index 0000000..f1ebeac --- /dev/null +++ b/linux_amd64/share/man/man3/BN_get_rfc3526_prime_2048.3 @@ -0,0 +1 @@ +DH_get_1024_160.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_get_rfc3526_prime_3072.3 b/linux_amd64/share/man/man3/BN_get_rfc3526_prime_3072.3 new file mode 120000 index 0000000..f1ebeac --- /dev/null +++ b/linux_amd64/share/man/man3/BN_get_rfc3526_prime_3072.3 @@ -0,0 +1 @@ +DH_get_1024_160.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_get_rfc3526_prime_4096.3 b/linux_amd64/share/man/man3/BN_get_rfc3526_prime_4096.3 new file mode 120000 index 0000000..f1ebeac --- /dev/null +++ b/linux_amd64/share/man/man3/BN_get_rfc3526_prime_4096.3 @@ -0,0 +1 @@ +DH_get_1024_160.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_get_rfc3526_prime_6144.3 b/linux_amd64/share/man/man3/BN_get_rfc3526_prime_6144.3 new file mode 120000 index 0000000..f1ebeac --- /dev/null +++ b/linux_amd64/share/man/man3/BN_get_rfc3526_prime_6144.3 @@ -0,0 +1 @@ +DH_get_1024_160.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_get_rfc3526_prime_8192.3 b/linux_amd64/share/man/man3/BN_get_rfc3526_prime_8192.3 new file mode 120000 index 0000000..f1ebeac --- /dev/null +++ b/linux_amd64/share/man/man3/BN_get_rfc3526_prime_8192.3 @@ -0,0 +1 @@ +DH_get_1024_160.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_get_word.3 b/linux_amd64/share/man/man3/BN_get_word.3 new file mode 120000 index 0000000..8a84faa --- /dev/null +++ b/linux_amd64/share/man/man3/BN_get_word.3 @@ -0,0 +1 @@ +BN_zero.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_hex2bn.3 b/linux_amd64/share/man/man3/BN_hex2bn.3 new file mode 120000 index 0000000..794dc7f --- /dev/null +++ b/linux_amd64/share/man/man3/BN_hex2bn.3 @@ -0,0 +1 @@ +BN_bn2bin.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_is_bit_set.3 b/linux_amd64/share/man/man3/BN_is_bit_set.3 new file mode 120000 index 0000000..fa628cf --- /dev/null +++ b/linux_amd64/share/man/man3/BN_is_bit_set.3 @@ -0,0 +1 @@ +BN_set_bit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_is_odd.3 b/linux_amd64/share/man/man3/BN_is_odd.3 new file mode 120000 index 0000000..61c3ac8 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_is_odd.3 @@ -0,0 +1 @@ +BN_cmp.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_is_one.3 b/linux_amd64/share/man/man3/BN_is_one.3 new file mode 120000 index 0000000..61c3ac8 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_is_one.3 @@ -0,0 +1 @@ +BN_cmp.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_is_prime.3 b/linux_amd64/share/man/man3/BN_is_prime.3 new file mode 120000 index 0000000..de0c835 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_is_prime.3 @@ -0,0 +1 @@ +BN_generate_prime.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_is_prime_ex.3 b/linux_amd64/share/man/man3/BN_is_prime_ex.3 new file mode 120000 index 0000000..de0c835 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_is_prime_ex.3 @@ -0,0 +1 @@ +BN_generate_prime.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_is_prime_fasttest.3 b/linux_amd64/share/man/man3/BN_is_prime_fasttest.3 new file mode 120000 index 0000000..de0c835 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_is_prime_fasttest.3 @@ -0,0 +1 @@ +BN_generate_prime.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_is_prime_fasttest_ex.3 b/linux_amd64/share/man/man3/BN_is_prime_fasttest_ex.3 new file mode 120000 index 0000000..de0c835 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_is_prime_fasttest_ex.3 @@ -0,0 +1 @@ +BN_generate_prime.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_is_word.3 b/linux_amd64/share/man/man3/BN_is_word.3 new file mode 120000 index 0000000..61c3ac8 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_is_word.3 @@ -0,0 +1 @@ +BN_cmp.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_is_zero.3 b/linux_amd64/share/man/man3/BN_is_zero.3 new file mode 120000 index 0000000..61c3ac8 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_is_zero.3 @@ -0,0 +1 @@ +BN_cmp.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_lebin2bn.3 b/linux_amd64/share/man/man3/BN_lebin2bn.3 new file mode 120000 index 0000000..794dc7f --- /dev/null +++ b/linux_amd64/share/man/man3/BN_lebin2bn.3 @@ -0,0 +1 @@ +BN_bn2bin.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_lshift.3 b/linux_amd64/share/man/man3/BN_lshift.3 new file mode 120000 index 0000000..fa628cf --- /dev/null +++ b/linux_amd64/share/man/man3/BN_lshift.3 @@ -0,0 +1 @@ +BN_set_bit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_lshift1.3 b/linux_amd64/share/man/man3/BN_lshift1.3 new file mode 120000 index 0000000..fa628cf --- /dev/null +++ b/linux_amd64/share/man/man3/BN_lshift1.3 @@ -0,0 +1 @@ +BN_set_bit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_mask_bits.3 b/linux_amd64/share/man/man3/BN_mask_bits.3 new file mode 120000 index 0000000..fa628cf --- /dev/null +++ b/linux_amd64/share/man/man3/BN_mask_bits.3 @@ -0,0 +1 @@ +BN_set_bit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_mod.3 b/linux_amd64/share/man/man3/BN_mod.3 new file mode 120000 index 0000000..386e9d5 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_mod.3 @@ -0,0 +1 @@ +BN_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_mod_add.3 b/linux_amd64/share/man/man3/BN_mod_add.3 new file mode 120000 index 0000000..386e9d5 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_mod_add.3 @@ -0,0 +1 @@ +BN_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_mod_exp.3 b/linux_amd64/share/man/man3/BN_mod_exp.3 new file mode 120000 index 0000000..386e9d5 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_mod_exp.3 @@ -0,0 +1 @@ +BN_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_mod_inverse.3 b/linux_amd64/share/man/man3/BN_mod_inverse.3 index d61c234..2570dd8 100755 --- a/linux_amd64/share/man/man3/BN_mod_inverse.3 +++ b/linux_amd64/share/man/man3/BN_mod_inverse.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BN_MOD_INVERSE 3" -.TH BN_MOD_INVERSE 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BN_MOD_INVERSE 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -158,7 +158,7 @@ variables. \fBr\fR may be the same \fB\s-1BIGNUM\s0\fR as \fBa\fR or \fBn\fR. .IX Header "COPYRIGHT" Copyright 2000\-2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BN_mod_mul.3 b/linux_amd64/share/man/man3/BN_mod_mul.3 new file mode 120000 index 0000000..386e9d5 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_mod_mul.3 @@ -0,0 +1 @@ +BN_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_mod_mul_montgomery.3 b/linux_amd64/share/man/man3/BN_mod_mul_montgomery.3 index d3e88c3..5a21004 100755 --- a/linux_amd64/share/man/man3/BN_mod_mul_montgomery.3 +++ b/linux_amd64/share/man/man3/BN_mod_mul_montgomery.3 @@ -124,15 +124,13 @@ .\" ======================================================================== .\" .IX Title "BN_MOD_MUL_MONTGOMERY 3" -.TH BN_MOD_MUL_MONTGOMERY 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BN_MOD_MUL_MONTGOMERY 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -BN_mod_mul_montgomery, BN_MONT_CTX_new, -BN_MONT_CTX_free, BN_MONT_CTX_set, BN_MONT_CTX_copy, -BN_from_montgomery, BN_to_montgomery \- Montgomery multiplication +BN_mod_mul_montgomery, BN_MONT_CTX_new, BN_MONT_CTX_free, BN_MONT_CTX_set, BN_MONT_CTX_copy, BN_from_montgomery, BN_to_montgomery \- Montgomery multiplication .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -203,9 +201,9 @@ outside the expected range. \&\fIBN_MONT_CTX_init()\fR was removed in OpenSSL 1.1.0 .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2000\-2017 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BN_mod_mul_reciprocal.3 b/linux_amd64/share/man/man3/BN_mod_mul_reciprocal.3 index 1e0666c..821b602 100755 --- a/linux_amd64/share/man/man3/BN_mod_mul_reciprocal.3 +++ b/linux_amd64/share/man/man3/BN_mod_mul_reciprocal.3 @@ -124,15 +124,13 @@ .\" ======================================================================== .\" .IX Title "BN_MOD_MUL_RECIPROCAL 3" -.TH BN_MOD_MUL_RECIPROCAL 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BN_MOD_MUL_RECIPROCAL 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -BN_mod_mul_reciprocal, BN_div_recp, BN_RECP_CTX_new, -BN_RECP_CTX_free, BN_RECP_CTX_set \- modular multiplication using -reciprocal +BN_mod_mul_reciprocal, BN_div_recp, BN_RECP_CTX_new, BN_RECP_CTX_free, BN_RECP_CTX_set \- modular multiplication using reciprocal .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -192,7 +190,7 @@ The error codes can be obtained by \fIERR_get_error\fR\|(3). .IX Header "COPYRIGHT" Copyright 2000\-2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BN_mod_sqr.3 b/linux_amd64/share/man/man3/BN_mod_sqr.3 new file mode 120000 index 0000000..386e9d5 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_mod_sqr.3 @@ -0,0 +1 @@ +BN_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_mod_sub.3 b/linux_amd64/share/man/man3/BN_mod_sub.3 new file mode 120000 index 0000000..386e9d5 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_mod_sub.3 @@ -0,0 +1 @@ +BN_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_mod_word.3 b/linux_amd64/share/man/man3/BN_mod_word.3 new file mode 120000 index 0000000..6295e05 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_mod_word.3 @@ -0,0 +1 @@ +BN_add_word.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_mpi2bn.3 b/linux_amd64/share/man/man3/BN_mpi2bn.3 new file mode 120000 index 0000000..794dc7f --- /dev/null +++ b/linux_amd64/share/man/man3/BN_mpi2bn.3 @@ -0,0 +1 @@ +BN_bn2bin.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_mul.3 b/linux_amd64/share/man/man3/BN_mul.3 new file mode 120000 index 0000000..386e9d5 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_mul.3 @@ -0,0 +1 @@ +BN_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_mul_word.3 b/linux_amd64/share/man/man3/BN_mul_word.3 new file mode 120000 index 0000000..6295e05 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_mul_word.3 @@ -0,0 +1 @@ +BN_add_word.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_new.3 b/linux_amd64/share/man/man3/BN_new.3 index 7a73963..d53883c 100755 --- a/linux_amd64/share/man/man3/BN_new.3 +++ b/linux_amd64/share/man/man3/BN_new.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BN_NEW 3" -.TH BN_NEW 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BN_NEW 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -178,9 +178,9 @@ by \fIERR_get_error\fR\|(3). \&\fIBN_init()\fR was removed in OpenSSL 1.1.0; use \fIBN_new()\fR instead. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2000\-2017 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BN_nnmod.3 b/linux_amd64/share/man/man3/BN_nnmod.3 new file mode 120000 index 0000000..386e9d5 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_nnmod.3 @@ -0,0 +1 @@ +BN_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_num_bits.3 b/linux_amd64/share/man/man3/BN_num_bits.3 new file mode 120000 index 0000000..2a68912 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_num_bits.3 @@ -0,0 +1 @@ +BN_num_bytes.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_num_bits_word.3 b/linux_amd64/share/man/man3/BN_num_bits_word.3 new file mode 120000 index 0000000..2a68912 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_num_bits_word.3 @@ -0,0 +1 @@ +BN_num_bytes.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_num_bytes.3 b/linux_amd64/share/man/man3/BN_num_bytes.3 index dbee722..1e93851 100755 --- a/linux_amd64/share/man/man3/BN_num_bytes.3 +++ b/linux_amd64/share/man/man3/BN_num_bytes.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BN_NUM_BYTES 3" -.TH BN_NUM_BYTES 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BN_NUM_BYTES 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -177,7 +177,7 @@ more probability). .IX Header "COPYRIGHT" Copyright 2000\-2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BN_one.3 b/linux_amd64/share/man/man3/BN_one.3 new file mode 120000 index 0000000..8a84faa --- /dev/null +++ b/linux_amd64/share/man/man3/BN_one.3 @@ -0,0 +1 @@ +BN_zero.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_print.3 b/linux_amd64/share/man/man3/BN_print.3 new file mode 120000 index 0000000..794dc7f --- /dev/null +++ b/linux_amd64/share/man/man3/BN_print.3 @@ -0,0 +1 @@ +BN_bn2bin.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_print_fp.3 b/linux_amd64/share/man/man3/BN_print_fp.3 new file mode 120000 index 0000000..794dc7f --- /dev/null +++ b/linux_amd64/share/man/man3/BN_print_fp.3 @@ -0,0 +1 @@ +BN_bn2bin.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_priv_rand.3 b/linux_amd64/share/man/man3/BN_priv_rand.3 new file mode 120000 index 0000000..4f3c4cc --- /dev/null +++ b/linux_amd64/share/man/man3/BN_priv_rand.3 @@ -0,0 +1 @@ +BN_rand.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_priv_rand_range.3 b/linux_amd64/share/man/man3/BN_priv_rand_range.3 new file mode 120000 index 0000000..4f3c4cc --- /dev/null +++ b/linux_amd64/share/man/man3/BN_priv_rand_range.3 @@ -0,0 +1 @@ +BN_rand.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_pseudo_rand.3 b/linux_amd64/share/man/man3/BN_pseudo_rand.3 new file mode 120000 index 0000000..4f3c4cc --- /dev/null +++ b/linux_amd64/share/man/man3/BN_pseudo_rand.3 @@ -0,0 +1 @@ +BN_rand.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_pseudo_rand_range.3 b/linux_amd64/share/man/man3/BN_pseudo_rand_range.3 new file mode 120000 index 0000000..4f3c4cc --- /dev/null +++ b/linux_amd64/share/man/man3/BN_pseudo_rand_range.3 @@ -0,0 +1 @@ +BN_rand.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_rand.3 b/linux_amd64/share/man/man3/BN_rand.3 index 7fa4f14..126a648 100755 --- a/linux_amd64/share/man/man3/BN_rand.3 +++ b/linux_amd64/share/man/man3/BN_rand.3 @@ -124,43 +124,34 @@ .\" ======================================================================== .\" .IX Title "BN_RAND 3" -.TH BN_RAND 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BN_RAND 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -BN_rand_ex, BN_rand, BN_priv_rand_ex, BN_priv_rand, BN_pseudo_rand, -BN_rand_range_ex, BN_rand_range, BN_priv_rand_range_ex, BN_priv_rand_range, -BN_pseudo_rand_range -\&\- generate pseudo\-random number +BN_rand, BN_priv_rand, BN_pseudo_rand, BN_rand_range, BN_priv_rand_range, BN_pseudo_rand_range \&\- generate pseudo\-random number .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include \& -\& int BN_rand_ex(BIGNUM *rnd, int bits, int top, int bottom, BN_CTX *ctx); \& int BN_rand(BIGNUM *rnd, int bits, int top, int bottom); \& -\& int BN_priv_rand_ex(BIGNUM *rnd, int bits, int top, int bottom, BN_CTX *ctx); \& int BN_priv_rand(BIGNUM *rnd, int bits, int top, int bottom); \& \& int BN_pseudo_rand(BIGNUM *rnd, int bits, int top, int bottom); \& -\& int BN_rand_range_ex(BIGNUM *rnd, BIGNUM *range, BN_CTX *ctx); \& int BN_rand_range(BIGNUM *rnd, BIGNUM *range); \& -\& int BN_priv_rand_range_ex(BIGNUM *rnd, BIGNUM *range, BN_CTX *ctx); \& int BN_priv_rand_range(BIGNUM *rnd, BIGNUM *range); \& \& int BN_pseudo_rand_range(BIGNUM *rnd, BIGNUM *range); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -\&\fIBN_rand_ex()\fR generate a cryptographically strong pseudo-random -number of \fBbits\fR in length and stores it in \fBrnd\fR using the random number -generator for the library context associated with \fBctx\fR. The parameter \fBctx\fR -may be \s-1NULL\s0 in which case the default library context is used. +\&\fIBN_rand()\fR generates a cryptographically strong pseudo-random number of +\&\fBbits\fR in length and stores it in \fBrnd\fR. If \fBbits\fR is less than zero, or too small to accommodate the requirements specified by the \fBtop\fR and \fBbottom\fR parameters, an error is returned. @@ -175,20 +166,11 @@ If \fBbottom\fR is \fB\s-1BN_RAND_BOTTOM_ODD\s0\fR, the number will be odd; if i is \fB\s-1BN_RAND_BOTTOM_ANY\s0\fR it can be odd or even. If \fBbits\fR is 1 then \fBtop\fR cannot also be \fB\s-1BN_RAND_FLG_TOPTWO\s0\fR. .PP -\&\fIBN_rand()\fR is the same as \fIBN_rand_ex()\fR except that the default library context -is always used. +\&\fIBN_rand_range()\fR generates a cryptographically strong pseudo-random +number \fBrnd\fR in the range 0 <= \fBrnd\fR < \fBrange\fR. .PP -\&\fIBN_rand_range_ex()\fR generates a cryptographically strong pseudo-random -number \fBrnd\fR in the range 0 <= \fBrnd\fR < \fBrange\fR using the random number -generator for the library context associated with \fBctx\fR. The parameter \fBctx\fR -may be \s-1NULL\s0 in which case the default library context is used. -.PP -\&\fIBN_rand_range()\fR is the same as \fIBN_rand_range_ex()\fR except that the default -library context is always used. -.PP -\&\fIBN_priv_rand_ex()\fR, \fIBN_priv_rand()\fR, \fIBN_priv_rand_rand_ex()\fR and -\&\fIBN_priv_rand_range()\fR have the same semantics as \fIBN_rand_ex()\fR, \fIBN_rand()\fR, -\&\fIBN_rand_range_ex()\fR and \fIBN_rand_range()\fR respectively. They are intended to be +\&\fIBN_priv_rand()\fR and \fIBN_priv_rand_range()\fR have the same semantics as +\&\fIBN_rand()\fR and \fIBN_rand_range()\fR respectively. They are intended to be used for generating values that should remain private, and mirror the same difference between \fIRAND_bytes\fR\|(3) and \fIRAND_priv_bytes\fR\|(3). .SH "NOTES" @@ -219,14 +201,11 @@ a future release. .IP "\(bu" 2 The \&\fIBN_priv_rand()\fR and \fIBN_priv_rand_range()\fR functions were added in OpenSSL 1.1.1. -.IP "\(bu" 2 -The \fIBN_rand_ex()\fR, \fIBN_priv_rand_ex()\fR, \fIBN_rand_range_ex()\fR and -\&\fIBN_priv_rand_range_ex()\fR functions were added in OpenSSL 3.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BN_rand_range.3 b/linux_amd64/share/man/man3/BN_rand_range.3 new file mode 120000 index 0000000..4f3c4cc --- /dev/null +++ b/linux_amd64/share/man/man3/BN_rand_range.3 @@ -0,0 +1 @@ +BN_rand.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_rshift.3 b/linux_amd64/share/man/man3/BN_rshift.3 new file mode 120000 index 0000000..fa628cf --- /dev/null +++ b/linux_amd64/share/man/man3/BN_rshift.3 @@ -0,0 +1 @@ +BN_set_bit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_rshift1.3 b/linux_amd64/share/man/man3/BN_rshift1.3 new file mode 120000 index 0000000..fa628cf --- /dev/null +++ b/linux_amd64/share/man/man3/BN_rshift1.3 @@ -0,0 +1 @@ +BN_set_bit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_secure_new.3 b/linux_amd64/share/man/man3/BN_secure_new.3 new file mode 120000 index 0000000..0512e5a --- /dev/null +++ b/linux_amd64/share/man/man3/BN_secure_new.3 @@ -0,0 +1 @@ +BN_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_security_bits.3 b/linux_amd64/share/man/man3/BN_security_bits.3 index 7a8e69e..2cedb55 100755 --- a/linux_amd64/share/man/man3/BN_security_bits.3 +++ b/linux_amd64/share/man/man3/BN_security_bits.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BN_SECURITY_BITS 3" -.TH BN_SECURITY_BITS 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BN_SECURITY_BITS 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -166,7 +166,7 @@ The \fIBN_security_bits()\fR function was added in OpenSSL 1.1.0. .IX Header "COPYRIGHT" Copyright 2017\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BN_set_bit.3 b/linux_amd64/share/man/man3/BN_set_bit.3 index 7d4de8c..519e43b 100755 --- a/linux_amd64/share/man/man3/BN_set_bit.3 +++ b/linux_amd64/share/man/man3/BN_set_bit.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "BN_SET_BIT 3" -.TH BN_SET_BIT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BN_SET_BIT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -BN_set_bit, BN_clear_bit, BN_is_bit_set, BN_mask_bits, BN_lshift, -BN_lshift1, BN_rshift, BN_rshift1 \- bit operations on BIGNUMs +BN_set_bit, BN_clear_bit, BN_is_bit_set, BN_mask_bits, BN_lshift, BN_lshift1, BN_rshift, BN_rshift1 \- bit operations on BIGNUMs .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -186,7 +185,7 @@ can be obtained by \fIERR_get_error\fR\|(3). .IX Header "COPYRIGHT" Copyright 2000\-2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BN_set_word.3 b/linux_amd64/share/man/man3/BN_set_word.3 new file mode 120000 index 0000000..8a84faa --- /dev/null +++ b/linux_amd64/share/man/man3/BN_set_word.3 @@ -0,0 +1 @@ +BN_zero.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_sqr.3 b/linux_amd64/share/man/man3/BN_sqr.3 new file mode 120000 index 0000000..386e9d5 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_sqr.3 @@ -0,0 +1 @@ +BN_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_sub.3 b/linux_amd64/share/man/man3/BN_sub.3 new file mode 120000 index 0000000..386e9d5 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_sub.3 @@ -0,0 +1 @@ +BN_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_sub_word.3 b/linux_amd64/share/man/man3/BN_sub_word.3 new file mode 120000 index 0000000..6295e05 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_sub_word.3 @@ -0,0 +1 @@ +BN_add_word.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_swap.3 b/linux_amd64/share/man/man3/BN_swap.3 index 7398491..56d230b 100755 --- a/linux_amd64/share/man/man3/BN_swap.3 +++ b/linux_amd64/share/man/man3/BN_swap.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BN_SWAP 3" -.TH BN_SWAP 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BN_SWAP 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -148,7 +148,7 @@ BN_swap \- exchange BIGNUMs .IX Header "COPYRIGHT" Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BN_to_ASN1_ENUMERATED.3 b/linux_amd64/share/man/man3/BN_to_ASN1_ENUMERATED.3 new file mode 120000 index 0000000..ce7ad54 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_to_ASN1_ENUMERATED.3 @@ -0,0 +1 @@ +ASN1_INTEGER_get_int64.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_to_ASN1_INTEGER.3 b/linux_amd64/share/man/man3/BN_to_ASN1_INTEGER.3 new file mode 120000 index 0000000..ce7ad54 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_to_ASN1_INTEGER.3 @@ -0,0 +1 @@ +ASN1_INTEGER_get_int64.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_to_montgomery.3 b/linux_amd64/share/man/man3/BN_to_montgomery.3 new file mode 120000 index 0000000..a5c73d4 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_to_montgomery.3 @@ -0,0 +1 @@ +BN_mod_mul_montgomery.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_ucmp.3 b/linux_amd64/share/man/man3/BN_ucmp.3 new file mode 120000 index 0000000..61c3ac8 --- /dev/null +++ b/linux_amd64/share/man/man3/BN_ucmp.3 @@ -0,0 +1 @@ +BN_cmp.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_value_one.3 b/linux_amd64/share/man/man3/BN_value_one.3 new file mode 120000 index 0000000..8a84faa --- /dev/null +++ b/linux_amd64/share/man/man3/BN_value_one.3 @@ -0,0 +1 @@ +BN_zero.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_with_flags.3 b/linux_amd64/share/man/man3/BN_with_flags.3 new file mode 120000 index 0000000..e121f9d --- /dev/null +++ b/linux_amd64/share/man/man3/BN_with_flags.3 @@ -0,0 +1 @@ +BN_copy.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BN_zero.3 b/linux_amd64/share/man/man3/BN_zero.3 index be22461..2bd6f91 100755 --- a/linux_amd64/share/man/man3/BN_zero.3 +++ b/linux_amd64/share/man/man3/BN_zero.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "BN_ZERO 3" -.TH BN_ZERO 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BN_ZERO 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -BN_zero, BN_one, BN_value_one, BN_set_word, BN_get_word \- BIGNUM assignment -operations +BN_zero, BN_one, BN_value_one, BN_set_word, BN_get_word \- BIGNUM assignment operations .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -183,7 +182,7 @@ versions returned an int. .IX Header "COPYRIGHT" Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BUF_MEM_free.3 b/linux_amd64/share/man/man3/BUF_MEM_free.3 new file mode 120000 index 0000000..aee2294 --- /dev/null +++ b/linux_amd64/share/man/man3/BUF_MEM_free.3 @@ -0,0 +1 @@ +BUF_MEM_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BUF_MEM_grow.3 b/linux_amd64/share/man/man3/BUF_MEM_grow.3 new file mode 120000 index 0000000..aee2294 --- /dev/null +++ b/linux_amd64/share/man/man3/BUF_MEM_grow.3 @@ -0,0 +1 @@ +BUF_MEM_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BUF_MEM_grow_clean.3 b/linux_amd64/share/man/man3/BUF_MEM_grow_clean.3 new file mode 120000 index 0000000..aee2294 --- /dev/null +++ b/linux_amd64/share/man/man3/BUF_MEM_grow_clean.3 @@ -0,0 +1 @@ +BUF_MEM_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BUF_MEM_new.3 b/linux_amd64/share/man/man3/BUF_MEM_new.3 index 328d3b5..d37b7d8 100755 --- a/linux_amd64/share/man/man3/BUF_MEM_new.3 +++ b/linux_amd64/share/man/man3/BUF_MEM_new.3 @@ -124,15 +124,13 @@ .\" ======================================================================== .\" .IX Title "BUF_MEM_NEW 3" -.TH BUF_MEM_NEW 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BUF_MEM_NEW 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -BUF_MEM_new, BUF_MEM_new_ex, BUF_MEM_free, BUF_MEM_grow, -BUF_MEM_grow_clean, BUF_reverse -\&\- simple character array structure +BUF_MEM_new, BUF_MEM_new_ex, BUF_MEM_free, BUF_MEM_grow, BUF_MEM_grow_clean, BUF_reverse \&\- simple character array structure .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -191,7 +189,7 @@ The \fIBUF_MEM_new_ex()\fR function was added in OpenSSL 1.1.0. .IX Header "COPYRIGHT" Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/BUF_MEM_new_ex.3 b/linux_amd64/share/man/man3/BUF_MEM_new_ex.3 new file mode 120000 index 0000000..aee2294 --- /dev/null +++ b/linux_amd64/share/man/man3/BUF_MEM_new_ex.3 @@ -0,0 +1 @@ +BUF_MEM_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/BUF_reverse.3 b/linux_amd64/share/man/man3/BUF_reverse.3 new file mode 120000 index 0000000..aee2294 --- /dev/null +++ b/linux_amd64/share/man/man3/BUF_reverse.3 @@ -0,0 +1 @@ +BUF_MEM_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CERTIFICATEPOLICIES_free.3 b/linux_amd64/share/man/man3/CERTIFICATEPOLICIES_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/CERTIFICATEPOLICIES_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CERTIFICATEPOLICIES_new.3 b/linux_amd64/share/man/man3/CERTIFICATEPOLICIES_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/CERTIFICATEPOLICIES_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CMS_ContentInfo_free.3 b/linux_amd64/share/man/man3/CMS_ContentInfo_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/CMS_ContentInfo_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CMS_ContentInfo_new.3 b/linux_amd64/share/man/man3/CMS_ContentInfo_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/CMS_ContentInfo_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CMS_ContentInfo_print_ctx.3 b/linux_amd64/share/man/man3/CMS_ContentInfo_print_ctx.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/CMS_ContentInfo_print_ctx.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CMS_ReceiptRequest_create0.3 b/linux_amd64/share/man/man3/CMS_ReceiptRequest_create0.3 new file mode 120000 index 0000000..c05d245 --- /dev/null +++ b/linux_amd64/share/man/man3/CMS_ReceiptRequest_create0.3 @@ -0,0 +1 @@ +CMS_get1_ReceiptRequest.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CMS_ReceiptRequest_free.3 b/linux_amd64/share/man/man3/CMS_ReceiptRequest_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/CMS_ReceiptRequest_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CMS_ReceiptRequest_get0_values.3 b/linux_amd64/share/man/man3/CMS_ReceiptRequest_get0_values.3 new file mode 120000 index 0000000..c05d245 --- /dev/null +++ b/linux_amd64/share/man/man3/CMS_ReceiptRequest_get0_values.3 @@ -0,0 +1 @@ +CMS_get1_ReceiptRequest.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CMS_ReceiptRequest_new.3 b/linux_amd64/share/man/man3/CMS_ReceiptRequest_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/CMS_ReceiptRequest_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CMS_RecipientInfo_decrypt.3 b/linux_amd64/share/man/man3/CMS_RecipientInfo_decrypt.3 new file mode 120000 index 0000000..ee59fdd --- /dev/null +++ b/linux_amd64/share/man/man3/CMS_RecipientInfo_decrypt.3 @@ -0,0 +1 @@ +CMS_get0_RecipientInfos.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CMS_RecipientInfo_encrypt.3 b/linux_amd64/share/man/man3/CMS_RecipientInfo_encrypt.3 new file mode 120000 index 0000000..ee59fdd --- /dev/null +++ b/linux_amd64/share/man/man3/CMS_RecipientInfo_encrypt.3 @@ -0,0 +1 @@ +CMS_get0_RecipientInfos.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CMS_RecipientInfo_kekri_get0_id.3 b/linux_amd64/share/man/man3/CMS_RecipientInfo_kekri_get0_id.3 new file mode 120000 index 0000000..ee59fdd --- /dev/null +++ b/linux_amd64/share/man/man3/CMS_RecipientInfo_kekri_get0_id.3 @@ -0,0 +1 @@ +CMS_get0_RecipientInfos.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CMS_RecipientInfo_kekri_id_cmp.3 b/linux_amd64/share/man/man3/CMS_RecipientInfo_kekri_id_cmp.3 new file mode 120000 index 0000000..ee59fdd --- /dev/null +++ b/linux_amd64/share/man/man3/CMS_RecipientInfo_kekri_id_cmp.3 @@ -0,0 +1 @@ +CMS_get0_RecipientInfos.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CMS_RecipientInfo_ktri_cert_cmp.3 b/linux_amd64/share/man/man3/CMS_RecipientInfo_ktri_cert_cmp.3 new file mode 120000 index 0000000..ee59fdd --- /dev/null +++ b/linux_amd64/share/man/man3/CMS_RecipientInfo_ktri_cert_cmp.3 @@ -0,0 +1 @@ +CMS_get0_RecipientInfos.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CMS_RecipientInfo_ktri_get0_signer_id.3 b/linux_amd64/share/man/man3/CMS_RecipientInfo_ktri_get0_signer_id.3 new file mode 120000 index 0000000..ee59fdd --- /dev/null +++ b/linux_amd64/share/man/man3/CMS_RecipientInfo_ktri_get0_signer_id.3 @@ -0,0 +1 @@ +CMS_get0_RecipientInfos.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CMS_RecipientInfo_set0_key.3 b/linux_amd64/share/man/man3/CMS_RecipientInfo_set0_key.3 new file mode 120000 index 0000000..ee59fdd --- /dev/null +++ b/linux_amd64/share/man/man3/CMS_RecipientInfo_set0_key.3 @@ -0,0 +1 @@ +CMS_get0_RecipientInfos.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CMS_RecipientInfo_set0_pkey.3 b/linux_amd64/share/man/man3/CMS_RecipientInfo_set0_pkey.3 new file mode 120000 index 0000000..ee59fdd --- /dev/null +++ b/linux_amd64/share/man/man3/CMS_RecipientInfo_set0_pkey.3 @@ -0,0 +1 @@ +CMS_get0_RecipientInfos.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CMS_RecipientInfo_type.3 b/linux_amd64/share/man/man3/CMS_RecipientInfo_type.3 new file mode 120000 index 0000000..ee59fdd --- /dev/null +++ b/linux_amd64/share/man/man3/CMS_RecipientInfo_type.3 @@ -0,0 +1 @@ +CMS_get0_RecipientInfos.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CMS_SignerInfo_cert_cmp.3 b/linux_amd64/share/man/man3/CMS_SignerInfo_cert_cmp.3 new file mode 120000 index 0000000..44a0d7b --- /dev/null +++ b/linux_amd64/share/man/man3/CMS_SignerInfo_cert_cmp.3 @@ -0,0 +1 @@ +CMS_get0_SignerInfos.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CMS_SignerInfo_get0_signature.3 b/linux_amd64/share/man/man3/CMS_SignerInfo_get0_signature.3 new file mode 120000 index 0000000..44a0d7b --- /dev/null +++ b/linux_amd64/share/man/man3/CMS_SignerInfo_get0_signature.3 @@ -0,0 +1 @@ +CMS_get0_SignerInfos.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CMS_SignerInfo_get0_signer_id.3 b/linux_amd64/share/man/man3/CMS_SignerInfo_get0_signer_id.3 new file mode 120000 index 0000000..44a0d7b --- /dev/null +++ b/linux_amd64/share/man/man3/CMS_SignerInfo_get0_signer_id.3 @@ -0,0 +1 @@ +CMS_get0_SignerInfos.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CMS_SignerInfo_set1_signer_cert.3 b/linux_amd64/share/man/man3/CMS_SignerInfo_set1_signer_cert.3 new file mode 120000 index 0000000..44a0d7b --- /dev/null +++ b/linux_amd64/share/man/man3/CMS_SignerInfo_set1_signer_cert.3 @@ -0,0 +1 @@ +CMS_get0_SignerInfos.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CMS_SignerInfo_sign.3 b/linux_amd64/share/man/man3/CMS_SignerInfo_sign.3 new file mode 120000 index 0000000..875c0d3 --- /dev/null +++ b/linux_amd64/share/man/man3/CMS_SignerInfo_sign.3 @@ -0,0 +1 @@ +CMS_add1_signer.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CMS_add0_cert.3 b/linux_amd64/share/man/man3/CMS_add0_cert.3 index 8d8a17c..e9bbda5 100755 --- a/linux_amd64/share/man/man3/CMS_add0_cert.3 +++ b/linux_amd64/share/man/man3/CMS_add0_cert.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "CMS_ADD0_CERT 3" -.TH CMS_ADD0_CERT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH CMS_ADD0_CERT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -CMS_add0_cert, CMS_add1_cert, CMS_get1_certs, CMS_add0_crl, CMS_add1_crl, CMS_get1_crls -\&\- CMS certificate and CRL utility functions +CMS_add0_cert, CMS_add1_cert, CMS_get1_certs, CMS_add0_crl, CMS_add1_crl, CMS_get1_crls \&\- CMS certificate and CRL utility functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -186,7 +185,7 @@ in practice is if the \fBcms\fR type is invalid. .IX Header "COPYRIGHT" Copyright 2008\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/CMS_add0_crl.3 b/linux_amd64/share/man/man3/CMS_add0_crl.3 new file mode 120000 index 0000000..7756f9b --- /dev/null +++ b/linux_amd64/share/man/man3/CMS_add0_crl.3 @@ -0,0 +1 @@ +CMS_add0_cert.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CMS_add0_recipient_key.3 b/linux_amd64/share/man/man3/CMS_add0_recipient_key.3 new file mode 120000 index 0000000..b349f0a --- /dev/null +++ b/linux_amd64/share/man/man3/CMS_add0_recipient_key.3 @@ -0,0 +1 @@ +CMS_add1_recipient_cert.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CMS_add1_ReceiptRequest.3 b/linux_amd64/share/man/man3/CMS_add1_ReceiptRequest.3 new file mode 120000 index 0000000..c05d245 --- /dev/null +++ b/linux_amd64/share/man/man3/CMS_add1_ReceiptRequest.3 @@ -0,0 +1 @@ +CMS_get1_ReceiptRequest.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CMS_add1_cert.3 b/linux_amd64/share/man/man3/CMS_add1_cert.3 new file mode 120000 index 0000000..7756f9b --- /dev/null +++ b/linux_amd64/share/man/man3/CMS_add1_cert.3 @@ -0,0 +1 @@ +CMS_add0_cert.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CMS_add1_crl.3 b/linux_amd64/share/man/man3/CMS_add1_crl.3 new file mode 120000 index 0000000..7756f9b --- /dev/null +++ b/linux_amd64/share/man/man3/CMS_add1_crl.3 @@ -0,0 +1 @@ +CMS_add0_cert.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CMS_add1_recipient_cert.3 b/linux_amd64/share/man/man3/CMS_add1_recipient_cert.3 index cba72ea..f67f27b 100755 --- a/linux_amd64/share/man/man3/CMS_add1_recipient_cert.3 +++ b/linux_amd64/share/man/man3/CMS_add1_recipient_cert.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CMS_ADD1_RECIPIENT_CERT 3" -.TH CMS_ADD1_RECIPIENT_CERT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH CMS_ADD1_RECIPIENT_CERT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -188,7 +188,7 @@ occurs. .IX Header "COPYRIGHT" Copyright 2008\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/CMS_add1_signer.3 b/linux_amd64/share/man/man3/CMS_add1_signer.3 index 2ad0b74..5fa4981 100755 --- a/linux_amd64/share/man/man3/CMS_add1_signer.3 +++ b/linux_amd64/share/man/man3/CMS_add1_signer.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CMS_ADD1_SIGNER 3" -.TH CMS_ADD1_SIGNER 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH CMS_ADD1_SIGNER 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -223,7 +223,7 @@ structure just added or \s-1NULL\s0 if an error occurs. .IX Header "COPYRIGHT" Copyright 2014\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/CMS_compress.3 b/linux_amd64/share/man/man3/CMS_compress.3 index b5fe069..7d89595 100755 --- a/linux_amd64/share/man/man3/CMS_compress.3 +++ b/linux_amd64/share/man/man3/CMS_compress.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CMS_COMPRESS 3" -.TH CMS_COMPRESS 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH CMS_COMPRESS 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -144,7 +144,8 @@ CMS_compress \- create a CMS CompressedData structure is the compression algorithm to use or \fBNID_undef\fR to use the default algorithm (zlib compression). \fBin\fR is the content to be compressed. \&\fBflags\fR is an optional set of flags. -.PP +.SH "NOTES" +.IX Header "NOTES" The only currently supported compression algorithm is zlib using the \s-1NID\s0 NID_zlib_compression. .PP @@ -166,7 +167,8 @@ returned suitable for streaming I/O: no data is read from the \s-1BIO\s0 \fBin\f The compressed data is included in the CMS_ContentInfo structure, unless \&\fB\s-1CMS_DETACHED\s0\fR is set in which case it is omitted. This is rarely used in practice and is not supported by \fISMIME_write_CMS()\fR. -.PP +.SH "NOTES" +.IX Header "NOTES" If the flag \fB\s-1CMS_STREAM\s0\fR is set the returned \fBCMS_ContentInfo\fR structure is \&\fBnot\fR complete and outputting its contents via a function that does not properly finalize the \fBCMS_ContentInfo\fR structure will give unpredictable @@ -193,7 +195,7 @@ The \fB\s-1CMS_STREAM\s0\fR flag was added in OpenSSL 1.0.0. .IX Header "COPYRIGHT" Copyright 2008\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/CMS_decrypt.3 b/linux_amd64/share/man/man3/CMS_decrypt.3 index 2b45e06..0c14cc6 100755 --- a/linux_amd64/share/man/man3/CMS_decrypt.3 +++ b/linux_amd64/share/man/man3/CMS_decrypt.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CMS_DECRYPT 3" -.TH CMS_DECRYPT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH CMS_DECRYPT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -197,7 +197,7 @@ mentioned in \fICMS_verify()\fR also applies to \fICMS_decrypt()\fR. .IX Header "COPYRIGHT" Copyright 2008\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/CMS_encrypt.3 b/linux_amd64/share/man/man3/CMS_encrypt.3 index ffdeb88..2b65816 100755 --- a/linux_amd64/share/man/man3/CMS_encrypt.3 +++ b/linux_amd64/share/man/man3/CMS_encrypt.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CMS_ENCRYPT 3" -.TH CMS_ENCRYPT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH CMS_ENCRYPT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -144,7 +144,8 @@ CMS_encrypt \- create a CMS envelopedData structure \&\fICMS_encrypt()\fR creates and returns a \s-1CMS\s0 EnvelopedData structure. \fBcerts\fR is a list of recipient certificates. \fBin\fR is the content to be encrypted. \&\fBcipher\fR is the symmetric cipher to use. \fBflags\fR is an optional set of flags. -.PP +.SH "NOTES" +.IX Header "NOTES" Only certificates carrying \s-1RSA\s0, Diffie-Hellman or \s-1EC\s0 keys are supported by this function. .PP @@ -185,7 +186,8 @@ finalization. The data being encrypted is included in the CMS_ContentInfo structure, unless \&\fB\s-1CMS_DETACHED\s0\fR is set in which case it is omitted. This is rarely used in practice and is not supported by \fISMIME_write_CMS()\fR. -.PP +.SH "NOTES" +.IX Header "NOTES" If the flag \fB\s-1CMS_STREAM\s0\fR is set the returned \fBCMS_ContentInfo\fR structure is \&\fBnot\fR complete and outputting its contents via a function that does not properly finalize the \fBCMS_ContentInfo\fR structure will give unpredictable @@ -216,7 +218,7 @@ The \fB\s-1CMS_STREAM\s0\fR flag was first supported in OpenSSL 1.0.0. .IX Header "COPYRIGHT" Copyright 2008\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/CMS_final.3 b/linux_amd64/share/man/man3/CMS_final.3 index 8b0060f..dab8bef 100755 --- a/linux_amd64/share/man/man3/CMS_final.3 +++ b/linux_amd64/share/man/man3/CMS_final.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CMS_FINAL 3" -.TH CMS_FINAL 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH CMS_FINAL 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -160,9 +160,9 @@ I/O functions perform finalisation operations internally. \&\fICMS_encrypt\fR\|(3) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2008\-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2008\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/CMS_get0_RecipientInfos.3 b/linux_amd64/share/man/man3/CMS_get0_RecipientInfos.3 index e72ecaf..29f37be 100755 --- a/linux_amd64/share/man/man3/CMS_get0_RecipientInfos.3 +++ b/linux_amd64/share/man/man3/CMS_get0_RecipientInfos.3 @@ -124,18 +124,13 @@ .\" ======================================================================== .\" .IX Title "CMS_GET0_RECIPIENTINFOS 3" -.TH CMS_GET0_RECIPIENTINFOS 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH CMS_GET0_RECIPIENTINFOS 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -CMS_get0_RecipientInfos, CMS_RecipientInfo_type, -CMS_RecipientInfo_ktri_get0_signer_id, CMS_RecipientInfo_ktri_cert_cmp, -CMS_RecipientInfo_set0_pkey, CMS_RecipientInfo_kekri_get0_id, -CMS_RecipientInfo_kekri_id_cmp, CMS_RecipientInfo_set0_key, -CMS_RecipientInfo_decrypt, CMS_RecipientInfo_encrypt -\&\- CMS envelopedData RecipientInfo routines +CMS_get0_RecipientInfos, CMS_RecipientInfo_type, CMS_RecipientInfo_ktri_get0_signer_id, CMS_RecipientInfo_ktri_cert_cmp, CMS_RecipientInfo_set0_pkey, CMS_RecipientInfo_kekri_get0_id, CMS_RecipientInfo_kekri_id_cmp, CMS_RecipientInfo_set0_key, CMS_RecipientInfo_decrypt, CMS_RecipientInfo_encrypt \&\- CMS envelopedData RecipientInfo routines .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -255,7 +250,7 @@ Any error can be obtained from \fIERR_get_error\fR\|(3). .IX Header "COPYRIGHT" Copyright 2008\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/CMS_get0_SignerInfos.3 b/linux_amd64/share/man/man3/CMS_get0_SignerInfos.3 index d31b8d5..d465bc4 100755 --- a/linux_amd64/share/man/man3/CMS_get0_SignerInfos.3 +++ b/linux_amd64/share/man/man3/CMS_get0_SignerInfos.3 @@ -124,16 +124,13 @@ .\" ======================================================================== .\" .IX Title "CMS_GET0_SIGNERINFOS 3" -.TH CMS_GET0_SIGNERINFOS 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH CMS_GET0_SIGNERINFOS 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -CMS_SignerInfo_set1_signer_cert, -CMS_get0_SignerInfos, CMS_SignerInfo_get0_signer_id, -CMS_SignerInfo_get0_signature, CMS_SignerInfo_cert_cmp -\&\- CMS signedData signer functions +CMS_SignerInfo_set1_signer_cert, CMS_get0_SignerInfos, CMS_SignerInfo_get0_signer_id, CMS_SignerInfo_get0_signature, CMS_SignerInfo_cert_cmp \&\- CMS signedData signer functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -206,7 +203,7 @@ Any error can be obtained from \fIERR_get_error\fR\|(3) .IX Header "COPYRIGHT" Copyright 2008\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/CMS_get0_content.3 b/linux_amd64/share/man/man3/CMS_get0_content.3 new file mode 120000 index 0000000..12c2aa6 --- /dev/null +++ b/linux_amd64/share/man/man3/CMS_get0_content.3 @@ -0,0 +1 @@ +CMS_get0_type.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CMS_get0_eContentType.3 b/linux_amd64/share/man/man3/CMS_get0_eContentType.3 new file mode 120000 index 0000000..12c2aa6 --- /dev/null +++ b/linux_amd64/share/man/man3/CMS_get0_eContentType.3 @@ -0,0 +1 @@ +CMS_get0_type.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CMS_get0_signers.3 b/linux_amd64/share/man/man3/CMS_get0_signers.3 new file mode 120000 index 0000000..b24f4b3 --- /dev/null +++ b/linux_amd64/share/man/man3/CMS_get0_signers.3 @@ -0,0 +1 @@ +CMS_verify.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CMS_get0_type.3 b/linux_amd64/share/man/man3/CMS_get0_type.3 index 893e685..3ab96a4 100755 --- a/linux_amd64/share/man/man3/CMS_get0_type.3 +++ b/linux_amd64/share/man/man3/CMS_get0_type.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CMS_GET0_TYPE 3" -.TH CMS_GET0_TYPE 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH CMS_GET0_TYPE 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -148,8 +148,7 @@ an \s-1ASN1_OBJECT\s0 pointer. An application can then decide how to process the CMS_ContentInfo structure based on this value. .PP \&\fICMS_set1_eContentType()\fR sets the embedded content type of a CMS_ContentInfo -structure. It should be called with \s-1CMS\s0 functions (such as \fICMS_sign\fR\|(3), -\&\fICMS_encrypt\fR\|(3)) +structure. It should be called with \s-1CMS\s0 functions (such as CMS_sign, CMS_encrypt) with the \fB\s-1CMS_PARTIAL\s0\fR flag and \fBbefore\fR the structure is finalised, otherwise the results are undefined. @@ -201,9 +200,9 @@ error can be obtained from \fIERR_get_error\fR\|(3). \&\fIERR_get_error\fR\|(3) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2008\-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2008\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/CMS_get1_ReceiptRequest.3 b/linux_amd64/share/man/man3/CMS_get1_ReceiptRequest.3 index e2ed414..87985a8 100755 --- a/linux_amd64/share/man/man3/CMS_get1_ReceiptRequest.3 +++ b/linux_amd64/share/man/man3/CMS_get1_ReceiptRequest.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CMS_GET1_RECEIPTREQUEST 3" -.TH CMS_GET1_RECEIPTREQUEST 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH CMS_GET1_RECEIPTREQUEST 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -194,7 +194,7 @@ it is present but malformed. .IX Header "COPYRIGHT" Copyright 2008\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/CMS_get1_certs.3 b/linux_amd64/share/man/man3/CMS_get1_certs.3 new file mode 120000 index 0000000..7756f9b --- /dev/null +++ b/linux_amd64/share/man/man3/CMS_get1_certs.3 @@ -0,0 +1 @@ +CMS_add0_cert.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CMS_get1_crls.3 b/linux_amd64/share/man/man3/CMS_get1_crls.3 new file mode 120000 index 0000000..7756f9b --- /dev/null +++ b/linux_amd64/share/man/man3/CMS_get1_crls.3 @@ -0,0 +1 @@ +CMS_add0_cert.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CMS_set1_eContentType.3 b/linux_amd64/share/man/man3/CMS_set1_eContentType.3 new file mode 120000 index 0000000..12c2aa6 --- /dev/null +++ b/linux_amd64/share/man/man3/CMS_set1_eContentType.3 @@ -0,0 +1 @@ +CMS_get0_type.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CMS_sign.3 b/linux_amd64/share/man/man3/CMS_sign.3 index e55b9fb..b694540 100755 --- a/linux_amd64/share/man/man3/CMS_sign.3 +++ b/linux_amd64/share/man/man3/CMS_sign.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CMS_SIGN 3" -.TH CMS_SIGN 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH CMS_SIGN 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -243,7 +243,7 @@ it is supported for embedded data in OpenSSL 1.0.0 and later. .IX Header "COPYRIGHT" Copyright 2008\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/CMS_sign_receipt.3 b/linux_amd64/share/man/man3/CMS_sign_receipt.3 index fe0a05a..b33c05b 100755 --- a/linux_amd64/share/man/man3/CMS_sign_receipt.3 +++ b/linux_amd64/share/man/man3/CMS_sign_receipt.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CMS_SIGN_RECEIPT 3" -.TH CMS_SIGN_RECEIPT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH CMS_SIGN_RECEIPT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -168,7 +168,7 @@ an error occurred. The error can be obtained from \fIERR_get_error\fR\|(3). .IX Header "COPYRIGHT" Copyright 2008\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/CMS_uncompress.3 b/linux_amd64/share/man/man3/CMS_uncompress.3 index 9555782..e5a32d2 100755 --- a/linux_amd64/share/man/man3/CMS_uncompress.3 +++ b/linux_amd64/share/man/man3/CMS_uncompress.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CMS_UNCOMPRESS 3" -.TH CMS_UNCOMPRESS 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH CMS_UNCOMPRESS 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -174,7 +174,7 @@ mentioned in \fICMS_verify()\fR also applies to \fICMS_decompress()\fR. .IX Header "COPYRIGHT" Copyright 2008\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/CMS_verify.3 b/linux_amd64/share/man/man3/CMS_verify.3 index c221515..6e9dd05 100755 --- a/linux_amd64/share/man/man3/CMS_verify.3 +++ b/linux_amd64/share/man/man3/CMS_verify.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CMS_VERIFY 3" -.TH CMS_VERIFY 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH CMS_VERIFY 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -244,9 +244,9 @@ be held in memory if it is not detached. \&\fIERR_get_error\fR\|(3), \fICMS_sign\fR\|(3) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2008\-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2008\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/CMS_verify_receipt.3 b/linux_amd64/share/man/man3/CMS_verify_receipt.3 index 76159b6..22055ba 100755 --- a/linux_amd64/share/man/man3/CMS_verify_receipt.3 +++ b/linux_amd64/share/man/man3/CMS_verify_receipt.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CMS_VERIFY_RECEIPT 3" -.TH CMS_VERIFY_RECEIPT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH CMS_VERIFY_RECEIPT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -170,7 +170,7 @@ The error can be obtained from \fIERR_get_error\fR\|(3) .IX Header "COPYRIGHT" Copyright 2008\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/CONF_modules_finish.3 b/linux_amd64/share/man/man3/CONF_modules_finish.3 new file mode 120000 index 0000000..294cbfd --- /dev/null +++ b/linux_amd64/share/man/man3/CONF_modules_finish.3 @@ -0,0 +1 @@ +CONF_modules_free.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CONF_modules_free.3 b/linux_amd64/share/man/man3/CONF_modules_free.3 index 00c585d..cfc58a2 100755 --- a/linux_amd64/share/man/man3/CONF_modules_free.3 +++ b/linux_amd64/share/man/man3/CONF_modules_free.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "CONF_MODULES_FREE 3" -.TH CONF_MODULES_FREE 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH CONF_MODULES_FREE 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -CONF_modules_free, CONF_modules_finish, CONF_modules_unload \- -OpenSSL configuration cleanup functions +CONF_modules_free, CONF_modules_finish, CONF_modules_unload \- OpenSSL configuration cleanup functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -141,12 +140,12 @@ OpenSSL configuration cleanup functions \& void CONF_modules_unload(int all); .Ve .PP -Deprecated since OpenSSL 1.1.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): +Deprecated: .PP -.Vb 1 +.Vb 3 +\& #if OPENSSL_API_COMPAT < 0x10100000L \& void CONF_modules_free(void) +\& #endif .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" @@ -160,7 +159,7 @@ to free up any configuration that module may have performed. .PP \&\fICONF_modules_unload()\fR finishes and unloads configuration modules. If \&\fBall\fR is set to \fB0\fR only modules loaded from DSOs will be unloads. If -\&\fBall\fR is \fB1\fR all modules, including built-in modules will be unloaded. +\&\fBall\fR is \fB1\fR all modules, including builtin modules will be unloaded. .SH "RETURN VALUES" .IX Header "RETURN VALUES" None of the functions return a value. @@ -176,7 +175,7 @@ For more information see \fIOPENSSL_init_crypto\fR\|(3). .IX Header "COPYRIGHT" Copyright 2004\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/CONF_modules_load.3 b/linux_amd64/share/man/man3/CONF_modules_load.3 new file mode 120000 index 0000000..64a3498 --- /dev/null +++ b/linux_amd64/share/man/man3/CONF_modules_load.3 @@ -0,0 +1 @@ +CONF_modules_load_file.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CONF_modules_load_file.3 b/linux_amd64/share/man/man3/CONF_modules_load_file.3 index 8d22c63..424fff7 100755 --- a/linux_amd64/share/man/man3/CONF_modules_load_file.3 +++ b/linux_amd64/share/man/man3/CONF_modules_load_file.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CONF_MODULES_LOAD_FILE 3" -.TH CONF_MODULES_LOAD_FILE 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH CONF_MODULES_LOAD_FILE 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -265,9 +265,9 @@ Load and parse configuration file manually, custom error handling: \&\fIconfig\fR\|(5), \fIOPENSSL_config\fR\|(3) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2004\-2017 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2004\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/CONF_modules_unload.3 b/linux_amd64/share/man/man3/CONF_modules_unload.3 new file mode 120000 index 0000000..294cbfd --- /dev/null +++ b/linux_amd64/share/man/man3/CONF_modules_unload.3 @@ -0,0 +1 @@ +CONF_modules_free.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CRL_DIST_POINTS_free.3 b/linux_amd64/share/man/man3/CRL_DIST_POINTS_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/CRL_DIST_POINTS_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CRL_DIST_POINTS_new.3 b/linux_amd64/share/man/man3/CRL_DIST_POINTS_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/CRL_DIST_POINTS_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CRYPTO_EX_dup.3 b/linux_amd64/share/man/man3/CRYPTO_EX_dup.3 new file mode 120000 index 0000000..89218c1 --- /dev/null +++ b/linux_amd64/share/man/man3/CRYPTO_EX_dup.3 @@ -0,0 +1 @@ +CRYPTO_get_ex_new_index.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CRYPTO_EX_free.3 b/linux_amd64/share/man/man3/CRYPTO_EX_free.3 new file mode 120000 index 0000000..89218c1 --- /dev/null +++ b/linux_amd64/share/man/man3/CRYPTO_EX_free.3 @@ -0,0 +1 @@ +CRYPTO_get_ex_new_index.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CRYPTO_EX_new.3 b/linux_amd64/share/man/man3/CRYPTO_EX_new.3 new file mode 120000 index 0000000..89218c1 --- /dev/null +++ b/linux_amd64/share/man/man3/CRYPTO_EX_new.3 @@ -0,0 +1 @@ +CRYPTO_get_ex_new_index.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CRYPTO_THREAD_lock_free.3 b/linux_amd64/share/man/man3/CRYPTO_THREAD_lock_free.3 new file mode 120000 index 0000000..6e086a4 --- /dev/null +++ b/linux_amd64/share/man/man3/CRYPTO_THREAD_lock_free.3 @@ -0,0 +1 @@ +CRYPTO_THREAD_run_once.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CRYPTO_THREAD_lock_new.3 b/linux_amd64/share/man/man3/CRYPTO_THREAD_lock_new.3 new file mode 120000 index 0000000..6e086a4 --- /dev/null +++ b/linux_amd64/share/man/man3/CRYPTO_THREAD_lock_new.3 @@ -0,0 +1 @@ +CRYPTO_THREAD_run_once.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CRYPTO_THREAD_read_lock.3 b/linux_amd64/share/man/man3/CRYPTO_THREAD_read_lock.3 new file mode 120000 index 0000000..6e086a4 --- /dev/null +++ b/linux_amd64/share/man/man3/CRYPTO_THREAD_read_lock.3 @@ -0,0 +1 @@ +CRYPTO_THREAD_run_once.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CRYPTO_THREAD_run_once.3 b/linux_amd64/share/man/man3/CRYPTO_THREAD_run_once.3 index 72c055a..02f01d6 100755 --- a/linux_amd64/share/man/man3/CRYPTO_THREAD_run_once.3 +++ b/linux_amd64/share/man/man3/CRYPTO_THREAD_run_once.3 @@ -124,16 +124,13 @@ .\" ======================================================================== .\" .IX Title "CRYPTO_THREAD_RUN_ONCE 3" -.TH CRYPTO_THREAD_RUN_ONCE 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH CRYPTO_THREAD_RUN_ONCE 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -CRYPTO_THREAD_run_once, -CRYPTO_THREAD_lock_new, CRYPTO_THREAD_read_lock, CRYPTO_THREAD_write_lock, -CRYPTO_THREAD_unlock, CRYPTO_THREAD_lock_free, -CRYPTO_atomic_add \- OpenSSL thread support +CRYPTO_THREAD_run_once, CRYPTO_THREAD_lock_new, CRYPTO_THREAD_read_lock, CRYPTO_THREAD_write_lock, CRYPTO_THREAD_unlock, CRYPTO_THREAD_lock_free, CRYPTO_atomic_add \- OpenSSL thread support .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -206,17 +203,6 @@ application developer's responsibility to include windows.h prior to crypto.h where use of CRYPTO_THREAD_* types and functions is required. .SH "EXAMPLES" .IX Header "EXAMPLES" -You can find out if OpenSSL was configured with thread support: -.PP -.Vb 6 -\& #include -\& #if defined(OPENSSL_THREADS) -\& /* thread support enabled */ -\& #else -\& /* no thread support */ -\& #endif -.Ve -.PP This example safely initializes and uses a lock. .PP .Vb 4 @@ -263,14 +249,26 @@ This can only be done at process exit or when a dynamically loaded library is no longer in use and is unloaded. The simplest solution is to just \*(L"leak\*(R" the lock in applications and not repeatedly load/unload shared libraries that allocate locks. +.SH "NOTES" +.IX Header "NOTES" +You can find out if OpenSSL was configured with thread support: +.PP +.Vb 6 +\& #include +\& #if defined(OPENSSL_THREADS) +\& /* thread support enabled */ +\& #else +\& /* no thread support */ +\& #endif +.Ve .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIcrypto\fR\|(7) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/CRYPTO_THREAD_unlock.3 b/linux_amd64/share/man/man3/CRYPTO_THREAD_unlock.3 new file mode 120000 index 0000000..6e086a4 --- /dev/null +++ b/linux_amd64/share/man/man3/CRYPTO_THREAD_unlock.3 @@ -0,0 +1 @@ +CRYPTO_THREAD_run_once.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CRYPTO_THREAD_write_lock.3 b/linux_amd64/share/man/man3/CRYPTO_THREAD_write_lock.3 new file mode 120000 index 0000000..6e086a4 --- /dev/null +++ b/linux_amd64/share/man/man3/CRYPTO_THREAD_write_lock.3 @@ -0,0 +1 @@ +CRYPTO_THREAD_run_once.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CRYPTO_atomic_add.3 b/linux_amd64/share/man/man3/CRYPTO_atomic_add.3 new file mode 120000 index 0000000..6e086a4 --- /dev/null +++ b/linux_amd64/share/man/man3/CRYPTO_atomic_add.3 @@ -0,0 +1 @@ +CRYPTO_THREAD_run_once.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CRYPTO_clear_free.3 b/linux_amd64/share/man/man3/CRYPTO_clear_free.3 new file mode 120000 index 0000000..9246368 --- /dev/null +++ b/linux_amd64/share/man/man3/CRYPTO_clear_free.3 @@ -0,0 +1 @@ +OPENSSL_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CRYPTO_clear_realloc.3 b/linux_amd64/share/man/man3/CRYPTO_clear_realloc.3 new file mode 120000 index 0000000..9246368 --- /dev/null +++ b/linux_amd64/share/man/man3/CRYPTO_clear_realloc.3 @@ -0,0 +1 @@ +OPENSSL_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CRYPTO_free.3 b/linux_amd64/share/man/man3/CRYPTO_free.3 new file mode 120000 index 0000000..9246368 --- /dev/null +++ b/linux_amd64/share/man/man3/CRYPTO_free.3 @@ -0,0 +1 @@ +OPENSSL_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CRYPTO_free_ex_data.3 b/linux_amd64/share/man/man3/CRYPTO_free_ex_data.3 new file mode 120000 index 0000000..89218c1 --- /dev/null +++ b/linux_amd64/share/man/man3/CRYPTO_free_ex_data.3 @@ -0,0 +1 @@ +CRYPTO_get_ex_new_index.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CRYPTO_free_ex_index.3 b/linux_amd64/share/man/man3/CRYPTO_free_ex_index.3 new file mode 120000 index 0000000..89218c1 --- /dev/null +++ b/linux_amd64/share/man/man3/CRYPTO_free_ex_index.3 @@ -0,0 +1 @@ +CRYPTO_get_ex_new_index.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CRYPTO_get_alloc_counts.3 b/linux_amd64/share/man/man3/CRYPTO_get_alloc_counts.3 new file mode 120000 index 0000000..9246368 --- /dev/null +++ b/linux_amd64/share/man/man3/CRYPTO_get_alloc_counts.3 @@ -0,0 +1 @@ +OPENSSL_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CRYPTO_get_ex_data.3 b/linux_amd64/share/man/man3/CRYPTO_get_ex_data.3 new file mode 120000 index 0000000..89218c1 --- /dev/null +++ b/linux_amd64/share/man/man3/CRYPTO_get_ex_data.3 @@ -0,0 +1 @@ +CRYPTO_get_ex_new_index.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CRYPTO_get_ex_new_index.3 b/linux_amd64/share/man/man3/CRYPTO_get_ex_new_index.3 index b0ddd75..e59e188 100755 --- a/linux_amd64/share/man/man3/CRYPTO_get_ex_new_index.3 +++ b/linux_amd64/share/man/man3/CRYPTO_get_ex_new_index.3 @@ -124,17 +124,13 @@ .\" ======================================================================== .\" .IX Title "CRYPTO_GET_EX_NEW_INDEX 3" -.TH CRYPTO_GET_EX_NEW_INDEX 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH CRYPTO_GET_EX_NEW_INDEX 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -CRYPTO_EX_new, CRYPTO_EX_free, CRYPTO_EX_dup, -CRYPTO_free_ex_index, CRYPTO_get_ex_new_index, -CRYPTO_alloc_ex_data, CRYPTO_set_ex_data, CRYPTO_get_ex_data, -CRYPTO_free_ex_data, CRYPTO_new_ex_data -\&\- functions supporting application\-specific data +CRYPTO_EX_new, CRYPTO_EX_free, CRYPTO_EX_dup, CRYPTO_free_ex_index, CRYPTO_get_ex_new_index, CRYPTO_set_ex_data, CRYPTO_get_ex_data, CRYPTO_free_ex_data, CRYPTO_new_ex_data \&\- functions supporting application\-specific data .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -155,9 +151,6 @@ CRYPTO_free_ex_data, CRYPTO_new_ex_data \& \& int CRYPTO_new_ex_data(int class_index, void *obj, CRYPTO_EX_DATA *ad) \& -\& int CRYPTO_alloc_ex_data(int class_index, void *obj, CRYPTO_EX_DATA *ad, -\& int idx); -\& \& int CRYPTO_set_ex_data(CRYPTO_EX_DATA *r, int idx, void *arg); \& \& void *CRYPTO_get_ex_data(CRYPTO_EX_DATA *r, int idx); @@ -173,12 +166,13 @@ known as \*(L"exdata.\*(R" The specific structures are: .PP .Vb 10 +\& APP \& BIO \& DH +\& DRBG \& DSA \& EC_KEY \& ENGINE -\& RAND_DRBG \& RSA \& SSL \& SSL_CTX @@ -190,8 +184,6 @@ The specific structures are: \& X509_STORE_CTX .Ve .PP -In addition, the \fB\s-1APP\s0\fR name is reserved for use by application code. -.PP Each is identified by an \fBCRYPTO_EX_INDEX_xxx\fR define in the \fBcrypto.h\fR header file. In addition, \fB\s-1CRYPTO_EX_INDEX_APP\s0\fR is reserved for applications to use this facility for their own structures. @@ -248,8 +240,7 @@ When a structure is initially allocated (such as \fIRSA_new()\fR) then the that the entire parent, or containing, structure has been set up. The \fInew_func()\fR is typically used only to allocate memory to store the exdata, and perhaps an \*(L"initialized\*(R" flag within that memory. -The exdata value may be allocated later on with \fICRYPTO_alloc_ex_data()\fR, -or may be set by calling \fICRYPTO_set_ex_data()\fR. +The exdata value should be set by calling \fICRYPTO_set_ex_data()\fR. .PP When a structure is free'd (such as \fISSL_CTX_free()\fR) then the \&\fIfree_func()\fR is called for every defined index. Again, the state of the @@ -281,21 +272,18 @@ will fail. .IX Header "RETURN VALUES" \&\fICRYPTO_get_ex_new_index()\fR returns a new index or \-1 on failure. .PP -\&\fICRYPTO_free_ex_index()\fR, \fICRYPTO_alloc_ex_data()\fR and \fICRYPTO_set_ex_data()\fR -return 1 on success or 0 on failure. +\&\fICRYPTO_free_ex_index()\fR and +\&\fICRYPTO_set_ex_data()\fR return 1 on success or 0 on failure. .PP \&\fICRYPTO_get_ex_data()\fR returns the application data or \s-1NULL\s0 on failure; note that \s-1NULL\s0 may be a valid value. .PP \&\fIdup_func()\fR should return 0 for failure and 1 for success. -.SH "HISTORY" -.IX Header "HISTORY" -\&\fICRYPTO_alloc_ex_data()\fR was added in OpenSSL 3.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2015\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2015\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/CRYPTO_get_mem_functions.3 b/linux_amd64/share/man/man3/CRYPTO_get_mem_functions.3 new file mode 120000 index 0000000..9246368 --- /dev/null +++ b/linux_amd64/share/man/man3/CRYPTO_get_mem_functions.3 @@ -0,0 +1 @@ +OPENSSL_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CRYPTO_malloc.3 b/linux_amd64/share/man/man3/CRYPTO_malloc.3 new file mode 120000 index 0000000..9246368 --- /dev/null +++ b/linux_amd64/share/man/man3/CRYPTO_malloc.3 @@ -0,0 +1 @@ +OPENSSL_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CRYPTO_mem_ctrl.3 b/linux_amd64/share/man/man3/CRYPTO_mem_ctrl.3 new file mode 120000 index 0000000..9246368 --- /dev/null +++ b/linux_amd64/share/man/man3/CRYPTO_mem_ctrl.3 @@ -0,0 +1 @@ +OPENSSL_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CRYPTO_mem_debug_pop.3 b/linux_amd64/share/man/man3/CRYPTO_mem_debug_pop.3 new file mode 120000 index 0000000..9246368 --- /dev/null +++ b/linux_amd64/share/man/man3/CRYPTO_mem_debug_pop.3 @@ -0,0 +1 @@ +OPENSSL_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CRYPTO_mem_debug_push.3 b/linux_amd64/share/man/man3/CRYPTO_mem_debug_push.3 new file mode 120000 index 0000000..9246368 --- /dev/null +++ b/linux_amd64/share/man/man3/CRYPTO_mem_debug_push.3 @@ -0,0 +1 @@ +OPENSSL_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CRYPTO_mem_leaks.3 b/linux_amd64/share/man/man3/CRYPTO_mem_leaks.3 new file mode 120000 index 0000000..9246368 --- /dev/null +++ b/linux_amd64/share/man/man3/CRYPTO_mem_leaks.3 @@ -0,0 +1 @@ +OPENSSL_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CRYPTO_mem_leaks_cb.3 b/linux_amd64/share/man/man3/CRYPTO_mem_leaks_cb.3 new file mode 120000 index 0000000..9246368 --- /dev/null +++ b/linux_amd64/share/man/man3/CRYPTO_mem_leaks_cb.3 @@ -0,0 +1 @@ +OPENSSL_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CRYPTO_mem_leaks_fp.3 b/linux_amd64/share/man/man3/CRYPTO_mem_leaks_fp.3 new file mode 120000 index 0000000..9246368 --- /dev/null +++ b/linux_amd64/share/man/man3/CRYPTO_mem_leaks_fp.3 @@ -0,0 +1 @@ +OPENSSL_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CRYPTO_memcmp.3 b/linux_amd64/share/man/man3/CRYPTO_memcmp.3 index 93bf9e6..65c9cc0 100755 --- a/linux_amd64/share/man/man3/CRYPTO_memcmp.3 +++ b/linux_amd64/share/man/man3/CRYPTO_memcmp.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CRYPTO_MEMCMP 3" -.TH CRYPTO_MEMCMP 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH CRYPTO_MEMCMP 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -146,12 +146,12 @@ It takes an amount of time dependent on \fBlen\fR, but independent of the contents of the memory regions pointed to by \fBa\fR and \fBb\fR. .SH "RETURN VALUES" .IX Header "RETURN VALUES" -\&\fICRYPTO_memcmp()\fR returns 0 if the memory regions are equal and nonzero +\&\fICRYPTO_memcmp()\fR returns 0 if the memory regions are equal and non-zero otherwise. .SH "NOTES" .IX Header "NOTES" Unlike \fImemcmp\fR\|(2), this function cannot be used to order the two memory regions -as the return value when they differ is undefined, other than being nonzero. +as the return value when they differ is undefined, other than being non-zero. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. diff --git a/linux_amd64/share/man/man3/CRYPTO_new_ex_data.3 b/linux_amd64/share/man/man3/CRYPTO_new_ex_data.3 new file mode 120000 index 0000000..89218c1 --- /dev/null +++ b/linux_amd64/share/man/man3/CRYPTO_new_ex_data.3 @@ -0,0 +1 @@ +CRYPTO_get_ex_new_index.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CRYPTO_realloc.3 b/linux_amd64/share/man/man3/CRYPTO_realloc.3 new file mode 120000 index 0000000..9246368 --- /dev/null +++ b/linux_amd64/share/man/man3/CRYPTO_realloc.3 @@ -0,0 +1 @@ +OPENSSL_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CRYPTO_secure_allocated.3 b/linux_amd64/share/man/man3/CRYPTO_secure_allocated.3 new file mode 120000 index 0000000..1a8261f --- /dev/null +++ b/linux_amd64/share/man/man3/CRYPTO_secure_allocated.3 @@ -0,0 +1 @@ +OPENSSL_secure_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CRYPTO_secure_clear_free.3 b/linux_amd64/share/man/man3/CRYPTO_secure_clear_free.3 new file mode 120000 index 0000000..1a8261f --- /dev/null +++ b/linux_amd64/share/man/man3/CRYPTO_secure_clear_free.3 @@ -0,0 +1 @@ +OPENSSL_secure_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CRYPTO_secure_free.3 b/linux_amd64/share/man/man3/CRYPTO_secure_free.3 new file mode 120000 index 0000000..1a8261f --- /dev/null +++ b/linux_amd64/share/man/man3/CRYPTO_secure_free.3 @@ -0,0 +1 @@ +OPENSSL_secure_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CRYPTO_secure_malloc.3 b/linux_amd64/share/man/man3/CRYPTO_secure_malloc.3 new file mode 120000 index 0000000..1a8261f --- /dev/null +++ b/linux_amd64/share/man/man3/CRYPTO_secure_malloc.3 @@ -0,0 +1 @@ +OPENSSL_secure_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CRYPTO_secure_malloc_done.3 b/linux_amd64/share/man/man3/CRYPTO_secure_malloc_done.3 new file mode 120000 index 0000000..1a8261f --- /dev/null +++ b/linux_amd64/share/man/man3/CRYPTO_secure_malloc_done.3 @@ -0,0 +1 @@ +OPENSSL_secure_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CRYPTO_secure_malloc_init.3 b/linux_amd64/share/man/man3/CRYPTO_secure_malloc_init.3 new file mode 120000 index 0000000..1a8261f --- /dev/null +++ b/linux_amd64/share/man/man3/CRYPTO_secure_malloc_init.3 @@ -0,0 +1 @@ +OPENSSL_secure_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CRYPTO_secure_malloc_initialized.3 b/linux_amd64/share/man/man3/CRYPTO_secure_malloc_initialized.3 new file mode 120000 index 0000000..1a8261f --- /dev/null +++ b/linux_amd64/share/man/man3/CRYPTO_secure_malloc_initialized.3 @@ -0,0 +1 @@ +OPENSSL_secure_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CRYPTO_secure_used.3 b/linux_amd64/share/man/man3/CRYPTO_secure_used.3 new file mode 120000 index 0000000..1a8261f --- /dev/null +++ b/linux_amd64/share/man/man3/CRYPTO_secure_used.3 @@ -0,0 +1 @@ +OPENSSL_secure_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CRYPTO_secure_zalloc.3 b/linux_amd64/share/man/man3/CRYPTO_secure_zalloc.3 new file mode 120000 index 0000000..1a8261f --- /dev/null +++ b/linux_amd64/share/man/man3/CRYPTO_secure_zalloc.3 @@ -0,0 +1 @@ +OPENSSL_secure_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CRYPTO_set_ex_data.3 b/linux_amd64/share/man/man3/CRYPTO_set_ex_data.3 new file mode 120000 index 0000000..89218c1 --- /dev/null +++ b/linux_amd64/share/man/man3/CRYPTO_set_ex_data.3 @@ -0,0 +1 @@ +CRYPTO_get_ex_new_index.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CRYPTO_set_mem_debug.3 b/linux_amd64/share/man/man3/CRYPTO_set_mem_debug.3 new file mode 120000 index 0000000..9246368 --- /dev/null +++ b/linux_amd64/share/man/man3/CRYPTO_set_mem_debug.3 @@ -0,0 +1 @@ +OPENSSL_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CRYPTO_set_mem_functions.3 b/linux_amd64/share/man/man3/CRYPTO_set_mem_functions.3 new file mode 120000 index 0000000..9246368 --- /dev/null +++ b/linux_amd64/share/man/man3/CRYPTO_set_mem_functions.3 @@ -0,0 +1 @@ +OPENSSL_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CRYPTO_strdup.3 b/linux_amd64/share/man/man3/CRYPTO_strdup.3 new file mode 120000 index 0000000..9246368 --- /dev/null +++ b/linux_amd64/share/man/man3/CRYPTO_strdup.3 @@ -0,0 +1 @@ +OPENSSL_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CRYPTO_strndup.3 b/linux_amd64/share/man/man3/CRYPTO_strndup.3 new file mode 120000 index 0000000..9246368 --- /dev/null +++ b/linux_amd64/share/man/man3/CRYPTO_strndup.3 @@ -0,0 +1 @@ +OPENSSL_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CRYPTO_zalloc.3 b/linux_amd64/share/man/man3/CRYPTO_zalloc.3 new file mode 120000 index 0000000..9246368 --- /dev/null +++ b/linux_amd64/share/man/man3/CRYPTO_zalloc.3 @@ -0,0 +1 @@ +OPENSSL_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CTLOG_STORE_free.3 b/linux_amd64/share/man/man3/CTLOG_STORE_free.3 new file mode 120000 index 0000000..553ae94 --- /dev/null +++ b/linux_amd64/share/man/man3/CTLOG_STORE_free.3 @@ -0,0 +1 @@ +CTLOG_STORE_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CTLOG_STORE_get0_log_by_id.3 b/linux_amd64/share/man/man3/CTLOG_STORE_get0_log_by_id.3 index 465108f..cd60136 100755 --- a/linux_amd64/share/man/man3/CTLOG_STORE_get0_log_by_id.3 +++ b/linux_amd64/share/man/man3/CTLOG_STORE_get0_log_by_id.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "CTLOG_STORE_GET0_LOG_BY_ID 3" -.TH CTLOG_STORE_GET0_LOG_BY_ID 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH CTLOG_STORE_GET0_LOG_BY_ID 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -CTLOG_STORE_get0_log_by_id \- -Get a Certificate Transparency log from a CTLOG_STORE +CTLOG_STORE_get0_log_by_id \- Get a Certificate Transparency log from a CTLOG_STORE .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -165,7 +164,7 @@ The \fICTLOG_STORE_get0_log_by_id()\fR function was added in OpenSSL 1.1.0. .IX Header "COPYRIGHT" Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/CTLOG_STORE_load_default_file.3 b/linux_amd64/share/man/man3/CTLOG_STORE_load_default_file.3 new file mode 120000 index 0000000..553ae94 --- /dev/null +++ b/linux_amd64/share/man/man3/CTLOG_STORE_load_default_file.3 @@ -0,0 +1 @@ +CTLOG_STORE_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CTLOG_STORE_load_file.3 b/linux_amd64/share/man/man3/CTLOG_STORE_load_file.3 new file mode 120000 index 0000000..553ae94 --- /dev/null +++ b/linux_amd64/share/man/man3/CTLOG_STORE_load_file.3 @@ -0,0 +1 @@ +CTLOG_STORE_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CTLOG_STORE_new.3 b/linux_amd64/share/man/man3/CTLOG_STORE_new.3 index 3cd830e..ab23f4f 100755 --- a/linux_amd64/share/man/man3/CTLOG_STORE_new.3 +++ b/linux_amd64/share/man/man3/CTLOG_STORE_new.3 @@ -124,15 +124,13 @@ .\" ======================================================================== .\" .IX Title "CTLOG_STORE_NEW 3" -.TH CTLOG_STORE_NEW 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH CTLOG_STORE_NEW 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -CTLOG_STORE_new, CTLOG_STORE_free, -CTLOG_STORE_load_default_file, CTLOG_STORE_load_file \- -Create and populate a Certificate Transparency log list +CTLOG_STORE_new, CTLOG_STORE_free, CTLOG_STORE_load_default_file, CTLOG_STORE_load_file \- Create and populate a Certificate Transparency log list .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -153,8 +151,8 @@ logs). The list can be loaded from one or more files and then searched by LogID \&\fICTLOG_STORE_new()\fR creates an empty list of \s-1CT\s0 logs. This is then populated by \fICTLOG_STORE_load_default_file()\fR or \fICTLOG_STORE_load_file()\fR. \&\fICTLOG_STORE_load_default_file()\fR loads from the default file, which is named -\&\fIct_log_list.cnf\fR in \s-1OPENSSLDIR\s0 (see the output of \fIopenssl\-version\fR\|(1)). -This can be overridden using an environment variable named \fB\s-1CTLOG_FILE\s0\fR. +\&\*(L"ct_log_list.cnf\*(R" in \s-1OPENSSLDIR\s0 (see the output of version). This can be +overridden using an environment variable named \*(L"\s-1CTLOG_FILE\s0\*(R". \&\fICTLOG_STORE_load_file()\fR loads from a caller-specified file path instead. Both of these functions append any loaded \s-1CT\s0 logs to the \s-1CTLOG_STORE\s0. .PP @@ -196,7 +194,7 @@ These functions were added in OpenSSL 1.1.0. .IX Header "COPYRIGHT" Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/CTLOG_free.3 b/linux_amd64/share/man/man3/CTLOG_free.3 new file mode 120000 index 0000000..c66a711 --- /dev/null +++ b/linux_amd64/share/man/man3/CTLOG_free.3 @@ -0,0 +1 @@ +CTLOG_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CTLOG_get0_log_id.3 b/linux_amd64/share/man/man3/CTLOG_get0_log_id.3 new file mode 120000 index 0000000..c66a711 --- /dev/null +++ b/linux_amd64/share/man/man3/CTLOG_get0_log_id.3 @@ -0,0 +1 @@ +CTLOG_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CTLOG_get0_name.3 b/linux_amd64/share/man/man3/CTLOG_get0_name.3 new file mode 120000 index 0000000..c66a711 --- /dev/null +++ b/linux_amd64/share/man/man3/CTLOG_get0_name.3 @@ -0,0 +1 @@ +CTLOG_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CTLOG_get0_public_key.3 b/linux_amd64/share/man/man3/CTLOG_get0_public_key.3 new file mode 120000 index 0000000..c66a711 --- /dev/null +++ b/linux_amd64/share/man/man3/CTLOG_get0_public_key.3 @@ -0,0 +1 @@ +CTLOG_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CTLOG_new.3 b/linux_amd64/share/man/man3/CTLOG_new.3 index bb26811..2e3a12a 100755 --- a/linux_amd64/share/man/man3/CTLOG_new.3 +++ b/linux_amd64/share/man/man3/CTLOG_new.3 @@ -124,15 +124,13 @@ .\" ======================================================================== .\" .IX Title "CTLOG_NEW 3" -.TH CTLOG_NEW 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH CTLOG_NEW 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -CTLOG_new, CTLOG_new_from_base64, CTLOG_free, -CTLOG_get0_name, CTLOG_get0_log_id, CTLOG_get0_public_key \- -encapsulates information about a Certificate Transparency log +CTLOG_new, CTLOG_new_from_base64, CTLOG_free, CTLOG_get0_name, CTLOG_get0_log_id, CTLOG_get0_public_key \- encapsulates information about a Certificate Transparency log .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -188,7 +186,7 @@ These functions were added in OpenSSL 1.1.0. .IX Header "COPYRIGHT" Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/CTLOG_new_from_base64.3 b/linux_amd64/share/man/man3/CTLOG_new_from_base64.3 new file mode 120000 index 0000000..c66a711 --- /dev/null +++ b/linux_amd64/share/man/man3/CTLOG_new_from_base64.3 @@ -0,0 +1 @@ +CTLOG_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CT_POLICY_EVAL_CTX_free.3 b/linux_amd64/share/man/man3/CT_POLICY_EVAL_CTX_free.3 new file mode 120000 index 0000000..d879d51 --- /dev/null +++ b/linux_amd64/share/man/man3/CT_POLICY_EVAL_CTX_free.3 @@ -0,0 +1 @@ +CT_POLICY_EVAL_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CT_POLICY_EVAL_CTX_get0_cert.3 b/linux_amd64/share/man/man3/CT_POLICY_EVAL_CTX_get0_cert.3 new file mode 120000 index 0000000..d879d51 --- /dev/null +++ b/linux_amd64/share/man/man3/CT_POLICY_EVAL_CTX_get0_cert.3 @@ -0,0 +1 @@ +CT_POLICY_EVAL_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CT_POLICY_EVAL_CTX_get0_issuer.3 b/linux_amd64/share/man/man3/CT_POLICY_EVAL_CTX_get0_issuer.3 new file mode 120000 index 0000000..d879d51 --- /dev/null +++ b/linux_amd64/share/man/man3/CT_POLICY_EVAL_CTX_get0_issuer.3 @@ -0,0 +1 @@ +CT_POLICY_EVAL_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CT_POLICY_EVAL_CTX_get0_log_store.3 b/linux_amd64/share/man/man3/CT_POLICY_EVAL_CTX_get0_log_store.3 new file mode 120000 index 0000000..d879d51 --- /dev/null +++ b/linux_amd64/share/man/man3/CT_POLICY_EVAL_CTX_get0_log_store.3 @@ -0,0 +1 @@ +CT_POLICY_EVAL_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CT_POLICY_EVAL_CTX_get_time.3 b/linux_amd64/share/man/man3/CT_POLICY_EVAL_CTX_get_time.3 new file mode 120000 index 0000000..d879d51 --- /dev/null +++ b/linux_amd64/share/man/man3/CT_POLICY_EVAL_CTX_get_time.3 @@ -0,0 +1 @@ +CT_POLICY_EVAL_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CT_POLICY_EVAL_CTX_new.3 b/linux_amd64/share/man/man3/CT_POLICY_EVAL_CTX_new.3 index 5a41bb8..ea7c4a9 100755 --- a/linux_amd64/share/man/man3/CT_POLICY_EVAL_CTX_new.3 +++ b/linux_amd64/share/man/man3/CT_POLICY_EVAL_CTX_new.3 @@ -124,18 +124,13 @@ .\" ======================================================================== .\" .IX Title "CT_POLICY_EVAL_CTX_NEW 3" -.TH CT_POLICY_EVAL_CTX_NEW 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH CT_POLICY_EVAL_CTX_NEW 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -CT_POLICY_EVAL_CTX_new, CT_POLICY_EVAL_CTX_free, -CT_POLICY_EVAL_CTX_get0_cert, CT_POLICY_EVAL_CTX_set1_cert, -CT_POLICY_EVAL_CTX_get0_issuer, CT_POLICY_EVAL_CTX_set1_issuer, -CT_POLICY_EVAL_CTX_get0_log_store, CT_POLICY_EVAL_CTX_set_shared_CTLOG_STORE, -CT_POLICY_EVAL_CTX_get_time, CT_POLICY_EVAL_CTX_set_time \- -Encapsulates the data required to evaluate whether SCTs meet a Certificate Transparency policy +CT_POLICY_EVAL_CTX_new, CT_POLICY_EVAL_CTX_free, CT_POLICY_EVAL_CTX_get0_cert, CT_POLICY_EVAL_CTX_set1_cert, CT_POLICY_EVAL_CTX_get0_issuer, CT_POLICY_EVAL_CTX_set1_issuer, CT_POLICY_EVAL_CTX_get0_log_store, CT_POLICY_EVAL_CTX_set_shared_CTLOG_STORE, CT_POLICY_EVAL_CTX_get_time, CT_POLICY_EVAL_CTX_set_time \- Encapsulates the data required to evaluate whether SCTs meet a Certificate Transparency policy .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -194,7 +189,7 @@ issued in the future. \s-1RFC6962\s0 states that \*(L"\s-1TLS\s0 clients \s-1MUS timestamp is in the future\*(R". By default, this will be set to 5 minutes in the future (e.g. (\fItime()\fR + 300) * 1000), to allow for clock drift. .Sp -The time should be in milliseconds since the Unix Epoch. +The time should be in milliseconds since the Unix epoch. .PP Each setter has a matching getter for accessing the current value. .PP @@ -219,7 +214,7 @@ These functions were added in OpenSSL 1.1.0. .IX Header "COPYRIGHT" Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/CT_POLICY_EVAL_CTX_set1_cert.3 b/linux_amd64/share/man/man3/CT_POLICY_EVAL_CTX_set1_cert.3 new file mode 120000 index 0000000..d879d51 --- /dev/null +++ b/linux_amd64/share/man/man3/CT_POLICY_EVAL_CTX_set1_cert.3 @@ -0,0 +1 @@ +CT_POLICY_EVAL_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CT_POLICY_EVAL_CTX_set1_issuer.3 b/linux_amd64/share/man/man3/CT_POLICY_EVAL_CTX_set1_issuer.3 new file mode 120000 index 0000000..d879d51 --- /dev/null +++ b/linux_amd64/share/man/man3/CT_POLICY_EVAL_CTX_set1_issuer.3 @@ -0,0 +1 @@ +CT_POLICY_EVAL_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CT_POLICY_EVAL_CTX_set_shared_CTLOG_STORE.3 b/linux_amd64/share/man/man3/CT_POLICY_EVAL_CTX_set_shared_CTLOG_STORE.3 new file mode 120000 index 0000000..d879d51 --- /dev/null +++ b/linux_amd64/share/man/man3/CT_POLICY_EVAL_CTX_set_shared_CTLOG_STORE.3 @@ -0,0 +1 @@ +CT_POLICY_EVAL_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/CT_POLICY_EVAL_CTX_set_time.3 b/linux_amd64/share/man/man3/CT_POLICY_EVAL_CTX_set_time.3 new file mode 120000 index 0000000..d879d51 --- /dev/null +++ b/linux_amd64/share/man/man3/CT_POLICY_EVAL_CTX_set_time.3 @@ -0,0 +1 @@ +CT_POLICY_EVAL_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DECLARE_ASN1_FUNCTIONS.3 b/linux_amd64/share/man/man3/DECLARE_ASN1_FUNCTIONS.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/DECLARE_ASN1_FUNCTIONS.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DECLARE_LHASH_OF.3 b/linux_amd64/share/man/man3/DECLARE_LHASH_OF.3 new file mode 120000 index 0000000..bad6292 --- /dev/null +++ b/linux_amd64/share/man/man3/DECLARE_LHASH_OF.3 @@ -0,0 +1 @@ +OPENSSL_LH_COMPFUNC.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DECLARE_PEM_rw.3 b/linux_amd64/share/man/man3/DECLARE_PEM_rw.3 new file mode 120000 index 0000000..7adde69 --- /dev/null +++ b/linux_amd64/share/man/man3/DECLARE_PEM_rw.3 @@ -0,0 +1 @@ +PEM_read_CMS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DEFINE_SPECIAL_STACK_OF.3 b/linux_amd64/share/man/man3/DEFINE_SPECIAL_STACK_OF.3 new file mode 120000 index 0000000..abaa3db --- /dev/null +++ b/linux_amd64/share/man/man3/DEFINE_SPECIAL_STACK_OF.3 @@ -0,0 +1 @@ +DEFINE_STACK_OF.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DEFINE_SPECIAL_STACK_OF_CONST.3 b/linux_amd64/share/man/man3/DEFINE_SPECIAL_STACK_OF_CONST.3 new file mode 120000 index 0000000..abaa3db --- /dev/null +++ b/linux_amd64/share/man/man3/DEFINE_SPECIAL_STACK_OF_CONST.3 @@ -0,0 +1 @@ +DEFINE_STACK_OF.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DEFINE_STACK_OF.3 b/linux_amd64/share/man/man3/DEFINE_STACK_OF.3 index 3c08e33..ccd92cf 100755 --- a/linux_amd64/share/man/man3/DEFINE_STACK_OF.3 +++ b/linux_amd64/share/man/man3/DEFINE_STACK_OF.3 @@ -124,21 +124,13 @@ .\" ======================================================================== .\" .IX Title "DEFINE_STACK_OF 3" -.TH DEFINE_STACK_OF 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH DEFINE_STACK_OF 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -DEFINE_STACK_OF, DEFINE_STACK_OF_CONST, DEFINE_SPECIAL_STACK_OF, -DEFINE_SPECIAL_STACK_OF_CONST, -sk_TYPE_num, sk_TYPE_value, sk_TYPE_new, sk_TYPE_new_null, -sk_TYPE_reserve, sk_TYPE_free, sk_TYPE_zero, sk_TYPE_delete, -sk_TYPE_delete_ptr, sk_TYPE_push, sk_TYPE_unshift, sk_TYPE_pop, -sk_TYPE_shift, sk_TYPE_pop_free, sk_TYPE_insert, sk_TYPE_set, -sk_TYPE_find, sk_TYPE_find_ex, sk_TYPE_sort, sk_TYPE_is_sorted, -sk_TYPE_dup, sk_TYPE_deep_copy, sk_TYPE_set_cmp_func, sk_TYPE_new_reserve -\&\- stack container +DEFINE_STACK_OF, DEFINE_STACK_OF_CONST, DEFINE_SPECIAL_STACK_OF, DEFINE_SPECIAL_STACK_OF_CONST, sk_TYPE_num, sk_TYPE_value, sk_TYPE_new, sk_TYPE_new_null, sk_TYPE_reserve, sk_TYPE_free, sk_TYPE_zero, sk_TYPE_delete, sk_TYPE_delete_ptr, sk_TYPE_push, sk_TYPE_unshift, sk_TYPE_pop, sk_TYPE_shift, sk_TYPE_pop_free, sk_TYPE_insert, sk_TYPE_set, sk_TYPE_find, sk_TYPE_find_ex, sk_TYPE_sort, sk_TYPE_is_sorted, sk_TYPE_dup, sk_TYPE_deep_copy, sk_TYPE_set_cmp_func, sk_TYPE_new_reserve \&\- stack container .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -187,14 +179,13 @@ sk_TYPE_dup, sk_TYPE_deep_copy, sk_TYPE_set_cmp_func, sk_TYPE_new_reserve Applications can create and use their own stacks by placing any of the macros described below in a header file. These macros define typesafe inline functions that wrap around the utility \fBOPENSSL_sk_\fR \s-1API\s0. -In the description here, \fB\f(BI\s-1TYPE\s0\fB\fR is used -as a placeholder for any of the OpenSSL datatypes, such as \fBX509\fR. +In the description here, \fI\s-1TYPE\s0\fR is used +as a placeholder for any of the OpenSSL datatypes, such as \fIX509\fR. .PP -\&\s-1\fISTACK_OF\s0()\fR returns the name for a stack of the specified \fB\f(BI\s-1TYPE\s0\fB\fR. -\&\s-1\fIDEFINE_STACK_OF\s0()\fR creates set of functions for a stack of \fB\f(BI\s-1TYPE\s0\fB\fR. This -will mean that type \fB\f(BI\s-1TYPE\s0\fB\fR is stored in each stack, the type is referenced by -\&\fB\s-1STACK_OF\s0\fR(\fB\f(BI\s-1TYPE\s0\fB\fR) and each function name begins with \fBsk_\f(BI\s-1TYPE\s0\fB_\fR. -For example: +\&\s-1\fISTACK_OF\s0()\fR returns the name for a stack of the specified \fB\s-1TYPE\s0\fR. +\&\s-1\fIDEFINE_STACK_OF\s0()\fR creates set of functions for a stack of \fB\s-1TYPE\s0\fR. This +will mean that type \fB\s-1TYPE\s0\fR is stored in each stack, the type is referenced by +\&\s-1STACK_OF\s0(\s-1TYPE\s0) and each function name begins with \fIsk_TYPE_\fR. For example: .PP .Vb 1 \& TYPE *sk_TYPE_value(STACK_OF(TYPE) *sk, int idx); @@ -207,7 +198,7 @@ each element is constant. For example: \& const TYPE *sk_TYPE_value(STACK_OF(TYPE) *sk, int idx); .Ve .PP -\&\s-1\fIDEFINE_SPECIAL_STACK_OF\s0()\fR defines a stack of \fB\f(BI\s-1TYPE\s0\fB\fR but +\&\s-1\fIDEFINE_SPECIAL_STACK_OF\s0()\fR defines a stack of \fB\s-1TYPE\s0\fR but each function uses \fB\s-1FUNCNAME\s0\fR in the function name. For example: .PP .Vb 1 @@ -221,122 +212,120 @@ constant: \& const TYPE *sk_FUNCNAME_value(STACK_OF(TYPE) *sk, int idx); .Ve .PP -\&\fBsk_\f(BI\s-1TYPE\s0\fB_num\fR() returns the number of elements in \fIsk\fR or \-1 if \fIsk\fR is -\&\s-1NULL\s0. +\&\fIsk_TYPE_num()\fR returns the number of elements in \fBsk\fR or \-1 if \fBsk\fR is +\&\fB\s-1NULL\s0\fR. .PP -\&\fBsk_\f(BI\s-1TYPE\s0\fB_value\fR() returns element \fIidx\fR in \fIsk\fR, where \fIidx\fR starts at -zero. If \fIidx\fR is out of range then \s-1NULL\s0 is returned. +\&\fIsk_TYPE_value()\fR returns element \fBidx\fR in \fBsk\fR, where \fBidx\fR starts at +zero. If \fBidx\fR is out of range then \fB\s-1NULL\s0\fR is returned. .PP -\&\fBsk_\f(BI\s-1TYPE\s0\fB_new\fR() allocates a new empty stack using comparison function -\&\fIcompare\fR. If \fIcompare\fR is \s-1NULL\s0 then no comparison function is used. This -function is equivalent to \fBsk_\f(BI\s-1TYPE\s0\fB_new_reserve\fR(\fIcompare\fR, 0). +\&\fIsk_TYPE_new()\fR allocates a new empty stack using comparison function \fBcompare\fR. +If \fBcompare\fR is \fB\s-1NULL\s0\fR then no comparison function is used. This function is +equivalent to sk_TYPE_new_reserve(compare, 0). .PP -\&\fBsk_\f(BI\s-1TYPE\s0\fB_new_null\fR() allocates a new empty stack with no comparison -function. This function is equivalent to \fBsk_\f(BI\s-1TYPE\s0\fB_new_reserve\fR(\s-1NULL\s0, 0). +\&\fIsk_TYPE_new_null()\fR allocates a new empty stack with no comparison function. This +function is equivalent to sk_TYPE_new_reserve(\s-1NULL\s0, 0). .PP -\&\fBsk_\f(BI\s-1TYPE\s0\fB_reserve\fR() allocates additional memory in the \fIsk\fR structure -such that the next \fIn\fR calls to \fBsk_\f(BI\s-1TYPE\s0\fB_insert\fR(), \fBsk_\f(BI\s-1TYPE\s0\fB_push\fR() -or \fBsk_\f(BI\s-1TYPE\s0\fB_unshift\fR() will not fail or cause memory to be allocated -or reallocated. If \fIn\fR is zero, any excess space allocated in the -\&\fIsk\fR structure is freed. On error \fIsk\fR is unchanged. +\&\fIsk_TYPE_reserve()\fR allocates additional memory in the \fBsk\fR structure +such that the next \fBn\fR calls to \fIsk_TYPE_insert()\fR, \fIsk_TYPE_push()\fR +or \fIsk_TYPE_unshift()\fR will not fail or cause memory to be allocated +or reallocated. If \fBn\fR is zero, any excess space allocated in the +\&\fBsk\fR structure is freed. On error \fBsk\fR is unchanged. .PP -\&\fBsk_\f(BI\s-1TYPE\s0\fB_new_reserve\fR() allocates a new stack. The new stack will have -additional memory allocated to hold \fIn\fR elements if \fIn\fR is positive. -The next \fIn\fR calls to \fBsk_\f(BI\s-1TYPE\s0\fB_insert\fR(), \fBsk_\f(BI\s-1TYPE\s0\fB_push\fR() or -\&\fBsk_\f(BI\s-1TYPE\s0\fB_unshift\fR() will not fail or cause memory to be allocated or -reallocated. If \fIn\fR is zero or less than zero, no memory is allocated. -\&\fBsk_\f(BI\s-1TYPE\s0\fB_new_reserve\fR() also sets the comparison function \fIcompare\fR -to the newly created stack. If \fIcompare\fR is \s-1NULL\s0 then no comparison -function is used. +\&\fIsk_TYPE_new_reserve()\fR allocates a new stack. The new stack will have additional +memory allocated to hold \fBn\fR elements if \fBn\fR is positive. The next \fBn\fR calls +to \fIsk_TYPE_insert()\fR, \fIsk_TYPE_push()\fR or \fIsk_TYPE_unshift()\fR will not fail or cause +memory to be allocated or reallocated. If \fBn\fR is zero or less than zero, no +memory is allocated. \fIsk_TYPE_new_reserve()\fR also sets the comparison function +\&\fBcompare\fR to the newly created stack. If \fBcompare\fR is \fB\s-1NULL\s0\fR then no +comparison function is used. .PP -\&\fBsk_\f(BI\s-1TYPE\s0\fB_set_cmp_func\fR() sets the comparison function of \fIsk\fR to -\&\fIcompare\fR. The previous comparison function is returned or \s-1NULL\s0 if there -was no previous comparison function. +\&\fIsk_TYPE_set_cmp_func()\fR sets the comparison function of \fBsk\fR to \fBcompare\fR. +The previous comparison function is returned or \fB\s-1NULL\s0\fR if there was +no previous comparison function. .PP -\&\fBsk_\f(BI\s-1TYPE\s0\fB_free\fR() frees up the \fIsk\fR structure. It does \fInot\fR free up any -elements of \fIsk\fR. After this call \fIsk\fR is no longer valid. +\&\fIsk_TYPE_free()\fR frees up the \fBsk\fR structure. It does \fBnot\fR free up any +elements of \fBsk\fR. After this call \fBsk\fR is no longer valid. .PP -\&\fBsk_\f(BI\s-1TYPE\s0\fB_zero\fR() sets the number of elements in \fIsk\fR to zero. It does not -free \fIsk\fR so after this call \fIsk\fR is still valid. +\&\fIsk_TYPE_zero()\fR sets the number of elements in \fBsk\fR to zero. It does not free +\&\fBsk\fR so after this call \fBsk\fR is still valid. .PP -\&\fBsk_\f(BI\s-1TYPE\s0\fB_pop_free\fR() frees up all elements of \fIsk\fR and \fIsk\fR itself. The +\&\fIsk_TYPE_pop_free()\fR frees up all elements of \fBsk\fR and \fBsk\fR itself. The free function \fIfreefunc()\fR is called on each element to free it. .PP -\&\fBsk_\f(BI\s-1TYPE\s0\fB_delete\fR() deletes element \fIi\fR from \fIsk\fR. It returns the deleted -element or \s-1NULL\s0 if \fIi\fR is out of range. +\&\fIsk_TYPE_delete()\fR deletes element \fBi\fR from \fBsk\fR. It returns the deleted +element or \fB\s-1NULL\s0\fR if \fBi\fR is out of range. .PP -\&\fBsk_\f(BI\s-1TYPE\s0\fB_delete_ptr\fR() deletes element matching \fIptr\fR from \fIsk\fR. It -returns the deleted element or \s-1NULL\s0 if no element matching \fIptr\fR was found. +\&\fIsk_TYPE_delete_ptr()\fR deletes element matching \fBptr\fR from \fBsk\fR. It returns +the deleted element or \fB\s-1NULL\s0\fR if no element matching \fBptr\fR was found. .PP -\&\fBsk_\f(BI\s-1TYPE\s0\fB_insert\fR() inserts \fIptr\fR into \fIsk\fR at position \fIidx\fR. Any -existing elements at or after \fIidx\fR are moved downwards. If \fIidx\fR is out -of range the new element is appended to \fIsk\fR. \fBsk_\f(BI\s-1TYPE\s0\fB_insert\fR() either -returns the number of elements in \fIsk\fR after the new element is inserted or -zero if an error (such as memory allocation failure) occurred. +\&\fIsk_TYPE_insert()\fR inserts \fBptr\fR into \fBsk\fR at position \fBidx\fR. Any existing +elements at or after \fBidx\fR are moved downwards. If \fBidx\fR is out of range +the new element is appended to \fBsk\fR. \fIsk_TYPE_insert()\fR either returns the +number of elements in \fBsk\fR after the new element is inserted or zero if +an error (such as memory allocation failure) occurred. .PP -\&\fBsk_\f(BI\s-1TYPE\s0\fB_push\fR() appends \fIptr\fR to \fIsk\fR it is equivalent to: +\&\fIsk_TYPE_push()\fR appends \fBptr\fR to \fBsk\fR it is equivalent to: .PP .Vb 1 \& sk_TYPE_insert(sk, ptr, \-1); .Ve .PP -\&\fBsk_\f(BI\s-1TYPE\s0\fB_unshift\fR() inserts \fIptr\fR at the start of \fIsk\fR it is equivalent -to: +\&\fIsk_TYPE_unshift()\fR inserts \fBptr\fR at the start of \fBsk\fR it is equivalent to: .PP .Vb 1 \& sk_TYPE_insert(sk, ptr, 0); .Ve .PP -\&\fBsk_\f(BI\s-1TYPE\s0\fB_pop\fR() returns and removes the last element from \fIsk\fR. +\&\fIsk_TYPE_pop()\fR returns and removes the last element from \fBsk\fR. .PP -\&\fBsk_\f(BI\s-1TYPE\s0\fB_shift\fR() returns and removes the first element from \fIsk\fR. +\&\fIsk_TYPE_shift()\fR returns and removes the first element from \fBsk\fR. .PP -\&\fBsk_\f(BI\s-1TYPE\s0\fB_set\fR() sets element \fIidx\fR of \fIsk\fR to \fIptr\fR replacing the current -element. The new element value is returned or \s-1NULL\s0 if an error occurred: -this will only happen if \fIsk\fR is \s-1NULL\s0 or \fIidx\fR is out of range. +\&\fIsk_TYPE_set()\fR sets element \fBidx\fR of \fBsk\fR to \fBptr\fR replacing the current +element. The new element value is returned or \fB\s-1NULL\s0\fR if an error occurred: +this will only happen if \fBsk\fR is \fB\s-1NULL\s0\fR or \fBidx\fR is out of range. .PP -\&\fBsk_\f(BI\s-1TYPE\s0\fB_find\fR() searches \fIsk\fR for the element \fIptr\fR. In the case +\&\fIsk_TYPE_find()\fR searches \fBsk\fR for the element \fBptr\fR. In the case where no comparison function has been specified, the function performs -a linear search for a pointer equal to \fIptr\fR. The index of the first +a linear search for a pointer equal to \fBptr\fR. The index of the first matching element is returned or \fB\-1\fR if there is no match. In the case -where a comparison function has been specified, \fIsk\fR is sorted then -\&\fBsk_\f(BI\s-1TYPE\s0\fB_find\fR() returns the index of a matching element or \fB\-1\fR if there +where a comparison function has been specified, \fBsk\fR is sorted then +\&\fIsk_TYPE_find()\fR returns the index of a matching element or \fB\-1\fR if there is no match. Note that, in this case, the matching element returned is not guaranteed to be the first; the comparison function will usually compare the values pointed to rather than the pointers themselves and -the order of elements in \fIsk\fR could change. +the order of elements in \fBsk\fR could change. .PP -\&\fBsk_\f(BI\s-1TYPE\s0\fB_find_ex\fR() operates like \fBsk_\f(BI\s-1TYPE\s0\fB_find\fR() except when a -comparison function has been specified and no matching element is found. -Instead of returning \fB\-1\fR, \fBsk_\f(BI\s-1TYPE\s0\fB_find_ex\fR() returns the index of the -element either before or after the location where \fIptr\fR would be if it were -present in \fIsk\fR. +\&\fIsk_TYPE_find_ex()\fR operates like \fIsk_TYPE_find()\fR except when a comparison +function has been specified and no matching element is found. Instead +of returning \fB\-1\fR, \fIsk_TYPE_find_ex()\fR returns the index of the element +either before or after the location where \fBptr\fR would be if it were +present in \fBsk\fR. .PP -\&\fBsk_\f(BI\s-1TYPE\s0\fB_sort\fR() sorts \fIsk\fR using the supplied comparison function. +\&\fIsk_TYPE_sort()\fR sorts \fBsk\fR using the supplied comparison function. .PP -\&\fBsk_\f(BI\s-1TYPE\s0\fB_is_sorted\fR() returns \fB1\fR if \fIsk\fR is sorted and \fB0\fR otherwise. +\&\fIsk_TYPE_is_sorted()\fR returns \fB1\fR if \fBsk\fR is sorted and \fB0\fR otherwise. .PP -\&\fBsk_\f(BI\s-1TYPE\s0\fB_dup\fR() returns a copy of \fIsk\fR. Note the pointers in the copy +\&\fIsk_TYPE_dup()\fR returns a copy of \fBsk\fR. Note the pointers in the copy are identical to the original. .PP -\&\fBsk_\f(BI\s-1TYPE\s0\fB_deep_copy\fR() returns a new stack where each element has been -copied. Copying is performed by the supplied \fIcopyfunc()\fR and freeing by -\&\fIfreefunc()\fR. The function \fIfreefunc()\fR is only called if an error occurs. +\&\fIsk_TYPE_deep_copy()\fR returns a new stack where each element has been copied. +Copying is performed by the supplied \fIcopyfunc()\fR and freeing by \fIfreefunc()\fR. The +function \fIfreefunc()\fR is only called if an error occurs. .SH "NOTES" .IX Header "NOTES" Care should be taken when accessing stacks in multi-threaded environments. -Any operation which increases the size of a stack such as \fBsk_\f(BI\s-1TYPE\s0\fB_insert\fR() -or \fBsk_\f(BI\s-1TYPE\s0\fB_push\fR() can \*(L"grow\*(R" the size of an internal array and cause race -conditions if the same stack is accessed in a different thread. Operations such -as \fBsk_\f(BI\s-1TYPE\s0\fB_find\fR() and \fBsk_\f(BI\s-1TYPE\s0\fB_sort\fR() can also reorder the stack. +Any operation which increases the size of a stack such as \fIsk_TYPE_insert()\fR or +\&\fIsk_push()\fR can \*(L"grow\*(R" the size of an internal array and cause race conditions +if the same stack is accessed in a different thread. Operations such as +\&\fIsk_find()\fR and \fIsk_sort()\fR can also reorder the stack. .PP Any comparison function supplied should use a metric suitable for use in a binary search operation. That is it should return zero, a -positive or negative value if \fIa\fR is equal to, greater than -or less than \fIb\fR respectively. +positive or negative value if \fBa\fR is equal to, greater than +or less than \fBb\fR respectively. .PP Care should be taken when checking the return values of the functions -\&\fBsk_\f(BI\s-1TYPE\s0\fB_find\fR() and \fBsk_\f(BI\s-1TYPE\s0\fB_find_ex\fR(). They return an index to the +\&\fIsk_TYPE_find()\fR and \fIsk_TYPE_find_ex()\fR. They return an index to the matching element. In particular \fB0\fR indicates a matching first element. A failed search is indicated by a \fB\-1\fR return value. .PP @@ -355,54 +344,52 @@ It defines these functions: \fIOPENSSL_sk_deep_copy()\fR, \&\fIOPENSSL_sk_zero()\fR. .SH "RETURN VALUES" .IX Header "RETURN VALUES" -\&\fBsk_\f(BI\s-1TYPE\s0\fB_num\fR() returns the number of elements in the stack or \fB\-1\fR if the -passed stack is \s-1NULL\s0. +\&\fIsk_TYPE_num()\fR returns the number of elements in the stack or \fB\-1\fR if the +passed stack is \fB\s-1NULL\s0\fR. .PP -\&\fBsk_\f(BI\s-1TYPE\s0\fB_value\fR() returns a pointer to a stack element or \s-1NULL\s0 if the +\&\fIsk_TYPE_value()\fR returns a pointer to a stack element or \fB\s-1NULL\s0\fR if the index is out of range. .PP -\&\fBsk_\f(BI\s-1TYPE\s0\fB_new\fR(), \fBsk_\f(BI\s-1TYPE\s0\fB_new_null\fR() and \fBsk_\f(BI\s-1TYPE\s0\fB_new_reserve\fR() -return an empty stack or \s-1NULL\s0 if an error occurs. +\&\fIsk_TYPE_new()\fR, \fIsk_TYPE_new_null()\fR and \fIsk_TYPE_new_reserve()\fR return an empty +stack or \fB\s-1NULL\s0\fR if an error occurs. .PP -\&\fBsk_\f(BI\s-1TYPE\s0\fB_reserve\fR() returns \fB1\fR on successful allocation of the required -memory or \fB0\fR on error. +\&\fIsk_TYPE_reserve()\fR returns \fB1\fR on successful allocation of the required memory +or \fB0\fR on error. .PP -\&\fBsk_\f(BI\s-1TYPE\s0\fB_set_cmp_func\fR() returns the old comparison function or \s-1NULL\s0 if +\&\fIsk_TYPE_set_cmp_func()\fR returns the old comparison function or \fB\s-1NULL\s0\fR if there was no old comparison function. .PP -\&\fBsk_\f(BI\s-1TYPE\s0\fB_free\fR(), \fBsk_\f(BI\s-1TYPE\s0\fB_zero\fR(), \fBsk_\f(BI\s-1TYPE\s0\fB_pop_free\fR() and -\&\fBsk_\f(BI\s-1TYPE\s0\fB_sort\fR() do not return values. +\&\fIsk_TYPE_free()\fR, \fIsk_TYPE_zero()\fR, \fIsk_TYPE_pop_free()\fR and \fIsk_TYPE_sort()\fR do +not return values. .PP -\&\fBsk_\f(BI\s-1TYPE\s0\fB_pop\fR(), \fBsk_\f(BI\s-1TYPE\s0\fB_shift\fR(), \fBsk_\f(BI\s-1TYPE\s0\fB_delete\fR() and -\&\fBsk_\f(BI\s-1TYPE\s0\fB_delete_ptr\fR() return a pointer to the deleted element or \s-1NULL\s0 -on error. +\&\fIsk_TYPE_pop()\fR, \fIsk_TYPE_shift()\fR, \fIsk_TYPE_delete()\fR and \fIsk_TYPE_delete_ptr()\fR +return a pointer to the deleted element or \fB\s-1NULL\s0\fR on error. .PP -\&\fBsk_\f(BI\s-1TYPE\s0\fB_insert\fR(), \fBsk_\f(BI\s-1TYPE\s0\fB_push\fR() and \fBsk_\f(BI\s-1TYPE\s0\fB_unshift\fR() return -the total number of elements in the stack and 0 if an error occurred. +\&\fIsk_TYPE_insert()\fR, \fIsk_TYPE_push()\fR and \fIsk_TYPE_unshift()\fR return the total +number of elements in the stack and 0 if an error occurred. .PP -\&\fBsk_\f(BI\s-1TYPE\s0\fB_set\fR() returns a pointer to the replacement element or \s-1NULL\s0 on +\&\fIsk_TYPE_set()\fR returns a pointer to the replacement element or \fB\s-1NULL\s0\fR on error. .PP -\&\fBsk_\f(BI\s-1TYPE\s0\fB_find\fR() and \fBsk_\f(BI\s-1TYPE\s0\fB_find_ex\fR() return an index to the found -element or \fB\-1\fR on error. +\&\fIsk_TYPE_find()\fR and \fIsk_TYPE_find_ex()\fR return an index to the found element +or \fB\-1\fR on error. .PP -\&\fBsk_\f(BI\s-1TYPE\s0\fB_is_sorted\fR() returns \fB1\fR if the stack is sorted and \fB0\fR if it is +\&\fIsk_TYPE_is_sorted()\fR returns \fB1\fR if the stack is sorted and \fB0\fR if it is not. .PP -\&\fBsk_\f(BI\s-1TYPE\s0\fB_dup\fR() and \fBsk_\f(BI\s-1TYPE\s0\fB_deep_copy\fR() return a pointer to the copy -of the stack. +\&\fIsk_TYPE_dup()\fR and \fIsk_TYPE_deep_copy()\fR return a pointer to the copy of the +stack. .SH "HISTORY" .IX Header "HISTORY" Before OpenSSL 1.1.0, this was implemented via macros and not inline functions and was not a public \s-1API\s0. .PP -\&\fBsk_\f(BI\s-1TYPE\s0\fB_reserve\fR() and \fBsk_\f(BI\s-1TYPE\s0\fB_new_reserve\fR() were added in OpenSSL -1.1.1. +\&\fIsk_TYPE_reserve()\fR and \fIsk_TYPE_new_reserve()\fR were added in OpenSSL 1.1.1. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2000\-2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/DEFINE_STACK_OF_CONST.3 b/linux_amd64/share/man/man3/DEFINE_STACK_OF_CONST.3 new file mode 120000 index 0000000..abaa3db --- /dev/null +++ b/linux_amd64/share/man/man3/DEFINE_STACK_OF_CONST.3 @@ -0,0 +1 @@ +DEFINE_STACK_OF.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DES_cbc_cksum.3 b/linux_amd64/share/man/man3/DES_cbc_cksum.3 new file mode 120000 index 0000000..1d9168e --- /dev/null +++ b/linux_amd64/share/man/man3/DES_cbc_cksum.3 @@ -0,0 +1 @@ +DES_random_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DES_cfb64_encrypt.3 b/linux_amd64/share/man/man3/DES_cfb64_encrypt.3 new file mode 120000 index 0000000..1d9168e --- /dev/null +++ b/linux_amd64/share/man/man3/DES_cfb64_encrypt.3 @@ -0,0 +1 @@ +DES_random_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DES_cfb_encrypt.3 b/linux_amd64/share/man/man3/DES_cfb_encrypt.3 new file mode 120000 index 0000000..1d9168e --- /dev/null +++ b/linux_amd64/share/man/man3/DES_cfb_encrypt.3 @@ -0,0 +1 @@ +DES_random_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DES_crypt.3 b/linux_amd64/share/man/man3/DES_crypt.3 new file mode 120000 index 0000000..1d9168e --- /dev/null +++ b/linux_amd64/share/man/man3/DES_crypt.3 @@ -0,0 +1 @@ +DES_random_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DES_ecb2_encrypt.3 b/linux_amd64/share/man/man3/DES_ecb2_encrypt.3 new file mode 120000 index 0000000..1d9168e --- /dev/null +++ b/linux_amd64/share/man/man3/DES_ecb2_encrypt.3 @@ -0,0 +1 @@ +DES_random_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DES_ecb3_encrypt.3 b/linux_amd64/share/man/man3/DES_ecb3_encrypt.3 new file mode 120000 index 0000000..1d9168e --- /dev/null +++ b/linux_amd64/share/man/man3/DES_ecb3_encrypt.3 @@ -0,0 +1 @@ +DES_random_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DES_ecb_encrypt.3 b/linux_amd64/share/man/man3/DES_ecb_encrypt.3 new file mode 120000 index 0000000..1d9168e --- /dev/null +++ b/linux_amd64/share/man/man3/DES_ecb_encrypt.3 @@ -0,0 +1 @@ +DES_random_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DES_ede2_cbc_encrypt.3 b/linux_amd64/share/man/man3/DES_ede2_cbc_encrypt.3 new file mode 120000 index 0000000..1d9168e --- /dev/null +++ b/linux_amd64/share/man/man3/DES_ede2_cbc_encrypt.3 @@ -0,0 +1 @@ +DES_random_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DES_ede2_cfb64_encrypt.3 b/linux_amd64/share/man/man3/DES_ede2_cfb64_encrypt.3 new file mode 120000 index 0000000..1d9168e --- /dev/null +++ b/linux_amd64/share/man/man3/DES_ede2_cfb64_encrypt.3 @@ -0,0 +1 @@ +DES_random_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DES_ede2_ofb64_encrypt.3 b/linux_amd64/share/man/man3/DES_ede2_ofb64_encrypt.3 new file mode 120000 index 0000000..1d9168e --- /dev/null +++ b/linux_amd64/share/man/man3/DES_ede2_ofb64_encrypt.3 @@ -0,0 +1 @@ +DES_random_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DES_ede3_cbc_encrypt.3 b/linux_amd64/share/man/man3/DES_ede3_cbc_encrypt.3 new file mode 120000 index 0000000..1d9168e --- /dev/null +++ b/linux_amd64/share/man/man3/DES_ede3_cbc_encrypt.3 @@ -0,0 +1 @@ +DES_random_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DES_ede3_cfb64_encrypt.3 b/linux_amd64/share/man/man3/DES_ede3_cfb64_encrypt.3 new file mode 120000 index 0000000..1d9168e --- /dev/null +++ b/linux_amd64/share/man/man3/DES_ede3_cfb64_encrypt.3 @@ -0,0 +1 @@ +DES_random_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DES_ede3_ofb64_encrypt.3 b/linux_amd64/share/man/man3/DES_ede3_ofb64_encrypt.3 new file mode 120000 index 0000000..1d9168e --- /dev/null +++ b/linux_amd64/share/man/man3/DES_ede3_ofb64_encrypt.3 @@ -0,0 +1 @@ +DES_random_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DES_fcrypt.3 b/linux_amd64/share/man/man3/DES_fcrypt.3 new file mode 120000 index 0000000..1d9168e --- /dev/null +++ b/linux_amd64/share/man/man3/DES_fcrypt.3 @@ -0,0 +1 @@ +DES_random_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DES_is_weak_key.3 b/linux_amd64/share/man/man3/DES_is_weak_key.3 new file mode 120000 index 0000000..1d9168e --- /dev/null +++ b/linux_amd64/share/man/man3/DES_is_weak_key.3 @@ -0,0 +1 @@ +DES_random_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DES_key_sched.3 b/linux_amd64/share/man/man3/DES_key_sched.3 new file mode 120000 index 0000000..1d9168e --- /dev/null +++ b/linux_amd64/share/man/man3/DES_key_sched.3 @@ -0,0 +1 @@ +DES_random_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DES_ncbc_encrypt.3 b/linux_amd64/share/man/man3/DES_ncbc_encrypt.3 new file mode 120000 index 0000000..1d9168e --- /dev/null +++ b/linux_amd64/share/man/man3/DES_ncbc_encrypt.3 @@ -0,0 +1 @@ +DES_random_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DES_ofb64_encrypt.3 b/linux_amd64/share/man/man3/DES_ofb64_encrypt.3 new file mode 120000 index 0000000..1d9168e --- /dev/null +++ b/linux_amd64/share/man/man3/DES_ofb64_encrypt.3 @@ -0,0 +1 @@ +DES_random_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DES_ofb_encrypt.3 b/linux_amd64/share/man/man3/DES_ofb_encrypt.3 new file mode 120000 index 0000000..1d9168e --- /dev/null +++ b/linux_amd64/share/man/man3/DES_ofb_encrypt.3 @@ -0,0 +1 @@ +DES_random_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DES_pcbc_encrypt.3 b/linux_amd64/share/man/man3/DES_pcbc_encrypt.3 new file mode 120000 index 0000000..1d9168e --- /dev/null +++ b/linux_amd64/share/man/man3/DES_pcbc_encrypt.3 @@ -0,0 +1 @@ +DES_random_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DES_quad_cksum.3 b/linux_amd64/share/man/man3/DES_quad_cksum.3 new file mode 120000 index 0000000..1d9168e --- /dev/null +++ b/linux_amd64/share/man/man3/DES_quad_cksum.3 @@ -0,0 +1 @@ +DES_random_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DES_random_key.3 b/linux_amd64/share/man/man3/DES_random_key.3 index 75b67d6..96501b5 100755 --- a/linux_amd64/share/man/man3/DES_random_key.3 +++ b/linux_amd64/share/man/man3/DES_random_key.3 @@ -124,32 +124,18 @@ .\" ======================================================================== .\" .IX Title "DES_RANDOM_KEY 3" -.TH DES_RANDOM_KEY 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH DES_RANDOM_KEY 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -DES_random_key, DES_set_key, DES_key_sched, DES_set_key_checked, -DES_set_key_unchecked, DES_set_odd_parity, DES_is_weak_key, -DES_ecb_encrypt, DES_ecb2_encrypt, DES_ecb3_encrypt, DES_ncbc_encrypt, -DES_cfb_encrypt, DES_ofb_encrypt, DES_pcbc_encrypt, DES_cfb64_encrypt, -DES_ofb64_encrypt, DES_xcbc_encrypt, DES_ede2_cbc_encrypt, -DES_ede2_cfb64_encrypt, DES_ede2_ofb64_encrypt, DES_ede3_cbc_encrypt, -DES_ede3_cfb64_encrypt, DES_ede3_ofb64_encrypt, -DES_cbc_cksum, DES_quad_cksum, DES_string_to_key, DES_string_to_2keys, -DES_fcrypt, DES_crypt \- DES encryption +DES_random_key, DES_set_key, DES_key_sched, DES_set_key_checked, DES_set_key_unchecked, DES_set_odd_parity, DES_is_weak_key, DES_ecb_encrypt, DES_ecb2_encrypt, DES_ecb3_encrypt, DES_ncbc_encrypt, DES_cfb_encrypt, DES_ofb_encrypt, DES_pcbc_encrypt, DES_cfb64_encrypt, DES_ofb64_encrypt, DES_xcbc_encrypt, DES_ede2_cbc_encrypt, DES_ede2_cfb64_encrypt, DES_ede2_ofb64_encrypt, DES_ede3_cbc_encrypt, DES_ede3_cfb64_encrypt, DES_ede3_ofb64_encrypt, DES_cbc_cksum, DES_quad_cksum, DES_string_to_key, DES_string_to_2keys, DES_fcrypt, DES_crypt \- DES encryption .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include -.Ve -.PP -Deprecated since OpenSSL 3.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): -.PP -.Vb 1 +\& \& void DES_random_key(DES_cblock *ret); \& \& int DES_set_key(const_DES_cblock *key, DES_key_schedule *schedule); @@ -228,10 +214,6 @@ Deprecated since OpenSSL 3.0, can be hidden entirely by defining .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -All of the functions described on this page are deprecated. Applications should -instead use \fIEVP_EncryptInit_ex\fR\|(3), \fIEVP_EncryptUpdate\fR\|(3) and -\&\fIEVP_EncryptFinal_ex\fR\|(3) or the equivalently named decrypt functions. -.PP This library contains a fast implementation of the \s-1DES\s0 encryption algorithm. .PP @@ -257,8 +239,11 @@ and is not a weak or semi-weak key. If the parity is wrong, then \-1 is returned. If the key is a weak key, then \-2 is returned. If an error is returned, the key schedule is not generated. .PP -\&\fIDES_set_key()\fR works like \fIDES_set_key_checked()\fR and remains for -backward compatibility. +\&\fIDES_set_key()\fR works like +\&\fIDES_set_key_checked()\fR if the \fIDES_check_key\fR flag is non-zero, +otherwise like \fIDES_set_key_unchecked()\fR. These functions are available +for compatibility; it is recommended to use a function that does not +depend on a global variable. .PP \&\fIDES_set_odd_parity()\fR sets the parity of the passed \fIkey\fR to odd. .PP @@ -272,7 +257,7 @@ The following routines mostly operate on an input and output stream of decrypts a single 8\-byte \fIDES_cblock\fR in \fIelectronic code book\fR (\s-1ECB\s0) mode. It always transforms the input data, pointed to by \&\fIinput\fR, into the output data, pointed to by the \fIoutput\fR argument. -If the \fIencrypt\fR argument is nonzero (\s-1DES_ENCRYPT\s0), the \fIinput\fR +If the \fIencrypt\fR argument is non-zero (\s-1DES_ENCRYPT\s0), the \fIinput\fR (cleartext) is encrypted in to the \fIoutput\fR (ciphertext) using the key_schedule specified by the \fIschedule\fR argument, previously set via \&\fIDES_set_key\fR. If \fIencrypt\fR is zero (\s-1DES_DECRYPT\s0), the \fIinput\fR (now @@ -291,7 +276,7 @@ The macro \fIDES_ecb2_encrypt()\fR is provided to perform two-key Triple-DES encryption by using \fIks1\fR for the final encryption. .PP \&\fIDES_ncbc_encrypt()\fR encrypts/decrypts using the \fIcipher-block-chaining\fR -(\s-1CBC\s0) mode of \s-1DES\s0. If the \fIencrypt\fR argument is nonzero, the +(\s-1CBC\s0) mode of \s-1DES\s0. If the \fIencrypt\fR argument is non-zero, the routine cipher-block-chain encrypts the cleartext data pointed to by the \fIinput\fR argument into the ciphertext pointed to by the \fIoutput\fR argument, using the key schedule provided by the \fIschedule\fR argument, @@ -435,8 +420,6 @@ to a static buffer on success; otherwise they return \s-1NULL\s0. \&\fIEVP_EncryptInit\fR\|(3) .SH "HISTORY" .IX Header "HISTORY" -All of these functions were deprecated in OpenSSL 3.0. -.PP The requirement that the \fBsalt\fR parameter to \fIDES_crypt()\fR and \fIDES_fcrypt()\fR be two \s-1ASCII\s0 characters was first enforced in OpenSSL 1.1.0. Previous versions tried to use the letter uppercase \fBA\fR @@ -444,9 +427,9 @@ if both character were not present, and could crash when given non-ASCII on some platforms. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2000\-2020 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/DES_set_key.3 b/linux_amd64/share/man/man3/DES_set_key.3 new file mode 120000 index 0000000..1d9168e --- /dev/null +++ b/linux_amd64/share/man/man3/DES_set_key.3 @@ -0,0 +1 @@ +DES_random_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DES_set_key_checked.3 b/linux_amd64/share/man/man3/DES_set_key_checked.3 new file mode 120000 index 0000000..1d9168e --- /dev/null +++ b/linux_amd64/share/man/man3/DES_set_key_checked.3 @@ -0,0 +1 @@ +DES_random_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DES_set_key_unchecked.3 b/linux_amd64/share/man/man3/DES_set_key_unchecked.3 new file mode 120000 index 0000000..1d9168e --- /dev/null +++ b/linux_amd64/share/man/man3/DES_set_key_unchecked.3 @@ -0,0 +1 @@ +DES_random_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DES_set_odd_parity.3 b/linux_amd64/share/man/man3/DES_set_odd_parity.3 new file mode 120000 index 0000000..1d9168e --- /dev/null +++ b/linux_amd64/share/man/man3/DES_set_odd_parity.3 @@ -0,0 +1 @@ +DES_random_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DES_string_to_2keys.3 b/linux_amd64/share/man/man3/DES_string_to_2keys.3 new file mode 120000 index 0000000..1d9168e --- /dev/null +++ b/linux_amd64/share/man/man3/DES_string_to_2keys.3 @@ -0,0 +1 @@ +DES_random_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DES_string_to_key.3 b/linux_amd64/share/man/man3/DES_string_to_key.3 new file mode 120000 index 0000000..1d9168e --- /dev/null +++ b/linux_amd64/share/man/man3/DES_string_to_key.3 @@ -0,0 +1 @@ +DES_random_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DES_xcbc_encrypt.3 b/linux_amd64/share/man/man3/DES_xcbc_encrypt.3 new file mode 120000 index 0000000..1d9168e --- /dev/null +++ b/linux_amd64/share/man/man3/DES_xcbc_encrypt.3 @@ -0,0 +1 @@ +DES_random_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_OpenSSL.3 b/linux_amd64/share/man/man3/DH_OpenSSL.3 new file mode 120000 index 0000000..d2a1705 --- /dev/null +++ b/linux_amd64/share/man/man3/DH_OpenSSL.3 @@ -0,0 +1 @@ +DH_set_method.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_bits.3 b/linux_amd64/share/man/man3/DH_bits.3 new file mode 120000 index 0000000..436c827 --- /dev/null +++ b/linux_amd64/share/man/man3/DH_bits.3 @@ -0,0 +1 @@ +DH_size.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_check.3 b/linux_amd64/share/man/man3/DH_check.3 new file mode 120000 index 0000000..d2687dd --- /dev/null +++ b/linux_amd64/share/man/man3/DH_check.3 @@ -0,0 +1 @@ +DH_generate_parameters.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_check_ex.3 b/linux_amd64/share/man/man3/DH_check_ex.3 new file mode 120000 index 0000000..d2687dd --- /dev/null +++ b/linux_amd64/share/man/man3/DH_check_ex.3 @@ -0,0 +1 @@ +DH_generate_parameters.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_check_params.3 b/linux_amd64/share/man/man3/DH_check_params.3 new file mode 120000 index 0000000..d2687dd --- /dev/null +++ b/linux_amd64/share/man/man3/DH_check_params.3 @@ -0,0 +1 @@ +DH_generate_parameters.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_check_params_ex.3 b/linux_amd64/share/man/man3/DH_check_params_ex.3 new file mode 120000 index 0000000..d2687dd --- /dev/null +++ b/linux_amd64/share/man/man3/DH_check_params_ex.3 @@ -0,0 +1 @@ +DH_generate_parameters.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_check_pub_key_ex.3 b/linux_amd64/share/man/man3/DH_check_pub_key_ex.3 new file mode 120000 index 0000000..d2687dd --- /dev/null +++ b/linux_amd64/share/man/man3/DH_check_pub_key_ex.3 @@ -0,0 +1 @@ +DH_generate_parameters.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_clear_flags.3 b/linux_amd64/share/man/man3/DH_clear_flags.3 new file mode 120000 index 0000000..f324569 --- /dev/null +++ b/linux_amd64/share/man/man3/DH_clear_flags.3 @@ -0,0 +1 @@ +DH_get0_pqg.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_compute_key.3 b/linux_amd64/share/man/man3/DH_compute_key.3 new file mode 120000 index 0000000..4e81499 --- /dev/null +++ b/linux_amd64/share/man/man3/DH_compute_key.3 @@ -0,0 +1 @@ +DH_generate_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_free.3 b/linux_amd64/share/man/man3/DH_free.3 new file mode 120000 index 0000000..f8565f9 --- /dev/null +++ b/linux_amd64/share/man/man3/DH_free.3 @@ -0,0 +1 @@ +DH_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_generate_key.3 b/linux_amd64/share/man/man3/DH_generate_key.3 index 57f2dc1..eae9fff 100755 --- a/linux_amd64/share/man/man3/DH_generate_key.3 +++ b/linux_amd64/share/man/man3/DH_generate_key.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "DH_GENERATE_KEY 3" -.TH DH_GENERATE_KEY 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH DH_GENERATE_KEY 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -135,23 +135,13 @@ DH_generate_key, DH_compute_key \- perform Diffie\-Hellman key exchange .IX Header "SYNOPSIS" .Vb 1 \& #include -.Ve -.PP -Deprecated since OpenSSL 3.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): -.PP -.Vb 1 +\& \& int DH_generate_key(DH *dh); \& \& int DH_compute_key(unsigned char *key, BIGNUM *pub_key, DH *dh); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -Both of the functions described on this page are deprecated. -Applications should instead use \fIEVP_PKEY_derive_init\fR\|(3) -and \fIEVP_PKEY_derive\fR\|(3). -.PP \&\fIDH_generate_key()\fR performs the first step of a Diffie-Hellman key exchange by generating private and public \s-1DH\s0 values. By calling \&\fIDH_compute_key()\fR, these are combined with the other party's public @@ -176,16 +166,12 @@ on error. The error codes can be obtained by \fIERR_get_error\fR\|(3). .SH "SEE ALSO" .IX Header "SEE ALSO" -\&\fIEVP_PKEY_derive\fR\|(3), \&\fIDH_new\fR\|(3), \fIERR_get_error\fR\|(3), \fIRAND_bytes\fR\|(3), \fIDH_size\fR\|(3) -.SH "HISTORY" -.IX Header "HISTORY" -Both of these functions were deprecated in OpenSSL 3.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/DH_generate_parameters.3 b/linux_amd64/share/man/man3/DH_generate_parameters.3 index b7e3753..8cbd7b7 100755 --- a/linux_amd64/share/man/man3/DH_generate_parameters.3 +++ b/linux_amd64/share/man/man3/DH_generate_parameters.3 @@ -124,28 +124,18 @@ .\" ======================================================================== .\" .IX Title "DH_GENERATE_PARAMETERS 3" -.TH DH_GENERATE_PARAMETERS 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH DH_GENERATE_PARAMETERS 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -DH_generate_parameters_ex, DH_generate_parameters, -DH_check, DH_check_params, -DH_check_ex, DH_check_params_ex, DH_check_pub_key_ex -\&\- generate and check Diffie\-Hellman -parameters +DH_generate_parameters_ex, DH_generate_parameters, DH_check, DH_check_params, DH_check_ex, DH_check_params_ex, DH_check_pub_key_ex \&\- generate and check Diffie\-Hellman parameters .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include -.Ve -.PP -Deprecated since OpenSSL 3.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): -.PP -.Vb 1 +\& \& int DH_generate_parameters_ex(DH *dh, int prime_len, int generator, BN_GENCB *cb); \& \& int DH_check(DH *dh, int *codes); @@ -156,21 +146,16 @@ Deprecated since OpenSSL 3.0, can be hidden entirely by defining \& int DH_check_pub_key_ex(const DH *dh, const BIGNUM *pub_key); .Ve .PP -Deprecated since OpenSSL 0.9.8, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): +Deprecated: .PP -.Vb 2 +.Vb 4 +\& #if OPENSSL_API_COMPAT < 0x00908000L \& DH *DH_generate_parameters(int prime_len, int generator, \& void (*callback)(int, int, void *), void *cb_arg); +\& #endif .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -All of the functions described on this page are deprecated. -Applications should instead use \fIEVP_PKEY_check\fR\|(3), -\&\fIEVP_PKEY_public_check\fR\|(3), \fIEVP_PKEY_private_check\fR\|(3) and -\&\fIEVP_PKEY_param_check\fR\|(3). -.PP \&\fIDH_generate_parameters_ex()\fR generates Diffie-Hellman parameters that can be shared among a group of users, and stores them in the provided \fB\s-1DH\s0\fR structure. The pseudo-random number generator must be @@ -209,12 +194,6 @@ prime. The generator \fBg\fR is not suitable. Note that the lack of this bit doesn't guarantee that \fBg\fR is suitable, unless \fBp\fR is known to be a strong prime. -.IP "\s-1DH_MODULUS_TOO_SMALL\s0" 4 -.IX Item "DH_MODULUS_TOO_SMALL" -The modulus is too small. -.IP "\s-1DH_MODULUS_TOO_LARGE\s0" 4 -.IX Item "DH_MODULUS_TOO_LARGE" -The modulus is too large. .PP \&\fIDH_check()\fR confirms that the Diffie-Hellman parameters \fBdh\fR are valid. The value of \fB*codes\fR is updated with any problems found. If \fB*codes\fR is zero then @@ -263,15 +242,13 @@ The error codes can be obtained by \fIERR_get_error\fR\|(3). \&\fIDH_free\fR\|(3) .SH "HISTORY" .IX Header "HISTORY" -All of these functions were deprecated in OpenSSL 3.0. -.PP \&\fIDH_generate_parameters()\fR was deprecated in OpenSSL 0.9.8; use \&\fIDH_generate_parameters_ex()\fR instead. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/DH_generate_parameters_ex.3 b/linux_amd64/share/man/man3/DH_generate_parameters_ex.3 new file mode 120000 index 0000000..d2687dd --- /dev/null +++ b/linux_amd64/share/man/man3/DH_generate_parameters_ex.3 @@ -0,0 +1 @@ +DH_generate_parameters.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_get0_engine.3 b/linux_amd64/share/man/man3/DH_get0_engine.3 new file mode 120000 index 0000000..f324569 --- /dev/null +++ b/linux_amd64/share/man/man3/DH_get0_engine.3 @@ -0,0 +1 @@ +DH_get0_pqg.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_get0_g.3 b/linux_amd64/share/man/man3/DH_get0_g.3 new file mode 120000 index 0000000..f324569 --- /dev/null +++ b/linux_amd64/share/man/man3/DH_get0_g.3 @@ -0,0 +1 @@ +DH_get0_pqg.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_get0_key.3 b/linux_amd64/share/man/man3/DH_get0_key.3 new file mode 120000 index 0000000..f324569 --- /dev/null +++ b/linux_amd64/share/man/man3/DH_get0_key.3 @@ -0,0 +1 @@ +DH_get0_pqg.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_get0_p.3 b/linux_amd64/share/man/man3/DH_get0_p.3 new file mode 120000 index 0000000..f324569 --- /dev/null +++ b/linux_amd64/share/man/man3/DH_get0_p.3 @@ -0,0 +1 @@ +DH_get0_pqg.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_get0_pqg.3 b/linux_amd64/share/man/man3/DH_get0_pqg.3 index 26728dd..cb71a3a 100755 --- a/linux_amd64/share/man/man3/DH_get0_pqg.3 +++ b/linux_amd64/share/man/man3/DH_get0_pqg.3 @@ -124,17 +124,13 @@ .\" ======================================================================== .\" .IX Title "DH_GET0_PQG 3" -.TH DH_GET0_PQG 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH DH_GET0_PQG 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -DH_get0_pqg, DH_set0_pqg, DH_get0_key, DH_set0_key, -DH_get0_p, DH_get0_q, DH_get0_g, -DH_get0_priv_key, DH_get0_pub_key, -DH_clear_flags, DH_test_flags, DH_set_flags, DH_get0_engine, -DH_get_length, DH_set_length \- Routines for getting and setting data in a DH object +DH_get0_pqg, DH_set0_pqg, DH_get0_key, DH_set0_key, DH_get0_p, DH_get0_q, DH_get0_g, DH_get0_priv_key, DH_get0_pub_key, DH_clear_flags, DH_test_flags, DH_set_flags, DH_get0_engine, DH_get_length, DH_set_length \- Routines for getting and setting data in a DH object .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -154,13 +150,6 @@ DH_get_length, DH_set_length \- Routines for getting and setting data in a DH ob \& void DH_clear_flags(DH *dh, int flags); \& int DH_test_flags(const DH *dh, int flags); \& void DH_set_flags(DH *dh, int flags); -.Ve -.PP -Deprecated since OpenSSL 3.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): -.PP -.Vb 3 \& ENGINE *DH_get0_engine(DH *d); \& long DH_get_length(const DH *dh); \& int DH_set_length(DH *dh, long length); @@ -213,13 +202,12 @@ zero if none of the flags are set. \fIDH_clear_flags()\fR clears the specified f within the \s-1DH\s0 object. .PP \&\fIDH_get0_engine()\fR returns a handle to the \s-1ENGINE\s0 that has been set for this \s-1DH\s0 -object, or \s-1NULL\s0 if no such \s-1ENGINE\s0 has been set. This function is deprecated. +object, or \s-1NULL\s0 if no such \s-1ENGINE\s0 has been set. .PP The \fIDH_get_length()\fR and \fIDH_set_length()\fR functions get and set the optional -length parameter associated with this \s-1DH\s0 object. If the length is nonzero then +length parameter associated with this \s-1DH\s0 object. If the length is non-zero then it is used, otherwise it is ignored. The \fBlength\fR parameter indicates the -length of the secret exponent (private key) in bits. These functions are -deprecated. +length of the secret exponent (private key) in bits. .SH "NOTES" .IX Header "NOTES" Values retrieved with \fIDH_get0_key()\fR are owned by the \s-1DH\s0 object used @@ -246,15 +234,12 @@ or zero if no such length has been explicitly set. \&\fIDH_set_method\fR\|(3), \fIDH_size\fR\|(3), \fIDH_meth_new\fR\|(3) .SH "HISTORY" .IX Header "HISTORY" -The \fIDH_get0_engine()\fR, \fIDH_get_length()\fR and \fIDH_set_length()\fR functions were -deprecated in OpenSSL 3.0. -.PP The functions described here were added in OpenSSL 1.1.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2016\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/DH_get0_priv_key.3 b/linux_amd64/share/man/man3/DH_get0_priv_key.3 new file mode 120000 index 0000000..f324569 --- /dev/null +++ b/linux_amd64/share/man/man3/DH_get0_priv_key.3 @@ -0,0 +1 @@ +DH_get0_pqg.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_get0_pub_key.3 b/linux_amd64/share/man/man3/DH_get0_pub_key.3 new file mode 120000 index 0000000..f324569 --- /dev/null +++ b/linux_amd64/share/man/man3/DH_get0_pub_key.3 @@ -0,0 +1 @@ +DH_get0_pqg.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_get0_q.3 b/linux_amd64/share/man/man3/DH_get0_q.3 new file mode 120000 index 0000000..f324569 --- /dev/null +++ b/linux_amd64/share/man/man3/DH_get0_q.3 @@ -0,0 +1 @@ +DH_get0_pqg.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_get_1024_160.3 b/linux_amd64/share/man/man3/DH_get_1024_160.3 index 6654847..b14d8ac 100755 --- a/linux_amd64/share/man/man3/DH_get_1024_160.3 +++ b/linux_amd64/share/man/man3/DH_get_1024_160.3 @@ -124,29 +124,13 @@ .\" ======================================================================== .\" .IX Title "DH_GET_1024_160 3" -.TH DH_GET_1024_160 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH DH_GET_1024_160 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -DH_get_1024_160, -DH_get_2048_224, -DH_get_2048_256, -BN_get0_nist_prime_192, -BN_get0_nist_prime_224, -BN_get0_nist_prime_256, -BN_get0_nist_prime_384, -BN_get0_nist_prime_521, -BN_get_rfc2409_prime_768, -BN_get_rfc2409_prime_1024, -BN_get_rfc3526_prime_1536, -BN_get_rfc3526_prime_2048, -BN_get_rfc3526_prime_3072, -BN_get_rfc3526_prime_4096, -BN_get_rfc3526_prime_6144, -BN_get_rfc3526_prime_8192 -\&\- Create standardized public primes or DH pairs +DH_get_1024_160, DH_get_2048_224, DH_get_2048_256, BN_get0_nist_prime_192, BN_get0_nist_prime_224, BN_get0_nist_prime_256, BN_get0_nist_prime_384, BN_get0_nist_prime_521, BN_get_rfc2409_prime_768, BN_get_rfc2409_prime_1024, BN_get_rfc3526_prime_1536, BN_get_rfc3526_prime_2048, BN_get_rfc3526_prime_3072, BN_get_rfc3526_prime_4096, BN_get_rfc3526_prime_6144, BN_get_rfc3526_prime_8192 \&\- Create standardized public primes or DH pairs .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 4 @@ -192,7 +176,7 @@ Defined above. .IX Header "COPYRIGHT" Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/DH_get_2048_224.3 b/linux_amd64/share/man/man3/DH_get_2048_224.3 new file mode 120000 index 0000000..f1ebeac --- /dev/null +++ b/linux_amd64/share/man/man3/DH_get_2048_224.3 @@ -0,0 +1 @@ +DH_get_1024_160.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_get_2048_256.3 b/linux_amd64/share/man/man3/DH_get_2048_256.3 new file mode 120000 index 0000000..f1ebeac --- /dev/null +++ b/linux_amd64/share/man/man3/DH_get_2048_256.3 @@ -0,0 +1 @@ +DH_get_1024_160.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_get_default_method.3 b/linux_amd64/share/man/man3/DH_get_default_method.3 new file mode 120000 index 0000000..d2a1705 --- /dev/null +++ b/linux_amd64/share/man/man3/DH_get_default_method.3 @@ -0,0 +1 @@ +DH_set_method.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_get_ex_data.3 b/linux_amd64/share/man/man3/DH_get_ex_data.3 new file mode 120000 index 0000000..aa4dc88 --- /dev/null +++ b/linux_amd64/share/man/man3/DH_get_ex_data.3 @@ -0,0 +1 @@ +BIO_get_ex_new_index.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_get_ex_new_index.3 b/linux_amd64/share/man/man3/DH_get_ex_new_index.3 new file mode 120000 index 0000000..aa4dc88 --- /dev/null +++ b/linux_amd64/share/man/man3/DH_get_ex_new_index.3 @@ -0,0 +1 @@ +BIO_get_ex_new_index.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_get_length.3 b/linux_amd64/share/man/man3/DH_get_length.3 new file mode 120000 index 0000000..f324569 --- /dev/null +++ b/linux_amd64/share/man/man3/DH_get_length.3 @@ -0,0 +1 @@ +DH_get0_pqg.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_get_nid.3 b/linux_amd64/share/man/man3/DH_get_nid.3 new file mode 120000 index 0000000..72c3ee7 --- /dev/null +++ b/linux_amd64/share/man/man3/DH_get_nid.3 @@ -0,0 +1 @@ +DH_new_by_nid.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_meth_dup.3 b/linux_amd64/share/man/man3/DH_meth_dup.3 new file mode 120000 index 0000000..7fe4654 --- /dev/null +++ b/linux_amd64/share/man/man3/DH_meth_dup.3 @@ -0,0 +1 @@ +DH_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_meth_free.3 b/linux_amd64/share/man/man3/DH_meth_free.3 new file mode 120000 index 0000000..7fe4654 --- /dev/null +++ b/linux_amd64/share/man/man3/DH_meth_free.3 @@ -0,0 +1 @@ +DH_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_meth_get0_app_data.3 b/linux_amd64/share/man/man3/DH_meth_get0_app_data.3 new file mode 120000 index 0000000..7fe4654 --- /dev/null +++ b/linux_amd64/share/man/man3/DH_meth_get0_app_data.3 @@ -0,0 +1 @@ +DH_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_meth_get0_name.3 b/linux_amd64/share/man/man3/DH_meth_get0_name.3 new file mode 120000 index 0000000..7fe4654 --- /dev/null +++ b/linux_amd64/share/man/man3/DH_meth_get0_name.3 @@ -0,0 +1 @@ +DH_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_meth_get_bn_mod_exp.3 b/linux_amd64/share/man/man3/DH_meth_get_bn_mod_exp.3 new file mode 120000 index 0000000..7fe4654 --- /dev/null +++ b/linux_amd64/share/man/man3/DH_meth_get_bn_mod_exp.3 @@ -0,0 +1 @@ +DH_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_meth_get_compute_key.3 b/linux_amd64/share/man/man3/DH_meth_get_compute_key.3 new file mode 120000 index 0000000..7fe4654 --- /dev/null +++ b/linux_amd64/share/man/man3/DH_meth_get_compute_key.3 @@ -0,0 +1 @@ +DH_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_meth_get_finish.3 b/linux_amd64/share/man/man3/DH_meth_get_finish.3 new file mode 120000 index 0000000..7fe4654 --- /dev/null +++ b/linux_amd64/share/man/man3/DH_meth_get_finish.3 @@ -0,0 +1 @@ +DH_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_meth_get_flags.3 b/linux_amd64/share/man/man3/DH_meth_get_flags.3 new file mode 120000 index 0000000..7fe4654 --- /dev/null +++ b/linux_amd64/share/man/man3/DH_meth_get_flags.3 @@ -0,0 +1 @@ +DH_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_meth_get_generate_key.3 b/linux_amd64/share/man/man3/DH_meth_get_generate_key.3 new file mode 120000 index 0000000..7fe4654 --- /dev/null +++ b/linux_amd64/share/man/man3/DH_meth_get_generate_key.3 @@ -0,0 +1 @@ +DH_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_meth_get_generate_params.3 b/linux_amd64/share/man/man3/DH_meth_get_generate_params.3 new file mode 120000 index 0000000..7fe4654 --- /dev/null +++ b/linux_amd64/share/man/man3/DH_meth_get_generate_params.3 @@ -0,0 +1 @@ +DH_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_meth_get_init.3 b/linux_amd64/share/man/man3/DH_meth_get_init.3 new file mode 120000 index 0000000..7fe4654 --- /dev/null +++ b/linux_amd64/share/man/man3/DH_meth_get_init.3 @@ -0,0 +1 @@ +DH_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_meth_new.3 b/linux_amd64/share/man/man3/DH_meth_new.3 index 6f2bb09..5725d1e 100755 --- a/linux_amd64/share/man/man3/DH_meth_new.3 +++ b/linux_amd64/share/man/man3/DH_meth_new.3 @@ -124,30 +124,18 @@ .\" ======================================================================== .\" .IX Title "DH_METH_NEW 3" -.TH DH_METH_NEW 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH DH_METH_NEW 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -DH_meth_new, DH_meth_free, DH_meth_dup, DH_meth_get0_name, DH_meth_set1_name, -DH_meth_get_flags, DH_meth_set_flags, DH_meth_get0_app_data, -DH_meth_set0_app_data, DH_meth_get_generate_key, DH_meth_set_generate_key, -DH_meth_get_compute_key, DH_meth_set_compute_key, DH_meth_get_bn_mod_exp, -DH_meth_set_bn_mod_exp, DH_meth_get_init, DH_meth_set_init, DH_meth_get_finish, -DH_meth_set_finish, DH_meth_get_generate_params, -DH_meth_set_generate_params \- Routines to build up DH methods +DH_meth_new, DH_meth_free, DH_meth_dup, DH_meth_get0_name, DH_meth_set1_name, DH_meth_get_flags, DH_meth_set_flags, DH_meth_get0_app_data, DH_meth_set0_app_data, DH_meth_get_generate_key, DH_meth_set_generate_key, DH_meth_get_compute_key, DH_meth_set_compute_key, DH_meth_get_bn_mod_exp, DH_meth_set_bn_mod_exp, DH_meth_get_init, DH_meth_set_init, DH_meth_get_finish, DH_meth_set_finish, DH_meth_get_generate_params, DH_meth_set_generate_params \- Routines to build up DH methods .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include -.Ve -.PP -Deprecated since OpenSSL 3.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): -.PP -.Vb 1 +\& \& DH_METHOD *DH_meth_new(const char *name, int flags); \& \& void DH_meth_free(DH_METHOD *dhm); @@ -192,9 +180,6 @@ Deprecated since OpenSSL 3.0, can be hidden entirely by defining .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -All of the functions described on this page are deprecated. -Applications should instead use the provider APIs. -.PP The \fB\s-1DH_METHOD\s0\fR type is a structure used for the provision of custom \s-1DH\s0 implementations. It provides a set of functions used by OpenSSL for the implementation of the various \s-1DH\s0 capabilities. @@ -289,14 +274,12 @@ set. \&\fIDH_set_method\fR\|(3), \fIDH_size\fR\|(3), \fIDH_get0_pqg\fR\|(3) .SH "HISTORY" .IX Header "HISTORY" -All of these functions were deprecated in OpenSSL 3.0. -.PP The functions described here were added in OpenSSL 1.1.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2016\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/DH_meth_set0_app_data.3 b/linux_amd64/share/man/man3/DH_meth_set0_app_data.3 new file mode 120000 index 0000000..7fe4654 --- /dev/null +++ b/linux_amd64/share/man/man3/DH_meth_set0_app_data.3 @@ -0,0 +1 @@ +DH_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_meth_set1_name.3 b/linux_amd64/share/man/man3/DH_meth_set1_name.3 new file mode 120000 index 0000000..7fe4654 --- /dev/null +++ b/linux_amd64/share/man/man3/DH_meth_set1_name.3 @@ -0,0 +1 @@ +DH_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_meth_set_bn_mod_exp.3 b/linux_amd64/share/man/man3/DH_meth_set_bn_mod_exp.3 new file mode 120000 index 0000000..7fe4654 --- /dev/null +++ b/linux_amd64/share/man/man3/DH_meth_set_bn_mod_exp.3 @@ -0,0 +1 @@ +DH_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_meth_set_compute_key.3 b/linux_amd64/share/man/man3/DH_meth_set_compute_key.3 new file mode 120000 index 0000000..7fe4654 --- /dev/null +++ b/linux_amd64/share/man/man3/DH_meth_set_compute_key.3 @@ -0,0 +1 @@ +DH_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_meth_set_finish.3 b/linux_amd64/share/man/man3/DH_meth_set_finish.3 new file mode 120000 index 0000000..7fe4654 --- /dev/null +++ b/linux_amd64/share/man/man3/DH_meth_set_finish.3 @@ -0,0 +1 @@ +DH_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_meth_set_flags.3 b/linux_amd64/share/man/man3/DH_meth_set_flags.3 new file mode 120000 index 0000000..7fe4654 --- /dev/null +++ b/linux_amd64/share/man/man3/DH_meth_set_flags.3 @@ -0,0 +1 @@ +DH_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_meth_set_generate_key.3 b/linux_amd64/share/man/man3/DH_meth_set_generate_key.3 new file mode 120000 index 0000000..7fe4654 --- /dev/null +++ b/linux_amd64/share/man/man3/DH_meth_set_generate_key.3 @@ -0,0 +1 @@ +DH_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_meth_set_generate_params.3 b/linux_amd64/share/man/man3/DH_meth_set_generate_params.3 new file mode 120000 index 0000000..7fe4654 --- /dev/null +++ b/linux_amd64/share/man/man3/DH_meth_set_generate_params.3 @@ -0,0 +1 @@ +DH_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_meth_set_init.3 b/linux_amd64/share/man/man3/DH_meth_set_init.3 new file mode 120000 index 0000000..7fe4654 --- /dev/null +++ b/linux_amd64/share/man/man3/DH_meth_set_init.3 @@ -0,0 +1 @@ +DH_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_new.3 b/linux_amd64/share/man/man3/DH_new.3 index e939ec6..3edc95c 100755 --- a/linux_amd64/share/man/man3/DH_new.3 +++ b/linux_amd64/share/man/man3/DH_new.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "DH_NEW 3" -.TH DH_NEW 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH DH_NEW 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -163,7 +163,7 @@ a pointer to the newly allocated structure. .IX Header "COPYRIGHT" Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/DH_new_by_nid.3 b/linux_amd64/share/man/man3/DH_new_by_nid.3 index f48cd6b..2f8e30a 100755 --- a/linux_amd64/share/man/man3/DH_new_by_nid.3 +++ b/linux_amd64/share/man/man3/DH_new_by_nid.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "DH_NEW_BY_NID 3" -.TH DH_NEW_BY_NID 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH DH_NEW_BY_NID 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -133,43 +133,31 @@ DH_new_by_nid, DH_get_nid \- get or find DH named parameters .SH "SYNOPSIS" .IX Header "SYNOPSIS" -.Vb 2 +.Vb 3 \& #include \& DH *DH_new_by_nid(int nid); -.Ve -.PP -Deprecated since OpenSSL 3.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): -.PP -.Vb 1 -\& int *DH_get_nid(DH *dh); +\& int *DH_get_nid(const DH *dh); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" \&\fIDH_new_by_nid()\fR creates and returns a \s-1DH\s0 structure containing named parameters \&\fBnid\fR. Currently \fBnid\fR must be \fBNID_ffdhe2048\fR, \fBNID_ffdhe3072\fR, -\&\fBNID_ffdhe4096\fR, \fBNID_ffdhe6144\fR, \fBNID_ffdhe8192\fR, -\&\fBNID_modp_1536\fR, \fBNID_modp_2048\fR, \fBNID_modp_3072\fR, -\&\fBNID_modp_4096\fR, \fBNID_modp_6144\fR or \fBNID_modp_8192\fR. +\&\fBNID_ffdhe4096\fR, \fBNID_ffdhe6144\fR or \fBNID_ffdhe8192\fR. .PP \&\fIDH_get_nid()\fR determines if the parameters contained in \fBdh\fR match any named set. It returns the \s-1NID\s0 corresponding to the matching parameters or -\&\fBNID_undef\fR if there is no match. This function is deprecated. +\&\fBNID_undef\fR if there is no match. .SH "RETURN VALUES" .IX Header "RETURN VALUES" \&\fIDH_new_by_nid()\fR returns a set of \s-1DH\s0 parameters or \fB\s-1NULL\s0\fR if an error occurred. .PP \&\fIDH_get_nid()\fR returns the \s-1NID\s0 of the matching set of parameters or \&\fBNID_undef\fR if there is no match. -.SH "HISTORY" -.IX Header "HISTORY" -The \fIDH_get_nid()\fR function was deprecated in OpenSSL 3.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2017\-2020 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/DH_new_method.3 b/linux_amd64/share/man/man3/DH_new_method.3 new file mode 120000 index 0000000..d2a1705 --- /dev/null +++ b/linux_amd64/share/man/man3/DH_new_method.3 @@ -0,0 +1 @@ +DH_set_method.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_security_bits.3 b/linux_amd64/share/man/man3/DH_security_bits.3 new file mode 120000 index 0000000..436c827 --- /dev/null +++ b/linux_amd64/share/man/man3/DH_security_bits.3 @@ -0,0 +1 @@ +DH_size.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_set0_key.3 b/linux_amd64/share/man/man3/DH_set0_key.3 new file mode 120000 index 0000000..f324569 --- /dev/null +++ b/linux_amd64/share/man/man3/DH_set0_key.3 @@ -0,0 +1 @@ +DH_get0_pqg.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_set0_pqg.3 b/linux_amd64/share/man/man3/DH_set0_pqg.3 new file mode 120000 index 0000000..f324569 --- /dev/null +++ b/linux_amd64/share/man/man3/DH_set0_pqg.3 @@ -0,0 +1 @@ +DH_get0_pqg.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_set_default_method.3 b/linux_amd64/share/man/man3/DH_set_default_method.3 new file mode 120000 index 0000000..d2a1705 --- /dev/null +++ b/linux_amd64/share/man/man3/DH_set_default_method.3 @@ -0,0 +1 @@ +DH_set_method.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_set_ex_data.3 b/linux_amd64/share/man/man3/DH_set_ex_data.3 new file mode 120000 index 0000000..aa4dc88 --- /dev/null +++ b/linux_amd64/share/man/man3/DH_set_ex_data.3 @@ -0,0 +1 @@ +BIO_get_ex_new_index.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_set_flags.3 b/linux_amd64/share/man/man3/DH_set_flags.3 new file mode 120000 index 0000000..f324569 --- /dev/null +++ b/linux_amd64/share/man/man3/DH_set_flags.3 @@ -0,0 +1 @@ +DH_get0_pqg.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_set_length.3 b/linux_amd64/share/man/man3/DH_set_length.3 new file mode 120000 index 0000000..f324569 --- /dev/null +++ b/linux_amd64/share/man/man3/DH_set_length.3 @@ -0,0 +1 @@ +DH_get0_pqg.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DH_set_method.3 b/linux_amd64/share/man/man3/DH_set_method.3 index 71281b2..d598c6f 100755 --- a/linux_amd64/share/man/man3/DH_set_method.3 +++ b/linux_amd64/share/man/man3/DH_set_method.3 @@ -124,25 +124,18 @@ .\" ======================================================================== .\" .IX Title "DH_SET_METHOD 3" -.TH DH_SET_METHOD 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH DH_SET_METHOD 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -DH_set_default_method, DH_get_default_method, -DH_set_method, DH_new_method, DH_OpenSSL \- select DH method +DH_set_default_method, DH_get_default_method, DH_set_method, DH_new_method, DH_OpenSSL \- select DH method .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include -.Ve -.PP -Deprecated since OpenSSL 3.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): -.PP -.Vb 1 +\& \& void DH_set_default_method(const DH_METHOD *meth); \& \& const DH_METHOD *DH_get_default_method(void); @@ -155,9 +148,6 @@ Deprecated since OpenSSL 3.0, can be hidden entirely by defining .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -All of the functions described on this page are deprecated. -Applications should instead use the provider APIs. -.PP A \fB\s-1DH_METHOD\s0\fR specifies the functions that OpenSSL uses for Diffie-Hellman operations. By modifying the method, alternative implementations such as hardware accelerators may be used. \s-1IMPORTANT:\s0 See the \s-1NOTES\s0 section for @@ -200,7 +190,7 @@ A new \s-1DH_METHOD\s0 object may be constructed using \fIDH_meth_new()\fR (see .PP \&\fIDH_set_default_method()\fR returns no value. .PP -\&\fIDH_set_method()\fR returns nonzero if the provided \fBmeth\fR was successfully set as +\&\fIDH_set_method()\fR returns non-zero if the provided \fBmeth\fR was successfully set as the method for \fBdh\fR (including unloading the \s-1ENGINE\s0 handle if the previous method was supplied by an \s-1ENGINE\s0). .PP @@ -210,14 +200,11 @@ returns a pointer to the newly allocated structure. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIDH_new\fR\|(3), \fIDH_new\fR\|(3), \fIDH_meth_new\fR\|(3) -.SH "HISTORY" -.IX Header "HISTORY" -All of these functions were deprecated in OpenSSL 3.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/DH_size.3 b/linux_amd64/share/man/man3/DH_size.3 index f28ae4c..b447b3c 100755 --- a/linux_amd64/share/man/man3/DH_size.3 +++ b/linux_amd64/share/man/man3/DH_size.3 @@ -124,25 +124,18 @@ .\" ======================================================================== .\" .IX Title "DH_SIZE 3" -.TH DH_SIZE 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH DH_SIZE 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -DH_size, DH_bits, DH_security_bits \- get Diffie\-Hellman prime size and -security bits +DH_size, DH_bits, DH_security_bits \- get Diffie\-Hellman prime size and security bits .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include -.Ve -.PP -Deprecated since OpenSSL 3.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): -.PP -.Vb 1 +\& \& int DH_size(const DH *dh); \& \& int DH_bits(const DH *dh); @@ -151,10 +144,6 @@ Deprecated since OpenSSL 3.0, can be hidden entirely by defining .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -All of the functions described on this page are deprecated. -Applications should instead use \fIEVP_PKEY_bits\fR\|(3), -\&\fIEVP_PKEY_security_bits\fR\|(3) and \fIEVP_PKEY_size\fR\|(3). -.PP \&\fIDH_size()\fR returns the Diffie-Hellman prime size in bytes. It can be used to determine how much memory must be allocated for the shared secret computed by \fIDH_compute_key\fR\|(3). @@ -174,19 +163,16 @@ key. See \fIBN_security_bits\fR\|(3). \&\fIDH_security_bits()\fR returns the number of security bits. .SH "SEE ALSO" .IX Header "SEE ALSO" -\&\fIEVP_PKEY_bits\fR\|(3), \&\fIDH_new\fR\|(3), \fIDH_generate_key\fR\|(3), \&\fIBN_num_bits\fR\|(3) .SH "HISTORY" .IX Header "HISTORY" -All of these functions were deprecated in OpenSSL 3.0. -.PP The \fIDH_bits()\fR function was added in OpenSSL 1.1.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/DH_test_flags.3 b/linux_amd64/share/man/man3/DH_test_flags.3 new file mode 120000 index 0000000..f324569 --- /dev/null +++ b/linux_amd64/share/man/man3/DH_test_flags.3 @@ -0,0 +1 @@ +DH_get0_pqg.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DHparams_print.3 b/linux_amd64/share/man/man3/DHparams_print.3 new file mode 120000 index 0000000..1b54d4f --- /dev/null +++ b/linux_amd64/share/man/man3/DHparams_print.3 @@ -0,0 +1 @@ +RSA_print.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DHparams_print_fp.3 b/linux_amd64/share/man/man3/DHparams_print_fp.3 new file mode 120000 index 0000000..1b54d4f --- /dev/null +++ b/linux_amd64/share/man/man3/DHparams_print_fp.3 @@ -0,0 +1 @@ +RSA_print.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DIRECTORYSTRING_free.3 b/linux_amd64/share/man/man3/DIRECTORYSTRING_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/DIRECTORYSTRING_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DIRECTORYSTRING_new.3 b/linux_amd64/share/man/man3/DIRECTORYSTRING_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/DIRECTORYSTRING_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DISPLAYTEXT_free.3 b/linux_amd64/share/man/man3/DISPLAYTEXT_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/DISPLAYTEXT_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DISPLAYTEXT_new.3 b/linux_amd64/share/man/man3/DISPLAYTEXT_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/DISPLAYTEXT_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DIST_POINT_NAME_free.3 b/linux_amd64/share/man/man3/DIST_POINT_NAME_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/DIST_POINT_NAME_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DIST_POINT_NAME_new.3 b/linux_amd64/share/man/man3/DIST_POINT_NAME_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/DIST_POINT_NAME_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DIST_POINT_free.3 b/linux_amd64/share/man/man3/DIST_POINT_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/DIST_POINT_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DIST_POINT_new.3 b/linux_amd64/share/man/man3/DIST_POINT_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/DIST_POINT_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_OpenSSL.3 b/linux_amd64/share/man/man3/DSA_OpenSSL.3 new file mode 120000 index 0000000..a270075 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_OpenSSL.3 @@ -0,0 +1 @@ +DSA_set_method.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_SIG_free.3 b/linux_amd64/share/man/man3/DSA_SIG_free.3 new file mode 120000 index 0000000..594a068 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_SIG_free.3 @@ -0,0 +1 @@ +DSA_SIG_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_SIG_get0.3 b/linux_amd64/share/man/man3/DSA_SIG_get0.3 new file mode 120000 index 0000000..594a068 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_SIG_get0.3 @@ -0,0 +1 @@ +DSA_SIG_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_SIG_new.3 b/linux_amd64/share/man/man3/DSA_SIG_new.3 index f49206c..e670330 100755 --- a/linux_amd64/share/man/man3/DSA_SIG_new.3 +++ b/linux_amd64/share/man/man3/DSA_SIG_new.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "DSA_SIG_NEW 3" -.TH DSA_SIG_NEW 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH DSA_SIG_NEW 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -DSA_SIG_get0, DSA_SIG_set0, -DSA_SIG_new, DSA_SIG_free \- allocate and free DSA signature objects +DSA_SIG_get0, DSA_SIG_set0, DSA_SIG_new, DSA_SIG_free \- allocate and free DSA signature objects .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -175,7 +174,7 @@ to the newly allocated structure. .IX Header "COPYRIGHT" Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/DSA_SIG_set0.3 b/linux_amd64/share/man/man3/DSA_SIG_set0.3 new file mode 120000 index 0000000..594a068 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_SIG_set0.3 @@ -0,0 +1 @@ +DSA_SIG_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_bits.3 b/linux_amd64/share/man/man3/DSA_bits.3 new file mode 120000 index 0000000..a70c559 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_bits.3 @@ -0,0 +1 @@ +DSA_size.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_clear_flags.3 b/linux_amd64/share/man/man3/DSA_clear_flags.3 new file mode 120000 index 0000000..d86c0a8 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_clear_flags.3 @@ -0,0 +1 @@ +DSA_get0_pqg.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_do_sign.3 b/linux_amd64/share/man/man3/DSA_do_sign.3 index 0a039eb..cfd9232 100755 --- a/linux_amd64/share/man/man3/DSA_do_sign.3 +++ b/linux_amd64/share/man/man3/DSA_do_sign.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "DSA_DO_SIGN 3" -.TH DSA_DO_SIGN 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH DSA_DO_SIGN 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -169,7 +169,7 @@ on error. The error codes can be obtained by .IX Header "COPYRIGHT" Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/DSA_do_verify.3 b/linux_amd64/share/man/man3/DSA_do_verify.3 new file mode 120000 index 0000000..cb094e2 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_do_verify.3 @@ -0,0 +1 @@ +DSA_do_sign.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_dup_DH.3 b/linux_amd64/share/man/man3/DSA_dup_DH.3 index e53793a..6f42362 100755 --- a/linux_amd64/share/man/man3/DSA_dup_DH.3 +++ b/linux_amd64/share/man/man3/DSA_dup_DH.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "DSA_DUP_DH 3" -.TH DSA_DUP_DH 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH DSA_DUP_DH 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -135,21 +135,11 @@ DSA_dup_DH \- create a DH structure out of DSA structure .IX Header "SYNOPSIS" .Vb 1 \& #include -.Ve -.PP -Deprecated since OpenSSL 3.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): -.PP -.Vb 1 +\& \& DH *DSA_dup_DH(const DSA *r); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -The function described on this page is deprecated. There is no direct -replacement, applications should use the \s-1EVP_PKEY\s0 APIs for Diffie-Hellman -operations. -.PP \&\fIDSA_dup_DH()\fR duplicates \s-1DSA\s0 parameters/keys as \s-1DH\s0 parameters/keys. q is lost during that conversion, but the resulting \s-1DH\s0 parameters contain its length. @@ -163,14 +153,11 @@ Be careful to avoid small subgroup attacks when using this. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIDH_new\fR\|(3), \fIDSA_new\fR\|(3), \fIERR_get_error\fR\|(3) -.SH "HISTORY" -.IX Header "HISTORY" -This function was deprecated in OpenSSL 3.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/DSA_free.3 b/linux_amd64/share/man/man3/DSA_free.3 new file mode 120000 index 0000000..99811ec --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_free.3 @@ -0,0 +1 @@ +DSA_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_generate_key.3 b/linux_amd64/share/man/man3/DSA_generate_key.3 index a7f22fe..425bf53 100755 --- a/linux_amd64/share/man/man3/DSA_generate_key.3 +++ b/linux_amd64/share/man/man3/DSA_generate_key.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "DSA_GENERATE_KEY 3" -.TH DSA_GENERATE_KEY 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH DSA_GENERATE_KEY 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -156,9 +156,9 @@ The error codes can be obtained by \fIERR_get_error\fR\|(3). \&\fIDSA_generate_parameters_ex\fR\|(3) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/DSA_generate_parameters.3 b/linux_amd64/share/man/man3/DSA_generate_parameters.3 index 517c6b5..762f23b 100755 --- a/linux_amd64/share/man/man3/DSA_generate_parameters.3 +++ b/linux_amd64/share/man/man3/DSA_generate_parameters.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "DSA_GENERATE_PARAMETERS 3" -.TH DSA_GENERATE_PARAMETERS 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH DSA_GENERATE_PARAMETERS 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -142,14 +142,14 @@ DSA_generate_parameters_ex, DSA_generate_parameters \- generate DSA parameters \& BN_GENCB *cb); .Ve .PP -Deprecated since OpenSSL 0.9.8, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): +Deprecated: .PP -.Vb 3 +.Vb 5 +\& #if OPENSSL_API_COMPAT < 0x00908000L \& DSA *DSA_generate_parameters(int bits, unsigned char *seed, int seed_len, \& int *counter_ret, unsigned long *h_ret, \& void (*callback)(int, int, void *), void *cb_arg); +\& #endif .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" @@ -225,7 +225,7 @@ Seed lengths greater than 20 are not supported. .IX Header "COPYRIGHT" Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/DSA_generate_parameters_ex.3 b/linux_amd64/share/man/man3/DSA_generate_parameters_ex.3 new file mode 120000 index 0000000..bc41282 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_generate_parameters_ex.3 @@ -0,0 +1 @@ +DSA_generate_parameters.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_get0_engine.3 b/linux_amd64/share/man/man3/DSA_get0_engine.3 new file mode 120000 index 0000000..d86c0a8 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_get0_engine.3 @@ -0,0 +1 @@ +DSA_get0_pqg.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_get0_g.3 b/linux_amd64/share/man/man3/DSA_get0_g.3 new file mode 120000 index 0000000..d86c0a8 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_get0_g.3 @@ -0,0 +1 @@ +DSA_get0_pqg.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_get0_key.3 b/linux_amd64/share/man/man3/DSA_get0_key.3 new file mode 120000 index 0000000..d86c0a8 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_get0_key.3 @@ -0,0 +1 @@ +DSA_get0_pqg.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_get0_p.3 b/linux_amd64/share/man/man3/DSA_get0_p.3 new file mode 120000 index 0000000..d86c0a8 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_get0_p.3 @@ -0,0 +1 @@ +DSA_get0_pqg.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_get0_pqg.3 b/linux_amd64/share/man/man3/DSA_get0_pqg.3 index 5861f69..2a55628 100755 --- a/linux_amd64/share/man/man3/DSA_get0_pqg.3 +++ b/linux_amd64/share/man/man3/DSA_get0_pqg.3 @@ -124,18 +124,13 @@ .\" ======================================================================== .\" .IX Title "DSA_GET0_PQG 3" -.TH DSA_GET0_PQG 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH DSA_GET0_PQG 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -DSA_get0_pqg, DSA_set0_pqg, DSA_get0_key, DSA_set0_key, -DSA_get0_p, DSA_get0_q, DSA_get0_g, -DSA_get0_pub_key, DSA_get0_priv_key, -DSA_clear_flags, DSA_test_flags, DSA_set_flags, -DSA_get0_engine \- Routines for getting and -setting data in a DSA object +DSA_get0_pqg, DSA_set0_pqg, DSA_get0_key, DSA_set0_key, DSA_get0_p, DSA_get0_q, DSA_get0_g, DSA_get0_pub_key, DSA_get0_priv_key, DSA_clear_flags, DSA_test_flags, DSA_set_flags, DSA_get0_engine \- Routines for getting and setting data in a DSA object .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -229,7 +224,7 @@ The functions described here were added in OpenSSL 1.1.0. .IX Header "COPYRIGHT" Copyright 2016\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/DSA_get0_priv_key.3 b/linux_amd64/share/man/man3/DSA_get0_priv_key.3 new file mode 120000 index 0000000..d86c0a8 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_get0_priv_key.3 @@ -0,0 +1 @@ +DSA_get0_pqg.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_get0_pub_key.3 b/linux_amd64/share/man/man3/DSA_get0_pub_key.3 new file mode 120000 index 0000000..d86c0a8 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_get0_pub_key.3 @@ -0,0 +1 @@ +DSA_get0_pqg.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_get0_q.3 b/linux_amd64/share/man/man3/DSA_get0_q.3 new file mode 120000 index 0000000..d86c0a8 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_get0_q.3 @@ -0,0 +1 @@ +DSA_get0_pqg.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_get_default_method.3 b/linux_amd64/share/man/man3/DSA_get_default_method.3 new file mode 120000 index 0000000..a270075 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_get_default_method.3 @@ -0,0 +1 @@ +DSA_set_method.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_get_ex_data.3 b/linux_amd64/share/man/man3/DSA_get_ex_data.3 new file mode 120000 index 0000000..aa4dc88 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_get_ex_data.3 @@ -0,0 +1 @@ +BIO_get_ex_new_index.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_get_ex_new_index.3 b/linux_amd64/share/man/man3/DSA_get_ex_new_index.3 new file mode 120000 index 0000000..aa4dc88 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_get_ex_new_index.3 @@ -0,0 +1 @@ +BIO_get_ex_new_index.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_meth_dup.3 b/linux_amd64/share/man/man3/DSA_meth_dup.3 new file mode 120000 index 0000000..66aa353 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_meth_dup.3 @@ -0,0 +1 @@ +DSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_meth_free.3 b/linux_amd64/share/man/man3/DSA_meth_free.3 new file mode 120000 index 0000000..66aa353 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_meth_free.3 @@ -0,0 +1 @@ +DSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_meth_get0_app_data.3 b/linux_amd64/share/man/man3/DSA_meth_get0_app_data.3 new file mode 120000 index 0000000..66aa353 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_meth_get0_app_data.3 @@ -0,0 +1 @@ +DSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_meth_get0_name.3 b/linux_amd64/share/man/man3/DSA_meth_get0_name.3 new file mode 120000 index 0000000..66aa353 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_meth_get0_name.3 @@ -0,0 +1 @@ +DSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_meth_get_bn_mod_exp.3 b/linux_amd64/share/man/man3/DSA_meth_get_bn_mod_exp.3 new file mode 120000 index 0000000..66aa353 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_meth_get_bn_mod_exp.3 @@ -0,0 +1 @@ +DSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_meth_get_finish.3 b/linux_amd64/share/man/man3/DSA_meth_get_finish.3 new file mode 120000 index 0000000..66aa353 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_meth_get_finish.3 @@ -0,0 +1 @@ +DSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_meth_get_flags.3 b/linux_amd64/share/man/man3/DSA_meth_get_flags.3 new file mode 120000 index 0000000..66aa353 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_meth_get_flags.3 @@ -0,0 +1 @@ +DSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_meth_get_init.3 b/linux_amd64/share/man/man3/DSA_meth_get_init.3 new file mode 120000 index 0000000..66aa353 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_meth_get_init.3 @@ -0,0 +1 @@ +DSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_meth_get_keygen.3 b/linux_amd64/share/man/man3/DSA_meth_get_keygen.3 new file mode 120000 index 0000000..66aa353 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_meth_get_keygen.3 @@ -0,0 +1 @@ +DSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_meth_get_mod_exp.3 b/linux_amd64/share/man/man3/DSA_meth_get_mod_exp.3 new file mode 120000 index 0000000..66aa353 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_meth_get_mod_exp.3 @@ -0,0 +1 @@ +DSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_meth_get_paramgen.3 b/linux_amd64/share/man/man3/DSA_meth_get_paramgen.3 new file mode 120000 index 0000000..66aa353 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_meth_get_paramgen.3 @@ -0,0 +1 @@ +DSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_meth_get_sign.3 b/linux_amd64/share/man/man3/DSA_meth_get_sign.3 new file mode 120000 index 0000000..66aa353 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_meth_get_sign.3 @@ -0,0 +1 @@ +DSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_meth_get_sign_setup.3 b/linux_amd64/share/man/man3/DSA_meth_get_sign_setup.3 new file mode 120000 index 0000000..66aa353 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_meth_get_sign_setup.3 @@ -0,0 +1 @@ +DSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_meth_get_verify.3 b/linux_amd64/share/man/man3/DSA_meth_get_verify.3 new file mode 120000 index 0000000..66aa353 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_meth_get_verify.3 @@ -0,0 +1 @@ +DSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_meth_new.3 b/linux_amd64/share/man/man3/DSA_meth_new.3 index ef6b33f..e11b1d0 100755 --- a/linux_amd64/share/man/man3/DSA_meth_new.3 +++ b/linux_amd64/share/man/man3/DSA_meth_new.3 @@ -124,32 +124,18 @@ .\" ======================================================================== .\" .IX Title "DSA_METH_NEW 3" -.TH DSA_METH_NEW 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH DSA_METH_NEW 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -DSA_meth_new, DSA_meth_free, DSA_meth_dup, DSA_meth_get0_name, -DSA_meth_set1_name, DSA_meth_get_flags, DSA_meth_set_flags, -DSA_meth_get0_app_data, DSA_meth_set0_app_data, DSA_meth_get_sign, -DSA_meth_set_sign, DSA_meth_get_sign_setup, DSA_meth_set_sign_setup, -DSA_meth_get_verify, DSA_meth_set_verify, DSA_meth_get_mod_exp, -DSA_meth_set_mod_exp, DSA_meth_get_bn_mod_exp, DSA_meth_set_bn_mod_exp, -DSA_meth_get_init, DSA_meth_set_init, DSA_meth_get_finish, DSA_meth_set_finish, -DSA_meth_get_paramgen, DSA_meth_set_paramgen, DSA_meth_get_keygen, -DSA_meth_set_keygen \- Routines to build up DSA methods +DSA_meth_new, DSA_meth_free, DSA_meth_dup, DSA_meth_get0_name, DSA_meth_set1_name, DSA_meth_get_flags, DSA_meth_set_flags, DSA_meth_get0_app_data, DSA_meth_set0_app_data, DSA_meth_get_sign, DSA_meth_set_sign, DSA_meth_get_sign_setup, DSA_meth_set_sign_setup, DSA_meth_get_verify, DSA_meth_set_verify, DSA_meth_get_mod_exp, DSA_meth_set_mod_exp, DSA_meth_get_bn_mod_exp, DSA_meth_set_bn_mod_exp, DSA_meth_get_init, DSA_meth_set_init, DSA_meth_get_finish, DSA_meth_set_finish, DSA_meth_get_paramgen, DSA_meth_set_paramgen, DSA_meth_get_keygen, DSA_meth_set_keygen \- Routines to build up DSA methods .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include -.Ve -.PP -Deprecated since OpenSSL 3.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): -.PP -.Vb 1 +\& \& DSA_METHOD *DSA_meth_new(const char *name, int flags); \& \& void DSA_meth_free(DSA_METHOD *dsam); @@ -220,13 +206,10 @@ Deprecated since OpenSSL 3.0, can be hidden entirely by defining .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -All of the functions described on this page are deprecated. -Applications and extension implementations should instead use the -\&\s-1OSSL_PROVIDER\s0 APIs. -.PP The \fB\s-1DSA_METHOD\s0\fR type is a structure used for the provision of custom \s-1DSA\s0 implementations. It provides a set of functions used by OpenSSL for the -implementation of the various \s-1DSA\s0 capabilities. +implementation of the various \s-1DSA\s0 capabilities. See the dsa page for more +information. .PP \&\fIDSA_meth_new()\fR creates a new \fB\s-1DSA_METHOD\s0\fR structure. It should be given a unique \fBname\fR and a set of \fBflags\fR. The \fBname\fR should be a \s-1NULL\s0 terminated @@ -339,14 +322,12 @@ set. \&\fIDSA_sign\fR\|(3), \fIDSA_size\fR\|(3), \fIDSA_get0_pqg\fR\|(3) .SH "HISTORY" .IX Header "HISTORY" -The functions described here were deprecated in OpenSSL 3.0. -.PP The functions described here were added in OpenSSL 1.1.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2016\-2020 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2016\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/DSA_meth_set0_app_data.3 b/linux_amd64/share/man/man3/DSA_meth_set0_app_data.3 new file mode 120000 index 0000000..66aa353 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_meth_set0_app_data.3 @@ -0,0 +1 @@ +DSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_meth_set1_name.3 b/linux_amd64/share/man/man3/DSA_meth_set1_name.3 new file mode 120000 index 0000000..66aa353 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_meth_set1_name.3 @@ -0,0 +1 @@ +DSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_meth_set_bn_mod_exp.3 b/linux_amd64/share/man/man3/DSA_meth_set_bn_mod_exp.3 new file mode 120000 index 0000000..66aa353 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_meth_set_bn_mod_exp.3 @@ -0,0 +1 @@ +DSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_meth_set_finish.3 b/linux_amd64/share/man/man3/DSA_meth_set_finish.3 new file mode 120000 index 0000000..66aa353 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_meth_set_finish.3 @@ -0,0 +1 @@ +DSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_meth_set_flags.3 b/linux_amd64/share/man/man3/DSA_meth_set_flags.3 new file mode 120000 index 0000000..66aa353 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_meth_set_flags.3 @@ -0,0 +1 @@ +DSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_meth_set_init.3 b/linux_amd64/share/man/man3/DSA_meth_set_init.3 new file mode 120000 index 0000000..66aa353 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_meth_set_init.3 @@ -0,0 +1 @@ +DSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_meth_set_keygen.3 b/linux_amd64/share/man/man3/DSA_meth_set_keygen.3 new file mode 120000 index 0000000..66aa353 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_meth_set_keygen.3 @@ -0,0 +1 @@ +DSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_meth_set_mod_exp.3 b/linux_amd64/share/man/man3/DSA_meth_set_mod_exp.3 new file mode 120000 index 0000000..66aa353 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_meth_set_mod_exp.3 @@ -0,0 +1 @@ +DSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_meth_set_paramgen.3 b/linux_amd64/share/man/man3/DSA_meth_set_paramgen.3 new file mode 120000 index 0000000..66aa353 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_meth_set_paramgen.3 @@ -0,0 +1 @@ +DSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_meth_set_sign.3 b/linux_amd64/share/man/man3/DSA_meth_set_sign.3 new file mode 120000 index 0000000..66aa353 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_meth_set_sign.3 @@ -0,0 +1 @@ +DSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_meth_set_sign_setup.3 b/linux_amd64/share/man/man3/DSA_meth_set_sign_setup.3 new file mode 120000 index 0000000..66aa353 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_meth_set_sign_setup.3 @@ -0,0 +1 @@ +DSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_meth_set_verify.3 b/linux_amd64/share/man/man3/DSA_meth_set_verify.3 new file mode 120000 index 0000000..66aa353 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_meth_set_verify.3 @@ -0,0 +1 @@ +DSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_new.3 b/linux_amd64/share/man/man3/DSA_new.3 index fa0be1b..5b60aef 100755 --- a/linux_amd64/share/man/man3/DSA_new.3 +++ b/linux_amd64/share/man/man3/DSA_new.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "DSA_NEW 3" -.TH DSA_NEW 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH DSA_NEW 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -165,7 +165,7 @@ to the newly allocated structure. .IX Header "COPYRIGHT" Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/DSA_new_method.3 b/linux_amd64/share/man/man3/DSA_new_method.3 new file mode 120000 index 0000000..a270075 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_new_method.3 @@ -0,0 +1 @@ +DSA_set_method.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_print.3 b/linux_amd64/share/man/man3/DSA_print.3 new file mode 120000 index 0000000..1b54d4f --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_print.3 @@ -0,0 +1 @@ +RSA_print.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_print_fp.3 b/linux_amd64/share/man/man3/DSA_print_fp.3 new file mode 120000 index 0000000..1b54d4f --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_print_fp.3 @@ -0,0 +1 @@ +RSA_print.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_security_bits.3 b/linux_amd64/share/man/man3/DSA_security_bits.3 new file mode 120000 index 0000000..a70c559 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_security_bits.3 @@ -0,0 +1 @@ +DSA_size.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_set0_key.3 b/linux_amd64/share/man/man3/DSA_set0_key.3 new file mode 120000 index 0000000..d86c0a8 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_set0_key.3 @@ -0,0 +1 @@ +DSA_get0_pqg.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_set0_pqg.3 b/linux_amd64/share/man/man3/DSA_set0_pqg.3 new file mode 120000 index 0000000..d86c0a8 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_set0_pqg.3 @@ -0,0 +1 @@ +DSA_get0_pqg.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_set_default_method.3 b/linux_amd64/share/man/man3/DSA_set_default_method.3 new file mode 120000 index 0000000..a270075 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_set_default_method.3 @@ -0,0 +1 @@ +DSA_set_method.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_set_ex_data.3 b/linux_amd64/share/man/man3/DSA_set_ex_data.3 new file mode 120000 index 0000000..aa4dc88 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_set_ex_data.3 @@ -0,0 +1 @@ +BIO_get_ex_new_index.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_set_flags.3 b/linux_amd64/share/man/man3/DSA_set_flags.3 new file mode 120000 index 0000000..d86c0a8 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_set_flags.3 @@ -0,0 +1 @@ +DSA_get0_pqg.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_set_method.3 b/linux_amd64/share/man/man3/DSA_set_method.3 index 8e74b5d..78dd2fd 100755 --- a/linux_amd64/share/man/man3/DSA_set_method.3 +++ b/linux_amd64/share/man/man3/DSA_set_method.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "DSA_SET_METHOD 3" -.TH DSA_SET_METHOD 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH DSA_SET_METHOD 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -DSA_set_default_method, DSA_get_default_method, -DSA_set_method, DSA_new_method, DSA_OpenSSL \- select DSA method +DSA_set_default_method, DSA_get_default_method, DSA_set_method, DSA_new_method, DSA_OpenSSL \- select DSA method .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -177,7 +176,7 @@ be released during the change. It is possible to have \s-1DSA\s0 keys that only work with certain \s-1DSA_METHOD\s0 implementations (eg. from an \s-1ENGINE\s0 module that supports embedded hardware-protected keys), and in such cases attempting to change the \s-1DSA_METHOD\s0 for the key can have unexpected -results. See \fIDSA_meth_new\fR\|(3) for information on constructing custom \s-1DSA_METHOD\s0 +results. See DSA_meth_new for information on constructing custom \s-1DSA_METHOD\s0 objects; .PP \&\fIDSA_new_method()\fR allocates and initializes a \s-1DSA\s0 structure so that \fBengine\fR @@ -191,7 +190,7 @@ controlled by \fIDSA_set_default_method()\fR is used. .PP \&\fIDSA_set_default_method()\fR returns no value. .PP -\&\fIDSA_set_method()\fR returns nonzero if the provided \fBmeth\fR was successfully set as +\&\fIDSA_set_method()\fR returns non-zero if the provided \fBmeth\fR was successfully set as the method for \fBdsa\fR (including unloading the \s-1ENGINE\s0 handle if the previous method was supplied by an \s-1ENGINE\s0). .PP @@ -205,7 +204,7 @@ fails. Otherwise it returns a pointer to the newly allocated structure. .IX Header "COPYRIGHT" Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/DSA_sign.3 b/linux_amd64/share/man/man3/DSA_sign.3 index 821ea20..14de049 100755 --- a/linux_amd64/share/man/man3/DSA_sign.3 +++ b/linux_amd64/share/man/man3/DSA_sign.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "DSA_SIGN 3" -.TH DSA_SIGN 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH DSA_SIGN 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -185,9 +185,9 @@ Standard, \s-1DSS\s0), \s-1ANSI\s0 X9.30 \&\s-1\fIRAND\s0\fR\|(7) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/DSA_sign_setup.3 b/linux_amd64/share/man/man3/DSA_sign_setup.3 new file mode 120000 index 0000000..ccbb2fc --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_sign_setup.3 @@ -0,0 +1 @@ +DSA_sign.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_size.3 b/linux_amd64/share/man/man3/DSA_size.3 index 2484eb6..6227ad9 100755 --- a/linux_amd64/share/man/man3/DSA_size.3 +++ b/linux_amd64/share/man/man3/DSA_size.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "DSA_SIZE 3" -.TH DSA_SIZE 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH DSA_SIZE 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -135,23 +135,13 @@ DSA_size, DSA_bits, DSA_security_bits \- get DSA signature size, key bits or sec .IX Header "SYNOPSIS" .Vb 1 \& #include -.Ve -.PP -Deprecated since OpenSSL 3.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): -.PP -.Vb 3 +\& \& int DSA_size(const DSA *dsa); \& int DSA_bits(const DSA *dsa); \& int DSA_security_bits(const DSA *dsa); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -All of the functions described on this page are deprecated. -Applications should instead use \fIEVP_PKEY_bits\fR\|(3), -\&\fIEVP_PKEY_security_bits\fR\|(3) and \fIEVP_PKEY_size\fR\|(3). -.PP \&\fIDSA_size()\fR returns the maximum size of an \s-1ASN\s0.1 encoded \s-1DSA\s0 signature for key \fBdsa\fR in bytes. It can be used to determine how much memory must be allocated for a \s-1DSA\s0 signature. @@ -170,18 +160,12 @@ key. See \fIBN_security_bits\fR\|(3). \&\fIDSA_bits()\fR returns the number of bits in the key. .SH "SEE ALSO" .IX Header "SEE ALSO" -\&\fIEVP_PKEY_bits\fR\|(3), -\&\fIEVP_PKEY_security_bits\fR\|(3), -\&\fIEVP_PKEY_size\fR\|(3), \&\fIDSA_new\fR\|(3), \fIDSA_sign\fR\|(3) -.SH "HISTORY" -.IX Header "HISTORY" -All of these functions were deprecated in OpenSSL 3.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/DSA_test_flags.3 b/linux_amd64/share/man/man3/DSA_test_flags.3 new file mode 120000 index 0000000..d86c0a8 --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_test_flags.3 @@ -0,0 +1 @@ +DSA_get0_pqg.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSA_verify.3 b/linux_amd64/share/man/man3/DSA_verify.3 new file mode 120000 index 0000000..ccbb2fc --- /dev/null +++ b/linux_amd64/share/man/man3/DSA_verify.3 @@ -0,0 +1 @@ +DSA_sign.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSAparams_dup.3 b/linux_amd64/share/man/man3/DSAparams_dup.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/DSAparams_dup.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSAparams_print.3 b/linux_amd64/share/man/man3/DSAparams_print.3 new file mode 120000 index 0000000..1b54d4f --- /dev/null +++ b/linux_amd64/share/man/man3/DSAparams_print.3 @@ -0,0 +1 @@ +RSA_print.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DSAparams_print_fp.3 b/linux_amd64/share/man/man3/DSAparams_print_fp.3 new file mode 120000 index 0000000..1b54d4f --- /dev/null +++ b/linux_amd64/share/man/man3/DSAparams_print_fp.3 @@ -0,0 +1 @@ +RSA_print.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DTLS_client_method.3 b/linux_amd64/share/man/man3/DTLS_client_method.3 new file mode 120000 index 0000000..e78df75 --- /dev/null +++ b/linux_amd64/share/man/man3/DTLS_client_method.3 @@ -0,0 +1 @@ +SSL_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DTLS_get_data_mtu.3 b/linux_amd64/share/man/man3/DTLS_get_data_mtu.3 index 47cb475..e2c4b60 100755 --- a/linux_amd64/share/man/man3/DTLS_get_data_mtu.3 +++ b/linux_amd64/share/man/man3/DTLS_get_data_mtu.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "DTLS_GET_DATA_MTU 3" -.TH DTLS_GET_DATA_MTU 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH DTLS_GET_DATA_MTU 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -153,7 +153,7 @@ The \fIDTLS_get_data_mtu()\fR function was added in OpenSSL 1.1.1. .IX Header "COPYRIGHT" Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/DTLS_method.3 b/linux_amd64/share/man/man3/DTLS_method.3 new file mode 120000 index 0000000..e78df75 --- /dev/null +++ b/linux_amd64/share/man/man3/DTLS_method.3 @@ -0,0 +1 @@ +SSL_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DTLS_server_method.3 b/linux_amd64/share/man/man3/DTLS_server_method.3 new file mode 120000 index 0000000..e78df75 --- /dev/null +++ b/linux_amd64/share/man/man3/DTLS_server_method.3 @@ -0,0 +1 @@ +SSL_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DTLS_set_timer_cb.3 b/linux_amd64/share/man/man3/DTLS_set_timer_cb.3 index df4c0ae..779ea3c 100755 --- a/linux_amd64/share/man/man3/DTLS_set_timer_cb.3 +++ b/linux_amd64/share/man/man3/DTLS_set_timer_cb.3 @@ -124,15 +124,13 @@ .\" ======================================================================== .\" .IX Title "DTLS_SET_TIMER_CB 3" -.TH DTLS_SET_TIMER_CB 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH DTLS_SET_TIMER_CB 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -DTLS_timer_cb, -DTLS_set_timer_cb -\&\- Set callback for controlling DTLS timer duration +DTLS_timer_cb, DTLS_set_timer_cb \&\- Set callback for controlling DTLS timer duration .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -157,7 +155,7 @@ The \fIDTLS_set_timer_cb()\fR function was added in OpenSSL 1.1.1. .IX Header "COPYRIGHT" Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/DTLS_timer_cb.3 b/linux_amd64/share/man/man3/DTLS_timer_cb.3 new file mode 120000 index 0000000..cff504c --- /dev/null +++ b/linux_amd64/share/man/man3/DTLS_timer_cb.3 @@ -0,0 +1 @@ +DTLS_set_timer_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DTLSv1_2_client_method.3 b/linux_amd64/share/man/man3/DTLSv1_2_client_method.3 new file mode 120000 index 0000000..e78df75 --- /dev/null +++ b/linux_amd64/share/man/man3/DTLSv1_2_client_method.3 @@ -0,0 +1 @@ +SSL_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DTLSv1_2_method.3 b/linux_amd64/share/man/man3/DTLSv1_2_method.3 new file mode 120000 index 0000000..e78df75 --- /dev/null +++ b/linux_amd64/share/man/man3/DTLSv1_2_method.3 @@ -0,0 +1 @@ +SSL_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DTLSv1_2_server_method.3 b/linux_amd64/share/man/man3/DTLSv1_2_server_method.3 new file mode 120000 index 0000000..e78df75 --- /dev/null +++ b/linux_amd64/share/man/man3/DTLSv1_2_server_method.3 @@ -0,0 +1 @@ +SSL_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DTLSv1_client_method.3 b/linux_amd64/share/man/man3/DTLSv1_client_method.3 new file mode 120000 index 0000000..e78df75 --- /dev/null +++ b/linux_amd64/share/man/man3/DTLSv1_client_method.3 @@ -0,0 +1 @@ +SSL_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DTLSv1_listen.3 b/linux_amd64/share/man/man3/DTLSv1_listen.3 index 6eb095d..b05b788 100755 --- a/linux_amd64/share/man/man3/DTLSv1_listen.3 +++ b/linux_amd64/share/man/man3/DTLSv1_listen.3 @@ -124,15 +124,13 @@ .\" ======================================================================== .\" .IX Title "DTLSV1_LISTEN 3" -.TH DTLSV1_LISTEN 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH DTLSV1_LISTEN 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_stateless, -DTLSv1_listen -\&\- Statelessly listen for incoming connections +SSL_stateless, DTLSv1_listen \&\- Statelessly listen for incoming connections .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -251,7 +249,7 @@ The type of \*(L"peer\*(R" also changed in OpenSSL 1.1.0. .IX Header "COPYRIGHT" Copyright 2015\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/DTLSv1_method.3 b/linux_amd64/share/man/man3/DTLSv1_method.3 new file mode 120000 index 0000000..e78df75 --- /dev/null +++ b/linux_amd64/share/man/man3/DTLSv1_method.3 @@ -0,0 +1 @@ +SSL_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/DTLSv1_server_method.3 b/linux_amd64/share/man/man3/DTLSv1_server_method.3 new file mode 120000 index 0000000..e78df75 --- /dev/null +++ b/linux_amd64/share/man/man3/DTLSv1_server_method.3 @@ -0,0 +1 @@ +SSL_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ECDH_get_ex_data.3 b/linux_amd64/share/man/man3/ECDH_get_ex_data.3 new file mode 120000 index 0000000..aa4dc88 --- /dev/null +++ b/linux_amd64/share/man/man3/ECDH_get_ex_data.3 @@ -0,0 +1 @@ +BIO_get_ex_new_index.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ECDH_get_ex_new_index.3 b/linux_amd64/share/man/man3/ECDH_get_ex_new_index.3 new file mode 120000 index 0000000..aa4dc88 --- /dev/null +++ b/linux_amd64/share/man/man3/ECDH_get_ex_new_index.3 @@ -0,0 +1 @@ +BIO_get_ex_new_index.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ECDH_set_ex_data.3 b/linux_amd64/share/man/man3/ECDH_set_ex_data.3 new file mode 120000 index 0000000..aa4dc88 --- /dev/null +++ b/linux_amd64/share/man/man3/ECDH_set_ex_data.3 @@ -0,0 +1 @@ +BIO_get_ex_new_index.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ECDSA_SIG_free.3 b/linux_amd64/share/man/man3/ECDSA_SIG_free.3 new file mode 120000 index 0000000..d9b069b --- /dev/null +++ b/linux_amd64/share/man/man3/ECDSA_SIG_free.3 @@ -0,0 +1 @@ +ECDSA_SIG_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ECDSA_SIG_get0.3 b/linux_amd64/share/man/man3/ECDSA_SIG_get0.3 new file mode 120000 index 0000000..d9b069b --- /dev/null +++ b/linux_amd64/share/man/man3/ECDSA_SIG_get0.3 @@ -0,0 +1 @@ +ECDSA_SIG_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ECDSA_SIG_get0_r.3 b/linux_amd64/share/man/man3/ECDSA_SIG_get0_r.3 new file mode 120000 index 0000000..d9b069b --- /dev/null +++ b/linux_amd64/share/man/man3/ECDSA_SIG_get0_r.3 @@ -0,0 +1 @@ +ECDSA_SIG_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ECDSA_SIG_get0_s.3 b/linux_amd64/share/man/man3/ECDSA_SIG_get0_s.3 new file mode 120000 index 0000000..d9b069b --- /dev/null +++ b/linux_amd64/share/man/man3/ECDSA_SIG_get0_s.3 @@ -0,0 +1 @@ +ECDSA_SIG_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ECDSA_SIG_new.3 b/linux_amd64/share/man/man3/ECDSA_SIG_new.3 index da5ac91..40a1345 100755 --- a/linux_amd64/share/man/man3/ECDSA_SIG_new.3 +++ b/linux_amd64/share/man/man3/ECDSA_SIG_new.3 @@ -124,17 +124,13 @@ .\" ======================================================================== .\" .IX Title "ECDSA_SIG_NEW 3" -.TH ECDSA_SIG_NEW 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH ECDSA_SIG_NEW 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -ECDSA_SIG_get0, ECDSA_SIG_get0_r, ECDSA_SIG_get0_s, ECDSA_SIG_set0, -ECDSA_SIG_new, ECDSA_SIG_free, ECDSA_size, ECDSA_sign, ECDSA_do_sign, -ECDSA_verify, ECDSA_do_verify, ECDSA_sign_setup, ECDSA_sign_ex, -ECDSA_do_sign_ex \- low level elliptic curve digital signature algorithm (ECDSA) -functions +ECDSA_SIG_get0, ECDSA_SIG_get0_r, ECDSA_SIG_get0_s, ECDSA_SIG_set0, ECDSA_SIG_new, ECDSA_SIG_free, ECDSA_size, ECDSA_sign, ECDSA_do_sign, ECDSA_verify, ECDSA_do_verify, ECDSA_sign_setup, ECDSA_sign_ex, ECDSA_do_sign_ex \- low level elliptic curve digital signature algorithm (ECDSA) functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -146,13 +142,6 @@ functions \& const BIGNUM *ECDSA_SIG_get0_r(const ECDSA_SIG *sig); \& const BIGNUM *ECDSA_SIG_get0_s(const ECDSA_SIG *sig); \& int ECDSA_SIG_set0(ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s); -.Ve -.PP -Deprecated since OpenSSL 3.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): -.PP -.Vb 1 \& int ECDSA_size(const EC_KEY *eckey); \& \& int ECDSA_sign(int type, const unsigned char *dgst, int dgstlen, @@ -175,6 +164,10 @@ Deprecated since OpenSSL 3.0, can be hidden entirely by defining .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" +Note: these functions provide a low level interface to \s-1ECDSA\s0. Most +applications should use the higher level \fB\s-1EVP\s0\fR interface such as +\&\fIEVP_DigestSignInit\fR\|(3) or \fIEVP_DigestVerifyInit\fR\|(3) instead. +.PP \&\fB\s-1ECDSA_SIG\s0\fR is an opaque structure consisting of two BIGNUMs for the \&\fBr\fR and \fBs\fR value of an \s-1ECDSA\s0 signature (see X9.62 or \s-1FIPS\s0 186\-2). .PP @@ -200,13 +193,8 @@ after this function has been called. See \fIi2d_ECDSA_SIG\fR\|(3) and \fId2i_ECDSA_SIG\fR\|(3) for information about encoding and decoding \s-1ECDSA\s0 signatures to/from \s-1DER\s0. .PP -All of the functions described below are deprecated. Applications should -use the higher level \fB\s-1EVP\s0\fR interface such as \fIEVP_DigestSignInit\fR\|(3) -or \fIEVP_DigestVerifyInit\fR\|(3) instead. -.PP \&\fIECDSA_size()\fR returns the maximum length of a \s-1DER\s0 encoded \s-1ECDSA\s0 signature -created with the private \s-1EC\s0 key \fBeckey\fR. To obtain the actual signature -size use \fIEVP_PKEY_sign\fR\|(3) with a \s-1NULL\s0 \fBsig\fR parameter. +created with the private \s-1EC\s0 key \fBeckey\fR. .PP \&\fIECDSA_sign()\fR computes a digital signature of the \fBdgstlen\fR bytes hash value \&\fBdgst\fR using the private \s-1EC\s0 key \fBeckey\fR. The \s-1DER\s0 encoded signatures is @@ -338,19 +326,13 @@ and finally evaluate the return value: \&\fIEC_KEY_new\fR\|(3), \&\fIEVP_DigestSignInit\fR\|(3), \&\fIEVP_DigestVerifyInit\fR\|(3), -\&\fIEVP_PKEY_sign\fR\|(3) \&\fIi2d_ECDSA_SIG\fR\|(3), \&\fId2i_ECDSA_SIG\fR\|(3) -.SH "HISTORY" -.IX Header "HISTORY" -The \fIECDSA_size()\fR, \fIECDSA_sign()\fR, \fIECDSA_do_sign()\fR, \fIECDSA_verify()\fR, -\&\fIECDSA_do_verify()\fR, \fIECDSA_sign_setup()\fR, \fIECDSA_sign_ex()\fR and \fIECDSA_do_sign_ex()\fR -functions were deprecated in OpenSSL 3.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2004\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2004\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/ECDSA_SIG_set0.3 b/linux_amd64/share/man/man3/ECDSA_SIG_set0.3 new file mode 120000 index 0000000..d9b069b --- /dev/null +++ b/linux_amd64/share/man/man3/ECDSA_SIG_set0.3 @@ -0,0 +1 @@ +ECDSA_SIG_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ECDSA_do_sign.3 b/linux_amd64/share/man/man3/ECDSA_do_sign.3 new file mode 120000 index 0000000..d9b069b --- /dev/null +++ b/linux_amd64/share/man/man3/ECDSA_do_sign.3 @@ -0,0 +1 @@ +ECDSA_SIG_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ECDSA_do_sign_ex.3 b/linux_amd64/share/man/man3/ECDSA_do_sign_ex.3 new file mode 120000 index 0000000..d9b069b --- /dev/null +++ b/linux_amd64/share/man/man3/ECDSA_do_sign_ex.3 @@ -0,0 +1 @@ +ECDSA_SIG_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ECDSA_do_verify.3 b/linux_amd64/share/man/man3/ECDSA_do_verify.3 new file mode 120000 index 0000000..d9b069b --- /dev/null +++ b/linux_amd64/share/man/man3/ECDSA_do_verify.3 @@ -0,0 +1 @@ +ECDSA_SIG_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ECDSA_sign.3 b/linux_amd64/share/man/man3/ECDSA_sign.3 new file mode 120000 index 0000000..d9b069b --- /dev/null +++ b/linux_amd64/share/man/man3/ECDSA_sign.3 @@ -0,0 +1 @@ +ECDSA_SIG_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ECDSA_sign_ex.3 b/linux_amd64/share/man/man3/ECDSA_sign_ex.3 new file mode 120000 index 0000000..d9b069b --- /dev/null +++ b/linux_amd64/share/man/man3/ECDSA_sign_ex.3 @@ -0,0 +1 @@ +ECDSA_SIG_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ECDSA_sign_setup.3 b/linux_amd64/share/man/man3/ECDSA_sign_setup.3 new file mode 120000 index 0000000..d9b069b --- /dev/null +++ b/linux_amd64/share/man/man3/ECDSA_sign_setup.3 @@ -0,0 +1 @@ +ECDSA_SIG_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ECDSA_size.3 b/linux_amd64/share/man/man3/ECDSA_size.3 new file mode 120000 index 0000000..d9b069b --- /dev/null +++ b/linux_amd64/share/man/man3/ECDSA_size.3 @@ -0,0 +1 @@ +ECDSA_SIG_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ECDSA_verify.3 b/linux_amd64/share/man/man3/ECDSA_verify.3 new file mode 120000 index 0000000..d9b069b --- /dev/null +++ b/linux_amd64/share/man/man3/ECDSA_verify.3 @@ -0,0 +1 @@ +ECDSA_SIG_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ECPARAMETERS_free.3 b/linux_amd64/share/man/man3/ECPARAMETERS_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/ECPARAMETERS_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ECPARAMETERS_new.3 b/linux_amd64/share/man/man3/ECPARAMETERS_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/ECPARAMETERS_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ECPKPARAMETERS_free.3 b/linux_amd64/share/man/man3/ECPKPARAMETERS_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/ECPKPARAMETERS_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ECPKPARAMETERS_new.3 b/linux_amd64/share/man/man3/ECPKPARAMETERS_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/ECPKPARAMETERS_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ECPKParameters_print.3 b/linux_amd64/share/man/man3/ECPKParameters_print.3 index b960043..0c77777 100755 --- a/linux_amd64/share/man/man3/ECPKParameters_print.3 +++ b/linux_amd64/share/man/man3/ECPKParameters_print.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "ECPKPARAMETERS_PRINT 3" -.TH ECPKPARAMETERS_PRINT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH ECPKPARAMETERS_PRINT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -ECPKParameters_print, ECPKParameters_print_fp \- Functions for decoding and -encoding ASN1 representations of elliptic curve entities +ECPKParameters_print, ECPKParameters_print_fp \- Functions for decoding and encoding ASN1 representations of elliptic curve entities .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -161,7 +160,7 @@ return 1 for success and 0 if an error occurs. .IX Header "COPYRIGHT" Copyright 2013\-2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/ECPKParameters_print_fp.3 b/linux_amd64/share/man/man3/ECPKParameters_print_fp.3 new file mode 120000 index 0000000..f4dd40c --- /dev/null +++ b/linux_amd64/share/man/man3/ECPKParameters_print_fp.3 @@ -0,0 +1 @@ +ECPKParameters_print.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_GF2m_simple_method.3 b/linux_amd64/share/man/man3/EC_GF2m_simple_method.3 new file mode 120000 index 0000000..e3009d9 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_GF2m_simple_method.3 @@ -0,0 +1 @@ +EC_GFp_simple_method.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_GFp_mont_method.3 b/linux_amd64/share/man/man3/EC_GFp_mont_method.3 new file mode 120000 index 0000000..e3009d9 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_GFp_mont_method.3 @@ -0,0 +1 @@ +EC_GFp_simple_method.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_GFp_nist_method.3 b/linux_amd64/share/man/man3/EC_GFp_nist_method.3 new file mode 120000 index 0000000..e3009d9 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_GFp_nist_method.3 @@ -0,0 +1 @@ +EC_GFp_simple_method.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_GFp_nistp224_method.3 b/linux_amd64/share/man/man3/EC_GFp_nistp224_method.3 new file mode 120000 index 0000000..e3009d9 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_GFp_nistp224_method.3 @@ -0,0 +1 @@ +EC_GFp_simple_method.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_GFp_nistp256_method.3 b/linux_amd64/share/man/man3/EC_GFp_nistp256_method.3 new file mode 120000 index 0000000..e3009d9 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_GFp_nistp256_method.3 @@ -0,0 +1 @@ +EC_GFp_simple_method.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_GFp_nistp521_method.3 b/linux_amd64/share/man/man3/EC_GFp_nistp521_method.3 new file mode 120000 index 0000000..e3009d9 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_GFp_nistp521_method.3 @@ -0,0 +1 @@ +EC_GFp_simple_method.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_GFp_simple_method.3 b/linux_amd64/share/man/man3/EC_GFp_simple_method.3 index 34bb831..f646af4 100755 --- a/linux_amd64/share/man/man3/EC_GFp_simple_method.3 +++ b/linux_amd64/share/man/man3/EC_GFp_simple_method.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "EC_GFP_SIMPLE_METHOD 3" -.TH EC_GFP_SIMPLE_METHOD 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EC_GFP_SIMPLE_METHOD 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -186,7 +186,7 @@ EC_METHOD_get_field_type returns an integer that identifies the type of field th .IX Header "COPYRIGHT" Copyright 2013\-2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EC_GROUP_check.3 b/linux_amd64/share/man/man3/EC_GROUP_check.3 new file mode 120000 index 0000000..e366f00 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_GROUP_check.3 @@ -0,0 +1 @@ +EC_GROUP_copy.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_GROUP_check_discriminant.3 b/linux_amd64/share/man/man3/EC_GROUP_check_discriminant.3 new file mode 120000 index 0000000..e366f00 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_GROUP_check_discriminant.3 @@ -0,0 +1 @@ +EC_GROUP_copy.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_GROUP_clear_free.3 b/linux_amd64/share/man/man3/EC_GROUP_clear_free.3 new file mode 120000 index 0000000..b170f49 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_GROUP_clear_free.3 @@ -0,0 +1 @@ +EC_GROUP_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_GROUP_cmp.3 b/linux_amd64/share/man/man3/EC_GROUP_cmp.3 new file mode 120000 index 0000000..e366f00 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_GROUP_cmp.3 @@ -0,0 +1 @@ +EC_GROUP_copy.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_GROUP_copy.3 b/linux_amd64/share/man/man3/EC_GROUP_copy.3 index fc9881b..c1d3921 100755 --- a/linux_amd64/share/man/man3/EC_GROUP_copy.3 +++ b/linux_amd64/share/man/man3/EC_GROUP_copy.3 @@ -124,24 +124,13 @@ .\" ======================================================================== .\" .IX Title "EC_GROUP_COPY 3" -.TH EC_GROUP_COPY 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EC_GROUP_COPY 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EC_GROUP_get0_order, EC_GROUP_order_bits, EC_GROUP_get0_cofactor, -EC_GROUP_copy, EC_GROUP_dup, EC_GROUP_method_of, EC_GROUP_set_generator, -EC_GROUP_get0_generator, EC_GROUP_get_order, EC_GROUP_get_cofactor, -EC_GROUP_set_curve_name, EC_GROUP_get_curve_name, EC_GROUP_set_asn1_flag, -EC_GROUP_get_asn1_flag, EC_GROUP_set_point_conversion_form, -EC_GROUP_get_point_conversion_form, EC_GROUP_get0_seed, -EC_GROUP_get_seed_len, EC_GROUP_set_seed, EC_GROUP_get_degree, -EC_GROUP_check, EC_GROUP_check_named_curve, -EC_GROUP_check_discriminant, EC_GROUP_cmp, -EC_GROUP_get_basis_type, EC_GROUP_get_trinomial_basis, -EC_GROUP_get_pentanomial_basis, EC_GROUP_get0_field -\&\- Functions for manipulating EC_GROUP objects +EC_GROUP_get0_order, EC_GROUP_order_bits, EC_GROUP_get0_cofactor, EC_GROUP_copy, EC_GROUP_dup, EC_GROUP_method_of, EC_GROUP_set_generator, EC_GROUP_get0_generator, EC_GROUP_get_order, EC_GROUP_get_cofactor, EC_GROUP_set_curve_name, EC_GROUP_get_curve_name, EC_GROUP_set_asn1_flag, EC_GROUP_get_asn1_flag, EC_GROUP_set_point_conversion_form, EC_GROUP_get_point_conversion_form, EC_GROUP_get0_seed, EC_GROUP_get_seed_len, EC_GROUP_set_seed, EC_GROUP_get_degree, EC_GROUP_check, EC_GROUP_check_discriminant, EC_GROUP_cmp, EC_GROUP_get_basis_type, EC_GROUP_get_trinomial_basis, EC_GROUP_get_pentanomial_basis \&\- Functions for manipulating EC_GROUP objects .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -161,7 +150,6 @@ EC_GROUP_get_pentanomial_basis, EC_GROUP_get0_field \& int EC_GROUP_order_bits(const EC_GROUP *group); \& int EC_GROUP_get_cofactor(const EC_GROUP *group, BIGNUM *cofactor, BN_CTX *ctx); \& const BIGNUM *EC_GROUP_get0_cofactor(const EC_GROUP *group); -\& const BIGNUM *EC_GROUP_get0_field(const EC_GROUP *group); \& \& void EC_GROUP_set_curve_name(EC_GROUP *group, int nid); \& int EC_GROUP_get_curve_name(const EC_GROUP *group); @@ -179,8 +167,6 @@ EC_GROUP_get_pentanomial_basis, EC_GROUP_get0_field \& int EC_GROUP_get_degree(const EC_GROUP *group); \& \& int EC_GROUP_check(const EC_GROUP *group, BN_CTX *ctx); -\& int EC_GROUP_check_named_curve(const EC_GROUP *group, int nist_only, -\& BN_CTX *ctx); \& \& int EC_GROUP_check_discriminant(const EC_GROUP *group, BN_CTX *ctx); \& @@ -281,16 +267,6 @@ The function \fIEC_GROUP_check()\fR performs a number of checks on a curve to ve verifying that the discriminant is non zero; that a generator has been defined; that the generator is on the curve and has the correct order. .PP -The function \fIEC_GROUP_check_named_curve()\fR determines if the group's domain parameters match one of the built-in curves supported by the library. -The curve name is returned as a \fB\s-1NID\s0\fR if it matches. If the group's domain parameters have been modified then no match will be found. -If the curve name of the given group is \fBNID_undef\fR (e.g. it has been created by using explicit parameters with no curve name), -then this method can be used to lookup the name of the curve that matches the group domain parameters. The built-in curves contain -aliases, so that multiple \s-1NID\s0's can map to the same domain parameters. For such curves it is unspecified which of the aliases will be -returned if the curve name of the given group is NID_undef. -If \fBnist_only\fR is 1 it will only look for \s-1NIST\s0 approved curves, otherwise it searches all built-in curves. -This function may be passed a \s-1BN_CTX\s0 object in the \fBctx\fR parameter. -The \fBctx\fR parameter may be \s-1NULL\s0. -.PP \&\fIEC_GROUP_cmp()\fR compares \fBa\fR and \fBb\fR to determine whether they represent the same curve or not. .PP The functions \fIEC_GROUP_get_basis_type()\fR, \fIEC_GROUP_get_trinomial_basis()\fR and \fIEC_GROUP_get_pentanomial_basis()\fR should only be called for curves @@ -331,13 +307,9 @@ The following functions return 1 on success or 0 on error: \fIEC_GROUP_copy()\fR .PP \&\fIEC_GROUP_get_degree()\fR returns the degree for \fBgroup\fR or 0 if the operation is not supported by the underlying group implementation. .PP -\&\fIEC_GROUP_check_named_curve()\fR returns the nid of the matching named curve, otherwise it returns 0 for no match, or \-1 on error. -.PP \&\fIEC_GROUP_get0_order()\fR returns an internal pointer to the group order. \&\fIEC_GROUP_order_bits()\fR returns the number of bits in the group order. \&\fIEC_GROUP_get0_cofactor()\fR returns an internal pointer to the group cofactor. -\&\fIEC_GROUP_get0_field()\fR returns an internal pointer to the group field. For curves over \s-1GF\s0(p), this is the modulus; for curves -over \s-1GF\s0(2^m), this is the irreducible polynomial defining the field. .PP \&\fIEC_GROUP_get0_seed()\fR returns a pointer to the seed that was used to generate the parameter b, or \s-1NULL\s0 if the seed is not specified. \fIEC_GROUP_get_seed_len()\fR returns the length of the seed or 0 if the seed is not specified. @@ -354,14 +326,11 @@ trinomial or pentanomial respectively. Alternatively in the event of an error a \&\fIcrypto\fR\|(7), \fIEC_GROUP_new\fR\|(3), \&\fIEC_POINT_new\fR\|(3), \fIEC_POINT_add\fR\|(3), \fIEC_KEY_new\fR\|(3), \&\fIEC_GFp_simple_method\fR\|(3), \fId2i_ECPKParameters\fR\|(3) -.SH "HISTORY" -.IX Header "HISTORY" -The \fIEC_GROUP_check_named_curve()\fR function was added in OpenSSL 3.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2013\-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2013\-2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EC_GROUP_dup.3 b/linux_amd64/share/man/man3/EC_GROUP_dup.3 new file mode 120000 index 0000000..e366f00 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_GROUP_dup.3 @@ -0,0 +1 @@ +EC_GROUP_copy.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_GROUP_free.3 b/linux_amd64/share/man/man3/EC_GROUP_free.3 new file mode 120000 index 0000000..b170f49 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_GROUP_free.3 @@ -0,0 +1 @@ +EC_GROUP_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_GROUP_get0_cofactor.3 b/linux_amd64/share/man/man3/EC_GROUP_get0_cofactor.3 new file mode 120000 index 0000000..e366f00 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_GROUP_get0_cofactor.3 @@ -0,0 +1 @@ +EC_GROUP_copy.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_GROUP_get0_generator.3 b/linux_amd64/share/man/man3/EC_GROUP_get0_generator.3 new file mode 120000 index 0000000..e366f00 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_GROUP_get0_generator.3 @@ -0,0 +1 @@ +EC_GROUP_copy.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_GROUP_get0_order.3 b/linux_amd64/share/man/man3/EC_GROUP_get0_order.3 new file mode 120000 index 0000000..e366f00 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_GROUP_get0_order.3 @@ -0,0 +1 @@ +EC_GROUP_copy.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_GROUP_get0_seed.3 b/linux_amd64/share/man/man3/EC_GROUP_get0_seed.3 new file mode 120000 index 0000000..e366f00 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_GROUP_get0_seed.3 @@ -0,0 +1 @@ +EC_GROUP_copy.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_GROUP_get_asn1_flag.3 b/linux_amd64/share/man/man3/EC_GROUP_get_asn1_flag.3 new file mode 120000 index 0000000..e366f00 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_GROUP_get_asn1_flag.3 @@ -0,0 +1 @@ +EC_GROUP_copy.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_GROUP_get_basis_type.3 b/linux_amd64/share/man/man3/EC_GROUP_get_basis_type.3 new file mode 120000 index 0000000..e366f00 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_GROUP_get_basis_type.3 @@ -0,0 +1 @@ +EC_GROUP_copy.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_GROUP_get_cofactor.3 b/linux_amd64/share/man/man3/EC_GROUP_get_cofactor.3 new file mode 120000 index 0000000..e366f00 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_GROUP_get_cofactor.3 @@ -0,0 +1 @@ +EC_GROUP_copy.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_GROUP_get_curve.3 b/linux_amd64/share/man/man3/EC_GROUP_get_curve.3 new file mode 120000 index 0000000..b170f49 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_GROUP_get_curve.3 @@ -0,0 +1 @@ +EC_GROUP_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_GROUP_get_curve_GF2m.3 b/linux_amd64/share/man/man3/EC_GROUP_get_curve_GF2m.3 new file mode 120000 index 0000000..b170f49 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_GROUP_get_curve_GF2m.3 @@ -0,0 +1 @@ +EC_GROUP_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_GROUP_get_curve_GFp.3 b/linux_amd64/share/man/man3/EC_GROUP_get_curve_GFp.3 new file mode 120000 index 0000000..b170f49 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_GROUP_get_curve_GFp.3 @@ -0,0 +1 @@ +EC_GROUP_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_GROUP_get_curve_name.3 b/linux_amd64/share/man/man3/EC_GROUP_get_curve_name.3 new file mode 120000 index 0000000..e366f00 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_GROUP_get_curve_name.3 @@ -0,0 +1 @@ +EC_GROUP_copy.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_GROUP_get_degree.3 b/linux_amd64/share/man/man3/EC_GROUP_get_degree.3 new file mode 120000 index 0000000..e366f00 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_GROUP_get_degree.3 @@ -0,0 +1 @@ +EC_GROUP_copy.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_GROUP_get_ecparameters.3 b/linux_amd64/share/man/man3/EC_GROUP_get_ecparameters.3 new file mode 120000 index 0000000..b170f49 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_GROUP_get_ecparameters.3 @@ -0,0 +1 @@ +EC_GROUP_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_GROUP_get_ecpkparameters.3 b/linux_amd64/share/man/man3/EC_GROUP_get_ecpkparameters.3 new file mode 120000 index 0000000..b170f49 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_GROUP_get_ecpkparameters.3 @@ -0,0 +1 @@ +EC_GROUP_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_GROUP_get_order.3 b/linux_amd64/share/man/man3/EC_GROUP_get_order.3 new file mode 120000 index 0000000..e366f00 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_GROUP_get_order.3 @@ -0,0 +1 @@ +EC_GROUP_copy.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_GROUP_get_pentanomial_basis.3 b/linux_amd64/share/man/man3/EC_GROUP_get_pentanomial_basis.3 new file mode 120000 index 0000000..e366f00 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_GROUP_get_pentanomial_basis.3 @@ -0,0 +1 @@ +EC_GROUP_copy.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_GROUP_get_point_conversion_form.3 b/linux_amd64/share/man/man3/EC_GROUP_get_point_conversion_form.3 new file mode 120000 index 0000000..e366f00 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_GROUP_get_point_conversion_form.3 @@ -0,0 +1 @@ +EC_GROUP_copy.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_GROUP_get_seed_len.3 b/linux_amd64/share/man/man3/EC_GROUP_get_seed_len.3 new file mode 120000 index 0000000..e366f00 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_GROUP_get_seed_len.3 @@ -0,0 +1 @@ +EC_GROUP_copy.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_GROUP_get_trinomial_basis.3 b/linux_amd64/share/man/man3/EC_GROUP_get_trinomial_basis.3 new file mode 120000 index 0000000..e366f00 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_GROUP_get_trinomial_basis.3 @@ -0,0 +1 @@ +EC_GROUP_copy.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_GROUP_have_precompute_mult.3 b/linux_amd64/share/man/man3/EC_GROUP_have_precompute_mult.3 new file mode 120000 index 0000000..e4add87 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_GROUP_have_precompute_mult.3 @@ -0,0 +1 @@ +EC_POINT_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_GROUP_method_of.3 b/linux_amd64/share/man/man3/EC_GROUP_method_of.3 new file mode 120000 index 0000000..e366f00 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_GROUP_method_of.3 @@ -0,0 +1 @@ +EC_GROUP_copy.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_GROUP_new.3 b/linux_amd64/share/man/man3/EC_GROUP_new.3 index 4301a5e..cab969c 100755 --- a/linux_amd64/share/man/man3/EC_GROUP_new.3 +++ b/linux_amd64/share/man/man3/EC_GROUP_new.3 @@ -124,48 +124,28 @@ .\" ======================================================================== .\" .IX Title "EC_GROUP_NEW 3" -.TH EC_GROUP_NEW 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EC_GROUP_NEW 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EC_GROUP_get_ecparameters, -EC_GROUP_get_ecpkparameters, -EC_GROUP_new_ex, -EC_GROUP_new, -EC_GROUP_new_from_ecparameters, -EC_GROUP_new_from_ecpkparameters, -EC_GROUP_free, -EC_GROUP_clear_free, -EC_GROUP_new_curve_GFp, -EC_GROUP_new_curve_GF2m, -EC_GROUP_new_by_curve_name_ex, -EC_GROUP_new_by_curve_name, -EC_GROUP_set_curve, -EC_GROUP_get_curve, -EC_GROUP_set_curve_GFp, -EC_GROUP_get_curve_GFp, -EC_GROUP_set_curve_GF2m, -EC_GROUP_get_curve_GF2m, -EC_get_builtin_curves \- Functions for creating and destroying EC_GROUP -objects +EC_GROUP_get_ecparameters, EC_GROUP_get_ecpkparameters, EC_GROUP_new, EC_GROUP_new_from_ecparameters, EC_GROUP_new_from_ecpkparameters, EC_GROUP_free, EC_GROUP_clear_free, EC_GROUP_new_curve_GFp, EC_GROUP_new_curve_GF2m, EC_GROUP_new_by_curve_name, EC_GROUP_set_curve, EC_GROUP_get_curve, EC_GROUP_set_curve_GFp, EC_GROUP_get_curve_GFp, EC_GROUP_set_curve_GF2m, EC_GROUP_get_curve_GF2m, EC_get_builtin_curves \- Functions for creating and destroying EC_GROUP objects .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include \& -\& EC_GROUP *EC_GROUP_new_ex(OPENSSL_CTX *libctx, const EC_METHOD *meth); \& EC_GROUP *EC_GROUP_new(const EC_METHOD *meth); \& EC_GROUP *EC_GROUP_new_from_ecparameters(const ECPARAMETERS *params) \& EC_GROUP *EC_GROUP_new_from_ecpkparameters(const ECPKPARAMETERS *params) \& void EC_GROUP_free(EC_GROUP *group); +\& void EC_GROUP_clear_free(EC_GROUP *group); \& \& EC_GROUP *EC_GROUP_new_curve_GFp(const BIGNUM *p, const BIGNUM *a, \& const BIGNUM *b, BN_CTX *ctx); \& EC_GROUP *EC_GROUP_new_curve_GF2m(const BIGNUM *p, const BIGNUM *a, \& const BIGNUM *b, BN_CTX *ctx); -\& EC_GROUP *EC_GROUP_new_by_curve_name_ex(OPENSSL_CTX *libctx, int nid); \& EC_GROUP *EC_GROUP_new_by_curve_name(int nid); \& \& int EC_GROUP_set_curve(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a, @@ -186,14 +166,6 @@ objects \& \& size_t EC_get_builtin_curves(EC_builtin_curve *r, size_t nitems); .Ve -.PP -Deprecated since OpenSSL 3.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): -.PP -.Vb 1 -\& void EC_GROUP_clear_free(EC_GROUP *group); -.Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" Within the library there are two forms of elliptic curve that are of interest. @@ -209,23 +181,16 @@ curve equation is modified to: .PP y^2 + xy = x^3 + ax^2 + b (where b != 0) .PP -Operations in a binary field are performed relative to an -\&\fBirreducible polynomial\fR. All such curves with OpenSSL use a trinomial or a -pentanomial for this parameter. +Operations in a binary field are performed relative to an \fBirreducible +polynomial\fR. All such curves with OpenSSL use a trinomial or a pentanomial for +this parameter. .PP -A new curve can be constructed by calling \fIEC_GROUP_new_ex()\fR, using the -implementation provided by \fBmeth\fR (see \fIEC_GFp_simple_method\fR\|(3)) and -associated with the library context \fBctx\fR (see \s-1\fIOPENSSL_CTX\s0\fR\|(3)). -The \fBctx\fR parameter may be \s-1NULL\s0 in which case the default library context is -used. -It is then necessary to call \fIEC_GROUP_set_curve()\fR to set the curve parameters. -\&\fIEC_GROUP_new_from_ecparameters()\fR will create a group from the -specified \fBparams\fR and -\&\fIEC_GROUP_new_from_ecpkparameters()\fR will create a group from the specific \s-1PK\s0 -\&\fBparams\fR. -.PP -\&\fIEC_GROUP_new()\fR is the same as \fIEC_GROUP_new_ex()\fR except that the library context -used is always the default library context. +A new curve can be constructed by calling \fIEC_GROUP_new()\fR, using the +implementation provided by \fBmeth\fR (see \fIEC_GFp_simple_method\fR\|(3)). It is then +necessary to call \fIEC_GROUP_set_curve()\fR to set the curve parameters. +\&\fIEC_GROUP_new_from_ecparameters()\fR will create a group from the specified +\&\fBparams\fR and \fIEC_GROUP_new_from_ecpkparameters()\fR will create a group from the +specific \s-1PK\s0 \fBparams\fR. .PP \&\fIEC_GROUP_set_curve()\fR sets the curve parameters \fBp\fR, \fBa\fR and \fBb\fR. For a curve over Fp \fBp\fR is the prime for the field. For a curve over F2^m \fBp\fR represents @@ -254,7 +219,7 @@ above, there are also a number of predefined curves that are available. In order to obtain a list of all of the predefined curves, call the function \&\fIEC_get_builtin_curves()\fR. The parameter \fBr\fR should be an array of EC_builtin_curve structures of size \fBnitems\fR. The function will populate the -\&\fBr\fR array with information about the built-in curves. If \fBnitems\fR is less than +\&\fBr\fR array with information about the builtin curves. If \fBnitems\fR is less than the total number of curves available, then the first \fBnitems\fR curves will be returned. Otherwise the total number of curves will be provided. The return value is the total number of curves available (whether that number has been @@ -272,30 +237,21 @@ The EC_builtin_curve structure is defined as follows: Each EC_builtin_curve item has a unique integer id (\fBnid\fR), and a human readable comment string describing the curve. .PP -In order to construct a built-in curve use the function -\&\fIEC_GROUP_new_by_curve_name_ex()\fR and provide the \fBnid\fR of the curve to be -constructed and the associated library context to be used in \fBctx\fR (see -\&\s-1\fIOPENSSL_CTX\s0\fR\|(3)). The \fBctx\fR value may be \s-1NULL\s0 in which case the default -library context is used. -.PP -\&\fIEC_GROUP_new_by_curve_name()\fR is the same as \fIEC_GROUP_new_by_curve_name_ex()\fR -except that the default library context is always used. +In order to construct a builtin curve use the function +\&\fIEC_GROUP_new_by_curve_name()\fR and provide the \fBnid\fR of the curve to +be constructed. .PP \&\fIEC_GROUP_free()\fR frees the memory associated with the \s-1EC_GROUP\s0. If \fBgroup\fR is \s-1NULL\s0 nothing is done. .PP -\&\fIEC_GROUP_clear_free()\fR is deprecated: it was meant to destroy any sensitive data -held within the \s-1EC_GROUP\s0 and then free its memory, but since all the data stored -in the \s-1EC_GROUP\s0 is public anyway, this function is unnecessary. -Its use can be safely replaced with \fIEC_GROUP_free()\fR. -If \fBgroup\fR is \s-1NULL\s0 nothing is done. +\&\fIEC_GROUP_clear_free()\fR destroys any sensitive data held within the \s-1EC_GROUP\s0 and +then frees its memory. If \fBgroup\fR is \s-1NULL\s0 nothing is done. .SH "RETURN VALUES" .IX Header "RETURN VALUES" All EC_GROUP_new* functions return a pointer to the newly constructed group, or \&\s-1NULL\s0 on error. .PP -\&\fIEC_get_builtin_curves()\fR returns the number of built-in curves that are -available. +\&\fIEC_get_builtin_curves()\fR returns the number of builtin curves that are available. .PP \&\fIEC_GROUP_set_curve_GFp()\fR, \fIEC_GROUP_get_curve_GFp()\fR, \fIEC_GROUP_set_curve_GF2m()\fR, \&\fIEC_GROUP_get_curve_GF2m()\fR return 1 on success or 0 on error. @@ -303,20 +259,12 @@ available. .IX Header "SEE ALSO" \&\fIcrypto\fR\|(7), \fIEC_GROUP_copy\fR\|(3), \&\fIEC_POINT_new\fR\|(3), \fIEC_POINT_add\fR\|(3), \fIEC_KEY_new\fR\|(3), -\&\fIEC_GFp_simple_method\fR\|(3), \fId2i_ECPKParameters\fR\|(3), -\&\s-1\fIOPENSSL_CTX\s0\fR\|(3) -.SH "HISTORY" -.IX Header "HISTORY" -.IP "\(bu" 2 -\&\fIEC_GROUP_new_ex()\fR and \fIEC_GROUP_new_by_curve_name_ex()\fR were added in OpenSSL 3.0. -.IP "\(bu" 2 -\&\fIEC_GROUP_clear_free()\fR was deprecated in OpenSSL 3.0; use \fIEC_GROUP_free()\fR -instead. +\&\fIEC_GFp_simple_method\fR\|(3), \fId2i_ECPKParameters\fR\|(3) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2013\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2013\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EC_GROUP_new_by_curve_name.3 b/linux_amd64/share/man/man3/EC_GROUP_new_by_curve_name.3 new file mode 120000 index 0000000..b170f49 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_GROUP_new_by_curve_name.3 @@ -0,0 +1 @@ +EC_GROUP_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_GROUP_new_curve_GF2m.3 b/linux_amd64/share/man/man3/EC_GROUP_new_curve_GF2m.3 new file mode 120000 index 0000000..b170f49 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_GROUP_new_curve_GF2m.3 @@ -0,0 +1 @@ +EC_GROUP_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_GROUP_new_curve_GFp.3 b/linux_amd64/share/man/man3/EC_GROUP_new_curve_GFp.3 new file mode 120000 index 0000000..b170f49 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_GROUP_new_curve_GFp.3 @@ -0,0 +1 @@ +EC_GROUP_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_GROUP_new_from_ecparameters.3 b/linux_amd64/share/man/man3/EC_GROUP_new_from_ecparameters.3 new file mode 120000 index 0000000..b170f49 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_GROUP_new_from_ecparameters.3 @@ -0,0 +1 @@ +EC_GROUP_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_GROUP_new_from_ecpkparameters.3 b/linux_amd64/share/man/man3/EC_GROUP_new_from_ecpkparameters.3 new file mode 120000 index 0000000..b170f49 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_GROUP_new_from_ecpkparameters.3 @@ -0,0 +1 @@ +EC_GROUP_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_GROUP_order_bits.3 b/linux_amd64/share/man/man3/EC_GROUP_order_bits.3 new file mode 120000 index 0000000..e366f00 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_GROUP_order_bits.3 @@ -0,0 +1 @@ +EC_GROUP_copy.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_GROUP_precompute_mult.3 b/linux_amd64/share/man/man3/EC_GROUP_precompute_mult.3 new file mode 120000 index 0000000..e4add87 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_GROUP_precompute_mult.3 @@ -0,0 +1 @@ +EC_POINT_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_GROUP_set_asn1_flag.3 b/linux_amd64/share/man/man3/EC_GROUP_set_asn1_flag.3 new file mode 120000 index 0000000..e366f00 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_GROUP_set_asn1_flag.3 @@ -0,0 +1 @@ +EC_GROUP_copy.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_GROUP_set_curve.3 b/linux_amd64/share/man/man3/EC_GROUP_set_curve.3 new file mode 120000 index 0000000..b170f49 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_GROUP_set_curve.3 @@ -0,0 +1 @@ +EC_GROUP_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_GROUP_set_curve_GF2m.3 b/linux_amd64/share/man/man3/EC_GROUP_set_curve_GF2m.3 new file mode 120000 index 0000000..b170f49 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_GROUP_set_curve_GF2m.3 @@ -0,0 +1 @@ +EC_GROUP_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_GROUP_set_curve_GFp.3 b/linux_amd64/share/man/man3/EC_GROUP_set_curve_GFp.3 new file mode 120000 index 0000000..b170f49 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_GROUP_set_curve_GFp.3 @@ -0,0 +1 @@ +EC_GROUP_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_GROUP_set_curve_name.3 b/linux_amd64/share/man/man3/EC_GROUP_set_curve_name.3 new file mode 120000 index 0000000..e366f00 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_GROUP_set_curve_name.3 @@ -0,0 +1 @@ +EC_GROUP_copy.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_GROUP_set_generator.3 b/linux_amd64/share/man/man3/EC_GROUP_set_generator.3 new file mode 120000 index 0000000..e366f00 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_GROUP_set_generator.3 @@ -0,0 +1 @@ +EC_GROUP_copy.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_GROUP_set_point_conversion_form.3 b/linux_amd64/share/man/man3/EC_GROUP_set_point_conversion_form.3 new file mode 120000 index 0000000..e366f00 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_GROUP_set_point_conversion_form.3 @@ -0,0 +1 @@ +EC_GROUP_copy.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_GROUP_set_seed.3 b/linux_amd64/share/man/man3/EC_GROUP_set_seed.3 new file mode 120000 index 0000000..e366f00 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_GROUP_set_seed.3 @@ -0,0 +1 @@ +EC_GROUP_copy.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_KEY_check_key.3 b/linux_amd64/share/man/man3/EC_KEY_check_key.3 new file mode 120000 index 0000000..369b9ad --- /dev/null +++ b/linux_amd64/share/man/man3/EC_KEY_check_key.3 @@ -0,0 +1 @@ +EC_KEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_KEY_clear_flags.3 b/linux_amd64/share/man/man3/EC_KEY_clear_flags.3 new file mode 120000 index 0000000..369b9ad --- /dev/null +++ b/linux_amd64/share/man/man3/EC_KEY_clear_flags.3 @@ -0,0 +1 @@ +EC_KEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_KEY_copy.3 b/linux_amd64/share/man/man3/EC_KEY_copy.3 new file mode 120000 index 0000000..369b9ad --- /dev/null +++ b/linux_amd64/share/man/man3/EC_KEY_copy.3 @@ -0,0 +1 @@ +EC_KEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_KEY_dup.3 b/linux_amd64/share/man/man3/EC_KEY_dup.3 new file mode 120000 index 0000000..369b9ad --- /dev/null +++ b/linux_amd64/share/man/man3/EC_KEY_dup.3 @@ -0,0 +1 @@ +EC_KEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_KEY_free.3 b/linux_amd64/share/man/man3/EC_KEY_free.3 new file mode 120000 index 0000000..369b9ad --- /dev/null +++ b/linux_amd64/share/man/man3/EC_KEY_free.3 @@ -0,0 +1 @@ +EC_KEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_KEY_generate_key.3 b/linux_amd64/share/man/man3/EC_KEY_generate_key.3 new file mode 120000 index 0000000..369b9ad --- /dev/null +++ b/linux_amd64/share/man/man3/EC_KEY_generate_key.3 @@ -0,0 +1 @@ +EC_KEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_KEY_get0_engine.3 b/linux_amd64/share/man/man3/EC_KEY_get0_engine.3 new file mode 120000 index 0000000..369b9ad --- /dev/null +++ b/linux_amd64/share/man/man3/EC_KEY_get0_engine.3 @@ -0,0 +1 @@ +EC_KEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_KEY_get0_group.3 b/linux_amd64/share/man/man3/EC_KEY_get0_group.3 new file mode 120000 index 0000000..369b9ad --- /dev/null +++ b/linux_amd64/share/man/man3/EC_KEY_get0_group.3 @@ -0,0 +1 @@ +EC_KEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_KEY_get0_private_key.3 b/linux_amd64/share/man/man3/EC_KEY_get0_private_key.3 new file mode 120000 index 0000000..369b9ad --- /dev/null +++ b/linux_amd64/share/man/man3/EC_KEY_get0_private_key.3 @@ -0,0 +1 @@ +EC_KEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_KEY_get0_public_key.3 b/linux_amd64/share/man/man3/EC_KEY_get0_public_key.3 new file mode 120000 index 0000000..369b9ad --- /dev/null +++ b/linux_amd64/share/man/man3/EC_KEY_get0_public_key.3 @@ -0,0 +1 @@ +EC_KEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_KEY_get_conv_form.3 b/linux_amd64/share/man/man3/EC_KEY_get_conv_form.3 new file mode 120000 index 0000000..369b9ad --- /dev/null +++ b/linux_amd64/share/man/man3/EC_KEY_get_conv_form.3 @@ -0,0 +1 @@ +EC_KEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_KEY_get_enc_flags.3 b/linux_amd64/share/man/man3/EC_KEY_get_enc_flags.3 index f67ecd0..3cc04fd 100755 --- a/linux_amd64/share/man/man3/EC_KEY_get_enc_flags.3 +++ b/linux_amd64/share/man/man3/EC_KEY_get_enc_flags.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "EC_KEY_GET_ENC_FLAGS 3" -.TH EC_KEY_GET_ENC_FLAGS 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EC_KEY_GET_ENC_FLAGS 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EC_KEY_get_enc_flags, EC_KEY_set_enc_flags -\&\- Get and set flags for encoding EC_KEY structures +EC_KEY_get_enc_flags, EC_KEY_set_enc_flags \&\- Get and set flags for encoding EC_KEY structures .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -176,7 +175,7 @@ set then the public key is not encoded along with the private key. .IX Header "COPYRIGHT" Copyright 2015\-2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EC_KEY_get_ex_data.3 b/linux_amd64/share/man/man3/EC_KEY_get_ex_data.3 new file mode 120000 index 0000000..aa4dc88 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_KEY_get_ex_data.3 @@ -0,0 +1 @@ +BIO_get_ex_new_index.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_KEY_get_ex_new_index.3 b/linux_amd64/share/man/man3/EC_KEY_get_ex_new_index.3 new file mode 120000 index 0000000..aa4dc88 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_KEY_get_ex_new_index.3 @@ -0,0 +1 @@ +BIO_get_ex_new_index.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_KEY_get_flags.3 b/linux_amd64/share/man/man3/EC_KEY_get_flags.3 new file mode 120000 index 0000000..369b9ad --- /dev/null +++ b/linux_amd64/share/man/man3/EC_KEY_get_flags.3 @@ -0,0 +1 @@ +EC_KEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_KEY_get_method.3 b/linux_amd64/share/man/man3/EC_KEY_get_method.3 new file mode 120000 index 0000000..369b9ad --- /dev/null +++ b/linux_amd64/share/man/man3/EC_KEY_get_method.3 @@ -0,0 +1 @@ +EC_KEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_KEY_key2buf.3 b/linux_amd64/share/man/man3/EC_KEY_key2buf.3 new file mode 120000 index 0000000..369b9ad --- /dev/null +++ b/linux_amd64/share/man/man3/EC_KEY_key2buf.3 @@ -0,0 +1 @@ +EC_KEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_KEY_new.3 b/linux_amd64/share/man/man3/EC_KEY_new.3 index 720f301..4b4a1fe 100755 --- a/linux_amd64/share/man/man3/EC_KEY_new.3 +++ b/linux_amd64/share/man/man3/EC_KEY_new.3 @@ -124,35 +124,22 @@ .\" ======================================================================== .\" .IX Title "EC_KEY_NEW 3" -.TH EC_KEY_NEW 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EC_KEY_NEW 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EC_KEY_get_method, EC_KEY_set_method, EC_KEY_new_ex, -EC_KEY_new, EC_KEY_get_flags, EC_KEY_set_flags, EC_KEY_clear_flags, -EC_KEY_new_by_curve_name_ex, EC_KEY_new_by_curve_name, EC_KEY_free, EC_KEY_copy, -EC_KEY_dup, EC_KEY_up_ref, EC_KEY_get0_engine, -EC_KEY_get0_group, EC_KEY_set_group, EC_KEY_get0_private_key, -EC_KEY_set_private_key, EC_KEY_get0_public_key, EC_KEY_set_public_key, -EC_KEY_get_conv_form, -EC_KEY_set_conv_form, EC_KEY_set_asn1_flag, EC_KEY_precompute_mult, -EC_KEY_generate_key, EC_KEY_check_key, EC_KEY_set_public_key_affine_coordinates, -EC_KEY_oct2key, EC_KEY_key2buf, EC_KEY_oct2priv, EC_KEY_priv2oct, -EC_KEY_priv2buf \- Functions for creating, destroying and manipulating -EC_KEY objects +EC_KEY_get_method, EC_KEY_set_method, EC_KEY_new, EC_KEY_get_flags, EC_KEY_set_flags, EC_KEY_clear_flags, EC_KEY_new_by_curve_name, EC_KEY_free, EC_KEY_copy, EC_KEY_dup, EC_KEY_up_ref, EC_KEY_get0_engine, EC_KEY_get0_group, EC_KEY_set_group, EC_KEY_get0_private_key, EC_KEY_set_private_key, EC_KEY_get0_public_key, EC_KEY_set_public_key, EC_KEY_get_conv_form, EC_KEY_set_conv_form, EC_KEY_set_asn1_flag, EC_KEY_precompute_mult, EC_KEY_generate_key, EC_KEY_check_key, EC_KEY_set_public_key_affine_coordinates, EC_KEY_oct2key, EC_KEY_key2buf, EC_KEY_oct2priv, EC_KEY_priv2oct, EC_KEY_priv2buf \- Functions for creating, destroying and manipulating EC_KEY objects .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include \& -\& EC_KEY *EC_KEY_new_ex(OPENSSL_CTX *ctx); \& EC_KEY *EC_KEY_new(void); \& int EC_KEY_get_flags(const EC_KEY *key); \& void EC_KEY_set_flags(EC_KEY *key, int flags); \& void EC_KEY_clear_flags(EC_KEY *key, int flags); -\& EC_KEY *EC_KEY_new_by_curve_name_ex(OPENSSL_CTX *ctx, int nid); \& EC_KEY *EC_KEY_new_by_curve_name(int nid); \& void EC_KEY_free(EC_KEY *key); \& EC_KEY *EC_KEY_copy(EC_KEY *dst, const EC_KEY *src); @@ -187,31 +174,15 @@ EC_KEY objects .SH "DESCRIPTION" .IX Header "DESCRIPTION" An \s-1EC_KEY\s0 represents a public key and, optionally, the associated private -key. -A new \s-1EC_KEY\s0 with no associated curve can be constructed by calling -\&\fIEC_KEY_new_ex()\fR and specifying the associated library context in \fBctx\fR -(see \s-1\fIOPENSSL_CTX\s0\fR\|(3)). -The \fBctx\fR parameter may be \s-1NULL\s0 in which case the default library context is -used. -The reference count for the newly created \s-1EC_KEY\s0 is initially -set to 1. -A curve can be associated with the \s-1EC_KEY\s0 by calling +key. A new \s-1EC_KEY\s0 with no associated curve can be constructed by calling +\&\fIEC_KEY_new()\fR. The reference count for the newly created \s-1EC_KEY\s0 is initially +set to 1. A curve can be associated with the \s-1EC_KEY\s0 by calling \&\fIEC_KEY_set_group()\fR. .PP -\&\fIEC_KEY_new()\fR is the same as \fIEC_KEY_new_ex()\fR except that the default library -context is always used. -.PP Alternatively a new \s-1EC_KEY\s0 can be constructed by calling -\&\fIEC_KEY_new_by_curve_name_ex()\fR and supplying the nid of the associated curve and -the library context to be used \fBctx\fR (see \s-1\fIOPENSSL_CTX\s0\fR\|(3)). -The \fBctx\fR parameter may be \s-1NULL\s0 in which case the default library context is -used. -See \fIEC_GROUP_new\fR\|(3) for a description of curve names. -This function simply wraps calls to \fIEC_KEY_new_ex()\fR and -\&\fIEC_GROUP_new_by_curve_name_ex()\fR. -.PP -\&\fIEC_KEY_new_by_curve_name()\fR is the same as \fIEC_KEY_new_by_curve_name_ex()\fR except -that the default library context is always used. +\&\fIEC_KEY_new_by_curve_name()\fR and supplying the nid of the associated curve. See +\&\fIEC_GROUP_new\fR\|(3) for a description of curve names. This function simply +wraps calls to \fIEC_KEY_new()\fR and \fIEC_GROUP_new_by_curve_name()\fR. .PP Calling \fIEC_KEY_free()\fR decrements the reference count for the \s-1EC_KEY\s0 object, and if it has dropped to zero then frees the memory associated with it. If @@ -289,8 +260,8 @@ the \fBpbuf\fR parameter \fB\s-1MUST\s0 \s-1NOT\s0\fR be \fB\s-1NULL\s0\fR. \&\fIEC_KEY_priv2buf()\fR converts an \s-1EC_KEY\s0 private key into an allocated buffer. .SH "RETURN VALUES" .IX Header "RETURN VALUES" -\&\fIEC_KEY_new_ex()\fR, \fIEC_KEY_new()\fR, \fIEC_KEY_new_by_curve_name()\fR and \fIEC_KEY_dup()\fR -return a pointer to the newly created \s-1EC_KEY\s0 object, or \s-1NULL\s0 on error. +\&\fIEC_KEY_new()\fR, \fIEC_KEY_new_by_curve_name()\fR and \fIEC_KEY_dup()\fR return a pointer to +the newly created \s-1EC_KEY\s0 object, or \s-1NULL\s0 on error. .PP \&\fIEC_KEY_get_flags()\fR returns the flags associated with the \s-1EC_KEY\s0 object as an integer. @@ -318,13 +289,12 @@ of the buffer or 0 on error. \&\fIEC_GROUP_copy\fR\|(3), \fIEC_POINT_new\fR\|(3), \&\fIEC_POINT_add\fR\|(3), \&\fIEC_GFp_simple_method\fR\|(3), -\&\fId2i_ECPKParameters\fR\|(3), -\&\s-1\fIOPENSSL_CTX\s0\fR\|(3) +\&\fId2i_ECPKParameters\fR\|(3) .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2013\-2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EC_KEY_new_by_curve_name.3 b/linux_amd64/share/man/man3/EC_KEY_new_by_curve_name.3 new file mode 120000 index 0000000..369b9ad --- /dev/null +++ b/linux_amd64/share/man/man3/EC_KEY_new_by_curve_name.3 @@ -0,0 +1 @@ +EC_KEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_KEY_oct2key.3 b/linux_amd64/share/man/man3/EC_KEY_oct2key.3 new file mode 120000 index 0000000..369b9ad --- /dev/null +++ b/linux_amd64/share/man/man3/EC_KEY_oct2key.3 @@ -0,0 +1 @@ +EC_KEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_KEY_oct2priv.3 b/linux_amd64/share/man/man3/EC_KEY_oct2priv.3 new file mode 120000 index 0000000..369b9ad --- /dev/null +++ b/linux_amd64/share/man/man3/EC_KEY_oct2priv.3 @@ -0,0 +1 @@ +EC_KEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_KEY_precompute_mult.3 b/linux_amd64/share/man/man3/EC_KEY_precompute_mult.3 new file mode 120000 index 0000000..369b9ad --- /dev/null +++ b/linux_amd64/share/man/man3/EC_KEY_precompute_mult.3 @@ -0,0 +1 @@ +EC_KEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_KEY_priv2buf.3 b/linux_amd64/share/man/man3/EC_KEY_priv2buf.3 new file mode 120000 index 0000000..369b9ad --- /dev/null +++ b/linux_amd64/share/man/man3/EC_KEY_priv2buf.3 @@ -0,0 +1 @@ +EC_KEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_KEY_priv2oct.3 b/linux_amd64/share/man/man3/EC_KEY_priv2oct.3 new file mode 120000 index 0000000..369b9ad --- /dev/null +++ b/linux_amd64/share/man/man3/EC_KEY_priv2oct.3 @@ -0,0 +1 @@ +EC_KEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_KEY_set_asn1_flag.3 b/linux_amd64/share/man/man3/EC_KEY_set_asn1_flag.3 new file mode 120000 index 0000000..369b9ad --- /dev/null +++ b/linux_amd64/share/man/man3/EC_KEY_set_asn1_flag.3 @@ -0,0 +1 @@ +EC_KEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_KEY_set_conv_form.3 b/linux_amd64/share/man/man3/EC_KEY_set_conv_form.3 new file mode 120000 index 0000000..369b9ad --- /dev/null +++ b/linux_amd64/share/man/man3/EC_KEY_set_conv_form.3 @@ -0,0 +1 @@ +EC_KEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_KEY_set_enc_flags.3 b/linux_amd64/share/man/man3/EC_KEY_set_enc_flags.3 new file mode 120000 index 0000000..1caac36 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_KEY_set_enc_flags.3 @@ -0,0 +1 @@ +EC_KEY_get_enc_flags.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_KEY_set_ex_data.3 b/linux_amd64/share/man/man3/EC_KEY_set_ex_data.3 new file mode 120000 index 0000000..aa4dc88 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_KEY_set_ex_data.3 @@ -0,0 +1 @@ +BIO_get_ex_new_index.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_KEY_set_flags.3 b/linux_amd64/share/man/man3/EC_KEY_set_flags.3 new file mode 120000 index 0000000..369b9ad --- /dev/null +++ b/linux_amd64/share/man/man3/EC_KEY_set_flags.3 @@ -0,0 +1 @@ +EC_KEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_KEY_set_group.3 b/linux_amd64/share/man/man3/EC_KEY_set_group.3 new file mode 120000 index 0000000..369b9ad --- /dev/null +++ b/linux_amd64/share/man/man3/EC_KEY_set_group.3 @@ -0,0 +1 @@ +EC_KEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_KEY_set_method.3 b/linux_amd64/share/man/man3/EC_KEY_set_method.3 new file mode 120000 index 0000000..369b9ad --- /dev/null +++ b/linux_amd64/share/man/man3/EC_KEY_set_method.3 @@ -0,0 +1 @@ +EC_KEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_KEY_set_private_key.3 b/linux_amd64/share/man/man3/EC_KEY_set_private_key.3 new file mode 120000 index 0000000..369b9ad --- /dev/null +++ b/linux_amd64/share/man/man3/EC_KEY_set_private_key.3 @@ -0,0 +1 @@ +EC_KEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_KEY_set_public_key.3 b/linux_amd64/share/man/man3/EC_KEY_set_public_key.3 new file mode 120000 index 0000000..369b9ad --- /dev/null +++ b/linux_amd64/share/man/man3/EC_KEY_set_public_key.3 @@ -0,0 +1 @@ +EC_KEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_KEY_set_public_key_affine_coordinates.3 b/linux_amd64/share/man/man3/EC_KEY_set_public_key_affine_coordinates.3 new file mode 120000 index 0000000..369b9ad --- /dev/null +++ b/linux_amd64/share/man/man3/EC_KEY_set_public_key_affine_coordinates.3 @@ -0,0 +1 @@ +EC_KEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_KEY_up_ref.3 b/linux_amd64/share/man/man3/EC_KEY_up_ref.3 new file mode 120000 index 0000000..369b9ad --- /dev/null +++ b/linux_amd64/share/man/man3/EC_KEY_up_ref.3 @@ -0,0 +1 @@ +EC_KEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_METHOD_get_field_type.3 b/linux_amd64/share/man/man3/EC_METHOD_get_field_type.3 new file mode 120000 index 0000000..e3009d9 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_METHOD_get_field_type.3 @@ -0,0 +1 @@ +EC_GFp_simple_method.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_POINT_add.3 b/linux_amd64/share/man/man3/EC_POINT_add.3 index eb0ccdd..c973ebf 100755 --- a/linux_amd64/share/man/man3/EC_POINT_add.3 +++ b/linux_amd64/share/man/man3/EC_POINT_add.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "EC_POINT_ADD 3" -.TH EC_POINT_ADD 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EC_POINT_ADD 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -201,7 +201,7 @@ EC_GROUP_have_precompute_mult return 1 if a precomputation has been done, or 0 i .IX Header "COPYRIGHT" Copyright 2013\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EC_POINT_bn2point.3 b/linux_amd64/share/man/man3/EC_POINT_bn2point.3 new file mode 120000 index 0000000..69d18a4 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_POINT_bn2point.3 @@ -0,0 +1 @@ +EC_POINT_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_POINT_clear_free.3 b/linux_amd64/share/man/man3/EC_POINT_clear_free.3 new file mode 120000 index 0000000..69d18a4 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_POINT_clear_free.3 @@ -0,0 +1 @@ +EC_POINT_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_POINT_cmp.3 b/linux_amd64/share/man/man3/EC_POINT_cmp.3 new file mode 120000 index 0000000..e4add87 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_POINT_cmp.3 @@ -0,0 +1 @@ +EC_POINT_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_POINT_copy.3 b/linux_amd64/share/man/man3/EC_POINT_copy.3 new file mode 120000 index 0000000..69d18a4 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_POINT_copy.3 @@ -0,0 +1 @@ +EC_POINT_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_POINT_dbl.3 b/linux_amd64/share/man/man3/EC_POINT_dbl.3 new file mode 120000 index 0000000..e4add87 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_POINT_dbl.3 @@ -0,0 +1 @@ +EC_POINT_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_POINT_dup.3 b/linux_amd64/share/man/man3/EC_POINT_dup.3 new file mode 120000 index 0000000..69d18a4 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_POINT_dup.3 @@ -0,0 +1 @@ +EC_POINT_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_POINT_free.3 b/linux_amd64/share/man/man3/EC_POINT_free.3 new file mode 120000 index 0000000..69d18a4 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_POINT_free.3 @@ -0,0 +1 @@ +EC_POINT_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_POINT_get_Jprojective_coordinates_GFp.3 b/linux_amd64/share/man/man3/EC_POINT_get_Jprojective_coordinates_GFp.3 new file mode 120000 index 0000000..69d18a4 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_POINT_get_Jprojective_coordinates_GFp.3 @@ -0,0 +1 @@ +EC_POINT_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_POINT_get_affine_coordinates.3 b/linux_amd64/share/man/man3/EC_POINT_get_affine_coordinates.3 new file mode 120000 index 0000000..69d18a4 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_POINT_get_affine_coordinates.3 @@ -0,0 +1 @@ +EC_POINT_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_POINT_get_affine_coordinates_GF2m.3 b/linux_amd64/share/man/man3/EC_POINT_get_affine_coordinates_GF2m.3 new file mode 120000 index 0000000..69d18a4 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_POINT_get_affine_coordinates_GF2m.3 @@ -0,0 +1 @@ +EC_POINT_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_POINT_get_affine_coordinates_GFp.3 b/linux_amd64/share/man/man3/EC_POINT_get_affine_coordinates_GFp.3 new file mode 120000 index 0000000..69d18a4 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_POINT_get_affine_coordinates_GFp.3 @@ -0,0 +1 @@ +EC_POINT_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_POINT_hex2point.3 b/linux_amd64/share/man/man3/EC_POINT_hex2point.3 new file mode 120000 index 0000000..69d18a4 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_POINT_hex2point.3 @@ -0,0 +1 @@ +EC_POINT_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_POINT_invert.3 b/linux_amd64/share/man/man3/EC_POINT_invert.3 new file mode 120000 index 0000000..e4add87 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_POINT_invert.3 @@ -0,0 +1 @@ +EC_POINT_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_POINT_is_at_infinity.3 b/linux_amd64/share/man/man3/EC_POINT_is_at_infinity.3 new file mode 120000 index 0000000..e4add87 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_POINT_is_at_infinity.3 @@ -0,0 +1 @@ +EC_POINT_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_POINT_is_on_curve.3 b/linux_amd64/share/man/man3/EC_POINT_is_on_curve.3 new file mode 120000 index 0000000..e4add87 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_POINT_is_on_curve.3 @@ -0,0 +1 @@ +EC_POINT_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_POINT_make_affine.3 b/linux_amd64/share/man/man3/EC_POINT_make_affine.3 new file mode 120000 index 0000000..e4add87 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_POINT_make_affine.3 @@ -0,0 +1 @@ +EC_POINT_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_POINT_method_of.3 b/linux_amd64/share/man/man3/EC_POINT_method_of.3 new file mode 120000 index 0000000..69d18a4 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_POINT_method_of.3 @@ -0,0 +1 @@ +EC_POINT_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_POINT_mul.3 b/linux_amd64/share/man/man3/EC_POINT_mul.3 new file mode 120000 index 0000000..e4add87 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_POINT_mul.3 @@ -0,0 +1 @@ +EC_POINT_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_POINT_new.3 b/linux_amd64/share/man/man3/EC_POINT_new.3 index c7b0d17..965010b 100755 --- a/linux_amd64/share/man/man3/EC_POINT_new.3 +++ b/linux_amd64/share/man/man3/EC_POINT_new.3 @@ -124,38 +124,13 @@ .\" ======================================================================== .\" .IX Title "EC_POINT_NEW 3" -.TH EC_POINT_NEW 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EC_POINT_NEW 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EC_POINT_set_Jprojective_coordinates_GFp, -EC_POINT_point2buf, -EC_POINT_new, -EC_POINT_free, -EC_POINT_clear_free, -EC_POINT_copy, -EC_POINT_dup, -EC_POINT_method_of, -EC_POINT_set_to_infinity, -EC_POINT_get_Jprojective_coordinates_GFp, -EC_POINT_set_affine_coordinates, -EC_POINT_get_affine_coordinates, -EC_POINT_set_compressed_coordinates, -EC_POINT_set_affine_coordinates_GFp, -EC_POINT_get_affine_coordinates_GFp, -EC_POINT_set_compressed_coordinates_GFp, -EC_POINT_set_affine_coordinates_GF2m, -EC_POINT_get_affine_coordinates_GF2m, -EC_POINT_set_compressed_coordinates_GF2m, -EC_POINT_point2oct, -EC_POINT_oct2point, -EC_POINT_point2bn, -EC_POINT_bn2point, -EC_POINT_point2hex, -EC_POINT_hex2point -\&\- Functions for creating, destroying and manipulating EC_POINT objects +EC_POINT_set_Jprojective_coordinates_GFp, EC_POINT_point2buf, EC_POINT_new, EC_POINT_free, EC_POINT_clear_free, EC_POINT_copy, EC_POINT_dup, EC_POINT_method_of, EC_POINT_set_to_infinity, EC_POINT_get_Jprojective_coordinates_GFp, EC_POINT_set_affine_coordinates, EC_POINT_get_affine_coordinates, EC_POINT_set_compressed_coordinates, EC_POINT_set_affine_coordinates_GFp, EC_POINT_get_affine_coordinates_GFp, EC_POINT_set_compressed_coordinates_GFp, EC_POINT_set_affine_coordinates_GF2m, EC_POINT_get_affine_coordinates_GF2m, EC_POINT_set_compressed_coordinates_GF2m, EC_POINT_point2oct, EC_POINT_oct2point, EC_POINT_point2bn, EC_POINT_bn2point, EC_POINT_point2hex, EC_POINT_hex2point \&\- Functions for creating, destroying and manipulating EC_POINT objects .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -369,7 +344,7 @@ error. .IX Header "COPYRIGHT" Copyright 2013\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EC_POINT_oct2point.3 b/linux_amd64/share/man/man3/EC_POINT_oct2point.3 new file mode 120000 index 0000000..69d18a4 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_POINT_oct2point.3 @@ -0,0 +1 @@ +EC_POINT_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_POINT_point2bn.3 b/linux_amd64/share/man/man3/EC_POINT_point2bn.3 new file mode 120000 index 0000000..69d18a4 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_POINT_point2bn.3 @@ -0,0 +1 @@ +EC_POINT_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_POINT_point2buf.3 b/linux_amd64/share/man/man3/EC_POINT_point2buf.3 new file mode 120000 index 0000000..69d18a4 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_POINT_point2buf.3 @@ -0,0 +1 @@ +EC_POINT_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_POINT_point2hex.3 b/linux_amd64/share/man/man3/EC_POINT_point2hex.3 new file mode 120000 index 0000000..69d18a4 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_POINT_point2hex.3 @@ -0,0 +1 @@ +EC_POINT_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_POINT_point2oct.3 b/linux_amd64/share/man/man3/EC_POINT_point2oct.3 new file mode 120000 index 0000000..69d18a4 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_POINT_point2oct.3 @@ -0,0 +1 @@ +EC_POINT_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_POINT_set_Jprojective_coordinates_GFp.3 b/linux_amd64/share/man/man3/EC_POINT_set_Jprojective_coordinates_GFp.3 new file mode 120000 index 0000000..69d18a4 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_POINT_set_Jprojective_coordinates_GFp.3 @@ -0,0 +1 @@ +EC_POINT_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_POINT_set_affine_coordinates.3 b/linux_amd64/share/man/man3/EC_POINT_set_affine_coordinates.3 new file mode 120000 index 0000000..69d18a4 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_POINT_set_affine_coordinates.3 @@ -0,0 +1 @@ +EC_POINT_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_POINT_set_affine_coordinates_GF2m.3 b/linux_amd64/share/man/man3/EC_POINT_set_affine_coordinates_GF2m.3 new file mode 120000 index 0000000..69d18a4 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_POINT_set_affine_coordinates_GF2m.3 @@ -0,0 +1 @@ +EC_POINT_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_POINT_set_affine_coordinates_GFp.3 b/linux_amd64/share/man/man3/EC_POINT_set_affine_coordinates_GFp.3 new file mode 120000 index 0000000..69d18a4 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_POINT_set_affine_coordinates_GFp.3 @@ -0,0 +1 @@ +EC_POINT_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_POINT_set_compressed_coordinates.3 b/linux_amd64/share/man/man3/EC_POINT_set_compressed_coordinates.3 new file mode 120000 index 0000000..69d18a4 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_POINT_set_compressed_coordinates.3 @@ -0,0 +1 @@ +EC_POINT_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_POINT_set_compressed_coordinates_GF2m.3 b/linux_amd64/share/man/man3/EC_POINT_set_compressed_coordinates_GF2m.3 new file mode 120000 index 0000000..69d18a4 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_POINT_set_compressed_coordinates_GF2m.3 @@ -0,0 +1 @@ +EC_POINT_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_POINT_set_compressed_coordinates_GFp.3 b/linux_amd64/share/man/man3/EC_POINT_set_compressed_coordinates_GFp.3 new file mode 120000 index 0000000..69d18a4 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_POINT_set_compressed_coordinates_GFp.3 @@ -0,0 +1 @@ +EC_POINT_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_POINT_set_to_infinity.3 b/linux_amd64/share/man/man3/EC_POINT_set_to_infinity.3 new file mode 120000 index 0000000..69d18a4 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_POINT_set_to_infinity.3 @@ -0,0 +1 @@ +EC_POINT_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_POINTs_make_affine.3 b/linux_amd64/share/man/man3/EC_POINTs_make_affine.3 new file mode 120000 index 0000000..e4add87 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_POINTs_make_affine.3 @@ -0,0 +1 @@ +EC_POINT_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_POINTs_mul.3 b/linux_amd64/share/man/man3/EC_POINTs_mul.3 new file mode 120000 index 0000000..e4add87 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_POINTs_mul.3 @@ -0,0 +1 @@ +EC_POINT_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EC_get_builtin_curves.3 b/linux_amd64/share/man/man3/EC_get_builtin_curves.3 new file mode 120000 index 0000000..b170f49 --- /dev/null +++ b/linux_amd64/share/man/man3/EC_get_builtin_curves.3 @@ -0,0 +1 @@ +EC_GROUP_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EDIPARTYNAME_free.3 b/linux_amd64/share/man/man3/EDIPARTYNAME_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/EDIPARTYNAME_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EDIPARTYNAME_new.3 b/linux_amd64/share/man/man3/EDIPARTYNAME_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/EDIPARTYNAME_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_add.3 b/linux_amd64/share/man/man3/ENGINE_add.3 index 1c86381..e16cd7c 100755 --- a/linux_amd64/share/man/man3/ENGINE_add.3 +++ b/linux_amd64/share/man/man3/ENGINE_add.3 @@ -124,51 +124,13 @@ .\" ======================================================================== .\" .IX Title "ENGINE_ADD 3" -.TH ENGINE_ADD 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH ENGINE_ADD 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -ENGINE_get_DH, ENGINE_get_DSA, -ENGINE_by_id, ENGINE_get_cipher_engine, ENGINE_get_default_DH, -ENGINE_get_default_DSA, -ENGINE_get_default_RAND, -ENGINE_get_default_RSA, ENGINE_get_digest_engine, ENGINE_get_first, -ENGINE_get_last, ENGINE_get_next, ENGINE_get_prev, ENGINE_new, -ENGINE_get_ciphers, ENGINE_get_ctrl_function, ENGINE_get_digests, -ENGINE_get_destroy_function, ENGINE_get_finish_function, -ENGINE_get_init_function, ENGINE_get_load_privkey_function, -ENGINE_get_load_pubkey_function, ENGINE_load_private_key, -ENGINE_load_public_key, ENGINE_get_RAND, ENGINE_get_RSA, ENGINE_get_id, -ENGINE_get_name, ENGINE_get_cmd_defns, ENGINE_get_cipher, -ENGINE_get_digest, ENGINE_add, ENGINE_cmd_is_executable, -ENGINE_ctrl, ENGINE_ctrl_cmd, ENGINE_ctrl_cmd_string, -ENGINE_finish, ENGINE_free, ENGINE_get_flags, ENGINE_init, -ENGINE_register_DH, ENGINE_register_DSA, -ENGINE_register_RAND, ENGINE_register_RSA, -ENGINE_register_all_complete, ENGINE_register_ciphers, -ENGINE_register_complete, ENGINE_register_digests, ENGINE_remove, -ENGINE_set_DH, ENGINE_set_DSA, -ENGINE_set_RAND, ENGINE_set_RSA, ENGINE_set_ciphers, -ENGINE_set_cmd_defns, ENGINE_set_ctrl_function, ENGINE_set_default, -ENGINE_set_default_DH, ENGINE_set_default_DSA, -ENGINE_set_default_RAND, ENGINE_set_default_RSA, -ENGINE_set_default_ciphers, ENGINE_set_default_digests, -ENGINE_set_default_string, ENGINE_set_destroy_function, -ENGINE_set_digests, ENGINE_set_finish_function, ENGINE_set_flags, -ENGINE_set_id, ENGINE_set_init_function, ENGINE_set_load_privkey_function, -ENGINE_set_load_pubkey_function, ENGINE_set_name, ENGINE_up_ref, -ENGINE_get_table_flags, ENGINE_cleanup, -ENGINE_load_builtin_engines, ENGINE_register_all_DH, -ENGINE_register_all_DSA, -ENGINE_register_all_RAND, -ENGINE_register_all_RSA, ENGINE_register_all_ciphers, -ENGINE_register_all_digests, ENGINE_set_table_flags, ENGINE_unregister_DH, -ENGINE_unregister_DSA, -ENGINE_unregister_RAND, ENGINE_unregister_RSA, ENGINE_unregister_ciphers, -ENGINE_unregister_digests -\&\- ENGINE cryptographic module support +ENGINE_get_DH, ENGINE_get_DSA, ENGINE_by_id, ENGINE_get_cipher_engine, ENGINE_get_default_DH, ENGINE_get_default_DSA, ENGINE_get_default_RAND, ENGINE_get_default_RSA, ENGINE_get_digest_engine, ENGINE_get_first, ENGINE_get_last, ENGINE_get_next, ENGINE_get_prev, ENGINE_new, ENGINE_get_ciphers, ENGINE_get_ctrl_function, ENGINE_get_digests, ENGINE_get_destroy_function, ENGINE_get_finish_function, ENGINE_get_init_function, ENGINE_get_load_privkey_function, ENGINE_get_load_pubkey_function, ENGINE_load_private_key, ENGINE_load_public_key, ENGINE_get_RAND, ENGINE_get_RSA, ENGINE_get_id, ENGINE_get_name, ENGINE_get_cmd_defns, ENGINE_get_cipher, ENGINE_get_digest, ENGINE_add, ENGINE_cmd_is_executable, ENGINE_ctrl, ENGINE_ctrl_cmd, ENGINE_ctrl_cmd_string, ENGINE_finish, ENGINE_free, ENGINE_get_flags, ENGINE_init, ENGINE_register_DH, ENGINE_register_DSA, ENGINE_register_RAND, ENGINE_register_RSA, ENGINE_register_all_complete, ENGINE_register_ciphers, ENGINE_register_complete, ENGINE_register_digests, ENGINE_remove, ENGINE_set_DH, ENGINE_set_DSA, ENGINE_set_RAND, ENGINE_set_RSA, ENGINE_set_ciphers, ENGINE_set_cmd_defns, ENGINE_set_ctrl_function, ENGINE_set_default, ENGINE_set_default_DH, ENGINE_set_default_DSA, ENGINE_set_default_RAND, ENGINE_set_default_RSA, ENGINE_set_default_ciphers, ENGINE_set_default_digests, ENGINE_set_default_string, ENGINE_set_destroy_function, ENGINE_set_digests, ENGINE_set_finish_function, ENGINE_set_flags, ENGINE_set_id, ENGINE_set_init_function, ENGINE_set_load_privkey_function, ENGINE_set_load_pubkey_function, ENGINE_set_name, ENGINE_up_ref, ENGINE_get_table_flags, ENGINE_cleanup, ENGINE_load_builtin_engines, ENGINE_register_all_DH, ENGINE_register_all_DSA, ENGINE_register_all_RAND, ENGINE_register_all_RSA, ENGINE_register_all_ciphers, ENGINE_register_all_digests, ENGINE_set_table_flags, ENGINE_unregister_DH, ENGINE_unregister_DSA, ENGINE_unregister_RAND, ENGINE_unregister_RSA, ENGINE_unregister_ciphers, ENGINE_unregister_digests \&\- ENGINE cryptographic module support .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -283,12 +245,12 @@ ENGINE_unregister_digests \& UI_METHOD *ui_method, void *callback_data); .Ve .PP -Deprecated since OpenSSL 1.1.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): +Deprecated: .PP -.Vb 1 +.Vb 3 +\& #if OPENSSL_API_COMPAT < 0x10100000L \& void ENGINE_cleanup(void) +\& #endif .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" @@ -385,7 +347,7 @@ To obtain a functional reference from an existing structural reference, call the \fIENGINE_init()\fR function. This returns zero if the \s-1ENGINE\s0 was not already operational and couldn't be successfully initialised (eg. lack of system drivers, no special hardware attached, etc), otherwise it will -return nonzero to indicate that the \s-1ENGINE\s0 is now operational and will +return non-zero to indicate that the \s-1ENGINE\s0 is now operational and will have allocated a new \fBfunctional\fR reference to the \s-1ENGINE\s0. All functional references are released by calling \fIENGINE_finish()\fR (which removes the implicit structural reference as well). @@ -462,7 +424,7 @@ acceleration hardware attached to the machine or some such thing. There are probably numerous other ways in which applications may prefer to handle things, so we will simply illustrate the consequences as they apply to a couple of simple cases and leave developers to consider these and the -source code to openssl's built-in utilities as guides. +source code to openssl's builtin utilities as guides. .PP If no \s-1ENGINE\s0 \s-1API\s0 functions are called within an application, then OpenSSL will not allocate any internal resources. Prior to OpenSSL 1.1.0, however, @@ -475,7 +437,7 @@ Here we'll assume an application has been configured by its user or admin to want to use the \*(L"\s-1ACME\s0\*(R" \s-1ENGINE\s0 if it is available in the version of OpenSSL the application was compiled with. If it is available, it should be used by default for all \s-1RSA\s0, \s-1DSA\s0, and symmetric cipher operations, otherwise -OpenSSL should use its built-in software as per usual. The following code +OpenSSL should use its builtin software as per usual. The following code illustrates how to approach this; .PP .Vb 10 @@ -505,7 +467,7 @@ illustrates how to approach this; \& ENGINE_free(e); .Ve .PP -\&\fIAutomatically using built-in \s-1ENGINE\s0 implementations\fR +\&\fIAutomatically using builtin \s-1ENGINE\s0 implementations\fR .PP Here we'll assume we want to load and register all \s-1ENGINE\s0 implementations bundled with OpenSSL, such that for any cryptographic algorithm required by @@ -554,7 +516,7 @@ calling \fIENGINE_init()\fR. The other class of commands consist of settings or operations that tweak certain behaviour or cause certain operations to take place, and these commands may work either before or after \fIENGINE_init()\fR, or in some cases both. \s-1ENGINE\s0 implementations should provide indications of -this in the descriptions attached to built-in control commands and/or in +this in the descriptions attached to builtin control commands and/or in external product documentation. .PP \&\fIIssuing control commands to an \s-1ENGINE\s0\fR @@ -611,7 +573,7 @@ boolean success or failure. .Ve .PP Note that \fIENGINE_ctrl_cmd_string()\fR accepts a boolean argument that can -relax the semantics of the function \- if set nonzero it will only return +relax the semantics of the function \- if set non-zero it will only return failure if the \s-1ENGINE\s0 supported the given command name but failed while executing it, if the \s-1ENGINE\s0 doesn't support the command name it will simply return success without doing anything. In this case we assume the user is @@ -790,7 +752,7 @@ and should not be used. .IX Header "COPYRIGHT" Copyright 2002\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/ENGINE_add_conf_module.3 b/linux_amd64/share/man/man3/ENGINE_add_conf_module.3 new file mode 120000 index 0000000..8619db5 --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_add_conf_module.3 @@ -0,0 +1 @@ +OPENSSL_load_builtin_modules.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_by_id.3 b/linux_amd64/share/man/man3/ENGINE_by_id.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_by_id.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_cleanup.3 b/linux_amd64/share/man/man3/ENGINE_cleanup.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_cleanup.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_cmd_is_executable.3 b/linux_amd64/share/man/man3/ENGINE_cmd_is_executable.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_cmd_is_executable.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_ctrl.3 b/linux_amd64/share/man/man3/ENGINE_ctrl.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_ctrl.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_ctrl_cmd.3 b/linux_amd64/share/man/man3/ENGINE_ctrl_cmd.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_ctrl_cmd.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_ctrl_cmd_string.3 b/linux_amd64/share/man/man3/ENGINE_ctrl_cmd_string.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_ctrl_cmd_string.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_finish.3 b/linux_amd64/share/man/man3/ENGINE_finish.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_finish.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_free.3 b/linux_amd64/share/man/man3/ENGINE_free.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_free.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_get_DH.3 b/linux_amd64/share/man/man3/ENGINE_get_DH.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_get_DH.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_get_DSA.3 b/linux_amd64/share/man/man3/ENGINE_get_DSA.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_get_DSA.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_get_RAND.3 b/linux_amd64/share/man/man3/ENGINE_get_RAND.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_get_RAND.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_get_RSA.3 b/linux_amd64/share/man/man3/ENGINE_get_RSA.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_get_RSA.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_get_cipher.3 b/linux_amd64/share/man/man3/ENGINE_get_cipher.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_get_cipher.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_get_cipher_engine.3 b/linux_amd64/share/man/man3/ENGINE_get_cipher_engine.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_get_cipher_engine.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_get_ciphers.3 b/linux_amd64/share/man/man3/ENGINE_get_ciphers.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_get_ciphers.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_get_cmd_defns.3 b/linux_amd64/share/man/man3/ENGINE_get_cmd_defns.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_get_cmd_defns.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_get_ctrl_function.3 b/linux_amd64/share/man/man3/ENGINE_get_ctrl_function.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_get_ctrl_function.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_get_default_DH.3 b/linux_amd64/share/man/man3/ENGINE_get_default_DH.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_get_default_DH.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_get_default_DSA.3 b/linux_amd64/share/man/man3/ENGINE_get_default_DSA.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_get_default_DSA.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_get_default_RAND.3 b/linux_amd64/share/man/man3/ENGINE_get_default_RAND.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_get_default_RAND.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_get_default_RSA.3 b/linux_amd64/share/man/man3/ENGINE_get_default_RSA.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_get_default_RSA.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_get_destroy_function.3 b/linux_amd64/share/man/man3/ENGINE_get_destroy_function.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_get_destroy_function.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_get_digest.3 b/linux_amd64/share/man/man3/ENGINE_get_digest.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_get_digest.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_get_digest_engine.3 b/linux_amd64/share/man/man3/ENGINE_get_digest_engine.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_get_digest_engine.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_get_digests.3 b/linux_amd64/share/man/man3/ENGINE_get_digests.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_get_digests.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_get_ex_data.3 b/linux_amd64/share/man/man3/ENGINE_get_ex_data.3 new file mode 120000 index 0000000..aa4dc88 --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_get_ex_data.3 @@ -0,0 +1 @@ +BIO_get_ex_new_index.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_get_ex_new_index.3 b/linux_amd64/share/man/man3/ENGINE_get_ex_new_index.3 new file mode 120000 index 0000000..aa4dc88 --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_get_ex_new_index.3 @@ -0,0 +1 @@ +BIO_get_ex_new_index.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_get_finish_function.3 b/linux_amd64/share/man/man3/ENGINE_get_finish_function.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_get_finish_function.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_get_first.3 b/linux_amd64/share/man/man3/ENGINE_get_first.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_get_first.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_get_flags.3 b/linux_amd64/share/man/man3/ENGINE_get_flags.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_get_flags.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_get_id.3 b/linux_amd64/share/man/man3/ENGINE_get_id.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_get_id.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_get_init_function.3 b/linux_amd64/share/man/man3/ENGINE_get_init_function.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_get_init_function.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_get_last.3 b/linux_amd64/share/man/man3/ENGINE_get_last.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_get_last.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_get_load_privkey_function.3 b/linux_amd64/share/man/man3/ENGINE_get_load_privkey_function.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_get_load_privkey_function.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_get_load_pubkey_function.3 b/linux_amd64/share/man/man3/ENGINE_get_load_pubkey_function.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_get_load_pubkey_function.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_get_name.3 b/linux_amd64/share/man/man3/ENGINE_get_name.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_get_name.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_get_next.3 b/linux_amd64/share/man/man3/ENGINE_get_next.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_get_next.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_get_prev.3 b/linux_amd64/share/man/man3/ENGINE_get_prev.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_get_prev.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_get_table_flags.3 b/linux_amd64/share/man/man3/ENGINE_get_table_flags.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_get_table_flags.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_init.3 b/linux_amd64/share/man/man3/ENGINE_init.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_init.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_load_builtin_engines.3 b/linux_amd64/share/man/man3/ENGINE_load_builtin_engines.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_load_builtin_engines.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_load_private_key.3 b/linux_amd64/share/man/man3/ENGINE_load_private_key.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_load_private_key.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_load_public_key.3 b/linux_amd64/share/man/man3/ENGINE_load_public_key.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_load_public_key.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_new.3 b/linux_amd64/share/man/man3/ENGINE_new.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_new.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_register_DH.3 b/linux_amd64/share/man/man3/ENGINE_register_DH.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_register_DH.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_register_DSA.3 b/linux_amd64/share/man/man3/ENGINE_register_DSA.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_register_DSA.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_register_RAND.3 b/linux_amd64/share/man/man3/ENGINE_register_RAND.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_register_RAND.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_register_RSA.3 b/linux_amd64/share/man/man3/ENGINE_register_RSA.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_register_RSA.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_register_all_DH.3 b/linux_amd64/share/man/man3/ENGINE_register_all_DH.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_register_all_DH.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_register_all_DSA.3 b/linux_amd64/share/man/man3/ENGINE_register_all_DSA.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_register_all_DSA.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_register_all_RAND.3 b/linux_amd64/share/man/man3/ENGINE_register_all_RAND.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_register_all_RAND.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_register_all_RSA.3 b/linux_amd64/share/man/man3/ENGINE_register_all_RSA.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_register_all_RSA.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_register_all_ciphers.3 b/linux_amd64/share/man/man3/ENGINE_register_all_ciphers.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_register_all_ciphers.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_register_all_complete.3 b/linux_amd64/share/man/man3/ENGINE_register_all_complete.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_register_all_complete.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_register_all_digests.3 b/linux_amd64/share/man/man3/ENGINE_register_all_digests.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_register_all_digests.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_register_ciphers.3 b/linux_amd64/share/man/man3/ENGINE_register_ciphers.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_register_ciphers.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_register_complete.3 b/linux_amd64/share/man/man3/ENGINE_register_complete.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_register_complete.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_register_digests.3 b/linux_amd64/share/man/man3/ENGINE_register_digests.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_register_digests.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_remove.3 b/linux_amd64/share/man/man3/ENGINE_remove.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_remove.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_set_DH.3 b/linux_amd64/share/man/man3/ENGINE_set_DH.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_set_DH.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_set_DSA.3 b/linux_amd64/share/man/man3/ENGINE_set_DSA.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_set_DSA.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_set_RAND.3 b/linux_amd64/share/man/man3/ENGINE_set_RAND.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_set_RAND.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_set_RSA.3 b/linux_amd64/share/man/man3/ENGINE_set_RSA.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_set_RSA.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_set_ciphers.3 b/linux_amd64/share/man/man3/ENGINE_set_ciphers.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_set_ciphers.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_set_cmd_defns.3 b/linux_amd64/share/man/man3/ENGINE_set_cmd_defns.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_set_cmd_defns.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_set_ctrl_function.3 b/linux_amd64/share/man/man3/ENGINE_set_ctrl_function.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_set_ctrl_function.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_set_default.3 b/linux_amd64/share/man/man3/ENGINE_set_default.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_set_default.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_set_default_DH.3 b/linux_amd64/share/man/man3/ENGINE_set_default_DH.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_set_default_DH.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_set_default_DSA.3 b/linux_amd64/share/man/man3/ENGINE_set_default_DSA.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_set_default_DSA.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_set_default_RAND.3 b/linux_amd64/share/man/man3/ENGINE_set_default_RAND.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_set_default_RAND.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_set_default_RSA.3 b/linux_amd64/share/man/man3/ENGINE_set_default_RSA.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_set_default_RSA.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_set_default_ciphers.3 b/linux_amd64/share/man/man3/ENGINE_set_default_ciphers.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_set_default_ciphers.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_set_default_digests.3 b/linux_amd64/share/man/man3/ENGINE_set_default_digests.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_set_default_digests.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_set_default_string.3 b/linux_amd64/share/man/man3/ENGINE_set_default_string.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_set_default_string.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_set_destroy_function.3 b/linux_amd64/share/man/man3/ENGINE_set_destroy_function.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_set_destroy_function.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_set_digests.3 b/linux_amd64/share/man/man3/ENGINE_set_digests.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_set_digests.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_set_ex_data.3 b/linux_amd64/share/man/man3/ENGINE_set_ex_data.3 new file mode 120000 index 0000000..aa4dc88 --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_set_ex_data.3 @@ -0,0 +1 @@ +BIO_get_ex_new_index.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_set_finish_function.3 b/linux_amd64/share/man/man3/ENGINE_set_finish_function.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_set_finish_function.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_set_flags.3 b/linux_amd64/share/man/man3/ENGINE_set_flags.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_set_flags.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_set_id.3 b/linux_amd64/share/man/man3/ENGINE_set_id.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_set_id.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_set_init_function.3 b/linux_amd64/share/man/man3/ENGINE_set_init_function.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_set_init_function.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_set_load_privkey_function.3 b/linux_amd64/share/man/man3/ENGINE_set_load_privkey_function.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_set_load_privkey_function.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_set_load_pubkey_function.3 b/linux_amd64/share/man/man3/ENGINE_set_load_pubkey_function.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_set_load_pubkey_function.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_set_name.3 b/linux_amd64/share/man/man3/ENGINE_set_name.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_set_name.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_set_table_flags.3 b/linux_amd64/share/man/man3/ENGINE_set_table_flags.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_set_table_flags.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_unregister_DH.3 b/linux_amd64/share/man/man3/ENGINE_unregister_DH.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_unregister_DH.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_unregister_DSA.3 b/linux_amd64/share/man/man3/ENGINE_unregister_DSA.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_unregister_DSA.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_unregister_RAND.3 b/linux_amd64/share/man/man3/ENGINE_unregister_RAND.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_unregister_RAND.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_unregister_RSA.3 b/linux_amd64/share/man/man3/ENGINE_unregister_RSA.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_unregister_RSA.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_unregister_ciphers.3 b/linux_amd64/share/man/man3/ENGINE_unregister_ciphers.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_unregister_ciphers.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_unregister_digests.3 b/linux_amd64/share/man/man3/ENGINE_unregister_digests.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_unregister_digests.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ENGINE_up_ref.3 b/linux_amd64/share/man/man3/ENGINE_up_ref.3 new file mode 120000 index 0000000..af529ac --- /dev/null +++ b/linux_amd64/share/man/man3/ENGINE_up_ref.3 @@ -0,0 +1 @@ +ENGINE_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ERR_FATAL_ERROR.3 b/linux_amd64/share/man/man3/ERR_FATAL_ERROR.3 new file mode 120000 index 0000000..1ad0bf7 --- /dev/null +++ b/linux_amd64/share/man/man3/ERR_FATAL_ERROR.3 @@ -0,0 +1 @@ +ERR_GET_LIB.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ERR_GET_FUNC.3 b/linux_amd64/share/man/man3/ERR_GET_FUNC.3 new file mode 120000 index 0000000..1ad0bf7 --- /dev/null +++ b/linux_amd64/share/man/man3/ERR_GET_FUNC.3 @@ -0,0 +1 @@ +ERR_GET_LIB.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ERR_GET_LIB.3 b/linux_amd64/share/man/man3/ERR_GET_LIB.3 index 719ea1d..969a974 100755 --- a/linux_amd64/share/man/man3/ERR_GET_LIB.3 +++ b/linux_amd64/share/man/man3/ERR_GET_LIB.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "ERR_GET_LIB 3" -.TH ERR_GET_LIB 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH ERR_GET_LIB 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -ERR_GET_LIB, ERR_GET_FUNC, ERR_GET_REASON, ERR_FATAL_ERROR -\&\- get information from error codes +ERR_GET_LIB, ERR_GET_FUNC, ERR_GET_REASON, ERR_FATAL_ERROR \&\- get information from error codes .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -166,12 +165,11 @@ unique. However, when checking for sub-library specific reason codes, be sure to also compare the library number. .PP \&\s-1\fIERR_GET_LIB\s0()\fR, \s-1\fIERR_GET_FUNC\s0()\fR, \s-1\fIERR_GET_REASON\s0()\fR, and \s-1\fIERR_FATAL_ERROR\s0()\fR -are macros. + are macros. .SH "RETURN VALUES" .IX Header "RETURN VALUES" The library number, function code, reason code, and whether the error is fatal, respectively. -Starting with OpenSSL 3.0.0, the function code is always set to zero. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIERR_get_error\fR\|(3) @@ -183,7 +181,7 @@ all versions of OpenSSL. .IX Header "COPYRIGHT" Copyright 2000\-2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/ERR_GET_REASON.3 b/linux_amd64/share/man/man3/ERR_GET_REASON.3 new file mode 120000 index 0000000..1ad0bf7 --- /dev/null +++ b/linux_amd64/share/man/man3/ERR_GET_REASON.3 @@ -0,0 +1 @@ +ERR_GET_LIB.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ERR_PACK.3 b/linux_amd64/share/man/man3/ERR_PACK.3 new file mode 120000 index 0000000..9aa18d8 --- /dev/null +++ b/linux_amd64/share/man/man3/ERR_PACK.3 @@ -0,0 +1 @@ +ERR_load_strings.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ERR_add_error_data.3 b/linux_amd64/share/man/man3/ERR_add_error_data.3 new file mode 120000 index 0000000..f314267 --- /dev/null +++ b/linux_amd64/share/man/man3/ERR_add_error_data.3 @@ -0,0 +1 @@ +ERR_put_error.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ERR_add_error_vdata.3 b/linux_amd64/share/man/man3/ERR_add_error_vdata.3 new file mode 120000 index 0000000..f314267 --- /dev/null +++ b/linux_amd64/share/man/man3/ERR_add_error_vdata.3 @@ -0,0 +1 @@ +ERR_put_error.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ERR_clear_error.3 b/linux_amd64/share/man/man3/ERR_clear_error.3 index 124bab9..3c8e71f 100755 --- a/linux_amd64/share/man/man3/ERR_clear_error.3 +++ b/linux_amd64/share/man/man3/ERR_clear_error.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "ERR_CLEAR_ERROR 3" -.TH ERR_CLEAR_ERROR 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH ERR_CLEAR_ERROR 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -151,7 +151,7 @@ ERR_clear_error \- clear the error queue .IX Header "COPYRIGHT" Copyright 2000\-2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/ERR_error_string.3 b/linux_amd64/share/man/man3/ERR_error_string.3 index 7d0182e..dda7e13 100755 --- a/linux_amd64/share/man/man3/ERR_error_string.3 +++ b/linux_amd64/share/man/man3/ERR_error_string.3 @@ -124,15 +124,13 @@ .\" ======================================================================== .\" .IX Title "ERR_ERROR_STRING 3" -.TH ERR_ERROR_STRING 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH ERR_ERROR_STRING 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -ERR_error_string, ERR_error_string_n, ERR_lib_error_string, -ERR_func_error_string, ERR_reason_error_string \- obtain human\-readable -error message +ERR_error_string, ERR_error_string_n, ERR_lib_error_string, ERR_func_error_string, ERR_reason_error_string \- obtain human\-readable error message .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -142,13 +140,8 @@ error message \& void ERR_error_string_n(unsigned long e, char *buf, size_t len); \& \& const char *ERR_lib_error_string(unsigned long e); -\& const char *ERR_reason_error_string(unsigned long e); -.Ve -.PP -Deprecated in OpenSSL 3.0: -.PP -.Vb 1 \& const char *ERR_func_error_string(unsigned long e); +\& const char *ERR_reason_error_string(unsigned long e); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" @@ -167,13 +160,14 @@ For \fIERR_error_string_n()\fR, \fIbuf\fR may not be \fB\s-1NULL\s0\fR. The string will have the following format: .PP .Vb 1 -\& error:[error code]:[library name]::[reason string] +\& error:[error code]:[library name]:[function name]:[reason string] .Ve .PP -\&\fIerror code\fR is an 8 digit hexadecimal number, \fIlibrary name\fR and -\&\fIreason string\fR are \s-1ASCII\s0 text. +\&\fIerror code\fR is an 8 digit hexadecimal number, \fIlibrary name\fR, +\&\fIfunction name\fR and \fIreason string\fR are \s-1ASCII\s0 text. .PP -\&\fIERR_lib_error_string()\fR and \fIERR_reason_error_string()\fR return the library +\&\fIERR_lib_error_string()\fR, \fIERR_func_error_string()\fR and +\&\fIERR_reason_error_string()\fR return the library name, function name and reason string respectively. .PP If there is no text string registered for the given error code, @@ -186,22 +180,18 @@ all error codes currently in the queue. \&\fIERR_error_string()\fR returns a pointer to a static buffer containing the string if \fIbuf\fR \fB== \s-1NULL\s0\fR, \fIbuf\fR otherwise. .PP -\&\fIERR_lib_error_string()\fR and \fIERR_reason_error_string()\fR return the strings, -and \fB\s-1NULL\s0\fR if none is registered for the error code. -.PP -\&\fIERR_func_error_string()\fR returns \s-1NULL\s0. +\&\fIERR_lib_error_string()\fR, \fIERR_func_error_string()\fR and +\&\fIERR_reason_error_string()\fR return the strings, and \fB\s-1NULL\s0\fR if +none is registered for the error code. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIERR_get_error\fR\|(3), \&\fIERR_print_errors\fR\|(3) -.SH "HISTORY" -.IX Header "HISTORY" -\&\fIERR_func_error_string()\fR became deprecated in OpenSSL 3.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2000\-2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/ERR_error_string_n.3 b/linux_amd64/share/man/man3/ERR_error_string_n.3 new file mode 120000 index 0000000..565a5dd --- /dev/null +++ b/linux_amd64/share/man/man3/ERR_error_string_n.3 @@ -0,0 +1 @@ +ERR_error_string.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ERR_free_strings.3 b/linux_amd64/share/man/man3/ERR_free_strings.3 new file mode 120000 index 0000000..1bb33ce --- /dev/null +++ b/linux_amd64/share/man/man3/ERR_free_strings.3 @@ -0,0 +1 @@ +ERR_load_crypto_strings.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ERR_func_error_string.3 b/linux_amd64/share/man/man3/ERR_func_error_string.3 new file mode 120000 index 0000000..565a5dd --- /dev/null +++ b/linux_amd64/share/man/man3/ERR_func_error_string.3 @@ -0,0 +1 @@ +ERR_error_string.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ERR_get_error.3 b/linux_amd64/share/man/man3/ERR_get_error.3 index b0689c4..abfae45 100755 --- a/linux_amd64/share/man/man3/ERR_get_error.3 +++ b/linux_amd64/share/man/man3/ERR_get_error.3 @@ -124,19 +124,13 @@ .\" ======================================================================== .\" .IX Title "ERR_GET_ERROR 3" -.TH ERR_GET_ERROR 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH ERR_GET_ERROR 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -ERR_get_error, ERR_peek_error, ERR_peek_last_error, -ERR_get_error_line, ERR_peek_error_line, ERR_peek_last_error_line, -ERR_get_error_func, ERR_peek_error_func, ERR_peek_last_error_func, -ERR_get_error_data, ERR_peek_error_data, ERR_peek_last_error_data, -ERR_get_error_all, ERR_peek_error_all, ERR_peek_last_error_all, -ERR_get_error_line_data, ERR_peek_error_line_data, ERR_peek_last_error_line_data -\&\- obtain error code and data +ERR_get_error, ERR_peek_error, ERR_peek_last_error, ERR_get_error_line, ERR_peek_error_line, ERR_peek_last_error_line, ERR_get_error_line_data, ERR_peek_error_line_data, ERR_peek_last_error_line_data \- obtain error code and data .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -150,28 +144,6 @@ ERR_get_error_line_data, ERR_peek_error_line_data, ERR_peek_last_error_line_data \& unsigned long ERR_peek_error_line(const char **file, int *line); \& unsigned long ERR_peek_last_error_line(const char **file, int *line); \& -\& unsigned long ERR_get_error_func(const char **func); -\& unsigned long ERR_peek_error_func(const char **func); -\& unsigned long ERR_peek_last_error_func(const char **func); -\& -\& unsigned long ERR_get_error_data(const char **data, int *flags); -\& unsigned long ERR_peek_error_data(const char **data, int *flags); -\& unsigned long ERR_peek_last_error_data(const char **data, int *flags); -\& -\& unsigned long ERR_get_error_all(const char **file, int *line, -\& const char *func, -\& const char **data, int *flags); -\& unsigned long ERR_peek_error_all(const char **file, int *line, -\& const char *func, -\& const char **data, int *flags); -\& unsigned long ERR_peek_last_error_all(const char **file, int *line, -\& const char *func, -\& const char **data, int *flags); -.Ve -.PP -Deprecated since OpenSSL 3.0: -.PP -.Vb 6 \& unsigned long ERR_get_error_line_data(const char **file, int *line, \& const char **data, int *flags); \& unsigned long ERR_peek_error_line_data(const char **file, int *line, @@ -191,44 +163,21 @@ error queue without modifying it. \&\fIERR_peek_last_error()\fR returns the latest error code from the thread's error queue without modifying it. .PP -See \s-1\fIERR_GET_LIB\s0\fR\|(3) for obtaining further specific information -such as the reason of the error, -and \fIERR_error_string\fR\|(3) for human-readable error messages. +See \s-1\fIERR_GET_LIB\s0\fR\|(3) for obtaining information about +location and reason of the error, and +\&\fIERR_error_string\fR\|(3) for human-readable error +messages. .PP \&\fIERR_get_error_line()\fR, \fIERR_peek_error_line()\fR and -\&\fIERR_peek_last_error_line()\fR are the same as \fIERR_get_error()\fR, -\&\fIERR_peek_error()\fR and \fIERR_peek_last_error()\fR, but on success they -additionally store the filename and line number where -the error occurred in *\fBfile\fR and *\fBline\fR, as far as they are not \fB\s-1NULL\s0\fR. -An unset filename is indicated as \fB""\fR, i.e., an empty string. -An unset line number is indicated as \fB0\fR. -.PP -A pointer returned this way by these functions and the ones below -is valid until the respective entry is removed from the error queue. -.PP -\&\fIERR_get_error_func()\fR, \fIERR_peek_error_func()\fR and -\&\fIERR_peek_last_error_func()\fR are the same as \fIERR_get_error()\fR, -\&\fIERR_peek_error()\fR and \fIERR_peek_last_error()\fR, but on success they -additionally store the name of the function where the error occurred -in *\fBfunc\fR, unless it is \fB\s-1NULL\s0\fR. -An unset function name is indicated as \fB""\fR. -.PP -\&\fIERR_get_error_data()\fR, \fIERR_peek_error_data()\fR and -\&\fIERR_peek_last_error_data()\fR are the same as \fIERR_get_error()\fR, -\&\fIERR_peek_error()\fR and \fIERR_peek_last_error()\fR, but on success they -additionally store additional data and flags associated with the error -code in *\fBdata\fR and *\fBflags\fR, as far as they are not \fB\s-1NULL\s0\fR. -Unset data is indicated as \fB""\fR. -In this case the value given for the flag is irrelevant (and equals \fB0\fR). -*\fBdata\fR contains a string if *\fBflags\fR&\fB\s-1ERR_TXT_STRING\s0\fR is true. -.PP -\&\fIERR_get_error_all()\fR, \fIERR_peek_error_all()\fR and -\&\fIERR_peek_last_error_all()\fR are combinations of all of the above. +\&\fIERR_peek_last_error_line()\fR are the same as the above, but they +additionally store the file name and line number where +the error occurred in *\fBfile\fR and *\fBline\fR, unless these are \fB\s-1NULL\s0\fR. .PP \&\fIERR_get_error_line_data()\fR, \fIERR_peek_error_line_data()\fR and -\&\fIERR_peek_last_error_line_data()\fR are older variants of \fIERR_get_error_all()\fR, -\&\fIERR_peek_error_all()\fR and \fIERR_peek_last_error_all()\fR, and should no longer -be used. +\&\fIERR_peek_last_error_line_data()\fR store additional data and flags +associated with the error code in *\fBdata\fR +and *\fBflags\fR, unless these are \fB\s-1NULL\s0\fR. *\fBdata\fR contains a string +if *\fBflags\fR&\fB\s-1ERR_TXT_STRING\s0\fR is true. .PP An application \fB\s-1MUST\s0 \s-1NOT\s0\fR free the *\fBdata\fR pointer (or any other pointers returned by these functions) with \fIOPENSSL_free()\fR as freeing is handled @@ -240,20 +189,11 @@ The error code, or 0 if there is no error in the queue. .IX Header "SEE ALSO" \&\fIERR_error_string\fR\|(3), \&\s-1\fIERR_GET_LIB\s0\fR\|(3) -.SH "HISTORY" -.IX Header "HISTORY" -\&\fIERR_get_error_func()\fR, \fIERR_peek_error_func()\fR, \fIERR_peek_last_error_func()\fR, -\&\fIERR_get_error_data()\fR, \fIERR_peek_error_data()\fR, \fIERR_peek_last_error_data()\fR, -\&\fIERR_get_error_all()\fR, \fIERR_peek_error_all()\fR and \fIERR_peek_last_error_all()\fR -were added in OpenSSL 3.0. -.PP -\&\fIERR_get_error_line_data()\fR, \fIERR_peek_error_line_data()\fR and -\&\fIERR_peek_last_error_line_data()\fR became deprecated in OpenSSL 3.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2000\-2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/ERR_get_error_line.3 b/linux_amd64/share/man/man3/ERR_get_error_line.3 new file mode 120000 index 0000000..cd53b19 --- /dev/null +++ b/linux_amd64/share/man/man3/ERR_get_error_line.3 @@ -0,0 +1 @@ +ERR_get_error.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ERR_get_error_line_data.3 b/linux_amd64/share/man/man3/ERR_get_error_line_data.3 new file mode 120000 index 0000000..cd53b19 --- /dev/null +++ b/linux_amd64/share/man/man3/ERR_get_error_line_data.3 @@ -0,0 +1 @@ +ERR_get_error.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ERR_get_next_error_library.3 b/linux_amd64/share/man/man3/ERR_get_next_error_library.3 new file mode 120000 index 0000000..9aa18d8 --- /dev/null +++ b/linux_amd64/share/man/man3/ERR_get_next_error_library.3 @@ -0,0 +1 @@ +ERR_load_strings.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ERR_lib_error_string.3 b/linux_amd64/share/man/man3/ERR_lib_error_string.3 new file mode 120000 index 0000000..565a5dd --- /dev/null +++ b/linux_amd64/share/man/man3/ERR_lib_error_string.3 @@ -0,0 +1 @@ +ERR_error_string.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ERR_load_crypto_strings.3 b/linux_amd64/share/man/man3/ERR_load_crypto_strings.3 index 60d043a..fa16ab9 100755 --- a/linux_amd64/share/man/man3/ERR_load_crypto_strings.3 +++ b/linux_amd64/share/man/man3/ERR_load_crypto_strings.3 @@ -124,29 +124,30 @@ .\" ======================================================================== .\" .IX Title "ERR_LOAD_CRYPTO_STRINGS 3" -.TH ERR_LOAD_CRYPTO_STRINGS 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH ERR_LOAD_CRYPTO_STRINGS 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -ERR_load_crypto_strings, SSL_load_error_strings, ERR_free_strings \- -load and free error strings +ERR_load_crypto_strings, SSL_load_error_strings, ERR_free_strings \- load and free error strings .SH "SYNOPSIS" .IX Header "SYNOPSIS" -Deprecated since OpenSSL 1.1.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): +Deprecated: .PP .Vb 1 \& #include \& +\& #if OPENSSL_API_COMPAT < 0x10100000L \& void ERR_load_crypto_strings(void); \& void ERR_free_strings(void); +\& #endif \& \& #include \& +\& #if OPENSSL_API_COMPAT < 0x10100000L \& void SSL_load_error_strings(void); +\& #endif .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" @@ -172,7 +173,7 @@ The \fIERR_load_crypto_strings()\fR, \fISSL_load_error_strings()\fR, and .IX Header "COPYRIGHT" Copyright 2000\-2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/ERR_load_strings.3 b/linux_amd64/share/man/man3/ERR_load_strings.3 index ab7a4ed..f59b72d 100755 --- a/linux_amd64/share/man/man3/ERR_load_strings.3 +++ b/linux_amd64/share/man/man3/ERR_load_strings.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "ERR_LOAD_STRINGS 3" -.TH ERR_LOAD_STRINGS 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH ERR_LOAD_STRINGS 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -ERR_load_strings, ERR_PACK, ERR_get_next_error_library \- load -arbitrary error strings +ERR_load_strings, ERR_PACK, ERR_get_next_error_library \- load arbitrary error strings .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -164,7 +163,7 @@ reason code: \fBerror\fR = \s-1ERR_PACK\s0(\fBlib\fR, \fBfunc\fR, \fBreason\fR). The last entry in the array is {0,0}. .PP \&\fIERR_get_next_error_library()\fR can be used to assign library numbers -to user libraries at run time. +to user libraries at runtime. .SH "RETURN VALUES" .IX Header "RETURN VALUES" \&\fIERR_load_strings()\fR returns no value. \s-1\fIERR_PACK\s0()\fR return the error code. @@ -177,7 +176,7 @@ library number. .IX Header "COPYRIGHT" Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/ERR_peek_error.3 b/linux_amd64/share/man/man3/ERR_peek_error.3 new file mode 120000 index 0000000..cd53b19 --- /dev/null +++ b/linux_amd64/share/man/man3/ERR_peek_error.3 @@ -0,0 +1 @@ +ERR_get_error.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ERR_peek_error_line.3 b/linux_amd64/share/man/man3/ERR_peek_error_line.3 new file mode 120000 index 0000000..cd53b19 --- /dev/null +++ b/linux_amd64/share/man/man3/ERR_peek_error_line.3 @@ -0,0 +1 @@ +ERR_get_error.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ERR_peek_error_line_data.3 b/linux_amd64/share/man/man3/ERR_peek_error_line_data.3 new file mode 120000 index 0000000..cd53b19 --- /dev/null +++ b/linux_amd64/share/man/man3/ERR_peek_error_line_data.3 @@ -0,0 +1 @@ +ERR_get_error.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ERR_peek_last_error.3 b/linux_amd64/share/man/man3/ERR_peek_last_error.3 new file mode 120000 index 0000000..cd53b19 --- /dev/null +++ b/linux_amd64/share/man/man3/ERR_peek_last_error.3 @@ -0,0 +1 @@ +ERR_get_error.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ERR_peek_last_error_line.3 b/linux_amd64/share/man/man3/ERR_peek_last_error_line.3 new file mode 120000 index 0000000..cd53b19 --- /dev/null +++ b/linux_amd64/share/man/man3/ERR_peek_last_error_line.3 @@ -0,0 +1 @@ +ERR_get_error.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ERR_peek_last_error_line_data.3 b/linux_amd64/share/man/man3/ERR_peek_last_error_line_data.3 new file mode 120000 index 0000000..cd53b19 --- /dev/null +++ b/linux_amd64/share/man/man3/ERR_peek_last_error_line_data.3 @@ -0,0 +1 @@ +ERR_get_error.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ERR_pop_to_mark.3 b/linux_amd64/share/man/man3/ERR_pop_to_mark.3 new file mode 120000 index 0000000..8b1eb61 --- /dev/null +++ b/linux_amd64/share/man/man3/ERR_pop_to_mark.3 @@ -0,0 +1 @@ +ERR_set_mark.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ERR_print_errors.3 b/linux_amd64/share/man/man3/ERR_print_errors.3 index 044c07c..f6d0fc2 100755 --- a/linux_amd64/share/man/man3/ERR_print_errors.3 +++ b/linux_amd64/share/man/man3/ERR_print_errors.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "ERR_PRINT_ERRORS 3" -.TH ERR_PRINT_ERRORS 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH ERR_PRINT_ERRORS 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -ERR_print_errors, ERR_print_errors_fp, ERR_print_errors_cb -\&\- print error messages +ERR_print_errors, ERR_print_errors_fp, ERR_print_errors_cb \&\- print error messages .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -157,7 +156,7 @@ emptying the error queue. The error strings will have the following format: .PP .Vb 1 -\& [pid]:error:[error code]:[library name]:[function name]:[reason string]:[filename]:[line]:[optional text message] +\& [pid]:error:[error code]:[library name]:[function name]:[reason string]:[file name]:[line]:[optional text message] .Ve .PP \&\fIerror code\fR is an 8 digit hexadecimal number. \fIlibrary name\fR, @@ -177,7 +176,7 @@ the error string will contain the numeric code. .IX Header "COPYRIGHT" Copyright 2000\-2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/ERR_print_errors_cb.3 b/linux_amd64/share/man/man3/ERR_print_errors_cb.3 new file mode 120000 index 0000000..1b050b5 --- /dev/null +++ b/linux_amd64/share/man/man3/ERR_print_errors_cb.3 @@ -0,0 +1 @@ +ERR_print_errors.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ERR_print_errors_fp.3 b/linux_amd64/share/man/man3/ERR_print_errors_fp.3 new file mode 120000 index 0000000..1b050b5 --- /dev/null +++ b/linux_amd64/share/man/man3/ERR_print_errors_fp.3 @@ -0,0 +1 @@ +ERR_print_errors.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ERR_put_error.3 b/linux_amd64/share/man/man3/ERR_put_error.3 index a881b34..b280db2 100755 --- a/linux_amd64/share/man/man3/ERR_put_error.3 +++ b/linux_amd64/share/man/man3/ERR_put_error.3 @@ -124,70 +124,33 @@ .\" ======================================================================== .\" .IX Title "ERR_PUT_ERROR 3" -.TH ERR_PUT_ERROR 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH ERR_PUT_ERROR 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -ERR_raise, ERR_raise_data, -ERR_put_error, ERR_add_error_data, ERR_add_error_vdata, -ERR_add_error_txt, ERR_add_error_mem_bio -\&\- record an error +ERR_put_error, ERR_add_error_data, ERR_add_error_vdata \- record an error .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include \& -\& void ERR_raise(int lib, int reason); -\& void ERR_raise_data(int lib, int reason, const char *fmt, ...); +\& void ERR_put_error(int lib, int func, int reason, const char *file, int line); \& \& void ERR_add_error_data(int num, ...); \& void ERR_add_error_vdata(int num, va_list arg); -\& void ERR_add_error_txt(const char *sep, const char *txt); -\& void ERR_add_error_mem_bio(const char *sep, BIO *bio); -.Ve -.PP -Deprecated since OpenSSL 3.0: -.PP -.Vb 1 -\& void ERR_put_error(int lib, int func, int reason, const char *file, int line); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -\&\fIERR_raise()\fR adds a new error to the thread's error queue. The -error occurred in the library \fBlib\fR for the reason given by the -\&\fBreason\fR code. Furthermore, the name of the file, the line, and name -of the function where the error occurred is saved with the error -record. -.PP -\&\fIERR_raise_data()\fR does the same thing as \fIERR_raise()\fR, but also lets the -caller specify additional information as a format string \fBfmt\fR and an -arbitrary number of values, which are processed with \fIBIO_snprintf\fR\|(3). -.PP \&\fIERR_put_error()\fR adds an error code to the thread's error queue. It signals that the error of reason code \fBreason\fR occurred in function \&\fBfunc\fR of library \fBlib\fR, in line number \fBline\fR of \fBfile\fR. This function is usually called by a macro. .PP \&\fIERR_add_error_data()\fR associates the concatenation of its \fBnum\fR string -arguments as additional data with the error code added last. +arguments with the error code added last. \&\fIERR_add_error_vdata()\fR is similar except the argument is a \fBva_list\fR. -Multiple calls to these functions append to the current top of the error queue. -The total length of the string data per error is limited to 4096 characters. -.PP -\&\fIERR_add_error_txt()\fR appends the given text string as additional data to the -last error queue entry, after inserting the optional separator string if it is -not \s-1NULL\s0 and the top error entry does not yet have additional data. -In case the separator is at the end of the text it is not appended to the data. -The \fBsep\fR argument may be for instance \*(L"\en\*(R" to insert a line break when needed. -If the associated data would become more than 4096 characters long -(which is the limit given above) -it is split over sufficiently many new copies of the last error queue entry. -.PP -\&\fIERR_add_error_mem_bio()\fR is the same as \fIERR_add_error_txt()\fR except that -the text string is taken from the given memory \s-1BIO\s0. -It appends '\e0' to the \s-1BIO\s0 contents if not already NUL-terminated. .PP \&\fIERR_load_strings\fR\|(3) can be used to register error strings so that the application can a generate human-readable @@ -205,14 +168,14 @@ descriptions. For example, the function \fIssl3_read_bytes()\fR reports a \& SSLerr(SSL_F_SSL3_READ_BYTES, SSL_R_SSL_HANDSHAKE_FAILURE); .Ve .PP -Function and reason codes should consist of uppercase characters, +Function and reason codes should consist of upper case characters, numbers and underscores only. The error file generation script translates function codes into function names by looking in the header files for an appropriate function name, if none is found it just uses the capitalized form such as \*(L"\s-1SSL3_READ_BYTES\s0\*(R" in the above example. .PP The trailing section of a reason code (after the \*(L"_R_\*(R") is translated -into lowercase and underscores changed to spaces. +into lower case and underscores changed to spaces. .PP Although a library will normally report errors using its own specific XXXerr macro, another library's macro can be used. This is normally @@ -220,24 +183,16 @@ only done when a library wants to include \s-1ASN1\s0 code which must use the \fIASN1err()\fR macro. .SH "RETURN VALUES" .IX Header "RETURN VALUES" -\&\fIERR_raise()\fR, \fIERR_put_error()\fR, -\&\fIERR_add_error_data()\fR, \fIERR_add_error_vdata()\fR -\&\fIERR_add_error_txt()\fR, and \fIERR_add_error_mem_bio()\fR -return no values. -.SH "NOTES" -.IX Header "NOTES" -\&\fIERR_raise()\fR and \fIERR_put_error()\fR are implemented as macros. +\&\fIERR_put_error()\fR and \fIERR_add_error_data()\fR return +no values. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIERR_load_strings\fR\|(3) -.SH "HISTORY" -.IX Header "HISTORY" -\&\fBERR_add_error_txt\fR and \fBERR_add_error_mem_bio\fR were added in OpenSSL 3.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000\-2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/ERR_reason_error_string.3 b/linux_amd64/share/man/man3/ERR_reason_error_string.3 new file mode 120000 index 0000000..565a5dd --- /dev/null +++ b/linux_amd64/share/man/man3/ERR_reason_error_string.3 @@ -0,0 +1 @@ +ERR_error_string.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ERR_remove_state.3 b/linux_amd64/share/man/man3/ERR_remove_state.3 index fc78aa4..c7802a9 100755 --- a/linux_amd64/share/man/man3/ERR_remove_state.3 +++ b/linux_amd64/share/man/man3/ERR_remove_state.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "ERR_REMOVE_STATE 3" -.TH ERR_REMOVE_STATE 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH ERR_REMOVE_STATE 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -133,20 +133,16 @@ ERR_remove_thread_state, ERR_remove_state \- DEPRECATED .SH "SYNOPSIS" .IX Header "SYNOPSIS" -Deprecated since OpenSSL 1.0.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): +Deprecated: .PP -.Vb 1 +.Vb 3 +\& #if OPENSSL_API_COMPAT < 0x10000000L \& void ERR_remove_state(unsigned long tid); -.Ve -.PP -Deprecated since OpenSSL 1.1.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): -.PP -.Vb 1 +\& #endif +\& +\& #if OPENSSL_API_COMPAT < 0x10100000L \& void ERR_remove_thread_state(void *tid); +\& #endif .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" @@ -169,7 +165,7 @@ and should not be used. .IX Header "COPYRIGHT" Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/ERR_remove_thread_state.3 b/linux_amd64/share/man/man3/ERR_remove_thread_state.3 new file mode 120000 index 0000000..7c3d2c1 --- /dev/null +++ b/linux_amd64/share/man/man3/ERR_remove_thread_state.3 @@ -0,0 +1 @@ +ERR_remove_state.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ERR_set_mark.3 b/linux_amd64/share/man/man3/ERR_set_mark.3 index 5951618..c0313dc 100755 --- a/linux_amd64/share/man/man3/ERR_set_mark.3 +++ b/linux_amd64/share/man/man3/ERR_set_mark.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "ERR_SET_MARK 3" -.TH ERR_SET_MARK 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH ERR_SET_MARK 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -157,7 +157,7 @@ implies that the stack became empty, otherwise 1. .IX Header "COPYRIGHT" Copyright 2003\-2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/ESS_CERT_ID_dup.3 b/linux_amd64/share/man/man3/ESS_CERT_ID_dup.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/ESS_CERT_ID_dup.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ESS_CERT_ID_free.3 b/linux_amd64/share/man/man3/ESS_CERT_ID_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/ESS_CERT_ID_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ESS_CERT_ID_new.3 b/linux_amd64/share/man/man3/ESS_CERT_ID_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/ESS_CERT_ID_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ESS_ISSUER_SERIAL_dup.3 b/linux_amd64/share/man/man3/ESS_ISSUER_SERIAL_dup.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/ESS_ISSUER_SERIAL_dup.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ESS_ISSUER_SERIAL_free.3 b/linux_amd64/share/man/man3/ESS_ISSUER_SERIAL_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/ESS_ISSUER_SERIAL_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ESS_ISSUER_SERIAL_new.3 b/linux_amd64/share/man/man3/ESS_ISSUER_SERIAL_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/ESS_ISSUER_SERIAL_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ESS_SIGNING_CERT_dup.3 b/linux_amd64/share/man/man3/ESS_SIGNING_CERT_dup.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/ESS_SIGNING_CERT_dup.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ESS_SIGNING_CERT_free.3 b/linux_amd64/share/man/man3/ESS_SIGNING_CERT_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/ESS_SIGNING_CERT_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ESS_SIGNING_CERT_new.3 b/linux_amd64/share/man/man3/ESS_SIGNING_CERT_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/ESS_SIGNING_CERT_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_BytesToKey.3 b/linux_amd64/share/man/man3/EVP_BytesToKey.3 index b3856e9..c719c31 100755 --- a/linux_amd64/share/man/man3/EVP_BytesToKey.3 +++ b/linux_amd64/share/man/man3/EVP_BytesToKey.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "EVP_BYTESTOKEY 3" -.TH EVP_BYTESTOKEY 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_BYTESTOKEY 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -195,7 +195,7 @@ or 0 on error. .IX Header "COPYRIGHT" Copyright 2001\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_CIPHER_CTX_block_size.3 b/linux_amd64/share/man/man3/EVP_CIPHER_CTX_block_size.3 new file mode 120000 index 0000000..939f273 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_CIPHER_CTX_block_size.3 @@ -0,0 +1 @@ +EVP_EncryptInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_CIPHER_CTX_cipher.3 b/linux_amd64/share/man/man3/EVP_CIPHER_CTX_cipher.3 new file mode 120000 index 0000000..939f273 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_CIPHER_CTX_cipher.3 @@ -0,0 +1 @@ +EVP_EncryptInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_CIPHER_CTX_ctrl.3 b/linux_amd64/share/man/man3/EVP_CIPHER_CTX_ctrl.3 new file mode 120000 index 0000000..939f273 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_CIPHER_CTX_ctrl.3 @@ -0,0 +1 @@ +EVP_EncryptInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_CIPHER_CTX_flags.3 b/linux_amd64/share/man/man3/EVP_CIPHER_CTX_flags.3 new file mode 120000 index 0000000..939f273 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_CIPHER_CTX_flags.3 @@ -0,0 +1 @@ +EVP_EncryptInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_CIPHER_CTX_free.3 b/linux_amd64/share/man/man3/EVP_CIPHER_CTX_free.3 new file mode 120000 index 0000000..939f273 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_CIPHER_CTX_free.3 @@ -0,0 +1 @@ +EVP_EncryptInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_CIPHER_CTX_get_app_data.3 b/linux_amd64/share/man/man3/EVP_CIPHER_CTX_get_app_data.3 new file mode 120000 index 0000000..939f273 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_CIPHER_CTX_get_app_data.3 @@ -0,0 +1 @@ +EVP_EncryptInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_CIPHER_CTX_get_cipher_data.3 b/linux_amd64/share/man/man3/EVP_CIPHER_CTX_get_cipher_data.3 index f9a243c..568e32a 100755 --- a/linux_amd64/share/man/man3/EVP_CIPHER_CTX_get_cipher_data.3 +++ b/linux_amd64/share/man/man3/EVP_CIPHER_CTX_get_cipher_data.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "EVP_CIPHER_CTX_GET_CIPHER_DATA 3" -.TH EVP_CIPHER_CTX_GET_CIPHER_DATA 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_CIPHER_CTX_GET_CIPHER_DATA 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_CIPHER_CTX_get_cipher_data, EVP_CIPHER_CTX_set_cipher_data \- Routines to -inspect and modify EVP_CIPHER_CTX objects +EVP_CIPHER_CTX_get_cipher_data, EVP_CIPHER_CTX_set_cipher_data \- Routines to inspect and modify EVP_CIPHER_CTX objects .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -168,7 +167,7 @@ functions were added in OpenSSL 1.1.0. .IX Header "COPYRIGHT" Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_CIPHER_CTX_iv_length.3 b/linux_amd64/share/man/man3/EVP_CIPHER_CTX_iv_length.3 new file mode 120000 index 0000000..939f273 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_CIPHER_CTX_iv_length.3 @@ -0,0 +1 @@ +EVP_EncryptInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_CIPHER_CTX_key_length.3 b/linux_amd64/share/man/man3/EVP_CIPHER_CTX_key_length.3 new file mode 120000 index 0000000..939f273 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_CIPHER_CTX_key_length.3 @@ -0,0 +1 @@ +EVP_EncryptInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_CIPHER_CTX_mode.3 b/linux_amd64/share/man/man3/EVP_CIPHER_CTX_mode.3 new file mode 120000 index 0000000..939f273 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_CIPHER_CTX_mode.3 @@ -0,0 +1 @@ +EVP_EncryptInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_CIPHER_CTX_new.3 b/linux_amd64/share/man/man3/EVP_CIPHER_CTX_new.3 new file mode 120000 index 0000000..939f273 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_CIPHER_CTX_new.3 @@ -0,0 +1 @@ +EVP_EncryptInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_CIPHER_CTX_nid.3 b/linux_amd64/share/man/man3/EVP_CIPHER_CTX_nid.3 new file mode 120000 index 0000000..939f273 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_CIPHER_CTX_nid.3 @@ -0,0 +1 @@ +EVP_EncryptInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_CIPHER_CTX_reset.3 b/linux_amd64/share/man/man3/EVP_CIPHER_CTX_reset.3 new file mode 120000 index 0000000..939f273 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_CIPHER_CTX_reset.3 @@ -0,0 +1 @@ +EVP_EncryptInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_CIPHER_CTX_set_app_data.3 b/linux_amd64/share/man/man3/EVP_CIPHER_CTX_set_app_data.3 new file mode 120000 index 0000000..939f273 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_CIPHER_CTX_set_app_data.3 @@ -0,0 +1 @@ +EVP_EncryptInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_CIPHER_CTX_set_cipher_data.3 b/linux_amd64/share/man/man3/EVP_CIPHER_CTX_set_cipher_data.3 new file mode 120000 index 0000000..9d73e29 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_CIPHER_CTX_set_cipher_data.3 @@ -0,0 +1 @@ +EVP_CIPHER_CTX_get_cipher_data.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_CIPHER_CTX_set_key_length.3 b/linux_amd64/share/man/man3/EVP_CIPHER_CTX_set_key_length.3 new file mode 120000 index 0000000..939f273 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_CIPHER_CTX_set_key_length.3 @@ -0,0 +1 @@ +EVP_EncryptInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_CIPHER_CTX_set_padding.3 b/linux_amd64/share/man/man3/EVP_CIPHER_CTX_set_padding.3 new file mode 120000 index 0000000..939f273 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_CIPHER_CTX_set_padding.3 @@ -0,0 +1 @@ +EVP_EncryptInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_CIPHER_CTX_type.3 b/linux_amd64/share/man/man3/EVP_CIPHER_CTX_type.3 new file mode 120000 index 0000000..939f273 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_CIPHER_CTX_type.3 @@ -0,0 +1 @@ +EVP_EncryptInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_CIPHER_asn1_to_param.3 b/linux_amd64/share/man/man3/EVP_CIPHER_asn1_to_param.3 new file mode 120000 index 0000000..939f273 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_CIPHER_asn1_to_param.3 @@ -0,0 +1 @@ +EVP_EncryptInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_CIPHER_block_size.3 b/linux_amd64/share/man/man3/EVP_CIPHER_block_size.3 new file mode 120000 index 0000000..939f273 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_CIPHER_block_size.3 @@ -0,0 +1 @@ +EVP_EncryptInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_CIPHER_flags.3 b/linux_amd64/share/man/man3/EVP_CIPHER_flags.3 new file mode 120000 index 0000000..939f273 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_CIPHER_flags.3 @@ -0,0 +1 @@ +EVP_EncryptInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_CIPHER_iv_length.3 b/linux_amd64/share/man/man3/EVP_CIPHER_iv_length.3 new file mode 120000 index 0000000..939f273 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_CIPHER_iv_length.3 @@ -0,0 +1 @@ +EVP_EncryptInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_CIPHER_key_length.3 b/linux_amd64/share/man/man3/EVP_CIPHER_key_length.3 new file mode 120000 index 0000000..939f273 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_CIPHER_key_length.3 @@ -0,0 +1 @@ +EVP_EncryptInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_CIPHER_meth_dup.3 b/linux_amd64/share/man/man3/EVP_CIPHER_meth_dup.3 new file mode 120000 index 0000000..3e16782 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_CIPHER_meth_dup.3 @@ -0,0 +1 @@ +EVP_CIPHER_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_CIPHER_meth_free.3 b/linux_amd64/share/man/man3/EVP_CIPHER_meth_free.3 new file mode 120000 index 0000000..3e16782 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_CIPHER_meth_free.3 @@ -0,0 +1 @@ +EVP_CIPHER_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_CIPHER_meth_get_cleanup.3 b/linux_amd64/share/man/man3/EVP_CIPHER_meth_get_cleanup.3 new file mode 120000 index 0000000..3e16782 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_CIPHER_meth_get_cleanup.3 @@ -0,0 +1 @@ +EVP_CIPHER_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_CIPHER_meth_get_ctrl.3 b/linux_amd64/share/man/man3/EVP_CIPHER_meth_get_ctrl.3 new file mode 120000 index 0000000..3e16782 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_CIPHER_meth_get_ctrl.3 @@ -0,0 +1 @@ +EVP_CIPHER_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_CIPHER_meth_get_do_cipher.3 b/linux_amd64/share/man/man3/EVP_CIPHER_meth_get_do_cipher.3 new file mode 120000 index 0000000..3e16782 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_CIPHER_meth_get_do_cipher.3 @@ -0,0 +1 @@ +EVP_CIPHER_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_CIPHER_meth_get_get_asn1_params.3 b/linux_amd64/share/man/man3/EVP_CIPHER_meth_get_get_asn1_params.3 new file mode 120000 index 0000000..3e16782 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_CIPHER_meth_get_get_asn1_params.3 @@ -0,0 +1 @@ +EVP_CIPHER_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_CIPHER_meth_get_init.3 b/linux_amd64/share/man/man3/EVP_CIPHER_meth_get_init.3 new file mode 120000 index 0000000..3e16782 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_CIPHER_meth_get_init.3 @@ -0,0 +1 @@ +EVP_CIPHER_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_CIPHER_meth_get_set_asn1_params.3 b/linux_amd64/share/man/man3/EVP_CIPHER_meth_get_set_asn1_params.3 new file mode 120000 index 0000000..3e16782 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_CIPHER_meth_get_set_asn1_params.3 @@ -0,0 +1 @@ +EVP_CIPHER_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_CIPHER_meth_new.3 b/linux_amd64/share/man/man3/EVP_CIPHER_meth_new.3 index b86add2..c9668c8 100755 --- a/linux_amd64/share/man/man3/EVP_CIPHER_meth_new.3 +++ b/linux_amd64/share/man/man3/EVP_CIPHER_meth_new.3 @@ -124,22 +124,13 @@ .\" ======================================================================== .\" .IX Title "EVP_CIPHER_METH_NEW 3" -.TH EVP_CIPHER_METH_NEW 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_CIPHER_METH_NEW 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_CIPHER_meth_new, EVP_CIPHER_meth_dup, EVP_CIPHER_meth_free, -EVP_CIPHER_meth_set_iv_length, EVP_CIPHER_meth_set_flags, -EVP_CIPHER_meth_set_impl_ctx_size, EVP_CIPHER_meth_set_init, -EVP_CIPHER_meth_set_do_cipher, EVP_CIPHER_meth_set_cleanup, -EVP_CIPHER_meth_set_set_asn1_params, EVP_CIPHER_meth_set_get_asn1_params, -EVP_CIPHER_meth_set_ctrl, EVP_CIPHER_meth_get_init, -EVP_CIPHER_meth_get_do_cipher, EVP_CIPHER_meth_get_cleanup, -EVP_CIPHER_meth_get_set_asn1_params, EVP_CIPHER_meth_get_get_asn1_params, -EVP_CIPHER_meth_get_ctrl -\&\- Routines to build up EVP_CIPHER methods +EVP_CIPHER_meth_new, EVP_CIPHER_meth_dup, EVP_CIPHER_meth_free, EVP_CIPHER_meth_set_iv_length, EVP_CIPHER_meth_set_flags, EVP_CIPHER_meth_set_impl_ctx_size, EVP_CIPHER_meth_set_init, EVP_CIPHER_meth_set_do_cipher, EVP_CIPHER_meth_set_cleanup, EVP_CIPHER_meth_set_set_asn1_params, EVP_CIPHER_meth_set_get_asn1_params, EVP_CIPHER_meth_set_ctrl, EVP_CIPHER_meth_get_init, EVP_CIPHER_meth_get_do_cipher, EVP_CIPHER_meth_get_cleanup, EVP_CIPHER_meth_get_set_asn1_params, EVP_CIPHER_meth_get_get_asn1_params, EVP_CIPHER_meth_get_ctrl \- Routines to build up EVP_CIPHER methods .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -210,8 +201,8 @@ behaviours in the particular \fBcipher\fR. With the exception of cipher modes, of which only one may be present, several flags can be or'd together. The available flags are: -.IP "\s-1EVP_CIPH_STREAM_CIPHER\s0, \s-1EVP_CIPH_ECB_MODE\s0 \s-1EVP_CIPH_CBC_MODE\s0, \s-1EVP_CIPH_CFB_MODE\s0, \s-1EVP_CIPH_OFB_MODE\s0, \s-1EVP_CIPH_CTR_MODE\s0, \s-1EVP_CIPH_GCM_MODE\s0, \s-1EVP_CIPH_CCM_MODE\s0, \s-1EVP_CIPH_XTS_MODE\s0, \s-1EVP_CIPH_WRAP_MODE\s0, \s-1EVP_CIPH_OCB_MODE\s0, \s-1EVP_CIPH_SIV_MODE\s0" 4 -.IX Item "EVP_CIPH_STREAM_CIPHER, EVP_CIPH_ECB_MODE EVP_CIPH_CBC_MODE, EVP_CIPH_CFB_MODE, EVP_CIPH_OFB_MODE, EVP_CIPH_CTR_MODE, EVP_CIPH_GCM_MODE, EVP_CIPH_CCM_MODE, EVP_CIPH_XTS_MODE, EVP_CIPH_WRAP_MODE, EVP_CIPH_OCB_MODE, EVP_CIPH_SIV_MODE" +.IP "\s-1EVP_CIPH_STREAM_CIPHER\s0, \s-1EVP_CIPH_ECB_MODE\s0 \s-1EVP_CIPH_CBC_MODE\s0, \s-1EVP_CIPH_CFB_MODE\s0, \s-1EVP_CIPH_OFB_MODE\s0, \s-1EVP_CIPH_CTR_MODE\s0, \s-1EVP_CIPH_GCM_MODE\s0, \s-1EVP_CIPH_CCM_MODE\s0, \s-1EVP_CIPH_XTS_MODE\s0, \s-1EVP_CIPH_WRAP_MODE\s0, \s-1EVP_CIPH_OCB_MODE\s0" 4 +.IX Item "EVP_CIPH_STREAM_CIPHER, EVP_CIPH_ECB_MODE EVP_CIPH_CBC_MODE, EVP_CIPH_CFB_MODE, EVP_CIPH_OFB_MODE, EVP_CIPH_CTR_MODE, EVP_CIPH_GCM_MODE, EVP_CIPH_CCM_MODE, EVP_CIPH_XTS_MODE, EVP_CIPH_WRAP_MODE, EVP_CIPH_OCB_MODE" The cipher mode. .IP "\s-1EVP_CIPH_VARIABLE_LENGTH\s0" 4 .IX Item "EVP_CIPH_VARIABLE_LENGTH" @@ -329,17 +320,15 @@ All EVP_CIPHER_meth_get_*() functions return pointers to their respective \fBcipher\fR function. .SH "SEE ALSO" .IX Header "SEE ALSO" -\&\fIEVP_EncryptInit\fR\|(3) +EVP_EncryptInit .SH "HISTORY" .IX Header "HISTORY" The functions described here were added in OpenSSL 1.1.0. -The \fB\s-1EVP_CIPHER\s0\fR structure created with these functions became reference -counted in OpenSSL 3.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2016\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_CIPHER_meth_set_cleanup.3 b/linux_amd64/share/man/man3/EVP_CIPHER_meth_set_cleanup.3 new file mode 120000 index 0000000..3e16782 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_CIPHER_meth_set_cleanup.3 @@ -0,0 +1 @@ +EVP_CIPHER_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_CIPHER_meth_set_ctrl.3 b/linux_amd64/share/man/man3/EVP_CIPHER_meth_set_ctrl.3 new file mode 120000 index 0000000..3e16782 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_CIPHER_meth_set_ctrl.3 @@ -0,0 +1 @@ +EVP_CIPHER_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_CIPHER_meth_set_do_cipher.3 b/linux_amd64/share/man/man3/EVP_CIPHER_meth_set_do_cipher.3 new file mode 120000 index 0000000..3e16782 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_CIPHER_meth_set_do_cipher.3 @@ -0,0 +1 @@ +EVP_CIPHER_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_CIPHER_meth_set_flags.3 b/linux_amd64/share/man/man3/EVP_CIPHER_meth_set_flags.3 new file mode 120000 index 0000000..3e16782 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_CIPHER_meth_set_flags.3 @@ -0,0 +1 @@ +EVP_CIPHER_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_CIPHER_meth_set_get_asn1_params.3 b/linux_amd64/share/man/man3/EVP_CIPHER_meth_set_get_asn1_params.3 new file mode 120000 index 0000000..3e16782 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_CIPHER_meth_set_get_asn1_params.3 @@ -0,0 +1 @@ +EVP_CIPHER_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_CIPHER_meth_set_impl_ctx_size.3 b/linux_amd64/share/man/man3/EVP_CIPHER_meth_set_impl_ctx_size.3 new file mode 120000 index 0000000..3e16782 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_CIPHER_meth_set_impl_ctx_size.3 @@ -0,0 +1 @@ +EVP_CIPHER_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_CIPHER_meth_set_init.3 b/linux_amd64/share/man/man3/EVP_CIPHER_meth_set_init.3 new file mode 120000 index 0000000..3e16782 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_CIPHER_meth_set_init.3 @@ -0,0 +1 @@ +EVP_CIPHER_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_CIPHER_meth_set_iv_length.3 b/linux_amd64/share/man/man3/EVP_CIPHER_meth_set_iv_length.3 new file mode 120000 index 0000000..3e16782 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_CIPHER_meth_set_iv_length.3 @@ -0,0 +1 @@ +EVP_CIPHER_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_CIPHER_meth_set_set_asn1_params.3 b/linux_amd64/share/man/man3/EVP_CIPHER_meth_set_set_asn1_params.3 new file mode 120000 index 0000000..3e16782 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_CIPHER_meth_set_set_asn1_params.3 @@ -0,0 +1 @@ +EVP_CIPHER_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_CIPHER_mode.3 b/linux_amd64/share/man/man3/EVP_CIPHER_mode.3 new file mode 120000 index 0000000..939f273 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_CIPHER_mode.3 @@ -0,0 +1 @@ +EVP_EncryptInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_CIPHER_nid.3 b/linux_amd64/share/man/man3/EVP_CIPHER_nid.3 new file mode 120000 index 0000000..939f273 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_CIPHER_nid.3 @@ -0,0 +1 @@ +EVP_EncryptInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_CIPHER_param_to_asn1.3 b/linux_amd64/share/man/man3/EVP_CIPHER_param_to_asn1.3 new file mode 120000 index 0000000..939f273 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_CIPHER_param_to_asn1.3 @@ -0,0 +1 @@ +EVP_EncryptInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_CIPHER_type.3 b/linux_amd64/share/man/man3/EVP_CIPHER_type.3 new file mode 120000 index 0000000..939f273 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_CIPHER_type.3 @@ -0,0 +1 @@ +EVP_EncryptInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_CipherFinal.3 b/linux_amd64/share/man/man3/EVP_CipherFinal.3 new file mode 120000 index 0000000..939f273 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_CipherFinal.3 @@ -0,0 +1 @@ +EVP_EncryptInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_CipherFinal_ex.3 b/linux_amd64/share/man/man3/EVP_CipherFinal_ex.3 new file mode 120000 index 0000000..939f273 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_CipherFinal_ex.3 @@ -0,0 +1 @@ +EVP_EncryptInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_CipherInit.3 b/linux_amd64/share/man/man3/EVP_CipherInit.3 new file mode 120000 index 0000000..939f273 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_CipherInit.3 @@ -0,0 +1 @@ +EVP_EncryptInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_CipherInit_ex.3 b/linux_amd64/share/man/man3/EVP_CipherInit_ex.3 new file mode 120000 index 0000000..939f273 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_CipherInit_ex.3 @@ -0,0 +1 @@ +EVP_EncryptInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_CipherUpdate.3 b/linux_amd64/share/man/man3/EVP_CipherUpdate.3 new file mode 120000 index 0000000..939f273 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_CipherUpdate.3 @@ -0,0 +1 @@ +EVP_EncryptInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_DecodeBlock.3 b/linux_amd64/share/man/man3/EVP_DecodeBlock.3 new file mode 120000 index 0000000..332ef77 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_DecodeBlock.3 @@ -0,0 +1 @@ +EVP_EncodeInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_DecodeFinal.3 b/linux_amd64/share/man/man3/EVP_DecodeFinal.3 new file mode 120000 index 0000000..332ef77 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_DecodeFinal.3 @@ -0,0 +1 @@ +EVP_EncodeInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_DecodeInit.3 b/linux_amd64/share/man/man3/EVP_DecodeInit.3 new file mode 120000 index 0000000..332ef77 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_DecodeInit.3 @@ -0,0 +1 @@ +EVP_EncodeInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_DecodeUpdate.3 b/linux_amd64/share/man/man3/EVP_DecodeUpdate.3 new file mode 120000 index 0000000..332ef77 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_DecodeUpdate.3 @@ -0,0 +1 @@ +EVP_EncodeInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_DecryptFinal.3 b/linux_amd64/share/man/man3/EVP_DecryptFinal.3 new file mode 120000 index 0000000..939f273 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_DecryptFinal.3 @@ -0,0 +1 @@ +EVP_EncryptInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_DecryptFinal_ex.3 b/linux_amd64/share/man/man3/EVP_DecryptFinal_ex.3 new file mode 120000 index 0000000..939f273 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_DecryptFinal_ex.3 @@ -0,0 +1 @@ +EVP_EncryptInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_DecryptInit.3 b/linux_amd64/share/man/man3/EVP_DecryptInit.3 new file mode 120000 index 0000000..939f273 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_DecryptInit.3 @@ -0,0 +1 @@ +EVP_EncryptInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_DecryptInit_ex.3 b/linux_amd64/share/man/man3/EVP_DecryptInit_ex.3 new file mode 120000 index 0000000..939f273 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_DecryptInit_ex.3 @@ -0,0 +1 @@ +EVP_EncryptInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_DecryptUpdate.3 b/linux_amd64/share/man/man3/EVP_DecryptUpdate.3 new file mode 120000 index 0000000..939f273 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_DecryptUpdate.3 @@ -0,0 +1 @@ +EVP_EncryptInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_Digest.3 b/linux_amd64/share/man/man3/EVP_Digest.3 new file mode 120000 index 0000000..3f2985e --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_Digest.3 @@ -0,0 +1 @@ +EVP_DigestInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_DigestFinal.3 b/linux_amd64/share/man/man3/EVP_DigestFinal.3 new file mode 120000 index 0000000..3f2985e --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_DigestFinal.3 @@ -0,0 +1 @@ +EVP_DigestInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_DigestFinalXOF.3 b/linux_amd64/share/man/man3/EVP_DigestFinalXOF.3 new file mode 120000 index 0000000..3f2985e --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_DigestFinalXOF.3 @@ -0,0 +1 @@ +EVP_DigestInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_DigestFinal_ex.3 b/linux_amd64/share/man/man3/EVP_DigestFinal_ex.3 new file mode 120000 index 0000000..3f2985e --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_DigestFinal_ex.3 @@ -0,0 +1 @@ +EVP_DigestInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_DigestInit.3 b/linux_amd64/share/man/man3/EVP_DigestInit.3 index e58fcdb..70aff1c 100755 --- a/linux_amd64/share/man/man3/EVP_DigestInit.3 +++ b/linux_amd64/share/man/man3/EVP_DigestInit.3 @@ -124,53 +124,22 @@ .\" ======================================================================== .\" .IX Title "EVP_DIGESTINIT 3" -.TH EVP_DIGESTINIT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_DIGESTINIT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_MD_fetch, EVP_MD_up_ref, EVP_MD_free, -EVP_MD_get_params, EVP_MD_gettable_params, -EVP_MD_CTX_new, EVP_MD_CTX_reset, EVP_MD_CTX_free, EVP_MD_CTX_copy, -EVP_MD_CTX_copy_ex, EVP_MD_CTX_ctrl, -EVP_MD_CTX_set_params, EVP_MD_CTX_get_params, -EVP_MD_settable_ctx_params, EVP_MD_gettable_ctx_params, -EVP_MD_CTX_settable_params, EVP_MD_CTX_gettable_params, -EVP_MD_CTX_set_flags, EVP_MD_CTX_clear_flags, EVP_MD_CTX_test_flags, -EVP_Digest, EVP_DigestInit_ex, EVP_DigestInit, EVP_DigestUpdate, -EVP_DigestFinal_ex, EVP_DigestFinalXOF, EVP_DigestFinal, -EVP_MD_is_a, EVP_MD_name, EVP_MD_number, EVP_MD_names_do_all, EVP_MD_provider, -EVP_MD_type, EVP_MD_pkey_type, EVP_MD_size, EVP_MD_block_size, EVP_MD_flags, -EVP_MD_CTX_name, -EVP_MD_CTX_md, EVP_MD_CTX_type, EVP_MD_CTX_size, EVP_MD_CTX_block_size, -EVP_MD_CTX_md_data, EVP_MD_CTX_update_fn, EVP_MD_CTX_set_update_fn, -EVP_md_null, -EVP_get_digestbyname, EVP_get_digestbynid, EVP_get_digestbyobj, -EVP_MD_CTX_pkey_ctx, EVP_MD_CTX_set_pkey_ctx, -EVP_MD_do_all_provided -\&\- EVP digest routines +EVP_MD_CTX_new, EVP_MD_CTX_reset, EVP_MD_CTX_free, EVP_MD_CTX_copy, EVP_MD_CTX_copy_ex, EVP_MD_CTX_ctrl, EVP_MD_CTX_set_flags, EVP_MD_CTX_clear_flags, EVP_MD_CTX_test_flags, EVP_Digest, EVP_DigestInit_ex, EVP_DigestInit, EVP_DigestUpdate, EVP_DigestFinal_ex, EVP_DigestFinalXOF, EVP_DigestFinal, EVP_MD_type, EVP_MD_pkey_type, EVP_MD_size, EVP_MD_block_size, EVP_MD_flags, EVP_MD_CTX_md, EVP_MD_CTX_type, EVP_MD_CTX_size, EVP_MD_CTX_block_size, EVP_MD_CTX_md_data, EVP_MD_CTX_update_fn, EVP_MD_CTX_set_update_fn, EVP_md_null, EVP_get_digestbyname, EVP_get_digestbynid, EVP_get_digestbyobj, EVP_MD_CTX_pkey_ctx, EVP_MD_CTX_set_pkey_ctx \- EVP digest routines .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include \& -\& EVP_MD *EVP_MD_fetch(OPENSSL_CTX *ctx, const char *algorithm, -\& const char *properties); -\& int EVP_MD_up_ref(EVP_MD *md); -\& void EVP_MD_free(EVP_MD *md); -\& int EVP_MD_get_params(const EVP_MD *digest, OSSL_PARAM params[]); -\& const OSSL_PARAM *EVP_MD_gettable_params(const EVP_MD *digest); \& EVP_MD_CTX *EVP_MD_CTX_new(void); \& int EVP_MD_CTX_reset(EVP_MD_CTX *ctx); \& void EVP_MD_CTX_free(EVP_MD_CTX *ctx); \& void EVP_MD_CTX_ctrl(EVP_MD_CTX *ctx, int cmd, int p1, void* p2); -\& int EVP_MD_CTX_get_params(EVP_MD_CTX *ctx, OSSL_PARAM params[]); -\& int EVP_MD_CTX_set_params(EVP_MD_CTX *ctx, const OSSL_PARAM params[]); -\& const OSSL_PARAM *EVP_MD_settable_ctx_params(const EVP_MD *md); -\& const OSSL_PARAM *EVP_MD_gettable_ctx_params(const EVP_MD *md); -\& const OSSL_PARAM *EVP_MD_CTX_settable_params(EVP_MD_CTX *ctx); -\& const OSSL_PARAM *EVP_MD_CTX_gettable_params(EVP_MD_CTX *ctx); \& void EVP_MD_CTX_set_flags(EVP_MD_CTX *ctx, int flags); \& void EVP_MD_CTX_clear_flags(EVP_MD_CTX *ctx, int flags); \& int EVP_MD_CTX_test_flags(const EVP_MD_CTX *ctx, int flags); @@ -189,13 +158,6 @@ EVP_MD_do_all_provided \& \& int EVP_MD_CTX_copy(EVP_MD_CTX *out, EVP_MD_CTX *in); \& -\& const char *EVP_MD_name(const EVP_MD *md); -\& int EVP_MD_number(const EVP_MD *md); -\& int EVP_MD_is_a(const EVP_MD *md, const char *name); -\& void EVP_MD_names_do_all(const EVP_MD *md, -\& void (*fn)(const char *name, void *data), -\& void *data); -\& const OSSL_PROVIDER *EVP_MD_provider(const EVP_MD *md); \& int EVP_MD_type(const EVP_MD *md); \& int EVP_MD_pkey_type(const EVP_MD *md); \& int EVP_MD_size(const EVP_MD *md); @@ -203,7 +165,6 @@ EVP_MD_do_all_provided \& unsigned long EVP_MD_flags(const EVP_MD *md); \& \& const EVP_MD *EVP_MD_CTX_md(const EVP_MD_CTX *ctx); -\& const char *EVP_MD_CTX_name(const EVP_MD_CTX *ctx); \& int EVP_MD_CTX_size(const EVP_MD_CTX *ctx); \& int EVP_MD_CTX_block_size(const EVP_MD_CTX *ctx); \& int EVP_MD_CTX_type(const EVP_MD_CTX *ctx); @@ -222,33 +183,11 @@ EVP_MD_do_all_provided \& \& EVP_PKEY_CTX *EVP_MD_CTX_pkey_ctx(const EVP_MD_CTX *ctx); \& void EVP_MD_CTX_set_pkey_ctx(EVP_MD_CTX *ctx, EVP_PKEY_CTX *pctx); -\& -\& void EVP_MD_do_all_provided(OPENSSL_CTX *libctx, -\& void (*fn)(EVP_MD *mac, void *arg), -\& void *arg); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" The \s-1EVP\s0 digest routines are a high level interface to message digests, -and should be used instead of the digest-specific functions. -.PP -The \fB\s-1EVP_MD\s0\fR type is a structure for digest method implementation. -.IP "\fIEVP_MD_fetch()\fR" 4 -.IX Item "EVP_MD_fetch()" -Fetches the digest implementation for the given \fBalgorithm\fR from any -provider offering it, within the criteria given by the \fBproperties\fR. -See \*(L"Fetching algorithms\*(R" in \fIprovider\fR\|(7) for further information. -.Sp -The returned value must eventually be freed with \fIEVP_MD_free()\fR. -.Sp -Fetched \fB\s-1EVP_MD\s0\fR structures are reference counted. -.IP "\fIEVP_MD_up_ref()\fR" 4 -.IX Item "EVP_MD_up_ref()" -Increments the reference count for an \fB\s-1EVP_MD\s0\fR structure. -.IP "\fIEVP_MD_free()\fR" 4 -.IX Item "EVP_MD_free()" -Decrements the reference count for the fetched \fB\s-1EVP_MD\s0\fR structure. -If the reference count drops to 0 then the structure is freed. +and should be used instead of the cipher-specific functions. .IP "\fIEVP_MD_CTX_new()\fR" 4 .IX Item "EVP_MD_CTX_new()" Allocates and returns a digest context. @@ -261,36 +200,11 @@ existing context. Cleans up digest context \fBctx\fR and frees up the space allocated to it. .IP "\fIEVP_MD_CTX_ctrl()\fR" 4 .IX Item "EVP_MD_CTX_ctrl()" -This is a legacy method. \fIEVP_MD_CTX_set_params()\fR and \fIEVP_MD_CTX_get_params()\fR -is the mechanism that should be used to set and get parameters that are used by -providers. Performs digest-specific control actions on context \fBctx\fR. The control command is indicated in \fBcmd\fR and any additional arguments in \fBp1\fR and \fBp2\fR. \&\fIEVP_MD_CTX_ctrl()\fR must be called after \fIEVP_DigestInit_ex()\fR. Other restrictions may apply depending on the control type and digest implementation. See \*(L"\s-1CONTROLS\s0\*(R" below for more information. -.IP "\fIEVP_MD_get_params()\fR" 4 -.IX Item "EVP_MD_get_params()" -Retrieves the requested list of \fBparams\fR from a \s-1MD\s0 \fBmd\fR. -See \*(L"\s-1PARAMETERS\s0\*(R" below for more information. -.IP "\fIEVP_MD_CTX_get_params()\fR" 4 -.IX Item "EVP_MD_CTX_get_params()" -Retrieves the requested list of \fBparams\fR from a \s-1MD\s0 context \fBctx\fR. -See \*(L"\s-1PARAMETERS\s0\*(R" below for more information. -.IP "\fIEVP_MD_CTX_set_params()\fR" 4 -.IX Item "EVP_MD_CTX_set_params()" -Sets the list of \fBparams\fR into a \s-1MD\s0 context \fBctx\fR. -See \*(L"\s-1PARAMETERS\s0\*(R" below for more information. -.IP "\fIEVP_MD_gettable_params()\fR, \fIEVP_MD_gettable_ctx_params()\fR, \fIEVP_MD_settable_ctx_params()\fR, \fIEVP_MD_CTX_gettable_params()\fR, \fIEVP_MD_CTX_settable_params()\fR" 4 -.IX Item "EVP_MD_gettable_params(), EVP_MD_gettable_ctx_params(), EVP_MD_settable_ctx_params(), EVP_MD_CTX_gettable_params(), EVP_MD_CTX_settable_params()" -Get a \fB\s-1OSSL_PARAM\s0\fR array that describes the retrievable and settable -parameters. \fIEVP_MD_gettable_params()\fR returns parameters that can be used with -\&\fIEVP_MD_get_params()\fR. \fIEVP_MD_gettable_ctx_params()\fR and -\&\fIEVP_MD_CTX_gettable_params()\fR return parameters that can be used with -\&\fIEVP_MD_CTX_get_params()\fR. \fIEVP_MD_settable_ctx_params()\fR and -\&\fIEVP_MD_CTX_settable_params()\fR return parameters that can be used with -\&\fIEVP_MD_CTX_set_params()\fR. -See \s-1\fIOSSL_PARAM\s0\fR\|(3) for the use of \fB\s-1OSSL_PARAM\s0\fR as parameter descriptor. .IP "\fIEVP_MD_CTX_set_flags()\fR, \fIEVP_MD_CTX_clear_flags()\fR, \fIEVP_MD_CTX_test_flags()\fR" 4 .IX Item "EVP_MD_CTX_set_flags(), EVP_MD_CTX_clear_flags(), EVP_MD_CTX_test_flags()" Sets, clears and tests \fBctx\fR flags. See \*(L"\s-1FLAGS\s0\*(R" below for more information. @@ -303,12 +217,9 @@ if the pointer is not \s-1NULL\s0. At most \fB\s-1EVP_MAX_MD_SIZE\s0\fR bytes wi If \fBimpl\fR is \s-1NULL\s0 the default implementation of digest \fBtype\fR is used. .IP "\fIEVP_DigestInit_ex()\fR" 4 .IX Item "EVP_DigestInit_ex()" -Sets up digest context \fBctx\fR to use a digest \fBtype\fR. -\&\fBtype\fR is typically supplied by a function such as \fIEVP_sha1()\fR, or a -value explicitly fetched with \fIEVP_MD_fetch()\fR. -.Sp -If \fBimpl\fR is non-NULL, its implementation of the digest \fBtype\fR is used if -there is one, and if not, the default implementation is used. +Sets up digest context \fBctx\fR to use a digest \fBtype\fR from \s-1ENGINE\s0 \fBimpl\fR. +\&\fBtype\fR will typically be supplied by a function such as \fIEVP_sha1()\fR. If +\&\fBimpl\fR is \s-1NULL\s0 then the default implementation of digest \fBtype\fR is used. .IP "\fIEVP_DigestUpdate()\fR" 4 .IX Item "EVP_DigestUpdate()" Hashes \fBcnt\fR bytes of data at \fBd\fR into the digest context \fBctx\fR. This @@ -345,32 +256,6 @@ automatically cleaned up. .IX Item "EVP_MD_CTX_copy()" Similar to \fIEVP_MD_CTX_copy_ex()\fR except the destination \fBout\fR does not have to be initialized. -.IP "\fIEVP_MD_is_a()\fR" 4 -.IX Item "EVP_MD_is_a()" -Returns 1 if \fImd\fR is an implementation of an algorithm that's -identifiable with \fIname\fR, otherwise 0. -.Sp -If \fImd\fR is a legacy digest (it's the return value from the likes of -\&\fIEVP_sha256()\fR rather than the result of an \fIEVP_MD_fetch()\fR), only cipher -names registered with the default library context (see -\&\s-1\fIOPENSSL_CTX\s0\fR\|(3)) will be considered. -.IP "\fIEVP_MD_number()\fR" 4 -.IX Item "EVP_MD_number()" -Returns the internal dynamic number assigned to the \fImd\fR. This is -only useful with fetched \fB\s-1EVP_MD\s0\fRs. -.IP "\fIEVP_MD_name()\fR, \fIEVP_MD_CTX_name()\fR" 4 -.IX Item "EVP_MD_name(), EVP_MD_CTX_name()" -Return the name of the given message digest. For fetched message -digests with multiple names, only one of them is returned; it's -recommended to use \fIEVP_MD_names_do_all()\fR instead. -.IP "\fIEVP_MD_names_do_all()\fR" 4 -.IX Item "EVP_MD_names_do_all()" -Traverses all names for the \fImd\fR, and calls \fIfn\fR with each name and -\&\fIdata\fR. This is only useful with fetched \fB\s-1EVP_MD\s0\fRs. -.IP "\fIEVP_MD_provider()\fR" 4 -.IX Item "EVP_MD_provider()" -Returns an \fB\s-1OSSL_PROVIDER\s0\fR pointer to the provider that implements the given -\&\fB\s-1EVP_MD\s0\fR. .IP "\fIEVP_MD_size()\fR, \fIEVP_MD_CTX_size()\fR" 4 .IX Item "EVP_MD_size(), EVP_MD_CTX_size()" Return the size of the message digest when passed an \fB\s-1EVP_MD\s0\fR or an @@ -391,12 +276,7 @@ The space is allocated by OpenSSL and has the size originally set with \&\fIEVP_MD_meth_set_app_datasize()\fR. .IP "\fIEVP_MD_CTX_md()\fR" 4 .IX Item "EVP_MD_CTX_md()" -Returns the \fB\s-1EVP_MD\s0\fR structure corresponding to the passed \fB\s-1EVP_MD_CTX\s0\fR. This -will be the same \fB\s-1EVP_MD\s0\fR object originally passed to \fIEVP_DigestInit_ex()\fR (or -other similar function) when the \s-1EVP_MD_CTX\s0 was first initialised. Note that -where explicit fetch is in use (see \fIEVP_MD_fetch\fR\|(3)) the value returned from -this function will not have its reference count incremented and therefore it -should not be used after the \s-1EVP_MD_CTX\s0 is freed. +Returns the \fB\s-1EVP_MD\s0\fR structure corresponding to the passed \fB\s-1EVP_MD_CTX\s0\fR. .IP "\fIEVP_MD_CTX_set_update_fn()\fR" 4 .IX Item "EVP_MD_CTX_set_update_fn()" Sets the update function for \fBctx\fR to \fBupdate\fR. @@ -435,36 +315,6 @@ a customized \fB\s-1EVP_PKEY_CTX\s0\fR to \fIEVP_DigestSignInit\fR\|(3) or by the caller. A \s-1NULL\s0 \fBpctx\fR pointer is also allowed to clear the \fB\s-1EVP_PKEY_CTX\s0\fR assigned to \fBctx\fR. In such case, freeing the cleared \fB\s-1EVP_PKEY_CTX\s0\fR or not depends on how the \fB\s-1EVP_PKEY_CTX\s0\fR is created. -.IP "\fIEVP_MD_do_all_provided()\fR" 4 -.IX Item "EVP_MD_do_all_provided()" -Traverses all messages digests implemented by all activated providers -in the given library context \fIlibctx\fR, and for each of the implementations, -calls the given function \fIfn\fR with the implementation method and the given -\&\fIarg\fR as argument. -.SH "PARAMETERS" -.IX Header "PARAMETERS" -See \s-1\fIOSSL_PARAM\s0\fR\|(3) for information about passing parameters. -.PP -\&\fIEVP_MD_CTX_set_params()\fR can be used with the following \s-1OSSL_PARAM\s0 keys: -.ie n .IP """xoflen"" (\fB\s-1OSSL_PARAM_DIGEST_KEY_XOFLEN\s0\fR) " 4 -.el .IP "``xoflen'' (\fB\s-1OSSL_PARAM_DIGEST_KEY_XOFLEN\s0\fR) " 4 -.IX Item "xoflen (OSSL_PARAM_DIGEST_KEY_XOFLEN) " -Sets the digest length for extendable output functions. -It is used by the \s-1SHAKE\s0 algorithm and should not exceed what can be given -using a \fBsize_t\fR. -.ie n .IP """pad_type"" (\fB\s-1OSSL_PARAM_DIGEST_KEY_PAD_TYPE\s0\fR) " 4 -.el .IP "``pad_type'' (\fB\s-1OSSL_PARAM_DIGEST_KEY_PAD_TYPE\s0\fR) " 4 -.IX Item "pad_type (OSSL_PARAM_DIGEST_KEY_PAD_TYPE) " -Sets the pad type. -It is used by the \s-1MDC2\s0 algorithm. -.PP -\&\fIEVP_MD_CTX_get_params()\fR can be used with the following \s-1OSSL_PARAM\s0 keys: -.ie n .IP """micalg"" (\fB\s-1OSSL_PARAM_DIGEST_KEY_MICALG\s0\fR) <\s-1UTF8\s0 string>." 4 -.el .IP "``micalg'' (\fB\s-1OSSL_PARAM_DIGEST_KEY_MICALG\s0\fR) <\s-1UTF8\s0 string>." 4 -.IX Item "micalg (OSSL_PARAM_DIGEST_KEY_MICALG) ." -Gets the digest Message Integrity Check algorithm string. This is used when -creating S/MIME multipart/signed messages, as specified in \s-1RFC\s0 3851. -It may be used by external engines or providers. .SH "CONTROLS" .IX Header "CONTROLS" \&\fIEVP_MD_CTX_ctrl()\fR can be used to send the following standard controls: @@ -498,12 +348,6 @@ This is inefficient if this functionality is not required, and can be disabled with this flag. .SH "RETURN VALUES" .IX Header "RETURN VALUES" -.IP "\fIEVP_MD_fetch()\fR" 4 -.IX Item "EVP_MD_fetch()" -Returns a pointer to a \fB\s-1EVP_MD\s0\fR for success or \s-1NULL\s0 for failure. -.IP "\fIEVP_MD_up_ref()\fR" 4 -.IX Item "EVP_MD_up_ref()" -Returns 1 for success or 0 for failure. .IP "\fIEVP_DigestInit_ex()\fR, \fIEVP_DigestUpdate()\fR, \fIEVP_DigestFinal_ex()\fR" 4 .IX Item "EVP_DigestInit_ex(), EVP_DigestUpdate(), EVP_DigestFinal_ex()" Returns 1 for @@ -511,13 +355,6 @@ success and 0 for failure. .IP "\fIEVP_MD_CTX_ctrl()\fR" 4 .IX Item "EVP_MD_CTX_ctrl()" Returns 1 if successful or 0 for failure. -.IP "\fIEVP_MD_CTX_set_params()\fR, \fIEVP_MD_CTX_get_params()\fR" 4 -.IX Item "EVP_MD_CTX_set_params(), EVP_MD_CTX_get_params()" -Returns 1 if successful or 0 for failure. -.IP "\fIEVP_MD_CTX_settable_params()\fR, \fIEVP_MD_CTX_gettable_params()\fR" 4 -.IX Item "EVP_MD_CTX_settable_params(), EVP_MD_CTX_gettable_params()" -Return an array of constant \fB\s-1OSSL_PARAM\s0\fRs, or \s-1NULL\s0 if there is none -to get. .IP "\fIEVP_MD_CTX_copy_ex()\fR" 4 .IX Item "EVP_MD_CTX_copy_ex()" Returns 1 if successful or 0 for failure. @@ -560,9 +397,9 @@ implementations of digests to be specified. If digest contexts are not cleaned up after use, memory leaks will occur. .PP -\&\fIEVP_MD_CTX_name()\fR, \fIEVP_MD_CTX_size()\fR, \fIEVP_MD_CTX_block_size()\fR, -\&\fIEVP_MD_CTX_type()\fR, \fIEVP_get_digestbynid()\fR and \fIEVP_get_digestbyobj()\fR are defined -as macros. +\&\fIEVP_MD_CTX_size()\fR, \fIEVP_MD_CTX_block_size()\fR, \fIEVP_MD_CTX_type()\fR, +\&\fIEVP_get_digestbynid()\fR and \fIEVP_get_digestbyobj()\fR are defined as +macros. .PP \&\fIEVP_MD_CTX_ctrl()\fR sends commands to message digests for additional configuration or control. @@ -614,10 +451,8 @@ digest name passed on the command line. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIEVP_MD_meth_new\fR\|(3), -\&\fIopenssl\-dgst\fR\|(1), -\&\fIevp\fR\|(7), -\&\s-1\fIOSSL_PROVIDER\s0\fR\|(3), -\&\s-1\fIOSSL_PARAM\s0\fR\|(3) +\&\fIdgst\fR\|(1), +\&\fIevp\fR\|(7) .PP The full list of digest algorithms are provided below. .PP @@ -632,7 +467,6 @@ The full list of digest algorithms are provided below. \&\fIEVP_sha3_224\fR\|(3), \&\fIEVP_sm3\fR\|(3), \&\fIEVP_whirlpool\fR\|(3) -\&\*(L"Fetching algorithms\*(R" in \fIprovider\fR\|(7) .SH "HISTORY" .IX Header "HISTORY" The \fIEVP_MD_CTX_create()\fR and \fIEVP_MD_CTX_destroy()\fR functions were renamed to @@ -644,14 +478,11 @@ later, so now \fIEVP_sha1()\fR can be used with \s-1RSA\s0 and \s-1DSA\s0. The \fIEVP_dss1()\fR function was removed in OpenSSL 1.1.0. .PP The \fIEVP_MD_CTX_set_pkey_ctx()\fR function was added in 1.1.1. -.PP -The \fIEVP_MD_fetch()\fR, \fIEVP_MD_free()\fR, \fIEVP_MD_up_ref()\fR, \fIEVP_MD_CTX_set_params()\fR -and \fIEVP_MD_CTX_get_params()\fR functions were added in 3.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_DigestInit_ex.3 b/linux_amd64/share/man/man3/EVP_DigestInit_ex.3 new file mode 120000 index 0000000..3f2985e --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_DigestInit_ex.3 @@ -0,0 +1 @@ +EVP_DigestInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_DigestSign.3 b/linux_amd64/share/man/man3/EVP_DigestSign.3 new file mode 120000 index 0000000..75173db --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_DigestSign.3 @@ -0,0 +1 @@ +EVP_DigestSignInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_DigestSignFinal.3 b/linux_amd64/share/man/man3/EVP_DigestSignFinal.3 new file mode 120000 index 0000000..75173db --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_DigestSignFinal.3 @@ -0,0 +1 @@ +EVP_DigestSignInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_DigestSignInit.3 b/linux_amd64/share/man/man3/EVP_DigestSignInit.3 index 9b31a1e..0c68b84 100755 --- a/linux_amd64/share/man/man3/EVP_DigestSignInit.3 +++ b/linux_amd64/share/man/man3/EVP_DigestSignInit.3 @@ -124,22 +124,18 @@ .\" ======================================================================== .\" .IX Title "EVP_DIGESTSIGNINIT 3" -.TH EVP_DIGESTSIGNINIT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_DIGESTSIGNINIT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_DigestSignInit_ex, EVP_DigestSignInit, EVP_DigestSignUpdate, -EVP_DigestSignFinal, EVP_DigestSign \- EVP signing functions +EVP_DigestSignInit, EVP_DigestSignUpdate, EVP_DigestSignFinal, EVP_DigestSign \- EVP signing functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include \& -\& int EVP_DigestSignInit_ex(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx, -\& const char *mdname, const char *props, -\& EVP_PKEY *pkey); \& int EVP_DigestSignInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx, \& const EVP_MD *type, ENGINE *e, EVP_PKEY *pkey); \& int EVP_DigestSignUpdate(EVP_MD_CTX *ctx, const void *d, size_t cnt); @@ -152,41 +148,22 @@ EVP_DigestSignFinal, EVP_DigestSign \- EVP signing functions .SH "DESCRIPTION" .IX Header "DESCRIPTION" The \s-1EVP\s0 signature routines are a high level interface to digital signatures. -Input data is digested first before the signing takes place. .PP -\&\fIEVP_DigestSignInit_ex()\fR sets up signing context \fIctx\fR to use a digest with the -name \fImdname\fR and private key \fIpkey\fR. The name of the digest to be used is -passed to the provider of the signature algorithm in use. How that provider -interprets the digest name is provider specific. The provider may implement -that digest directly itself or it may (optionally) choose to fetch it (which -could result in a digest from a different provider being selected). If the -provider supports fetching the digest then it may use the \fIprops\fR argument for -the properties to be used during the fetch. +\&\fIEVP_DigestSignInit()\fR sets up signing context \fBctx\fR to use digest \fBtype\fR from +\&\s-1ENGINE\s0 \fBe\fR and private key \fBpkey\fR. \fBctx\fR must be created with +\&\fIEVP_MD_CTX_new()\fR before calling this function. If \fBpctx\fR is not \s-1NULL\s0, the +\&\s-1EVP_PKEY_CTX\s0 of the signing operation will be written to \fB*pctx\fR: this can +be used to set alternative signing options. Note that any existing value in +\&\fB*pctx\fR is overwritten. The \s-1EVP_PKEY_CTX\s0 value returned must not be freed +directly by the application if \fBctx\fR is not assigned an \s-1EVP_PKEY_CTX\s0 value before +being passed to \fIEVP_DigestSignInit()\fR (which means the \s-1EVP_PKEY_CTX\s0 is created +inside \fIEVP_DigestSignInit()\fR and it will be freed automatically when the +\&\s-1EVP_MD_CTX\s0 is freed). .PP -The \fIpkey\fR algorithm is used to fetch a \fB\s-1EVP_SIGNATURE\s0\fR method implicitly, to -be used for the actual signing. See \*(L"Implicit fetch\*(R" in \fIprovider\fR\|(7) for -more information about implict fetches. +The digest \fBtype\fR may be \s-1NULL\s0 if the signing algorithm supports it. .PP -The OpenSSL default and legacy providers support fetching digests and can fetch -those digests from any available provider. The OpenSSL fips provider also -supports fetching digests but will only fetch digests that are themselves -implemented inside the fips provider. -.PP -\&\fIctx\fR must be created with \fIEVP_MD_CTX_new()\fR before calling this function. If -\&\fIpctx\fR is not \s-1NULL\s0, the \s-1EVP_PKEY_CTX\s0 of the signing operation will be written -to \fI*pctx\fR: this can be used to set alternative signing options. Note that any -existing value in \fI*pctx\fR is overwritten. The \s-1EVP_PKEY_CTX\s0 value returned must -not be freed directly by the application if \fIctx\fR is not assigned an -\&\s-1EVP_PKEY_CTX\s0 value before being passed to \fIEVP_DigestSignInit_ex()\fR (which means -the \s-1EVP_PKEY_CTX\s0 is created inside \fIEVP_DigestSignInit_ex()\fR and it will be freed -automatically when the \s-1EVP_MD_CTX\s0 is freed). -.PP -The digest \fImdname\fR may be \s-1NULL\s0 if the signing algorithm supports it. The -\&\fIprops\fR argument can always be \s-1NULL\s0. -.PP -No \fB\s-1EVP_PKEY_CTX\s0\fR will be created by \fIEVP_DigestSignInit_ex()\fR if the passed -\&\fIctx\fR has already been assigned one via \fIEVP_MD_CTX_set_pkey_ctx\fR\|(3). See also -\&\s-1\fISM2\s0\fR\|(7). +No \fB\s-1EVP_PKEY_CTX\s0\fR will be created by \fIEVP_DigestSignInit()\fR if the passed \fBctx\fR +has already been assigned one via \fIEVP_MD_CTX_set_pkey_ctx\fR\|(3). See also \s-1\fISM2\s0\fR\|(7). .PP Only \s-1EVP_PKEY\s0 types that support signing can be used with these functions. This includes \s-1MAC\s0 algorithms where the \s-1MAC\s0 generation is considered as a form of @@ -202,7 +179,7 @@ Supports \s-1SHA1\s0, \s-1SHA224\s0, \s-1SHA256\s0, \s-1SHA384\s0 and \s-1SHA512 Supports \s-1SHA1\s0, \s-1SHA224\s0, \s-1SHA256\s0, \s-1SHA384\s0, \s-1SHA512\s0 and \s-1SM3\s0 .IP "\s-1RSA\s0 with no padding" 4 .IX Item "RSA with no padding" -Supports no digests (the digest \fItype\fR must be \s-1NULL\s0) +Supports no digests (the digest \fBtype\fR must be \s-1NULL\s0) .IP "\s-1RSA\s0 with X931 padding" 4 .IX Item "RSA with X931 padding" Supports \s-1SHA1\s0, \s-1SHA256\s0, \s-1SHA384\s0 and \s-1SHA512\s0 @@ -212,7 +189,7 @@ Support \s-1SHA1\s0, \s-1SHA224\s0, \s-1SHA256\s0, \s-1SHA384\s0, \s-1SHA512\s0, \&\s-1SHA3\-224\s0, \s-1SHA3\-256\s0, \s-1SHA3\-384\s0, \s-1SHA3\-512\s0 .IP "Ed25519 and Ed448" 4 .IX Item "Ed25519 and Ed448" -Support no digests (the digest \fItype\fR must be \s-1NULL\s0) +Support no digests (the digest \fBtype\fR must be \s-1NULL\s0) .IP "\s-1HMAC\s0" 4 .IX Item "HMAC" Supports any digest @@ -222,24 +199,20 @@ Will ignore any digest provided. .PP If RSA-PSS is used and restrictions apply then the digest must match. .PP -\&\fIEVP_DigestSignInit()\fR works in the same way as \fIEVP_DigestSignInit_ex()\fR except -that the \fImdname\fR parameter will be inferred from the supplied digest \fItype\fR, -and \fIprops\fR will be \s-1NULL\s0. Where supplied the \s-1ENGINE\s0 \fIe\fR will be used for the -signing and digest algorithm implementations. \fIe\fR may be \s-1NULL\s0. +\&\fIEVP_DigestSignUpdate()\fR hashes \fBcnt\fR bytes of data at \fBd\fR into the +signature context \fBctx\fR. This function can be called several times on the +same \fBctx\fR to include additional data. This function is currently implemented +using a macro. .PP -\&\fIEVP_DigestSignUpdate()\fR hashes \fIcnt\fR bytes of data at \fId\fR into the -signature context \fIctx\fR. This function can be called several times on the -same \fIctx\fR to include additional data. +\&\fIEVP_DigestSignFinal()\fR signs the data in \fBctx\fR and places the signature in \fBsig\fR. +If \fBsig\fR is \fB\s-1NULL\s0\fR then the maximum size of the output buffer is written to +the \fBsiglen\fR parameter. If \fBsig\fR is not \fB\s-1NULL\s0\fR then before the call the +\&\fBsiglen\fR parameter should contain the length of the \fBsig\fR buffer. If the +call is successful the signature is written to \fBsig\fR and the amount of data +written to \fBsiglen\fR. .PP -\&\fIEVP_DigestSignFinal()\fR signs the data in \fIctx\fR and places the signature in \fIsig\fR. -If \fIsig\fR is \s-1NULL\s0 then the maximum size of the output buffer is written to -the \fIsiglen\fR parameter. If \fIsig\fR is not \s-1NULL\s0 then before the call the -\&\fIsiglen\fR parameter should contain the length of the \fIsig\fR buffer. If the -call is successful the signature is written to \fIsig\fR and the amount of data -written to \fIsiglen\fR. -.PP -\&\fIEVP_DigestSign()\fR signs \fItbslen\fR bytes of data at \fItbs\fR and places the -signature in \fIsig\fR and its length in \fIsiglen\fR in a similar way to +\&\fIEVP_DigestSign()\fR signs \fBtbslen\fR bytes of data at \fBtbs\fR and places the +signature in \fBsig\fR and its length in \fBsiglen\fR in a similar way to \&\fIEVP_DigestSignFinal()\fR. .SH "RETURN VALUES" .IX Header "RETURN VALUES" @@ -285,21 +258,17 @@ which indicates the maximum possible signature for any set of parameters. \&\fIEVP_DigestInit\fR\|(3), \&\fIevp\fR\|(7), \s-1\fIHMAC\s0\fR\|(3), \s-1\fIMD2\s0\fR\|(3), \&\s-1\fIMD5\s0\fR\|(3), \s-1\fIMDC2\s0\fR\|(3), \s-1\fIRIPEMD160\s0\fR\|(3), -\&\s-1\fISHA1\s0\fR\|(3), \fIopenssl\-dgst\fR\|(1), +\&\s-1\fISHA1\s0\fR\|(3), \fIdgst\fR\|(1), \&\s-1\fIRAND\s0\fR\|(7) .SH "HISTORY" .IX Header "HISTORY" \&\fIEVP_DigestSignInit()\fR, \fIEVP_DigestSignUpdate()\fR and \fIEVP_DigestSignFinal()\fR were added in OpenSSL 1.0.0. -.PP -\&\fIEVP_DigestSignInit_ex()\fR was added in OpenSSL 3.0. -.PP -\&\fIEVP_DigestSignUpdate()\fR was converted from a macro to a function in OpenSSL 3.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2006\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2006\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_DigestSignUpdate.3 b/linux_amd64/share/man/man3/EVP_DigestSignUpdate.3 new file mode 120000 index 0000000..75173db --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_DigestSignUpdate.3 @@ -0,0 +1 @@ +EVP_DigestSignInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_DigestUpdate.3 b/linux_amd64/share/man/man3/EVP_DigestUpdate.3 new file mode 120000 index 0000000..3f2985e --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_DigestUpdate.3 @@ -0,0 +1 @@ +EVP_DigestInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_DigestVerify.3 b/linux_amd64/share/man/man3/EVP_DigestVerify.3 new file mode 120000 index 0000000..fc7742c --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_DigestVerify.3 @@ -0,0 +1 @@ +EVP_DigestVerifyInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_DigestVerifyFinal.3 b/linux_amd64/share/man/man3/EVP_DigestVerifyFinal.3 new file mode 120000 index 0000000..fc7742c --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_DigestVerifyFinal.3 @@ -0,0 +1 @@ +EVP_DigestVerifyInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_DigestVerifyInit.3 b/linux_amd64/share/man/man3/EVP_DigestVerifyInit.3 index 3dc8e5d..7d434ca 100755 --- a/linux_amd64/share/man/man3/EVP_DigestVerifyInit.3 +++ b/linux_amd64/share/man/man3/EVP_DigestVerifyInit.3 @@ -124,22 +124,18 @@ .\" ======================================================================== .\" .IX Title "EVP_DIGESTVERIFYINIT 3" -.TH EVP_DIGESTVERIFYINIT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_DIGESTVERIFYINIT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_DigestVerifyInit_ex, EVP_DigestVerifyInit, EVP_DigestVerifyUpdate, -EVP_DigestVerifyFinal, EVP_DigestVerify \- EVP signature verification functions +EVP_DigestVerifyInit, EVP_DigestVerifyUpdate, EVP_DigestVerifyFinal, EVP_DigestVerify \- EVP signature verification functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include \& -\& int EVP_DigestVerifyInit_ex(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx, -\& const char *mdname, const char *props, -\& EVP_PKEY *pkey, EVP_SIGNATURE *signature); \& int EVP_DigestVerifyInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx, \& const EVP_MD *type, ENGINE *e, EVP_PKEY *pkey); \& int EVP_DigestVerifyUpdate(EVP_MD_CTX *ctx, const void *d, size_t cnt); @@ -151,79 +147,25 @@ EVP_DigestVerifyFinal, EVP_DigestVerify \- EVP signature verification functions .SH "DESCRIPTION" .IX Header "DESCRIPTION" The \s-1EVP\s0 signature routines are a high level interface to digital signatures. -Input data is digested first before the signature verification takes place. .PP -\&\fIEVP_DigestVerifyInit_ex()\fR sets up verification context \fBctx\fR to use a digest -with the name \fBmdname\fR and public key \fBpkey\fR. The signature algorithm -\&\fBsignature\fR will be used for the actual signature verification which must be -compatible with the public key. The name of the digest to be used is passed to -the provider of the signature algorithm in use. How that provider interprets the -digest name is provider specific. The provider may implement that digest -directly itself or it may (optionally) choose to fetch it (which could result in -a digest from a different provider being selected). If the provider supports -fetching the digest then it may use the \fBprops\fR argument for the properties to -be used during the fetch. +\&\fIEVP_DigestVerifyInit()\fR sets up verification context \fBctx\fR to use digest +\&\fBtype\fR from \s-1ENGINE\s0 \fBe\fR and public key \fBpkey\fR. \fBctx\fR must be created +with \fIEVP_MD_CTX_new()\fR before calling this function. If \fBpctx\fR is not \s-1NULL\s0, the +\&\s-1EVP_PKEY_CTX\s0 of the verification operation will be written to \fB*pctx\fR: this +can be used to set alternative verification options. Note that any existing +value in \fB*pctx\fR is overwritten. The \s-1EVP_PKEY_CTX\s0 value returned must not be freed +directly by the application if \fBctx\fR is not assigned an \s-1EVP_PKEY_CTX\s0 value before +being passed to \fIEVP_DigestVerifyInit()\fR (which means the \s-1EVP_PKEY_CTX\s0 is created +inside \fIEVP_DigestVerifyInit()\fR and it will be freed automatically when the +\&\s-1EVP_MD_CTX\s0 is freed). .PP -The \fBsignature\fR parameter may be \s-1NULL\s0 in which case a suitable signature -algorithm implementation will be implicitly fetched based on the type of key in -use. See \fIprovider\fR\|(7) for further information about providers and fetching -algorithms. -.PP -The OpenSSL default and legacy providers support fetching digests and can fetch -those digests from any available provider. The OpenSSL fips provider also -supports fetching digests but will only fetch digests that are themselves -implemented inside the fips provider. -.PP -\&\fBctx\fR must be created with \fIEVP_MD_CTX_new()\fR before calling this function. If -\&\fBpctx\fR is not \s-1NULL\s0, the \s-1EVP_PKEY_CTX\s0 of the verification operation will be -written to \fB*pctx\fR: this can be used to set alternative verification options. -Note that any existing value in \fB*pctx\fR is overwritten. The \s-1EVP_PKEY_CTX\s0 value -returned must not be freed directly by the application if \fBctx\fR is not assigned -an \s-1EVP_PKEY_CTX\s0 value before being passed to \fIEVP_DigestVerifyInit_ex()\fR (which -means the \s-1EVP_PKEY_CTX\s0 is created inside \fIEVP_DigestVerifyInit_ex()\fR and it will -be freed automatically when the \s-1EVP_MD_CTX\s0 is freed). -.PP -No \fB\s-1EVP_PKEY_CTX\s0\fR will be created by \fIEVP_DigestSignInit_ex()\fR if the passed -\&\fBctx\fR has already been assigned one via \fIEVP_MD_CTX_set_pkey_ctx\fR\|(3). See also -\&\s-1\fISM2\s0\fR\|(7). -.PP -Not all digests can be used for all key types. The following combinations apply. -.IP "\s-1DSA\s0" 4 -.IX Item "DSA" -Supports \s-1SHA1\s0, \s-1SHA224\s0, \s-1SHA256\s0, \s-1SHA384\s0 and \s-1SHA512\s0 -.IP "\s-1ECDSA\s0" 4 -.IX Item "ECDSA" -Supports \s-1SHA1\s0, \s-1SHA224\s0, \s-1SHA256\s0, \s-1SHA384\s0, \s-1SHA512\s0 and \s-1SM3\s0 -.IP "\s-1RSA\s0 with no padding" 4 -.IX Item "RSA with no padding" -Supports no digests (the digest \fBtype\fR must be \s-1NULL\s0) -.IP "\s-1RSA\s0 with X931 padding" 4 -.IX Item "RSA with X931 padding" -Supports \s-1SHA1\s0, \s-1SHA256\s0, \s-1SHA384\s0 and \s-1SHA512\s0 -.IP "All other \s-1RSA\s0 padding types" 4 -.IX Item "All other RSA padding types" -Support \s-1SHA1\s0, \s-1SHA224\s0, \s-1SHA256\s0, \s-1SHA384\s0, \s-1SHA512\s0, \s-1MD5\s0, \s-1MD5_SHA1\s0, \s-1MD2\s0, \s-1MD4\s0, \s-1MDC2\s0, -\&\s-1SHA3\-224\s0, \s-1SHA3\-256\s0, \s-1SHA3\-384\s0, \s-1SHA3\-512\s0 -.IP "Ed25519 and Ed448" 4 -.IX Item "Ed25519 and Ed448" -Support no digests (the digest \fBtype\fR must be \s-1NULL\s0) -.IP "\s-1HMAC\s0" 4 -.IX Item "HMAC" -Supports any digest -.IP "\s-1CMAC\s0, Poly1305 and SipHash" 4 -.IX Item "CMAC, Poly1305 and SipHash" -Will ignore any digest provided. -.PP -If RSA-PSS is used and restrictions apply then the digest must match. -.PP -\&\fIEVP_DigestVerifyInit()\fR works in the same way as \fIEVP_DigestVerifyInit_ex()\fR except -that the \fBmdname\fR parameter will be inferred from the supplied digest \fBtype\fR, -and \fBprops\fR will be \s-1NULL\s0. Where supplied the \s-1ENGINE\s0 \fBe\fR will be used for the -signature verification and digest algorithm implementations. \fBe\fR may be \s-1NULL\s0. +No \fB\s-1EVP_PKEY_CTX\s0\fR will be created by \fIEVP_DigestSignInit()\fR if the passed \fBctx\fR +has already been assigned one via \fIEVP_MD_CTX_set_pkey_ctx\fR\|(3). See also \s-1\fISM2\s0\fR\|(7). .PP \&\fIEVP_DigestVerifyUpdate()\fR hashes \fBcnt\fR bytes of data at \fBd\fR into the verification context \fBctx\fR. This function can be called several times on the -same \fBctx\fR to include additional data. +same \fBctx\fR to include additional data. This function is currently implemented +using a macro. .PP \&\fIEVP_DigestVerifyFinal()\fR verifies the data in \fBctx\fR against the signature in \&\fBsig\fR of length \fBsiglen\fR. @@ -276,22 +218,17 @@ will occur. \&\fIEVP_DigestInit\fR\|(3), \&\fIevp\fR\|(7), \s-1\fIHMAC\s0\fR\|(3), \s-1\fIMD2\s0\fR\|(3), \&\s-1\fIMD5\s0\fR\|(3), \s-1\fIMDC2\s0\fR\|(3), \s-1\fIRIPEMD160\s0\fR\|(3), -\&\s-1\fISHA1\s0\fR\|(3), \fIopenssl\-dgst\fR\|(1), +\&\s-1\fISHA1\s0\fR\|(3), \fIdgst\fR\|(1), \&\s-1\fIRAND\s0\fR\|(7) .SH "HISTORY" .IX Header "HISTORY" \&\fIEVP_DigestVerifyInit()\fR, \fIEVP_DigestVerifyUpdate()\fR and \fIEVP_DigestVerifyFinal()\fR were added in OpenSSL 1.0.0. -.PP -\&\fIEVP_DigestVerifyInit_ex()\fR was added in OpenSSL 3.0. -.PP -\&\fIEVP_DigestVerifyUpdate()\fR was converted from a macro to a function in OpenSSL -3.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2006\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2006\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_DigestVerifyUpdate.3 b/linux_amd64/share/man/man3/EVP_DigestVerifyUpdate.3 new file mode 120000 index 0000000..fc7742c --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_DigestVerifyUpdate.3 @@ -0,0 +1 @@ +EVP_DigestVerifyInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_ENCODE_CTX_copy.3 b/linux_amd64/share/man/man3/EVP_ENCODE_CTX_copy.3 new file mode 120000 index 0000000..332ef77 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_ENCODE_CTX_copy.3 @@ -0,0 +1 @@ +EVP_EncodeInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_ENCODE_CTX_free.3 b/linux_amd64/share/man/man3/EVP_ENCODE_CTX_free.3 new file mode 120000 index 0000000..332ef77 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_ENCODE_CTX_free.3 @@ -0,0 +1 @@ +EVP_EncodeInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_ENCODE_CTX_new.3 b/linux_amd64/share/man/man3/EVP_ENCODE_CTX_new.3 new file mode 120000 index 0000000..332ef77 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_ENCODE_CTX_new.3 @@ -0,0 +1 @@ +EVP_EncodeInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_ENCODE_CTX_num.3 b/linux_amd64/share/man/man3/EVP_ENCODE_CTX_num.3 new file mode 120000 index 0000000..332ef77 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_ENCODE_CTX_num.3 @@ -0,0 +1 @@ +EVP_EncodeInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_EncodeBlock.3 b/linux_amd64/share/man/man3/EVP_EncodeBlock.3 new file mode 120000 index 0000000..332ef77 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_EncodeBlock.3 @@ -0,0 +1 @@ +EVP_EncodeInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_EncodeFinal.3 b/linux_amd64/share/man/man3/EVP_EncodeFinal.3 new file mode 120000 index 0000000..332ef77 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_EncodeFinal.3 @@ -0,0 +1 @@ +EVP_EncodeInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_EncodeInit.3 b/linux_amd64/share/man/man3/EVP_EncodeInit.3 index f5eb6b8..19d5972 100755 --- a/linux_amd64/share/man/man3/EVP_EncodeInit.3 +++ b/linux_amd64/share/man/man3/EVP_EncodeInit.3 @@ -124,16 +124,13 @@ .\" ======================================================================== .\" .IX Title "EVP_ENCODEINIT 3" -.TH EVP_ENCODEINIT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_ENCODEINIT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_ENCODE_CTX_new, EVP_ENCODE_CTX_free, EVP_ENCODE_CTX_copy, -EVP_ENCODE_CTX_num, EVP_EncodeInit, EVP_EncodeUpdate, EVP_EncodeFinal, -EVP_EncodeBlock, EVP_DecodeInit, EVP_DecodeUpdate, EVP_DecodeFinal, -EVP_DecodeBlock \- EVP base 64 encode/decode routines +EVP_ENCODE_CTX_new, EVP_ENCODE_CTX_free, EVP_ENCODE_CTX_copy, EVP_ENCODE_CTX_num, EVP_EncodeInit, EVP_EncodeUpdate, EVP_EncodeFinal, EVP_EncodeBlock, EVP_DecodeInit, EVP_DecodeUpdate, EVP_DecodeFinal, EVP_DecodeBlock \- EVP base 64 encode/decode routines .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -278,7 +275,7 @@ then no more non-padding base 64 characters are expected. .IX Header "COPYRIGHT" Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_EncodeUpdate.3 b/linux_amd64/share/man/man3/EVP_EncodeUpdate.3 new file mode 120000 index 0000000..332ef77 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_EncodeUpdate.3 @@ -0,0 +1 @@ +EVP_EncodeInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_EncryptFinal.3 b/linux_amd64/share/man/man3/EVP_EncryptFinal.3 new file mode 120000 index 0000000..939f273 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_EncryptFinal.3 @@ -0,0 +1 @@ +EVP_EncryptInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_EncryptFinal_ex.3 b/linux_amd64/share/man/man3/EVP_EncryptFinal_ex.3 new file mode 120000 index 0000000..939f273 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_EncryptFinal_ex.3 @@ -0,0 +1 @@ +EVP_EncryptInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_EncryptInit.3 b/linux_amd64/share/man/man3/EVP_EncryptInit.3 index 0da261e..55ebe2e 100755 --- a/linux_amd64/share/man/man3/EVP_EncryptInit.3 +++ b/linux_amd64/share/man/man3/EVP_EncryptInit.3 @@ -124,84 +124,18 @@ .\" ======================================================================== .\" .IX Title "EVP_ENCRYPTINIT 3" -.TH EVP_ENCRYPTINIT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_ENCRYPTINIT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_CIPHER_fetch, -EVP_CIPHER_up_ref, -EVP_CIPHER_free, -EVP_CIPHER_CTX_new, -EVP_CIPHER_CTX_reset, -EVP_CIPHER_CTX_free, -EVP_EncryptInit_ex, -EVP_EncryptUpdate, -EVP_EncryptFinal_ex, -EVP_DecryptInit_ex, -EVP_DecryptUpdate, -EVP_DecryptFinal_ex, -EVP_CipherInit_ex, -EVP_CipherUpdate, -EVP_CipherFinal_ex, -EVP_CIPHER_CTX_set_key_length, -EVP_CIPHER_CTX_ctrl, -EVP_EncryptInit, -EVP_EncryptFinal, -EVP_DecryptInit, -EVP_DecryptFinal, -EVP_CipherInit, -EVP_CipherFinal, -EVP_Cipher, -EVP_get_cipherbyname, -EVP_get_cipherbynid, -EVP_get_cipherbyobj, -EVP_CIPHER_is_a, -EVP_CIPHER_name, -EVP_CIPHER_number, -EVP_CIPHER_names_do_all, -EVP_CIPHER_provider, -EVP_CIPHER_nid, -EVP_CIPHER_get_params, -EVP_CIPHER_gettable_params, -EVP_CIPHER_block_size, -EVP_CIPHER_key_length, -EVP_CIPHER_iv_length, -EVP_CIPHER_flags, -EVP_CIPHER_mode, -EVP_CIPHER_type, -EVP_CIPHER_CTX_cipher, -EVP_CIPHER_CTX_name, -EVP_CIPHER_CTX_nid, -EVP_CIPHER_CTX_get_params, -EVP_CIPHER_gettable_ctx_params, -EVP_CIPHER_CTX_set_params, -EVP_CIPHER_settable_ctx_params, -EVP_CIPHER_CTX_block_size, -EVP_CIPHER_CTX_key_length, -EVP_CIPHER_CTX_iv_length, -EVP_CIPHER_CTX_tag_length, -EVP_CIPHER_CTX_get_app_data, -EVP_CIPHER_CTX_set_app_data, -EVP_CIPHER_CTX_type, -EVP_CIPHER_CTX_flags, -EVP_CIPHER_CTX_mode, -EVP_CIPHER_param_to_asn1, -EVP_CIPHER_asn1_to_param, -EVP_CIPHER_CTX_set_padding, -EVP_enc_null, -EVP_CIPHER_do_all_provided -\&\- EVP cipher routines +EVP_CIPHER_CTX_new, EVP_CIPHER_CTX_reset, EVP_CIPHER_CTX_free, EVP_EncryptInit_ex, EVP_EncryptUpdate, EVP_EncryptFinal_ex, EVP_DecryptInit_ex, EVP_DecryptUpdate, EVP_DecryptFinal_ex, EVP_CipherInit_ex, EVP_CipherUpdate, EVP_CipherFinal_ex, EVP_CIPHER_CTX_set_key_length, EVP_CIPHER_CTX_ctrl, EVP_EncryptInit, EVP_EncryptFinal, EVP_DecryptInit, EVP_DecryptFinal, EVP_CipherInit, EVP_CipherFinal, EVP_get_cipherbyname, EVP_get_cipherbynid, EVP_get_cipherbyobj, EVP_CIPHER_nid, EVP_CIPHER_block_size, EVP_CIPHER_key_length, EVP_CIPHER_iv_length, EVP_CIPHER_flags, EVP_CIPHER_mode, EVP_CIPHER_type, EVP_CIPHER_CTX_cipher, EVP_CIPHER_CTX_nid, EVP_CIPHER_CTX_block_size, EVP_CIPHER_CTX_key_length, EVP_CIPHER_CTX_iv_length, EVP_CIPHER_CTX_get_app_data, EVP_CIPHER_CTX_set_app_data, EVP_CIPHER_CTX_type, EVP_CIPHER_CTX_flags, EVP_CIPHER_CTX_mode, EVP_CIPHER_param_to_asn1, EVP_CIPHER_asn1_to_param, EVP_CIPHER_CTX_set_padding, EVP_enc_null \&\- EVP cipher routines .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include \& -\& EVP_CIPHER *EVP_CIPHER_fetch(OPENSSL_CTX *ctx, const char *algorithm, -\& const char *properties); -\& int EVP_CIPHER_up_ref(EVP_CIPHER *cipher); -\& void EVP_CIPHER_free(EVP_CIPHER *cipher); \& EVP_CIPHER_CTX *EVP_CIPHER_CTX_new(void); \& int EVP_CIPHER_CTX_reset(EVP_CIPHER_CTX *ctx); \& void EVP_CIPHER_CTX_free(EVP_CIPHER_CTX *ctx); @@ -236,9 +170,6 @@ EVP_CIPHER_do_all_provided \& const unsigned char *key, const unsigned char *iv, int enc); \& int EVP_CipherFinal(EVP_CIPHER_CTX *ctx, unsigned char *outm, int *outl); \& -\& int EVP_Cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, -\& const unsigned char *in, unsigned int inl); -\& \& int EVP_CIPHER_CTX_set_padding(EVP_CIPHER_CTX *x, int padding); \& int EVP_CIPHER_CTX_set_key_length(EVP_CIPHER_CTX *x, int keylen); \& int EVP_CIPHER_CTX_ctrl(EVP_CIPHER_CTX *ctx, int type, int arg, void *ptr); @@ -249,13 +180,6 @@ EVP_CIPHER_do_all_provided \& const EVP_CIPHER *EVP_get_cipherbyobj(const ASN1_OBJECT *a); \& \& int EVP_CIPHER_nid(const EVP_CIPHER *e); -\& int EVP_CIPHER_number(const EVP_CIPHER *e); -\& int EVP_CIPHER_is_a(const EVP_CIPHER *cipher, const char *name); -\& void EVP_CIPHER_names_do_all(const EVP_CIPHER *cipher, -\& void (*fn)(const char *name, void *data), -\& void *data); -\& const char *EVP_CIPHER_name(const EVP_CIPHER *cipher); -\& const OSSL_PROVIDER *EVP_CIPHER_provider(const EVP_CIPHER *cipher); \& int EVP_CIPHER_block_size(const EVP_CIPHER *e); \& int EVP_CIPHER_key_length(const EVP_CIPHER *e); \& int EVP_CIPHER_iv_length(const EVP_CIPHER *e); @@ -265,18 +189,9 @@ EVP_CIPHER_do_all_provided \& \& const EVP_CIPHER *EVP_CIPHER_CTX_cipher(const EVP_CIPHER_CTX *ctx); \& int EVP_CIPHER_CTX_nid(const EVP_CIPHER_CTX *ctx); -\& const char *EVP_CIPHER_CTX_name(const EVP_CIPHER_CTX *ctx); -\& -\& int EVP_CIPHER_get_params(EVP_CIPHER *cipher, OSSL_PARAM params[]); -\& int EVP_CIPHER_CTX_set_params(EVP_CIPHER_CTX *ctx, const OSSL_PARAM params[]); -\& int EVP_CIPHER_CTX_get_params(EVP_CIPHER_CTX *ctx, OSSL_PARAM params[]); -\& const OSSL_PARAM *EVP_CIPHER_gettable_params(const EVP_CIPHER *cipher); -\& const OSSL_PARAM *EVP_CIPHER_settable_ctx_params(const EVP_CIPHER *cipher); -\& const OSSL_PARAM *EVP_CIPHER_gettable_ctx_params(const EVP_CIPHER *cipher); \& int EVP_CIPHER_CTX_block_size(const EVP_CIPHER_CTX *ctx); \& int EVP_CIPHER_CTX_key_length(const EVP_CIPHER_CTX *ctx); \& int EVP_CIPHER_CTX_iv_length(const EVP_CIPHER_CTX *ctx); -\& int EVP_CIPHER_CTX_tag_length(const EVP_CIPHER_CTX *ctx); \& void *EVP_CIPHER_CTX_get_app_data(const EVP_CIPHER_CTX *ctx); \& void EVP_CIPHER_CTX_set_app_data(const EVP_CIPHER_CTX *ctx, void *data); \& int EVP_CIPHER_CTX_type(const EVP_CIPHER_CTX *ctx); @@ -284,32 +199,12 @@ EVP_CIPHER_do_all_provided \& \& int EVP_CIPHER_param_to_asn1(EVP_CIPHER_CTX *c, ASN1_TYPE *type); \& int EVP_CIPHER_asn1_to_param(EVP_CIPHER_CTX *c, ASN1_TYPE *type); -\& -\& void EVP_CIPHER_do_all_provided(OPENSSL_CTX *libctx, -\& void (*fn)(EVP_CIPHER *cipher, void *arg), -\& void *arg); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" The \s-1EVP\s0 cipher routines are a high level interface to certain symmetric ciphers. .PP -The \fB\s-1EVP_CIPHER\s0\fR type is a structure for cipher method implementation. -.PP -\&\fIEVP_CIPHER_fetch()\fR fetches the cipher implementation for the given -\&\fBalgorithm\fR from any provider offering it, within the criteria given -by the \fBproperties\fR. -See \*(L"Fetching algorithms\*(R" in \fIprovider\fR\|(7) for further information. -.PP -The returned value must eventually be freed with \fIEVP_CIPHER_free()\fR. -.PP -\&\fIEVP_CIPHER_up_ref()\fR increments the reference count for an \fB\s-1EVP_CIPHER\s0\fR -structure. -.PP -\&\fIEVP_CIPHER_free()\fR decrements the reference count for the \fB\s-1EVP_CIPHER\s0\fR -structure. -If the reference count drops to 0 then the structure is freed. -.PP \&\fIEVP_CIPHER_CTX_new()\fR creates a cipher context. .PP \&\fIEVP_CIPHER_CTX_free()\fR clears all information from a cipher context @@ -319,19 +214,16 @@ cipher are complete so sensitive information does not remain in memory. .PP \&\fIEVP_EncryptInit_ex()\fR sets up cipher context \fBctx\fR for encryption -with cipher \fBtype\fR. \fBtype\fR is typically supplied by a function such -as \fIEVP_aes_256_cbc()\fR, or a value explicitly fetched with -\&\fIEVP_CIPHER_fetch()\fR. If \fBimpl\fR is non-NULL, its implementation of the -cipher \fBtype\fR is used if there is one, and if not, the default -implementation is used. \fBkey\fR is the symmetric key to use +with cipher \fBtype\fR from \s-1ENGINE\s0 \fBimpl\fR. \fBctx\fR must be created +before calling this function. \fBtype\fR is normally supplied +by a function such as \fIEVP_aes_256_cbc()\fR. If \fBimpl\fR is \s-1NULL\s0 then the +default implementation is used. \fBkey\fR is the symmetric key to use and \fBiv\fR is the \s-1IV\s0 to use (if necessary), the actual number of bytes used for the key and \s-1IV\s0 depends on the cipher. It is possible to set all parameters to \s-1NULL\s0 except \fBtype\fR in an initial call and supply the remaining parameters in subsequent calls, all of which have \fBtype\fR set to \s-1NULL\s0. This is done when the default cipher parameters are not appropriate. -For \s-1EVP_CIPH_GCM_MODE\s0 the \s-1IV\s0 will be generated internally if it is not -specified. .PP \&\fIEVP_EncryptUpdate()\fR encrypts \fBinl\fR bytes from the buffer \fBin\fR and writes the encrypted version to \fBout\fR. This function can be called @@ -387,15 +279,6 @@ identical to \fIEVP_EncryptFinal_ex()\fR, \fIEVP_DecryptFinal_ex()\fR and the \fBctx\fR, but this is no longer done and \fIEVP_CIPHER_CTX_clean()\fR must be called to free any context resources. .PP -\&\fIEVP_Cipher()\fR encrypts or decrypts a maximum \fIinl\fR amount of bytes from -\&\fIin\fR and leaves the result in \fIout\fR. -If the cipher doesn't have the flag \fB\s-1EVP_CIPH_FLAG_CUSTOM_CIPHER\s0\fR set, -then \fIinl\fR must be a multiple of \fIEVP_CIPHER_block_size()\fR. If it isn't, -the result is undefined. If the cipher has that flag set, then \fIinl\fR -can be any size. -This function is historic and shouldn't be used in an application, please -consider using \fIEVP_CipherUpdate()\fR and EVP_CipherFinal_ex instead. -.PP \&\fIEVP_get_cipherbyname()\fR, \fIEVP_get_cipherbynid()\fR and \fIEVP_get_cipherbyobj()\fR return an \s-1EVP_CIPHER\s0 structure when passed a cipher name, a \s-1NID\s0 or an \&\s-1ASN1_OBJECT\s0 structure. @@ -414,22 +297,6 @@ decrypting. If the \fBpad\fR parameter is zero then no padding is performed, the total amount of data encrypted or decrypted must then be a multiple of the block size or an error will occur. .PP -\&\fIEVP_CIPHER_get_params()\fR retrieves the requested list of algorithm -\&\fBparams\fR from a \fBcipher\fR. -.PP -\&\fIEVP_CIPHER_CTX_set_params()\fR Sets the list of operation \fBparams\fR into a \s-1CIPHER\s0 -context \fBctx\fR. -.PP -\&\fIEVP_CIPHER_CTX_get_params()\fR retrieves the requested list of operation -\&\fBparams\fR from \s-1CIPHER\s0 context \fBctx\fR. -.PP -\&\fIEVP_CIPHER_gettable_params()\fR, \fIEVP_CIPHER_gettable_ctx_params()\fR, and -\&\fIEVP_CIPHER_settable_ctx_params()\fR get a constant \fB\s-1OSSL_PARAM\s0\fR array -that describes the retrievable and settable parameters, i.e. parameters -that can be used with \fIEVP_CIPHER_get_params()\fR, \fIEVP_CIPHER_CTX_get_params()\fR -and \fIEVP_CIPHER_CTX_set_params()\fR, respectively. -See \s-1\fIOSSL_PARAM\s0\fR\|(3) for the use of \fB\s-1OSSL_PARAM\s0\fR as parameter descriptor. -.PP \&\fIEVP_CIPHER_key_length()\fR and \fIEVP_CIPHER_CTX_key_length()\fR return the key length of a cipher when passed an \fB\s-1EVP_CIPHER\s0\fR or \fB\s-1EVP_CIPHER_CTX\s0\fR structure. The constant \fB\s-1EVP_MAX_KEY_LENGTH\s0\fR is the maximum key length @@ -446,10 +313,6 @@ length of a cipher when passed an \fB\s-1EVP_CIPHER\s0\fR or \fB\s-1EVP_CIPHER_C It will return zero if the cipher does not use an \s-1IV\s0. The constant \&\fB\s-1EVP_MAX_IV_LENGTH\s0\fR is the maximum \s-1IV\s0 length for all ciphers. .PP -\&\fIEVP_CIPHER_CTX_tag_length()\fR returns the tag length of a \s-1AEAD\s0 cipher when passed -a \fB\s-1EVP_CIPHER_CTX\s0\fR. It will return zero if the cipher does not support a tag. -It returns a default value if the tag length has not been set. -.PP \&\fIEVP_CIPHER_block_size()\fR and \fIEVP_CIPHER_CTX_block_size()\fR return the block size of a cipher when passed an \fB\s-1EVP_CIPHER\s0\fR or \fB\s-1EVP_CIPHER_CTX\s0\fR structure. The constant \fB\s-1EVP_MAX_BLOCK_LENGTH\s0\fR is also the maximum block @@ -462,39 +325,14 @@ cipher or context. This \*(L"type\*(R" is the actual \s-1NID\s0 of the cipher \s identifier or does not have \s-1ASN1\s0 support this function will return \&\fBNID_undef\fR. .PP -\&\fIEVP_CIPHER_is_a()\fR returns 1 if \fIcipher\fR is an implementation of an -algorithm that's identifiable with \fIname\fR, otherwise 0. -If \fIcipher\fR is a legacy cipher (it's the return value from the likes -of \fIEVP_aes128()\fR rather than the result of an \fIEVP_CIPHER_fetch()\fR), only -cipher names registered with the default library context (see -\&\s-1\fIOPENSSL_CTX\s0\fR\|(3)) will be considered. -.PP -\&\fIEVP_CIPHER_number()\fR returns the internal dynamic number assigned to -the \fIcipher\fR. This is only useful with fetched \fB\s-1EVP_CIPHER\s0\fRs. -.PP -\&\fIEVP_CIPHER_name()\fR and \fIEVP_CIPHER_CTX_name()\fR return the name of the passed -cipher or context. For fetched ciphers with multiple names, only one -of them is returned; it's recommended to use \fIEVP_CIPHER_names_do_all()\fR -instead. -.PP -\&\fIEVP_CIPHER_names_do_all()\fR traverses all names for the \fIcipher\fR, and -calls \fIfn\fR with each name and \fIdata\fR. This is only useful with -fetched \fB\s-1EVP_CIPHER\s0\fRs. -.PP -\&\fIEVP_CIPHER_provider()\fR returns an \fB\s-1OSSL_PROVIDER\s0\fR pointer to the provider -that implements the given \fB\s-1EVP_CIPHER\s0\fR. -.PP \&\fIEVP_CIPHER_CTX_cipher()\fR returns the \fB\s-1EVP_CIPHER\s0\fR structure when passed an \fB\s-1EVP_CIPHER_CTX\s0\fR structure. .PP \&\fIEVP_CIPHER_mode()\fR and \fIEVP_CIPHER_CTX_mode()\fR return the block cipher mode: \&\s-1EVP_CIPH_ECB_MODE\s0, \s-1EVP_CIPH_CBC_MODE\s0, \s-1EVP_CIPH_CFB_MODE\s0, \s-1EVP_CIPH_OFB_MODE\s0, \&\s-1EVP_CIPH_CTR_MODE\s0, \s-1EVP_CIPH_GCM_MODE\s0, \s-1EVP_CIPH_CCM_MODE\s0, \s-1EVP_CIPH_XTS_MODE\s0, -\&\s-1EVP_CIPH_WRAP_MODE\s0, \s-1EVP_CIPH_OCB_MODE\s0 or \s-1EVP_CIPH_SIV_MODE\s0. If the cipher is a -stream cipher then \s-1EVP_CIPH_STREAM_CIPHER\s0 is returned. -.PP -\&\fIEVP_CIPHER_flags()\fR returns any flags associated with the cipher. See -\&\fIEVP_CIPHER_meth_set_flags()\fR for a list of currently defined flags. +\&\s-1EVP_CIPH_WRAP_MODE\s0 or \s-1EVP_CIPH_OCB_MODE\s0. If the cipher is a stream cipher then +\&\s-1EVP_CIPH_STREAM_CIPHER\s0 is returned. .PP \&\fIEVP_CIPHER_param_to_asn1()\fR sets the AlgorithmIdentifier \*(L"parameter\*(R" based on the passed cipher. This will typically include any parameters and an @@ -521,18 +359,8 @@ and set. based on the cipher context. The \s-1EVP_CIPHER\s0 can provide its own random key generation routine to support keys of a specific form. \fBKey\fR must point to a buffer at least as big as the value returned by \fIEVP_CIPHER_CTX_key_length()\fR. -.PP -\&\fIEVP_CIPHER_do_all_provided()\fR traverses all ciphers implemented by all activated -providers in the given library context \fIlibctx\fR, and for each of the -implementations, calls the given function \fIfn\fR with the implementation method -and the given \fIarg\fR as argument. .SH "RETURN VALUES" .IX Header "RETURN VALUES" -\&\fIEVP_CIPHER_fetch()\fR returns a pointer to a \fB\s-1EVP_CIPHER\s0\fR for success -and \fB\s-1NULL\s0\fR for failure. -.PP -\&\fIEVP_CIPHER_up_ref()\fR returns 1 for success or 0 otherwise. -.PP \&\fIEVP_CIPHER_CTX_new()\fR returns a pointer to a newly created \&\fB\s-1EVP_CIPHER_CTX\s0\fR for success and \fB\s-1NULL\s0\fR for failure. .PP @@ -545,11 +373,6 @@ return 1 for success and 0 for failure. \&\fIEVP_CipherInit_ex()\fR and \fIEVP_CipherUpdate()\fR return 1 for success and 0 for failure. \&\fIEVP_CipherFinal_ex()\fR returns 0 for a decryption failure or 1 for success. .PP -\&\fIEVP_Cipher()\fR returns the amount of encrypted / decrypted bytes, or \-1 -on failure, if the flag \fB\s-1EVP_CIPH_FLAG_CUSTOM_CIPHER\s0\fR is set for the -cipher. \fIEVP_Cipher()\fR returns 1 on success or 0 on failure, if the flag -\&\fB\s-1EVP_CIPH_FLAG_CUSTOM_CIPHER\s0\fR is not set for the cipher. -.PP \&\fIEVP_CIPHER_CTX_reset()\fR returns 1 for success and 0 for failure. .PP \&\fIEVP_get_cipherbyname()\fR, \fIEVP_get_cipherbynid()\fR and \fIEVP_get_cipherbyobj()\fR @@ -568,9 +391,6 @@ length. \&\fIEVP_CIPHER_iv_length()\fR and \fIEVP_CIPHER_CTX_iv_length()\fR return the \s-1IV\s0 length or zero if the cipher does not use an \s-1IV\s0. .PP -\&\fIEVP_CIPHER_CTX_tag_length()\fR return the tag length or zero if the cipher does not -use a tag. -.PP \&\fIEVP_CIPHER_type()\fR and \fIEVP_CIPHER_CTX_type()\fR return the \s-1NID\s0 of the cipher's \&\s-1OBJECT\s0 \s-1IDENTIFIER\s0 or NID_undef if it has no defined \s-1OBJECT\s0 \s-1IDENTIFIER\s0. .PP @@ -589,8 +409,8 @@ interface. .IP "\fIEVP_enc_null()\fR" 4 .IX Item "EVP_enc_null()" Null cipher: does nothing. -.SH "AEAD INTERFACE" -.IX Header "AEAD INTERFACE" +.SH "AEAD Interface" +.IX Header "AEAD Interface" The \s-1EVP\s0 interface for Authenticated Encryption with Associated Data (\s-1AEAD\s0) modes are subtly altered and several additional \fIctrl\fR operations are supported depending on the mode specified. @@ -656,7 +476,7 @@ the length of the tag (with the \f(CW\*(C`tag\*(C'\fR parameter set to \s-1NULL\ The tag length is often referred to as \fBM\fR. If not set a default value is used (12 for \s-1AES\s0). When decrypting, the tag needs to be set before passing in data to be decrypted, but as in \s-1GCM\s0 and \s-1OCB\s0 mode, it can be set after -passing additional authenticated data (see \*(L"\s-1AEAD\s0 \s-1INTERFACE\s0\*(R"). +passing additional authenticated data (see \*(L"\s-1AEAD\s0 Interface\*(R"). .IP "EVP_CIPHER_CTX_ctrl(ctx, \s-1EVP_CTRL_CCM_SET_L\s0, ivlen, \s-1NULL\s0)" 4 .IX Item "EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_CCM_SET_L, ivlen, NULL)" Sets the \s-1CCM\s0 \fBL\fR value. If not set a default is used (8 for \s-1AES\s0). @@ -665,42 +485,6 @@ Sets the \s-1CCM\s0 \fBL\fR value. If not set a default is used (8 for \s-1AES\s Sets the \s-1CCM\s0 nonce (\s-1IV\s0) length. This call can only be made before specifying an nonce value. The nonce length is given by \fB15 \- L\fR so it is 7 by default for \&\s-1AES\s0. -.SS "\s-1SIV\s0 Mode" -.IX Subsection "SIV Mode" -For \s-1SIV\s0 mode ciphers the behaviour of the \s-1EVP\s0 interface is subtly -altered and several additional ctrl operations are supported. -.PP -To specify any additional authenticated data (\s-1AAD\s0) and/or a Nonce, a call to -\&\fIEVP_CipherUpdate()\fR, \fIEVP_EncryptUpdate()\fR or \fIEVP_DecryptUpdate()\fR should be made -with the output parameter \fBout\fR set to \fB\s-1NULL\s0\fR. -.PP -\&\s-1RFC5297\s0 states that the Nonce is the last piece of \s-1AAD\s0 before the actual -encrypt/decrypt takes place. The \s-1API\s0 does not differentiate the Nonce from -other \s-1AAD\s0. -.PP -When decrypting the return value of \fIEVP_DecryptFinal()\fR or \fIEVP_CipherFinal()\fR -indicates if the operation was successful. If it does not indicate success -the authentication operation has failed and any output data \fB\s-1MUST\s0 \s-1NOT\s0\fR -be used as it is corrupted. -.PP -The following ctrls are supported in both \s-1SIV\s0 modes. -.IP "EVP_CIPHER_CTX_ctrl(ctx, \s-1EVP_CTRL_AEAD_GET_TAG\s0, taglen, tag);" 4 -.IX Item "EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_GET_TAG, taglen, tag);" -Writes \fBtaglen\fR bytes of the tag value to the buffer indicated by \fBtag\fR. -This call can only be made when encrypting data and \fBafter\fR all data has been -processed (e.g. after an \fIEVP_EncryptFinal()\fR call). For \s-1SIV\s0 mode the taglen must -be 16. -.IP "EVP_CIPHER_CTX_ctrl(ctx, \s-1EVP_CTRL_AEAD_SET_TAG\s0, taglen, tag);" 4 -.IX Item "EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_SET_TAG, taglen, tag);" -Sets the expected tag to \fBtaglen\fR bytes from \fBtag\fR. This call is only legal -when decrypting data and must be made \fBbefore\fR any data is processed (e.g. -before any \fIEVP_DecryptUpdate()\fR call). For \s-1SIV\s0 mode the taglen must be 16. -.PP -\&\s-1SIV\s0 mode makes two passes over the input data, thus, only one call to -\&\fIEVP_CipherUpdate()\fR, \fIEVP_EncryptUpdate()\fR or \fIEVP_DecryptUpdate()\fR should be made -with \fBout\fR set to a non\-\fB\s-1NULL\s0\fR value. A call to \fIEVP_Decrypt_Final()\fR or -\&\fIEVP_CipherFinal()\fR is not required, but will indicate if the update -operation succeeded. .SS "ChaCha20\-Poly1305" .IX Subsection "ChaCha20-Poly1305" The following \fIctrl\fRs are supported for the ChaCha20\-Poly1305 \s-1AEAD\s0 algorithm. @@ -895,20 +679,20 @@ with a 128\-bit key: .PP Supported ciphers are listed in: .PP -\&\fIEVP_aes_128_gcm\fR\|(3), -\&\fIEVP_aria_128_gcm\fR\|(3), -\&\fIEVP_bf_cbc\fR\|(3), -\&\fIEVP_camellia_128_ecb\fR\|(3), -\&\fIEVP_cast5_cbc\fR\|(3), +\&\fIEVP_aes\fR\|(3), +\&\fIEVP_aria\fR\|(3), +\&\fIEVP_bf\fR\|(3), +\&\fIEVP_camellia\fR\|(3), +\&\fIEVP_cast5\fR\|(3), \&\fIEVP_chacha20\fR\|(3), -\&\fIEVP_des_cbc\fR\|(3), -\&\fIEVP_desx_cbc\fR\|(3), -\&\fIEVP_idea_cbc\fR\|(3), -\&\fIEVP_rc2_cbc\fR\|(3), +\&\fIEVP_des\fR\|(3), +\&\fIEVP_desx\fR\|(3), +\&\fIEVP_idea\fR\|(3), +\&\fIEVP_rc2\fR\|(3), \&\fIEVP_rc4\fR\|(3), -\&\fIEVP_rc5_32_12_16_cbc\fR\|(3), -\&\fIEVP_seed_cbc\fR\|(3), -\&\fIEVP_sm4_cbc\fR\|(3) +\&\fIEVP_rc5\fR\|(3), +\&\fIEVP_seed\fR\|(3), +\&\fIEVP_sm4\fR\|(3) .SH "HISTORY" .IX Header "HISTORY" Support for \s-1OCB\s0 mode was added in OpenSSL 1.1.0. @@ -917,15 +701,11 @@ Support for \s-1OCB\s0 mode was added in OpenSSL 1.1.0. \&\fIEVP_CIPHER_CTX_reset()\fR appeared and \fIEVP_CIPHER_CTX_cleanup()\fR disappeared. \fIEVP_CIPHER_CTX_init()\fR remains as an alias for \&\fIEVP_CIPHER_CTX_reset()\fR. -.PP -The \fIEVP_CIPHER_fetch()\fR, \fIEVP_CIPHER_free()\fR, \fIEVP_CIPHER_up_ref()\fR, -\&\fIEVP_CIPHER_CTX_set_params()\fR and \fIEVP_CIPHER_CTX_get_params()\fR functions -were added in 3.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_EncryptInit_ex.3 b/linux_amd64/share/man/man3/EVP_EncryptInit_ex.3 new file mode 120000 index 0000000..939f273 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_EncryptInit_ex.3 @@ -0,0 +1 @@ +EVP_EncryptInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_EncryptUpdate.3 b/linux_amd64/share/man/man3/EVP_EncryptUpdate.3 new file mode 120000 index 0000000..939f273 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_EncryptUpdate.3 @@ -0,0 +1 @@ +EVP_EncryptInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_MD_CTX_block_size.3 b/linux_amd64/share/man/man3/EVP_MD_CTX_block_size.3 new file mode 120000 index 0000000..3f2985e --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_MD_CTX_block_size.3 @@ -0,0 +1 @@ +EVP_DigestInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_MD_CTX_clear_flags.3 b/linux_amd64/share/man/man3/EVP_MD_CTX_clear_flags.3 new file mode 120000 index 0000000..3f2985e --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_MD_CTX_clear_flags.3 @@ -0,0 +1 @@ +EVP_DigestInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_MD_CTX_copy.3 b/linux_amd64/share/man/man3/EVP_MD_CTX_copy.3 new file mode 120000 index 0000000..3f2985e --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_MD_CTX_copy.3 @@ -0,0 +1 @@ +EVP_DigestInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_MD_CTX_copy_ex.3 b/linux_amd64/share/man/man3/EVP_MD_CTX_copy_ex.3 new file mode 120000 index 0000000..3f2985e --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_MD_CTX_copy_ex.3 @@ -0,0 +1 @@ +EVP_DigestInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_MD_CTX_ctrl.3 b/linux_amd64/share/man/man3/EVP_MD_CTX_ctrl.3 new file mode 120000 index 0000000..3f2985e --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_MD_CTX_ctrl.3 @@ -0,0 +1 @@ +EVP_DigestInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_MD_CTX_free.3 b/linux_amd64/share/man/man3/EVP_MD_CTX_free.3 new file mode 120000 index 0000000..3f2985e --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_MD_CTX_free.3 @@ -0,0 +1 @@ +EVP_DigestInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_MD_CTX_md.3 b/linux_amd64/share/man/man3/EVP_MD_CTX_md.3 new file mode 120000 index 0000000..3f2985e --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_MD_CTX_md.3 @@ -0,0 +1 @@ +EVP_DigestInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_MD_CTX_md_data.3 b/linux_amd64/share/man/man3/EVP_MD_CTX_md_data.3 new file mode 120000 index 0000000..3f2985e --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_MD_CTX_md_data.3 @@ -0,0 +1 @@ +EVP_DigestInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_MD_CTX_new.3 b/linux_amd64/share/man/man3/EVP_MD_CTX_new.3 new file mode 120000 index 0000000..3f2985e --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_MD_CTX_new.3 @@ -0,0 +1 @@ +EVP_DigestInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_MD_CTX_pkey_ctx.3 b/linux_amd64/share/man/man3/EVP_MD_CTX_pkey_ctx.3 new file mode 120000 index 0000000..3f2985e --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_MD_CTX_pkey_ctx.3 @@ -0,0 +1 @@ +EVP_DigestInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_MD_CTX_reset.3 b/linux_amd64/share/man/man3/EVP_MD_CTX_reset.3 new file mode 120000 index 0000000..3f2985e --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_MD_CTX_reset.3 @@ -0,0 +1 @@ +EVP_DigestInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_MD_CTX_set_flags.3 b/linux_amd64/share/man/man3/EVP_MD_CTX_set_flags.3 new file mode 120000 index 0000000..3f2985e --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_MD_CTX_set_flags.3 @@ -0,0 +1 @@ +EVP_DigestInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_MD_CTX_set_pkey_ctx.3 b/linux_amd64/share/man/man3/EVP_MD_CTX_set_pkey_ctx.3 new file mode 120000 index 0000000..3f2985e --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_MD_CTX_set_pkey_ctx.3 @@ -0,0 +1 @@ +EVP_DigestInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_MD_CTX_set_update_fn.3 b/linux_amd64/share/man/man3/EVP_MD_CTX_set_update_fn.3 new file mode 120000 index 0000000..3f2985e --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_MD_CTX_set_update_fn.3 @@ -0,0 +1 @@ +EVP_DigestInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_MD_CTX_size.3 b/linux_amd64/share/man/man3/EVP_MD_CTX_size.3 new file mode 120000 index 0000000..3f2985e --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_MD_CTX_size.3 @@ -0,0 +1 @@ +EVP_DigestInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_MD_CTX_test_flags.3 b/linux_amd64/share/man/man3/EVP_MD_CTX_test_flags.3 new file mode 120000 index 0000000..3f2985e --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_MD_CTX_test_flags.3 @@ -0,0 +1 @@ +EVP_DigestInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_MD_CTX_type.3 b/linux_amd64/share/man/man3/EVP_MD_CTX_type.3 new file mode 120000 index 0000000..3f2985e --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_MD_CTX_type.3 @@ -0,0 +1 @@ +EVP_DigestInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_MD_CTX_update_fn.3 b/linux_amd64/share/man/man3/EVP_MD_CTX_update_fn.3 new file mode 120000 index 0000000..3f2985e --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_MD_CTX_update_fn.3 @@ -0,0 +1 @@ +EVP_DigestInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_MD_block_size.3 b/linux_amd64/share/man/man3/EVP_MD_block_size.3 new file mode 120000 index 0000000..3f2985e --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_MD_block_size.3 @@ -0,0 +1 @@ +EVP_DigestInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_MD_flags.3 b/linux_amd64/share/man/man3/EVP_MD_flags.3 new file mode 120000 index 0000000..3f2985e --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_MD_flags.3 @@ -0,0 +1 @@ +EVP_DigestInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_MD_meth_dup.3 b/linux_amd64/share/man/man3/EVP_MD_meth_dup.3 new file mode 120000 index 0000000..3e59e2a --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_MD_meth_dup.3 @@ -0,0 +1 @@ +EVP_MD_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_MD_meth_free.3 b/linux_amd64/share/man/man3/EVP_MD_meth_free.3 new file mode 120000 index 0000000..3e59e2a --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_MD_meth_free.3 @@ -0,0 +1 @@ +EVP_MD_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_MD_meth_get_app_datasize.3 b/linux_amd64/share/man/man3/EVP_MD_meth_get_app_datasize.3 new file mode 120000 index 0000000..3e59e2a --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_MD_meth_get_app_datasize.3 @@ -0,0 +1 @@ +EVP_MD_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_MD_meth_get_cleanup.3 b/linux_amd64/share/man/man3/EVP_MD_meth_get_cleanup.3 new file mode 120000 index 0000000..3e59e2a --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_MD_meth_get_cleanup.3 @@ -0,0 +1 @@ +EVP_MD_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_MD_meth_get_copy.3 b/linux_amd64/share/man/man3/EVP_MD_meth_get_copy.3 new file mode 120000 index 0000000..3e59e2a --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_MD_meth_get_copy.3 @@ -0,0 +1 @@ +EVP_MD_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_MD_meth_get_ctrl.3 b/linux_amd64/share/man/man3/EVP_MD_meth_get_ctrl.3 new file mode 120000 index 0000000..3e59e2a --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_MD_meth_get_ctrl.3 @@ -0,0 +1 @@ +EVP_MD_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_MD_meth_get_final.3 b/linux_amd64/share/man/man3/EVP_MD_meth_get_final.3 new file mode 120000 index 0000000..3e59e2a --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_MD_meth_get_final.3 @@ -0,0 +1 @@ +EVP_MD_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_MD_meth_get_flags.3 b/linux_amd64/share/man/man3/EVP_MD_meth_get_flags.3 new file mode 120000 index 0000000..3e59e2a --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_MD_meth_get_flags.3 @@ -0,0 +1 @@ +EVP_MD_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_MD_meth_get_init.3 b/linux_amd64/share/man/man3/EVP_MD_meth_get_init.3 new file mode 120000 index 0000000..3e59e2a --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_MD_meth_get_init.3 @@ -0,0 +1 @@ +EVP_MD_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_MD_meth_get_input_blocksize.3 b/linux_amd64/share/man/man3/EVP_MD_meth_get_input_blocksize.3 new file mode 120000 index 0000000..3e59e2a --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_MD_meth_get_input_blocksize.3 @@ -0,0 +1 @@ +EVP_MD_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_MD_meth_get_result_size.3 b/linux_amd64/share/man/man3/EVP_MD_meth_get_result_size.3 new file mode 120000 index 0000000..3e59e2a --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_MD_meth_get_result_size.3 @@ -0,0 +1 @@ +EVP_MD_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_MD_meth_get_update.3 b/linux_amd64/share/man/man3/EVP_MD_meth_get_update.3 new file mode 120000 index 0000000..3e59e2a --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_MD_meth_get_update.3 @@ -0,0 +1 @@ +EVP_MD_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_MD_meth_new.3 b/linux_amd64/share/man/man3/EVP_MD_meth_new.3 index 407066a..d28a346 100755 --- a/linux_amd64/share/man/man3/EVP_MD_meth_new.3 +++ b/linux_amd64/share/man/man3/EVP_MD_meth_new.3 @@ -124,23 +124,13 @@ .\" ======================================================================== .\" .IX Title "EVP_MD_METH_NEW 3" -.TH EVP_MD_METH_NEW 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_MD_METH_NEW 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_MD_meth_new, EVP_MD_meth_dup, EVP_MD_meth_free, -EVP_MD_meth_set_input_blocksize, -EVP_MD_meth_set_result_size, EVP_MD_meth_set_app_datasize, -EVP_MD_meth_set_flags, EVP_MD_meth_set_init, EVP_MD_meth_set_update, -EVP_MD_meth_set_final, EVP_MD_meth_set_copy, EVP_MD_meth_set_cleanup, -EVP_MD_meth_set_ctrl, EVP_MD_meth_get_input_blocksize, -EVP_MD_meth_get_result_size, EVP_MD_meth_get_app_datasize, -EVP_MD_meth_get_flags, EVP_MD_meth_get_init, EVP_MD_meth_get_update, -EVP_MD_meth_get_final, EVP_MD_meth_get_copy, EVP_MD_meth_get_cleanup, -EVP_MD_meth_get_ctrl -\&\- Routines to build up legacy EVP_MD methods +EVP_MD_meth_dup, EVP_MD_meth_new, EVP_MD_meth_free, EVP_MD_meth_set_input_blocksize, EVP_MD_meth_set_result_size, EVP_MD_meth_set_app_datasize, EVP_MD_meth_set_flags, EVP_MD_meth_set_init, EVP_MD_meth_set_update, EVP_MD_meth_set_final, EVP_MD_meth_set_copy, EVP_MD_meth_set_cleanup, EVP_MD_meth_set_ctrl, EVP_MD_meth_get_input_blocksize, EVP_MD_meth_get_result_size, EVP_MD_meth_get_app_datasize, EVP_MD_meth_get_flags, EVP_MD_meth_get_init, EVP_MD_meth_get_update, EVP_MD_meth_get_final, EVP_MD_meth_get_copy, EVP_MD_meth_get_cleanup, EVP_MD_meth_get_ctrl \&\- Routines to build up EVP_MD methods .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -189,12 +179,10 @@ It can also have associated public/private key signing and verifying routines. .PP \&\fIEVP_MD_meth_new()\fR creates a new \fB\s-1EVP_MD\s0\fR structure. -These \fB\s-1EVP_MD\s0\fR structures are reference counted. .PP \&\fIEVP_MD_meth_dup()\fR creates a copy of \fBmd\fR. .PP -\&\fIEVP_MD_meth_free()\fR decrements the reference count for the \fB\s-1EVP_MD\s0\fR structure. -If the reference count drops to 0 then the structure is freed. +\&\fIEVP_MD_meth_free()\fR destroys a \fB\s-1EVP_MD\s0\fR structure. .PP \&\fIEVP_MD_meth_set_input_blocksize()\fR sets the internal input block size for the method \fBmd\fR to \fBblocksize\fR bytes. @@ -293,15 +281,12 @@ respective \fBmd\fR function. .SH "HISTORY" .IX Header "HISTORY" The \fB\s-1EVP_MD\s0\fR structure was openly available in OpenSSL before version -1.1. -The functions described here were added in OpenSSL 1.1. -The \fB\s-1EVP_MD\s0\fR structure created with these functions became reference -counted in OpenSSL 3.0. +1.1. The functions described here were added in OpenSSL 1.1. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2015\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_MD_meth_set_app_datasize.3 b/linux_amd64/share/man/man3/EVP_MD_meth_set_app_datasize.3 new file mode 120000 index 0000000..3e59e2a --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_MD_meth_set_app_datasize.3 @@ -0,0 +1 @@ +EVP_MD_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_MD_meth_set_cleanup.3 b/linux_amd64/share/man/man3/EVP_MD_meth_set_cleanup.3 new file mode 120000 index 0000000..3e59e2a --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_MD_meth_set_cleanup.3 @@ -0,0 +1 @@ +EVP_MD_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_MD_meth_set_copy.3 b/linux_amd64/share/man/man3/EVP_MD_meth_set_copy.3 new file mode 120000 index 0000000..3e59e2a --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_MD_meth_set_copy.3 @@ -0,0 +1 @@ +EVP_MD_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_MD_meth_set_ctrl.3 b/linux_amd64/share/man/man3/EVP_MD_meth_set_ctrl.3 new file mode 120000 index 0000000..3e59e2a --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_MD_meth_set_ctrl.3 @@ -0,0 +1 @@ +EVP_MD_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_MD_meth_set_final.3 b/linux_amd64/share/man/man3/EVP_MD_meth_set_final.3 new file mode 120000 index 0000000..3e59e2a --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_MD_meth_set_final.3 @@ -0,0 +1 @@ +EVP_MD_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_MD_meth_set_flags.3 b/linux_amd64/share/man/man3/EVP_MD_meth_set_flags.3 new file mode 120000 index 0000000..3e59e2a --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_MD_meth_set_flags.3 @@ -0,0 +1 @@ +EVP_MD_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_MD_meth_set_init.3 b/linux_amd64/share/man/man3/EVP_MD_meth_set_init.3 new file mode 120000 index 0000000..3e59e2a --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_MD_meth_set_init.3 @@ -0,0 +1 @@ +EVP_MD_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_MD_meth_set_input_blocksize.3 b/linux_amd64/share/man/man3/EVP_MD_meth_set_input_blocksize.3 new file mode 120000 index 0000000..3e59e2a --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_MD_meth_set_input_blocksize.3 @@ -0,0 +1 @@ +EVP_MD_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_MD_meth_set_result_size.3 b/linux_amd64/share/man/man3/EVP_MD_meth_set_result_size.3 new file mode 120000 index 0000000..3e59e2a --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_MD_meth_set_result_size.3 @@ -0,0 +1 @@ +EVP_MD_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_MD_meth_set_update.3 b/linux_amd64/share/man/man3/EVP_MD_meth_set_update.3 new file mode 120000 index 0000000..3e59e2a --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_MD_meth_set_update.3 @@ -0,0 +1 @@ +EVP_MD_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_MD_pkey_type.3 b/linux_amd64/share/man/man3/EVP_MD_pkey_type.3 new file mode 120000 index 0000000..3f2985e --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_MD_pkey_type.3 @@ -0,0 +1 @@ +EVP_DigestInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_MD_size.3 b/linux_amd64/share/man/man3/EVP_MD_size.3 new file mode 120000 index 0000000..3f2985e --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_MD_size.3 @@ -0,0 +1 @@ +EVP_DigestInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_MD_type.3 b/linux_amd64/share/man/man3/EVP_MD_type.3 new file mode 120000 index 0000000..3f2985e --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_MD_type.3 @@ -0,0 +1 @@ +EVP_DigestInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_OpenFinal.3 b/linux_amd64/share/man/man3/EVP_OpenFinal.3 new file mode 120000 index 0000000..3e67497 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_OpenFinal.3 @@ -0,0 +1 @@ +EVP_OpenInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_OpenInit.3 b/linux_amd64/share/man/man3/EVP_OpenInit.3 index 13c67cc..c16c6b9 100755 --- a/linux_amd64/share/man/man3/EVP_OpenInit.3 +++ b/linux_amd64/share/man/man3/EVP_OpenInit.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "EVP_OPENINIT 3" -.TH EVP_OPENINIT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_OPENINIT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -185,7 +185,7 @@ recovered secret key size) if successful. .IX Header "COPYRIGHT" Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_OpenUpdate.3 b/linux_amd64/share/man/man3/EVP_OpenUpdate.3 new file mode 120000 index 0000000..3e67497 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_OpenUpdate.3 @@ -0,0 +1 @@ +EVP_OpenInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_ASN1_METHOD.3 b/linux_amd64/share/man/man3/EVP_PKEY_ASN1_METHOD.3 index 6e8a11b..ad24570 100755 --- a/linux_amd64/share/man/man3/EVP_PKEY_ASN1_METHOD.3 +++ b/linux_amd64/share/man/man3/EVP_PKEY_ASN1_METHOD.3 @@ -124,35 +124,13 @@ .\" ======================================================================== .\" .IX Title "EVP_PKEY_ASN1_METHOD 3" -.TH EVP_PKEY_ASN1_METHOD 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_PKEY_ASN1_METHOD 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_PKEY_ASN1_METHOD, -EVP_PKEY_asn1_new, -EVP_PKEY_asn1_copy, -EVP_PKEY_asn1_free, -EVP_PKEY_asn1_add0, -EVP_PKEY_asn1_add_alias, -EVP_PKEY_asn1_set_public, -EVP_PKEY_asn1_set_private, -EVP_PKEY_asn1_set_param, -EVP_PKEY_asn1_set_free, -EVP_PKEY_asn1_set_ctrl, -EVP_PKEY_asn1_set_item, -EVP_PKEY_asn1_set_siginf, -EVP_PKEY_asn1_set_check, -EVP_PKEY_asn1_set_public_check, -EVP_PKEY_asn1_set_param_check, -EVP_PKEY_asn1_set_security_bits, -EVP_PKEY_asn1_set_set_priv_key, -EVP_PKEY_asn1_set_set_pub_key, -EVP_PKEY_asn1_set_get_priv_key, -EVP_PKEY_asn1_set_get_pub_key, -EVP_PKEY_get0_asn1 -\&\- manipulating and registering EVP_PKEY_ASN1_METHOD structure +EVP_PKEY_ASN1_METHOD, EVP_PKEY_asn1_new, EVP_PKEY_asn1_copy, EVP_PKEY_asn1_free, EVP_PKEY_asn1_add0, EVP_PKEY_asn1_add_alias, EVP_PKEY_asn1_set_public, EVP_PKEY_asn1_set_private, EVP_PKEY_asn1_set_param, EVP_PKEY_asn1_set_free, EVP_PKEY_asn1_set_ctrl, EVP_PKEY_asn1_set_item, EVP_PKEY_asn1_set_siginf, EVP_PKEY_asn1_set_check, EVP_PKEY_asn1_set_public_check, EVP_PKEY_asn1_set_param_check, EVP_PKEY_asn1_set_security_bits, EVP_PKEY_asn1_set_set_priv_key, EVP_PKEY_asn1_set_set_pub_key, EVP_PKEY_asn1_set_get_priv_key, EVP_PKEY_asn1_set_get_pub_key, EVP_PKEY_get0_asn1 \&\- manipulating and registering EVP_PKEY_ASN1_METHOD structure .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -398,7 +376,6 @@ It's called by \fIEVP_PKEY_free\fR\|(3), \fIEVP_PKEY_set_type\fR\|(3), .PP The \fIpkey_ctrl()\fR method adds extra algorithm specific control. It's called by \fIEVP_PKEY_get_default_digest_nid\fR\|(3), -\&\fIEVP_PKEY_supports_digest_nid\fR\|(3), \&\fIEVP_PKEY_set1_tls_encodedpoint\fR\|(3), \&\fIEVP_PKEY_get1_tls_encodedpoint\fR\|(3), \fIPKCS7_SIGNER_INFO_set\fR\|(3), \&\fIPKCS7_RECIP_INFO_set\fR\|(3), ... @@ -496,18 +473,6 @@ The \fIset_priv_key()\fR and \fIset_pub_key()\fR methods are used to set the raw public key data for an \s-1EVP_PKEY\s0. They \s-1MUST\s0 return 0 on error, or 1 on success. They are called by \fIEVP_PKEY_new_raw_private_key\fR\|(3), and \&\fIEVP_PKEY_new_raw_public_key\fR\|(3) respectively. -.PP -.Vb 2 -\& size_t (*dirty) (const EVP_PKEY *pk); -\& void *(*export_to) (const EVP_PKEY *pk, EVP_KEYMGMT *keymgmt); -.Ve -.PP -\&\fIdirty_cnt()\fR returns the internal key's dirty count. -This can be used to synchronise different copies of the same keys. -.PP -The \fIexport_to()\fR method exports the key material from the given key to -a provider, through the \s-1\fIEVP_KEYMGMT\s0\fR\|(3) interface, if that provider -supports importing key material. .SS "Functions" .IX Subsection "Functions" \&\fIEVP_PKEY_asn1_new()\fR creates and returns a new \fB\s-1EVP_PKEY_ASN1_METHOD\s0\fR @@ -573,7 +538,7 @@ or 1 on success. .IX Header "COPYRIGHT" Copyright 2017\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_add1_hkdf_info.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_add1_hkdf_info.3 new file mode 120000 index 0000000..71d96cb --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_add1_hkdf_info.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_set_hkdf_md.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_add1_tls1_prf_seed.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_add1_tls1_prf_seed.3 new file mode 120000 index 0000000..eb13006 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_add1_tls1_prf_seed.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_set_tls1_prf_md.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_ctrl.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_ctrl.3 index 4153901..6f33bce 100755 --- a/linux_amd64/share/man/man3/EVP_PKEY_CTX_ctrl.3 +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_ctrl.3 @@ -124,85 +124,18 @@ .\" ======================================================================== .\" .IX Title "EVP_PKEY_CTX_CTRL 3" -.TH EVP_PKEY_CTX_CTRL 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_PKEY_CTX_CTRL 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_PKEY_CTX_get_params, -EVP_PKEY_CTX_gettable_params, -EVP_PKEY_CTX_set_params, -EVP_PKEY_CTX_settable_params, -EVP_PKEY_CTX_ctrl, -EVP_PKEY_CTX_ctrl_str, -EVP_PKEY_CTX_ctrl_uint64, -EVP_PKEY_CTX_md, -EVP_PKEY_CTX_set_signature_md, -EVP_PKEY_CTX_get_signature_md, -EVP_PKEY_CTX_set_mac_key, -EVP_PKEY_CTX_set_rsa_padding, -EVP_PKEY_CTX_get_rsa_padding, -EVP_PKEY_CTX_set_rsa_pss_saltlen, -EVP_PKEY_CTX_get_rsa_pss_saltlen, -EVP_PKEY_CTX_set_rsa_keygen_bits, -EVP_PKEY_CTX_set_rsa_keygen_pubexp, -EVP_PKEY_CTX_set_rsa_keygen_primes, -EVP_PKEY_CTX_set_rsa_mgf1_md_name, -EVP_PKEY_CTX_set_rsa_mgf1_md, -EVP_PKEY_CTX_get_rsa_mgf1_md, -EVP_PKEY_CTX_get_rsa_mgf1_md_name, -EVP_PKEY_CTX_set_rsa_oaep_md_name, -EVP_PKEY_CTX_set_rsa_oaep_md, -EVP_PKEY_CTX_get_rsa_oaep_md, -EVP_PKEY_CTX_get_rsa_oaep_md_name, -EVP_PKEY_CTX_set0_rsa_oaep_label, -EVP_PKEY_CTX_get0_rsa_oaep_label, -EVP_PKEY_CTX_set_dsa_paramgen_bits, -EVP_PKEY_CTX_set_dsa_paramgen_q_bits, -EVP_PKEY_CTX_set_dsa_paramgen_md, -EVP_PKEY_CTX_set_dh_paramgen_prime_len, -EVP_PKEY_CTX_set_dh_paramgen_subprime_len, -EVP_PKEY_CTX_set_dh_paramgen_generator, -EVP_PKEY_CTX_set_dh_paramgen_type, -EVP_PKEY_CTX_set_dh_rfc5114, -EVP_PKEY_CTX_set_dhx_rfc5114, -EVP_PKEY_CTX_set_dh_pad, -EVP_PKEY_CTX_set_dh_nid, -EVP_PKEY_CTX_set_dh_kdf_type, -EVP_PKEY_CTX_get_dh_kdf_type, -EVP_PKEY_CTX_set0_dh_kdf_oid, -EVP_PKEY_CTX_get0_dh_kdf_oid, -EVP_PKEY_CTX_set_dh_kdf_md, -EVP_PKEY_CTX_get_dh_kdf_md, -EVP_PKEY_CTX_set_dh_kdf_outlen, -EVP_PKEY_CTX_get_dh_kdf_outlen, -EVP_PKEY_CTX_set0_dh_kdf_ukm, -EVP_PKEY_CTX_get0_dh_kdf_ukm, -EVP_PKEY_CTX_set_ec_paramgen_curve_nid, -EVP_PKEY_CTX_set_ec_param_enc, -EVP_PKEY_CTX_set_ecdh_cofactor_mode, -EVP_PKEY_CTX_get_ecdh_cofactor_mode, -EVP_PKEY_CTX_set_ecdh_kdf_type, -EVP_PKEY_CTX_get_ecdh_kdf_type, -EVP_PKEY_CTX_set_ecdh_kdf_md, -EVP_PKEY_CTX_get_ecdh_kdf_md, -EVP_PKEY_CTX_set_ecdh_kdf_outlen, -EVP_PKEY_CTX_get_ecdh_kdf_outlen, -EVP_PKEY_CTX_set0_ecdh_kdf_ukm, -EVP_PKEY_CTX_get0_ecdh_kdf_ukm, -EVP_PKEY_CTX_set1_id, EVP_PKEY_CTX_get1_id, EVP_PKEY_CTX_get1_id_len -\&\- algorithm specific control operations +EVP_PKEY_CTX_ctrl, EVP_PKEY_CTX_ctrl_str, EVP_PKEY_CTX_ctrl_uint64, EVP_PKEY_CTX_md, EVP_PKEY_CTX_set_signature_md, EVP_PKEY_CTX_get_signature_md, EVP_PKEY_CTX_set_mac_key, EVP_PKEY_CTX_set_rsa_padding, EVP_PKEY_CTX_get_rsa_padding, EVP_PKEY_CTX_set_rsa_pss_saltlen, EVP_PKEY_CTX_get_rsa_pss_saltlen, EVP_PKEY_CTX_set_rsa_keygen_bits, EVP_PKEY_CTX_set_rsa_keygen_pubexp, EVP_PKEY_CTX_set_rsa_keygen_primes, EVP_PKEY_CTX_set_rsa_mgf1_md, EVP_PKEY_CTX_get_rsa_mgf1_md, EVP_PKEY_CTX_set_rsa_oaep_md, EVP_PKEY_CTX_get_rsa_oaep_md, EVP_PKEY_CTX_set0_rsa_oaep_label, EVP_PKEY_CTX_get0_rsa_oaep_label, EVP_PKEY_CTX_set_dsa_paramgen_bits, EVP_PKEY_CTX_set_dsa_paramgen_q_bits, EVP_PKEY_CTX_set_dsa_paramgen_md, EVP_PKEY_CTX_set_dh_paramgen_prime_len, EVP_PKEY_CTX_set_dh_paramgen_subprime_len, EVP_PKEY_CTX_set_dh_paramgen_generator, EVP_PKEY_CTX_set_dh_paramgen_type, EVP_PKEY_CTX_set_dh_rfc5114, EVP_PKEY_CTX_set_dhx_rfc5114, EVP_PKEY_CTX_set_dh_pad, EVP_PKEY_CTX_set_dh_nid, EVP_PKEY_CTX_set_dh_kdf_type, EVP_PKEY_CTX_get_dh_kdf_type, EVP_PKEY_CTX_set0_dh_kdf_oid, EVP_PKEY_CTX_get0_dh_kdf_oid, EVP_PKEY_CTX_set_dh_kdf_md, EVP_PKEY_CTX_get_dh_kdf_md, EVP_PKEY_CTX_set_dh_kdf_outlen, EVP_PKEY_CTX_get_dh_kdf_outlen, EVP_PKEY_CTX_set0_dh_kdf_ukm, EVP_PKEY_CTX_get0_dh_kdf_ukm, EVP_PKEY_CTX_set_ec_paramgen_curve_nid, EVP_PKEY_CTX_set_ec_param_enc, EVP_PKEY_CTX_set_ecdh_cofactor_mode, EVP_PKEY_CTX_get_ecdh_cofactor_mode, EVP_PKEY_CTX_set_ecdh_kdf_type, EVP_PKEY_CTX_get_ecdh_kdf_type, EVP_PKEY_CTX_set_ecdh_kdf_md, EVP_PKEY_CTX_get_ecdh_kdf_md, EVP_PKEY_CTX_set_ecdh_kdf_outlen, EVP_PKEY_CTX_get_ecdh_kdf_outlen, EVP_PKEY_CTX_set0_ecdh_kdf_ukm, EVP_PKEY_CTX_get0_ecdh_kdf_ukm, EVP_PKEY_CTX_set1_id, EVP_PKEY_CTX_get1_id, EVP_PKEY_CTX_get1_id_len \&\- algorithm specific control operations .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include \& -\& int EVP_PKEY_CTX_get_params(EVP_PKEY_CTX *ctx, OSSL_PARAM *params); -\& const OSSL_PARAM *EVP_PKEY_CTX_gettable_params(EVP_PKEY_CTX *ctx); -\& int EVP_PKEY_CTX_set_params(EVP_PKEY_CTX *ctx, OSSL_PARAM *params); -\& const OSSL_PARAM *EVP_PKEY_CTX_settable_params(EVP_PKEY_CTX *ctx); -\& \& int EVP_PKEY_CTX_ctrl(EVP_PKEY_CTX *ctx, int keytype, int optype, \& int cmd, int p1, void *p2); \& int EVP_PKEY_CTX_ctrl_uint64(EVP_PKEY_CTX *ctx, int keytype, int optype, @@ -215,30 +148,21 @@ EVP_PKEY_CTX_set1_id, EVP_PKEY_CTX_get1_id, EVP_PKEY_CTX_get1_id_len \& int EVP_PKEY_CTX_set_signature_md(EVP_PKEY_CTX *ctx, const EVP_MD *md); \& int EVP_PKEY_CTX_get_signature_md(EVP_PKEY_CTX *ctx, const EVP_MD **pmd); \& -\& int EVP_PKEY_CTX_set_mac_key(EVP_PKEY_CTX *ctx, const unsigned char *key, -\& int len); +\& int EVP_PKEY_CTX_set_mac_key(EVP_PKEY_CTX *ctx, unsigned char *key, int len); \& \& #include \& \& int EVP_PKEY_CTX_set_rsa_padding(EVP_PKEY_CTX *ctx, int pad); \& int EVP_PKEY_CTX_get_rsa_padding(EVP_PKEY_CTX *ctx, int *pad); -\& int EVP_PKEY_CTX_set_rsa_pss_saltlen(EVP_PKEY_CTX *ctx, int saltlen); -\& int EVP_PKEY_CTX_get_rsa_pss_saltlen(EVP_PKEY_CTX *ctx, int *saltlen); +\& int EVP_PKEY_CTX_set_rsa_pss_saltlen(EVP_PKEY_CTX *ctx, int len); +\& int EVP_PKEY_CTX_get_rsa_pss_saltlen(EVP_PKEY_CTX *ctx, int *len); \& int EVP_PKEY_CTX_set_rsa_keygen_bits(EVP_PKEY_CTX *ctx, int mbits); \& int EVP_PKEY_CTX_set_rsa_keygen_pubexp(EVP_PKEY_CTX *ctx, BIGNUM *pubexp); \& int EVP_PKEY_CTX_set_rsa_keygen_primes(EVP_PKEY_CTX *ctx, int primes); -\& int EVP_PKEY_CTX_set_rsa_mgf1_md_name(EVP_PKEY_CTX *ctx, const char *mdname, -\& const char *mdprops); \& int EVP_PKEY_CTX_set_rsa_mgf1_md(EVP_PKEY_CTX *ctx, const EVP_MD *md); \& int EVP_PKEY_CTX_get_rsa_mgf1_md(EVP_PKEY_CTX *ctx, const EVP_MD **md); -\& int EVP_PKEY_CTX_get_rsa_mgf1_md_name(EVP_PKEY_CTX *ctx, char *name, -\& size_t namelen); -\& int EVP_PKEY_CTX_set_rsa_oaep_md_name(EVP_PKEY_CTX *ctx, const char *mdname, -\& const char *mdprops); \& int EVP_PKEY_CTX_set_rsa_oaep_md(EVP_PKEY_CTX *ctx, const EVP_MD *md); \& int EVP_PKEY_CTX_get_rsa_oaep_md(EVP_PKEY_CTX *ctx, const EVP_MD **md); -\& int EVP_PKEY_CTX_get_rsa_oaep_md_name(EVP_PKEY_CTX *ctx, char *name, -\& size_t namelen) \& int EVP_PKEY_CTX_set0_rsa_oaep_label(EVP_PKEY_CTX *ctx, unsigned char *label, int len); \& int EVP_PKEY_CTX_get0_rsa_oaep_label(EVP_PKEY_CTX *ctx, unsigned char **label); \& @@ -290,78 +214,39 @@ EVP_PKEY_CTX_set1_id, EVP_PKEY_CTX_get1_id, EVP_PKEY_CTX_get1_id_len .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -The \fIEVP_PKEY_CTX_get_params()\fR and \fIEVP_PKEY_CTX_set_params()\fR functions get and -send arbitrary parameters from and to the algorithm implementation respectively. -Not all parameters may be supported by all providers. -See \s-1\fIOSSL_PROVIDER\s0\fR\|(3) for more information on providers. -See \s-1\fIOSSL_PARAM\s0\fR\|(3) for more information on parameters. -These functions must only be called after the \s-1EVP_PKEY_CTX\s0 has been initialised -for use in an operation. -.PP -The parameters currently supported by the default provider are: -.ie n .IP """pad"" (\fB\s-1OSSL_EXCHANGE_PARAM_PAD\s0\fR) " 4 -.el .IP "``pad'' (\fB\s-1OSSL_EXCHANGE_PARAM_PAD\s0\fR) " 4 -.IX Item "pad (OSSL_EXCHANGE_PARAM_PAD) " -Sets the \s-1DH\s0 padding mode. -If \fB\s-1OSSL_EXCHANGE_PARAM_PAD\s0\fR is 1 then the shared secret is padded with zeros -up to the size of the \s-1DH\s0 prime \fIp\fR. -If \fB\s-1OSSL_EXCHANGE_PARAM_PAD\s0\fR is zero (the default) then no padding is -performed. -.ie n .IP """digest"" (\fB\s-1OSSL_SIGNATURE_PARAM_DIGEST\s0\fR) <\s-1UTF8\s0 string>" 4 -.el .IP "``digest'' (\fB\s-1OSSL_SIGNATURE_PARAM_DIGEST\s0\fR) <\s-1UTF8\s0 string>" 4 -.IX Item "digest (OSSL_SIGNATURE_PARAM_DIGEST) " -Gets and sets the name of the digest algorithm used for the input to the -signature functions. -.ie n .IP """digest-size"" (\fB\s-1OSSL_SIGNATURE_PARAM_DIGEST_SIZE\s0\fR) " 4 -.el .IP "``digest-size'' (\fB\s-1OSSL_SIGNATURE_PARAM_DIGEST_SIZE\s0\fR) " 4 -.IX Item "digest-size (OSSL_SIGNATURE_PARAM_DIGEST_SIZE) " -Gets and sets the output size of the digest algorithm used for the input to the -signature functions. -The length of the \*(L"digest-size\*(R" parameter should not exceed that of a \fBsize_t\fR. -The internal algorithm that supports this parameter is \s-1DSA\s0. -.PP -\&\fIEVP_PKEY_CTX_gettable_params()\fR and \fIEVP_PKEY_CTX_settable_params()\fR gets a -constant \fB\s-1OSSL_PARAM\s0\fR array that describes the gettable and -settable parameters for the current algorithm implementation, i.e. parameters -that can be used with \fIEVP_PKEY_CTX_get_params()\fR and \fIEVP_PKEY_CTX_set_params()\fR -respectively. -See \s-1\fIOSSL_PARAM\s0\fR\|(3) for the use of \fB\s-1OSSL_PARAM\s0\fR as parameter descriptor. -These functions must only be called after the \s-1EVP_PKEY_CTX\s0 has been initialised -for use in an operation. -.PP The function \fIEVP_PKEY_CTX_ctrl()\fR sends a control operation to the context -\&\fIctx\fR. The key type used must match \fIkeytype\fR if it is not \-1. The parameter -\&\fIoptype\fR is a mask indicating which operations the control can be applied to. -The control command is indicated in \fIcmd\fR and any additional arguments in -\&\fIp1\fR and \fIp2\fR. +\&\fBctx\fR. The key type used must match \fBkeytype\fR if it is not \-1. The parameter +\&\fBoptype\fR is a mask indicating which operations the control can be applied to. +The control command is indicated in \fBcmd\fR and any additional arguments in +\&\fBp1\fR and \fBp2\fR. .PP -For \fIcmd\fR = \fB\s-1EVP_PKEY_CTRL_SET_MAC_KEY\s0\fR, \fIp1\fR is the length of the \s-1MAC\s0 key, -and \fIp2\fR is the \s-1MAC\s0 key. This is used by Poly1305, SipHash, \s-1HMAC\s0 and \s-1CMAC\s0. +For \fBcmd\fR = \fB\s-1EVP_PKEY_CTRL_SET_MAC_KEY\s0\fR, \fBp1\fR is the length of the \s-1MAC\s0 key, +and \fBp2\fR is \s-1MAC\s0 key. This is used by Poly1305, SipHash, \s-1HMAC\s0 and \s-1CMAC\s0. .PP Applications will not normally call \fIEVP_PKEY_CTX_ctrl()\fR directly but will instead call one of the algorithm specific macros below. .PP The function \fIEVP_PKEY_CTX_ctrl_uint64()\fR is a wrapper that directly passes a -uint64 value as \fIp2\fR to \fIEVP_PKEY_CTX_ctrl()\fR. +uint64 value as \fBp2\fR to \fIEVP_PKEY_CTX_ctrl()\fR. .PP The function \fIEVP_PKEY_CTX_ctrl_str()\fR allows an application to send an algorithm -specific control operation to a context \fIctx\fR in string form. This is +specific control operation to a context \fBctx\fR in string form. This is intended to be used for options specified on the command line or in text files. The commands supported are documented in the openssl utility -command line pages for the option \fI\-pkeyopt\fR which is supported by the -\&\fIpkeyutl\fR, \fIgenpkey\fR and \fIreq\fR commands. +command line pages for the option \fB\-pkeyopt\fR which is supported by the +\&\fBpkeyutl\fR, \fBgenpkey\fR and \fBreq\fR commands. .PP The function \fIEVP_PKEY_CTX_md()\fR sends a message digest control operation -to the context \fIctx\fR. The message digest is specified by its name \fImd\fR. -.PP -The \fIEVP_PKEY_CTX_set_signature_md()\fR function sets the message digest type used -in a signature. It can be used in the \s-1RSA\s0, \s-1DSA\s0 and \s-1ECDSA\s0 algorithms. -.PP -The \fIEVP_PKEY_CTX_get_signature_md()\fR function gets the message digest type used -in a signature. It can be used in the \s-1RSA\s0, \s-1DSA\s0 and \s-1ECDSA\s0 algorithms. +to the context \fBctx\fR. The message digest is specified by its name \fBmd\fR. .PP All the remaining \*(L"functions\*(R" are implemented as macros. .PP +The \fIEVP_PKEY_CTX_set_signature_md()\fR macro sets the message digest type used +in a signature. It can be used in the \s-1RSA\s0, \s-1DSA\s0 and \s-1ECDSA\s0 algorithms. +.PP +The \fIEVP_PKEY_CTX_get_signature_md()\fR macro gets the message digest type used in a +signature. It can be used in the \s-1RSA\s0, \s-1DSA\s0 and \s-1ECDSA\s0 algorithms. +.PP Key generation typically involves setting up parameters to be used and generating the private and public key data. Some algorithm implementations allow private key data to be set explicitly using the \fIEVP_PKEY_CTX_set_mac_key()\fR @@ -374,14 +259,12 @@ The \fIEVP_PKEY_CTX_set_mac_key()\fR macro can be used with any of the algorithm supported by the \fIEVP_PKEY_new_raw_private_key\fR\|(3) function. .SS "\s-1RSA\s0 parameters" .IX Subsection "RSA parameters" -The \fIEVP_PKEY_CTX_set_rsa_padding()\fR function sets the \s-1RSA\s0 padding mode for \fIctx\fR. -The \fIpad\fR parameter can take the value \fB\s-1RSA_PKCS1_PADDING\s0\fR for PKCS#1 +The \fIEVP_PKEY_CTX_set_rsa_padding()\fR macro sets the \s-1RSA\s0 padding mode for \fBctx\fR. +The \fBpad\fR parameter can take the value \fB\s-1RSA_PKCS1_PADDING\s0\fR for PKCS#1 padding, \fB\s-1RSA_SSLV23_PADDING\s0\fR for SSLv23 padding, \fB\s-1RSA_NO_PADDING\s0\fR for no padding, \fB\s-1RSA_PKCS1_OAEP_PADDING\s0\fR for \s-1OAEP\s0 padding (encrypt and decrypt only), \fB\s-1RSA_X931_PADDING\s0\fR for X9.31 padding (signature operations -only), \fB\s-1RSA_PKCS1_PSS_PADDING\s0\fR (sign and verify only) and -\&\fB\s-1RSA_PKCS1_WITH_TLS_PADDING\s0\fR for \s-1TLS\s0 \s-1RSA\s0 ClientKeyExchange message padding -(decryption only). +only) and \fB\s-1RSA_PKCS1_PSS_PADDING\s0\fR (sign and verify only). .PP Two \s-1RSA\s0 padding modes behave differently if \fIEVP_PKEY_CTX_set_signature_md()\fR is used. If this macro is called for PKCS#1 padding the plaintext buffer is @@ -393,239 +276,169 @@ padding for \s-1RSA\s0 the algorithm identifier byte is added or checked and rem if this control is called. If it is not called then the first byte of the plaintext buffer is expected to be the algorithm identifier byte. .PP -The \fIEVP_PKEY_CTX_get_rsa_padding()\fR function gets the \s-1RSA\s0 padding mode for \fIctx\fR. +The \fIEVP_PKEY_CTX_get_rsa_padding()\fR macro gets the \s-1RSA\s0 padding mode for \fBctx\fR. .PP -The \fIEVP_PKEY_CTX_set_rsa_pss_saltlen()\fR function sets the \s-1RSA\s0 \s-1PSS\s0 salt -length to \fIsaltlen\fR. As its name implies it is only supported for \s-1PSS\s0 -padding. If this function is not called then the maximum salt length -is used when signing and auto detection when verifying. Three special -values are supported: -.IP "\fB\s-1RSA_PSS_SALTLEN_DIGEST\s0\fR" 4 -.IX Item "RSA_PSS_SALTLEN_DIGEST" -sets the salt length to the digest length. -.IP "\fB\s-1RSA_PSS_SALTLEN_MAX\s0\fR" 4 -.IX Item "RSA_PSS_SALTLEN_MAX" -sets the salt length to the maximum permissible value. -.IP "\fB\s-1RSA_PSS_SALTLEN_AUTO\s0\fR" 4 -.IX Item "RSA_PSS_SALTLEN_AUTO" -causes the salt length to be automatically determined based on the -\&\fB\s-1PSS\s0\fR block structure when verifying. When signing, it has the same -meaning as \fB\s-1RSA_PSS_SALTLEN_MAX\s0\fR. +The \fIEVP_PKEY_CTX_set_rsa_pss_saltlen()\fR macro sets the \s-1RSA\s0 \s-1PSS\s0 salt length to +\&\fBlen\fR. As its name implies it is only supported for \s-1PSS\s0 padding. Three special +values are supported: \fB\s-1RSA_PSS_SALTLEN_DIGEST\s0\fR sets the salt length to the +digest length, \fB\s-1RSA_PSS_SALTLEN_MAX\s0\fR sets the salt length to the maximum +permissible value. When verifying \fB\s-1RSA_PSS_SALTLEN_AUTO\s0\fR causes the salt length +to be automatically determined based on the \fB\s-1PSS\s0\fR block structure. If this +macro is not called maximum salt length is used when signing and auto detection +when verifying is used by default. .PP -The \fIEVP_PKEY_CTX_get_rsa_pss_saltlen()\fR function gets the \s-1RSA\s0 \s-1PSS\s0 salt length -for \fIctx\fR. The padding mode must already have been set to -\&\fB\s-1RSA_PKCS1_PSS_PADDING\s0\fR. +The \fIEVP_PKEY_CTX_get_rsa_pss_saltlen()\fR macro gets the \s-1RSA\s0 \s-1PSS\s0 salt length +for \fBctx\fR. The padding mode must have been set to \fB\s-1RSA_PKCS1_PSS_PADDING\s0\fR. .PP The \fIEVP_PKEY_CTX_set_rsa_keygen_bits()\fR macro sets the \s-1RSA\s0 key length for -\&\s-1RSA\s0 key generation to \fIbits\fR. If not specified 2048 bits is used. +\&\s-1RSA\s0 key generation to \fBbits\fR. If not specified 1024 bits is used. .PP The \fIEVP_PKEY_CTX_set_rsa_keygen_pubexp()\fR macro sets the public exponent value -for \s-1RSA\s0 key generation to \fIpubexp\fR. Currently it should be an odd integer. The -\&\fIpubexp\fR pointer is used internally by this function so it should not be +for \s-1RSA\s0 key generation to \fBpubexp\fR. Currently it should be an odd integer. The +\&\fBpubexp\fR pointer is used internally by this function so it should not be modified or freed after the call. If not specified 65537 is used. .PP The \fIEVP_PKEY_CTX_set_rsa_keygen_primes()\fR macro sets the number of primes for -\&\s-1RSA\s0 key generation to \fIprimes\fR. If not specified 2 is used. +\&\s-1RSA\s0 key generation to \fBprimes\fR. If not specified 2 is used. .PP -The \fIEVP_PKEY_CTX_set_rsa_mgf1_md_name()\fR function sets the \s-1MGF1\s0 digest for \s-1RSA\s0 -padding schemes to the digest named \fImdname\fR. If the \s-1RSA\s0 algorithm -implementation for the selected provider supports it then the digest will be -fetched using the properties \fImdprops\fR. If not explicitly set the signing -digest is used. The padding mode must have been set to \fB\s-1RSA_PKCS1_OAEP_PADDING\s0\fR +The \fIEVP_PKEY_CTX_set_rsa_mgf1_md()\fR macro sets the \s-1MGF1\s0 digest for \s-1RSA\s0 padding +schemes to \fBmd\fR. If not explicitly set the signing digest is used. The +padding mode must have been set to \fB\s-1RSA_PKCS1_OAEP_PADDING\s0\fR or \fB\s-1RSA_PKCS1_PSS_PADDING\s0\fR. .PP -The \fIEVP_PKEY_CTX_set_rsa_mgf1_md()\fR function does the same as -\&\fIEVP_PKEY_CTX_set_rsa_mgf1_md_name()\fR except that the name of the digest is -inferred from the supplied \fImd\fR and it is not possible to specify any -properties. +The \fIEVP_PKEY_CTX_get_rsa_mgf1_md()\fR macro gets the \s-1MGF1\s0 digest for \fBctx\fR. +If not explicitly set the signing digest is used. The padding mode must have +been set to \fB\s-1RSA_PKCS1_OAEP_PADDING\s0\fR or \fB\s-1RSA_PKCS1_PSS_PADDING\s0\fR. .PP -The \fIEVP_PKEY_CTX_get_rsa_mgf1_md_name()\fR function gets the name of the \s-1MGF1\s0 -digest algorithm for \fIctx\fR. If not explicitly set the signing digest is used. -The padding mode must have been set to \fB\s-1RSA_PKCS1_OAEP_PADDING\s0\fR or -\&\fB\s-1RSA_PKCS1_PSS_PADDING\s0\fR. -.PP -The \fIEVP_PKEY_CTX_get_rsa_mgf1_md()\fR function does the same as -\&\fIEVP_PKEY_CTX_get_rsa_mgf1_md_name()\fR except that it returns a pointer to an -\&\s-1EVP_MD\s0 object instead. Note that only known, built-in \s-1EVP_MD\s0 objects will be -returned. The \s-1EVP_MD\s0 object may be \s-1NULL\s0 if the digest is not one of these (such -as a digest only implemented in a third party provider). -.PP -The \fIEVP_PKEY_CTX_set_rsa_oaep_md_name()\fR function sets the message digest type -used in \s-1RSA\s0 \s-1OAEP\s0 to the digest named \fImdname\fR. If the \s-1RSA\s0 algorithm -implementation for the selected provider supports it then the digest will be -fetched using the properties \fImdprops\fR. The padding mode must have been set to +The \fIEVP_PKEY_CTX_set_rsa_oaep_md()\fR macro sets the message digest type used +in \s-1RSA\s0 \s-1OAEP\s0 to \fBmd\fR. The padding mode must have been set to \&\fB\s-1RSA_PKCS1_OAEP_PADDING\s0\fR. .PP -The \fIEVP_PKEY_CTX_set_rsa_oaep_md()\fR function does the same as -\&\fIEVP_PKEY_CTX_set_rsa_oaep_md_name()\fR except that the name of the digest is -inferred from the supplied \fImd\fR and it is not possible to specify any -properties. +The \fIEVP_PKEY_CTX_get_rsa_oaep_md()\fR macro gets the message digest type used +in \s-1RSA\s0 \s-1OAEP\s0 to \fBmd\fR. The padding mode must have been set to +\&\fB\s-1RSA_PKCS1_OAEP_PADDING\s0\fR. .PP -The \fIEVP_PKEY_CTX_get_rsa_oaep_md_name()\fR function gets the message digest -algorithm name used in \s-1RSA\s0 \s-1OAEP\s0 and stores it in the buffer \fIname\fR which is of -size \fInamelen\fR. The padding mode must have been set to -\&\fB\s-1RSA_PKCS1_OAEP_PADDING\s0\fR. The buffer should be sufficiently large for any -expected digest algorithm names or the function will fail. -.PP -The \fIEVP_PKEY_CTX_get_rsa_oaep_md()\fR function does the same as -\&\fIEVP_PKEY_CTX_get_rsa_oaep_md_name()\fR except that it returns a pointer to an -\&\s-1EVP_MD\s0 object instead. Note that only known, built-in \s-1EVP_MD\s0 objects will be -returned. The \s-1EVP_MD\s0 object may be \s-1NULL\s0 if the digest is not one of these (such -as a digest only implemented in a third party provider). -.PP -The \fIEVP_PKEY_CTX_set0_rsa_oaep_label()\fR function sets the \s-1RSA\s0 \s-1OAEP\s0 label to -\&\fIlabel\fR and its length to \fIlen\fR. If \fIlabel\fR is \s-1NULL\s0 or \fIlen\fR is 0, +The \fIEVP_PKEY_CTX_set0_rsa_oaep_label()\fR macro sets the \s-1RSA\s0 \s-1OAEP\s0 label to +\&\fBlabel\fR and its length to \fBlen\fR. If \fBlabel\fR is \s-1NULL\s0 or \fBlen\fR is 0, the label is cleared. The library takes ownership of the label so the -caller should not free the original memory pointed to by \fIlabel\fR. +caller should not free the original memory pointed to by \fBlabel\fR. The padding mode must have been set to \fB\s-1RSA_PKCS1_OAEP_PADDING\s0\fR. .PP -The \fIEVP_PKEY_CTX_get0_rsa_oaep_label()\fR function gets the \s-1RSA\s0 \s-1OAEP\s0 label to -\&\fIlabel\fR. The return value is the label length. The padding mode +The \fIEVP_PKEY_CTX_get0_rsa_oaep_label()\fR macro gets the \s-1RSA\s0 \s-1OAEP\s0 label to +\&\fBlabel\fR. The return value is the label length. The padding mode must have been set to \fB\s-1RSA_PKCS1_OAEP_PADDING\s0\fR. The resulting pointer is owned by the library and should not be freed by the caller. -.PP -\&\fB\s-1RSA_PKCS1_WITH_TLS_PADDING\s0\fR is used when decrypting an \s-1RSA\s0 encrypted \s-1TLS\s0 -pre-master secret in a \s-1TLS\s0 ClientKeyExchange message. It is the same as -\&\s-1RSA_PKCS1_PADDING\s0 except that it additionally verifies that the result is the -correct length and the first two bytes are the protocol version initially -requested by the client. If the encrypted content is publicly invalid then the -decryption will fail. However, if the padding checks fail then decryption will -still appear to succeed but a random \s-1TLS\s0 premaster secret will be returned -instead. This padding mode accepts two parameters which can be set using the -\&\fIEVP_PKEY_CTX_set_params\fR\|(3) function. These are -\&\s-1OSSL_ASYM_CIPHER_PARAM_TLS_CLIENT_VERSION\s0 and -\&\s-1OSSL_ASYM_CIPHER_PARAM_TLS_NEGOTIATED_VERSION\s0, both of which are expected to be -unsigned integers. Normally only the first of these will be set and represents -the \s-1TLS\s0 protocol version that was first requested by the client (e.g. 0x0303 for -TLSv1.2, 0x0302 for TLSv1.1 etc). Historically some buggy clients would use the -negotiated protocol version instead of the protocol version first requested. If -this behaviour should be tolerated then -\&\s-1OSSL_ASYM_CIPHER_PARAM_TLS_NEGOTIATED_VERSION\s0 should be set to the actual -negotiated protocol version. Otherwise it should be left unset. .SS "\s-1DSA\s0 parameters" .IX Subsection "DSA parameters" The \fIEVP_PKEY_CTX_set_dsa_paramgen_bits()\fR macro sets the number of bits used -for \s-1DSA\s0 parameter generation to \fInbits\fR. If not specified, 2048 is used. +for \s-1DSA\s0 parameter generation to \fBnbits\fR. If not specified, 1024 is used. .PP The \fIEVP_PKEY_CTX_set_dsa_paramgen_q_bits()\fR macro sets the number of bits in the -subprime parameter \fIq\fR for \s-1DSA\s0 parameter generation to \fIqbits\fR. If not -specified, 224 is used. If a digest function is specified below, this parameter -is ignored and instead, the number of bits in \fIq\fR matches the size of the +subprime parameter \fBq\fR for \s-1DSA\s0 parameter generation to \fBqbits\fR. If not +specified, 160 is used. If a digest function is specified below, this parameter +is ignored and instead, the number of bits in \fBq\fR matches the size of the digest. .PP The \fIEVP_PKEY_CTX_set_dsa_paramgen_md()\fR macro sets the digest function used for -\&\s-1DSA\s0 parameter generation to \fImd\fR. If not specified, one of \s-1SHA\-1\s0, \s-1SHA\-224\s0, or -\&\s-1SHA\-256\s0 is selected to match the bit length of \fIq\fR above. +\&\s-1DSA\s0 parameter generation to \fBmd\fR. If not specified, one of \s-1SHA\-1\s0, \s-1SHA\-224\s0, or +\&\s-1SHA\-256\s0 is selected to match the bit length of \fBq\fR above. .SS "\s-1DH\s0 parameters" .IX Subsection "DH parameters" The \fIEVP_PKEY_CTX_set_dh_paramgen_prime_len()\fR macro sets the length of the \s-1DH\s0 -prime parameter \fIp\fR for \s-1DH\s0 parameter generation. If this macro is not called -then 2048 is used. Only accepts lengths greater than or equal to 256. +prime parameter \fBp\fR for \s-1DH\s0 parameter generation. If this macro is not called +then 1024 is used. Only accepts lengths greater than or equal to 256. .PP The \fIEVP_PKEY_CTX_set_dh_paramgen_subprime_len()\fR macro sets the length of the \s-1DH\s0 -optional subprime parameter \fIq\fR for \s-1DH\s0 parameter generation. The default is +optional subprime parameter \fBq\fR for \s-1DH\s0 parameter generation. The default is 256 if the prime is at least 2048 bits long or 160 otherwise. The \s-1DH\s0 -paramgen type must have been set to \fB\s-1DH_PARAMGEN_TYPE_FIPS_186_2\s0\fR or -\&\fB\s-1DH_PARAMGEN_TYPE_FIPS_186_4\s0\fR. +paramgen type must have been set to x9.42. .PP -The \fIEVP_PKEY_CTX_set_dh_paramgen_generator()\fR macro sets \s-1DH\s0 generator to \fIgen\fR +The \fIEVP_PKEY_CTX_set_dh_paramgen_generator()\fR macro sets \s-1DH\s0 generator to \fBgen\fR for \s-1DH\s0 parameter generation. If not specified 2 is used. .PP The \fIEVP_PKEY_CTX_set_dh_paramgen_type()\fR macro sets the key type for \s-1DH\s0 -parameter generation. The supported parameters are: -.IP "\fB\s-1DH_PARAMGEN_TYPE_GENERATOR\s0\fR" 4 -.IX Item "DH_PARAMGEN_TYPE_GENERATOR" -Uses a generator g (PKCS#3 format). -.IP "\fB\s-1DH_PARAMGEN_TYPE_FIPS_186_2\s0\fR" 4 -.IX Item "DH_PARAMGEN_TYPE_FIPS_186_2" -\&\s-1FIPS186\-2\s0 \s-1FFC\s0 parameter generator (X9.42 \s-1DH\s0). -.IP "\fB\s-1DH_PARAMGEN_TYPE_FIPS_186_4\s0\fR" 4 -.IX Item "DH_PARAMGEN_TYPE_FIPS_186_4" -\&\s-1FIPS186\-4\s0 \s-1FFC\s0 parameter generator. +parameter generation. Use 0 for PKCS#3 \s-1DH\s0 and 1 for X9.42 \s-1DH\s0. +The default is 0. .PP -The default is \fB\s-1DH_PARAMGEN_TYPE_GENERATOR\s0\fR. -.PP -The \fIEVP_PKEY_CTX_set_dh_pad()\fR function sets the \s-1DH\s0 padding mode. -If \fIpad\fR is 1 the shared secret is padded with zeros up to the size of the \s-1DH\s0 -prime \fIp\fR. -If \fIpad\fR is zero (the default) then no padding is performed. +The \fIEVP_PKEY_CTX_set_dh_pad()\fR macro sets the \s-1DH\s0 padding mode. If \fBpad\fR is +1 the shared secret is padded with zeroes up to the size of the \s-1DH\s0 prime \fBp\fR. +If \fBpad\fR is zero (the default) then no padding is performed. .PP \&\fIEVP_PKEY_CTX_set_dh_nid()\fR sets the \s-1DH\s0 parameters to values corresponding to -\&\fInid\fR as defined in \s-1RFC7919\s0 or \s-1RFC3526\s0. The \fInid\fR parameter must be -\&\fBNID_ffdhe2048\fR, \fBNID_ffdhe3072\fR, \fBNID_ffdhe4096\fR, \fBNID_ffdhe6144\fR, -\&\fBNID_ffdhe8192\fR, \fBNID_modp_1536\fR, \fBNID_modp_2048\fR, \fBNID_modp_3072\fR, -\&\fBNID_modp_4096\fR, \fBNID_modp_6144\fR, \fBNID_modp_8192\fR or \fBNID_undef\fR to clear -the stored value. This macro can be called during parameter or key generation. +\&\fBnid\fR as defined in \s-1RFC7919\s0. The \fBnid\fR parameter must be \fBNID_ffdhe2048\fR, +\&\fBNID_ffdhe3072\fR, \fBNID_ffdhe4096\fR, \fBNID_ffdhe6144\fR, \fBNID_ffdhe8192\fR +or \fBNID_undef\fR to clear the stored value. This macro can be called during +parameter or key generation. The nid parameter and the rfc5114 parameter are mutually exclusive. .PP The \fIEVP_PKEY_CTX_set_dh_rfc5114()\fR and \fIEVP_PKEY_CTX_set_dhx_rfc5114()\fR macros are synonymous. They set the \s-1DH\s0 parameters to the values defined in \s-1RFC5114\s0. The -\&\fIrfc5114\fR parameter must be 1, 2 or 3 corresponding to \s-1RFC5114\s0 sections +\&\fBrfc5114\fR parameter must be 1, 2 or 3 corresponding to \s-1RFC5114\s0 sections 2.1, 2.2 and 2.3. or 0 to clear the stored value. This macro can be called -during parameter generation. The \fIctx\fR must have a key type of +during parameter generation. The \fBctx\fR must have a key type of \&\fB\s-1EVP_PKEY_DHX\s0\fR. The rfc5114 parameter and the nid parameter are mutually exclusive. .SS "\s-1DH\s0 key derivation function parameters" .IX Subsection "DH key derivation function parameters" -Note that all of the following functions require that the \fIctx\fR parameter has +Note that all of the following functions require that the \fBctx\fR parameter has a private key type of \fB\s-1EVP_PKEY_DHX\s0\fR. When using key derivation, the output of \&\fIEVP_PKEY_derive()\fR is the output of the \s-1KDF\s0 instead of the \s-1DH\s0 shared secret. The \s-1KDF\s0 output is typically used as a Key Encryption Key (\s-1KEK\s0) that in turn encrypts a Content Encryption Key (\s-1CEK\s0). .PP The \fIEVP_PKEY_CTX_set_dh_kdf_type()\fR macro sets the key derivation function type -to \fIkdf\fR for \s-1DH\s0 key derivation. Possible values are \fB\s-1EVP_PKEY_DH_KDF_NONE\s0\fR +to \fBkdf\fR for \s-1DH\s0 key derivation. Possible values are \fB\s-1EVP_PKEY_DH_KDF_NONE\s0\fR and \fB\s-1EVP_PKEY_DH_KDF_X9_42\s0\fR which uses the key derivation specified in \s-1RFC2631\s0 (based on the keying algorithm described in X9.42). When using key derivation, -the \fIkdf_oid\fR, \fIkdf_md\fR and \fIkdf_outlen\fR parameters must also be specified. +the \fBkdf_oid\fR, \fBkdf_md\fR and \fBkdf_outlen\fR parameters must also be specified. .PP The \fIEVP_PKEY_CTX_get_dh_kdf_type()\fR macro gets the key derivation function type -for \fIctx\fR used for \s-1DH\s0 key derivation. Possible values are \fB\s-1EVP_PKEY_DH_KDF_NONE\s0\fR +for \fBctx\fR used for \s-1DH\s0 key derivation. Possible values are \fB\s-1EVP_PKEY_DH_KDF_NONE\s0\fR and \fB\s-1EVP_PKEY_DH_KDF_X9_42\s0\fR. .PP The \fIEVP_PKEY_CTX_set0_dh_kdf_oid()\fR macro sets the key derivation function -object identifier to \fIoid\fR for \s-1DH\s0 key derivation. This \s-1OID\s0 should identify +object identifier to \fBoid\fR for \s-1DH\s0 key derivation. This \s-1OID\s0 should identify the algorithm to be used with the Content Encryption Key. The library takes ownership of the object identifier so the caller should not -free the original memory pointed to by \fIoid\fR. +free the original memory pointed to by \fBoid\fR. .PP The \fIEVP_PKEY_CTX_get0_dh_kdf_oid()\fR macro gets the key derivation function oid -for \fIctx\fR used for \s-1DH\s0 key derivation. The resulting pointer is owned by the +for \fBctx\fR used for \s-1DH\s0 key derivation. The resulting pointer is owned by the library and should not be freed by the caller. .PP The \fIEVP_PKEY_CTX_set_dh_kdf_md()\fR macro sets the key derivation function -message digest to \fImd\fR for \s-1DH\s0 key derivation. Note that \s-1RFC2631\s0 specifies +message digest to \fBmd\fR for \s-1DH\s0 key derivation. Note that \s-1RFC2631\s0 specifies that this digest should be \s-1SHA1\s0 but OpenSSL tolerates other digests. .PP The \fIEVP_PKEY_CTX_get_dh_kdf_md()\fR macro gets the key derivation function -message digest for \fIctx\fR used for \s-1DH\s0 key derivation. +message digest for \fBctx\fR used for \s-1DH\s0 key derivation. .PP The \fIEVP_PKEY_CTX_set_dh_kdf_outlen()\fR macro sets the key derivation function -output length to \fIlen\fR for \s-1DH\s0 key derivation. +output length to \fBlen\fR for \s-1DH\s0 key derivation. .PP The \fIEVP_PKEY_CTX_get_dh_kdf_outlen()\fR macro gets the key derivation function -output length for \fIctx\fR used for \s-1DH\s0 key derivation. +output length for \fBctx\fR used for \s-1DH\s0 key derivation. .PP The \fIEVP_PKEY_CTX_set0_dh_kdf_ukm()\fR macro sets the user key material to -\&\fIukm\fR and its length to \fIlen\fR for \s-1DH\s0 key derivation. This parameter is optional +\&\fBukm\fR and its length to \fBlen\fR for \s-1DH\s0 key derivation. This parameter is optional and corresponds to the partyAInfo field in \s-1RFC2631\s0 terms. The specification requires that it is 512 bits long but this is not enforced by OpenSSL. The library takes ownership of the user key material so the caller should not -free the original memory pointed to by \fIukm\fR. +free the original memory pointed to by \fBukm\fR. .PP -The \fIEVP_PKEY_CTX_get0_dh_kdf_ukm()\fR macro gets the user key material for \fIctx\fR. +The \fIEVP_PKEY_CTX_get0_dh_kdf_ukm()\fR macro gets the user key material for \fBctx\fR. The return value is the user key material length. The resulting pointer is owned by the library and should not be freed by the caller. .SS "\s-1EC\s0 parameters" .IX Subsection "EC parameters" The \fIEVP_PKEY_CTX_set_ec_paramgen_curve_nid()\fR sets the \s-1EC\s0 curve for \s-1EC\s0 parameter -generation to \fInid\fR. For \s-1EC\s0 parameter generation this macro must be called +generation to \fBnid\fR. For \s-1EC\s0 parameter generation this macro must be called or an error occurs because there is no default curve. This function can also be called to set the curve explicitly when generating an \s-1EC\s0 key. .PP The \fIEVP_PKEY_CTX_set_ec_param_enc()\fR macro sets the \s-1EC\s0 parameter encoding to -\&\fIparam_enc\fR when generating \s-1EC\s0 parameters or an \s-1EC\s0 key. The encoding can be +\&\fBparam_enc\fR when generating \s-1EC\s0 parameters or an \s-1EC\s0 key. The encoding can be \&\fB\s-1OPENSSL_EC_EXPLICIT_CURVE\s0\fR for explicit parameters (the default in versions of OpenSSL before 1.1.0) or \fB\s-1OPENSSL_EC_NAMED_CURVE\s0\fR to use named curve form. For maximum compatibility the named curve form should be used. Note: the @@ -634,68 +447,63 @@ versions should use 0 instead. .SS "\s-1ECDH\s0 parameters" .IX Subsection "ECDH parameters" The \fIEVP_PKEY_CTX_set_ecdh_cofactor_mode()\fR macro sets the cofactor mode to -\&\fIcofactor_mode\fR for \s-1ECDH\s0 key derivation. Possible values are 1 to enable +\&\fBcofactor_mode\fR for \s-1ECDH\s0 key derivation. Possible values are 1 to enable cofactor key derivation, 0 to disable it and \-1 to clear the stored cofactor mode and fallback to the private key cofactor mode. .PP The \fIEVP_PKEY_CTX_get_ecdh_cofactor_mode()\fR macro returns the cofactor mode for -\&\fIctx\fR used for \s-1ECDH\s0 key derivation. Possible values are 1 when cofactor key +\&\fBctx\fR used for \s-1ECDH\s0 key derivation. Possible values are 1 when cofactor key derivation is enabled and 0 otherwise. .SS "\s-1ECDH\s0 key derivation function parameters" .IX Subsection "ECDH key derivation function parameters" The \fIEVP_PKEY_CTX_set_ecdh_kdf_type()\fR macro sets the key derivation function type -to \fIkdf\fR for \s-1ECDH\s0 key derivation. Possible values are \fB\s-1EVP_PKEY_ECDH_KDF_NONE\s0\fR +to \fBkdf\fR for \s-1ECDH\s0 key derivation. Possible values are \fB\s-1EVP_PKEY_ECDH_KDF_NONE\s0\fR and \fB\s-1EVP_PKEY_ECDH_KDF_X9_63\s0\fR which uses the key derivation specified in X9.63. -When using key derivation, the \fIkdf_md\fR and \fIkdf_outlen\fR parameters must +When using key derivation, the \fBkdf_md\fR and \fBkdf_outlen\fR parameters must also be specified. .PP The \fIEVP_PKEY_CTX_get_ecdh_kdf_type()\fR macro returns the key derivation function -type for \fIctx\fR used for \s-1ECDH\s0 key derivation. Possible values are +type for \fBctx\fR used for \s-1ECDH\s0 key derivation. Possible values are \&\fB\s-1EVP_PKEY_ECDH_KDF_NONE\s0\fR and \fB\s-1EVP_PKEY_ECDH_KDF_X9_63\s0\fR. .PP The \fIEVP_PKEY_CTX_set_ecdh_kdf_md()\fR macro sets the key derivation function -message digest to \fImd\fR for \s-1ECDH\s0 key derivation. Note that X9.63 specifies +message digest to \fBmd\fR for \s-1ECDH\s0 key derivation. Note that X9.63 specifies that this digest should be \s-1SHA1\s0 but OpenSSL tolerates other digests. .PP The \fIEVP_PKEY_CTX_get_ecdh_kdf_md()\fR macro gets the key derivation function -message digest for \fIctx\fR used for \s-1ECDH\s0 key derivation. +message digest for \fBctx\fR used for \s-1ECDH\s0 key derivation. .PP The \fIEVP_PKEY_CTX_set_ecdh_kdf_outlen()\fR macro sets the key derivation function -output length to \fIlen\fR for \s-1ECDH\s0 key derivation. +output length to \fBlen\fR for \s-1ECDH\s0 key derivation. .PP The \fIEVP_PKEY_CTX_get_ecdh_kdf_outlen()\fR macro gets the key derivation function -output length for \fIctx\fR used for \s-1ECDH\s0 key derivation. +output length for \fBctx\fR used for \s-1ECDH\s0 key derivation. .PP -The \fIEVP_PKEY_CTX_set0_ecdh_kdf_ukm()\fR macro sets the user key material to \fIukm\fR +The \fIEVP_PKEY_CTX_set0_ecdh_kdf_ukm()\fR macro sets the user key material to \fBukm\fR for \s-1ECDH\s0 key derivation. This parameter is optional and corresponds to the shared info in X9.63 terms. The library takes ownership of the user key material -so the caller should not free the original memory pointed to by \fIukm\fR. +so the caller should not free the original memory pointed to by \fBukm\fR. .PP -The \fIEVP_PKEY_CTX_get0_ecdh_kdf_ukm()\fR macro gets the user key material for \fIctx\fR. +The \fIEVP_PKEY_CTX_get0_ecdh_kdf_ukm()\fR macro gets the user key material for \fBctx\fR. The return value is the user key material length. The resulting pointer is owned by the library and should not be freed by the caller. .SS "Other parameters" .IX Subsection "Other parameters" The \fIEVP_PKEY_CTX_set1_id()\fR, \fIEVP_PKEY_CTX_get1_id()\fR and \fIEVP_PKEY_CTX_get1_id_len()\fR macros are used to manipulate the special identifier field for specific signature -algorithms such as \s-1SM2\s0. The \fIEVP_PKEY_CTX_set1_id()\fR sets an \s-1ID\s0 pointed by \fIid\fR with -the length \fIid_len\fR to the library. The library takes a copy of the id so that -the caller can safely free the original memory pointed to by \fIid\fR. The +algorithms such as \s-1SM2\s0. The \fIEVP_PKEY_CTX_set1_id()\fR sets an \s-1ID\s0 pointed by \fBid\fR with +the length \fBid_len\fR to the library. The library takes a copy of the id so that +the caller can safely free the original memory pointed to by \fBid\fR. The \&\fIEVP_PKEY_CTX_get1_id_len()\fR macro returns the length of the \s-1ID\s0 set via a previous call to \fIEVP_PKEY_CTX_set1_id()\fR. The length is usually used to allocate adequate memory for further calls to \fIEVP_PKEY_CTX_get1_id()\fR. The \fIEVP_PKEY_CTX_get1_id()\fR -macro returns the previously set \s-1ID\s0 value to caller in \fIid\fR. The caller should -allocate adequate memory space for the \fIid\fR before calling \fIEVP_PKEY_CTX_get1_id()\fR. +macro returns the previously set \s-1ID\s0 value to caller in \fBid\fR. The caller should +allocate adequate memory space for the \fBid\fR before calling \fIEVP_PKEY_CTX_get1_id()\fR. .SH "RETURN VALUES" .IX Header "RETURN VALUES" -\&\fIEVP_PKEY_CTX_set_params()\fR returns 1 for success or 0 otherwise. -\&\fIEVP_PKEY_CTX_settable_params()\fR returns an \s-1OSSL_PARAM\s0 array on success or \s-1NULL\s0 on -error. -It may also return \s-1NULL\s0 if there are no settable parameters available. -.PP -All other functions and macros described on this page return a positive value -for success and 0 or a negative value for failure. In particular a return value -of \-2 indicates the operation is not supported by the public key algorithm. +\&\fIEVP_PKEY_CTX_ctrl()\fR and its macros return a positive value for success and 0 +or a negative value for failure. In particular a return value of \-2 +indicates the operation is not supported by the public key algorithm. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIEVP_PKEY_CTX_new\fR\|(3), @@ -708,27 +516,14 @@ of \-2 indicates the operation is not supported by the public key algorithm. \&\fIEVP_PKEY_keygen\fR\|(3) .SH "HISTORY" .IX Header "HISTORY" -\&\fIEVP_PKEY_CTX_get_signature_md()\fR, \fIEVP_PKEY_CTX_set_signature_md()\fR, -\&\fIEVP_PKEY_CTX_set_dh_pad()\fR, \fIEVP_PKEY_CTX_set_rsa_padding()\fR, -\&\fIEVP_PKEY_CTX_get_rsa_padding()\fR, \fIEVP_PKEY_CTX_get_rsa_mgf1_md()\fR, -\&\fIEVP_PKEY_CTX_set_rsa_mgf1_md()\fR, \fIEVP_PKEY_CTX_set_rsa_oaep_md()\fR, -\&\fIEVP_PKEY_CTX_get_rsa_oaep_md()\fR, \fIEVP_PKEY_CTX_set0_rsa_oaep_label()\fR, -\&\fIEVP_PKEY_CTX_get0_rsa_oaep_label()\fR, \fIEVP_PKEY_CTX_set_rsa_pss_saltlen()\fR, -\&\fIEVP_PKEY_CTX_get_rsa_pss_saltlen()\fR, were macros in OpenSSL 1.1.1 and below. -From OpenSSL 3.0 they are functions. -.PP -\&\fIEVP_PKEY_CTX_get_rsa_oaep_md_name()\fR, \fIEVP_PKEY_CTX_get_rsa_mgf1_md_name()\fR, -\&\fIEVP_PKEY_CTX_set_rsa_mgf1_md_name()\fR and \fIEVP_PKEY_CTX_set_rsa_oaep_md_name()\fR were -added in OpenSSL 3.0. -.PP -The \fIEVP_PKEY_CTX_set1_id()\fR, \fIEVP_PKEY_CTX_get1_id()\fR and -\&\fIEVP_PKEY_CTX_get1_id_len()\fR macros were added in 1.1.1, other functions were -added in OpenSSL 1.0.0. +The +\&\fIEVP_PKEY_CTX_set1_id()\fR, \fIEVP_PKEY_CTX_get1_id()\fR and \fIEVP_PKEY_CTX_get1_id_len()\fR +macros were added in 1.1.1, other functions were added in OpenSSL 1.0.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2006\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_ctrl_str.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_ctrl_str.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_ctrl_str.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_ctrl_uint64.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_ctrl_uint64.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_ctrl_uint64.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_dup.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_dup.3 new file mode 120000 index 0000000..6a32eb6 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_dup.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_free.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_free.3 new file mode 120000 index 0000000..6a32eb6 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_free.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_get0_dh_kdf_oid.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_get0_dh_kdf_oid.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_get0_dh_kdf_oid.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_get0_dh_kdf_ukm.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_get0_dh_kdf_ukm.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_get0_dh_kdf_ukm.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_get0_ecdh_kdf_ukm.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_get0_ecdh_kdf_ukm.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_get0_ecdh_kdf_ukm.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_get0_rsa_oaep_label.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_get0_rsa_oaep_label.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_get0_rsa_oaep_label.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_get1_id.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_get1_id.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_get1_id.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_get1_id_len.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_get1_id_len.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_get1_id_len.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_get_app_data.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_get_app_data.3 new file mode 120000 index 0000000..375c0d8 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_get_app_data.3 @@ -0,0 +1 @@ +EVP_PKEY_keygen.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_get_cb.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_get_cb.3 new file mode 120000 index 0000000..375c0d8 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_get_cb.3 @@ -0,0 +1 @@ +EVP_PKEY_keygen.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_get_dh_kdf_md.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_get_dh_kdf_md.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_get_dh_kdf_md.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_get_dh_kdf_outlen.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_get_dh_kdf_outlen.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_get_dh_kdf_outlen.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_get_dh_kdf_type.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_get_dh_kdf_type.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_get_dh_kdf_type.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_get_ecdh_cofactor_mode.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_get_ecdh_cofactor_mode.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_get_ecdh_cofactor_mode.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_get_ecdh_kdf_md.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_get_ecdh_kdf_md.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_get_ecdh_kdf_md.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_get_ecdh_kdf_outlen.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_get_ecdh_kdf_outlen.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_get_ecdh_kdf_outlen.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_get_ecdh_kdf_type.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_get_ecdh_kdf_type.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_get_ecdh_kdf_type.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_get_keygen_info.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_get_keygen_info.3 new file mode 120000 index 0000000..375c0d8 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_get_keygen_info.3 @@ -0,0 +1 @@ +EVP_PKEY_keygen.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_get_rsa_mgf1_md.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_get_rsa_mgf1_md.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_get_rsa_mgf1_md.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_get_rsa_oaep_md.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_get_rsa_oaep_md.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_get_rsa_oaep_md.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_get_rsa_padding.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_get_rsa_padding.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_get_rsa_padding.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_get_rsa_pss_saltlen.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_get_rsa_pss_saltlen.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_get_rsa_pss_saltlen.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_get_signature_md.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_get_signature_md.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_get_signature_md.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_hkdf_mode.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_hkdf_mode.3 new file mode 120000 index 0000000..71d96cb --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_hkdf_mode.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_set_hkdf_md.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_md.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_md.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_md.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_new.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_new.3 index deea118..c8040fa 100755 --- a/linux_amd64/share/man/man3/EVP_PKEY_CTX_new.3 +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_new.3 @@ -124,15 +124,13 @@ .\" ======================================================================== .\" .IX Title "EVP_PKEY_CTX_NEW 3" -.TH EVP_PKEY_CTX_NEW 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_PKEY_CTX_NEW 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_PKEY_CTX_new, EVP_PKEY_CTX_new_id, EVP_PKEY_CTX_new_from_name, -EVP_PKEY_CTX_new_from_pkey, EVP_PKEY_CTX_dup, EVP_PKEY_CTX_free -\&\- public key algorithm context functions +EVP_PKEY_CTX_new, EVP_PKEY_CTX_new_id, EVP_PKEY_CTX_dup, EVP_PKEY_CTX_free \- public key algorithm context functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -140,56 +138,29 @@ EVP_PKEY_CTX_new_from_pkey, EVP_PKEY_CTX_dup, EVP_PKEY_CTX_free \& \& EVP_PKEY_CTX *EVP_PKEY_CTX_new(EVP_PKEY *pkey, ENGINE *e); \& EVP_PKEY_CTX *EVP_PKEY_CTX_new_id(int id, ENGINE *e); -\& EVP_PKEY_CTX *EVP_PKEY_CTX_new_from_name(OPENSSL_CTX *libctx, -\& const char *name, -\& const char *propquery); -\& EVP_PKEY_CTX *EVP_PKEY_CTX_new_from_pkey(OPENSSL_CTX *libctx, -\& EVP_PKEY *pkey); -\& EVP_PKEY_CTX *EVP_PKEY_CTX_dup(const EVP_PKEY_CTX *ctx); +\& EVP_PKEY_CTX *EVP_PKEY_CTX_dup(EVP_PKEY_CTX *ctx); \& void EVP_PKEY_CTX_free(EVP_PKEY_CTX *ctx); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" The \fIEVP_PKEY_CTX_new()\fR function allocates public key algorithm context using -the \fIpkey\fR key type and \s-1ENGINE\s0 \fIe\fR. +the algorithm specified in \fBpkey\fR and \s-1ENGINE\s0 \fBe\fR. .PP The \fIEVP_PKEY_CTX_new_id()\fR function allocates public key algorithm context -using the key type specified by \fIid\fR and \s-1ENGINE\s0 \fIe\fR. +using the algorithm specified by \fBid\fR and \s-1ENGINE\s0 \fBe\fR. It is normally used +when no \fB\s-1EVP_PKEY\s0\fR structure is associated with the operations, for example +during parameter generation of key generation for some algorithms. .PP -The \fIEVP_PKEY_CTX_new_from_name()\fR function allocates a public key algorithm -context using the library context \fIlibctx\fR (see \s-1\fIOPENSSL_CTX\s0\fR\|(3)), the -key type specified by \fIname\fR and the property query \fIpropquery\fR. None -of the arguments are duplicated, so they must remain unchanged for the -lifetime of the returned \fB\s-1EVP_PKEY_CTX\s0\fR or of any of its duplicates. +\&\fIEVP_PKEY_CTX_dup()\fR duplicates the context \fBctx\fR. .PP -The \fIEVP_PKEY_CTX_new_from_pkey()\fR function allocates a public key algorithm -context using the library context \fIlibctx\fR (see \s-1\fIOPENSSL_CTX\s0\fR\|(3)) and the -algorithm specified by \fIpkey\fR and the property query \fIpropquery\fR. None of the -arguments are duplicated, so they must remain unchanged for the lifetime of the -returned \fB\s-1EVP_PKEY_CTX\s0\fR or any of its duplicates. -.PP -\&\fIEVP_PKEY_CTX_new_id()\fR and \fIEVP_PKEY_CTX_new_from_name()\fR are normally -used when no \fB\s-1EVP_PKEY\s0\fR structure is associated with the operations, -for example during parameter generation or key generation for some -algorithms. -.PP -\&\fIEVP_PKEY_CTX_dup()\fR duplicates the context \fIctx\fR. -.PP -\&\fIEVP_PKEY_CTX_free()\fR frees up the context \fIctx\fR. -If \fIctx\fR is \s-1NULL\s0, nothing is done. +\&\fIEVP_PKEY_CTX_free()\fR frees up the context \fBctx\fR. +If \fBctx\fR is \s-1NULL\s0, nothing is done. .SH "NOTES" .IX Header "NOTES" -.IP "1." 4 The \fB\s-1EVP_PKEY_CTX\s0\fR structure is an opaque public key algorithm context used by the OpenSSL high level public key \s-1API\s0. Contexts \fB\s-1MUST\s0 \s-1NOT\s0\fR be shared between threads: that is it is not permissible to use the same context simultaneously in two threads. -.IP "2." 4 -We mention \*(L"key type\*(R" in this manual, which is the same -as \*(L"algorithm\*(R" in most cases, allowing either term to be used -interchangeably. There are algorithms where the \fIkey type\fR and the -\&\fIalgorithm\fR of the operations that use the keys are not the same, -such as \s-1EC\s0 keys being used for \s-1ECDSA\s0 and \s-1ECDH\s0 operations. .SH "RETURN VALUES" .IX Header "RETURN VALUES" \&\fIEVP_PKEY_CTX_new()\fR, \fIEVP_PKEY_CTX_new_id()\fR, \fIEVP_PKEY_CTX_dup()\fR returns either @@ -201,16 +172,12 @@ the newly allocated \fB\s-1EVP_PKEY_CTX\s0\fR structure of \fB\s-1NULL\s0\fR if \&\fIEVP_PKEY_new\fR\|(3) .SH "HISTORY" .IX Header "HISTORY" -The \fIEVP_PKEY_CTX_new()\fR, \fIEVP_PKEY_CTX_new_id()\fR, \fIEVP_PKEY_CTX_dup()\fR and -\&\fIEVP_PKEY_CTX_free()\fR functions were added in OpenSSL 1.0.0. -.PP -The \fIEVP_PKEY_CTX_new_from_name()\fR and \fIEVP_PKEY_CTX_new_from_pkey()\fR functions were -added in OpenSSL 3.0. +These functions were added in OpenSSL 1.0.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2006\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_new_id.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_new_id.3 new file mode 120000 index 0000000..6a32eb6 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_new_id.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set0_dh_kdf_oid.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set0_dh_kdf_oid.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set0_dh_kdf_oid.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set0_dh_kdf_ukm.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set0_dh_kdf_ukm.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set0_dh_kdf_ukm.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set0_ecdh_kdf_ukm.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set0_ecdh_kdf_ukm.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set0_ecdh_kdf_ukm.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set0_rsa_oaep_label.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set0_rsa_oaep_label.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set0_rsa_oaep_label.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set1_hkdf_key.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set1_hkdf_key.3 new file mode 120000 index 0000000..71d96cb --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set1_hkdf_key.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_set_hkdf_md.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set1_hkdf_salt.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set1_hkdf_salt.3 new file mode 120000 index 0000000..71d96cb --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set1_hkdf_salt.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_set_hkdf_md.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set1_id.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set1_id.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set1_id.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set1_pbe_pass.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set1_pbe_pass.3 index 64a5951..8234736 100755 --- a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set1_pbe_pass.3 +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set1_pbe_pass.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "EVP_PKEY_CTX_SET1_PBE_PASS 3" -.TH EVP_PKEY_CTX_SET1_PBE_PASS 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_PKEY_CTX_SET1_PBE_PASS 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_PKEY_CTX_set1_pbe_pass -\&\- generic KDF support functions +EVP_PKEY_CTX_set1_pbe_pass \&\- generic KDF support functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -169,7 +168,7 @@ the public key algorithm. .IX Header "COPYRIGHT" Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set1_scrypt_salt.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set1_scrypt_salt.3 new file mode 120000 index 0000000..d207ebd --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set1_scrypt_salt.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_set_scrypt_N.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set1_tls1_prf_secret.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set1_tls1_prf_secret.3 new file mode 120000 index 0000000..eb13006 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set1_tls1_prf_secret.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_set_tls1_prf_md.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_app_data.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_app_data.3 new file mode 120000 index 0000000..375c0d8 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_app_data.3 @@ -0,0 +1 @@ +EVP_PKEY_keygen.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_cb.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_cb.3 new file mode 120000 index 0000000..375c0d8 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_cb.3 @@ -0,0 +1 @@ +EVP_PKEY_keygen.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dh_kdf_md.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dh_kdf_md.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dh_kdf_md.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dh_kdf_outlen.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dh_kdf_outlen.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dh_kdf_outlen.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dh_kdf_type.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dh_kdf_type.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dh_kdf_type.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dh_nid.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dh_nid.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dh_nid.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dh_pad.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dh_pad.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dh_pad.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dh_paramgen_generator.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dh_paramgen_generator.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dh_paramgen_generator.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dh_paramgen_prime_len.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dh_paramgen_prime_len.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dh_paramgen_prime_len.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dh_paramgen_subprime_len.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dh_paramgen_subprime_len.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dh_paramgen_subprime_len.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dh_paramgen_type.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dh_paramgen_type.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dh_paramgen_type.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dh_rfc5114.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dh_rfc5114.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dh_rfc5114.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dhx_rfc5114.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dhx_rfc5114.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dhx_rfc5114.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dsa_paramgen_bits.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dsa_paramgen_bits.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dsa_paramgen_bits.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dsa_paramgen_md.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dsa_paramgen_md.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dsa_paramgen_md.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dsa_paramgen_q_bits.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dsa_paramgen_q_bits.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_dsa_paramgen_q_bits.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_ec_param_enc.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_ec_param_enc.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_ec_param_enc.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_ec_paramgen_curve_nid.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_ec_paramgen_curve_nid.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_ec_paramgen_curve_nid.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_ecdh_cofactor_mode.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_ecdh_cofactor_mode.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_ecdh_cofactor_mode.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_ecdh_kdf_md.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_ecdh_kdf_md.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_ecdh_kdf_md.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_ecdh_kdf_outlen.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_ecdh_kdf_outlen.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_ecdh_kdf_outlen.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_ecdh_kdf_type.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_ecdh_kdf_type.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_ecdh_kdf_type.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_hkdf_md.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_hkdf_md.3 index e2100ad..17b57ef 100755 --- a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_hkdf_md.3 +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_hkdf_md.3 @@ -124,16 +124,13 @@ .\" ======================================================================== .\" .IX Title "EVP_PKEY_CTX_SET_HKDF_MD 3" -.TH EVP_PKEY_CTX_SET_HKDF_MD 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_PKEY_CTX_SET_HKDF_MD 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_PKEY_CTX_set_hkdf_md, EVP_PKEY_CTX_set1_hkdf_salt, -EVP_PKEY_CTX_set1_hkdf_key, EVP_PKEY_CTX_add1_hkdf_info, -EVP_PKEY_CTX_hkdf_mode \- -HMAC\-based Extract\-and\-Expand key derivation algorithm +EVP_PKEY_CTX_set_hkdf_md, EVP_PKEY_CTX_set1_hkdf_salt, EVP_PKEY_CTX_set1_hkdf_key, EVP_PKEY_CTX_add1_hkdf_info, EVP_PKEY_CTX_hkdf_mode \- HMAC\-based Extract\-and\-Expand key derivation algorithm .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -274,9 +271,9 @@ salt value \*(L"salt\*(R" and info value \*(L"label\*(R": \&\fIEVP_PKEY_derive\fR\|(3) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2016\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2016\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_mac_key.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_mac_key.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_mac_key.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_rsa_keygen_bits.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_rsa_keygen_bits.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_rsa_keygen_bits.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_rsa_keygen_primes.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_rsa_keygen_primes.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_rsa_keygen_primes.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_rsa_keygen_pubexp.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_rsa_keygen_pubexp.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_rsa_keygen_pubexp.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_rsa_mgf1_md.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_rsa_mgf1_md.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_rsa_mgf1_md.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_rsa_oaep_md.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_rsa_oaep_md.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_rsa_oaep_md.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_rsa_padding.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_rsa_padding.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_rsa_padding.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_md.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_md.3 index 491ec2e..ae620b3 100755 --- a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_md.3 +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_md.3 @@ -124,16 +124,13 @@ .\" ======================================================================== .\" .IX Title "EVP_PKEY_CTX_SET_RSA_PSS_KEYGEN_MD 3" -.TH EVP_PKEY_CTX_SET_RSA_PSS_KEYGEN_MD 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_PKEY_CTX_SET_RSA_PSS_KEYGEN_MD 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_PKEY_CTX_set_rsa_pss_keygen_md, -EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md, -EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen -\&\- EVP_PKEY RSA\-PSS algorithm support functions +EVP_PKEY_CTX_set_rsa_pss_keygen_md, EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md, EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen \&\- EVP_PKEY RSA\-PSS algorithm support functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -162,10 +159,10 @@ to the \fB\s-1RSA\s0\fR operation except detection of the salt length (using \&\s-1RSA_PSS_SALTLEN_AUTO\s0) is not supported for verification if the key has usage restrictions. .PP -The \fIEVP_PKEY_CTX_set_signature_md\fR\|(3) and \fIEVP_PKEY_CTX_set_rsa_mgf1_md\fR\|(3) -fuunctions are used to set the digest and \s-1MGF1\s0 algorithms respectively. If the -key has usage restrictions then an error is returned if an attempt is made to -set the digest to anything other than the restricted value. Otherwise these are +The \fIEVP_PKEY_CTX_set_signature_md()\fR and \fIEVP_PKEY_CTX_set_rsa_mgf1_md()\fR macros +are used to set the digest and \s-1MGF1\s0 algorithms respectively. If the key has +usage restrictions then an error is returned if an attempt is made to set the +digest to anything other than the restricted value. Otherwise these are similar to the \fB\s-1RSA\s0\fR versions. .SS "Key Generation" .IX Subsection "Key Generation" @@ -210,7 +207,7 @@ the public key algorithm. .IX Header "COPYRIGHT" Copyright 2017\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md.3 new file mode 120000 index 0000000..2a761a7 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_set_rsa_pss_keygen_md.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen.3 new file mode 120000 index 0000000..2a761a7 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_set_rsa_pss_keygen_md.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_rsa_pss_saltlen.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_rsa_pss_saltlen.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_rsa_pss_saltlen.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_scrypt_N.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_scrypt_N.3 index 618e15d..2436c10 100755 --- a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_scrypt_N.3 +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_scrypt_N.3 @@ -124,18 +124,13 @@ .\" ======================================================================== .\" .IX Title "EVP_PKEY_CTX_SET_SCRYPT_N 3" -.TH EVP_PKEY_CTX_SET_SCRYPT_N 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_PKEY_CTX_SET_SCRYPT_N 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_PKEY_CTX_set1_scrypt_salt, -EVP_PKEY_CTX_set_scrypt_N, -EVP_PKEY_CTX_set_scrypt_r, -EVP_PKEY_CTX_set_scrypt_p, -EVP_PKEY_CTX_set_scrypt_maxmem_bytes -\&\- EVP_PKEY scrypt KDF support functions +EVP_PKEY_CTX_set1_scrypt_salt, EVP_PKEY_CTX_set_scrypt_N, EVP_PKEY_CTX_set_scrypt_r, EVP_PKEY_CTX_set_scrypt_p, EVP_PKEY_CTX_set_scrypt_maxmem_bytes \&\- EVP_PKEY scrypt KDF support functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -157,7 +152,7 @@ EVP_PKEY_CTX_set_scrypt_maxmem_bytes .IX Header "DESCRIPTION" These functions are used to set up the necessary data to use the scrypt \s-1KDF\s0. -For more information on scrypt, see \s-1\fIEVP_KDF\-SCRYPT\s0\fR\|(7). +For more information on scrypt, see \fIscrypt\fR\|(7). .PP \&\fIEVP_PKEY_CTX_set1_scrypt_salt()\fR sets the \fBsaltlen\fR bytes long salt value. @@ -180,9 +175,6 @@ set by using the parameters \*(L"N\*(R", \*(L"r\*(R", \*(L"p\*(R" and \*(L"maxme respectively. .SH "NOTES" .IX Header "NOTES" -There is a newer generic \s-1API\s0 for KDFs, \s-1\fIEVP_KDF\s0\fR\|(3), which is -preferred over the \s-1EVP_PKEY\s0 method. -.PP The scrypt \s-1KDF\s0 also uses \fIEVP_PKEY_CTX_set1_pbe_pass()\fR as well as the value from the string controls \*(L"pass\*(R" and \*(L"hexpass\*(R". See \fIEVP_PKEY_CTX_set1_pbe_pass\fR\|(3). @@ -196,7 +188,7 @@ In particular a return value of \-2 indicates the operation is not supported by the public key algorithm. .SH "SEE ALSO" .IX Header "SEE ALSO" -\&\s-1\fIEVP_KDF\s0\fR\|(3) +\&\fIscrypt\fR\|(7), \&\fIEVP_PKEY_CTX_new\fR\|(3), \&\fIEVP_PKEY_CTX_ctrl_str\fR\|(3), \&\fIEVP_PKEY_derive\fR\|(3) @@ -204,7 +196,7 @@ supported by the public key algorithm. .IX Header "COPYRIGHT" Copyright 2017\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_scrypt_maxmem_bytes.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_scrypt_maxmem_bytes.3 new file mode 120000 index 0000000..d207ebd --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_scrypt_maxmem_bytes.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_set_scrypt_N.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_scrypt_p.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_scrypt_p.3 new file mode 120000 index 0000000..d207ebd --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_scrypt_p.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_set_scrypt_N.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_scrypt_r.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_scrypt_r.3 new file mode 120000 index 0000000..d207ebd --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_scrypt_r.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_set_scrypt_N.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_signature_md.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_signature_md.3 new file mode 120000 index 0000000..1df3e46 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_signature_md.3 @@ -0,0 +1 @@ +EVP_PKEY_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_tls1_prf_md.3 b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_tls1_prf_md.3 index 8d9c918..d13cec7 100755 --- a/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_tls1_prf_md.3 +++ b/linux_amd64/share/man/man3/EVP_PKEY_CTX_set_tls1_prf_md.3 @@ -124,15 +124,13 @@ .\" ======================================================================== .\" .IX Title "EVP_PKEY_CTX_SET_TLS1_PRF_MD 3" -.TH EVP_PKEY_CTX_SET_TLS1_PRF_MD 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_PKEY_CTX_SET_TLS1_PRF_MD 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_PKEY_CTX_set_tls1_prf_md, -EVP_PKEY_CTX_set1_tls1_prf_secret, EVP_PKEY_CTX_add1_tls1_prf_seed \- -TLS PRF key derivation algorithm +EVP_PKEY_CTX_set_tls1_prf_md, EVP_PKEY_CTX_set1_tls1_prf_secret, EVP_PKEY_CTX_add1_tls1_prf_seed \- TLS PRF key derivation algorithm .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -225,9 +223,9 @@ and seed value \*(L"seed\*(R": \&\fIEVP_PKEY_derive\fR\|(3) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2016\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_PKEY_METHOD.3 b/linux_amd64/share/man/man3/EVP_PKEY_METHOD.3 new file mode 120000 index 0000000..2a39b7d --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_METHOD.3 @@ -0,0 +1 @@ +EVP_PKEY_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_asn1_add0.3 b/linux_amd64/share/man/man3/EVP_PKEY_asn1_add0.3 new file mode 120000 index 0000000..c67df16 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_asn1_add0.3 @@ -0,0 +1 @@ +EVP_PKEY_ASN1_METHOD.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_asn1_add_alias.3 b/linux_amd64/share/man/man3/EVP_PKEY_asn1_add_alias.3 new file mode 120000 index 0000000..c67df16 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_asn1_add_alias.3 @@ -0,0 +1 @@ +EVP_PKEY_ASN1_METHOD.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_asn1_copy.3 b/linux_amd64/share/man/man3/EVP_PKEY_asn1_copy.3 new file mode 120000 index 0000000..c67df16 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_asn1_copy.3 @@ -0,0 +1 @@ +EVP_PKEY_ASN1_METHOD.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_asn1_find.3 b/linux_amd64/share/man/man3/EVP_PKEY_asn1_find.3 new file mode 120000 index 0000000..16a955e --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_asn1_find.3 @@ -0,0 +1 @@ +EVP_PKEY_asn1_get_count.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_asn1_find_str.3 b/linux_amd64/share/man/man3/EVP_PKEY_asn1_find_str.3 new file mode 120000 index 0000000..16a955e --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_asn1_find_str.3 @@ -0,0 +1 @@ +EVP_PKEY_asn1_get_count.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_asn1_free.3 b/linux_amd64/share/man/man3/EVP_PKEY_asn1_free.3 new file mode 120000 index 0000000..c67df16 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_asn1_free.3 @@ -0,0 +1 @@ +EVP_PKEY_ASN1_METHOD.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_asn1_get0.3 b/linux_amd64/share/man/man3/EVP_PKEY_asn1_get0.3 new file mode 120000 index 0000000..16a955e --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_asn1_get0.3 @@ -0,0 +1 @@ +EVP_PKEY_asn1_get_count.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_asn1_get0_info.3 b/linux_amd64/share/man/man3/EVP_PKEY_asn1_get0_info.3 new file mode 120000 index 0000000..16a955e --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_asn1_get0_info.3 @@ -0,0 +1 @@ +EVP_PKEY_asn1_get_count.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_asn1_get_count.3 b/linux_amd64/share/man/man3/EVP_PKEY_asn1_get_count.3 index c3ee916..a1b1fa3 100755 --- a/linux_amd64/share/man/man3/EVP_PKEY_asn1_get_count.3 +++ b/linux_amd64/share/man/man3/EVP_PKEY_asn1_get_count.3 @@ -124,18 +124,13 @@ .\" ======================================================================== .\" .IX Title "EVP_PKEY_ASN1_GET_COUNT 3" -.TH EVP_PKEY_ASN1_GET_COUNT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_PKEY_ASN1_GET_COUNT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_PKEY_asn1_find, -EVP_PKEY_asn1_find_str, -EVP_PKEY_asn1_get_count, -EVP_PKEY_asn1_get0, -EVP_PKEY_asn1_get0_info -\&\- enumerate public key ASN.1 methods +EVP_PKEY_asn1_find, EVP_PKEY_asn1_find_str, EVP_PKEY_asn1_get_count, EVP_PKEY_asn1_get0, EVP_PKEY_asn1_get0_info \&\- enumerate public key ASN.1 methods .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -195,9 +190,9 @@ out of range. \&\fIEVP_PKEY_asn1_new\fR\|(3), \fIEVP_PKEY_asn1_add0\fR\|(3) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_PKEY_asn1_new.3 b/linux_amd64/share/man/man3/EVP_PKEY_asn1_new.3 new file mode 120000 index 0000000..c67df16 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_asn1_new.3 @@ -0,0 +1 @@ +EVP_PKEY_ASN1_METHOD.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_asn1_set_check.3 b/linux_amd64/share/man/man3/EVP_PKEY_asn1_set_check.3 new file mode 120000 index 0000000..c67df16 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_asn1_set_check.3 @@ -0,0 +1 @@ +EVP_PKEY_ASN1_METHOD.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_asn1_set_ctrl.3 b/linux_amd64/share/man/man3/EVP_PKEY_asn1_set_ctrl.3 new file mode 120000 index 0000000..c67df16 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_asn1_set_ctrl.3 @@ -0,0 +1 @@ +EVP_PKEY_ASN1_METHOD.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_asn1_set_free.3 b/linux_amd64/share/man/man3/EVP_PKEY_asn1_set_free.3 new file mode 120000 index 0000000..c67df16 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_asn1_set_free.3 @@ -0,0 +1 @@ +EVP_PKEY_ASN1_METHOD.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_asn1_set_get_priv_key.3 b/linux_amd64/share/man/man3/EVP_PKEY_asn1_set_get_priv_key.3 new file mode 120000 index 0000000..c67df16 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_asn1_set_get_priv_key.3 @@ -0,0 +1 @@ +EVP_PKEY_ASN1_METHOD.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_asn1_set_get_pub_key.3 b/linux_amd64/share/man/man3/EVP_PKEY_asn1_set_get_pub_key.3 new file mode 120000 index 0000000..c67df16 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_asn1_set_get_pub_key.3 @@ -0,0 +1 @@ +EVP_PKEY_ASN1_METHOD.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_asn1_set_item.3 b/linux_amd64/share/man/man3/EVP_PKEY_asn1_set_item.3 new file mode 120000 index 0000000..c67df16 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_asn1_set_item.3 @@ -0,0 +1 @@ +EVP_PKEY_ASN1_METHOD.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_asn1_set_param.3 b/linux_amd64/share/man/man3/EVP_PKEY_asn1_set_param.3 new file mode 120000 index 0000000..c67df16 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_asn1_set_param.3 @@ -0,0 +1 @@ +EVP_PKEY_ASN1_METHOD.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_asn1_set_param_check.3 b/linux_amd64/share/man/man3/EVP_PKEY_asn1_set_param_check.3 new file mode 120000 index 0000000..c67df16 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_asn1_set_param_check.3 @@ -0,0 +1 @@ +EVP_PKEY_ASN1_METHOD.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_asn1_set_private.3 b/linux_amd64/share/man/man3/EVP_PKEY_asn1_set_private.3 new file mode 120000 index 0000000..c67df16 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_asn1_set_private.3 @@ -0,0 +1 @@ +EVP_PKEY_ASN1_METHOD.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_asn1_set_public.3 b/linux_amd64/share/man/man3/EVP_PKEY_asn1_set_public.3 new file mode 120000 index 0000000..c67df16 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_asn1_set_public.3 @@ -0,0 +1 @@ +EVP_PKEY_ASN1_METHOD.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_asn1_set_public_check.3 b/linux_amd64/share/man/man3/EVP_PKEY_asn1_set_public_check.3 new file mode 120000 index 0000000..c67df16 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_asn1_set_public_check.3 @@ -0,0 +1 @@ +EVP_PKEY_ASN1_METHOD.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_asn1_set_security_bits.3 b/linux_amd64/share/man/man3/EVP_PKEY_asn1_set_security_bits.3 new file mode 120000 index 0000000..c67df16 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_asn1_set_security_bits.3 @@ -0,0 +1 @@ +EVP_PKEY_ASN1_METHOD.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_asn1_set_set_priv_key.3 b/linux_amd64/share/man/man3/EVP_PKEY_asn1_set_set_priv_key.3 new file mode 120000 index 0000000..c67df16 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_asn1_set_set_priv_key.3 @@ -0,0 +1 @@ +EVP_PKEY_ASN1_METHOD.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_asn1_set_set_pub_key.3 b/linux_amd64/share/man/man3/EVP_PKEY_asn1_set_set_pub_key.3 new file mode 120000 index 0000000..c67df16 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_asn1_set_set_pub_key.3 @@ -0,0 +1 @@ +EVP_PKEY_ASN1_METHOD.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_asn1_set_siginf.3 b/linux_amd64/share/man/man3/EVP_PKEY_asn1_set_siginf.3 new file mode 120000 index 0000000..c67df16 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_asn1_set_siginf.3 @@ -0,0 +1 @@ +EVP_PKEY_ASN1_METHOD.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_assign_DH.3 b/linux_amd64/share/man/man3/EVP_PKEY_assign_DH.3 new file mode 120000 index 0000000..be0f1b4 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_assign_DH.3 @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_assign_DSA.3 b/linux_amd64/share/man/man3/EVP_PKEY_assign_DSA.3 new file mode 120000 index 0000000..be0f1b4 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_assign_DSA.3 @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_assign_EC_KEY.3 b/linux_amd64/share/man/man3/EVP_PKEY_assign_EC_KEY.3 new file mode 120000 index 0000000..be0f1b4 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_assign_EC_KEY.3 @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_assign_POLY1305.3 b/linux_amd64/share/man/man3/EVP_PKEY_assign_POLY1305.3 new file mode 120000 index 0000000..be0f1b4 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_assign_POLY1305.3 @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_assign_RSA.3 b/linux_amd64/share/man/man3/EVP_PKEY_assign_RSA.3 new file mode 120000 index 0000000..be0f1b4 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_assign_RSA.3 @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_assign_SIPHASH.3 b/linux_amd64/share/man/man3/EVP_PKEY_assign_SIPHASH.3 new file mode 120000 index 0000000..be0f1b4 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_assign_SIPHASH.3 @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_base_id.3 b/linux_amd64/share/man/man3/EVP_PKEY_base_id.3 new file mode 120000 index 0000000..be0f1b4 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_base_id.3 @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_cmp.3 b/linux_amd64/share/man/man3/EVP_PKEY_cmp.3 index 7537f56..a238d9f 100755 --- a/linux_amd64/share/man/man3/EVP_PKEY_cmp.3 +++ b/linux_amd64/share/man/man3/EVP_PKEY_cmp.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "EVP_PKEY_CMP 3" -.TH EVP_PKEY_CMP 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_PKEY_CMP 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_PKEY_copy_parameters, EVP_PKEY_missing_parameters, EVP_PKEY_cmp_parameters, -EVP_PKEY_cmp \- public key parameter and comparison functions +EVP_PKEY_copy_parameters, EVP_PKEY_missing_parameters, EVP_PKEY_cmp_parameters, EVP_PKEY_cmp \- public key parameter and comparison functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -189,7 +188,7 @@ keys match, 0 if they don't match, \-1 if the key types are different and .IX Header "COPYRIGHT" Copyright 2006\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_PKEY_cmp_parameters.3 b/linux_amd64/share/man/man3/EVP_PKEY_cmp_parameters.3 new file mode 120000 index 0000000..92aa54c --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_cmp_parameters.3 @@ -0,0 +1 @@ +EVP_PKEY_cmp.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_copy_parameters.3 b/linux_amd64/share/man/man3/EVP_PKEY_copy_parameters.3 new file mode 120000 index 0000000..92aa54c --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_copy_parameters.3 @@ -0,0 +1 @@ +EVP_PKEY_cmp.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_decrypt.3 b/linux_amd64/share/man/man3/EVP_PKEY_decrypt.3 index f9a512c..9b9fd93 100755 --- a/linux_amd64/share/man/man3/EVP_PKEY_decrypt.3 +++ b/linux_amd64/share/man/man3/EVP_PKEY_decrypt.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "EVP_PKEY_DECRYPT 3" -.TH EVP_PKEY_DECRYPT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_PKEY_DECRYPT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -219,9 +219,9 @@ Decrypt data using \s-1OAEP\s0 (for \s-1RSA\s0 keys): These functions were added in OpenSSL 1.0.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2006\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2006\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_PKEY_decrypt_init.3 b/linux_amd64/share/man/man3/EVP_PKEY_decrypt_init.3 new file mode 120000 index 0000000..3ee2928 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_decrypt_init.3 @@ -0,0 +1 @@ +EVP_PKEY_decrypt.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_derive.3 b/linux_amd64/share/man/man3/EVP_PKEY_derive.3 index 1299f6f..9b49057 100755 --- a/linux_amd64/share/man/man3/EVP_PKEY_derive.3 +++ b/linux_amd64/share/man/man3/EVP_PKEY_derive.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "EVP_PKEY_DERIVE 3" -.TH EVP_PKEY_DERIVE 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_PKEY_DERIVE 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_PKEY_derive_init, EVP_PKEY_derive_set_peer, EVP_PKEY_derive -\&\- derive public key algorithm shared secret +EVP_PKEY_derive_init, EVP_PKEY_derive_set_peer, EVP_PKEY_derive \- derive public key algorithm shared secret .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -143,35 +142,31 @@ EVP_PKEY_derive_init, EVP_PKEY_derive_set_peer, EVP_PKEY_derive .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -\&\fIEVP_PKEY_derive_init()\fR initializes a public key algorithm context \fIctx\fR for -shared secret derivation using the algorithm given when the context was created -using \fIEVP_PKEY_CTX_new\fR\|(3) or variants thereof. The algorithm is used to -fetch a \fB\s-1EVP_KEYEXCH\s0\fR method implicitly, see \*(L"Implicit fetch\*(R" in \fIprovider\fR\|(7) for -more information about implict fetches. +The \fIEVP_PKEY_derive_init()\fR function initializes a public key algorithm +context using key \fBpkey\fR for shared secret derivation. .PP -\&\fIEVP_PKEY_derive_set_peer()\fR sets the peer key: this will normally +The \fIEVP_PKEY_derive_set_peer()\fR function sets the peer key: this will normally be a public key. .PP -\&\fIEVP_PKEY_derive()\fR derives a shared secret using \fIctx\fR. -If \fIkey\fR is \s-1NULL\s0 then the maximum size of the output buffer is written to the -\&\fIkeylen\fR parameter. If \fIkey\fR is not \s-1NULL\s0 then before the call the \fIkeylen\fR -parameter should contain the length of the \fIkey\fR buffer, if the call is -successful the shared secret is written to \fIkey\fR and the amount of data -written to \fIkeylen\fR. +The \fIEVP_PKEY_derive()\fR derives a shared secret using \fBctx\fR. +If \fBkey\fR is \fB\s-1NULL\s0\fR then the maximum size of the output buffer is written to +the \fBkeylen\fR parameter. If \fBkey\fR is not \fB\s-1NULL\s0\fR then before the call the +\&\fBkeylen\fR parameter should contain the length of the \fBkey\fR buffer, if the call +is successful the shared secret is written to \fBkey\fR and the amount of data +written to \fBkeylen\fR. .SH "NOTES" .IX Header "NOTES" -After the call to \fIEVP_PKEY_derive_init()\fR, algorithm -specific control operations can be performed to set any appropriate parameters -for the operation. +After the call to \fIEVP_PKEY_derive_init()\fR algorithm specific control +operations can be performed to set any appropriate parameters for the +operation. .PP The function \fIEVP_PKEY_derive()\fR can be called more than once on the same context if several operations are performed using the same parameters. .SH "RETURN VALUES" .IX Header "RETURN VALUES" -\&\fIEVP_PKEY_derive_init()\fR and \fIEVP_PKEY_derive()\fR return 1 -for success and 0 or a negative value for failure. -In particular a return value of \-2 indicates the operation is not supported by -the public key algorithm. +\&\fIEVP_PKEY_derive_init()\fR and \fIEVP_PKEY_derive()\fR return 1 for success and 0 +or a negative value for failure. In particular a return value of \-2 +indicates the operation is not supported by the public key algorithm. .SH "EXAMPLES" .IX Header "EXAMPLES" Derive shared secret (for example \s-1DH\s0 or \s-1EC\s0 keys): @@ -217,15 +212,14 @@ Derive shared secret (for example \s-1DH\s0 or \s-1EC\s0 keys): \&\fIEVP_PKEY_sign\fR\|(3), \&\fIEVP_PKEY_verify\fR\|(3), \&\fIEVP_PKEY_verify_recover\fR\|(3), -\&\fIEVP_KEYEXCH_fetch\fR\|(3) .SH "HISTORY" .IX Header "HISTORY" These functions were added in OpenSSL 1.0.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2006\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2006\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_PKEY_derive_init.3 b/linux_amd64/share/man/man3/EVP_PKEY_derive_init.3 new file mode 120000 index 0000000..c11df5c --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_derive_init.3 @@ -0,0 +1 @@ +EVP_PKEY_derive.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_derive_set_peer.3 b/linux_amd64/share/man/man3/EVP_PKEY_derive_set_peer.3 new file mode 120000 index 0000000..c11df5c --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_derive_set_peer.3 @@ -0,0 +1 @@ +EVP_PKEY_derive.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_encrypt.3 b/linux_amd64/share/man/man3/EVP_PKEY_encrypt.3 index 5dff2d8..0f0c4c3 100755 --- a/linux_amd64/share/man/man3/EVP_PKEY_encrypt.3 +++ b/linux_amd64/share/man/man3/EVP_PKEY_encrypt.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "EVP_PKEY_ENCRYPT 3" -.TH EVP_PKEY_ENCRYPT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_PKEY_ENCRYPT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -224,9 +224,9 @@ set 'eng = \s-1NULL\s0;' to start with the default OpenSSL \s-1RSA\s0 implementa These functions were added in OpenSSL 1.0.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2006\-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2006\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_PKEY_encrypt_init.3 b/linux_amd64/share/man/man3/EVP_PKEY_encrypt_init.3 new file mode 120000 index 0000000..f9d3ca8 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_encrypt_init.3 @@ -0,0 +1 @@ +EVP_PKEY_encrypt.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_free.3 b/linux_amd64/share/man/man3/EVP_PKEY_free.3 new file mode 120000 index 0000000..fb8163a --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_free.3 @@ -0,0 +1 @@ +EVP_PKEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_gen_cb.3 b/linux_amd64/share/man/man3/EVP_PKEY_gen_cb.3 new file mode 120000 index 0000000..375c0d8 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_gen_cb.3 @@ -0,0 +1 @@ +EVP_PKEY_keygen.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_get0_DH.3 b/linux_amd64/share/man/man3/EVP_PKEY_get0_DH.3 new file mode 120000 index 0000000..be0f1b4 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_get0_DH.3 @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_get0_DSA.3 b/linux_amd64/share/man/man3/EVP_PKEY_get0_DSA.3 new file mode 120000 index 0000000..be0f1b4 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_get0_DSA.3 @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_get0_EC_KEY.3 b/linux_amd64/share/man/man3/EVP_PKEY_get0_EC_KEY.3 new file mode 120000 index 0000000..be0f1b4 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_get0_EC_KEY.3 @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_get0_RSA.3 b/linux_amd64/share/man/man3/EVP_PKEY_get0_RSA.3 new file mode 120000 index 0000000..be0f1b4 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_get0_RSA.3 @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_get0_asn1.3 b/linux_amd64/share/man/man3/EVP_PKEY_get0_asn1.3 new file mode 120000 index 0000000..c67df16 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_get0_asn1.3 @@ -0,0 +1 @@ +EVP_PKEY_ASN1_METHOD.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_get0_engine.3 b/linux_amd64/share/man/man3/EVP_PKEY_get0_engine.3 new file mode 120000 index 0000000..be0f1b4 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_get0_engine.3 @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_get0_hmac.3 b/linux_amd64/share/man/man3/EVP_PKEY_get0_hmac.3 new file mode 120000 index 0000000..be0f1b4 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_get0_hmac.3 @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_get0_poly1305.3 b/linux_amd64/share/man/man3/EVP_PKEY_get0_poly1305.3 new file mode 120000 index 0000000..be0f1b4 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_get0_poly1305.3 @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_get0_siphash.3 b/linux_amd64/share/man/man3/EVP_PKEY_get0_siphash.3 new file mode 120000 index 0000000..be0f1b4 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_get0_siphash.3 @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_get1_DH.3 b/linux_amd64/share/man/man3/EVP_PKEY_get1_DH.3 new file mode 120000 index 0000000..be0f1b4 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_get1_DH.3 @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_get1_DSA.3 b/linux_amd64/share/man/man3/EVP_PKEY_get1_DSA.3 new file mode 120000 index 0000000..be0f1b4 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_get1_DSA.3 @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_get1_EC_KEY.3 b/linux_amd64/share/man/man3/EVP_PKEY_get1_EC_KEY.3 new file mode 120000 index 0000000..be0f1b4 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_get1_EC_KEY.3 @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_get1_RSA.3 b/linux_amd64/share/man/man3/EVP_PKEY_get1_RSA.3 new file mode 120000 index 0000000..be0f1b4 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_get1_RSA.3 @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_get_default_digest_nid.3 b/linux_amd64/share/man/man3/EVP_PKEY_get_default_digest_nid.3 index 66f7104..9736d2c 100755 --- a/linux_amd64/share/man/man3/EVP_PKEY_get_default_digest_nid.3 +++ b/linux_amd64/share/man/man3/EVP_PKEY_get_default_digest_nid.3 @@ -124,54 +124,39 @@ .\" ======================================================================== .\" .IX Title "EVP_PKEY_GET_DEFAULT_DIGEST_NID 3" -.TH EVP_PKEY_GET_DEFAULT_DIGEST_NID 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_PKEY_GET_DEFAULT_DIGEST_NID 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_PKEY_get_default_digest_nid, EVP_PKEY_get_default_digest_name -\&\- get default signature digest +EVP_PKEY_get_default_digest_nid \- get default signature digest .SH "SYNOPSIS" .IX Header "SYNOPSIS" -.Vb 1 +.Vb 2 \& #include -\& -\& int EVP_PKEY_get_default_digest_name(EVP_PKEY *pkey, -\& char *mdname, size_t mdname_sz) \& int EVP_PKEY_get_default_digest_nid(EVP_PKEY *pkey, int *pnid); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -\&\fIEVP_PKEY_get_default_digest_name()\fR fills in the default message digest -name for the public key signature operations associated with key -\&\fIpkey\fR into \fImdname\fR, up to at most \fImdname_sz\fR bytes including the -ending \s-1NUL\s0 byte. -.PP -\&\fIEVP_PKEY_get_default_digest_nid()\fR sets \fIpnid\fR to the default message -digest \s-1NID\s0 for the public key signature operations associated with key -\&\fIpkey\fR. Note that some signature algorithms (i.e. Ed25519 and Ed448) -do not use a digest during signing. In this case \fIpnid\fR will be set -to NID_undef. This function is only reliable for legacy keys, which -are keys with a \fB\s-1EVP_PKEY_ASN1_METHOD\s0\fR; these keys have typically -been loaded from engines, or created with \fIEVP_PKEY_assign_RSA\fR\|(3) or -similar. +The \fIEVP_PKEY_get_default_digest_nid()\fR function sets \fBpnid\fR to the default +message digest \s-1NID\s0 for the public key signature operations associated with key +\&\fBpkey\fR. Note that some signature algorithms (i.e. Ed25519 and Ed448) do not use +a digest during signing. In this case \fBpnid\fR will be set to NID_undef. .SH "NOTES" .IX Header "NOTES" -For all current standard OpenSSL public key algorithms \s-1SHA256\s0 is returned. +For all current standard OpenSSL public key algorithms \s-1SHA1\s0 is returned. .SH "RETURN VALUES" .IX Header "RETURN VALUES" -\&\fIEVP_PKEY_get_default_digest_name()\fR and \fIEVP_PKEY_get_default_digest_nid()\fR -both return 1 if the message digest is advisory (that is other digests -can be used) and 2 if it is mandatory (other digests can not be used). -They return 0 or a negative value for failure. In particular a return -value of \-2 indicates the operation is not supported by the public key -algorithm. +The \fIEVP_PKEY_get_default_digest_nid()\fR function returns 1 if the message digest +is advisory (that is other digests can be used) and 2 if it is mandatory (other +digests can not be used). It returns 0 or a negative value for failure. In +particular a return value of \-2 indicates the operation is not supported by the +public key algorithm. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIEVP_PKEY_CTX_new\fR\|(3), \&\fIEVP_PKEY_sign\fR\|(3), -\&\fIEVP_PKEY_supports_digest_nid\fR\|(3), \&\fIEVP_PKEY_verify\fR\|(3), \&\fIEVP_PKEY_verify_recover\fR\|(3), .SH "HISTORY" @@ -181,7 +166,7 @@ This function was added in OpenSSL 1.0.0. .IX Header "COPYRIGHT" Copyright 2006\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_PKEY_get_raw_private_key.3 b/linux_amd64/share/man/man3/EVP_PKEY_get_raw_private_key.3 new file mode 120000 index 0000000..fb8163a --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_get_raw_private_key.3 @@ -0,0 +1 @@ +EVP_PKEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_get_raw_public_key.3 b/linux_amd64/share/man/man3/EVP_PKEY_get_raw_public_key.3 new file mode 120000 index 0000000..fb8163a --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_get_raw_public_key.3 @@ -0,0 +1 @@ +EVP_PKEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_id.3 b/linux_amd64/share/man/man3/EVP_PKEY_id.3 new file mode 120000 index 0000000..be0f1b4 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_id.3 @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_keygen.3 b/linux_amd64/share/man/man3/EVP_PKEY_keygen.3 index 04d40ea..ca96001 100755 --- a/linux_amd64/share/man/man3/EVP_PKEY_keygen.3 +++ b/linux_amd64/share/man/man3/EVP_PKEY_keygen.3 @@ -124,18 +124,13 @@ .\" ======================================================================== .\" .IX Title "EVP_PKEY_KEYGEN 3" -.TH EVP_PKEY_KEYGEN 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_PKEY_KEYGEN 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_PKEY_keygen_init, EVP_PKEY_keygen, EVP_PKEY_paramgen_init, -EVP_PKEY_paramgen, EVP_PKEY_CTX_set_cb, EVP_PKEY_CTX_get_cb, -EVP_PKEY_CTX_get_keygen_info, EVP_PKEY_CTX_set_app_data, -EVP_PKEY_CTX_get_app_data, -EVP_PKEY_gen_cb -\&\- key and parameter generation and check functions +EVP_PKEY_keygen_init, EVP_PKEY_keygen, EVP_PKEY_paramgen_init, EVP_PKEY_paramgen, EVP_PKEY_CTX_set_cb, EVP_PKEY_CTX_get_cb, EVP_PKEY_CTX_get_keygen_info, EVP_PKEY_CTX_set_app_data, EVP_PKEY_CTX_get_app_data, EVP_PKEY_gen_cb, EVP_PKEY_check, EVP_PKEY_public_check, EVP_PKEY_param_check \&\- key and parameter generation and check functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -155,6 +150,10 @@ EVP_PKEY_gen_cb \& \& void EVP_PKEY_CTX_set_app_data(EVP_PKEY_CTX *ctx, void *data); \& void *EVP_PKEY_CTX_get_app_data(EVP_PKEY_CTX *ctx); +\& +\& int EVP_PKEY_check(EVP_PKEY_CTX *ctx); +\& int EVP_PKEY_public_check(EVP_PKEY_CTX *ctx); +\& int EVP_PKEY_param_check(EVP_PKEY_CTX *ctx); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" @@ -185,6 +184,18 @@ The functions \fIEVP_PKEY_CTX_set_app_data()\fR and \fIEVP_PKEY_CTX_get_app_data and retrieve an opaque pointer. This can be used to set some application defined value which can be retrieved in the callback: for example a handle which is used to update a \*(L"progress dialog\*(R". +.PP +\&\fIEVP_PKEY_check()\fR validates the key-pair given by \fBctx\fR. This function first tries +to use customized key check method in \fB\s-1EVP_PKEY_METHOD\s0\fR if it's present; otherwise +it calls a default one defined in \fB\s-1EVP_PKEY_ASN1_METHOD\s0\fR. +.PP +\&\fIEVP_PKEY_public_check()\fR validates the public component of the key-pair given by \fBctx\fR. +This function first tries to use customized key check method in \fB\s-1EVP_PKEY_METHOD\s0\fR +if it's present; otherwise it calls a default one defined in \fB\s-1EVP_PKEY_ASN1_METHOD\s0\fR. +.PP +\&\fIEVP_PKEY_param_check()\fR validates the algorithm parameters of the key-pair given by \fBctx\fR. +This function first tries to use customized key check method in \fB\s-1EVP_PKEY_METHOD\s0\fR +if it's present; otherwise it calls a default one defined in \fB\s-1EVP_PKEY_ASN1_METHOD\s0\fR. .SH "NOTES" .IX Header "NOTES" After the call to \fIEVP_PKEY_keygen_init()\fR or \fIEVP_PKEY_paramgen_init()\fR algorithm @@ -214,6 +225,10 @@ in functions which require the use of a public key or parameters. \&\fIEVP_PKEY_paramgen()\fR return 1 for success and 0 or a negative value for failure. In particular a return value of \-2 indicates the operation is not supported by the public key algorithm. +.PP +\&\fIEVP_PKEY_check()\fR, \fIEVP_PKEY_public_check()\fR and \fIEVP_PKEY_param_check()\fR return 1 +for success or others for failure. They return \-2 if the operation is not supported +for the specific algorithm. .SH "EXAMPLES" .IX Header "EXAMPLES" Generate a 2048 bit \s-1RSA\s0 key: @@ -298,11 +313,14 @@ Example of generation callback for OpenSSL public key implementations: .SH "HISTORY" .IX Header "HISTORY" These functions were added in OpenSSL 1.0.0. +.PP +\&\fIEVP_PKEY_check()\fR, \fIEVP_PKEY_public_check()\fR and \fIEVP_PKEY_param_check()\fR were added +in OpenSSL 1.1.1. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2006\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_PKEY_keygen_init.3 b/linux_amd64/share/man/man3/EVP_PKEY_keygen_init.3 new file mode 120000 index 0000000..375c0d8 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_keygen_init.3 @@ -0,0 +1 @@ +EVP_PKEY_keygen.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_add0.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_add0.3 new file mode 120000 index 0000000..2a39b7d --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_add0.3 @@ -0,0 +1 @@ +EVP_PKEY_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_copy.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_copy.3 new file mode 120000 index 0000000..2a39b7d --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_copy.3 @@ -0,0 +1 @@ +EVP_PKEY_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_find.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_find.3 new file mode 120000 index 0000000..2a39b7d --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_find.3 @@ -0,0 +1 @@ +EVP_PKEY_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_free.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_free.3 new file mode 120000 index 0000000..2a39b7d --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_free.3 @@ -0,0 +1 @@ +EVP_PKEY_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_get0.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_get0.3 new file mode 120000 index 0000000..ceb8a81 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_get0.3 @@ -0,0 +1 @@ +EVP_PKEY_meth_get_count.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_get0_info.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_get0_info.3 new file mode 120000 index 0000000..ceb8a81 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_get0_info.3 @@ -0,0 +1 @@ +EVP_PKEY_meth_get_count.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_get_check.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_get_check.3 new file mode 120000 index 0000000..2a39b7d --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_get_check.3 @@ -0,0 +1 @@ +EVP_PKEY_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_get_cleanup.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_get_cleanup.3 new file mode 120000 index 0000000..2a39b7d --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_get_cleanup.3 @@ -0,0 +1 @@ +EVP_PKEY_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_get_copy.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_get_copy.3 new file mode 120000 index 0000000..2a39b7d --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_get_copy.3 @@ -0,0 +1 @@ +EVP_PKEY_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_get_count.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_get_count.3 index 87e5e2f..21493cc 100755 --- a/linux_amd64/share/man/man3/EVP_PKEY_meth_get_count.3 +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_get_count.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "EVP_PKEY_METH_GET_COUNT 3" -.TH EVP_PKEY_METH_GET_COUNT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_PKEY_METH_GET_COUNT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -167,7 +167,7 @@ out of range. .IX Header "COPYRIGHT" Copyright 2002\-2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_get_ctrl.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_get_ctrl.3 new file mode 120000 index 0000000..2a39b7d --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_get_ctrl.3 @@ -0,0 +1 @@ +EVP_PKEY_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_get_decrypt.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_get_decrypt.3 new file mode 120000 index 0000000..2a39b7d --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_get_decrypt.3 @@ -0,0 +1 @@ +EVP_PKEY_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_get_derive.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_get_derive.3 new file mode 120000 index 0000000..2a39b7d --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_get_derive.3 @@ -0,0 +1 @@ +EVP_PKEY_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_get_digest_custom.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_get_digest_custom.3 new file mode 120000 index 0000000..2a39b7d --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_get_digest_custom.3 @@ -0,0 +1 @@ +EVP_PKEY_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_get_digestsign.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_get_digestsign.3 new file mode 120000 index 0000000..2a39b7d --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_get_digestsign.3 @@ -0,0 +1 @@ +EVP_PKEY_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_get_digestverify.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_get_digestverify.3 new file mode 120000 index 0000000..2a39b7d --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_get_digestverify.3 @@ -0,0 +1 @@ +EVP_PKEY_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_get_encrypt.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_get_encrypt.3 new file mode 120000 index 0000000..2a39b7d --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_get_encrypt.3 @@ -0,0 +1 @@ +EVP_PKEY_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_get_init.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_get_init.3 new file mode 120000 index 0000000..2a39b7d --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_get_init.3 @@ -0,0 +1 @@ +EVP_PKEY_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_get_keygen.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_get_keygen.3 new file mode 120000 index 0000000..2a39b7d --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_get_keygen.3 @@ -0,0 +1 @@ +EVP_PKEY_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_get_param_check.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_get_param_check.3 new file mode 120000 index 0000000..2a39b7d --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_get_param_check.3 @@ -0,0 +1 @@ +EVP_PKEY_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_get_paramgen.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_get_paramgen.3 new file mode 120000 index 0000000..2a39b7d --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_get_paramgen.3 @@ -0,0 +1 @@ +EVP_PKEY_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_get_public_check.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_get_public_check.3 new file mode 120000 index 0000000..2a39b7d --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_get_public_check.3 @@ -0,0 +1 @@ +EVP_PKEY_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_get_sign.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_get_sign.3 new file mode 120000 index 0000000..2a39b7d --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_get_sign.3 @@ -0,0 +1 @@ +EVP_PKEY_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_get_signctx.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_get_signctx.3 new file mode 120000 index 0000000..2a39b7d --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_get_signctx.3 @@ -0,0 +1 @@ +EVP_PKEY_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_get_verify.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_get_verify.3 new file mode 120000 index 0000000..2a39b7d --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_get_verify.3 @@ -0,0 +1 @@ +EVP_PKEY_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_get_verify_recover.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_get_verify_recover.3 new file mode 120000 index 0000000..2a39b7d --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_get_verify_recover.3 @@ -0,0 +1 @@ +EVP_PKEY_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_get_verifyctx.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_get_verifyctx.3 new file mode 120000 index 0000000..2a39b7d --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_get_verifyctx.3 @@ -0,0 +1 @@ +EVP_PKEY_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_new.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_new.3 index 2eb52f1..9d8b114 100755 --- a/linux_amd64/share/man/man3/EVP_PKEY_meth_new.3 +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_new.3 @@ -124,34 +124,13 @@ .\" ======================================================================== .\" .IX Title "EVP_PKEY_METH_NEW 3" -.TH EVP_PKEY_METH_NEW 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_PKEY_METH_NEW 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_PKEY_meth_new, EVP_PKEY_meth_free, EVP_PKEY_meth_copy, EVP_PKEY_meth_find, -EVP_PKEY_meth_add0, EVP_PKEY_METHOD, -EVP_PKEY_meth_set_init, EVP_PKEY_meth_set_copy, EVP_PKEY_meth_set_cleanup, -EVP_PKEY_meth_set_paramgen, EVP_PKEY_meth_set_keygen, EVP_PKEY_meth_set_sign, -EVP_PKEY_meth_set_verify, EVP_PKEY_meth_set_verify_recover, EVP_PKEY_meth_set_signctx, -EVP_PKEY_meth_set_verifyctx, EVP_PKEY_meth_set_encrypt, EVP_PKEY_meth_set_decrypt, -EVP_PKEY_meth_set_derive, EVP_PKEY_meth_set_ctrl, -EVP_PKEY_meth_set_digestsign, EVP_PKEY_meth_set_digestverify, -EVP_PKEY_meth_set_check, -EVP_PKEY_meth_set_public_check, EVP_PKEY_meth_set_param_check, -EVP_PKEY_meth_set_digest_custom, -EVP_PKEY_meth_get_init, EVP_PKEY_meth_get_copy, EVP_PKEY_meth_get_cleanup, -EVP_PKEY_meth_get_paramgen, EVP_PKEY_meth_get_keygen, EVP_PKEY_meth_get_sign, -EVP_PKEY_meth_get_verify, EVP_PKEY_meth_get_verify_recover, EVP_PKEY_meth_get_signctx, -EVP_PKEY_meth_get_verifyctx, EVP_PKEY_meth_get_encrypt, EVP_PKEY_meth_get_decrypt, -EVP_PKEY_meth_get_derive, EVP_PKEY_meth_get_ctrl, -EVP_PKEY_meth_get_digestsign, EVP_PKEY_meth_get_digestverify, -EVP_PKEY_meth_get_check, -EVP_PKEY_meth_get_public_check, EVP_PKEY_meth_get_param_check, -EVP_PKEY_meth_get_digest_custom, -EVP_PKEY_meth_remove -\&\- manipulating EVP_PKEY_METHOD structure +EVP_PKEY_meth_new, EVP_PKEY_meth_free, EVP_PKEY_meth_copy, EVP_PKEY_meth_find, EVP_PKEY_meth_add0, EVP_PKEY_METHOD, EVP_PKEY_meth_set_init, EVP_PKEY_meth_set_copy, EVP_PKEY_meth_set_cleanup, EVP_PKEY_meth_set_paramgen, EVP_PKEY_meth_set_keygen, EVP_PKEY_meth_set_sign, EVP_PKEY_meth_set_verify, EVP_PKEY_meth_set_verify_recover, EVP_PKEY_meth_set_signctx, EVP_PKEY_meth_set_verifyctx, EVP_PKEY_meth_set_encrypt, EVP_PKEY_meth_set_decrypt, EVP_PKEY_meth_set_derive, EVP_PKEY_meth_set_ctrl, EVP_PKEY_meth_set_digestsign, EVP_PKEY_meth_set_digestverify, EVP_PKEY_meth_set_check, EVP_PKEY_meth_set_public_check, EVP_PKEY_meth_set_param_check, EVP_PKEY_meth_set_digest_custom, EVP_PKEY_meth_get_init, EVP_PKEY_meth_get_copy, EVP_PKEY_meth_get_cleanup, EVP_PKEY_meth_get_paramgen, EVP_PKEY_meth_get_keygen, EVP_PKEY_meth_get_sign, EVP_PKEY_meth_get_verify, EVP_PKEY_meth_get_verify_recover, EVP_PKEY_meth_get_signctx, EVP_PKEY_meth_get_verifyctx, EVP_PKEY_meth_get_encrypt, EVP_PKEY_meth_get_decrypt, EVP_PKEY_meth_get_derive, EVP_PKEY_meth_get_ctrl, EVP_PKEY_meth_get_digestsign, EVP_PKEY_meth_get_digestverify, EVP_PKEY_meth_get_check, EVP_PKEY_meth_get_public_check, EVP_PKEY_meth_get_param_check, EVP_PKEY_meth_get_digest_custom, EVP_PKEY_meth_remove \&\- manipulating EVP_PKEY_METHOD structure .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -598,9 +577,9 @@ values. For the 'get' functions, function pointers are returned by arguments. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2017\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_remove.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_remove.3 new file mode 120000 index 0000000..2a39b7d --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_remove.3 @@ -0,0 +1 @@ +EVP_PKEY_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_set_check.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_set_check.3 new file mode 120000 index 0000000..2a39b7d --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_set_check.3 @@ -0,0 +1 @@ +EVP_PKEY_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_set_cleanup.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_set_cleanup.3 new file mode 120000 index 0000000..2a39b7d --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_set_cleanup.3 @@ -0,0 +1 @@ +EVP_PKEY_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_set_copy.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_set_copy.3 new file mode 120000 index 0000000..2a39b7d --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_set_copy.3 @@ -0,0 +1 @@ +EVP_PKEY_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_set_ctrl.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_set_ctrl.3 new file mode 120000 index 0000000..2a39b7d --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_set_ctrl.3 @@ -0,0 +1 @@ +EVP_PKEY_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_set_decrypt.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_set_decrypt.3 new file mode 120000 index 0000000..2a39b7d --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_set_decrypt.3 @@ -0,0 +1 @@ +EVP_PKEY_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_set_derive.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_set_derive.3 new file mode 120000 index 0000000..2a39b7d --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_set_derive.3 @@ -0,0 +1 @@ +EVP_PKEY_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_set_digest_custom.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_set_digest_custom.3 new file mode 120000 index 0000000..2a39b7d --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_set_digest_custom.3 @@ -0,0 +1 @@ +EVP_PKEY_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_set_digestsign.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_set_digestsign.3 new file mode 120000 index 0000000..2a39b7d --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_set_digestsign.3 @@ -0,0 +1 @@ +EVP_PKEY_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_set_digestverify.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_set_digestverify.3 new file mode 120000 index 0000000..2a39b7d --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_set_digestverify.3 @@ -0,0 +1 @@ +EVP_PKEY_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_set_encrypt.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_set_encrypt.3 new file mode 120000 index 0000000..2a39b7d --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_set_encrypt.3 @@ -0,0 +1 @@ +EVP_PKEY_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_set_init.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_set_init.3 new file mode 120000 index 0000000..2a39b7d --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_set_init.3 @@ -0,0 +1 @@ +EVP_PKEY_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_set_keygen.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_set_keygen.3 new file mode 120000 index 0000000..2a39b7d --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_set_keygen.3 @@ -0,0 +1 @@ +EVP_PKEY_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_set_param_check.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_set_param_check.3 new file mode 120000 index 0000000..2a39b7d --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_set_param_check.3 @@ -0,0 +1 @@ +EVP_PKEY_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_set_paramgen.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_set_paramgen.3 new file mode 120000 index 0000000..2a39b7d --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_set_paramgen.3 @@ -0,0 +1 @@ +EVP_PKEY_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_set_public_check.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_set_public_check.3 new file mode 120000 index 0000000..2a39b7d --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_set_public_check.3 @@ -0,0 +1 @@ +EVP_PKEY_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_set_sign.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_set_sign.3 new file mode 120000 index 0000000..2a39b7d --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_set_sign.3 @@ -0,0 +1 @@ +EVP_PKEY_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_set_signctx.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_set_signctx.3 new file mode 120000 index 0000000..2a39b7d --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_set_signctx.3 @@ -0,0 +1 @@ +EVP_PKEY_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_set_verify.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_set_verify.3 new file mode 120000 index 0000000..2a39b7d --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_set_verify.3 @@ -0,0 +1 @@ +EVP_PKEY_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_set_verify_recover.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_set_verify_recover.3 new file mode 120000 index 0000000..2a39b7d --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_set_verify_recover.3 @@ -0,0 +1 @@ +EVP_PKEY_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_meth_set_verifyctx.3 b/linux_amd64/share/man/man3/EVP_PKEY_meth_set_verifyctx.3 new file mode 120000 index 0000000..2a39b7d --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_meth_set_verifyctx.3 @@ -0,0 +1 @@ +EVP_PKEY_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_missing_parameters.3 b/linux_amd64/share/man/man3/EVP_PKEY_missing_parameters.3 new file mode 120000 index 0000000..92aa54c --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_missing_parameters.3 @@ -0,0 +1 @@ +EVP_PKEY_cmp.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_new.3 b/linux_amd64/share/man/man3/EVP_PKEY_new.3 index 254966e..978df0c 100755 --- a/linux_amd64/share/man/man3/EVP_PKEY_new.3 +++ b/linux_amd64/share/man/man3/EVP_PKEY_new.3 @@ -124,22 +124,13 @@ .\" ======================================================================== .\" .IX Title "EVP_PKEY_NEW 3" -.TH EVP_PKEY_NEW 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_PKEY_NEW 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_PKEY_new, -EVP_PKEY_up_ref, -EVP_PKEY_free, -EVP_PKEY_new_raw_private_key, -EVP_PKEY_new_raw_public_key, -EVP_PKEY_new_CMAC_key, -EVP_PKEY_new_mac_key, -EVP_PKEY_get_raw_private_key, -EVP_PKEY_get_raw_public_key -\&\- public/private key allocation and raw key handling functions +EVP_PKEY_new, EVP_PKEY_up_ref, EVP_PKEY_free, EVP_PKEY_new_raw_private_key, EVP_PKEY_new_raw_public_key, EVP_PKEY_new_CMAC_key, EVP_PKEY_new_mac_key, EVP_PKEY_get_raw_private_key, EVP_PKEY_get_raw_public_key \&\- public/private key allocation and raw key handling functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -222,8 +213,8 @@ general private key without reference to any particular algorithm. .PP The structure returned by \fIEVP_PKEY_new()\fR is empty. To add a private or public key to this empty structure use the appropriate functions described in -\&\fIEVP_PKEY_set1_RSA\fR\|(3), \fIEVP_PKEY_set1_DSA\fR\|(3), \fIEVP_PKEY_set1_DH\fR\|(3) or -\&\fIEVP_PKEY_set1_EC_KEY\fR\|(3). +\&\fIEVP_PKEY_set1_RSA\fR\|(3), EVP_PKEY_set1_DSA, EVP_PKEY_set1_DH or +EVP_PKEY_set1_EC_KEY. .SH "RETURN VALUES" .IX Header "RETURN VALUES" \&\fIEVP_PKEY_new()\fR, \fIEVP_PKEY_new_raw_private_key()\fR, \fIEVP_PKEY_new_raw_public_key()\fR, @@ -234,8 +225,8 @@ allocated \fB\s-1EVP_PKEY\s0\fR structure or \fB\s-1NULL\s0\fR if an error occur \&\fIEVP_PKEY_get_raw_public_key()\fR return 1 for success and 0 for failure. .SH "SEE ALSO" .IX Header "SEE ALSO" -\&\fIEVP_PKEY_set1_RSA\fR\|(3), \fIEVP_PKEY_set1_DSA\fR\|(3), \fIEVP_PKEY_set1_DH\fR\|(3) or -\&\fIEVP_PKEY_set1_EC_KEY\fR\|(3) +\&\fIEVP_PKEY_set1_RSA\fR\|(3), EVP_PKEY_set1_DSA, EVP_PKEY_set1_DH or +EVP_PKEY_set1_EC_KEY .SH "HISTORY" .IX Header "HISTORY" The @@ -251,7 +242,7 @@ The .IX Header "COPYRIGHT" Copyright 2002\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_PKEY_new_CMAC_key.3 b/linux_amd64/share/man/man3/EVP_PKEY_new_CMAC_key.3 new file mode 120000 index 0000000..fb8163a --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_new_CMAC_key.3 @@ -0,0 +1 @@ +EVP_PKEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_new_mac_key.3 b/linux_amd64/share/man/man3/EVP_PKEY_new_mac_key.3 new file mode 120000 index 0000000..fb8163a --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_new_mac_key.3 @@ -0,0 +1 @@ +EVP_PKEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_new_raw_private_key.3 b/linux_amd64/share/man/man3/EVP_PKEY_new_raw_private_key.3 new file mode 120000 index 0000000..fb8163a --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_new_raw_private_key.3 @@ -0,0 +1 @@ +EVP_PKEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_new_raw_public_key.3 b/linux_amd64/share/man/man3/EVP_PKEY_new_raw_public_key.3 new file mode 120000 index 0000000..fb8163a --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_new_raw_public_key.3 @@ -0,0 +1 @@ +EVP_PKEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_param_check.3 b/linux_amd64/share/man/man3/EVP_PKEY_param_check.3 new file mode 120000 index 0000000..375c0d8 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_param_check.3 @@ -0,0 +1 @@ +EVP_PKEY_keygen.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_paramgen.3 b/linux_amd64/share/man/man3/EVP_PKEY_paramgen.3 new file mode 120000 index 0000000..375c0d8 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_paramgen.3 @@ -0,0 +1 @@ +EVP_PKEY_keygen.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_paramgen_init.3 b/linux_amd64/share/man/man3/EVP_PKEY_paramgen_init.3 new file mode 120000 index 0000000..375c0d8 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_paramgen_init.3 @@ -0,0 +1 @@ +EVP_PKEY_keygen.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_print_params.3 b/linux_amd64/share/man/man3/EVP_PKEY_print_params.3 new file mode 120000 index 0000000..6b3162e --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_print_params.3 @@ -0,0 +1 @@ +EVP_PKEY_print_private.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_print_private.3 b/linux_amd64/share/man/man3/EVP_PKEY_print_private.3 index df13c6e..214a3ff 100755 --- a/linux_amd64/share/man/man3/EVP_PKEY_print_private.3 +++ b/linux_amd64/share/man/man3/EVP_PKEY_print_private.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "EVP_PKEY_PRINT_PRIVATE 3" -.TH EVP_PKEY_PRINT_PRIVATE 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_PKEY_PRINT_PRIVATE 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -176,7 +176,7 @@ These functions were added in OpenSSL 1.0.0. .IX Header "COPYRIGHT" Copyright 2006\-2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_PKEY_print_public.3 b/linux_amd64/share/man/man3/EVP_PKEY_print_public.3 new file mode 120000 index 0000000..6b3162e --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_print_public.3 @@ -0,0 +1 @@ +EVP_PKEY_print_private.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_public_check.3 b/linux_amd64/share/man/man3/EVP_PKEY_public_check.3 new file mode 120000 index 0000000..375c0d8 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_public_check.3 @@ -0,0 +1 @@ +EVP_PKEY_keygen.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_security_bits.3 b/linux_amd64/share/man/man3/EVP_PKEY_security_bits.3 new file mode 120000 index 0000000..c635854 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_security_bits.3 @@ -0,0 +1 @@ +EVP_SignInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_set1_DH.3 b/linux_amd64/share/man/man3/EVP_PKEY_set1_DH.3 new file mode 120000 index 0000000..be0f1b4 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_set1_DH.3 @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_set1_DSA.3 b/linux_amd64/share/man/man3/EVP_PKEY_set1_DSA.3 new file mode 120000 index 0000000..be0f1b4 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_set1_DSA.3 @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_set1_EC_KEY.3 b/linux_amd64/share/man/man3/EVP_PKEY_set1_EC_KEY.3 new file mode 120000 index 0000000..be0f1b4 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_set1_EC_KEY.3 @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_set1_RSA.3 b/linux_amd64/share/man/man3/EVP_PKEY_set1_RSA.3 index e4e1e07..94a4421 100755 --- a/linux_amd64/share/man/man3/EVP_PKEY_set1_RSA.3 +++ b/linux_amd64/share/man/man3/EVP_PKEY_set1_RSA.3 @@ -124,20 +124,13 @@ .\" ======================================================================== .\" .IX Title "EVP_PKEY_SET1_RSA 3" -.TH EVP_PKEY_SET1_RSA 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_PKEY_SET1_RSA 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_PKEY_set1_RSA, EVP_PKEY_set1_DSA, EVP_PKEY_set1_DH, EVP_PKEY_set1_EC_KEY, -EVP_PKEY_get1_RSA, EVP_PKEY_get1_DSA, EVP_PKEY_get1_DH, EVP_PKEY_get1_EC_KEY, -EVP_PKEY_get0_RSA, EVP_PKEY_get0_DSA, EVP_PKEY_get0_DH, EVP_PKEY_get0_EC_KEY, -EVP_PKEY_assign_RSA, EVP_PKEY_assign_DSA, EVP_PKEY_assign_DH, -EVP_PKEY_assign_EC_KEY, EVP_PKEY_assign_POLY1305, EVP_PKEY_assign_SIPHASH, -EVP_PKEY_get0_hmac, EVP_PKEY_get0_poly1305, EVP_PKEY_get0_siphash, -EVP_PKEY_type, EVP_PKEY_id, EVP_PKEY_base_id, EVP_PKEY_set_alias_type, -EVP_PKEY_set1_engine, EVP_PKEY_get0_engine \- EVP_PKEY assignment functions +EVP_PKEY_set1_RSA, EVP_PKEY_set1_DSA, EVP_PKEY_set1_DH, EVP_PKEY_set1_EC_KEY, EVP_PKEY_get1_RSA, EVP_PKEY_get1_DSA, EVP_PKEY_get1_DH, EVP_PKEY_get1_EC_KEY, EVP_PKEY_get0_RSA, EVP_PKEY_get0_DSA, EVP_PKEY_get0_DH, EVP_PKEY_get0_EC_KEY, EVP_PKEY_assign_RSA, EVP_PKEY_assign_DSA, EVP_PKEY_assign_DH, EVP_PKEY_assign_EC_KEY, EVP_PKEY_assign_POLY1305, EVP_PKEY_assign_SIPHASH, EVP_PKEY_get0_hmac, EVP_PKEY_get0_poly1305, EVP_PKEY_get0_siphash, EVP_PKEY_type, EVP_PKEY_id, EVP_PKEY_base_id, EVP_PKEY_set_alias_type, EVP_PKEY_set1_engine, EVP_PKEY_get0_engine \- EVP_PKEY assignment functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -156,10 +149,10 @@ EVP_PKEY_set1_engine, EVP_PKEY_get0_engine \- EVP_PKEY assignment functions \& const unsigned char *EVP_PKEY_get0_hmac(const EVP_PKEY *pkey, size_t *len); \& const unsigned char *EVP_PKEY_get0_poly1305(const EVP_PKEY *pkey, size_t *len); \& const unsigned char *EVP_PKEY_get0_siphash(const EVP_PKEY *pkey, size_t *len); -\& RSA *EVP_PKEY_get0_RSA(const EVP_PKEY *pkey); -\& DSA *EVP_PKEY_get0_DSA(const EVP_PKEY *pkey); -\& DH *EVP_PKEY_get0_DH(const EVP_PKEY *pkey); -\& EC_KEY *EVP_PKEY_get0_EC_KEY(const EVP_PKEY *pkey); +\& RSA *EVP_PKEY_get0_RSA(EVP_PKEY *pkey); +\& DSA *EVP_PKEY_get0_DSA(EVP_PKEY *pkey); +\& DH *EVP_PKEY_get0_DH(EVP_PKEY *pkey); +\& EC_KEY *EVP_PKEY_get0_EC_KEY(EVP_PKEY *pkey); \& \& int EVP_PKEY_assign_RSA(EVP_PKEY *pkey, RSA *key); \& int EVP_PKEY_assign_DSA(EVP_PKEY *pkey, DSA *key); @@ -218,7 +211,8 @@ If \fBengine\fR does not include an \fB\s-1EVP_PKEY_METHOD\s0\fR for \fBpkey\fR error occurs. .PP \&\fIEVP_PKEY_set_alias_type()\fR allows modifying a \s-1EVP_PKEY\s0 to use a -different set of algorithms than the default. +different set of algorithms than the default. This is currently used +to support \s-1SM2\s0 keys, which use an identical encoding to \s-1ECDSA\s0. .SH "NOTES" .IX Header "NOTES" In accordance with the OpenSSL naming convention the key obtained @@ -229,16 +223,6 @@ freed as well as \fBpkey\fR. \&\fIEVP_PKEY_assign_EC_KEY()\fR, \fIEVP_PKEY_assign_POLY1305()\fR and \fIEVP_PKEY_assign_SIPHASH()\fR are implemented as macros. .PP -\&\fIEVP_PKEY_assign_EC_KEY()\fR looks at the curve name id to determine if -the passed \fB\s-1EC_KEY\s0\fR is an \s-1\fISM2\s0\fR\|(7) key, and will set the \fB\s-1EVP_PKEY\s0\fR -type to \fB\s-1EVP_PKEY_SM2\s0\fR in that case, instead of \fB\s-1EVP_PKEY_EC\s0\fR. -.PP -It's possible to switch back and forth between the types \fB\s-1EVP_PKEY_EC\s0\fR -and \fB\s-1EVP_PKEY_SM2\s0\fR with a call to \fIEVP_PKEY_set_alias_type()\fR on keys -assigned with this macro if it's desirable to do a normal \s-1EC\s0 -computations with the \s-1SM2\s0 curve instead of the special \s-1SM2\s0 -computations, and vice versa. -.PP Most applications wishing to know a key type will simply call \&\fIEVP_PKEY_base_id()\fR and will not care about the actual type: which will be identical in almost all cases. @@ -278,12 +262,12 @@ algorithms with EVP_PKEY_set_alias_type: .Ve .SH "SEE ALSO" .IX Header "SEE ALSO" -\&\fIEVP_PKEY_new\fR\|(3), \s-1\fISM2\s0\fR\|(7) +\&\fIEVP_PKEY_new\fR\|(3) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2002\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2002\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_PKEY_set1_engine.3 b/linux_amd64/share/man/man3/EVP_PKEY_set1_engine.3 new file mode 120000 index 0000000..be0f1b4 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_set1_engine.3 @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_set_alias_type.3 b/linux_amd64/share/man/man3/EVP_PKEY_set_alias_type.3 new file mode 120000 index 0000000..be0f1b4 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_set_alias_type.3 @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_sign.3 b/linux_amd64/share/man/man3/EVP_PKEY_sign.3 index e86398f..f3c5789 100755 --- a/linux_amd64/share/man/man3/EVP_PKEY_sign.3 +++ b/linux_amd64/share/man/man3/EVP_PKEY_sign.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "EVP_PKEY_SIGN 3" -.TH EVP_PKEY_SIGN 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_PKEY_SIGN 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_PKEY_sign_init, EVP_PKEY_sign -\&\- sign using a public key algorithm +EVP_PKEY_sign_init, EVP_PKEY_sign \- sign using a public key algorithm .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -144,19 +143,16 @@ EVP_PKEY_sign_init, EVP_PKEY_sign .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -\&\fIEVP_PKEY_sign_init()\fR initializes a public key algorithm context \fIctx\fR for -signing using the algorithm given when the context was created -using \fIEVP_PKEY_CTX_new\fR\|(3) or variants thereof. The algorithm is used to -fetch a \fB\s-1EVP_SIGNATURE\s0\fR method implicitly, see \*(L"Implicit fetch\*(R" in \fIprovider\fR\|(7) -for more information about implict fetches. +The \fIEVP_PKEY_sign_init()\fR function initializes a public key algorithm +context using key \fBpkey\fR for a signing operation. .PP The \fIEVP_PKEY_sign()\fR function performs a public key signing operation -using \fIctx\fR. The data to be signed is specified using the \fItbs\fR and -\&\fItbslen\fR parameters. If \fIsig\fR is \s-1NULL\s0 then the maximum size of the output -buffer is written to the \fIsiglen\fR parameter. If \fIsig\fR is not \s-1NULL\s0 then -before the call the \fIsiglen\fR parameter should contain the length of the -\&\fIsig\fR buffer, if the call is successful the signature is written to -\&\fIsig\fR and the amount of data written to \fIsiglen\fR. +using \fBctx\fR. The data to be signed is specified using the \fBtbs\fR and +\&\fBtbslen\fR parameters. If \fBsig\fR is \fB\s-1NULL\s0\fR then the maximum size of the output +buffer is written to the \fBsiglen\fR parameter. If \fBsig\fR is not \fB\s-1NULL\s0\fR then +before the call the \fBsiglen\fR parameter should contain the length of the +\&\fBsig\fR buffer, if the call is successful the signature is written to +\&\fBsig\fR and the amount of data written to \fBsiglen\fR. .SH "NOTES" .IX Header "NOTES" \&\fIEVP_PKEY_sign()\fR does not hash the data to be signed, and therefore is @@ -232,9 +228,9 @@ Sign data using \s-1RSA\s0 with PKCS#1 padding and \s-1SHA256\s0 digest: These functions were added in OpenSSL 1.0.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2006\-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2006\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_PKEY_sign_init.3 b/linux_amd64/share/man/man3/EVP_PKEY_sign_init.3 new file mode 120000 index 0000000..0789a07 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_sign_init.3 @@ -0,0 +1 @@ +EVP_PKEY_sign.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_type.3 b/linux_amd64/share/man/man3/EVP_PKEY_type.3 new file mode 120000 index 0000000..be0f1b4 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_type.3 @@ -0,0 +1 @@ +EVP_PKEY_set1_RSA.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_up_ref.3 b/linux_amd64/share/man/man3/EVP_PKEY_up_ref.3 new file mode 120000 index 0000000..fb8163a --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_up_ref.3 @@ -0,0 +1 @@ +EVP_PKEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_verify.3 b/linux_amd64/share/man/man3/EVP_PKEY_verify.3 index bcca611..64de939 100755 --- a/linux_amd64/share/man/man3/EVP_PKEY_verify.3 +++ b/linux_amd64/share/man/man3/EVP_PKEY_verify.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "EVP_PKEY_VERIFY 3" -.TH EVP_PKEY_VERIFY 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_PKEY_VERIFY 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_PKEY_verify_init, EVP_PKEY_verify -\&\- signature verification using a public key algorithm +EVP_PKEY_verify_init, EVP_PKEY_verify \- signature verification using a public key algorithm .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -144,16 +143,13 @@ EVP_PKEY_verify_init, EVP_PKEY_verify .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -\&\fIEVP_PKEY_verify_init()\fR initializes a public key algorithm context \fIctx\fR for -signing using the algorithm given when the context was created -using \fIEVP_PKEY_CTX_new\fR\|(3) or variants thereof. The algorithm is used to -fetch a \fB\s-1EVP_SIGNATURE\s0\fR method implicitly, see \*(L"Implicit fetch\*(R" in \fIprovider\fR\|(7) -for more information about implict fetches. +The \fIEVP_PKEY_verify_init()\fR function initializes a public key algorithm +context using key \fBpkey\fR for a signature verification operation. .PP The \fIEVP_PKEY_verify()\fR function performs a public key verification operation -using \fIctx\fR. The signature is specified using the \fIsig\fR and -\&\fIsiglen\fR parameters. The verified data (i.e. the data believed originally -signed) is specified using the \fItbs\fR and \fItbslen\fR parameters. +using \fBctx\fR. The signature is specified using the \fBsig\fR and +\&\fBsiglen\fR parameters. The verified data (i.e. the data believed originally +signed) is specified using the \fBtbs\fR and \fBtbslen\fR parameters. .SH "NOTES" .IX Header "NOTES" After the call to \fIEVP_PKEY_verify_init()\fR algorithm specific control @@ -221,9 +217,9 @@ Verify signature using PKCS#1 and \s-1SHA256\s0 digest: These functions were added in OpenSSL 1.0.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2006\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2006\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_PKEY_verify_init.3 b/linux_amd64/share/man/man3/EVP_PKEY_verify_init.3 new file mode 120000 index 0000000..8339719 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_verify_init.3 @@ -0,0 +1 @@ +EVP_PKEY_verify.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_PKEY_verify_recover.3 b/linux_amd64/share/man/man3/EVP_PKEY_verify_recover.3 index 30395f6..a846054 100755 --- a/linux_amd64/share/man/man3/EVP_PKEY_verify_recover.3 +++ b/linux_amd64/share/man/man3/EVP_PKEY_verify_recover.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "EVP_PKEY_VERIFY_RECOVER 3" -.TH EVP_PKEY_VERIFY_RECOVER 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_PKEY_VERIFY_RECOVER 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_PKEY_verify_recover_init, EVP_PKEY_verify_recover -\&\- recover signature using a public key algorithm +EVP_PKEY_verify_recover_init, EVP_PKEY_verify_recover \- recover signature using a public key algorithm .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -144,19 +143,16 @@ EVP_PKEY_verify_recover_init, EVP_PKEY_verify_recover .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -\&\fIEVP_PKEY_verify_recover_init()\fR initializes a public key algorithm context -\&\fIctx\fR for signing using the algorithm given when the context was created -using \fIEVP_PKEY_CTX_new\fR\|(3) or variants thereof. The algorithm is used to -fetch a \fB\s-1EVP_SIGNATURE\s0\fR method implicitly, see \*(L"Implicit fetch\*(R" in \fIprovider\fR\|(7) -for more information about implict fetches. +The \fIEVP_PKEY_verify_recover_init()\fR function initializes a public key algorithm +context using key \fBpkey\fR for a verify recover operation. .PP The \fIEVP_PKEY_verify_recover()\fR function recovers signed data -using \fIctx\fR. The signature is specified using the \fIsig\fR and -\&\fIsiglen\fR parameters. If \fIrout\fR is \s-1NULL\s0 then the maximum size of the output -buffer is written to the \fIroutlen\fR parameter. If \fIrout\fR is not \s-1NULL\s0 then -before the call the \fIroutlen\fR parameter should contain the length of the -\&\fIrout\fR buffer, if the call is successful recovered data is written to -\&\fIrout\fR and the amount of data written to \fIroutlen\fR. +using \fBctx\fR. The signature is specified using the \fBsig\fR and +\&\fBsiglen\fR parameters. If \fBrout\fR is \fB\s-1NULL\s0\fR then the maximum size of the output +buffer is written to the \fBroutlen\fR parameter. If \fBrout\fR is not \fB\s-1NULL\s0\fR then +before the call the \fBroutlen\fR parameter should contain the length of the +\&\fBrout\fR buffer, if the call is successful recovered data is written to +\&\fBrout\fR and the amount of data written to \fBroutlen\fR. .SH "NOTES" .IX Header "NOTES" Normally an application is only interested in whether a signature verification @@ -232,9 +228,9 @@ Recover digest originally signed using PKCS#1 and \s-1SHA256\s0 digest: These functions were added in OpenSSL 1.0.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2013\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2013\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_PKEY_verify_recover_init.3 b/linux_amd64/share/man/man3/EVP_PKEY_verify_recover_init.3 new file mode 120000 index 0000000..be501ab --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_PKEY_verify_recover_init.3 @@ -0,0 +1 @@ +EVP_PKEY_verify_recover.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_SealFinal.3 b/linux_amd64/share/man/man3/EVP_SealFinal.3 new file mode 120000 index 0000000..a740a40 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_SealFinal.3 @@ -0,0 +1 @@ +EVP_SealInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_SealInit.3 b/linux_amd64/share/man/man3/EVP_SealInit.3 index 99d4baf..1214819 100755 --- a/linux_amd64/share/man/man3/EVP_SealInit.3 +++ b/linux_amd64/share/man/man3/EVP_SealInit.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "EVP_SEALINIT 3" -.TH EVP_SEALINIT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_SEALINIT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -206,9 +206,9 @@ with \fBtype\fR set to \s-1NULL\s0. \&\s-1\fIRAND\s0\fR\|(7) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_SealUpdate.3 b/linux_amd64/share/man/man3/EVP_SealUpdate.3 new file mode 120000 index 0000000..a740a40 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_SealUpdate.3 @@ -0,0 +1 @@ +EVP_SealInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_SignFinal.3 b/linux_amd64/share/man/man3/EVP_SignFinal.3 new file mode 120000 index 0000000..c635854 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_SignFinal.3 @@ -0,0 +1 @@ +EVP_SignInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_SignInit.3 b/linux_amd64/share/man/man3/EVP_SignInit.3 index 6c428ff..c926ad3 100755 --- a/linux_amd64/share/man/man3/EVP_SignInit.3 +++ b/linux_amd64/share/man/man3/EVP_SignInit.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "EVP_SIGNINIT 3" -.TH EVP_SIGNINIT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_SIGNINIT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_SignInit, EVP_SignInit_ex, EVP_SignUpdate, EVP_SignFinal -\&\- EVP signing functions +EVP_PKEY_size, EVP_SignInit, EVP_SignInit_ex, EVP_SignUpdate, EVP_SignFinal, EVP_PKEY_security_bits \- EVP signing functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -142,35 +141,48 @@ EVP_SignInit, EVP_SignInit_ex, EVP_SignUpdate, EVP_SignFinal \& int EVP_SignFinal(EVP_MD_CTX *ctx, unsigned char *sig, unsigned int *s, EVP_PKEY *pkey); \& \& void EVP_SignInit(EVP_MD_CTX *ctx, const EVP_MD *type); +\& +\& int EVP_PKEY_size(const EVP_PKEY *pkey); +\& int EVP_PKEY_security_bits(const EVP_PKEY *pkey); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" The \s-1EVP\s0 signature routines are a high level interface to digital signatures. .PP -\&\fIEVP_SignInit_ex()\fR sets up signing context \fIctx\fR to use digest -\&\fItype\fR from \fB\s-1ENGINE\s0\fR \fIimpl\fR. \fIctx\fR must be created with +\&\fIEVP_SignInit_ex()\fR sets up signing context \fBctx\fR to use digest +\&\fBtype\fR from \s-1ENGINE\s0 \fBimpl\fR. \fBctx\fR must be created with \&\fIEVP_MD_CTX_new()\fR before calling this function. .PP -\&\fIEVP_SignUpdate()\fR hashes \fIcnt\fR bytes of data at \fId\fR into the -signature context \fIctx\fR. This function can be called several times on the -same \fIctx\fR to include additional data. +\&\fIEVP_SignUpdate()\fR hashes \fBcnt\fR bytes of data at \fBd\fR into the +signature context \fBctx\fR. This function can be called several times on the +same \fBctx\fR to include additional data. .PP -\&\fIEVP_SignFinal()\fR signs the data in \fIctx\fR using the private key \fIpkey\fR and -places the signature in \fIsig\fR. \fIsig\fR must be at least \f(CW\*(C`EVP_PKEY_size(pkey)\*(C'\fR -bytes in size. \fIs\fR is an \s-1OUT\s0 parameter, and not used as an \s-1IN\s0 parameter. +\&\fIEVP_SignFinal()\fR signs the data in \fBctx\fR using the private key \fBpkey\fR and +places the signature in \fBsig\fR. \fBsig\fR must be at least EVP_PKEY_size(pkey) +bytes in size. \fBs\fR is an \s-1OUT\s0 parameter, and not used as an \s-1IN\s0 parameter. The number of bytes of data written (i.e. the length of the signature) -will be written to the integer at \fIs\fR, at most \f(CW\*(C`EVP_PKEY_size(pkey)\*(C'\fR bytes +will be written to the integer at \fBs\fR, at most EVP_PKEY_size(pkey) bytes will be written. .PP -\&\fIEVP_SignInit()\fR initializes a signing context \fIctx\fR to use the default -implementation of digest \fItype\fR. +\&\fIEVP_SignInit()\fR initializes a signing context \fBctx\fR to use the default +implementation of digest \fBtype\fR. +.PP +\&\fIEVP_PKEY_size()\fR returns the maximum size of a signature in bytes. The actual +signature returned by \fIEVP_SignFinal()\fR may be smaller. +.PP +\&\fIEVP_PKEY_security_bits()\fR returns the number of security bits of the given \fBpkey\fR, +bits of security is defined in \s-1NIST\s0 \s-1SP800\-57\s0. .SH "RETURN VALUES" .IX Header "RETURN VALUES" \&\fIEVP_SignInit_ex()\fR, \fIEVP_SignUpdate()\fR and \fIEVP_SignFinal()\fR return 1 for success and 0 for failure. .PP +\&\fIEVP_PKEY_size()\fR returns the maximum size of a signature in bytes. +.PP The error codes can be obtained by \fIERR_get_error\fR\|(3). +.PP +\&\fIEVP_PKEY_security_bits()\fR returns the number of security bits. .SH "NOTES" .IX Header "NOTES" The \fB\s-1EVP\s0\fR interface to digital signatures should almost always be used in @@ -204,17 +216,16 @@ It is not possible to change the signing parameters using these function. The previous two bugs are fixed in the newer EVP_SignDigest*() function. .SH "SEE ALSO" .IX Header "SEE ALSO" -\&\fIEVP_PKEY_size\fR\|(3), \fIEVP_PKEY_bits\fR\|(3), \fIEVP_PKEY_security_bits\fR\|(3), \&\fIEVP_VerifyInit\fR\|(3), \&\fIEVP_DigestInit\fR\|(3), \&\fIevp\fR\|(7), \s-1\fIHMAC\s0\fR\|(3), \s-1\fIMD2\s0\fR\|(3), \&\s-1\fIMD5\s0\fR\|(3), \s-1\fIMDC2\s0\fR\|(3), \s-1\fIRIPEMD160\s0\fR\|(3), -\&\s-1\fISHA1\s0\fR\|(3), \fIopenssl\-dgst\fR\|(1) +\&\s-1\fISHA1\s0\fR\|(3), \fIdgst\fR\|(1) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_SignInit_ex.3 b/linux_amd64/share/man/man3/EVP_SignInit_ex.3 new file mode 120000 index 0000000..c635854 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_SignInit_ex.3 @@ -0,0 +1 @@ +EVP_SignInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_SignUpdate.3 b/linux_amd64/share/man/man3/EVP_SignUpdate.3 new file mode 120000 index 0000000..c635854 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_SignUpdate.3 @@ -0,0 +1 @@ +EVP_SignInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_VerifyFinal.3 b/linux_amd64/share/man/man3/EVP_VerifyFinal.3 new file mode 120000 index 0000000..fd8b221 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_VerifyFinal.3 @@ -0,0 +1 @@ +EVP_VerifyInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_VerifyInit.3 b/linux_amd64/share/man/man3/EVP_VerifyInit.3 index 3f67c0e..d1fff79 100755 --- a/linux_amd64/share/man/man3/EVP_VerifyInit.3 +++ b/linux_amd64/share/man/man3/EVP_VerifyInit.3 @@ -124,15 +124,13 @@ .\" ======================================================================== .\" .IX Title "EVP_VERIFYINIT 3" -.TH EVP_VERIFYINIT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_VERIFYINIT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_VerifyInit_ex, -EVP_VerifyInit, EVP_VerifyUpdate, EVP_VerifyFinal -\&\- EVP signature verification functions +EVP_VerifyInit_ex, EVP_VerifyInit, EVP_VerifyUpdate, EVP_VerifyFinal \&\- EVP signature verification functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -205,12 +203,12 @@ The previous two bugs are fixed in the newer EVP_DigestVerify*() function. \&\fIEVP_DigestInit\fR\|(3), \&\fIevp\fR\|(7), \s-1\fIHMAC\s0\fR\|(3), \s-1\fIMD2\s0\fR\|(3), \&\s-1\fIMD5\s0\fR\|(3), \s-1\fIMDC2\s0\fR\|(3), \s-1\fIRIPEMD160\s0\fR\|(3), -\&\s-1\fISHA1\s0\fR\|(3), \fIopenssl\-dgst\fR\|(1) +\&\s-1\fISHA1\s0\fR\|(3), \fIdgst\fR\|(1) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_VerifyInit_ex.3 b/linux_amd64/share/man/man3/EVP_VerifyInit_ex.3 new file mode 120000 index 0000000..fd8b221 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_VerifyInit_ex.3 @@ -0,0 +1 @@ +EVP_VerifyInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_VerifyUpdate.3 b/linux_amd64/share/man/man3/EVP_VerifyUpdate.3 new file mode 120000 index 0000000..fd8b221 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_VerifyUpdate.3 @@ -0,0 +1 @@ +EVP_VerifyInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aes.3 b/linux_amd64/share/man/man3/EVP_aes.3 new file mode 100644 index 0000000..c4e6a9c --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aes.3 @@ -0,0 +1,207 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "EVP_AES 3" +.TH EVP_AES 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +EVP_aes_128_cbc, EVP_aes_192_cbc, EVP_aes_256_cbc, EVP_aes_128_cfb, EVP_aes_192_cfb, EVP_aes_256_cfb, EVP_aes_128_cfb1, EVP_aes_192_cfb1, EVP_aes_256_cfb1, EVP_aes_128_cfb8, EVP_aes_192_cfb8, EVP_aes_256_cfb8, EVP_aes_128_cfb128, EVP_aes_192_cfb128, EVP_aes_256_cfb128, EVP_aes_128_ctr, EVP_aes_192_ctr, EVP_aes_256_ctr, EVP_aes_128_ecb, EVP_aes_192_ecb, EVP_aes_256_ecb, EVP_aes_128_ofb, EVP_aes_192_ofb, EVP_aes_256_ofb, EVP_aes_128_cbc_hmac_sha1, EVP_aes_256_cbc_hmac_sha1, EVP_aes_128_cbc_hmac_sha256, EVP_aes_256_cbc_hmac_sha256, EVP_aes_128_ccm, EVP_aes_192_ccm, EVP_aes_256_ccm, EVP_aes_128_gcm, EVP_aes_192_gcm, EVP_aes_256_gcm, EVP_aes_128_ocb, EVP_aes_192_ocb, EVP_aes_256_ocb, EVP_aes_128_wrap, EVP_aes_192_wrap, EVP_aes_256_wrap, EVP_aes_128_wrap_pad, EVP_aes_192_wrap_pad, EVP_aes_256_wrap_pad, EVP_aes_128_xts, EVP_aes_256_xts \&\- EVP AES cipher +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +.Vb 1 +\& #include +\& +\& const EVP_CIPHER *EVP_ciphername(void) +.Ve +.PP +\&\fIEVP_ciphername\fR is used a placeholder for any of the described cipher +functions, such as \fIEVP_aes_128_cbc\fR. +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The \s-1AES\s0 encryption algorithm for \s-1EVP\s0. +.IP "\fIEVP_aes_128_cbc()\fR, \fIEVP_aes_192_cbc()\fR, \fIEVP_aes_256_cbc()\fR, \fIEVP_aes_128_cfb()\fR, \fIEVP_aes_192_cfb()\fR, \fIEVP_aes_256_cfb()\fR, \fIEVP_aes_128_cfb1()\fR, \fIEVP_aes_192_cfb1()\fR, \fIEVP_aes_256_cfb1()\fR, \fIEVP_aes_128_cfb8()\fR, \fIEVP_aes_192_cfb8()\fR, \fIEVP_aes_256_cfb8()\fR, \fIEVP_aes_128_cfb128()\fR, \fIEVP_aes_192_cfb128()\fR, \fIEVP_aes_256_cfb128()\fR, \fIEVP_aes_128_ctr()\fR, \fIEVP_aes_192_ctr()\fR, \fIEVP_aes_256_ctr()\fR, \fIEVP_aes_128_ecb()\fR, \fIEVP_aes_192_ecb()\fR, \fIEVP_aes_256_ecb()\fR, \fIEVP_aes_128_ofb()\fR, \fIEVP_aes_192_ofb()\fR, \fIEVP_aes_256_ofb()\fR" 4 +.IX Item "EVP_aes_128_cbc(), EVP_aes_192_cbc(), EVP_aes_256_cbc(), EVP_aes_128_cfb(), EVP_aes_192_cfb(), EVP_aes_256_cfb(), EVP_aes_128_cfb1(), EVP_aes_192_cfb1(), EVP_aes_256_cfb1(), EVP_aes_128_cfb8(), EVP_aes_192_cfb8(), EVP_aes_256_cfb8(), EVP_aes_128_cfb128(), EVP_aes_192_cfb128(), EVP_aes_256_cfb128(), EVP_aes_128_ctr(), EVP_aes_192_ctr(), EVP_aes_256_ctr(), EVP_aes_128_ecb(), EVP_aes_192_ecb(), EVP_aes_256_ecb(), EVP_aes_128_ofb(), EVP_aes_192_ofb(), EVP_aes_256_ofb()" +\&\s-1AES\s0 for 128, 192 and 256 bit keys in the following modes: \s-1CBC\s0, \s-1CFB\s0 with 128\-bit +shift, \s-1CFB\s0 with 1\-bit shift, \s-1CFB\s0 with 8\-bit shift, \s-1CTR\s0, \s-1ECB\s0, and \s-1OFB\s0. +.IP "\fIEVP_aes_128_cbc_hmac_sha1()\fR, \fIEVP_aes_256_cbc_hmac_sha1()\fR" 4 +.IX Item "EVP_aes_128_cbc_hmac_sha1(), EVP_aes_256_cbc_hmac_sha1()" +Authenticated encryption with \s-1AES\s0 in \s-1CBC\s0 mode using \s-1SHA\-1\s0 as \s-1HMAC\s0, with keys of +128 and 256 bits length respectively. The authentication tag is 160 bits long. +.Sp +\&\s-1WARNING:\s0 this is not intended for usage outside of \s-1TLS\s0 and requires calling of +some undocumented ctrl functions. These ciphers do not conform to the \s-1EVP\s0 \s-1AEAD\s0 +interface. +.IP "\fIEVP_aes_128_cbc_hmac_sha256()\fR, \fIEVP_aes_256_cbc_hmac_sha256()\fR" 4 +.IX Item "EVP_aes_128_cbc_hmac_sha256(), EVP_aes_256_cbc_hmac_sha256()" +Authenticated encryption with \s-1AES\s0 in \s-1CBC\s0 mode using \s-1SHA256\s0 (\s-1SHA\-2\s0, 256\-bits) as +\&\s-1HMAC\s0, with keys of 128 and 256 bits length respectively. The authentication tag +is 256 bits long. +.Sp +\&\s-1WARNING:\s0 this is not intended for usage outside of \s-1TLS\s0 and requires calling of +some undocumented ctrl functions. These ciphers do not conform to the \s-1EVP\s0 \s-1AEAD\s0 +interface. +.IP "\fIEVP_aes_128_ccm()\fR, \fIEVP_aes_192_ccm()\fR, \fIEVP_aes_256_ccm()\fR, \fIEVP_aes_128_gcm()\fR, \fIEVP_aes_192_gcm()\fR, \fIEVP_aes_256_gcm()\fR, \fIEVP_aes_128_ocb()\fR, \fIEVP_aes_192_ocb()\fR, \fIEVP_aes_256_ocb()\fR" 4 +.IX Item "EVP_aes_128_ccm(), EVP_aes_192_ccm(), EVP_aes_256_ccm(), EVP_aes_128_gcm(), EVP_aes_192_gcm(), EVP_aes_256_gcm(), EVP_aes_128_ocb(), EVP_aes_192_ocb(), EVP_aes_256_ocb()" +\&\s-1AES\s0 for 128, 192 and 256 bit keys in CBC-MAC Mode (\s-1CCM\s0), Galois Counter Mode +(\s-1GCM\s0) and \s-1OCB\s0 Mode respectively. These ciphers require additional control +operations to function correctly, see the \*(L"\s-1AEAD\s0 Interface\*(R" in \fIEVP_EncryptInit\fR\|(3) +section for details. +.IP "\fIEVP_aes_128_wrap()\fR, \fIEVP_aes_192_wrap()\fR, \fIEVP_aes_256_wrap()\fR, \fIEVP_aes_128_wrap_pad()\fR, \fIEVP_aes_128_wrap()\fR, \fIEVP_aes_192_wrap()\fR, \fIEVP_aes_256_wrap()\fR, \fIEVP_aes_192_wrap_pad()\fR, \fIEVP_aes_128_wrap()\fR, \fIEVP_aes_192_wrap()\fR, \fIEVP_aes_256_wrap()\fR, \fIEVP_aes_256_wrap_pad()\fR" 4 +.IX Item "EVP_aes_128_wrap(), EVP_aes_192_wrap(), EVP_aes_256_wrap(), EVP_aes_128_wrap_pad(), EVP_aes_128_wrap(), EVP_aes_192_wrap(), EVP_aes_256_wrap(), EVP_aes_192_wrap_pad(), EVP_aes_128_wrap(), EVP_aes_192_wrap(), EVP_aes_256_wrap(), EVP_aes_256_wrap_pad()" +\&\s-1AES\s0 key wrap with 128, 192 and 256 bit keys, as according to \s-1RFC\s0 3394 section +2.2.1 (\*(L"wrap\*(R") and \s-1RFC\s0 5649 section 4.1 (\*(L"wrap with padding\*(R") respectively. +.IP "\fIEVP_aes_128_xts()\fR, \fIEVP_aes_256_xts()\fR" 4 +.IX Item "EVP_aes_128_xts(), EVP_aes_256_xts()" +\&\s-1AES\s0 \s-1XTS\s0 mode (XTS-AES) is standardized in \s-1IEEE\s0 Std. 1619\-2007 and described in \s-1NIST\s0 +\&\s-1SP\s0 800\-38E. The \s-1XTS\s0 (XEX-based tweaked-codebook mode with ciphertext stealing) +mode was designed by Prof. Phillip Rogaway of University of California, Davis, +intended for encrypting data on a storage device. +.Sp +XTS-AES provides confidentiality but not authentication of data. It also +requires a key of double-length for protection of a certain key size. +In particular, \s-1XTS\-AES\-128\s0 (\fBEVP_aes_128_xts\fR) takes input of a 256\-bit key to +achieve \s-1AES\s0 128\-bit security, and \s-1XTS\-AES\-256\s0 (\fBEVP_aes_256_xts\fR) takes input +of a 512\-bit key to achieve \s-1AES\s0 256\-bit security. +.SH "RETURN VALUES" +.IX Header "RETURN VALUES" +These functions return an \fB\s-1EVP_CIPHER\s0\fR structure that contains the +implementation of the symmetric cipher. See \fIEVP_CIPHER_meth_new\fR\|(3) for +details of the \fB\s-1EVP_CIPHER\s0\fR structure. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIevp\fR\|(7), +\&\fIEVP_EncryptInit\fR\|(3), +\&\fIEVP_CIPHER_meth_new\fR\|(3) +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2017\-2018 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man3/EVP_aes_128_cbc.3 b/linux_amd64/share/man/man3/EVP_aes_128_cbc.3 new file mode 120000 index 0000000..1a8c298 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aes_128_cbc.3 @@ -0,0 +1 @@ +EVP_aes.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aes_128_cbc_hmac_sha1.3 b/linux_amd64/share/man/man3/EVP_aes_128_cbc_hmac_sha1.3 new file mode 120000 index 0000000..1a8c298 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aes_128_cbc_hmac_sha1.3 @@ -0,0 +1 @@ +EVP_aes.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aes_128_cbc_hmac_sha256.3 b/linux_amd64/share/man/man3/EVP_aes_128_cbc_hmac_sha256.3 new file mode 120000 index 0000000..1a8c298 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aes_128_cbc_hmac_sha256.3 @@ -0,0 +1 @@ +EVP_aes.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aes_128_ccm.3 b/linux_amd64/share/man/man3/EVP_aes_128_ccm.3 new file mode 120000 index 0000000..1a8c298 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aes_128_ccm.3 @@ -0,0 +1 @@ +EVP_aes.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aes_128_cfb.3 b/linux_amd64/share/man/man3/EVP_aes_128_cfb.3 new file mode 120000 index 0000000..1a8c298 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aes_128_cfb.3 @@ -0,0 +1 @@ +EVP_aes.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aes_128_cfb1.3 b/linux_amd64/share/man/man3/EVP_aes_128_cfb1.3 new file mode 120000 index 0000000..1a8c298 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aes_128_cfb1.3 @@ -0,0 +1 @@ +EVP_aes.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aes_128_cfb128.3 b/linux_amd64/share/man/man3/EVP_aes_128_cfb128.3 new file mode 120000 index 0000000..1a8c298 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aes_128_cfb128.3 @@ -0,0 +1 @@ +EVP_aes.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aes_128_cfb8.3 b/linux_amd64/share/man/man3/EVP_aes_128_cfb8.3 new file mode 120000 index 0000000..1a8c298 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aes_128_cfb8.3 @@ -0,0 +1 @@ +EVP_aes.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aes_128_ctr.3 b/linux_amd64/share/man/man3/EVP_aes_128_ctr.3 new file mode 120000 index 0000000..1a8c298 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aes_128_ctr.3 @@ -0,0 +1 @@ +EVP_aes.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aes_128_ecb.3 b/linux_amd64/share/man/man3/EVP_aes_128_ecb.3 new file mode 120000 index 0000000..1a8c298 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aes_128_ecb.3 @@ -0,0 +1 @@ +EVP_aes.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aes_128_ocb.3 b/linux_amd64/share/man/man3/EVP_aes_128_ocb.3 new file mode 120000 index 0000000..1a8c298 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aes_128_ocb.3 @@ -0,0 +1 @@ +EVP_aes.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aes_128_ofb.3 b/linux_amd64/share/man/man3/EVP_aes_128_ofb.3 new file mode 120000 index 0000000..1a8c298 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aes_128_ofb.3 @@ -0,0 +1 @@ +EVP_aes.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aes_128_wrap.3 b/linux_amd64/share/man/man3/EVP_aes_128_wrap.3 new file mode 120000 index 0000000..1a8c298 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aes_128_wrap.3 @@ -0,0 +1 @@ +EVP_aes.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aes_128_wrap_pad.3 b/linux_amd64/share/man/man3/EVP_aes_128_wrap_pad.3 new file mode 120000 index 0000000..1a8c298 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aes_128_wrap_pad.3 @@ -0,0 +1 @@ +EVP_aes.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aes_128_xts.3 b/linux_amd64/share/man/man3/EVP_aes_128_xts.3 new file mode 120000 index 0000000..1a8c298 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aes_128_xts.3 @@ -0,0 +1 @@ +EVP_aes.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aes_192_cbc.3 b/linux_amd64/share/man/man3/EVP_aes_192_cbc.3 new file mode 120000 index 0000000..1a8c298 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aes_192_cbc.3 @@ -0,0 +1 @@ +EVP_aes.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aes_192_ccm.3 b/linux_amd64/share/man/man3/EVP_aes_192_ccm.3 new file mode 120000 index 0000000..1a8c298 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aes_192_ccm.3 @@ -0,0 +1 @@ +EVP_aes.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aes_192_cfb.3 b/linux_amd64/share/man/man3/EVP_aes_192_cfb.3 new file mode 120000 index 0000000..1a8c298 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aes_192_cfb.3 @@ -0,0 +1 @@ +EVP_aes.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aes_192_cfb1.3 b/linux_amd64/share/man/man3/EVP_aes_192_cfb1.3 new file mode 120000 index 0000000..1a8c298 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aes_192_cfb1.3 @@ -0,0 +1 @@ +EVP_aes.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aes_192_cfb128.3 b/linux_amd64/share/man/man3/EVP_aes_192_cfb128.3 new file mode 120000 index 0000000..1a8c298 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aes_192_cfb128.3 @@ -0,0 +1 @@ +EVP_aes.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aes_192_cfb8.3 b/linux_amd64/share/man/man3/EVP_aes_192_cfb8.3 new file mode 120000 index 0000000..1a8c298 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aes_192_cfb8.3 @@ -0,0 +1 @@ +EVP_aes.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aes_192_ctr.3 b/linux_amd64/share/man/man3/EVP_aes_192_ctr.3 new file mode 120000 index 0000000..1a8c298 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aes_192_ctr.3 @@ -0,0 +1 @@ +EVP_aes.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aes_192_ecb.3 b/linux_amd64/share/man/man3/EVP_aes_192_ecb.3 new file mode 120000 index 0000000..1a8c298 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aes_192_ecb.3 @@ -0,0 +1 @@ +EVP_aes.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aes_192_gcm.3 b/linux_amd64/share/man/man3/EVP_aes_192_gcm.3 new file mode 120000 index 0000000..1a8c298 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aes_192_gcm.3 @@ -0,0 +1 @@ +EVP_aes.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aes_192_ocb.3 b/linux_amd64/share/man/man3/EVP_aes_192_ocb.3 new file mode 120000 index 0000000..1a8c298 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aes_192_ocb.3 @@ -0,0 +1 @@ +EVP_aes.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aes_192_ofb.3 b/linux_amd64/share/man/man3/EVP_aes_192_ofb.3 new file mode 120000 index 0000000..1a8c298 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aes_192_ofb.3 @@ -0,0 +1 @@ +EVP_aes.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aes_192_wrap.3 b/linux_amd64/share/man/man3/EVP_aes_192_wrap.3 new file mode 120000 index 0000000..1a8c298 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aes_192_wrap.3 @@ -0,0 +1 @@ +EVP_aes.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aes_192_wrap_pad.3 b/linux_amd64/share/man/man3/EVP_aes_192_wrap_pad.3 new file mode 120000 index 0000000..1a8c298 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aes_192_wrap_pad.3 @@ -0,0 +1 @@ +EVP_aes.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aes_256_cbc.3 b/linux_amd64/share/man/man3/EVP_aes_256_cbc.3 new file mode 120000 index 0000000..1a8c298 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aes_256_cbc.3 @@ -0,0 +1 @@ +EVP_aes.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aes_256_cbc_hmac_sha1.3 b/linux_amd64/share/man/man3/EVP_aes_256_cbc_hmac_sha1.3 new file mode 120000 index 0000000..1a8c298 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aes_256_cbc_hmac_sha1.3 @@ -0,0 +1 @@ +EVP_aes.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aes_256_cbc_hmac_sha256.3 b/linux_amd64/share/man/man3/EVP_aes_256_cbc_hmac_sha256.3 new file mode 120000 index 0000000..1a8c298 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aes_256_cbc_hmac_sha256.3 @@ -0,0 +1 @@ +EVP_aes.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aes_256_ccm.3 b/linux_amd64/share/man/man3/EVP_aes_256_ccm.3 new file mode 120000 index 0000000..1a8c298 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aes_256_ccm.3 @@ -0,0 +1 @@ +EVP_aes.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aes_256_cfb.3 b/linux_amd64/share/man/man3/EVP_aes_256_cfb.3 new file mode 120000 index 0000000..1a8c298 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aes_256_cfb.3 @@ -0,0 +1 @@ +EVP_aes.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aes_256_cfb1.3 b/linux_amd64/share/man/man3/EVP_aes_256_cfb1.3 new file mode 120000 index 0000000..1a8c298 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aes_256_cfb1.3 @@ -0,0 +1 @@ +EVP_aes.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aes_256_cfb128.3 b/linux_amd64/share/man/man3/EVP_aes_256_cfb128.3 new file mode 120000 index 0000000..1a8c298 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aes_256_cfb128.3 @@ -0,0 +1 @@ +EVP_aes.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aes_256_cfb8.3 b/linux_amd64/share/man/man3/EVP_aes_256_cfb8.3 new file mode 120000 index 0000000..1a8c298 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aes_256_cfb8.3 @@ -0,0 +1 @@ +EVP_aes.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aes_256_ctr.3 b/linux_amd64/share/man/man3/EVP_aes_256_ctr.3 new file mode 120000 index 0000000..1a8c298 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aes_256_ctr.3 @@ -0,0 +1 @@ +EVP_aes.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aes_256_ecb.3 b/linux_amd64/share/man/man3/EVP_aes_256_ecb.3 new file mode 120000 index 0000000..1a8c298 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aes_256_ecb.3 @@ -0,0 +1 @@ +EVP_aes.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aes_256_gcm.3 b/linux_amd64/share/man/man3/EVP_aes_256_gcm.3 new file mode 120000 index 0000000..1a8c298 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aes_256_gcm.3 @@ -0,0 +1 @@ +EVP_aes.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aes_256_ocb.3 b/linux_amd64/share/man/man3/EVP_aes_256_ocb.3 new file mode 120000 index 0000000..1a8c298 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aes_256_ocb.3 @@ -0,0 +1 @@ +EVP_aes.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aes_256_ofb.3 b/linux_amd64/share/man/man3/EVP_aes_256_ofb.3 new file mode 120000 index 0000000..1a8c298 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aes_256_ofb.3 @@ -0,0 +1 @@ +EVP_aes.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aes_256_wrap.3 b/linux_amd64/share/man/man3/EVP_aes_256_wrap.3 new file mode 120000 index 0000000..1a8c298 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aes_256_wrap.3 @@ -0,0 +1 @@ +EVP_aes.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aes_256_wrap_pad.3 b/linux_amd64/share/man/man3/EVP_aes_256_wrap_pad.3 new file mode 120000 index 0000000..1a8c298 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aes_256_wrap_pad.3 @@ -0,0 +1 @@ +EVP_aes.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aes_256_xts.3 b/linux_amd64/share/man/man3/EVP_aes_256_xts.3 new file mode 120000 index 0000000..1a8c298 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aes_256_xts.3 @@ -0,0 +1 @@ +EVP_aes.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aria.3 b/linux_amd64/share/man/man3/EVP_aria.3 new file mode 100644 index 0000000..4f52019 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aria.3 @@ -0,0 +1,173 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "EVP_ARIA 3" +.TH EVP_ARIA 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +EVP_aria_128_cbc, EVP_aria_192_cbc, EVP_aria_256_cbc, EVP_aria_128_cfb, EVP_aria_192_cfb, EVP_aria_256_cfb, EVP_aria_128_cfb1, EVP_aria_192_cfb1, EVP_aria_256_cfb1, EVP_aria_128_cfb8, EVP_aria_192_cfb8, EVP_aria_256_cfb8, EVP_aria_128_cfb128, EVP_aria_192_cfb128, EVP_aria_256_cfb128, EVP_aria_128_ctr, EVP_aria_192_ctr, EVP_aria_256_ctr, EVP_aria_128_ecb, EVP_aria_192_ecb, EVP_aria_256_ecb, EVP_aria_128_ofb, EVP_aria_192_ofb, EVP_aria_256_ofb, EVP_aria_128_ccm, EVP_aria_192_ccm, EVP_aria_256_ccm, EVP_aria_128_gcm, EVP_aria_192_gcm, EVP_aria_256_gcm, \&\- EVP ARIA cipher +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +.Vb 1 +\& #include +\& +\& const EVP_CIPHER *EVP_ciphername(void) +.Ve +.PP +\&\fIEVP_ciphername\fR is used a placeholder for any of the described cipher +functions, such as \fIEVP_aria_128_cbc\fR. +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The \s-1ARIA\s0 encryption algorithm for \s-1EVP\s0. +.IP "\fIEVP_aria_128_cbc()\fR, \fIEVP_aria_192_cbc()\fR, \fIEVP_aria_256_cbc()\fR, \fIEVP_aria_128_cfb()\fR, \fIEVP_aria_192_cfb()\fR, \fIEVP_aria_256_cfb()\fR, \fIEVP_aria_128_cfb1()\fR, \fIEVP_aria_192_cfb1()\fR, \fIEVP_aria_256_cfb1()\fR, \fIEVP_aria_128_cfb8()\fR, \fIEVP_aria_192_cfb8()\fR, \fIEVP_aria_256_cfb8()\fR, \fIEVP_aria_128_cfb128()\fR, \fIEVP_aria_192_cfb128()\fR, \fIEVP_aria_256_cfb128()\fR, \fIEVP_aria_128_ctr()\fR, \fIEVP_aria_192_ctr()\fR, \fIEVP_aria_256_ctr()\fR, \fIEVP_aria_128_ecb()\fR, \fIEVP_aria_192_ecb()\fR, \fIEVP_aria_256_ecb()\fR, \fIEVP_aria_128_ofb()\fR, \fIEVP_aria_192_ofb()\fR, \fIEVP_aria_256_ofb()\fR" 4 +.IX Item "EVP_aria_128_cbc(), EVP_aria_192_cbc(), EVP_aria_256_cbc(), EVP_aria_128_cfb(), EVP_aria_192_cfb(), EVP_aria_256_cfb(), EVP_aria_128_cfb1(), EVP_aria_192_cfb1(), EVP_aria_256_cfb1(), EVP_aria_128_cfb8(), EVP_aria_192_cfb8(), EVP_aria_256_cfb8(), EVP_aria_128_cfb128(), EVP_aria_192_cfb128(), EVP_aria_256_cfb128(), EVP_aria_128_ctr(), EVP_aria_192_ctr(), EVP_aria_256_ctr(), EVP_aria_128_ecb(), EVP_aria_192_ecb(), EVP_aria_256_ecb(), EVP_aria_128_ofb(), EVP_aria_192_ofb(), EVP_aria_256_ofb()" +\&\s-1ARIA\s0 for 128, 192 and 256 bit keys in the following modes: \s-1CBC\s0, \s-1CFB\s0 with +128\-bit shift, \s-1CFB\s0 with 1\-bit shift, \s-1CFB\s0 with 8\-bit shift, \s-1CTR\s0, \s-1ECB\s0 and \s-1OFB\s0. +.IP "\fIEVP_aria_128_ccm()\fR, \fIEVP_aria_192_ccm()\fR, \fIEVP_aria_256_ccm()\fR, \fIEVP_aria_128_gcm()\fR, \fIEVP_aria_192_gcm()\fR, \fIEVP_aria_256_gcm()\fR," 4 +.IX Item "EVP_aria_128_ccm(), EVP_aria_192_ccm(), EVP_aria_256_ccm(), EVP_aria_128_gcm(), EVP_aria_192_gcm(), EVP_aria_256_gcm()," +\&\s-1ARIA\s0 for 128, 192 and 256 bit keys in CBC-MAC Mode (\s-1CCM\s0) and Galois Counter +Mode (\s-1GCM\s0). These ciphers require additional control operations to function +correctly, see the \*(L"\s-1AEAD\s0 Interface\*(R" in \fIEVP_EncryptInit\fR\|(3) section for details. +.SH "RETURN VALUES" +.IX Header "RETURN VALUES" +These functions return an \fB\s-1EVP_CIPHER\s0\fR structure that contains the +implementation of the symmetric cipher. See \fIEVP_CIPHER_meth_new\fR\|(3) for +details of the \fB\s-1EVP_CIPHER\s0\fR structure. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIevp\fR\|(7), +\&\fIEVP_EncryptInit\fR\|(3), +\&\fIEVP_CIPHER_meth_new\fR\|(3) +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2017\-2019 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man3/EVP_aria_128_cbc.3 b/linux_amd64/share/man/man3/EVP_aria_128_cbc.3 new file mode 120000 index 0000000..de30498 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aria_128_cbc.3 @@ -0,0 +1 @@ +EVP_aria.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aria_128_ccm.3 b/linux_amd64/share/man/man3/EVP_aria_128_ccm.3 new file mode 120000 index 0000000..de30498 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aria_128_ccm.3 @@ -0,0 +1 @@ +EVP_aria.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aria_128_cfb.3 b/linux_amd64/share/man/man3/EVP_aria_128_cfb.3 new file mode 120000 index 0000000..de30498 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aria_128_cfb.3 @@ -0,0 +1 @@ +EVP_aria.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aria_128_cfb1.3 b/linux_amd64/share/man/man3/EVP_aria_128_cfb1.3 new file mode 120000 index 0000000..de30498 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aria_128_cfb1.3 @@ -0,0 +1 @@ +EVP_aria.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aria_128_cfb128.3 b/linux_amd64/share/man/man3/EVP_aria_128_cfb128.3 new file mode 120000 index 0000000..de30498 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aria_128_cfb128.3 @@ -0,0 +1 @@ +EVP_aria.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aria_128_cfb8.3 b/linux_amd64/share/man/man3/EVP_aria_128_cfb8.3 new file mode 120000 index 0000000..de30498 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aria_128_cfb8.3 @@ -0,0 +1 @@ +EVP_aria.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aria_128_ctr.3 b/linux_amd64/share/man/man3/EVP_aria_128_ctr.3 new file mode 120000 index 0000000..de30498 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aria_128_ctr.3 @@ -0,0 +1 @@ +EVP_aria.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aria_128_ecb.3 b/linux_amd64/share/man/man3/EVP_aria_128_ecb.3 new file mode 120000 index 0000000..de30498 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aria_128_ecb.3 @@ -0,0 +1 @@ +EVP_aria.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aria_128_ofb.3 b/linux_amd64/share/man/man3/EVP_aria_128_ofb.3 new file mode 120000 index 0000000..de30498 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aria_128_ofb.3 @@ -0,0 +1 @@ +EVP_aria.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aria_192_cbc.3 b/linux_amd64/share/man/man3/EVP_aria_192_cbc.3 new file mode 120000 index 0000000..de30498 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aria_192_cbc.3 @@ -0,0 +1 @@ +EVP_aria.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aria_192_ccm.3 b/linux_amd64/share/man/man3/EVP_aria_192_ccm.3 new file mode 120000 index 0000000..de30498 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aria_192_ccm.3 @@ -0,0 +1 @@ +EVP_aria.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aria_192_cfb.3 b/linux_amd64/share/man/man3/EVP_aria_192_cfb.3 new file mode 120000 index 0000000..de30498 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aria_192_cfb.3 @@ -0,0 +1 @@ +EVP_aria.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aria_192_cfb1.3 b/linux_amd64/share/man/man3/EVP_aria_192_cfb1.3 new file mode 120000 index 0000000..de30498 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aria_192_cfb1.3 @@ -0,0 +1 @@ +EVP_aria.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aria_192_cfb128.3 b/linux_amd64/share/man/man3/EVP_aria_192_cfb128.3 new file mode 120000 index 0000000..de30498 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aria_192_cfb128.3 @@ -0,0 +1 @@ +EVP_aria.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aria_192_cfb8.3 b/linux_amd64/share/man/man3/EVP_aria_192_cfb8.3 new file mode 120000 index 0000000..de30498 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aria_192_cfb8.3 @@ -0,0 +1 @@ +EVP_aria.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aria_192_ctr.3 b/linux_amd64/share/man/man3/EVP_aria_192_ctr.3 new file mode 120000 index 0000000..de30498 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aria_192_ctr.3 @@ -0,0 +1 @@ +EVP_aria.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aria_192_ecb.3 b/linux_amd64/share/man/man3/EVP_aria_192_ecb.3 new file mode 120000 index 0000000..de30498 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aria_192_ecb.3 @@ -0,0 +1 @@ +EVP_aria.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aria_192_gcm.3 b/linux_amd64/share/man/man3/EVP_aria_192_gcm.3 new file mode 120000 index 0000000..de30498 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aria_192_gcm.3 @@ -0,0 +1 @@ +EVP_aria.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aria_192_ofb.3 b/linux_amd64/share/man/man3/EVP_aria_192_ofb.3 new file mode 120000 index 0000000..de30498 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aria_192_ofb.3 @@ -0,0 +1 @@ +EVP_aria.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aria_256_cbc.3 b/linux_amd64/share/man/man3/EVP_aria_256_cbc.3 new file mode 120000 index 0000000..de30498 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aria_256_cbc.3 @@ -0,0 +1 @@ +EVP_aria.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aria_256_ccm.3 b/linux_amd64/share/man/man3/EVP_aria_256_ccm.3 new file mode 120000 index 0000000..de30498 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aria_256_ccm.3 @@ -0,0 +1 @@ +EVP_aria.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aria_256_cfb.3 b/linux_amd64/share/man/man3/EVP_aria_256_cfb.3 new file mode 120000 index 0000000..de30498 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aria_256_cfb.3 @@ -0,0 +1 @@ +EVP_aria.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aria_256_cfb1.3 b/linux_amd64/share/man/man3/EVP_aria_256_cfb1.3 new file mode 120000 index 0000000..de30498 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aria_256_cfb1.3 @@ -0,0 +1 @@ +EVP_aria.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aria_256_cfb128.3 b/linux_amd64/share/man/man3/EVP_aria_256_cfb128.3 new file mode 120000 index 0000000..de30498 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aria_256_cfb128.3 @@ -0,0 +1 @@ +EVP_aria.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aria_256_cfb8.3 b/linux_amd64/share/man/man3/EVP_aria_256_cfb8.3 new file mode 120000 index 0000000..de30498 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aria_256_cfb8.3 @@ -0,0 +1 @@ +EVP_aria.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aria_256_ctr.3 b/linux_amd64/share/man/man3/EVP_aria_256_ctr.3 new file mode 120000 index 0000000..de30498 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aria_256_ctr.3 @@ -0,0 +1 @@ +EVP_aria.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aria_256_ecb.3 b/linux_amd64/share/man/man3/EVP_aria_256_ecb.3 new file mode 120000 index 0000000..de30498 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aria_256_ecb.3 @@ -0,0 +1 @@ +EVP_aria.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aria_256_gcm.3 b/linux_amd64/share/man/man3/EVP_aria_256_gcm.3 new file mode 120000 index 0000000..de30498 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aria_256_gcm.3 @@ -0,0 +1 @@ +EVP_aria.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_aria_256_ofb.3 b/linux_amd64/share/man/man3/EVP_aria_256_ofb.3 new file mode 120000 index 0000000..de30498 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_aria_256_ofb.3 @@ -0,0 +1 @@ +EVP_aria.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_bf_cbc.3 b/linux_amd64/share/man/man3/EVP_bf_cbc.3 index 3638f26..0d6b049 100755 --- a/linux_amd64/share/man/man3/EVP_bf_cbc.3 +++ b/linux_amd64/share/man/man3/EVP_bf_cbc.3 @@ -124,18 +124,13 @@ .\" ======================================================================== .\" .IX Title "EVP_BF_CBC 3" -.TH EVP_BF_CBC 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_BF_CBC 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_bf_cbc, -EVP_bf_cfb, -EVP_bf_cfb64, -EVP_bf_ecb, -EVP_bf_ofb -\&\- EVP Blowfish cipher +EVP_bf_cbc, EVP_bf_cfb, EVP_bf_cfb64, EVP_bf_ecb, EVP_bf_ofb \&\- EVP Blowfish cipher .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -169,7 +164,7 @@ details of the \fB\s-1EVP_CIPHER\s0\fR structure. .IX Header "COPYRIGHT" Copyright 2017\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_bf_cfb.3 b/linux_amd64/share/man/man3/EVP_bf_cfb.3 new file mode 120000 index 0000000..f1a7f94 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_bf_cfb.3 @@ -0,0 +1 @@ +EVP_bf_cbc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_bf_cfb64.3 b/linux_amd64/share/man/man3/EVP_bf_cfb64.3 new file mode 120000 index 0000000..f1a7f94 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_bf_cfb64.3 @@ -0,0 +1 @@ +EVP_bf_cbc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_bf_ecb.3 b/linux_amd64/share/man/man3/EVP_bf_ecb.3 new file mode 120000 index 0000000..f1a7f94 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_bf_ecb.3 @@ -0,0 +1 @@ +EVP_bf_cbc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_bf_ofb.3 b/linux_amd64/share/man/man3/EVP_bf_ofb.3 new file mode 120000 index 0000000..f1a7f94 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_bf_ofb.3 @@ -0,0 +1 @@ +EVP_bf_cbc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_blake2b512.3 b/linux_amd64/share/man/man3/EVP_blake2b512.3 index ce7a2d9..e12103b 100755 --- a/linux_amd64/share/man/man3/EVP_blake2b512.3 +++ b/linux_amd64/share/man/man3/EVP_blake2b512.3 @@ -124,15 +124,13 @@ .\" ======================================================================== .\" .IX Title "EVP_BLAKE2B512 3" -.TH EVP_BLAKE2B512 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_BLAKE2B512 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_blake2b512, -EVP_blake2s256 -\&\- BLAKE2 For EVP +EVP_blake2b512, EVP_blake2s256 \&\- BLAKE2 For EVP .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -173,7 +171,7 @@ supported), which is 512\-bits for BLAKE2b and 256\-bits for BLAKE2s. .IX Header "COPYRIGHT" Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_blake2s256.3 b/linux_amd64/share/man/man3/EVP_blake2s256.3 new file mode 120000 index 0000000..aa13e1c --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_blake2s256.3 @@ -0,0 +1 @@ +EVP_blake2b512.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_camellia.3 b/linux_amd64/share/man/man3/EVP_camellia.3 new file mode 100644 index 0000000..ae91d61 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_camellia.3 @@ -0,0 +1,168 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "EVP_CAMELLIA 3" +.TH EVP_CAMELLIA 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +EVP_camellia_128_cbc, EVP_camellia_192_cbc, EVP_camellia_256_cbc, EVP_camellia_128_cfb, EVP_camellia_192_cfb, EVP_camellia_256_cfb, EVP_camellia_128_cfb1, EVP_camellia_192_cfb1, EVP_camellia_256_cfb1, EVP_camellia_128_cfb8, EVP_camellia_192_cfb8, EVP_camellia_256_cfb8, EVP_camellia_128_cfb128, EVP_camellia_192_cfb128, EVP_camellia_256_cfb128, EVP_camellia_128_ctr, EVP_camellia_192_ctr, EVP_camellia_256_ctr, EVP_camellia_128_ecb, EVP_camellia_192_ecb, EVP_camellia_256_ecb, EVP_camellia_128_ofb, EVP_camellia_192_ofb, EVP_camellia_256_ofb \&\- EVP Camellia cipher +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +.Vb 1 +\& #include +\& +\& const EVP_CIPHER *EVP_ciphername(void) +.Ve +.PP +\&\fIEVP_ciphername\fR is used a placeholder for any of the described cipher +functions, such as \fIEVP_camellia_128_cbc\fR. +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The Camellia encryption algorithm for \s-1EVP\s0. +.IP "\fIEVP_camellia_128_cbc()\fR, \fIEVP_camellia_192_cbc()\fR, \fIEVP_camellia_256_cbc()\fR, \fIEVP_camellia_128_cfb()\fR, \fIEVP_camellia_192_cfb()\fR, \fIEVP_camellia_256_cfb()\fR, \fIEVP_camellia_128_cfb1()\fR, \fIEVP_camellia_192_cfb1()\fR, \fIEVP_camellia_256_cfb1()\fR, \fIEVP_camellia_128_cfb8()\fR, \fIEVP_camellia_192_cfb8()\fR, \fIEVP_camellia_256_cfb8()\fR, \fIEVP_camellia_128_cfb128()\fR, \fIEVP_camellia_192_cfb128()\fR, \fIEVP_camellia_256_cfb128()\fR, \fIEVP_camellia_128_ctr()\fR, \fIEVP_camellia_192_ctr()\fR, \fIEVP_camellia_256_ctr()\fR, \fIEVP_camellia_128_ecb()\fR, \fIEVP_camellia_192_ecb()\fR, \fIEVP_camellia_256_ecb()\fR, \fIEVP_camellia_128_ofb()\fR, \fIEVP_camellia_192_ofb()\fR, \fIEVP_camellia_256_ofb()\fR" 4 +.IX Item "EVP_camellia_128_cbc(), EVP_camellia_192_cbc(), EVP_camellia_256_cbc(), EVP_camellia_128_cfb(), EVP_camellia_192_cfb(), EVP_camellia_256_cfb(), EVP_camellia_128_cfb1(), EVP_camellia_192_cfb1(), EVP_camellia_256_cfb1(), EVP_camellia_128_cfb8(), EVP_camellia_192_cfb8(), EVP_camellia_256_cfb8(), EVP_camellia_128_cfb128(), EVP_camellia_192_cfb128(), EVP_camellia_256_cfb128(), EVP_camellia_128_ctr(), EVP_camellia_192_ctr(), EVP_camellia_256_ctr(), EVP_camellia_128_ecb(), EVP_camellia_192_ecb(), EVP_camellia_256_ecb(), EVP_camellia_128_ofb(), EVP_camellia_192_ofb(), EVP_camellia_256_ofb()" +Camellia for 128, 192 and 256 bit keys in the following modes: \s-1CBC\s0, \s-1CFB\s0 with +128\-bit shift, \s-1CFB\s0 with 1\-bit shift, \s-1CFB\s0 with 8\-bit shift, \s-1CTR\s0, \s-1ECB\s0 and \s-1OFB\s0. +.SH "RETURN VALUES" +.IX Header "RETURN VALUES" +These functions return an \fB\s-1EVP_CIPHER\s0\fR structure that contains the +implementation of the symmetric cipher. See \fIEVP_CIPHER_meth_new\fR\|(3) for +details of the \fB\s-1EVP_CIPHER\s0\fR structure. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIevp\fR\|(7), +\&\fIEVP_EncryptInit\fR\|(3), +\&\fIEVP_CIPHER_meth_new\fR\|(3) +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2017\-2018 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man3/EVP_camellia_128_cbc.3 b/linux_amd64/share/man/man3/EVP_camellia_128_cbc.3 new file mode 120000 index 0000000..eb6886b --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_camellia_128_cbc.3 @@ -0,0 +1 @@ +EVP_camellia.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_camellia_128_cfb.3 b/linux_amd64/share/man/man3/EVP_camellia_128_cfb.3 new file mode 120000 index 0000000..eb6886b --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_camellia_128_cfb.3 @@ -0,0 +1 @@ +EVP_camellia.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_camellia_128_cfb1.3 b/linux_amd64/share/man/man3/EVP_camellia_128_cfb1.3 new file mode 120000 index 0000000..eb6886b --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_camellia_128_cfb1.3 @@ -0,0 +1 @@ +EVP_camellia.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_camellia_128_cfb128.3 b/linux_amd64/share/man/man3/EVP_camellia_128_cfb128.3 new file mode 120000 index 0000000..eb6886b --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_camellia_128_cfb128.3 @@ -0,0 +1 @@ +EVP_camellia.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_camellia_128_cfb8.3 b/linux_amd64/share/man/man3/EVP_camellia_128_cfb8.3 new file mode 120000 index 0000000..eb6886b --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_camellia_128_cfb8.3 @@ -0,0 +1 @@ +EVP_camellia.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_camellia_128_ctr.3 b/linux_amd64/share/man/man3/EVP_camellia_128_ctr.3 new file mode 120000 index 0000000..eb6886b --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_camellia_128_ctr.3 @@ -0,0 +1 @@ +EVP_camellia.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_camellia_128_ofb.3 b/linux_amd64/share/man/man3/EVP_camellia_128_ofb.3 new file mode 120000 index 0000000..eb6886b --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_camellia_128_ofb.3 @@ -0,0 +1 @@ +EVP_camellia.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_camellia_192_cbc.3 b/linux_amd64/share/man/man3/EVP_camellia_192_cbc.3 new file mode 120000 index 0000000..eb6886b --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_camellia_192_cbc.3 @@ -0,0 +1 @@ +EVP_camellia.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_camellia_192_cfb.3 b/linux_amd64/share/man/man3/EVP_camellia_192_cfb.3 new file mode 120000 index 0000000..eb6886b --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_camellia_192_cfb.3 @@ -0,0 +1 @@ +EVP_camellia.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_camellia_192_cfb1.3 b/linux_amd64/share/man/man3/EVP_camellia_192_cfb1.3 new file mode 120000 index 0000000..eb6886b --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_camellia_192_cfb1.3 @@ -0,0 +1 @@ +EVP_camellia.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_camellia_192_cfb128.3 b/linux_amd64/share/man/man3/EVP_camellia_192_cfb128.3 new file mode 120000 index 0000000..eb6886b --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_camellia_192_cfb128.3 @@ -0,0 +1 @@ +EVP_camellia.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_camellia_192_cfb8.3 b/linux_amd64/share/man/man3/EVP_camellia_192_cfb8.3 new file mode 120000 index 0000000..eb6886b --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_camellia_192_cfb8.3 @@ -0,0 +1 @@ +EVP_camellia.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_camellia_192_ctr.3 b/linux_amd64/share/man/man3/EVP_camellia_192_ctr.3 new file mode 120000 index 0000000..eb6886b --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_camellia_192_ctr.3 @@ -0,0 +1 @@ +EVP_camellia.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_camellia_192_ecb.3 b/linux_amd64/share/man/man3/EVP_camellia_192_ecb.3 new file mode 120000 index 0000000..eb6886b --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_camellia_192_ecb.3 @@ -0,0 +1 @@ +EVP_camellia.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_camellia_192_ofb.3 b/linux_amd64/share/man/man3/EVP_camellia_192_ofb.3 new file mode 120000 index 0000000..eb6886b --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_camellia_192_ofb.3 @@ -0,0 +1 @@ +EVP_camellia.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_camellia_256_cbc.3 b/linux_amd64/share/man/man3/EVP_camellia_256_cbc.3 new file mode 120000 index 0000000..eb6886b --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_camellia_256_cbc.3 @@ -0,0 +1 @@ +EVP_camellia.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_camellia_256_cfb.3 b/linux_amd64/share/man/man3/EVP_camellia_256_cfb.3 new file mode 120000 index 0000000..eb6886b --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_camellia_256_cfb.3 @@ -0,0 +1 @@ +EVP_camellia.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_camellia_256_cfb1.3 b/linux_amd64/share/man/man3/EVP_camellia_256_cfb1.3 new file mode 120000 index 0000000..eb6886b --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_camellia_256_cfb1.3 @@ -0,0 +1 @@ +EVP_camellia.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_camellia_256_cfb128.3 b/linux_amd64/share/man/man3/EVP_camellia_256_cfb128.3 new file mode 120000 index 0000000..eb6886b --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_camellia_256_cfb128.3 @@ -0,0 +1 @@ +EVP_camellia.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_camellia_256_cfb8.3 b/linux_amd64/share/man/man3/EVP_camellia_256_cfb8.3 new file mode 120000 index 0000000..eb6886b --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_camellia_256_cfb8.3 @@ -0,0 +1 @@ +EVP_camellia.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_camellia_256_ctr.3 b/linux_amd64/share/man/man3/EVP_camellia_256_ctr.3 new file mode 120000 index 0000000..eb6886b --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_camellia_256_ctr.3 @@ -0,0 +1 @@ +EVP_camellia.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_camellia_256_ecb.3 b/linux_amd64/share/man/man3/EVP_camellia_256_ecb.3 new file mode 120000 index 0000000..eb6886b --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_camellia_256_ecb.3 @@ -0,0 +1 @@ +EVP_camellia.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_camellia_256_ofb.3 b/linux_amd64/share/man/man3/EVP_camellia_256_ofb.3 new file mode 120000 index 0000000..eb6886b --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_camellia_256_ofb.3 @@ -0,0 +1 @@ +EVP_camellia.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_cast5_cbc.3 b/linux_amd64/share/man/man3/EVP_cast5_cbc.3 index a70c0c2..ecd5e22 100755 --- a/linux_amd64/share/man/man3/EVP_cast5_cbc.3 +++ b/linux_amd64/share/man/man3/EVP_cast5_cbc.3 @@ -124,18 +124,13 @@ .\" ======================================================================== .\" .IX Title "EVP_CAST5_CBC 3" -.TH EVP_CAST5_CBC 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_CAST5_CBC 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_cast5_cbc, -EVP_cast5_cfb, -EVP_cast5_cfb64, -EVP_cast5_ecb, -EVP_cast5_ofb -\&\- EVP CAST cipher +EVP_cast5_cbc, EVP_cast5_cfb, EVP_cast5_cfb64, EVP_cast5_ecb, EVP_cast5_ofb \&\- EVP CAST cipher .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -169,7 +164,7 @@ details of the \fB\s-1EVP_CIPHER\s0\fR structure. .IX Header "COPYRIGHT" Copyright 2017\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_cast5_cfb.3 b/linux_amd64/share/man/man3/EVP_cast5_cfb.3 new file mode 120000 index 0000000..f53b1bf --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_cast5_cfb.3 @@ -0,0 +1 @@ +EVP_cast5_cbc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_cast5_cfb64.3 b/linux_amd64/share/man/man3/EVP_cast5_cfb64.3 new file mode 120000 index 0000000..f53b1bf --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_cast5_cfb64.3 @@ -0,0 +1 @@ +EVP_cast5_cbc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_cast5_ecb.3 b/linux_amd64/share/man/man3/EVP_cast5_ecb.3 new file mode 120000 index 0000000..f53b1bf --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_cast5_ecb.3 @@ -0,0 +1 @@ +EVP_cast5_cbc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_cast5_ofb.3 b/linux_amd64/share/man/man3/EVP_cast5_ofb.3 new file mode 120000 index 0000000..f53b1bf --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_cast5_ofb.3 @@ -0,0 +1 @@ +EVP_cast5_cbc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_chacha20.3 b/linux_amd64/share/man/man3/EVP_chacha20.3 index 0b122a9..0e7af21 100755 --- a/linux_amd64/share/man/man3/EVP_chacha20.3 +++ b/linux_amd64/share/man/man3/EVP_chacha20.3 @@ -124,15 +124,13 @@ .\" ======================================================================== .\" .IX Title "EVP_CHACHA20 3" -.TH EVP_CHACHA20 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_CHACHA20 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_chacha20, -EVP_chacha20_poly1305 -\&\- EVP ChaCha20 stream cipher +EVP_chacha20, EVP_chacha20_poly1305 \&\- EVP ChaCha20 stream cipher .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -173,9 +171,9 @@ details of the \fB\s-1EVP_CIPHER\s0\fR structure. \&\fIEVP_CIPHER_meth_new\fR\|(3) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_chacha20_poly1305.3 b/linux_amd64/share/man/man3/EVP_chacha20_poly1305.3 new file mode 120000 index 0000000..a0569b0 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_chacha20_poly1305.3 @@ -0,0 +1 @@ +EVP_chacha20.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_cleanup.3 b/linux_amd64/share/man/man3/EVP_cleanup.3 new file mode 120000 index 0000000..2571f54 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_cleanup.3 @@ -0,0 +1 @@ +OpenSSL_add_all_algorithms.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_des.3 b/linux_amd64/share/man/man3/EVP_des.3 new file mode 100644 index 0000000..8ba51e6 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_des.3 @@ -0,0 +1,178 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "EVP_DES 3" +.TH EVP_DES 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +EVP_des_cbc, EVP_des_cfb, EVP_des_cfb1, EVP_des_cfb8, EVP_des_cfb64, EVP_des_ecb, EVP_des_ofb, EVP_des_ede, EVP_des_ede_cbc, EVP_des_ede_cfb, EVP_des_ede_cfb64, EVP_des_ede_ecb, EVP_des_ede_ofb, EVP_des_ede3, EVP_des_ede3_cbc, EVP_des_ede3_cfb, EVP_des_ede3_cfb1, EVP_des_ede3_cfb8, EVP_des_ede3_cfb64, EVP_des_ede3_ecb, EVP_des_ede3_ofb, EVP_des_ede3_wrap \&\- EVP DES cipher +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +.Vb 1 +\& #include +\& +\& const EVP_CIPHER *EVP_ciphername(void) +.Ve +.PP +\&\fIEVP_ciphername\fR is used a placeholder for any of the described cipher +functions, such as \fIEVP_des_cbc\fR. +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The \s-1DES\s0 encryption algorithm for \s-1EVP\s0. +.IP "\fIEVP_des_cbc()\fR, \fIEVP_des_ecb()\fR, \fIEVP_des_cfb()\fR, \fIEVP_des_cfb1()\fR, \fIEVP_des_cfb8()\fR, \fIEVP_des_cfb64()\fR, \fIEVP_des_ofb()\fR" 4 +.IX Item "EVP_des_cbc(), EVP_des_ecb(), EVP_des_cfb(), EVP_des_cfb1(), EVP_des_cfb8(), EVP_des_cfb64(), EVP_des_ofb()" +\&\s-1DES\s0 in \s-1CBC\s0, \s-1ECB\s0, \s-1CFB\s0 with 64\-bit shift, \s-1CFB\s0 with 1\-bit shift, \s-1CFB\s0 with 8\-bit +shift and \s-1OFB\s0 modes. +.IP "\fIEVP_des_ede()\fR, \fIEVP_des_ede_cbc()\fR, \fIEVP_des_ede_cfb()\fR, \fIEVP_des_ede_cfb64()\fR, \fIEVP_des_ede_ecb()\fR, \fIEVP_des_ede_ofb()\fR" 4 +.IX Item "EVP_des_ede(), EVP_des_ede_cbc(), EVP_des_ede_cfb(), EVP_des_ede_cfb64(), EVP_des_ede_ecb(), EVP_des_ede_ofb()" +Two key triple \s-1DES\s0 in \s-1ECB\s0, \s-1CBC\s0, \s-1CFB\s0 with 64\-bit shift and \s-1OFB\s0 modes. +.IP "\fIEVP_des_ede3()\fR, \fIEVP_des_ede3_cbc()\fR, \fIEVP_des_ede3_cfb()\fR, \fIEVP_des_ede3_cfb1()\fR, \fIEVP_des_ede3_cfb8()\fR, \fIEVP_des_ede3_cfb64()\fR, \fIEVP_des_ede3_ecb()\fR, \fIEVP_des_ede3_ofb()\fR" 4 +.IX Item "EVP_des_ede3(), EVP_des_ede3_cbc(), EVP_des_ede3_cfb(), EVP_des_ede3_cfb1(), EVP_des_ede3_cfb8(), EVP_des_ede3_cfb64(), EVP_des_ede3_ecb(), EVP_des_ede3_ofb()" +Three-key triple \s-1DES\s0 in \s-1ECB\s0, \s-1CBC\s0, \s-1CFB\s0 with 64\-bit shift, \s-1CFB\s0 with 1\-bit shift, +\&\s-1CFB\s0 with 8\-bit shift and \s-1OFB\s0 modes. +.IP "\fIEVP_des_ede3_wrap()\fR" 4 +.IX Item "EVP_des_ede3_wrap()" +Triple-DES key wrap according to \s-1RFC\s0 3217 Section 3. +.SH "RETURN VALUES" +.IX Header "RETURN VALUES" +These functions return an \fB\s-1EVP_CIPHER\s0\fR structure that contains the +implementation of the symmetric cipher. See \fIEVP_CIPHER_meth_new\fR\|(3) for +details of the \fB\s-1EVP_CIPHER\s0\fR structure. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIevp\fR\|(7), +\&\fIEVP_EncryptInit\fR\|(3), +\&\fIEVP_CIPHER_meth_new\fR\|(3) +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2017\-2018 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man3/EVP_des_cfb.3 b/linux_amd64/share/man/man3/EVP_des_cfb.3 new file mode 120000 index 0000000..7400ac2 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_des_cfb.3 @@ -0,0 +1 @@ +EVP_des.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_des_cfb1.3 b/linux_amd64/share/man/man3/EVP_des_cfb1.3 new file mode 120000 index 0000000..7400ac2 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_des_cfb1.3 @@ -0,0 +1 @@ +EVP_des.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_des_cfb64.3 b/linux_amd64/share/man/man3/EVP_des_cfb64.3 new file mode 120000 index 0000000..7400ac2 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_des_cfb64.3 @@ -0,0 +1 @@ +EVP_des.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_des_cfb8.3 b/linux_amd64/share/man/man3/EVP_des_cfb8.3 new file mode 120000 index 0000000..7400ac2 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_des_cfb8.3 @@ -0,0 +1 @@ +EVP_des.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_des_ecb.3 b/linux_amd64/share/man/man3/EVP_des_ecb.3 new file mode 120000 index 0000000..7400ac2 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_des_ecb.3 @@ -0,0 +1 @@ +EVP_des.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_des_ede.3 b/linux_amd64/share/man/man3/EVP_des_ede.3 new file mode 120000 index 0000000..7400ac2 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_des_ede.3 @@ -0,0 +1 @@ +EVP_des.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_des_ede3.3 b/linux_amd64/share/man/man3/EVP_des_ede3.3 new file mode 120000 index 0000000..7400ac2 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_des_ede3.3 @@ -0,0 +1 @@ +EVP_des.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_des_ede3_cbc.3 b/linux_amd64/share/man/man3/EVP_des_ede3_cbc.3 new file mode 120000 index 0000000..7400ac2 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_des_ede3_cbc.3 @@ -0,0 +1 @@ +EVP_des.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_des_ede3_cfb.3 b/linux_amd64/share/man/man3/EVP_des_ede3_cfb.3 new file mode 120000 index 0000000..7400ac2 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_des_ede3_cfb.3 @@ -0,0 +1 @@ +EVP_des.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_des_ede3_cfb1.3 b/linux_amd64/share/man/man3/EVP_des_ede3_cfb1.3 new file mode 120000 index 0000000..7400ac2 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_des_ede3_cfb1.3 @@ -0,0 +1 @@ +EVP_des.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_des_ede3_cfb64.3 b/linux_amd64/share/man/man3/EVP_des_ede3_cfb64.3 new file mode 120000 index 0000000..7400ac2 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_des_ede3_cfb64.3 @@ -0,0 +1 @@ +EVP_des.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_des_ede3_cfb8.3 b/linux_amd64/share/man/man3/EVP_des_ede3_cfb8.3 new file mode 120000 index 0000000..7400ac2 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_des_ede3_cfb8.3 @@ -0,0 +1 @@ +EVP_des.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_des_ede3_ecb.3 b/linux_amd64/share/man/man3/EVP_des_ede3_ecb.3 new file mode 120000 index 0000000..7400ac2 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_des_ede3_ecb.3 @@ -0,0 +1 @@ +EVP_des.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_des_ede3_ofb.3 b/linux_amd64/share/man/man3/EVP_des_ede3_ofb.3 new file mode 120000 index 0000000..7400ac2 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_des_ede3_ofb.3 @@ -0,0 +1 @@ +EVP_des.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_des_ede3_wrap.3 b/linux_amd64/share/man/man3/EVP_des_ede3_wrap.3 new file mode 120000 index 0000000..7400ac2 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_des_ede3_wrap.3 @@ -0,0 +1 @@ +EVP_des.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_des_ede_cbc.3 b/linux_amd64/share/man/man3/EVP_des_ede_cbc.3 new file mode 120000 index 0000000..7400ac2 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_des_ede_cbc.3 @@ -0,0 +1 @@ +EVP_des.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_des_ede_cfb.3 b/linux_amd64/share/man/man3/EVP_des_ede_cfb.3 new file mode 120000 index 0000000..7400ac2 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_des_ede_cfb.3 @@ -0,0 +1 @@ +EVP_des.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_des_ede_cfb64.3 b/linux_amd64/share/man/man3/EVP_des_ede_cfb64.3 new file mode 120000 index 0000000..7400ac2 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_des_ede_cfb64.3 @@ -0,0 +1 @@ +EVP_des.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_des_ede_ecb.3 b/linux_amd64/share/man/man3/EVP_des_ede_ecb.3 new file mode 120000 index 0000000..7400ac2 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_des_ede_ecb.3 @@ -0,0 +1 @@ +EVP_des.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_des_ede_ofb.3 b/linux_amd64/share/man/man3/EVP_des_ede_ofb.3 new file mode 120000 index 0000000..7400ac2 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_des_ede_ofb.3 @@ -0,0 +1 @@ +EVP_des.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_des_ofb.3 b/linux_amd64/share/man/man3/EVP_des_ofb.3 new file mode 120000 index 0000000..7400ac2 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_des_ofb.3 @@ -0,0 +1 @@ +EVP_des.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_desx_cbc.3 b/linux_amd64/share/man/man3/EVP_desx_cbc.3 index 0f1e4e6..6211924 100755 --- a/linux_amd64/share/man/man3/EVP_desx_cbc.3 +++ b/linux_amd64/share/man/man3/EVP_desx_cbc.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "EVP_DESX_CBC 3" -.TH EVP_DESX_CBC 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_DESX_CBC 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_desx_cbc -\&\- EVP DES\-X cipher +EVP_desx_cbc \&\- EVP DES\-X cipher .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -161,7 +160,7 @@ details of the \fB\s-1EVP_CIPHER\s0\fR structure. .IX Header "COPYRIGHT" Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_enc_null.3 b/linux_amd64/share/man/man3/EVP_enc_null.3 new file mode 120000 index 0000000..939f273 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_enc_null.3 @@ -0,0 +1 @@ +EVP_EncryptInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_get_cipherbyname.3 b/linux_amd64/share/man/man3/EVP_get_cipherbyname.3 new file mode 120000 index 0000000..939f273 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_get_cipherbyname.3 @@ -0,0 +1 @@ +EVP_EncryptInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_get_cipherbynid.3 b/linux_amd64/share/man/man3/EVP_get_cipherbynid.3 new file mode 120000 index 0000000..939f273 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_get_cipherbynid.3 @@ -0,0 +1 @@ +EVP_EncryptInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_get_cipherbyobj.3 b/linux_amd64/share/man/man3/EVP_get_cipherbyobj.3 new file mode 120000 index 0000000..939f273 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_get_cipherbyobj.3 @@ -0,0 +1 @@ +EVP_EncryptInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_get_digestbyname.3 b/linux_amd64/share/man/man3/EVP_get_digestbyname.3 new file mode 120000 index 0000000..3f2985e --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_get_digestbyname.3 @@ -0,0 +1 @@ +EVP_DigestInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_get_digestbynid.3 b/linux_amd64/share/man/man3/EVP_get_digestbynid.3 new file mode 120000 index 0000000..3f2985e --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_get_digestbynid.3 @@ -0,0 +1 @@ +EVP_DigestInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_get_digestbyobj.3 b/linux_amd64/share/man/man3/EVP_get_digestbyobj.3 new file mode 120000 index 0000000..3f2985e --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_get_digestbyobj.3 @@ -0,0 +1 @@ +EVP_DigestInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_idea_cbc.3 b/linux_amd64/share/man/man3/EVP_idea_cbc.3 index e95243f..4b6fa18 100755 --- a/linux_amd64/share/man/man3/EVP_idea_cbc.3 +++ b/linux_amd64/share/man/man3/EVP_idea_cbc.3 @@ -124,18 +124,13 @@ .\" ======================================================================== .\" .IX Title "EVP_IDEA_CBC 3" -.TH EVP_IDEA_CBC 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_IDEA_CBC 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_idea_cbc, -EVP_idea_cfb, -EVP_idea_cfb64, -EVP_idea_ecb, -EVP_idea_ofb -\&\- EVP IDEA cipher +EVP_idea_cbc, EVP_idea_cfb, EVP_idea_cfb64, EVP_idea_ecb, EVP_idea_ofb \&\- EVP IDEA cipher .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -167,7 +162,7 @@ details of the \fB\s-1EVP_CIPHER\s0\fR structure. .IX Header "COPYRIGHT" Copyright 2017\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_idea_cfb.3 b/linux_amd64/share/man/man3/EVP_idea_cfb.3 new file mode 120000 index 0000000..42e2275 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_idea_cfb.3 @@ -0,0 +1 @@ +EVP_idea_cbc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_idea_cfb64.3 b/linux_amd64/share/man/man3/EVP_idea_cfb64.3 new file mode 120000 index 0000000..42e2275 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_idea_cfb64.3 @@ -0,0 +1 @@ +EVP_idea_cbc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_idea_ecb.3 b/linux_amd64/share/man/man3/EVP_idea_ecb.3 new file mode 120000 index 0000000..42e2275 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_idea_ecb.3 @@ -0,0 +1 @@ +EVP_idea_cbc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_idea_ofb.3 b/linux_amd64/share/man/man3/EVP_idea_ofb.3 new file mode 120000 index 0000000..42e2275 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_idea_ofb.3 @@ -0,0 +1 @@ +EVP_idea_cbc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_md2.3 b/linux_amd64/share/man/man3/EVP_md2.3 index e00efcb..fd1521b 100755 --- a/linux_amd64/share/man/man3/EVP_md2.3 +++ b/linux_amd64/share/man/man3/EVP_md2.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "EVP_MD2 3" -.TH EVP_MD2 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_MD2 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_md2 -\&\- MD2 For EVP +EVP_md2 \&\- MD2 For EVP .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -162,7 +161,7 @@ details of the \fB\s-1EVP_MD\s0\fR structure. .IX Header "COPYRIGHT" Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_md4.3 b/linux_amd64/share/man/man3/EVP_md4.3 index 184d1a8..a63b609 100755 --- a/linux_amd64/share/man/man3/EVP_md4.3 +++ b/linux_amd64/share/man/man3/EVP_md4.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "EVP_MD4 3" -.TH EVP_MD4 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_MD4 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_md4 -\&\- MD4 For EVP +EVP_md4 \&\- MD4 For EVP .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -162,7 +161,7 @@ details of the \fB\s-1EVP_MD\s0\fR structure. .IX Header "COPYRIGHT" Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_md5.3 b/linux_amd64/share/man/man3/EVP_md5.3 index 803d642..daeb778 100755 --- a/linux_amd64/share/man/man3/EVP_md5.3 +++ b/linux_amd64/share/man/man3/EVP_md5.3 @@ -124,15 +124,13 @@ .\" ======================================================================== .\" .IX Title "EVP_MD5 3" -.TH EVP_MD5 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_MD5 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_md5, -EVP_md5_sha1 -\&\- MD5 For EVP +EVP_md5, EVP_md5_sha1 \&\- MD5 For EVP .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -171,9 +169,9 @@ details of the \fB\s-1EVP_MD\s0\fR structure. \&\fIEVP_DigestInit\fR\|(3) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2017\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_md5_sha1.3 b/linux_amd64/share/man/man3/EVP_md5_sha1.3 new file mode 120000 index 0000000..adf9b04 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_md5_sha1.3 @@ -0,0 +1 @@ +EVP_md5.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_md_null.3 b/linux_amd64/share/man/man3/EVP_md_null.3 new file mode 120000 index 0000000..3f2985e --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_md_null.3 @@ -0,0 +1 @@ +EVP_DigestInit.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_mdc2.3 b/linux_amd64/share/man/man3/EVP_mdc2.3 index da65edd..b6eaeef 100755 --- a/linux_amd64/share/man/man3/EVP_mdc2.3 +++ b/linux_amd64/share/man/man3/EVP_mdc2.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "EVP_MDC2 3" -.TH EVP_MDC2 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_MDC2 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_mdc2 -\&\- MDC\-2 For EVP +EVP_mdc2 \&\- MDC\-2 For EVP .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -163,7 +162,7 @@ details of the \fB\s-1EVP_MD\s0\fR structure. .IX Header "COPYRIGHT" Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_rc2_40_cbc.3 b/linux_amd64/share/man/man3/EVP_rc2_40_cbc.3 new file mode 120000 index 0000000..5e9ae8c --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_rc2_40_cbc.3 @@ -0,0 +1 @@ +EVP_rc2_cbc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_rc2_64_cbc.3 b/linux_amd64/share/man/man3/EVP_rc2_64_cbc.3 new file mode 120000 index 0000000..5e9ae8c --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_rc2_64_cbc.3 @@ -0,0 +1 @@ +EVP_rc2_cbc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_rc2_cbc.3 b/linux_amd64/share/man/man3/EVP_rc2_cbc.3 index 7510d47..0ba3e1a 100755 --- a/linux_amd64/share/man/man3/EVP_rc2_cbc.3 +++ b/linux_amd64/share/man/man3/EVP_rc2_cbc.3 @@ -124,20 +124,13 @@ .\" ======================================================================== .\" .IX Title "EVP_RC2_CBC 3" -.TH EVP_RC2_CBC 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_RC2_CBC 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_rc2_cbc, -EVP_rc2_cfb, -EVP_rc2_cfb64, -EVP_rc2_ecb, -EVP_rc2_ofb, -EVP_rc2_40_cbc, -EVP_rc2_64_cbc -\&\- EVP RC2 cipher +EVP_rc2_cbc, EVP_rc2_cfb, EVP_rc2_cfb64, EVP_rc2_ecb, EVP_rc2_ofb, EVP_rc2_40_cbc, EVP_rc2_64_cbc \&\- EVP RC2 cipher .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -181,7 +174,7 @@ details of the \fB\s-1EVP_CIPHER\s0\fR structure. .IX Header "COPYRIGHT" Copyright 2017\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_rc2_cfb.3 b/linux_amd64/share/man/man3/EVP_rc2_cfb.3 new file mode 120000 index 0000000..5e9ae8c --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_rc2_cfb.3 @@ -0,0 +1 @@ +EVP_rc2_cbc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_rc2_cfb64.3 b/linux_amd64/share/man/man3/EVP_rc2_cfb64.3 new file mode 120000 index 0000000..5e9ae8c --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_rc2_cfb64.3 @@ -0,0 +1 @@ +EVP_rc2_cbc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_rc2_ecb.3 b/linux_amd64/share/man/man3/EVP_rc2_ecb.3 new file mode 120000 index 0000000..5e9ae8c --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_rc2_ecb.3 @@ -0,0 +1 @@ +EVP_rc2_cbc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_rc2_ofb.3 b/linux_amd64/share/man/man3/EVP_rc2_ofb.3 new file mode 120000 index 0000000..5e9ae8c --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_rc2_ofb.3 @@ -0,0 +1 @@ +EVP_rc2_cbc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_rc4.3 b/linux_amd64/share/man/man3/EVP_rc4.3 index 6fde757..4046163 100755 --- a/linux_amd64/share/man/man3/EVP_rc4.3 +++ b/linux_amd64/share/man/man3/EVP_rc4.3 @@ -124,16 +124,13 @@ .\" ======================================================================== .\" .IX Title "EVP_RC4 3" -.TH EVP_RC4 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_RC4 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_rc4, -EVP_rc4_40, -EVP_rc4_hmac_md5 -\&\- EVP RC4 stream cipher +EVP_rc4, EVP_rc4_40, EVP_rc4_hmac_md5 \&\- EVP RC4 stream cipher .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -177,7 +174,7 @@ details of the \fB\s-1EVP_CIPHER\s0\fR structure. .IX Header "COPYRIGHT" Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_rc4_40.3 b/linux_amd64/share/man/man3/EVP_rc4_40.3 new file mode 120000 index 0000000..cc4bcbf --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_rc4_40.3 @@ -0,0 +1 @@ +EVP_rc4.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_rc4_hmac_md5.3 b/linux_amd64/share/man/man3/EVP_rc4_hmac_md5.3 new file mode 120000 index 0000000..cc4bcbf --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_rc4_hmac_md5.3 @@ -0,0 +1 @@ +EVP_rc4.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_rc5_32_12_16_cbc.3 b/linux_amd64/share/man/man3/EVP_rc5_32_12_16_cbc.3 index ac387c8..861d4b0 100755 --- a/linux_amd64/share/man/man3/EVP_rc5_32_12_16_cbc.3 +++ b/linux_amd64/share/man/man3/EVP_rc5_32_12_16_cbc.3 @@ -124,18 +124,13 @@ .\" ======================================================================== .\" .IX Title "EVP_RC5_32_12_16_CBC 3" -.TH EVP_RC5_32_12_16_CBC 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_RC5_32_12_16_CBC 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_rc5_32_12_16_cbc, -EVP_rc5_32_12_16_cfb, -EVP_rc5_32_12_16_cfb64, -EVP_rc5_32_12_16_ecb, -EVP_rc5_32_12_16_ofb -\&\- EVP RC5 cipher +EVP_rc5_32_12_16_cbc, EVP_rc5_32_12_16_cfb, EVP_rc5_32_12_16_cfb64, EVP_rc5_32_12_16_ecb, EVP_rc5_32_12_16_ofb \&\- EVP RC5 cipher .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -184,9 +179,9 @@ details of the \fB\s-1EVP_CIPHER\s0\fR structure. \&\fIEVP_CIPHER_meth_new\fR\|(3) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2017\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_rc5_32_12_16_cfb.3 b/linux_amd64/share/man/man3/EVP_rc5_32_12_16_cfb.3 new file mode 120000 index 0000000..d82df69 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_rc5_32_12_16_cfb.3 @@ -0,0 +1 @@ +EVP_rc5_32_12_16_cbc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_rc5_32_12_16_cfb64.3 b/linux_amd64/share/man/man3/EVP_rc5_32_12_16_cfb64.3 new file mode 120000 index 0000000..d82df69 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_rc5_32_12_16_cfb64.3 @@ -0,0 +1 @@ +EVP_rc5_32_12_16_cbc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_rc5_32_12_16_ecb.3 b/linux_amd64/share/man/man3/EVP_rc5_32_12_16_ecb.3 new file mode 120000 index 0000000..d82df69 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_rc5_32_12_16_ecb.3 @@ -0,0 +1 @@ +EVP_rc5_32_12_16_cbc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_rc5_32_12_16_ofb.3 b/linux_amd64/share/man/man3/EVP_rc5_32_12_16_ofb.3 new file mode 120000 index 0000000..d82df69 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_rc5_32_12_16_ofb.3 @@ -0,0 +1 @@ +EVP_rc5_32_12_16_cbc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_ripemd160.3 b/linux_amd64/share/man/man3/EVP_ripemd160.3 index b4a6d82..e08d974 100755 --- a/linux_amd64/share/man/man3/EVP_ripemd160.3 +++ b/linux_amd64/share/man/man3/EVP_ripemd160.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "EVP_RIPEMD160 3" -.TH EVP_RIPEMD160 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_RIPEMD160 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_ripemd160 -\&\- RIPEMD160 For EVP +EVP_ripemd160 \&\- RIPEMD160 For EVP .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -162,7 +161,7 @@ details of the \fB\s-1EVP_MD\s0\fR structure. .IX Header "COPYRIGHT" Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_seed_cbc.3 b/linux_amd64/share/man/man3/EVP_seed_cbc.3 index 4e8037a..5243f97 100755 --- a/linux_amd64/share/man/man3/EVP_seed_cbc.3 +++ b/linux_amd64/share/man/man3/EVP_seed_cbc.3 @@ -124,18 +124,13 @@ .\" ======================================================================== .\" .IX Title "EVP_SEED_CBC 3" -.TH EVP_SEED_CBC 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_SEED_CBC 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_seed_cbc, -EVP_seed_cfb, -EVP_seed_cfb128, -EVP_seed_ecb, -EVP_seed_ofb -\&\- EVP SEED cipher +EVP_seed_cbc, EVP_seed_cfb, EVP_seed_cfb128, EVP_seed_ecb, EVP_seed_ofb \&\- EVP SEED cipher .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -169,7 +164,7 @@ details of the \fB\s-1EVP_CIPHER\s0\fR structure. .IX Header "COPYRIGHT" Copyright 2017\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_seed_cfb.3 b/linux_amd64/share/man/man3/EVP_seed_cfb.3 new file mode 120000 index 0000000..aba83e2 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_seed_cfb.3 @@ -0,0 +1 @@ +EVP_seed_cbc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_seed_cfb128.3 b/linux_amd64/share/man/man3/EVP_seed_cfb128.3 new file mode 120000 index 0000000..aba83e2 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_seed_cfb128.3 @@ -0,0 +1 @@ +EVP_seed_cbc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_seed_ecb.3 b/linux_amd64/share/man/man3/EVP_seed_ecb.3 new file mode 120000 index 0000000..aba83e2 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_seed_ecb.3 @@ -0,0 +1 @@ +EVP_seed_cbc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_seed_ofb.3 b/linux_amd64/share/man/man3/EVP_seed_ofb.3 new file mode 120000 index 0000000..aba83e2 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_seed_ofb.3 @@ -0,0 +1 @@ +EVP_seed_cbc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_sha1.3 b/linux_amd64/share/man/man3/EVP_sha1.3 index de2d36d..12a3102 100755 --- a/linux_amd64/share/man/man3/EVP_sha1.3 +++ b/linux_amd64/share/man/man3/EVP_sha1.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "EVP_SHA1 3" -.TH EVP_SHA1 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_SHA1 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_sha1 -\&\- SHA\-1 For EVP +EVP_sha1 \&\- SHA\-1 For EVP .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -163,7 +162,7 @@ details of the \fB\s-1EVP_MD\s0\fR structure. .IX Header "COPYRIGHT" Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_sha224.3 b/linux_amd64/share/man/man3/EVP_sha224.3 index 4e2083f..3d239ff 100755 --- a/linux_amd64/share/man/man3/EVP_sha224.3 +++ b/linux_amd64/share/man/man3/EVP_sha224.3 @@ -124,19 +124,13 @@ .\" ======================================================================== .\" .IX Title "EVP_SHA224 3" -.TH EVP_SHA224 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_SHA224 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_sha224, -EVP_sha256, -EVP_sha512_224, -EVP_sha512_256, -EVP_sha384, -EVP_sha512 -\&\- SHA\-2 For EVP +EVP_sha224, EVP_sha256, EVP_sha512_224, EVP_sha512_256, EVP_sha384, EVP_sha512 \&\- SHA\-2 For EVP .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -178,7 +172,7 @@ details of the \fB\s-1EVP_MD\s0\fR structure. .IX Header "COPYRIGHT" Copyright 2017\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_sha256.3 b/linux_amd64/share/man/man3/EVP_sha256.3 new file mode 120000 index 0000000..1ba0ec2 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_sha256.3 @@ -0,0 +1 @@ +EVP_sha224.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_sha384.3 b/linux_amd64/share/man/man3/EVP_sha384.3 new file mode 120000 index 0000000..1ba0ec2 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_sha384.3 @@ -0,0 +1 @@ +EVP_sha224.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_sha3_224.3 b/linux_amd64/share/man/man3/EVP_sha3_224.3 index dde361e..7e97d42 100755 --- a/linux_amd64/share/man/man3/EVP_sha3_224.3 +++ b/linux_amd64/share/man/man3/EVP_sha3_224.3 @@ -124,19 +124,13 @@ .\" ======================================================================== .\" .IX Title "EVP_SHA3_224 3" -.TH EVP_SHA3_224 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_SHA3_224 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_sha3_224, -EVP_sha3_256, -EVP_sha3_384, -EVP_sha3_512, -EVP_shake128, -EVP_shake256 -\&\- SHA\-3 For EVP +EVP_sha3_224, EVP_sha3_256, EVP_sha3_384, EVP_sha3_512, EVP_shake128, EVP_shake256 \&\- SHA\-3 For EVP .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -183,7 +177,7 @@ details of the \fB\s-1EVP_MD\s0\fR structure. .IX Header "COPYRIGHT" Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_sha3_256.3 b/linux_amd64/share/man/man3/EVP_sha3_256.3 new file mode 120000 index 0000000..fb58a89 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_sha3_256.3 @@ -0,0 +1 @@ +EVP_sha3_224.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_sha3_384.3 b/linux_amd64/share/man/man3/EVP_sha3_384.3 new file mode 120000 index 0000000..fb58a89 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_sha3_384.3 @@ -0,0 +1 @@ +EVP_sha3_224.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_sha3_512.3 b/linux_amd64/share/man/man3/EVP_sha3_512.3 new file mode 120000 index 0000000..fb58a89 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_sha3_512.3 @@ -0,0 +1 @@ +EVP_sha3_224.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_sha512.3 b/linux_amd64/share/man/man3/EVP_sha512.3 new file mode 120000 index 0000000..1ba0ec2 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_sha512.3 @@ -0,0 +1 @@ +EVP_sha224.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_sha512_224.3 b/linux_amd64/share/man/man3/EVP_sha512_224.3 new file mode 120000 index 0000000..1ba0ec2 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_sha512_224.3 @@ -0,0 +1 @@ +EVP_sha224.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_sha512_256.3 b/linux_amd64/share/man/man3/EVP_sha512_256.3 new file mode 120000 index 0000000..1ba0ec2 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_sha512_256.3 @@ -0,0 +1 @@ +EVP_sha224.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_shake128.3 b/linux_amd64/share/man/man3/EVP_shake128.3 new file mode 120000 index 0000000..fb58a89 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_shake128.3 @@ -0,0 +1 @@ +EVP_sha3_224.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_shake256.3 b/linux_amd64/share/man/man3/EVP_shake256.3 new file mode 120000 index 0000000..fb58a89 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_shake256.3 @@ -0,0 +1 @@ +EVP_sha3_224.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_sm3.3 b/linux_amd64/share/man/man3/EVP_sm3.3 index 5fe265d..f5515f8 100755 --- a/linux_amd64/share/man/man3/EVP_sm3.3 +++ b/linux_amd64/share/man/man3/EVP_sm3.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "EVP_SM3 3" -.TH EVP_SM3 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_SM3 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_sm3 -\&\- SM3 for EVP +EVP_sm3 \&\- SM3 for EVP .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -163,7 +162,7 @@ details of the \fB\s-1EVP_MD\s0\fR structure. Copyright 2017\-2018 The OpenSSL Project Authors. All Rights Reserved. Copyright 2017 Ribose Inc. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_sm4_cbc.3 b/linux_amd64/share/man/man3/EVP_sm4_cbc.3 index f135964..badf633 100755 --- a/linux_amd64/share/man/man3/EVP_sm4_cbc.3 +++ b/linux_amd64/share/man/man3/EVP_sm4_cbc.3 @@ -124,19 +124,13 @@ .\" ======================================================================== .\" .IX Title "EVP_SM4_CBC 3" -.TH EVP_SM4_CBC 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_SM4_CBC 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_sm4_cbc, -EVP_sm4_ecb, -EVP_sm4_cfb, -EVP_sm4_cfb128, -EVP_sm4_ofb, -EVP_sm4_ctr -\&\- EVP SM4 cipher +EVP_sm4_cbc, EVP_sm4_ecb, EVP_sm4_cfb, EVP_sm4_cfb128, EVP_sm4_ofb, EVP_sm4_ctr \&\- EVP SM4 cipher .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -173,7 +167,7 @@ details of the \fB\s-1EVP_CIPHER\s0\fR structure. Copyright 2017\-2018 The OpenSSL Project Authors. All Rights Reserved. Copyright 2017 Ribose Inc. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EVP_sm4_cfb.3 b/linux_amd64/share/man/man3/EVP_sm4_cfb.3 new file mode 120000 index 0000000..36d7c75 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_sm4_cfb.3 @@ -0,0 +1 @@ +EVP_sm4_cbc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_sm4_cfb128.3 b/linux_amd64/share/man/man3/EVP_sm4_cfb128.3 new file mode 120000 index 0000000..36d7c75 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_sm4_cfb128.3 @@ -0,0 +1 @@ +EVP_sm4_cbc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_sm4_ctr.3 b/linux_amd64/share/man/man3/EVP_sm4_ctr.3 new file mode 120000 index 0000000..36d7c75 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_sm4_ctr.3 @@ -0,0 +1 @@ +EVP_sm4_cbc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_sm4_ecb.3 b/linux_amd64/share/man/man3/EVP_sm4_ecb.3 new file mode 120000 index 0000000..36d7c75 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_sm4_ecb.3 @@ -0,0 +1 @@ +EVP_sm4_cbc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_sm4_ofb.3 b/linux_amd64/share/man/man3/EVP_sm4_ofb.3 new file mode 120000 index 0000000..36d7c75 --- /dev/null +++ b/linux_amd64/share/man/man3/EVP_sm4_ofb.3 @@ -0,0 +1 @@ +EVP_sm4_cbc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EVP_whirlpool.3 b/linux_amd64/share/man/man3/EVP_whirlpool.3 index f406fae..df6e318 100755 --- a/linux_amd64/share/man/man3/EVP_whirlpool.3 +++ b/linux_amd64/share/man/man3/EVP_whirlpool.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "EVP_WHIRLPOOL 3" -.TH EVP_WHIRLPOOL 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP_WHIRLPOOL 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_whirlpool -\&\- WHIRLPOOL For EVP +EVP_whirlpool \&\- WHIRLPOOL For EVP .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -163,7 +162,7 @@ details of the \fB\s-1EVP_MD\s0\fR structure. .IX Header "COPYRIGHT" Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/EXTENDED_KEY_USAGE_free.3 b/linux_amd64/share/man/man3/EXTENDED_KEY_USAGE_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/EXTENDED_KEY_USAGE_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/EXTENDED_KEY_USAGE_new.3 b/linux_amd64/share/man/man3/EXTENDED_KEY_USAGE_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/EXTENDED_KEY_USAGE_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/GENERAL_NAMES_free.3 b/linux_amd64/share/man/man3/GENERAL_NAMES_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/GENERAL_NAMES_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/GENERAL_NAMES_new.3 b/linux_amd64/share/man/man3/GENERAL_NAMES_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/GENERAL_NAMES_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/GENERAL_NAME_dup.3 b/linux_amd64/share/man/man3/GENERAL_NAME_dup.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/GENERAL_NAME_dup.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/GENERAL_NAME_free.3 b/linux_amd64/share/man/man3/GENERAL_NAME_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/GENERAL_NAME_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/GENERAL_NAME_new.3 b/linux_amd64/share/man/man3/GENERAL_NAME_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/GENERAL_NAME_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/GENERAL_SUBTREE_free.3 b/linux_amd64/share/man/man3/GENERAL_SUBTREE_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/GENERAL_SUBTREE_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/GENERAL_SUBTREE_new.3 b/linux_amd64/share/man/man3/GENERAL_SUBTREE_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/GENERAL_SUBTREE_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/GEN_SESSION_CB.3 b/linux_amd64/share/man/man3/GEN_SESSION_CB.3 new file mode 120000 index 0000000..795607d --- /dev/null +++ b/linux_amd64/share/man/man3/GEN_SESSION_CB.3 @@ -0,0 +1 @@ +SSL_CTX_set_generate_session_id.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/HMAC.3 b/linux_amd64/share/man/man3/HMAC.3 index 64bce32..7fedacb 100755 --- a/linux_amd64/share/man/man3/HMAC.3 +++ b/linux_amd64/share/man/man3/HMAC.3 @@ -124,36 +124,18 @@ .\" ======================================================================== .\" .IX Title "HMAC 3" -.TH HMAC 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH HMAC 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -HMAC, -HMAC_CTX_new, -HMAC_CTX_reset, -HMAC_CTX_free, -HMAC_Init, -HMAC_Init_ex, -HMAC_Update, -HMAC_Final, -HMAC_CTX_copy, -HMAC_CTX_set_flags, -HMAC_CTX_get_md, -HMAC_size -\&\- HMAC message authentication code +HMAC, HMAC_CTX_new, HMAC_CTX_reset, HMAC_CTX_free, HMAC_Init, HMAC_Init_ex, HMAC_Update, HMAC_Final, HMAC_CTX_copy, HMAC_CTX_set_flags, HMAC_CTX_get_md, HMAC_size \&\- HMAC message authentication code .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include -.Ve -.PP -Deprecated since OpenSSL 3.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): -.PP -.Vb 3 +\& \& unsigned char *HMAC(const EVP_MD *evp_md, const void *key, \& int key_len, const unsigned char *d, int n, \& unsigned char *md, unsigned int *md_len); @@ -175,20 +157,16 @@ Deprecated since OpenSSL 3.0, can be hidden entirely by defining \& size_t HMAC_size(const HMAC_CTX *e); .Ve .PP -Deprecated since OpenSSL 1.1.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): +Deprecated: .PP -.Vb 2 +.Vb 4 +\& #if OPENSSL_API_COMPAT < 0x10100000L \& int HMAC_Init(HMAC_CTX *ctx, const void *key, int key_len, \& const EVP_MD *md); +\& #endif .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -All of the functions described on this page are deprecated. Applications should -instead use \fIEVP_MAC_CTX_new\fR\|(3), \fIEVP_MAC_CTX_free\fR\|(3), \fIEVP_MAC_init\fR\|(3), -\&\fIEVP_MAC_update\fR\|(3) and \fIEVP_MAC_final\fR\|(3). -.PP \&\s-1HMAC\s0 is a \s-1MAC\s0 (message authentication code), i.e. a keyed hash function used for message authentication, which is based on a hash function. @@ -209,7 +187,7 @@ not support variable output length digests such as \fIEVP_shake128()\fR and .PP \&\fIHMAC_CTX_new()\fR creates a new \s-1HMAC_CTX\s0 in heap memory. .PP -\&\fIHMAC_CTX_reset()\fR clears an existing \fB\s-1HMAC_CTX\s0\fR and associated +\&\fIHMAC_CTX_reset()\fR zeroes an existing \fB\s-1HMAC_CTX\s0\fR and associated resources, making it suitable for new computations as if it was newly created with \fIHMAC_CTX_new()\fR. .PP @@ -274,8 +252,6 @@ or zero on error. \&\s-1\fISHA1\s0\fR\|(3), \fIevp\fR\|(7) .SH "HISTORY" .IX Header "HISTORY" -All of these functions were deprecated in OpenSSL 3.0. -.PP \&\fIHMAC_CTX_init()\fR was replaced with \fIHMAC_CTX_reset()\fR in OpenSSL 1.1.0. .PP \&\fIHMAC_CTX_cleanup()\fR existed in OpenSSL before version 1.1.0. @@ -286,9 +262,9 @@ All of these functions were deprecated in OpenSSL 3.0. OpenSSL before version 1.0.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/HMAC_CTX_copy.3 b/linux_amd64/share/man/man3/HMAC_CTX_copy.3 new file mode 120000 index 0000000..7f93ade --- /dev/null +++ b/linux_amd64/share/man/man3/HMAC_CTX_copy.3 @@ -0,0 +1 @@ +HMAC.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/HMAC_CTX_free.3 b/linux_amd64/share/man/man3/HMAC_CTX_free.3 new file mode 120000 index 0000000..7f93ade --- /dev/null +++ b/linux_amd64/share/man/man3/HMAC_CTX_free.3 @@ -0,0 +1 @@ +HMAC.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/HMAC_CTX_get_md.3 b/linux_amd64/share/man/man3/HMAC_CTX_get_md.3 new file mode 120000 index 0000000..7f93ade --- /dev/null +++ b/linux_amd64/share/man/man3/HMAC_CTX_get_md.3 @@ -0,0 +1 @@ +HMAC.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/HMAC_CTX_new.3 b/linux_amd64/share/man/man3/HMAC_CTX_new.3 new file mode 120000 index 0000000..7f93ade --- /dev/null +++ b/linux_amd64/share/man/man3/HMAC_CTX_new.3 @@ -0,0 +1 @@ +HMAC.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/HMAC_CTX_reset.3 b/linux_amd64/share/man/man3/HMAC_CTX_reset.3 new file mode 120000 index 0000000..7f93ade --- /dev/null +++ b/linux_amd64/share/man/man3/HMAC_CTX_reset.3 @@ -0,0 +1 @@ +HMAC.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/HMAC_CTX_set_flags.3 b/linux_amd64/share/man/man3/HMAC_CTX_set_flags.3 new file mode 120000 index 0000000..7f93ade --- /dev/null +++ b/linux_amd64/share/man/man3/HMAC_CTX_set_flags.3 @@ -0,0 +1 @@ +HMAC.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/HMAC_Final.3 b/linux_amd64/share/man/man3/HMAC_Final.3 new file mode 120000 index 0000000..7f93ade --- /dev/null +++ b/linux_amd64/share/man/man3/HMAC_Final.3 @@ -0,0 +1 @@ +HMAC.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/HMAC_Init.3 b/linux_amd64/share/man/man3/HMAC_Init.3 new file mode 120000 index 0000000..7f93ade --- /dev/null +++ b/linux_amd64/share/man/man3/HMAC_Init.3 @@ -0,0 +1 @@ +HMAC.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/HMAC_Init_ex.3 b/linux_amd64/share/man/man3/HMAC_Init_ex.3 new file mode 120000 index 0000000..7f93ade --- /dev/null +++ b/linux_amd64/share/man/man3/HMAC_Init_ex.3 @@ -0,0 +1 @@ +HMAC.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/HMAC_Update.3 b/linux_amd64/share/man/man3/HMAC_Update.3 new file mode 120000 index 0000000..7f93ade --- /dev/null +++ b/linux_amd64/share/man/man3/HMAC_Update.3 @@ -0,0 +1 @@ +HMAC.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/HMAC_size.3 b/linux_amd64/share/man/man3/HMAC_size.3 new file mode 120000 index 0000000..7f93ade --- /dev/null +++ b/linux_amd64/share/man/man3/HMAC_size.3 @@ -0,0 +1 @@ +HMAC.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/IMPLEMENT_ASN1_FUNCTIONS.3 b/linux_amd64/share/man/man3/IMPLEMENT_ASN1_FUNCTIONS.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/IMPLEMENT_ASN1_FUNCTIONS.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/IMPLEMENT_LHASH_COMP_FN.3 b/linux_amd64/share/man/man3/IMPLEMENT_LHASH_COMP_FN.3 new file mode 120000 index 0000000..bad6292 --- /dev/null +++ b/linux_amd64/share/man/man3/IMPLEMENT_LHASH_COMP_FN.3 @@ -0,0 +1 @@ +OPENSSL_LH_COMPFUNC.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/IMPLEMENT_LHASH_HASH_FN.3 b/linux_amd64/share/man/man3/IMPLEMENT_LHASH_HASH_FN.3 new file mode 120000 index 0000000..bad6292 --- /dev/null +++ b/linux_amd64/share/man/man3/IMPLEMENT_LHASH_HASH_FN.3 @@ -0,0 +1 @@ +OPENSSL_LH_COMPFUNC.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/IPAddressChoice_free.3 b/linux_amd64/share/man/man3/IPAddressChoice_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/IPAddressChoice_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/IPAddressChoice_new.3 b/linux_amd64/share/man/man3/IPAddressChoice_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/IPAddressChoice_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/IPAddressFamily_free.3 b/linux_amd64/share/man/man3/IPAddressFamily_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/IPAddressFamily_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/IPAddressFamily_new.3 b/linux_amd64/share/man/man3/IPAddressFamily_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/IPAddressFamily_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/IPAddressOrRange_free.3 b/linux_amd64/share/man/man3/IPAddressOrRange_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/IPAddressOrRange_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/IPAddressOrRange_new.3 b/linux_amd64/share/man/man3/IPAddressOrRange_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/IPAddressOrRange_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/IPAddressRange_free.3 b/linux_amd64/share/man/man3/IPAddressRange_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/IPAddressRange_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/IPAddressRange_new.3 b/linux_amd64/share/man/man3/IPAddressRange_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/IPAddressRange_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ISSUING_DIST_POINT_free.3 b/linux_amd64/share/man/man3/ISSUING_DIST_POINT_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/ISSUING_DIST_POINT_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ISSUING_DIST_POINT_new.3 b/linux_amd64/share/man/man3/ISSUING_DIST_POINT_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/ISSUING_DIST_POINT_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/LHASH.3 b/linux_amd64/share/man/man3/LHASH.3 new file mode 120000 index 0000000..bad6292 --- /dev/null +++ b/linux_amd64/share/man/man3/LHASH.3 @@ -0,0 +1 @@ +OPENSSL_LH_COMPFUNC.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/LHASH_DOALL_ARG_FN_TYPE.3 b/linux_amd64/share/man/man3/LHASH_DOALL_ARG_FN_TYPE.3 new file mode 120000 index 0000000..bad6292 --- /dev/null +++ b/linux_amd64/share/man/man3/LHASH_DOALL_ARG_FN_TYPE.3 @@ -0,0 +1 @@ +OPENSSL_LH_COMPFUNC.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/MD2.3 b/linux_amd64/share/man/man3/MD2.3 new file mode 120000 index 0000000..cd8715a --- /dev/null +++ b/linux_amd64/share/man/man3/MD2.3 @@ -0,0 +1 @@ +MD5.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/MD2_Final.3 b/linux_amd64/share/man/man3/MD2_Final.3 new file mode 120000 index 0000000..cd8715a --- /dev/null +++ b/linux_amd64/share/man/man3/MD2_Final.3 @@ -0,0 +1 @@ +MD5.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/MD2_Init.3 b/linux_amd64/share/man/man3/MD2_Init.3 new file mode 120000 index 0000000..cd8715a --- /dev/null +++ b/linux_amd64/share/man/man3/MD2_Init.3 @@ -0,0 +1 @@ +MD5.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/MD2_Update.3 b/linux_amd64/share/man/man3/MD2_Update.3 new file mode 120000 index 0000000..cd8715a --- /dev/null +++ b/linux_amd64/share/man/man3/MD2_Update.3 @@ -0,0 +1 @@ +MD5.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/MD4.3 b/linux_amd64/share/man/man3/MD4.3 new file mode 120000 index 0000000..cd8715a --- /dev/null +++ b/linux_amd64/share/man/man3/MD4.3 @@ -0,0 +1 @@ +MD5.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/MD4_Final.3 b/linux_amd64/share/man/man3/MD4_Final.3 new file mode 120000 index 0000000..cd8715a --- /dev/null +++ b/linux_amd64/share/man/man3/MD4_Final.3 @@ -0,0 +1 @@ +MD5.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/MD4_Init.3 b/linux_amd64/share/man/man3/MD4_Init.3 new file mode 120000 index 0000000..cd8715a --- /dev/null +++ b/linux_amd64/share/man/man3/MD4_Init.3 @@ -0,0 +1 @@ +MD5.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/MD4_Update.3 b/linux_amd64/share/man/man3/MD4_Update.3 new file mode 120000 index 0000000..cd8715a --- /dev/null +++ b/linux_amd64/share/man/man3/MD4_Update.3 @@ -0,0 +1 @@ +MD5.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/MD5.3 b/linux_amd64/share/man/man3/MD5.3 index 2facb70..1a28f6a 100755 --- a/linux_amd64/share/man/man3/MD5.3 +++ b/linux_amd64/share/man/man3/MD5.3 @@ -124,25 +124,18 @@ .\" ======================================================================== .\" .IX Title "MD5 3" -.TH MD5 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH MD5 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -MD2, MD4, MD5, MD2_Init, MD2_Update, MD2_Final, MD4_Init, MD4_Update, -MD4_Final, MD5_Init, MD5_Update, MD5_Final \- MD2, MD4, and MD5 hash functions +MD2, MD4, MD5, MD2_Init, MD2_Update, MD2_Final, MD4_Init, MD4_Update, MD4_Final, MD5_Init, MD5_Update, MD5_Final \- MD2, MD4, and MD5 hash functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include -.Ve -.PP -Deprecated since OpenSSL 3.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): -.PP -.Vb 1 +\& \& unsigned char *MD2(const unsigned char *d, unsigned long n, unsigned char *md); \& \& int MD2_Init(MD2_CTX *c); @@ -151,13 +144,7 @@ Deprecated since OpenSSL 3.0, can be hidden entirely by defining \& \& \& #include -.Ve -.PP -Deprecated since OpenSSL 3.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): -.PP -.Vb 1 +\& \& unsigned char *MD4(const unsigned char *d, unsigned long n, unsigned char *md); \& \& int MD4_Init(MD4_CTX *c); @@ -166,13 +153,7 @@ Deprecated since OpenSSL 3.0, can be hidden entirely by defining \& \& \& #include -.Ve -.PP -Deprecated since OpenSSL 3.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): -.PP -.Vb 1 +\& \& unsigned char *MD5(const unsigned char *d, unsigned long n, unsigned char *md); \& \& int MD5_Init(MD5_CTX *c); @@ -181,10 +162,6 @@ Deprecated since OpenSSL 3.0, can be hidden entirely by defining .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -All of the functions described on this page are deprecated. -Applications should instead use \fIEVP_DigestInit_ex\fR\|(3), \fIEVP_DigestUpdate\fR\|(3) -and \fIEVP_DigestFinal_ex\fR\|(3). -.PP \&\s-1MD2\s0, \s-1MD4\s0, and \s-1MD5\s0 are cryptographic hash functions with a 128 bit output. .PP \&\s-1\fIMD2\s0()\fR, \s-1\fIMD4\s0()\fR, and \s-1\fIMD5\s0()\fR compute the \s-1MD2\s0, \s-1MD4\s0, and \s-1MD5\s0 message digest @@ -228,14 +205,11 @@ success, 0 otherwise. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIEVP_DigestInit\fR\|(3) -.SH "HISTORY" -.IX Header "HISTORY" -All of these functions were deprecated in OpenSSL 3.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/MD5_Final.3 b/linux_amd64/share/man/man3/MD5_Final.3 new file mode 120000 index 0000000..cd8715a --- /dev/null +++ b/linux_amd64/share/man/man3/MD5_Final.3 @@ -0,0 +1 @@ +MD5.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/MD5_Init.3 b/linux_amd64/share/man/man3/MD5_Init.3 new file mode 120000 index 0000000..cd8715a --- /dev/null +++ b/linux_amd64/share/man/man3/MD5_Init.3 @@ -0,0 +1 @@ +MD5.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/MD5_Update.3 b/linux_amd64/share/man/man3/MD5_Update.3 new file mode 120000 index 0000000..cd8715a --- /dev/null +++ b/linux_amd64/share/man/man3/MD5_Update.3 @@ -0,0 +1 @@ +MD5.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/MDC2.3 b/linux_amd64/share/man/man3/MDC2.3 new file mode 120000 index 0000000..21530fd --- /dev/null +++ b/linux_amd64/share/man/man3/MDC2.3 @@ -0,0 +1 @@ +MDC2_Init.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/MDC2_Final.3 b/linux_amd64/share/man/man3/MDC2_Final.3 new file mode 120000 index 0000000..21530fd --- /dev/null +++ b/linux_amd64/share/man/man3/MDC2_Final.3 @@ -0,0 +1 @@ +MDC2_Init.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/MDC2_Init.3 b/linux_amd64/share/man/man3/MDC2_Init.3 index ae51356..fe70a2b 100755 --- a/linux_amd64/share/man/man3/MDC2_Init.3 +++ b/linux_amd64/share/man/man3/MDC2_Init.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "MDC2_INIT 3" -.TH MDC2_INIT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH MDC2_INIT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -135,13 +135,7 @@ MDC2, MDC2_Init, MDC2_Update, MDC2_Final \- MDC2 hash function .IX Header "SYNOPSIS" .Vb 1 \& #include -.Ve -.PP -Deprecated since OpenSSL 3.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): -.PP -.Vb 2 +\& \& unsigned char *MDC2(const unsigned char *d, unsigned long n, \& unsigned char *md); \& @@ -152,10 +146,6 @@ Deprecated since OpenSSL 3.0, can be hidden entirely by defining .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -All of the functions described on this page are deprecated. -Applications should instead use \fIEVP_DigestInit_ex\fR\|(3), \fIEVP_DigestUpdate\fR\|(3) -and \fIEVP_DigestFinal_ex\fR\|(3). -.PP \&\s-1MDC2\s0 is a method to construct hash functions with 128 bit output from block ciphers. These functions are an implementation of \s-1MDC2\s0 with \&\s-1DES\s0. @@ -190,14 +180,11 @@ hash functions directly. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIEVP_DigestInit\fR\|(3) -.SH "HISTORY" -.IX Header "HISTORY" -All of these functions were deprecated in OpenSSL 3.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2000\-2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/MDC2_Update.3 b/linux_amd64/share/man/man3/MDC2_Update.3 new file mode 120000 index 0000000..21530fd --- /dev/null +++ b/linux_amd64/share/man/man3/MDC2_Update.3 @@ -0,0 +1 @@ +MDC2_Init.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/NAME_CONSTRAINTS_free.3 b/linux_amd64/share/man/man3/NAME_CONSTRAINTS_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/NAME_CONSTRAINTS_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/NAME_CONSTRAINTS_new.3 b/linux_amd64/share/man/man3/NAME_CONSTRAINTS_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/NAME_CONSTRAINTS_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/NAMING_AUTHORITY.3 b/linux_amd64/share/man/man3/NAMING_AUTHORITY.3 new file mode 120000 index 0000000..86f1944 --- /dev/null +++ b/linux_amd64/share/man/man3/NAMING_AUTHORITY.3 @@ -0,0 +1 @@ +ADMISSIONS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/NAMING_AUTHORITY_free.3 b/linux_amd64/share/man/man3/NAMING_AUTHORITY_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/NAMING_AUTHORITY_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/NAMING_AUTHORITY_get0_authorityId.3 b/linux_amd64/share/man/man3/NAMING_AUTHORITY_get0_authorityId.3 new file mode 120000 index 0000000..86f1944 --- /dev/null +++ b/linux_amd64/share/man/man3/NAMING_AUTHORITY_get0_authorityId.3 @@ -0,0 +1 @@ +ADMISSIONS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/NAMING_AUTHORITY_get0_authorityText.3 b/linux_amd64/share/man/man3/NAMING_AUTHORITY_get0_authorityText.3 new file mode 120000 index 0000000..86f1944 --- /dev/null +++ b/linux_amd64/share/man/man3/NAMING_AUTHORITY_get0_authorityText.3 @@ -0,0 +1 @@ +ADMISSIONS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/NAMING_AUTHORITY_get0_authorityURL.3 b/linux_amd64/share/man/man3/NAMING_AUTHORITY_get0_authorityURL.3 new file mode 120000 index 0000000..86f1944 --- /dev/null +++ b/linux_amd64/share/man/man3/NAMING_AUTHORITY_get0_authorityURL.3 @@ -0,0 +1 @@ +ADMISSIONS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/NAMING_AUTHORITY_new.3 b/linux_amd64/share/man/man3/NAMING_AUTHORITY_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/NAMING_AUTHORITY_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/NAMING_AUTHORITY_set0_authorityId.3 b/linux_amd64/share/man/man3/NAMING_AUTHORITY_set0_authorityId.3 new file mode 120000 index 0000000..86f1944 --- /dev/null +++ b/linux_amd64/share/man/man3/NAMING_AUTHORITY_set0_authorityId.3 @@ -0,0 +1 @@ +ADMISSIONS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/NAMING_AUTHORITY_set0_authorityText.3 b/linux_amd64/share/man/man3/NAMING_AUTHORITY_set0_authorityText.3 new file mode 120000 index 0000000..86f1944 --- /dev/null +++ b/linux_amd64/share/man/man3/NAMING_AUTHORITY_set0_authorityText.3 @@ -0,0 +1 @@ +ADMISSIONS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/NAMING_AUTHORITY_set0_authorityURL.3 b/linux_amd64/share/man/man3/NAMING_AUTHORITY_set0_authorityURL.3 new file mode 120000 index 0000000..86f1944 --- /dev/null +++ b/linux_amd64/share/man/man3/NAMING_AUTHORITY_set0_authorityURL.3 @@ -0,0 +1 @@ +ADMISSIONS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/NETSCAPE_CERT_SEQUENCE_free.3 b/linux_amd64/share/man/man3/NETSCAPE_CERT_SEQUENCE_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/NETSCAPE_CERT_SEQUENCE_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/NETSCAPE_CERT_SEQUENCE_new.3 b/linux_amd64/share/man/man3/NETSCAPE_CERT_SEQUENCE_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/NETSCAPE_CERT_SEQUENCE_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/NETSCAPE_SPKAC_free.3 b/linux_amd64/share/man/man3/NETSCAPE_SPKAC_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/NETSCAPE_SPKAC_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/NETSCAPE_SPKAC_new.3 b/linux_amd64/share/man/man3/NETSCAPE_SPKAC_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/NETSCAPE_SPKAC_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/NETSCAPE_SPKI_free.3 b/linux_amd64/share/man/man3/NETSCAPE_SPKI_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/NETSCAPE_SPKI_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/NETSCAPE_SPKI_new.3 b/linux_amd64/share/man/man3/NETSCAPE_SPKI_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/NETSCAPE_SPKI_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/NOTICEREF_free.3 b/linux_amd64/share/man/man3/NOTICEREF_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/NOTICEREF_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/NOTICEREF_new.3 b/linux_amd64/share/man/man3/NOTICEREF_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/NOTICEREF_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OBJ_cleanup.3 b/linux_amd64/share/man/man3/OBJ_cleanup.3 new file mode 120000 index 0000000..ab5e22e --- /dev/null +++ b/linux_amd64/share/man/man3/OBJ_cleanup.3 @@ -0,0 +1 @@ +OBJ_nid2obj.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OBJ_cmp.3 b/linux_amd64/share/man/man3/OBJ_cmp.3 new file mode 120000 index 0000000..ab5e22e --- /dev/null +++ b/linux_amd64/share/man/man3/OBJ_cmp.3 @@ -0,0 +1 @@ +OBJ_nid2obj.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OBJ_create.3 b/linux_amd64/share/man/man3/OBJ_create.3 new file mode 120000 index 0000000..ab5e22e --- /dev/null +++ b/linux_amd64/share/man/man3/OBJ_create.3 @@ -0,0 +1 @@ +OBJ_nid2obj.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OBJ_dup.3 b/linux_amd64/share/man/man3/OBJ_dup.3 new file mode 120000 index 0000000..ab5e22e --- /dev/null +++ b/linux_amd64/share/man/man3/OBJ_dup.3 @@ -0,0 +1 @@ +OBJ_nid2obj.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OBJ_get0_data.3 b/linux_amd64/share/man/man3/OBJ_get0_data.3 new file mode 120000 index 0000000..ab5e22e --- /dev/null +++ b/linux_amd64/share/man/man3/OBJ_get0_data.3 @@ -0,0 +1 @@ +OBJ_nid2obj.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OBJ_length.3 b/linux_amd64/share/man/man3/OBJ_length.3 new file mode 120000 index 0000000..ab5e22e --- /dev/null +++ b/linux_amd64/share/man/man3/OBJ_length.3 @@ -0,0 +1 @@ +OBJ_nid2obj.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OBJ_ln2nid.3 b/linux_amd64/share/man/man3/OBJ_ln2nid.3 new file mode 120000 index 0000000..ab5e22e --- /dev/null +++ b/linux_amd64/share/man/man3/OBJ_ln2nid.3 @@ -0,0 +1 @@ +OBJ_nid2obj.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OBJ_nid2ln.3 b/linux_amd64/share/man/man3/OBJ_nid2ln.3 new file mode 120000 index 0000000..ab5e22e --- /dev/null +++ b/linux_amd64/share/man/man3/OBJ_nid2ln.3 @@ -0,0 +1 @@ +OBJ_nid2obj.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OBJ_nid2obj.3 b/linux_amd64/share/man/man3/OBJ_nid2obj.3 index 1eca971..4c20371 100755 --- a/linux_amd64/share/man/man3/OBJ_nid2obj.3 +++ b/linux_amd64/share/man/man3/OBJ_nid2obj.3 @@ -124,17 +124,13 @@ .\" ======================================================================== .\" .IX Title "OBJ_NID2OBJ 3" -.TH OBJ_NID2OBJ 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH OBJ_NID2OBJ 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -i2t_ASN1_OBJECT, -OBJ_length, OBJ_get0_data, OBJ_nid2obj, OBJ_nid2ln, -OBJ_nid2sn, OBJ_obj2nid, OBJ_txt2nid, OBJ_ln2nid, OBJ_sn2nid, OBJ_cmp, -OBJ_dup, OBJ_txt2obj, OBJ_obj2txt, OBJ_create, OBJ_cleanup -\&\- ASN1 object utility functions +i2t_ASN1_OBJECT, OBJ_length, OBJ_get0_data, OBJ_nid2obj, OBJ_nid2ln, OBJ_nid2sn, OBJ_obj2nid, OBJ_txt2nid, OBJ_ln2nid, OBJ_sn2nid, OBJ_cmp, OBJ_dup, OBJ_txt2obj, OBJ_obj2txt, OBJ_create, OBJ_cleanup \&\- ASN1 object utility functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -164,12 +160,12 @@ OBJ_dup, OBJ_txt2obj, OBJ_obj2txt, OBJ_create, OBJ_cleanup \& const unsigned char *OBJ_get0_data(const ASN1_OBJECT *obj); .Ve .PP -Deprecated since OpenSSL 1.1.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): +Deprecated: .PP -.Vb 1 +.Vb 3 +\& #if OPENSSL_API_COMPAT < 0x10100000L \& void OBJ_cleanup(void) +\& #endif .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" @@ -314,9 +310,9 @@ than enough to handle any \s-1OID\s0 encountered in practice. and should not be used. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2002\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2002\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/OBJ_nid2sn.3 b/linux_amd64/share/man/man3/OBJ_nid2sn.3 new file mode 120000 index 0000000..ab5e22e --- /dev/null +++ b/linux_amd64/share/man/man3/OBJ_nid2sn.3 @@ -0,0 +1 @@ +OBJ_nid2obj.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OBJ_obj2nid.3 b/linux_amd64/share/man/man3/OBJ_obj2nid.3 new file mode 120000 index 0000000..ab5e22e --- /dev/null +++ b/linux_amd64/share/man/man3/OBJ_obj2nid.3 @@ -0,0 +1 @@ +OBJ_nid2obj.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OBJ_obj2txt.3 b/linux_amd64/share/man/man3/OBJ_obj2txt.3 new file mode 120000 index 0000000..ab5e22e --- /dev/null +++ b/linux_amd64/share/man/man3/OBJ_obj2txt.3 @@ -0,0 +1 @@ +OBJ_nid2obj.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OBJ_sn2nid.3 b/linux_amd64/share/man/man3/OBJ_sn2nid.3 new file mode 120000 index 0000000..ab5e22e --- /dev/null +++ b/linux_amd64/share/man/man3/OBJ_sn2nid.3 @@ -0,0 +1 @@ +OBJ_nid2obj.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OBJ_txt2nid.3 b/linux_amd64/share/man/man3/OBJ_txt2nid.3 new file mode 120000 index 0000000..ab5e22e --- /dev/null +++ b/linux_amd64/share/man/man3/OBJ_txt2nid.3 @@ -0,0 +1 @@ +OBJ_nid2obj.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OBJ_txt2obj.3 b/linux_amd64/share/man/man3/OBJ_txt2obj.3 new file mode 120000 index 0000000..ab5e22e --- /dev/null +++ b/linux_amd64/share/man/man3/OBJ_txt2obj.3 @@ -0,0 +1 @@ +OBJ_nid2obj.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_BASICRESP_free.3 b/linux_amd64/share/man/man3/OCSP_BASICRESP_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_BASICRESP_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_BASICRESP_new.3 b/linux_amd64/share/man/man3/OCSP_BASICRESP_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_BASICRESP_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_CERTID_dup.3 b/linux_amd64/share/man/man3/OCSP_CERTID_dup.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_CERTID_dup.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_CERTID_free.3 b/linux_amd64/share/man/man3/OCSP_CERTID_free.3 new file mode 120000 index 0000000..519a121 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_CERTID_free.3 @@ -0,0 +1 @@ +OCSP_cert_to_id.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_CERTID_new.3 b/linux_amd64/share/man/man3/OCSP_CERTID_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_CERTID_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_CERTSTATUS_free.3 b/linux_amd64/share/man/man3/OCSP_CERTSTATUS_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_CERTSTATUS_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_CERTSTATUS_new.3 b/linux_amd64/share/man/man3/OCSP_CERTSTATUS_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_CERTSTATUS_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_CRLID_free.3 b/linux_amd64/share/man/man3/OCSP_CRLID_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_CRLID_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_CRLID_new.3 b/linux_amd64/share/man/man3/OCSP_CRLID_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_CRLID_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_ONEREQ_free.3 b/linux_amd64/share/man/man3/OCSP_ONEREQ_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_ONEREQ_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_ONEREQ_new.3 b/linux_amd64/share/man/man3/OCSP_ONEREQ_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_ONEREQ_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_REQINFO_free.3 b/linux_amd64/share/man/man3/OCSP_REQINFO_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_REQINFO_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_REQINFO_new.3 b/linux_amd64/share/man/man3/OCSP_REQINFO_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_REQINFO_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_REQUEST_free.3 b/linux_amd64/share/man/man3/OCSP_REQUEST_free.3 new file mode 120000 index 0000000..c4eb6e8 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_REQUEST_free.3 @@ -0,0 +1 @@ +OCSP_REQUEST_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_REQUEST_new.3 b/linux_amd64/share/man/man3/OCSP_REQUEST_new.3 index c21456f..2174772 100755 --- a/linux_amd64/share/man/man3/OCSP_REQUEST_new.3 +++ b/linux_amd64/share/man/man3/OCSP_REQUEST_new.3 @@ -124,15 +124,13 @@ .\" ======================================================================== .\" .IX Title "OCSP_REQUEST_NEW 3" -.TH OCSP_REQUEST_NEW 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH OCSP_REQUEST_NEW 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -OCSP_REQUEST_new, OCSP_REQUEST_free, OCSP_request_add0_id, OCSP_request_sign, -OCSP_request_add1_cert, OCSP_request_onereq_count, -OCSP_request_onereq_get0 \- OCSP request functions +OCSP_REQUEST_new, OCSP_REQUEST_free, OCSP_request_add0_id, OCSP_request_sign, OCSP_request_add1_cert, OCSP_request_onereq_count, OCSP_request_onereq_get0 \- OCSP request functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -233,9 +231,9 @@ Create an \fB\s-1OCSP_REQUEST\s0\fR structure for certificate \fBcert\fR with is \&\fIOCSP_sendreq_new\fR\|(3) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2015\-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2015\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/OCSP_REQ_CTX_add1_header.3 b/linux_amd64/share/man/man3/OCSP_REQ_CTX_add1_header.3 new file mode 120000 index 0000000..f4df841 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_REQ_CTX_add1_header.3 @@ -0,0 +1 @@ +OCSP_sendreq_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_REQ_CTX_free.3 b/linux_amd64/share/man/man3/OCSP_REQ_CTX_free.3 new file mode 120000 index 0000000..f4df841 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_REQ_CTX_free.3 @@ -0,0 +1 @@ +OCSP_sendreq_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_REQ_CTX_set1_req.3 b/linux_amd64/share/man/man3/OCSP_REQ_CTX_set1_req.3 new file mode 120000 index 0000000..f4df841 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_REQ_CTX_set1_req.3 @@ -0,0 +1 @@ +OCSP_sendreq_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_RESPBYTES_free.3 b/linux_amd64/share/man/man3/OCSP_RESPBYTES_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_RESPBYTES_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_RESPBYTES_new.3 b/linux_amd64/share/man/man3/OCSP_RESPBYTES_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_RESPBYTES_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_RESPDATA_free.3 b/linux_amd64/share/man/man3/OCSP_RESPDATA_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_RESPDATA_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_RESPDATA_new.3 b/linux_amd64/share/man/man3/OCSP_RESPDATA_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_RESPDATA_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_RESPID_free.3 b/linux_amd64/share/man/man3/OCSP_RESPID_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_RESPID_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_RESPID_match.3 b/linux_amd64/share/man/man3/OCSP_RESPID_match.3 new file mode 120000 index 0000000..8700999 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_RESPID_match.3 @@ -0,0 +1 @@ +OCSP_response_status.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_RESPID_new.3 b/linux_amd64/share/man/man3/OCSP_RESPID_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_RESPID_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_RESPID_set_by_key.3 b/linux_amd64/share/man/man3/OCSP_RESPID_set_by_key.3 new file mode 120000 index 0000000..8700999 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_RESPID_set_by_key.3 @@ -0,0 +1 @@ +OCSP_response_status.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_RESPID_set_by_name.3 b/linux_amd64/share/man/man3/OCSP_RESPID_set_by_name.3 new file mode 120000 index 0000000..8700999 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_RESPID_set_by_name.3 @@ -0,0 +1 @@ +OCSP_response_status.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_RESPONSE_free.3 b/linux_amd64/share/man/man3/OCSP_RESPONSE_free.3 new file mode 120000 index 0000000..8700999 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_RESPONSE_free.3 @@ -0,0 +1 @@ +OCSP_response_status.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_RESPONSE_new.3 b/linux_amd64/share/man/man3/OCSP_RESPONSE_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_RESPONSE_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_REVOKEDINFO_free.3 b/linux_amd64/share/man/man3/OCSP_REVOKEDINFO_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_REVOKEDINFO_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_REVOKEDINFO_new.3 b/linux_amd64/share/man/man3/OCSP_REVOKEDINFO_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_REVOKEDINFO_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_SERVICELOC_free.3 b/linux_amd64/share/man/man3/OCSP_SERVICELOC_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_SERVICELOC_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_SERVICELOC_new.3 b/linux_amd64/share/man/man3/OCSP_SERVICELOC_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_SERVICELOC_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_SIGNATURE_free.3 b/linux_amd64/share/man/man3/OCSP_SIGNATURE_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_SIGNATURE_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_SIGNATURE_new.3 b/linux_amd64/share/man/man3/OCSP_SIGNATURE_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_SIGNATURE_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_SINGLERESP_free.3 b/linux_amd64/share/man/man3/OCSP_SINGLERESP_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_SINGLERESP_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_SINGLERESP_new.3 b/linux_amd64/share/man/man3/OCSP_SINGLERESP_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_SINGLERESP_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_basic_add1_nonce.3 b/linux_amd64/share/man/man3/OCSP_basic_add1_nonce.3 new file mode 120000 index 0000000..3104953 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_basic_add1_nonce.3 @@ -0,0 +1 @@ +OCSP_request_add1_nonce.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_basic_sign.3 b/linux_amd64/share/man/man3/OCSP_basic_sign.3 new file mode 120000 index 0000000..8700999 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_basic_sign.3 @@ -0,0 +1 @@ +OCSP_response_status.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_basic_sign_ctx.3 b/linux_amd64/share/man/man3/OCSP_basic_sign_ctx.3 new file mode 120000 index 0000000..8700999 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_basic_sign_ctx.3 @@ -0,0 +1 @@ +OCSP_response_status.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_basic_verify.3 b/linux_amd64/share/man/man3/OCSP_basic_verify.3 new file mode 120000 index 0000000..00b060a --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_basic_verify.3 @@ -0,0 +1 @@ +OCSP_resp_find_status.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_cert_id_new.3 b/linux_amd64/share/man/man3/OCSP_cert_id_new.3 new file mode 120000 index 0000000..519a121 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_cert_id_new.3 @@ -0,0 +1 @@ +OCSP_cert_to_id.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_cert_to_id.3 b/linux_amd64/share/man/man3/OCSP_cert_to_id.3 index 8122390..906c8d9 100755 --- a/linux_amd64/share/man/man3/OCSP_cert_to_id.3 +++ b/linux_amd64/share/man/man3/OCSP_cert_to_id.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "OCSP_CERT_TO_ID 3" -.TH OCSP_CERT_TO_ID 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH OCSP_CERT_TO_ID 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -OCSP_cert_to_id, OCSP_cert_id_new, OCSP_CERTID_free, OCSP_id_issuer_cmp, -OCSP_id_cmp, OCSP_id_get0_info \- OCSP certificate ID utility functions +OCSP_cert_to_id, OCSP_cert_id_new, OCSP_CERTID_free, OCSP_id_issuer_cmp, OCSP_id_cmp, OCSP_id_get0_info \- OCSP certificate ID utility functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -178,7 +177,7 @@ corresponding parameter can be set to \fB\s-1NULL\s0\fR. \&\fIOCSP_cert_to_id()\fR and \fIOCSP_cert_id_new()\fR return either a pointer to a valid \&\fB\s-1OCSP_CERTID\s0\fR structure or \fB\s-1NULL\s0\fR if an error occurred. .PP -\&\fIOCSP_id_cmp()\fR and \fIOCSP_id_issuer_cmp()\fR returns zero for a match and nonzero +\&\fIOCSP_id_cmp()\fR and \fIOCSP_id_issuer_cmp()\fR returns zero for a match and non-zero otherwise. .PP \&\fIOCSP_CERTID_free()\fR does not return a value. @@ -202,9 +201,9 @@ The values returned by \fIOCSP_id_get0_info()\fR are internal pointers and \fB\s \&\fIOCSP_sendreq_new\fR\|(3) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2015\-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2015\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/OCSP_check_nonce.3 b/linux_amd64/share/man/man3/OCSP_check_nonce.3 new file mode 120000 index 0000000..3104953 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_check_nonce.3 @@ -0,0 +1 @@ +OCSP_request_add1_nonce.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_check_validity.3 b/linux_amd64/share/man/man3/OCSP_check_validity.3 new file mode 120000 index 0000000..00b060a --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_check_validity.3 @@ -0,0 +1 @@ +OCSP_resp_find_status.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_copy_nonce.3 b/linux_amd64/share/man/man3/OCSP_copy_nonce.3 new file mode 120000 index 0000000..3104953 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_copy_nonce.3 @@ -0,0 +1 @@ +OCSP_request_add1_nonce.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_id_cmp.3 b/linux_amd64/share/man/man3/OCSP_id_cmp.3 new file mode 120000 index 0000000..519a121 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_id_cmp.3 @@ -0,0 +1 @@ +OCSP_cert_to_id.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_id_get0_info.3 b/linux_amd64/share/man/man3/OCSP_id_get0_info.3 new file mode 120000 index 0000000..519a121 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_id_get0_info.3 @@ -0,0 +1 @@ +OCSP_cert_to_id.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_id_issuer_cmp.3 b/linux_amd64/share/man/man3/OCSP_id_issuer_cmp.3 new file mode 120000 index 0000000..519a121 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_id_issuer_cmp.3 @@ -0,0 +1 @@ +OCSP_cert_to_id.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_request_add0_id.3 b/linux_amd64/share/man/man3/OCSP_request_add0_id.3 new file mode 120000 index 0000000..c4eb6e8 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_request_add0_id.3 @@ -0,0 +1 @@ +OCSP_REQUEST_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_request_add1_cert.3 b/linux_amd64/share/man/man3/OCSP_request_add1_cert.3 new file mode 120000 index 0000000..c4eb6e8 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_request_add1_cert.3 @@ -0,0 +1 @@ +OCSP_REQUEST_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_request_add1_nonce.3 b/linux_amd64/share/man/man3/OCSP_request_add1_nonce.3 index 15a9966..7da69b4 100755 --- a/linux_amd64/share/man/man3/OCSP_request_add1_nonce.3 +++ b/linux_amd64/share/man/man3/OCSP_request_add1_nonce.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "OCSP_REQUEST_ADD1_NONCE 3" -.TH OCSP_REQUEST_ADD1_NONCE 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH OCSP_REQUEST_ADD1_NONCE 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -183,7 +183,7 @@ performance reasons. As a result they do not support nonces. .PP The return values of \fIOCSP_check_nonce()\fR can be checked to cover each case. A positive return value effectively indicates success: nonces are both present -and match, both absent or present in the response only. A nonzero return +and match, both absent or present in the response only. A non-zero return additionally covers the case where the nonce is present in the request only: this will happen if the responder doesn't support nonces. A zero return value indicates present and mismatched nonces: this should be treated as an error @@ -200,7 +200,7 @@ condition. .IX Header "COPYRIGHT" Copyright 2015\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/OCSP_request_onereq_count.3 b/linux_amd64/share/man/man3/OCSP_request_onereq_count.3 new file mode 120000 index 0000000..c4eb6e8 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_request_onereq_count.3 @@ -0,0 +1 @@ +OCSP_REQUEST_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_request_onereq_get0.3 b/linux_amd64/share/man/man3/OCSP_request_onereq_get0.3 new file mode 120000 index 0000000..c4eb6e8 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_request_onereq_get0.3 @@ -0,0 +1 @@ +OCSP_REQUEST_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_request_sign.3 b/linux_amd64/share/man/man3/OCSP_request_sign.3 new file mode 120000 index 0000000..c4eb6e8 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_request_sign.3 @@ -0,0 +1 @@ +OCSP_REQUEST_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_resp_count.3 b/linux_amd64/share/man/man3/OCSP_resp_count.3 new file mode 120000 index 0000000..00b060a --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_resp_count.3 @@ -0,0 +1 @@ +OCSP_resp_find_status.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_resp_find.3 b/linux_amd64/share/man/man3/OCSP_resp_find.3 new file mode 120000 index 0000000..00b060a --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_resp_find.3 @@ -0,0 +1 @@ +OCSP_resp_find_status.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_resp_find_status.3 b/linux_amd64/share/man/man3/OCSP_resp_find_status.3 index 1867c87..c14f721 100755 --- a/linux_amd64/share/man/man3/OCSP_resp_find_status.3 +++ b/linux_amd64/share/man/man3/OCSP_resp_find_status.3 @@ -124,24 +124,13 @@ .\" ======================================================================== .\" .IX Title "OCSP_RESP_FIND_STATUS 3" -.TH OCSP_RESP_FIND_STATUS 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH OCSP_RESP_FIND_STATUS 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -OCSP_resp_get0_certs, -OCSP_resp_get0_signer, -OCSP_resp_get0_id, -OCSP_resp_get1_id, -OCSP_resp_get0_produced_at, -OCSP_resp_get0_signature, -OCSP_resp_get0_tbs_sigalg, -OCSP_resp_get0_respdata, -OCSP_resp_find_status, OCSP_resp_count, OCSP_resp_get0, OCSP_resp_find, -OCSP_single_get0_status, OCSP_check_validity, -OCSP_basic_verify -\&\- OCSP response utility functions +OCSP_resp_get0_certs, OCSP_resp_get0_signer, OCSP_resp_get0_id, OCSP_resp_get1_id, OCSP_resp_get0_produced_at, OCSP_resp_get0_signature, OCSP_resp_get0_tbs_sigalg, OCSP_resp_get0_respdata, OCSP_resp_find_status, OCSP_resp_count, OCSP_resp_get0, OCSP_resp_find, OCSP_single_get0_status, OCSP_check_validity, OCSP_basic_verify \&\- OCSP response utility functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -240,7 +229,7 @@ no freeing of the results is necessary. .PP \&\fIOCSP_check_validity()\fR checks the validity of \fBthisupd\fR and \fBnextupd\fR values which will be typically obtained from \fIOCSP_resp_find_status()\fR or -\&\fIOCSP_single_get0_status()\fR. If \fBsec\fR is nonzero it indicates how many seconds +\&\fIOCSP_single_get0_status()\fR. If \fBsec\fR is non-zero it indicates how many seconds leeway should be allowed in the check. If \fBmaxsec\fR is positive it indicates the maximum age of \fBthisupd\fR in seconds. .PP @@ -293,7 +282,7 @@ can then take appropriate action based on the status of the certificate. .PP An \s-1OCSP\s0 response for a certificate contains \fBthisUpdate\fR and \fBnextUpdate\fR fields. Normally the current time should be between these two values. To -account for clock skew the \fBmaxsec\fR field can be set to nonzero in +account for clock skew the \fBmaxsec\fR field can be set to non-zero in \&\fIOCSP_check_validity()\fR. Some responders do not set the \fBnextUpdate\fR field, this would otherwise mean an ancient response would be considered valid: the \&\fBmaxsec\fR parameter to \fIOCSP_check_validity()\fR can be used to limit the permitted @@ -315,7 +304,7 @@ parameters can be set to \s-1NULL\s0 if their value is not required. .IX Header "COPYRIGHT" Copyright 2015\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/OCSP_resp_get0.3 b/linux_amd64/share/man/man3/OCSP_resp_get0.3 new file mode 120000 index 0000000..00b060a --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_resp_get0.3 @@ -0,0 +1 @@ +OCSP_resp_find_status.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_resp_get0_certs.3 b/linux_amd64/share/man/man3/OCSP_resp_get0_certs.3 new file mode 120000 index 0000000..00b060a --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_resp_get0_certs.3 @@ -0,0 +1 @@ +OCSP_resp_find_status.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_resp_get0_id.3 b/linux_amd64/share/man/man3/OCSP_resp_get0_id.3 new file mode 120000 index 0000000..00b060a --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_resp_get0_id.3 @@ -0,0 +1 @@ +OCSP_resp_find_status.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_resp_get0_produced_at.3 b/linux_amd64/share/man/man3/OCSP_resp_get0_produced_at.3 new file mode 120000 index 0000000..00b060a --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_resp_get0_produced_at.3 @@ -0,0 +1 @@ +OCSP_resp_find_status.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_resp_get0_respdata.3 b/linux_amd64/share/man/man3/OCSP_resp_get0_respdata.3 new file mode 120000 index 0000000..00b060a --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_resp_get0_respdata.3 @@ -0,0 +1 @@ +OCSP_resp_find_status.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_resp_get0_signature.3 b/linux_amd64/share/man/man3/OCSP_resp_get0_signature.3 new file mode 120000 index 0000000..00b060a --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_resp_get0_signature.3 @@ -0,0 +1 @@ +OCSP_resp_find_status.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_resp_get0_signer.3 b/linux_amd64/share/man/man3/OCSP_resp_get0_signer.3 new file mode 120000 index 0000000..00b060a --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_resp_get0_signer.3 @@ -0,0 +1 @@ +OCSP_resp_find_status.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_resp_get0_tbs_sigalg.3 b/linux_amd64/share/man/man3/OCSP_resp_get0_tbs_sigalg.3 new file mode 120000 index 0000000..00b060a --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_resp_get0_tbs_sigalg.3 @@ -0,0 +1 @@ +OCSP_resp_find_status.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_resp_get1_id.3 b/linux_amd64/share/man/man3/OCSP_resp_get1_id.3 new file mode 120000 index 0000000..00b060a --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_resp_get1_id.3 @@ -0,0 +1 @@ +OCSP_resp_find_status.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_response_create.3 b/linux_amd64/share/man/man3/OCSP_response_create.3 new file mode 120000 index 0000000..8700999 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_response_create.3 @@ -0,0 +1 @@ +OCSP_response_status.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_response_get1_basic.3 b/linux_amd64/share/man/man3/OCSP_response_get1_basic.3 new file mode 120000 index 0000000..8700999 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_response_get1_basic.3 @@ -0,0 +1 @@ +OCSP_response_status.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_response_status.3 b/linux_amd64/share/man/man3/OCSP_response_status.3 index a6e94ea..b97c08a 100755 --- a/linux_amd64/share/man/man3/OCSP_response_status.3 +++ b/linux_amd64/share/man/man3/OCSP_response_status.3 @@ -124,16 +124,13 @@ .\" ======================================================================== .\" .IX Title "OCSP_RESPONSE_STATUS 3" -.TH OCSP_RESPONSE_STATUS 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH OCSP_RESPONSE_STATUS 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -OCSP_response_status, OCSP_response_get1_basic, OCSP_response_create, -OCSP_RESPONSE_free, OCSP_RESPID_set_by_name, -OCSP_RESPID_set_by_key, OCSP_RESPID_match, -OCSP_basic_sign, OCSP_basic_sign_ctx \- OCSP response functions +OCSP_response_status, OCSP_response_get1_basic, OCSP_response_create, OCSP_RESPONSE_free, OCSP_RESPID_set_by_name, OCSP_RESPID_set_by_key, OCSP_RESPID_match, OCSP_basic_sign, OCSP_basic_sign_ctx \- OCSP response functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -232,7 +229,7 @@ The \fIOCSP_basic_sign_ctx()\fR function was added in OpenSSL 1.1.1. .IX Header "COPYRIGHT" Copyright 2015\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/OCSP_sendreq_bio.3 b/linux_amd64/share/man/man3/OCSP_sendreq_bio.3 new file mode 120000 index 0000000..f4df841 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_sendreq_bio.3 @@ -0,0 +1 @@ +OCSP_sendreq_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_sendreq_nbio.3 b/linux_amd64/share/man/man3/OCSP_sendreq_nbio.3 new file mode 120000 index 0000000..f4df841 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_sendreq_nbio.3 @@ -0,0 +1 @@ +OCSP_sendreq_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_sendreq_new.3 b/linux_amd64/share/man/man3/OCSP_sendreq_new.3 index d15da0a..cc78639 100755 --- a/linux_amd64/share/man/man3/OCSP_sendreq_new.3 +++ b/linux_amd64/share/man/man3/OCSP_sendreq_new.3 @@ -124,34 +124,31 @@ .\" ======================================================================== .\" .IX Title "OCSP_SENDREQ_NEW 3" -.TH OCSP_SENDREQ_NEW 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH OCSP_SENDREQ_NEW 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -OCSP_sendreq_new, OCSP_sendreq_nbio, OCSP_REQ_CTX_free, -OCSP_set_max_response_length, OCSP_REQ_CTX_add1_header, -OCSP_REQ_CTX_set1_req, OCSP_sendreq_bio \- OCSP responder query functions +OCSP_sendreq_new, OCSP_sendreq_nbio, OCSP_REQ_CTX_free, OCSP_set_max_response_length, OCSP_REQ_CTX_add1_header, OCSP_REQ_CTX_set1_req, OCSP_sendreq_bio \- OCSP responder query functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include \& -\& OCSP_REQ_CTX *OCSP_sendreq_new(BIO *io, const char *path, -\& OCSP_REQUEST *req, int maxline); +\& OCSP_REQ_CTX *OCSP_sendreq_new(BIO *io, const char *path, OCSP_REQUEST *req, +\& int maxline); \& \& int OCSP_sendreq_nbio(OCSP_RESPONSE **presp, OCSP_REQ_CTX *rctx); \& \& void OCSP_REQ_CTX_free(OCSP_REQ_CTX *rctx); \& -\& void OCSP_set_max_response_length(OCSP_REQ_CTX *rctx, -\& unsigned long len); +\& void OCSP_set_max_response_length(OCSP_REQ_CTX *rctx, unsigned long len); \& \& int OCSP_REQ_CTX_add1_header(OCSP_REQ_CTX *rctx, \& const char *name, const char *value); \& -\& int OCSP_REQ_CTX_set1_req(OCSP_REQ_CTX *rctx, const OCSP_REQUEST *req); +\& int OCSP_REQ_CTX_set1_req(OCSP_REQ_CTX *rctx, OCSP_REQUEST *req); \& \& OCSP_RESPONSE *OCSP_sendreq_bio(BIO *io, const char *path, OCSP_REQUEST *req); .Ve @@ -163,14 +160,14 @@ response header maximum line length of \fBmaxline\fR. If \fBmaxline\fR is zero a default value of 4k is used. The \s-1OCSP\s0 request \fBreq\fR may be set to \fB\s-1NULL\s0\fR and provided later if required. .PP -\&\fIOCSP_sendreq_nbio()\fR performs I/O on the \s-1OCSP\s0 request context \fBrctx\fR. -When the operation is complete it returns the response in \fB*presp\fR. +\&\fIOCSP_sendreq_nbio()\fR performs non-blocking I/O on the \s-1OCSP\s0 request context +\&\fBrctx\fR. When the operation is complete it returns the response in \fB*presp\fR. .PP \&\fIOCSP_REQ_CTX_free()\fR frees up the \s-1OCSP\s0 context \fBrctx\fR. .PP -\&\fIOCSP_set_max_response_length()\fR sets the maximum response length -for \fBrctx\fR to \fBlen\fR. If the response exceeds this length an error occurs. -If not set a default value of 100k is used. +\&\fIOCSP_set_max_response_length()\fR sets the maximum response length for \fBrctx\fR +to \fBlen\fR. If the response exceeds this length an error occurs. If not +set a default value of 100k is used. .PP \&\fIOCSP_REQ_CTX_add1_header()\fR adds header \fBname\fR with value \fBvalue\fR to the context \fBrctx\fR. It can be called more than once to add multiple headers. @@ -182,21 +179,23 @@ additional headers are set. function should be called after any calls to \fIOCSP_REQ_CTX_add1_header()\fR. .PP \&\fIOCSP_sendreq_bio()\fR performs an \s-1OCSP\s0 request using the responder \fBio\fR, the \s-1URL\s0 -path \fBpath\fR, the \s-1OCSP\s0 request \fBreq\fR and with a response header maximum line +path \fBpath\fR, and the \s-1OCSP\s0 request \fBreq\fR with a response header maximum line length 4k. It waits indefinitely on a response. .SH "RETURN VALUES" .IX Header "RETURN VALUES" -\&\fIOCSP_sendreq_new()\fR returns a valid \fB\s-1OCSP_REQ_CTX\s0\fR structure or \fB\s-1NULL\s0\fR -if an error occurred. +\&\fIOCSP_sendreq_new()\fR returns a valid \fB\s-1OCSP_REQ_CTX\s0\fR structure or \fB\s-1NULL\s0\fR if +an error occurred. .PP -\&\fIOCSP_sendreq_nbio()\fR, \fIOCSP_REQ_CTX_add1_header()\fR and \fIOCSP_REQ_CTX_set1_req()\fR -return \fB1\fR for success and \fB0\fR for failure. +\&\fIOCSP_sendreq_nbio()\fR returns \fB1\fR if the operation was completed successfully, +\&\fB\-1\fR if the operation should be retried and \fB0\fR if an error occurred. +.PP +\&\fIOCSP_REQ_CTX_add1_header()\fR and \fIOCSP_REQ_CTX_set1_req()\fR return \fB1\fR for success +and \fB0\fR for failure. .PP \&\fIOCSP_sendreq_bio()\fR returns the \fB\s-1OCSP_RESPONSE\s0\fR structure sent by the responder or \fB\s-1NULL\s0\fR if an error occurred. .PP -\&\fIOCSP_REQ_CTX_free()\fR and \fIOCSP_set_max_response_length()\fR -do not return values. +\&\fIOCSP_REQ_CTX_free()\fR and \fIOCSP_set_max_response_length()\fR do not return values. .SH "NOTES" .IX Header "NOTES" These functions only perform a minimal \s-1HTTP\s0 query to a responder. If an @@ -218,9 +217,14 @@ a Host header for \fBocsp.com\fR you would call: \& OCSP_REQ_CTX_add1_header(ctx, "Host", "ocsp.com"); .Ve .PP -\&\fIOCSP_sendreq_bio()\fR does not support timeout nor setting extra headers. -It is retained for compatibility. -Better use \fB\f(BIOCSP_sendreq_nbio()\fB\fR instead. +If \fIOCSP_sendreq_nbio()\fR indicates an operation should be retried the +corresponding \s-1BIO\s0 can be examined to determine which operation (read or +write) should be retried and appropriate action taken (for example a \fIselect()\fR +call on the underlying socket). +.PP +\&\fIOCSP_sendreq_bio()\fR does not support retries and so cannot handle non-blocking +I/O efficiently. It is retained for compatibility and its use in new +applications is not recommended. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIcrypto\fR\|(7), @@ -233,7 +237,7 @@ Better use \fB\f(BIOCSP_sendreq_nbio()\fB\fR instead. .IX Header "COPYRIGHT" Copyright 2015\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/OCSP_set_max_response_length.3 b/linux_amd64/share/man/man3/OCSP_set_max_response_length.3 new file mode 120000 index 0000000..f4df841 --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_set_max_response_length.3 @@ -0,0 +1 @@ +OCSP_sendreq_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OCSP_single_get0_status.3 b/linux_amd64/share/man/man3/OCSP_single_get0_status.3 new file mode 120000 index 0000000..00b060a --- /dev/null +++ b/linux_amd64/share/man/man3/OCSP_single_get0_status.3 @@ -0,0 +1 @@ +OCSP_resp_find_status.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OPENSSL_Applink.3 b/linux_amd64/share/man/man3/OPENSSL_Applink.3 index 8c65c7a..8f52aba 100755 --- a/linux_amd64/share/man/man3/OPENSSL_Applink.3 +++ b/linux_amd64/share/man/man3/OPENSSL_Applink.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "OPENSSL_APPLINK 3" -.TH OPENSSL_APPLINK 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH OPENSSL_APPLINK 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -153,7 +153,7 @@ Not available. .IX Header "COPYRIGHT" Copyright 2004\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/OPENSSL_INIT_free.3 b/linux_amd64/share/man/man3/OPENSSL_INIT_free.3 new file mode 120000 index 0000000..76a78b0 --- /dev/null +++ b/linux_amd64/share/man/man3/OPENSSL_INIT_free.3 @@ -0,0 +1 @@ +OPENSSL_init_crypto.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OPENSSL_INIT_new.3 b/linux_amd64/share/man/man3/OPENSSL_INIT_new.3 new file mode 120000 index 0000000..76a78b0 --- /dev/null +++ b/linux_amd64/share/man/man3/OPENSSL_INIT_new.3 @@ -0,0 +1 @@ +OPENSSL_init_crypto.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OPENSSL_INIT_set_config_appname.3 b/linux_amd64/share/man/man3/OPENSSL_INIT_set_config_appname.3 new file mode 120000 index 0000000..76a78b0 --- /dev/null +++ b/linux_amd64/share/man/man3/OPENSSL_INIT_set_config_appname.3 @@ -0,0 +1 @@ +OPENSSL_init_crypto.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OPENSSL_INIT_set_config_file_flags.3 b/linux_amd64/share/man/man3/OPENSSL_INIT_set_config_file_flags.3 new file mode 120000 index 0000000..76a78b0 --- /dev/null +++ b/linux_amd64/share/man/man3/OPENSSL_INIT_set_config_file_flags.3 @@ -0,0 +1 @@ +OPENSSL_init_crypto.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OPENSSL_INIT_set_config_filename.3 b/linux_amd64/share/man/man3/OPENSSL_INIT_set_config_filename.3 new file mode 120000 index 0000000..76a78b0 --- /dev/null +++ b/linux_amd64/share/man/man3/OPENSSL_INIT_set_config_filename.3 @@ -0,0 +1 @@ +OPENSSL_init_crypto.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OPENSSL_LH_COMPFUNC.3 b/linux_amd64/share/man/man3/OPENSSL_LH_COMPFUNC.3 index 09889c1..b27ae45 100755 --- a/linux_amd64/share/man/man3/OPENSSL_LH_COMPFUNC.3 +++ b/linux_amd64/share/man/man3/OPENSSL_LH_COMPFUNC.3 @@ -124,19 +124,13 @@ .\" ======================================================================== .\" .IX Title "OPENSSL_LH_COMPFUNC 3" -.TH OPENSSL_LH_COMPFUNC 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH OPENSSL_LH_COMPFUNC 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -LHASH, DECLARE_LHASH_OF, -OPENSSL_LH_COMPFUNC, OPENSSL_LH_HASHFUNC, OPENSSL_LH_DOALL_FUNC, -LHASH_DOALL_ARG_FN_TYPE, -IMPLEMENT_LHASH_HASH_FN, IMPLEMENT_LHASH_COMP_FN, -lh_TYPE_new, lh_TYPE_free, lh_TYPE_flush, -lh_TYPE_insert, lh_TYPE_delete, lh_TYPE_retrieve, -lh_TYPE_doall, lh_TYPE_doall_arg, lh_TYPE_error \- dynamic hash table +LHASH, DECLARE_LHASH_OF, OPENSSL_LH_COMPFUNC, OPENSSL_LH_HASHFUNC, OPENSSL_LH_DOALL_FUNC, LHASH_DOALL_ARG_FN_TYPE, IMPLEMENT_LHASH_HASH_FN, IMPLEMENT_LHASH_COMP_FN, lh_TYPE_new, lh_TYPE_free, lh_TYPE_insert, lh_TYPE_delete, lh_TYPE_retrieve, lh_TYPE_doall, lh_TYPE_doall_arg, lh_TYPE_error \- dynamic hash table .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -146,7 +140,6 @@ lh_TYPE_doall, lh_TYPE_doall_arg, lh_TYPE_error \- dynamic hash table \& \& LHASH *lh_TYPE_new(OPENSSL_LH_HASHFUNC hash, OPENSSL_LH_COMPFUNC compare); \& void lh_TYPE_free(LHASH_OF(TYPE) *table); -\& void lh_TYPE_flush(LHASH_OF(TYPE) *table); \& \& TYPE *lh_TYPE_insert(LHASH_OF(TYPE) *table, TYPE *data); \& TYPE *lh_TYPE_delete(LHASH_OF(TYPE) *table, TYPE *data); @@ -167,25 +160,25 @@ lh_TYPE_doall, lh_TYPE_doall_arg, lh_TYPE_error \- dynamic hash table .IX Header "DESCRIPTION" This library implements type-checked dynamic hash tables. The hash table entries can be arbitrary structures. Usually they consist of key -and value fields. In the description here, \fB\f(BI\s-1TYPE\s0\fB\fR is used a placeholder +and value fields. In the description here, \fI\s-1TYPE\s0\fR is used a placeholder for any of the OpenSSL datatypes, such as \fI\s-1SSL_SESSION\s0\fR. .PP -\&\fBlh_\f(BI\s-1TYPE\s0\fB_new\fR() creates a new \fB\s-1LHASH_OF\s0\fR(\fB\f(BI\s-1TYPE\s0\fB\fR) structure to store +\&\fIlh_TYPE_new()\fR creates a new \fB\s-1LHASH_OF\s0(\s-1TYPE\s0)\fR structure to store arbitrary data entries, and specifies the 'hash' and 'compare' -callbacks to be used in organising the table's entries. The \fIhash\fR +callbacks to be used in organising the table's entries. The \fBhash\fR callback takes a pointer to a table entry as its argument and returns an unsigned long hash value for its key field. The hash value is normally truncated to a power of 2, so make sure that your hash -function returns well mixed low order bits. The \fIcompare\fR callback +function returns well mixed low order bits. The \fBcompare\fR callback takes two arguments (pointers to two hash table entries), and returns -0 if their keys are equal, nonzero otherwise. +0 if their keys are equal, non-zero otherwise. .PP If your hash table -will contain items of some particular type and the \fIhash\fR and -\&\fIcompare\fR callbacks hash/compare these types, then the +will contain items of some particular type and the \fBhash\fR and +\&\fBcompare\fR callbacks hash/compare these types, then the \&\fB\s-1IMPLEMENT_LHASH_HASH_FN\s0\fR and \fB\s-1IMPLEMENT_LHASH_COMP_FN\s0\fR macros can be used to create callback wrappers of the prototypes required by -\&\fBlh_\f(BI\s-1TYPE\s0\fB_new\fR() as shown in this example: +\&\fIlh_TYPE_new()\fR as shown in this example: .PP .Vb 11 \& /* @@ -215,37 +208,32 @@ can be used in a common header file to declare the function wrappers: \& DECLARE_LHASH_COMP_FN(stuff, TYPE) .Ve .PP -Then a hash table of \fB\f(BI\s-1TYPE\s0\fB\fR objects can be created using this: +Then a hash table of \s-1TYPE\s0 objects can be created using this: .PP .Vb 1 \& LHASH_OF(TYPE) *htable; \& -\& htable = B_new>(LHASH_HASH_FN(stuff), LHASH_COMP_FN(stuff)); +\& htable = lh_TYPE_new(LHASH_HASH_FN(stuff), LHASH_COMP_FN(stuff)); .Ve .PP -\&\fBlh_\f(BI\s-1TYPE\s0\fB_free\fR() frees the \fB\s-1LHASH_OF\s0\fR(\fB\f(BI\s-1TYPE\s0\fB\fR) structure -\&\fItable\fR. Allocated hash table entries will not be freed; consider -using \fBlh_\f(BI\s-1TYPE\s0\fB_doall\fR() to deallocate any remaining entries in the +\&\fIlh_TYPE_free()\fR frees the \fB\s-1LHASH_OF\s0(\s-1TYPE\s0)\fR structure +\&\fBtable\fR. Allocated hash table entries will not be freed; consider +using \fIlh_TYPE_doall()\fR to deallocate any remaining entries in the hash table (see below). .PP -\&\fBlh_\f(BI\s-1TYPE\s0\fB_flush\fR() empties the \fB\s-1LHASH_OF\s0\fR(\fB\f(BI\s-1TYPE\s0\fB\fR) structure \fItable\fR. New -entries can be added to the flushed table. Allocated hash table entries -will not be freed; consider using \fBlh_\f(BI\s-1TYPE\s0\fB_doall\fR() to deallocate any -remaining entries in the hash table (see below). -.PP -\&\fBlh_\f(BI\s-1TYPE\s0\fB_insert\fR() inserts the structure pointed to by \fIdata\fR into -\&\fItable\fR. If there already is an entry with the same key, the old -value is replaced. Note that \fBlh_\f(BI\s-1TYPE\s0\fB_insert\fR() stores pointers, the +\&\fIlh_TYPE_insert()\fR inserts the structure pointed to by \fBdata\fR into +\&\fBtable\fR. If there already is an entry with the same key, the old +value is replaced. Note that \fIlh_TYPE_insert()\fR stores pointers, the data are not copied. .PP -\&\fBlh_\f(BI\s-1TYPE\s0\fB_delete\fR() deletes an entry from \fItable\fR. +\&\fIlh_TYPE_delete()\fR deletes an entry from \fBtable\fR. .PP -\&\fBlh_\f(BI\s-1TYPE\s0\fB_retrieve\fR() looks up an entry in \fItable\fR. Normally, \fIdata\fR +\&\fIlh_TYPE_retrieve()\fR looks up an entry in \fBtable\fR. Normally, \fBdata\fR is a structure with the key field(s) set; the function will return a pointer to a fully populated structure. .PP -\&\fBlh_\f(BI\s-1TYPE\s0\fB_doall\fR() will, for every entry in the hash table, call -\&\fIfunc\fR with the data item as its parameter. +\&\fIlh_TYPE_doall()\fR will, for every entry in the hash table, call +\&\fBfunc\fR with the data item as its parameter. For example: .PP .Vb 2 @@ -271,9 +259,9 @@ you start (which will stop the hash table ever decreasing in size). The best solution is probably to avoid deleting items from the hash table inside a \*(L"doall\*(R" callback! .PP -\&\fBlh_\f(BI\s-1TYPE\s0\fB_doall_arg\fR() is the same as \fBlh_\f(BI\s-1TYPE\s0\fB_doall\fR() except that -\&\fIfunc\fR will be called with \fIarg\fR as the second argument and \fIfunc\fR -should be of type \fB\s-1LHASH_DOALL_ARG_FN\s0\fR(\fB\f(BI\s-1TYPE\s0\fB\fR) (a callback prototype +\&\fIlh_TYPE_doall_arg()\fR is the same as \fIlh_TYPE_doall()\fR except that +\&\fBfunc\fR will be called with \fBarg\fR as the second argument and \fBfunc\fR +should be of type \fB\s-1LHASH_DOALL_ARG_FN_TYPE\s0\fR (a callback prototype that is passed both the table entry and an extra argument). As with \&\fIlh_doall()\fR, you can instead choose to declare your callback with a prototype matching the types you are dealing with and use the @@ -294,31 +282,30 @@ that is provided by the caller): \& logging_bio); .Ve .PP -\&\fBlh_\f(BI\s-1TYPE\s0\fB_error\fR() can be used to determine if an error occurred in the last +\&\fIlh_TYPE_error()\fR can be used to determine if an error occurred in the last operation. .SH "RETURN VALUES" .IX Header "RETURN VALUES" -\&\fBlh_\f(BI\s-1TYPE\s0\fB_new\fR() returns \s-1NULL\s0 on error, otherwise a pointer to the new +\&\fIlh_TYPE_new()\fR returns \fB\s-1NULL\s0\fR on error, otherwise a pointer to the new \&\fB\s-1LHASH\s0\fR structure. .PP -When a hash table entry is replaced, \fBlh_\f(BI\s-1TYPE\s0\fB_insert\fR() returns the value -being replaced. \s-1NULL\s0 is returned on normal operation and on error. +When a hash table entry is replaced, \fIlh_TYPE_insert()\fR returns the value +being replaced. \fB\s-1NULL\s0\fR is returned on normal operation and on error. .PP -\&\fBlh_\f(BI\s-1TYPE\s0\fB_delete\fR() returns the entry being deleted. \s-1NULL\s0 is returned if +\&\fIlh_TYPE_delete()\fR returns the entry being deleted. \fB\s-1NULL\s0\fR is returned if there is no such value in the hash table. .PP -\&\fBlh_\f(BI\s-1TYPE\s0\fB_retrieve\fR() returns the hash table entry if it has been found, -\&\s-1NULL\s0 otherwise. +\&\fIlh_TYPE_retrieve()\fR returns the hash table entry if it has been found, +\&\fB\s-1NULL\s0\fR otherwise. .PP -\&\fBlh_\f(BI\s-1TYPE\s0\fB_error\fR() returns 1 if an error occurred in the last operation, 0 +\&\fIlh_TYPE_error()\fR returns 1 if an error occurred in the last operation, 0 otherwise. It's meaningful only after non-retrieve operations. .PP -\&\fBlh_\f(BI\s-1TYPE\s0\fB_free\fR(), \fBlh_\f(BI\s-1TYPE\s0\fB_flush\fR(), \fBlh_\f(BI\s-1TYPE\s0\fB_doall\fR() and -\&\fBlh_\f(BI\s-1TYPE\s0\fB_doall_arg\fR() return no values. +\&\fIlh_TYPE_free()\fR, \fIlh_TYPE_doall()\fR and \fIlh_TYPE_doall_arg()\fR return no values. .SH "NOTE" .IX Header "NOTE" The \s-1LHASH\s0 code is not thread safe. All updating operations, as well as -\&\fBlh_\f(BI\s-1TYPE\s0\fB_error\fR() call must be performed under a write lock. All retrieve +lh_TYPE_error call must be performed under a write lock. All retrieve operations should be performed under a read lock, \fIunless\fR accurate usage statistics are desired. In which case, a write lock should be used for retrieve operations as well. For output of the usage statistics, @@ -355,7 +342,7 @@ DECLARE/IMPLEMENT_LHASH_DOALL_[\s-1ARG_\s0]_FN macros that provide types without any \*(L"const\*(R" qualifiers. .SH "BUGS" .IX Header "BUGS" -\&\fBlh_\f(BI\s-1TYPE\s0\fB_insert\fR() returns \s-1NULL\s0 both for success and error. +\&\fIlh_TYPE_insert()\fR returns \fB\s-1NULL\s0\fR both for success and error. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIOPENSSL_LH_stats\fR\|(3) @@ -367,7 +354,7 @@ type checking. .IX Header "COPYRIGHT" Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/OPENSSL_LH_DOALL_FUNC.3 b/linux_amd64/share/man/man3/OPENSSL_LH_DOALL_FUNC.3 new file mode 120000 index 0000000..bad6292 --- /dev/null +++ b/linux_amd64/share/man/man3/OPENSSL_LH_DOALL_FUNC.3 @@ -0,0 +1 @@ +OPENSSL_LH_COMPFUNC.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OPENSSL_LH_HASHFUNC.3 b/linux_amd64/share/man/man3/OPENSSL_LH_HASHFUNC.3 new file mode 120000 index 0000000..bad6292 --- /dev/null +++ b/linux_amd64/share/man/man3/OPENSSL_LH_HASHFUNC.3 @@ -0,0 +1 @@ +OPENSSL_LH_COMPFUNC.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OPENSSL_LH_node_stats.3 b/linux_amd64/share/man/man3/OPENSSL_LH_node_stats.3 new file mode 120000 index 0000000..f04ed0b --- /dev/null +++ b/linux_amd64/share/man/man3/OPENSSL_LH_node_stats.3 @@ -0,0 +1 @@ +OPENSSL_LH_stats.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OPENSSL_LH_node_stats_bio.3 b/linux_amd64/share/man/man3/OPENSSL_LH_node_stats_bio.3 new file mode 120000 index 0000000..f04ed0b --- /dev/null +++ b/linux_amd64/share/man/man3/OPENSSL_LH_node_stats_bio.3 @@ -0,0 +1 @@ +OPENSSL_LH_stats.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OPENSSL_LH_node_usage_stats.3 b/linux_amd64/share/man/man3/OPENSSL_LH_node_usage_stats.3 new file mode 120000 index 0000000..f04ed0b --- /dev/null +++ b/linux_amd64/share/man/man3/OPENSSL_LH_node_usage_stats.3 @@ -0,0 +1 @@ +OPENSSL_LH_stats.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OPENSSL_LH_node_usage_stats_bio.3 b/linux_amd64/share/man/man3/OPENSSL_LH_node_usage_stats_bio.3 new file mode 120000 index 0000000..f04ed0b --- /dev/null +++ b/linux_amd64/share/man/man3/OPENSSL_LH_node_usage_stats_bio.3 @@ -0,0 +1 @@ +OPENSSL_LH_stats.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OPENSSL_LH_stats.3 b/linux_amd64/share/man/man3/OPENSSL_LH_stats.3 index 5b49859..fa126e3 100755 --- a/linux_amd64/share/man/man3/OPENSSL_LH_stats.3 +++ b/linux_amd64/share/man/man3/OPENSSL_LH_stats.3 @@ -124,15 +124,13 @@ .\" ======================================================================== .\" .IX Title "OPENSSL_LH_STATS 3" -.TH OPENSSL_LH_STATS 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH OPENSSL_LH_STATS 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -OPENSSL_LH_stats, OPENSSL_LH_node_stats, OPENSSL_LH_node_usage_stats, -OPENSSL_LH_stats_bio, -OPENSSL_LH_node_stats_bio, OPENSSL_LH_node_usage_stats_bio \- LHASH statistics +OPENSSL_LH_stats, OPENSSL_LH_node_stats, OPENSSL_LH_node_usage_stats, OPENSSL_LH_stats_bio, OPENSSL_LH_node_stats_bio, OPENSSL_LH_node_usage_stats_bio \- LHASH statistics .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -184,7 +182,7 @@ when using the \s-1LHASH\s0 data structure. .IX Header "COPYRIGHT" Copyright 2000\-2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/OPENSSL_LH_stats_bio.3 b/linux_amd64/share/man/man3/OPENSSL_LH_stats_bio.3 new file mode 120000 index 0000000..f04ed0b --- /dev/null +++ b/linux_amd64/share/man/man3/OPENSSL_LH_stats_bio.3 @@ -0,0 +1 @@ +OPENSSL_LH_stats.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OPENSSL_MALLOC_FAILURES.3 b/linux_amd64/share/man/man3/OPENSSL_MALLOC_FAILURES.3 new file mode 120000 index 0000000..9246368 --- /dev/null +++ b/linux_amd64/share/man/man3/OPENSSL_MALLOC_FAILURES.3 @@ -0,0 +1 @@ +OPENSSL_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OPENSSL_MALLOC_FD.3 b/linux_amd64/share/man/man3/OPENSSL_MALLOC_FD.3 new file mode 120000 index 0000000..9246368 --- /dev/null +++ b/linux_amd64/share/man/man3/OPENSSL_MALLOC_FD.3 @@ -0,0 +1 @@ +OPENSSL_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OPENSSL_VERSION_NUMBER.3 b/linux_amd64/share/man/man3/OPENSSL_VERSION_NUMBER.3 new file mode 100644 index 0000000..2d65242 --- /dev/null +++ b/linux_amd64/share/man/man3/OPENSSL_VERSION_NUMBER.3 @@ -0,0 +1,233 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "OPENSSL_VERSION_NUMBER 3" +.TH OPENSSL_VERSION_NUMBER 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +OPENSSL_VERSION_NUMBER, OPENSSL_VERSION_TEXT, OpenSSL_version, OpenSSL_version_num \- get OpenSSL version number +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +.Vb 3 +\& #include +\& #define OPENSSL_VERSION_NUMBER 0xnnnnnnnnnL +\& #define OPENSSL_VERSION_TEXT "OpenSSL x.y.z xx XXX xxxx" +\& +\& #include +\& +\& unsigned long OpenSSL_version_num(); +\& const char *OpenSSL_version(int t); +.Ve +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +\&\s-1OPENSSL_VERSION_NUMBER\s0 is a numeric release version identifier: +.PP +.Vb 1 +\& MNNFFPPS: major minor fix patch status +.Ve +.PP +The status nibble has one of the values 0 for development, 1 to e for betas +1 to 14, and f for release. +.PP +for example +.PP +.Vb 3 +\& 0x000906000 == 0.9.6 dev +\& 0x000906023 == 0.9.6b beta 3 +\& 0x00090605f == 0.9.6e release +.Ve +.PP +Versions prior to 0.9.3 have identifiers < 0x0930. +Versions between 0.9.3 and 0.9.5 had a version identifier with this +interpretation: +.PP +.Vb 1 +\& MMNNFFRBB major minor fix final beta/patch +.Ve +.PP +for example +.PP +.Vb 2 +\& 0x000904100 == 0.9.4 release +\& 0x000905000 == 0.9.5 dev +.Ve +.PP +Version 0.9.5a had an interim interpretation that is like the current one, +except the patch level got the highest bit set, to keep continuity. The +number was therefore 0x0090581f. +.PP +\&\s-1OPENSSL_VERSION_TEXT\s0 is the text variant of the version number and the +release date. For example, +\&\*(L"OpenSSL 1.0.1a 15 Oct 2015\*(R". +.PP +\&\fIOpenSSL_version_num()\fR returns the version number. +.PP +\&\fIOpenSSL_version()\fR returns different strings depending on \fBt\fR: +.IP "\s-1OPENSSL_VERSION\s0" 4 +.IX Item "OPENSSL_VERSION" +The text variant of the version number and the release date. For example, +\&\*(L"OpenSSL 1.0.1a 15 Oct 2015\*(R". +.IP "\s-1OPENSSL_CFLAGS\s0" 4 +.IX Item "OPENSSL_CFLAGS" +The compiler flags set for the compilation process in the form +\&\*(L"compiler: ...\*(R" if available or \*(L"compiler: information not available\*(R" +otherwise. +.IP "\s-1OPENSSL_BUILT_ON\s0" 4 +.IX Item "OPENSSL_BUILT_ON" +The date of the build process in the form \*(L"built on: ...\*(R" if available +or \*(L"built on: date not available\*(R" otherwise. +.IP "\s-1OPENSSL_PLATFORM\s0" 4 +.IX Item "OPENSSL_PLATFORM" +The \*(L"Configure\*(R" target of the library build in the form \*(L"platform: ...\*(R" +if available or \*(L"platform: information not available\*(R" otherwise. +.IP "\s-1OPENSSL_DIR\s0" 4 +.IX Item "OPENSSL_DIR" +The \*(L"\s-1OPENSSLDIR\s0\*(R" setting of the library build in the form \*(L"\s-1OPENSSLDIR:\s0 \*(R"..."\*(L" +if available or \*(R"\s-1OPENSSLDIR:\s0 N/A" otherwise. +.IP "\s-1OPENSSL_ENGINES_DIR\s0" 4 +.IX Item "OPENSSL_ENGINES_DIR" +The \*(L"\s-1ENGINESDIR\s0\*(R" setting of the library build in the form \*(L"\s-1ENGINESDIR:\s0 \*(R"..."\*(L" +if available or \*(R"\s-1ENGINESDIR:\s0 N/A" otherwise. +.PP +For an unknown \fBt\fR, the text \*(L"not available\*(R" is returned. +.SH "RETURN VALUES" +.IX Header "RETURN VALUES" +\&\fIOpenSSL_version_num()\fR returns the version number. +.PP +\&\fIOpenSSL_version()\fR returns requested version strings. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIcrypto\fR\|(7) +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man3/OPENSSL_VERSION_TEXT.3 b/linux_amd64/share/man/man3/OPENSSL_VERSION_TEXT.3 new file mode 120000 index 0000000..ab1700a --- /dev/null +++ b/linux_amd64/share/man/man3/OPENSSL_VERSION_TEXT.3 @@ -0,0 +1 @@ +OPENSSL_VERSION_NUMBER.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OPENSSL_atexit.3 b/linux_amd64/share/man/man3/OPENSSL_atexit.3 new file mode 120000 index 0000000..76a78b0 --- /dev/null +++ b/linux_amd64/share/man/man3/OPENSSL_atexit.3 @@ -0,0 +1 @@ +OPENSSL_init_crypto.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OPENSSL_buf2hexstr.3 b/linux_amd64/share/man/man3/OPENSSL_buf2hexstr.3 new file mode 120000 index 0000000..9246368 --- /dev/null +++ b/linux_amd64/share/man/man3/OPENSSL_buf2hexstr.3 @@ -0,0 +1 @@ +OPENSSL_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OPENSSL_cipher_name.3 b/linux_amd64/share/man/man3/OPENSSL_cipher_name.3 new file mode 120000 index 0000000..f2d4fe7 --- /dev/null +++ b/linux_amd64/share/man/man3/OPENSSL_cipher_name.3 @@ -0,0 +1 @@ +SSL_CIPHER_get_name.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OPENSSL_cleanse.3 b/linux_amd64/share/man/man3/OPENSSL_cleanse.3 new file mode 120000 index 0000000..9246368 --- /dev/null +++ b/linux_amd64/share/man/man3/OPENSSL_cleanse.3 @@ -0,0 +1 @@ +OPENSSL_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OPENSSL_cleanup.3 b/linux_amd64/share/man/man3/OPENSSL_cleanup.3 new file mode 120000 index 0000000..76a78b0 --- /dev/null +++ b/linux_amd64/share/man/man3/OPENSSL_cleanup.3 @@ -0,0 +1 @@ +OPENSSL_init_crypto.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OPENSSL_clear_free.3 b/linux_amd64/share/man/man3/OPENSSL_clear_free.3 new file mode 120000 index 0000000..9246368 --- /dev/null +++ b/linux_amd64/share/man/man3/OPENSSL_clear_free.3 @@ -0,0 +1 @@ +OPENSSL_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OPENSSL_clear_realloc.3 b/linux_amd64/share/man/man3/OPENSSL_clear_realloc.3 new file mode 120000 index 0000000..9246368 --- /dev/null +++ b/linux_amd64/share/man/man3/OPENSSL_clear_realloc.3 @@ -0,0 +1 @@ +OPENSSL_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OPENSSL_config.3 b/linux_amd64/share/man/man3/OPENSSL_config.3 index 658bb2a..40f921f 100755 --- a/linux_amd64/share/man/man3/OPENSSL_config.3 +++ b/linux_amd64/share/man/man3/OPENSSL_config.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "OPENSSL_CONFIG 3" -.TH OPENSSL_CONFIG 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH OPENSSL_CONFIG 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -135,15 +135,11 @@ OPENSSL_config, OPENSSL_no_config \- simple OpenSSL configuration functions .IX Header "SYNOPSIS" .Vb 1 \& #include -.Ve -.PP -Deprecated since OpenSSL 1.1.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): -.PP -.Vb 2 +\& +\& #if OPENSSL_API_COMPAT < 0x10100000L \& void OPENSSL_config(const char *appname); \& void OPENSSL_no_config(void); +\& #endif .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" @@ -199,7 +195,7 @@ deprecated in OpenSSL 1.1.0 by \fIOPENSSL_init_crypto()\fR. .IX Header "COPYRIGHT" Copyright 2004\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/OPENSSL_fork_child.3 b/linux_amd64/share/man/man3/OPENSSL_fork_child.3 new file mode 120000 index 0000000..9c6be82 --- /dev/null +++ b/linux_amd64/share/man/man3/OPENSSL_fork_child.3 @@ -0,0 +1 @@ +OPENSSL_fork_prepare.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OPENSSL_fork_parent.3 b/linux_amd64/share/man/man3/OPENSSL_fork_parent.3 new file mode 120000 index 0000000..9c6be82 --- /dev/null +++ b/linux_amd64/share/man/man3/OPENSSL_fork_parent.3 @@ -0,0 +1 @@ +OPENSSL_fork_prepare.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OPENSSL_fork_prepare.3 b/linux_amd64/share/man/man3/OPENSSL_fork_prepare.3 index 8c9df30..4bc6fa8 100755 --- a/linux_amd64/share/man/man3/OPENSSL_fork_prepare.3 +++ b/linux_amd64/share/man/man3/OPENSSL_fork_prepare.3 @@ -124,16 +124,13 @@ .\" ======================================================================== .\" .IX Title "OPENSSL_FORK_PREPARE 3" -.TH OPENSSL_FORK_PREPARE 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH OPENSSL_FORK_PREPARE 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -OPENSSL_fork_prepare, -OPENSSL_fork_parent, -OPENSSL_fork_child -\&\- OpenSSL fork handlers +OPENSSL_fork_prepare, OPENSSL_fork_parent, OPENSSL_fork_child \&\- OpenSSL fork handlers .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -177,9 +174,9 @@ return values. These functions were added in OpenSSL 1.1.1. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2017\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/OPENSSL_free.3 b/linux_amd64/share/man/man3/OPENSSL_free.3 new file mode 120000 index 0000000..9246368 --- /dev/null +++ b/linux_amd64/share/man/man3/OPENSSL_free.3 @@ -0,0 +1 @@ +OPENSSL_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OPENSSL_hexstr2buf.3 b/linux_amd64/share/man/man3/OPENSSL_hexstr2buf.3 new file mode 120000 index 0000000..9246368 --- /dev/null +++ b/linux_amd64/share/man/man3/OPENSSL_hexstr2buf.3 @@ -0,0 +1 @@ +OPENSSL_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OPENSSL_ia32cap.3 b/linux_amd64/share/man/man3/OPENSSL_ia32cap.3 index fdd69e7..aa7dc4e 100755 --- a/linux_amd64/share/man/man3/OPENSSL_ia32cap.3 +++ b/linux_amd64/share/man/man3/OPENSSL_ia32cap.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "OPENSSL_IA32CAP 3" -.TH OPENSSL_IA32CAP 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH OPENSSL_IA32CAP 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -193,10 +193,10 @@ executed on \s-1SSE2\s0 capable \s-1CPU\s0, but under control of \s-1OS\s0 that enable \s-1XMM\s0 registers. Historically address of the capability vector copy was exposed to application through \fIOPENSSL_ia32cap_loc()\fR, but not anymore. Now the only way to affect the capability detection is to set -\&\fBOPENSSL_ia32cap\fR environment variable prior target application start. To -give a specific example, on Intel P4 processor -\&\f(CW\*(C`env OPENSSL_ia32cap=0x16980010 apps/openssl\*(C'\fR, or better yet -\&\f(CW\*(C`env OPENSSL_ia32cap=~0x1000000 apps/openssl\*(C'\fR would achieve the desired +OPENSSL_ia32cap environment variable prior target application start. To +give a specific example, on Intel P4 processor 'env +OPENSSL_ia32cap=0x16980010 apps/openssl', or better yet 'env +OPENSSL_ia32cap=~0x1000000 apps/openssl' would achieve the desired effect. Alternatively you can reconfigure the toolkit with no\-sse2 option and recompile. .PP @@ -236,9 +236,9 @@ The capability vector is further extended with \s-1EBX\s0 value returned by .IX Item "bit #64+42 denoting availability of VPCLMULQDQ extension;" .PD .PP -To control this extended capability word use \f(CW\*(C`:\*(C'\fR as delimiter when -setting up \fBOPENSSL_ia32cap\fR environment variable. For example assigning -\&\f(CW\*(C`:~0x20\*(C'\fR would disable \s-1AVX2\s0 code paths, and \f(CW\*(C`:0\*(C'\fR \- all post-AVX +To control this extended capability word use ':' as delimiter when +setting up OPENSSL_ia32cap environment variable. For example assigning +\&':~0x20' would disable \s-1AVX2\s0 code paths, and ':0' \- all post-AVX extensions. .PP It should be noted that whether or not some of the most \*(L"fancy\*(R" @@ -280,7 +280,7 @@ Not available. .IX Header "COPYRIGHT" Copyright 2004\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/OPENSSL_init_crypto.3 b/linux_amd64/share/man/man3/OPENSSL_init_crypto.3 index f2b8992..99ac139 100755 --- a/linux_amd64/share/man/man3/OPENSSL_init_crypto.3 +++ b/linux_amd64/share/man/man3/OPENSSL_init_crypto.3 @@ -124,17 +124,13 @@ .\" ======================================================================== .\" .IX Title "OPENSSL_INIT_CRYPTO 3" -.TH OPENSSL_INIT_CRYPTO 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH OPENSSL_INIT_CRYPTO 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -OPENSSL_INIT_new, OPENSSL_INIT_set_config_filename, -OPENSSL_INIT_set_config_appname, OPENSSL_INIT_set_config_file_flags, -OPENSSL_INIT_free, OPENSSL_init_crypto, OPENSSL_cleanup, OPENSSL_atexit, -OPENSSL_thread_stop_ex, OPENSSL_thread_stop \- OpenSSL initialisation -and deinitialisation functions +OPENSSL_INIT_new, OPENSSL_INIT_set_config_filename, OPENSSL_INIT_set_config_appname, OPENSSL_INIT_set_config_file_flags, OPENSSL_INIT_free, OPENSSL_init_crypto, OPENSSL_cleanup, OPENSSL_atexit, OPENSSL_thread_stop \- OpenSSL initialisation and deinitialisation functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -143,7 +139,6 @@ and deinitialisation functions \& void OPENSSL_cleanup(void); \& int OPENSSL_init_crypto(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings); \& int OPENSSL_atexit(void (*handler)(void)); -\& void OPENSSL_thread_stop_ex(OPENSSL_CTX *ctx); \& void OPENSSL_thread_stop(void); \& \& OPENSSL_INIT_SETTINGS *OPENSSL_INIT_new(void); @@ -220,12 +215,10 @@ calls to \fIOPENSSL_init_crypto()\fR with the option .IP "\s-1OPENSSL_INIT_LOAD_CONFIG\s0" 4 .IX Item "OPENSSL_INIT_LOAD_CONFIG" With this option an OpenSSL configuration file will be automatically loaded and -used by calling \fIOPENSSL_config()\fR. This is a default option. -Note that in OpenSSL 1.1.1 this was the default for libssl but not for -libcrypto (see \fIOPENSSL_init_ssl\fR\|(3) for further details about libssl -initialisation). -In OpenSSL 1.1.0 this was a non-default option for both libssl and libcrypto. -See the description of \fIOPENSSL_INIT_new()\fR, below. +used by calling \fIOPENSSL_config()\fR. This is not a default option for libcrypto. +As of OpenSSL 1.1.1 this is a default option for libssl (see +\&\fIOPENSSL_init_ssl\fR\|(3) for further details about libssl initialisation). See the +description of \fIOPENSSL_INIT_new()\fR, below. .IP "\s-1OPENSSL_INIT_NO_LOAD_CONFIG\s0" 4 .IX Item "OPENSSL_INIT_NO_LOAD_CONFIG" With this option the loading of OpenSSL configuration files will be suppressed. @@ -304,7 +297,7 @@ Attempts to call \fIOPENSSL_init_crypto()\fR will fail and an \s-1ERR_R_INIT_FAI will be added to the error stack. Note that because initialisation has failed OpenSSL error strings will not be available, only an error code. This code can be put through the openssl errstr command line application to produce a human -readable error (see \fIopenssl\-errstr\fR\|(1)). +readable error (see \fIerrstr\fR\|(1)). .PP The \fIOPENSSL_atexit()\fR function enables the registration of a function to be called during \fIOPENSSL_cleanup()\fR. Stop handlers are @@ -312,25 +305,11 @@ called after deinitialisation of resources local to a thread, but before other process wide resources are freed. In the event that multiple stop handlers are registered, no guarantees are made about the order of execution. .PP -The \fIOPENSSL_thread_stop_ex()\fR function deallocates resources associated -with the current thread for the given \s-1OPENSSL_CTX\s0 \fBctx\fR. The \fBctx\fR parameter -can be \s-1NULL\s0 in which case the default \s-1OPENSSL_CTX\s0 is used. -.PP -Typically, this function will be called automatically by the library when -the thread exits as long as the \s-1OPENSSL_CTX\s0 has not been freed before the thread -exits. If \fIOPENSSL_CTX_free()\fR is called OPENSSL_thread_stop_ex will be called -automatically for the current thread (but not any other threads that may have -used this \s-1OPENSSL_CTX\s0). -.PP -OPENSSL_thread_stop_ex should be called on all threads that will exit after the -\&\s-1OPENSSL_CTX\s0 is freed. -Typically this is not necessary for the default \s-1OPENSSL_CTX\s0 (because all -resources are cleaned up on library exit) except if thread local resources -should be freed before library exit, or under the circumstances described in -the \s-1NOTES\s0 section below. -.PP -\&\fIOPENSSL_thread_stop()\fR is the same as \fIOPENSSL_thread_stop_ex()\fR except that the -default \s-1OPENSSL_CTX\s0 is always used. +The \fIOPENSSL_thread_stop()\fR function deallocates resources associated +with the current thread. Typically this function will be called automatically by +the library when the thread exits. This should only be called directly if +resources should be freed at an earlier time, or under the circumstances +described in the \s-1NOTES\s0 section below. .PP The \fB\s-1OPENSSL_INIT_LOAD_CONFIG\s0\fR flag will load a configuration file, as with \&\fICONF_modules_load_file\fR\|(3) with \s-1NULL\s0 filename and application name and the @@ -338,7 +317,7 @@ The \fB\s-1OPENSSL_INIT_LOAD_CONFIG\s0\fR flag will load a configuration file, a \&\fB\s-1CONF_MFLAGS_DEFAULT_SECTION\s0\fR flags. The filename, application name, and flags can be customized by providing a non-null \fB\s-1OPENSSL_INIT_SETTINGS\s0\fR object. -The object can be allocated via \fB\f(BIOPENSSL_INIT_new()\fB\fR. +The object can be allocated via \fB\f(BIOPENSSL_init_new()\fB\fR. The \fB\f(BIOPENSSL_INIT_set_config_filename()\fB\fR function can be used to specify a non-default filename, which is copied and need not refer to persistent storage. Similarly, \fIOPENSSL_INIT_set_config_appname()\fR can be used to specify a @@ -383,9 +362,9 @@ The \fIOPENSSL_init_crypto()\fR, \fIOPENSSL_cleanup()\fR, \fIOPENSSL_atexit()\fR and \fIOPENSSL_INIT_free()\fR functions were added in OpenSSL 1.1.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2016\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2016\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/OPENSSL_init_ssl.3 b/linux_amd64/share/man/man3/OPENSSL_init_ssl.3 index 1a811bb..399ba66 100755 --- a/linux_amd64/share/man/man3/OPENSSL_init_ssl.3 +++ b/linux_amd64/share/man/man3/OPENSSL_init_ssl.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "OPENSSL_INIT_SSL 3" -.TH OPENSSL_INIT_SSL 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH OPENSSL_INIT_SSL 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -194,7 +194,7 @@ The \fIOPENSSL_init_ssl()\fR function was added in OpenSSL 1.1.0. .IX Header "COPYRIGHT" Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/OPENSSL_instrument_bus.3 b/linux_amd64/share/man/man3/OPENSSL_instrument_bus.3 index cdf4104..79e38e1 100755 --- a/linux_amd64/share/man/man3/OPENSSL_instrument_bus.3 +++ b/linux_amd64/share/man/man3/OPENSSL_instrument_bus.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "OPENSSL_INSTRUMENT_BUS 3" -.TH OPENSSL_INSTRUMENT_BUS 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH OPENSSL_INSTRUMENT_BUS 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -171,7 +171,7 @@ Otherwise number of recorded values is returned. .IX Header "COPYRIGHT" Copyright 2011\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/OPENSSL_instrument_bus2.3 b/linux_amd64/share/man/man3/OPENSSL_instrument_bus2.3 new file mode 120000 index 0000000..6ee08a4 --- /dev/null +++ b/linux_amd64/share/man/man3/OPENSSL_instrument_bus2.3 @@ -0,0 +1 @@ +OPENSSL_instrument_bus.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OPENSSL_load_builtin_modules.3 b/linux_amd64/share/man/man3/OPENSSL_load_builtin_modules.3 index df941ba..9214a75 100755 --- a/linux_amd64/share/man/man3/OPENSSL_load_builtin_modules.3 +++ b/linux_amd64/share/man/man3/OPENSSL_load_builtin_modules.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "OPENSSL_LOAD_BUILTIN_MODULES 3" -.TH OPENSSL_LOAD_BUILTIN_MODULES 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH OPENSSL_LOAD_BUILTIN_MODULES 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -172,7 +172,7 @@ None of the functions return a value. .IX Header "COPYRIGHT" Copyright 2004\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/OPENSSL_malloc.3 b/linux_amd64/share/man/man3/OPENSSL_malloc.3 index c4a283f..f369231 100755 --- a/linux_amd64/share/man/man3/OPENSSL_malloc.3 +++ b/linux_amd64/share/man/man3/OPENSSL_malloc.3 @@ -124,91 +124,75 @@ .\" ======================================================================== .\" .IX Title "OPENSSL_MALLOC 3" -.TH OPENSSL_MALLOC 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH OPENSSL_MALLOC 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -OPENSSL_malloc_init, -OPENSSL_malloc, OPENSSL_zalloc, OPENSSL_realloc, OPENSSL_free, -OPENSSL_clear_realloc, OPENSSL_clear_free, OPENSSL_cleanse, -CRYPTO_malloc, CRYPTO_zalloc, CRYPTO_realloc, CRYPTO_free, -OPENSSL_strdup, OPENSSL_strndup, -OPENSSL_memdup, OPENSSL_strlcpy, OPENSSL_strlcat, -CRYPTO_strdup, CRYPTO_strndup, -OPENSSL_mem_debug_push, OPENSSL_mem_debug_pop, -CRYPTO_mem_debug_push, CRYPTO_mem_debug_pop, -CRYPTO_clear_realloc, CRYPTO_clear_free, -CRYPTO_malloc_fn, CRYPTO_realloc_fn, CRYPTO_free_fn, -CRYPTO_get_mem_functions, CRYPTO_set_mem_functions, -CRYPTO_get_alloc_counts, -CRYPTO_set_mem_debug, CRYPTO_mem_ctrl, -CRYPTO_mem_leaks, CRYPTO_mem_leaks_fp, CRYPTO_mem_leaks_cb, -OPENSSL_MALLOC_FAILURES, -OPENSSL_MALLOC_FD -\&\- Memory allocation functions +OPENSSL_malloc_init, OPENSSL_malloc, OPENSSL_zalloc, OPENSSL_realloc, OPENSSL_free, OPENSSL_clear_realloc, OPENSSL_clear_free, OPENSSL_cleanse, CRYPTO_malloc, CRYPTO_zalloc, CRYPTO_realloc, CRYPTO_free, OPENSSL_strdup, OPENSSL_strndup, OPENSSL_memdup, OPENSSL_strlcpy, OPENSSL_strlcat, OPENSSL_hexstr2buf, OPENSSL_buf2hexstr, OPENSSL_hexchar2int, CRYPTO_strdup, CRYPTO_strndup, OPENSSL_mem_debug_push, OPENSSL_mem_debug_pop, CRYPTO_mem_debug_push, CRYPTO_mem_debug_pop, CRYPTO_clear_realloc, CRYPTO_clear_free, CRYPTO_get_mem_functions, CRYPTO_set_mem_functions, CRYPTO_get_alloc_counts, CRYPTO_set_mem_debug, CRYPTO_mem_ctrl, CRYPTO_mem_leaks, CRYPTO_mem_leaks_fp, CRYPTO_mem_leaks_cb, OPENSSL_MALLOC_FAILURES, OPENSSL_MALLOC_FD \&\- Memory allocation functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include \& -\& int OPENSSL_malloc_init(void); +\& int OPENSSL_malloc_init(void) \& -\& void *OPENSSL_malloc(size_t num); -\& void *OPENSSL_zalloc(size_t num); -\& void *OPENSSL_realloc(void *addr, size_t num); -\& void OPENSSL_free(void *addr); -\& char *OPENSSL_strdup(const char *str); -\& char *OPENSSL_strndup(const char *str, size_t s); +\& void *OPENSSL_malloc(size_t num) +\& void *OPENSSL_zalloc(size_t num) +\& void *OPENSSL_realloc(void *addr, size_t num) +\& void OPENSSL_free(void *addr) +\& char *OPENSSL_strdup(const char *str) +\& char *OPENSSL_strndup(const char *str, size_t s) \& size_t OPENSSL_strlcat(char *dst, const char *src, size_t size); \& size_t OPENSSL_strlcpy(char *dst, const char *src, size_t size); -\& void *OPENSSL_memdup(void *data, size_t s); -\& void *OPENSSL_clear_realloc(void *p, size_t old_len, size_t num); -\& void OPENSSL_clear_free(void *str, size_t num); +\& void *OPENSSL_memdup(void *data, size_t s) +\& void *OPENSSL_clear_realloc(void *p, size_t old_len, size_t num) +\& void OPENSSL_clear_free(void *str, size_t num) \& void OPENSSL_cleanse(void *ptr, size_t len); \& -\& void *CRYPTO_malloc(size_t num, const char *file, int line); -\& void *CRYPTO_zalloc(size_t num, const char *file, int line); -\& void *CRYPTO_realloc(void *p, size_t num, const char *file, int line); -\& void CRYPTO_free(void *str, const char *, int); -\& char *CRYPTO_strdup(const char *p, const char *file, int line); -\& char *CRYPTO_strndup(const char *p, size_t num, const char *file, int line); +\& unsigned char *OPENSSL_hexstr2buf(const char *str, long *len); +\& char *OPENSSL_buf2hexstr(const unsigned char *buffer, long len); +\& int OPENSSL_hexchar2int(unsigned char c); +\& +\& void *CRYPTO_malloc(size_t num, const char *file, int line) +\& void *CRYPTO_zalloc(size_t num, const char *file, int line) +\& void *CRYPTO_realloc(void *p, size_t num, const char *file, int line) +\& void CRYPTO_free(void *str, const char *, int) +\& char *CRYPTO_strdup(const char *p, const char *file, int line) +\& char *CRYPTO_strndup(const char *p, size_t num, const char *file, int line) \& void *CRYPTO_clear_realloc(void *p, size_t old_len, size_t num, -\& const char *file, int line); +\& const char *file, int line) \& void CRYPTO_clear_free(void *str, size_t num, const char *, int) \& -\& typedef void *(*CRYPTO_malloc_fn)(size_t num, const char *file, int line); -\& typedef void *(*CRYPTO_realloc_fn)(void *addr, size_t num, const char *file, -\& int line); -\& typedef void (*CRYPTO_free_fn)(void *addr, const char *file, int line); -\& void CRYPTO_get_mem_functions(CRYPTO_malloc_fn *malloc_fn, -\& CRYPTO_realloc_fn *realloc_fn, -\& CRYPTO_free_fn *free_fn); -\& int CRYPTO_set_mem_functions(CRYPTO_malloc_fn malloc_fn, -\& CRYPTO_realloc_fn realloc_fn, -\& CRYPTO_free_fn free_fn); +\& void CRYPTO_get_mem_functions( +\& void *(**m)(size_t, const char *, int), +\& void *(**r)(void *, size_t, const char *, int), +\& void (**f)(void *, const char *, int)) +\& int CRYPTO_set_mem_functions( +\& void *(*m)(size_t, const char *, int), +\& void *(*r)(void *, size_t, const char *, int), +\& void (*f)(void *, const char *, int)) \& -\& void CRYPTO_get_alloc_counts(int *mcount, int *rcount, int *fcount); +\& void CRYPTO_get_alloc_counts(int *m, int *r, int *f) +\& +\& int CRYPTO_set_mem_debug(int onoff) \& \& env OPENSSL_MALLOC_FAILURES=... \& env OPENSSL_MALLOC_FD=... -.Ve -.PP -Deprecated: -.PP -.Vb 4 +\& +\& int CRYPTO_mem_ctrl(int mode); +\& +\& int OPENSSL_mem_debug_push(const char *info) +\& int OPENSSL_mem_debug_pop(void); +\& +\& int CRYPTO_mem_debug_push(const char *info, const char *file, int line); +\& int CRYPTO_mem_debug_pop(void); +\& \& int CRYPTO_mem_leaks(BIO *b); \& int CRYPTO_mem_leaks_fp(FILE *fp); \& int CRYPTO_mem_leaks_cb(int (*cb)(const char *str, size_t len, void *u), \& void *u); -\& -\& int CRYPTO_set_mem_debug(int onoff) -\& int CRYPTO_mem_ctrl(int mode); -\& int OPENSSL_mem_debug_push(const char *info) -\& int OPENSSL_mem_debug_pop(void); -\& int CRYPTO_mem_debug_push(const char *info, const char *file, int line); -\& int CRYPTO_mem_debug_pop(void); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" @@ -245,17 +229,61 @@ equivalent C functions, except that memory is allocated by calling the \&\fIOPENSSL_strlcat()\fR and \fIOPENSSL_strnlen()\fR are equivalents of the common C library functions and are provided for portability. .PP +\&\fIOPENSSL_hexstr2buf()\fR parses \fBstr\fR as a hex string and returns a +pointer to the parsed value. The memory is allocated by calling +\&\fIOPENSSL_malloc()\fR and should be released by calling \fIOPENSSL_free()\fR. +If \fBlen\fR is not \s-1NULL\s0, it is filled in with the output length. +Colons between two-character hex \*(L"bytes\*(R" are ignored. +An odd number of hex digits is an error. +.PP +\&\fIOPENSSL_buf2hexstr()\fR takes the specified buffer and length, and returns +a hex string for value, or \s-1NULL\s0 on error. +\&\fBBuffer\fR cannot be \s-1NULL\s0; if \fBlen\fR is 0 an empty string is returned. +.PP +\&\fIOPENSSL_hexchar2int()\fR converts a character to the hexadecimal equivalent, +or returns \-1 on error. +.PP If no allocations have been done, it is possible to \*(L"swap out\*(R" the default -implementations for \fIOPENSSL_malloc()\fR, \fIOPENSSL_realloc()\fR and \fIOPENSSL_free()\fR -and replace them with alternate versions. +implementations for \fIOPENSSL_malloc()\fR, OPENSSL_realloc and \fIOPENSSL_free()\fR +and replace them with alternate versions (hooks). \&\fICRYPTO_get_mem_functions()\fR function fills in the given arguments with the function pointers for the current implementations. With \fICRYPTO_set_mem_functions()\fR, you can specify a different set of functions. -If any of \fBmalloc_fn\fR, \fBrealloc_fn\fR, or \fBfree_fn\fR are \s-1NULL\s0, then -the function is not changed. -While it's permitted to swap out only a few and not all the functions -with \fICRYPTO_set_mem_functions()\fR, it's recommended to swap them all out -at once. +If any of \fBm\fR, \fBr\fR, or \fBf\fR are \s-1NULL\s0, then the function is not changed. +.PP +The default implementation can include some debugging capability (if enabled +at build-time). +This adds some overhead by keeping a list of all memory allocations, and +removes items from the list when they are free'd. +This is most useful for identifying memory leaks. +\&\fICRYPTO_set_mem_debug()\fR turns this tracking on and off. In order to have +any effect, is must be called before any of the allocation functions +(e.g., \fICRYPTO_malloc()\fR) are called, and is therefore normally one of the +first lines of \fImain()\fR in an application. +\&\fICRYPTO_mem_ctrl()\fR provides fine-grained control of memory leak tracking. +To enable tracking call \fICRYPTO_mem_ctrl()\fR with a \fBmode\fR argument of +the \fB\s-1CRYPTO_MEM_CHECK_ON\s0\fR. +To disable tracking call \fICRYPTO_mem_ctrl()\fR with a \fBmode\fR argument of +the \fB\s-1CRYPTO_MEM_CHECK_OFF\s0\fR. +.PP +While checking memory, it can be useful to store additional context +about what is being done. +For example, identifying the field names when parsing a complicated +data structure. +\&\fIOPENSSL_mem_debug_push()\fR (which calls \fICRYPTO_mem_debug_push()\fR) +attaches an identifying string to the allocation stack. +This must be a global or other static string; it is not copied. +\&\fIOPENSSL_mem_debug_pop()\fR removes identifying state from the stack. +.PP +At the end of the program, calling \fICRYPTO_mem_leaks()\fR or +\&\fICRYPTO_mem_leaks_fp()\fR will report all \*(L"leaked\*(R" memory, writing it +to the specified \s-1BIO\s0 \fBb\fR or \s-1FILE\s0 \fBfp\fR. These functions return 1 if +there are no leaks, 0 if there are leaks and \-1 if an error occurred. +.PP +\&\fICRYPTO_mem_leaks_cb()\fR does the same as \fICRYPTO_mem_leaks()\fR, but instead +of writing to a given \s-1BIO\s0, the callback function is called for each +output string with the string, length, and userdata \fBu\fR as the callback +parameters. .PP If the library is built with the \f(CW\*(C`crypto\-mdebug\*(C'\fR option, then one function, \fICRYPTO_get_alloc_counts()\fR, and two additional environment @@ -297,35 +325,38 @@ to use this (will not work on all platforms): \&\fICRYPTO_free()\fR, \fICRYPTO_clear_free()\fR and \fICRYPTO_get_mem_functions()\fR return no value. .PP +\&\fICRYPTO_mem_leaks()\fR, \fICRYPTO_mem_leaks_fp()\fR and \fICRYPTO_mem_leaks_cb()\fR return 1 if +there are no leaks, 0 if there are leaks and \-1 if an error occurred. +.PP \&\fIOPENSSL_malloc()\fR, \fIOPENSSL_zalloc()\fR, \fIOPENSSL_realloc()\fR, \&\fIOPENSSL_clear_realloc()\fR, \&\fICRYPTO_malloc()\fR, \fICRYPTO_zalloc()\fR, \fICRYPTO_realloc()\fR, \&\fICRYPTO_clear_realloc()\fR, +\&\fIOPENSSL_buf2hexstr()\fR, \fIOPENSSL_hexstr2buf()\fR, \&\fIOPENSSL_strdup()\fR, and \fIOPENSSL_strndup()\fR return a pointer to allocated memory or \s-1NULL\s0 on error. .PP -\&\fICRYPTO_set_mem_functions()\fR returns 1 on success or 0 on failure (almost +\&\fICRYPTO_set_mem_functions()\fR and \fICRYPTO_set_mem_debug()\fR +return 1 on success or 0 on failure (almost always because allocations have already happened). .PP -\&\fICRYPTO_mem_leaks()\fR, \fICRYPTO_mem_leaks_fp()\fR, \fICRYPTO_mem_leaks_cb()\fR, -\&\fICRYPTO_set_mem_debug()\fR, and \fICRYPTO_mem_ctrl()\fR are deprecated and return \-1. -\&\fIOPENSSL_mem_debug_push()\fR, \fIOPENSSL_mem_debug_pop()\fR, -\&\fICRYPTO_mem_debug_push()\fR, and \fICRYPTO_mem_debug_pop()\fR -are deprecated and return 0. -.SH "HISTORY" -.IX Header "HISTORY" -\&\fIOPENSSL_mem_debug_push()\fR, \fIOPENSSL_mem_debug_pop()\fR, -\&\fICRYPTO_mem_debug_push()\fR, \fICRYPTO_mem_debug_pop()\fR, -\&\fICRYPTO_mem_leaks()\fR, \fICRYPTO_mem_leaks_fp()\fR, -\&\fICRYPTO_mem_leaks_cb()\fR, \fICRYPTO_set_mem_debug()\fR, \fICRYPTO_mem_ctrl()\fR -were deprecated in OpenSSL 3.0. -The memory-leak checking has been deprecated in OpenSSL 3.0 in favor of -clang's memory and leak sanitizer. +\&\fICRYPTO_mem_ctrl()\fR returns \-1 if an error occurred, otherwise the +previous value of the mode. +.PP +\&\fIOPENSSL_mem_debug_push()\fR and \fIOPENSSL_mem_debug_pop()\fR +return 1 on success or 0 on failure. +.SH "NOTES" +.IX Header "NOTES" +While it's permitted to swap out only a few and not all the functions +with \fICRYPTO_set_mem_functions()\fR, it's recommended to swap them all out +at once. \fIThis applies specially if OpenSSL was built with the +configuration option\fR \f(CW\*(C`crypto\-mdebug\*(C'\fR \fIenabled. In case, swapping out +only, say, the \fImalloc()\fI implementation is outright dangerous.\fR .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2016\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2016\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/OPENSSL_malloc_init.3 b/linux_amd64/share/man/man3/OPENSSL_malloc_init.3 new file mode 120000 index 0000000..9246368 --- /dev/null +++ b/linux_amd64/share/man/man3/OPENSSL_malloc_init.3 @@ -0,0 +1 @@ +OPENSSL_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OPENSSL_mem_debug_pop.3 b/linux_amd64/share/man/man3/OPENSSL_mem_debug_pop.3 new file mode 120000 index 0000000..9246368 --- /dev/null +++ b/linux_amd64/share/man/man3/OPENSSL_mem_debug_pop.3 @@ -0,0 +1 @@ +OPENSSL_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OPENSSL_mem_debug_push.3 b/linux_amd64/share/man/man3/OPENSSL_mem_debug_push.3 new file mode 120000 index 0000000..9246368 --- /dev/null +++ b/linux_amd64/share/man/man3/OPENSSL_mem_debug_push.3 @@ -0,0 +1 @@ +OPENSSL_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OPENSSL_memdup.3 b/linux_amd64/share/man/man3/OPENSSL_memdup.3 new file mode 120000 index 0000000..9246368 --- /dev/null +++ b/linux_amd64/share/man/man3/OPENSSL_memdup.3 @@ -0,0 +1 @@ +OPENSSL_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OPENSSL_no_config.3 b/linux_amd64/share/man/man3/OPENSSL_no_config.3 new file mode 120000 index 0000000..8e33e48 --- /dev/null +++ b/linux_amd64/share/man/man3/OPENSSL_no_config.3 @@ -0,0 +1 @@ +OPENSSL_config.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OPENSSL_realloc.3 b/linux_amd64/share/man/man3/OPENSSL_realloc.3 new file mode 120000 index 0000000..9246368 --- /dev/null +++ b/linux_amd64/share/man/man3/OPENSSL_realloc.3 @@ -0,0 +1 @@ +OPENSSL_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OPENSSL_secure_actual_size.3 b/linux_amd64/share/man/man3/OPENSSL_secure_actual_size.3 new file mode 120000 index 0000000..1a8261f --- /dev/null +++ b/linux_amd64/share/man/man3/OPENSSL_secure_actual_size.3 @@ -0,0 +1 @@ +OPENSSL_secure_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OPENSSL_secure_clear_free.3 b/linux_amd64/share/man/man3/OPENSSL_secure_clear_free.3 new file mode 120000 index 0000000..1a8261f --- /dev/null +++ b/linux_amd64/share/man/man3/OPENSSL_secure_clear_free.3 @@ -0,0 +1 @@ +OPENSSL_secure_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OPENSSL_secure_free.3 b/linux_amd64/share/man/man3/OPENSSL_secure_free.3 new file mode 120000 index 0000000..1a8261f --- /dev/null +++ b/linux_amd64/share/man/man3/OPENSSL_secure_free.3 @@ -0,0 +1 @@ +OPENSSL_secure_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OPENSSL_secure_malloc.3 b/linux_amd64/share/man/man3/OPENSSL_secure_malloc.3 index b8be38b..bc117b9 100755 --- a/linux_amd64/share/man/man3/OPENSSL_secure_malloc.3 +++ b/linux_amd64/share/man/man3/OPENSSL_secure_malloc.3 @@ -124,25 +124,19 @@ .\" ======================================================================== .\" .IX Title "OPENSSL_SECURE_MALLOC 3" -.TH OPENSSL_SECURE_MALLOC 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH OPENSSL_SECURE_MALLOC 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -CRYPTO_secure_malloc_init, CRYPTO_secure_malloc_initialized, -CRYPTO_secure_malloc_done, OPENSSL_secure_malloc, CRYPTO_secure_malloc, -OPENSSL_secure_zalloc, CRYPTO_secure_zalloc, OPENSSL_secure_free, -CRYPTO_secure_free, OPENSSL_secure_clear_free, -CRYPTO_secure_clear_free, OPENSSL_secure_actual_size, -CRYPTO_secure_allocated, -CRYPTO_secure_used \- secure heap storage +CRYPTO_secure_malloc_init, CRYPTO_secure_malloc_initialized, CRYPTO_secure_malloc_done, OPENSSL_secure_malloc, CRYPTO_secure_malloc, OPENSSL_secure_zalloc, CRYPTO_secure_zalloc, OPENSSL_secure_free, CRYPTO_secure_free, OPENSSL_secure_clear_free, CRYPTO_secure_clear_free, OPENSSL_secure_actual_size, CRYPTO_secure_allocated, CRYPTO_secure_used \- secure heap storage .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include \& -\& int CRYPTO_secure_malloc_init(size_t size, size_t minsize); +\& int CRYPTO_secure_malloc_init(size_t size, int minsize); \& \& int CRYPTO_secure_malloc_initialized(); \& @@ -181,10 +175,8 @@ put all intermediate values and computations there. .PP \&\fICRYPTO_secure_malloc_init()\fR creates the secure heap, with the specified \&\f(CW\*(C`size\*(C'\fR in bytes. The \f(CW\*(C`minsize\*(C'\fR parameter is the minimum size to -allocate from the heap or zero to use a reasonable default value. -Both \f(CW\*(C`size\*(C'\fR and, if specified, \f(CW\*(C`minsize\*(C'\fR must be a power of two and -\&\f(CW\*(C`minsize\*(C'\fR should generally be small, for example 16 or 32. -\&\f(CW\*(C`minsize\*(C'\fR must be less than a quarter of \f(CW\*(C`size\*(C'\fR in any case. +allocate from the heap. Both \f(CW\*(C`size\*(C'\fR and \f(CW\*(C`minsize\*(C'\fR must be a power +of two. .PP \&\fICRYPTO_secure_malloc_initialized()\fR indicates whether or not the secure heap as been initialized and is available. @@ -252,14 +244,11 @@ allocated. .SH "HISTORY" .IX Header "HISTORY" The \fIOPENSSL_secure_clear_free()\fR function was added in OpenSSL 1.1.0g. -.PP -The second argument to \fICRYPTO_secure_malloc_init()\fR was changed from an \fBint\fR to -a \fBsize_t\fR in OpenSSL 3.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2015\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/OPENSSL_secure_zalloc.3 b/linux_amd64/share/man/man3/OPENSSL_secure_zalloc.3 new file mode 120000 index 0000000..1a8261f --- /dev/null +++ b/linux_amd64/share/man/man3/OPENSSL_secure_zalloc.3 @@ -0,0 +1 @@ +OPENSSL_secure_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OPENSSL_strdup.3 b/linux_amd64/share/man/man3/OPENSSL_strdup.3 new file mode 120000 index 0000000..9246368 --- /dev/null +++ b/linux_amd64/share/man/man3/OPENSSL_strdup.3 @@ -0,0 +1 @@ +OPENSSL_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OPENSSL_strlcat.3 b/linux_amd64/share/man/man3/OPENSSL_strlcat.3 new file mode 120000 index 0000000..9246368 --- /dev/null +++ b/linux_amd64/share/man/man3/OPENSSL_strlcat.3 @@ -0,0 +1 @@ +OPENSSL_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OPENSSL_strlcpy.3 b/linux_amd64/share/man/man3/OPENSSL_strlcpy.3 new file mode 120000 index 0000000..9246368 --- /dev/null +++ b/linux_amd64/share/man/man3/OPENSSL_strlcpy.3 @@ -0,0 +1 @@ +OPENSSL_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OPENSSL_strndup.3 b/linux_amd64/share/man/man3/OPENSSL_strndup.3 new file mode 120000 index 0000000..9246368 --- /dev/null +++ b/linux_amd64/share/man/man3/OPENSSL_strndup.3 @@ -0,0 +1 @@ +OPENSSL_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OPENSSL_thread_stop.3 b/linux_amd64/share/man/man3/OPENSSL_thread_stop.3 new file mode 120000 index 0000000..76a78b0 --- /dev/null +++ b/linux_amd64/share/man/man3/OPENSSL_thread_stop.3 @@ -0,0 +1 @@ +OPENSSL_init_crypto.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OPENSSL_zalloc.3 b/linux_amd64/share/man/man3/OPENSSL_zalloc.3 new file mode 120000 index 0000000..9246368 --- /dev/null +++ b/linux_amd64/share/man/man3/OPENSSL_zalloc.3 @@ -0,0 +1 @@ +OPENSSL_malloc.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_CTX.3 b/linux_amd64/share/man/man3/OSSL_STORE_CTX.3 new file mode 120000 index 0000000..2461f8b --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_CTX.3 @@ -0,0 +1 @@ +OSSL_STORE_open.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_INFO.3 b/linux_amd64/share/man/man3/OSSL_STORE_INFO.3 index 1b2f93f..fea54a6 100755 --- a/linux_amd64/share/man/man3/OSSL_STORE_INFO.3 +++ b/linux_amd64/share/man/man3/OSSL_STORE_INFO.3 @@ -124,22 +124,13 @@ .\" ======================================================================== .\" .IX Title "OSSL_STORE_INFO 3" -.TH OSSL_STORE_INFO 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH OSSL_STORE_INFO 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -OSSL_STORE_INFO, OSSL_STORE_INFO_get_type, OSSL_STORE_INFO_get0_NAME, -OSSL_STORE_INFO_get0_NAME_description, OSSL_STORE_INFO_get0_PARAMS, -OSSL_STORE_INFO_get0_PKEY, OSSL_STORE_INFO_get0_CERT, OSSL_STORE_INFO_get0_CRL, -OSSL_STORE_INFO_get1_NAME, OSSL_STORE_INFO_get1_NAME_description, -OSSL_STORE_INFO_get1_PARAMS, OSSL_STORE_INFO_get1_PKEY, -OSSL_STORE_INFO_get1_CERT, -OSSL_STORE_INFO_get1_CRL, OSSL_STORE_INFO_type_string, OSSL_STORE_INFO_free, -OSSL_STORE_INFO_new_NAME, OSSL_STORE_INFO_set0_NAME_description, -OSSL_STORE_INFO_new_PARAMS, OSSL_STORE_INFO_new_PKEY, OSSL_STORE_INFO_new_CERT, -OSSL_STORE_INFO_new_CRL \- Functions to manipulate OSSL_STORE_INFO objects +OSSL_STORE_INFO, OSSL_STORE_INFO_get_type, OSSL_STORE_INFO_get0_NAME, OSSL_STORE_INFO_get0_NAME_description, OSSL_STORE_INFO_get0_PARAMS, OSSL_STORE_INFO_get0_PKEY, OSSL_STORE_INFO_get0_CERT, OSSL_STORE_INFO_get0_CRL, OSSL_STORE_INFO_get1_NAME, OSSL_STORE_INFO_get1_NAME_description, OSSL_STORE_INFO_get1_PARAMS, OSSL_STORE_INFO_get1_PKEY, OSSL_STORE_INFO_get1_CERT, OSSL_STORE_INFO_get1_CRL, OSSL_STORE_INFO_type_string, OSSL_STORE_INFO_free, OSSL_STORE_INFO_new_NAME, OSSL_STORE_INFO_set0_NAME_description, OSSL_STORE_INFO_new_PARAMS, OSSL_STORE_INFO_new_PKEY, OSSL_STORE_INFO_new_CERT, OSSL_STORE_INFO_new_CRL \- Functions to manipulate OSSL_STORE_INFO objects .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -308,7 +299,7 @@ were added in OpenSSL 1.1.1. .IX Header "COPYRIGHT" Copyright 2016\-2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/OSSL_STORE_INFO_free.3 b/linux_amd64/share/man/man3/OSSL_STORE_INFO_free.3 new file mode 120000 index 0000000..fc8d86a --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_INFO_free.3 @@ -0,0 +1 @@ +OSSL_STORE_INFO.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_INFO_get0_CERT.3 b/linux_amd64/share/man/man3/OSSL_STORE_INFO_get0_CERT.3 new file mode 120000 index 0000000..fc8d86a --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_INFO_get0_CERT.3 @@ -0,0 +1 @@ +OSSL_STORE_INFO.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_INFO_get0_CRL.3 b/linux_amd64/share/man/man3/OSSL_STORE_INFO_get0_CRL.3 new file mode 120000 index 0000000..fc8d86a --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_INFO_get0_CRL.3 @@ -0,0 +1 @@ +OSSL_STORE_INFO.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_INFO_get0_NAME.3 b/linux_amd64/share/man/man3/OSSL_STORE_INFO_get0_NAME.3 new file mode 120000 index 0000000..fc8d86a --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_INFO_get0_NAME.3 @@ -0,0 +1 @@ +OSSL_STORE_INFO.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_INFO_get0_NAME_description.3 b/linux_amd64/share/man/man3/OSSL_STORE_INFO_get0_NAME_description.3 new file mode 120000 index 0000000..fc8d86a --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_INFO_get0_NAME_description.3 @@ -0,0 +1 @@ +OSSL_STORE_INFO.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_INFO_get0_PARAMS.3 b/linux_amd64/share/man/man3/OSSL_STORE_INFO_get0_PARAMS.3 new file mode 120000 index 0000000..fc8d86a --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_INFO_get0_PARAMS.3 @@ -0,0 +1 @@ +OSSL_STORE_INFO.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_INFO_get0_PKEY.3 b/linux_amd64/share/man/man3/OSSL_STORE_INFO_get0_PKEY.3 new file mode 120000 index 0000000..fc8d86a --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_INFO_get0_PKEY.3 @@ -0,0 +1 @@ +OSSL_STORE_INFO.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_INFO_get1_CERT.3 b/linux_amd64/share/man/man3/OSSL_STORE_INFO_get1_CERT.3 new file mode 120000 index 0000000..fc8d86a --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_INFO_get1_CERT.3 @@ -0,0 +1 @@ +OSSL_STORE_INFO.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_INFO_get1_CRL.3 b/linux_amd64/share/man/man3/OSSL_STORE_INFO_get1_CRL.3 new file mode 120000 index 0000000..fc8d86a --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_INFO_get1_CRL.3 @@ -0,0 +1 @@ +OSSL_STORE_INFO.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_INFO_get1_NAME.3 b/linux_amd64/share/man/man3/OSSL_STORE_INFO_get1_NAME.3 new file mode 120000 index 0000000..fc8d86a --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_INFO_get1_NAME.3 @@ -0,0 +1 @@ +OSSL_STORE_INFO.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_INFO_get1_NAME_description.3 b/linux_amd64/share/man/man3/OSSL_STORE_INFO_get1_NAME_description.3 new file mode 120000 index 0000000..fc8d86a --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_INFO_get1_NAME_description.3 @@ -0,0 +1 @@ +OSSL_STORE_INFO.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_INFO_get1_PARAMS.3 b/linux_amd64/share/man/man3/OSSL_STORE_INFO_get1_PARAMS.3 new file mode 120000 index 0000000..fc8d86a --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_INFO_get1_PARAMS.3 @@ -0,0 +1 @@ +OSSL_STORE_INFO.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_INFO_get1_PKEY.3 b/linux_amd64/share/man/man3/OSSL_STORE_INFO_get1_PKEY.3 new file mode 120000 index 0000000..fc8d86a --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_INFO_get1_PKEY.3 @@ -0,0 +1 @@ +OSSL_STORE_INFO.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_INFO_get_type.3 b/linux_amd64/share/man/man3/OSSL_STORE_INFO_get_type.3 new file mode 120000 index 0000000..fc8d86a --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_INFO_get_type.3 @@ -0,0 +1 @@ +OSSL_STORE_INFO.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_INFO_new_CERT.3 b/linux_amd64/share/man/man3/OSSL_STORE_INFO_new_CERT.3 new file mode 120000 index 0000000..fc8d86a --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_INFO_new_CERT.3 @@ -0,0 +1 @@ +OSSL_STORE_INFO.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_INFO_new_CRL.3 b/linux_amd64/share/man/man3/OSSL_STORE_INFO_new_CRL.3 new file mode 120000 index 0000000..fc8d86a --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_INFO_new_CRL.3 @@ -0,0 +1 @@ +OSSL_STORE_INFO.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_INFO_new_NAME.3 b/linux_amd64/share/man/man3/OSSL_STORE_INFO_new_NAME.3 new file mode 120000 index 0000000..fc8d86a --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_INFO_new_NAME.3 @@ -0,0 +1 @@ +OSSL_STORE_INFO.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_INFO_new_PARAMS.3 b/linux_amd64/share/man/man3/OSSL_STORE_INFO_new_PARAMS.3 new file mode 120000 index 0000000..fc8d86a --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_INFO_new_PARAMS.3 @@ -0,0 +1 @@ +OSSL_STORE_INFO.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_INFO_new_PKEY.3 b/linux_amd64/share/man/man3/OSSL_STORE_INFO_new_PKEY.3 new file mode 120000 index 0000000..fc8d86a --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_INFO_new_PKEY.3 @@ -0,0 +1 @@ +OSSL_STORE_INFO.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_INFO_set0_NAME_description.3 b/linux_amd64/share/man/man3/OSSL_STORE_INFO_set0_NAME_description.3 new file mode 120000 index 0000000..fc8d86a --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_INFO_set0_NAME_description.3 @@ -0,0 +1 @@ +OSSL_STORE_INFO.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_INFO_type_string.3 b/linux_amd64/share/man/man3/OSSL_STORE_INFO_type_string.3 new file mode 120000 index 0000000..fc8d86a --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_INFO_type_string.3 @@ -0,0 +1 @@ +OSSL_STORE_INFO.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_LOADER.3 b/linux_amd64/share/man/man3/OSSL_STORE_LOADER.3 index 08f4d6a..67ba202 100755 --- a/linux_amd64/share/man/man3/OSSL_STORE_LOADER.3 +++ b/linux_amd64/share/man/man3/OSSL_STORE_LOADER.3 @@ -124,24 +124,13 @@ .\" ======================================================================== .\" .IX Title "OSSL_STORE_LOADER 3" -.TH OSSL_STORE_LOADER 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH OSSL_STORE_LOADER 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -OSSL_STORE_LOADER, OSSL_STORE_LOADER_CTX, OSSL_STORE_LOADER_new, -OSSL_STORE_LOADER_get0_engine, OSSL_STORE_LOADER_get0_scheme, -OSSL_STORE_LOADER_set_open, OSSL_STORE_LOADER_set_ctrl, -OSSL_STORE_LOADER_set_expect, OSSL_STORE_LOADER_set_find, -OSSL_STORE_LOADER_set_load, OSSL_STORE_LOADER_set_eof, -OSSL_STORE_LOADER_set_error, OSSL_STORE_LOADER_set_close, -OSSL_STORE_LOADER_free, OSSL_STORE_register_loader, -OSSL_STORE_unregister_loader, OSSL_STORE_open_fn, OSSL_STORE_ctrl_fn, -OSSL_STORE_expect_fn, OSSL_STORE_find_fn, -OSSL_STORE_load_fn, OSSL_STORE_eof_fn, OSSL_STORE_error_fn, -OSSL_STORE_close_fn \- Types and functions to manipulate, register and -unregister STORE loaders for different URI schemes +OSSL_STORE_LOADER, OSSL_STORE_LOADER_CTX, OSSL_STORE_LOADER_new, OSSL_STORE_LOADER_get0_engine, OSSL_STORE_LOADER_get0_scheme, OSSL_STORE_LOADER_set_open, OSSL_STORE_LOADER_set_ctrl, OSSL_STORE_LOADER_set_expect, OSSL_STORE_LOADER_set_find, OSSL_STORE_LOADER_set_load, OSSL_STORE_LOADER_set_eof, OSSL_STORE_LOADER_set_error, OSSL_STORE_LOADER_set_close, OSSL_STORE_LOADER_free, OSSL_STORE_register_loader, OSSL_STORE_unregister_loader, OSSL_STORE_open_fn, OSSL_STORE_ctrl_fn, OSSL_STORE_expect_fn, OSSL_STORE_find_fn, OSSL_STORE_load_fn, OSSL_STORE_eof_fn, OSSL_STORE_error_fn, OSSL_STORE_close_fn \- Types and functions to manipulate, register and unregister STORE loaders for different URI schemes .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -356,9 +345,9 @@ or \fB\s-1NULL\s0\fR on failure. were added in OpenSSL 1.1.1. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2016\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2016\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/OSSL_STORE_LOADER_CTX.3 b/linux_amd64/share/man/man3/OSSL_STORE_LOADER_CTX.3 new file mode 120000 index 0000000..c14cbdd --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_LOADER_CTX.3 @@ -0,0 +1 @@ +OSSL_STORE_LOADER.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_LOADER_free.3 b/linux_amd64/share/man/man3/OSSL_STORE_LOADER_free.3 new file mode 120000 index 0000000..c14cbdd --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_LOADER_free.3 @@ -0,0 +1 @@ +OSSL_STORE_LOADER.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_LOADER_get0_engine.3 b/linux_amd64/share/man/man3/OSSL_STORE_LOADER_get0_engine.3 new file mode 120000 index 0000000..c14cbdd --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_LOADER_get0_engine.3 @@ -0,0 +1 @@ +OSSL_STORE_LOADER.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_LOADER_get0_scheme.3 b/linux_amd64/share/man/man3/OSSL_STORE_LOADER_get0_scheme.3 new file mode 120000 index 0000000..c14cbdd --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_LOADER_get0_scheme.3 @@ -0,0 +1 @@ +OSSL_STORE_LOADER.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_LOADER_new.3 b/linux_amd64/share/man/man3/OSSL_STORE_LOADER_new.3 new file mode 120000 index 0000000..c14cbdd --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_LOADER_new.3 @@ -0,0 +1 @@ +OSSL_STORE_LOADER.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_LOADER_set_close.3 b/linux_amd64/share/man/man3/OSSL_STORE_LOADER_set_close.3 new file mode 120000 index 0000000..c14cbdd --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_LOADER_set_close.3 @@ -0,0 +1 @@ +OSSL_STORE_LOADER.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_LOADER_set_ctrl.3 b/linux_amd64/share/man/man3/OSSL_STORE_LOADER_set_ctrl.3 new file mode 120000 index 0000000..c14cbdd --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_LOADER_set_ctrl.3 @@ -0,0 +1 @@ +OSSL_STORE_LOADER.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_LOADER_set_eof.3 b/linux_amd64/share/man/man3/OSSL_STORE_LOADER_set_eof.3 new file mode 120000 index 0000000..c14cbdd --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_LOADER_set_eof.3 @@ -0,0 +1 @@ +OSSL_STORE_LOADER.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_LOADER_set_error.3 b/linux_amd64/share/man/man3/OSSL_STORE_LOADER_set_error.3 new file mode 120000 index 0000000..c14cbdd --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_LOADER_set_error.3 @@ -0,0 +1 @@ +OSSL_STORE_LOADER.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_LOADER_set_expect.3 b/linux_amd64/share/man/man3/OSSL_STORE_LOADER_set_expect.3 new file mode 120000 index 0000000..c14cbdd --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_LOADER_set_expect.3 @@ -0,0 +1 @@ +OSSL_STORE_LOADER.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_LOADER_set_find.3 b/linux_amd64/share/man/man3/OSSL_STORE_LOADER_set_find.3 new file mode 120000 index 0000000..c14cbdd --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_LOADER_set_find.3 @@ -0,0 +1 @@ +OSSL_STORE_LOADER.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_LOADER_set_load.3 b/linux_amd64/share/man/man3/OSSL_STORE_LOADER_set_load.3 new file mode 120000 index 0000000..c14cbdd --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_LOADER_set_load.3 @@ -0,0 +1 @@ +OSSL_STORE_LOADER.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_LOADER_set_open.3 b/linux_amd64/share/man/man3/OSSL_STORE_LOADER_set_open.3 new file mode 120000 index 0000000..c14cbdd --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_LOADER_set_open.3 @@ -0,0 +1 @@ +OSSL_STORE_LOADER.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_SEARCH.3 b/linux_amd64/share/man/man3/OSSL_STORE_SEARCH.3 index 55d9b2c..dd1709c 100755 --- a/linux_amd64/share/man/man3/OSSL_STORE_SEARCH.3 +++ b/linux_amd64/share/man/man3/OSSL_STORE_SEARCH.3 @@ -124,25 +124,13 @@ .\" ======================================================================== .\" .IX Title "OSSL_STORE_SEARCH 3" -.TH OSSL_STORE_SEARCH 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH OSSL_STORE_SEARCH 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -OSSL_STORE_SEARCH, -OSSL_STORE_SEARCH_by_name, -OSSL_STORE_SEARCH_by_issuer_serial, -OSSL_STORE_SEARCH_by_key_fingerprint, -OSSL_STORE_SEARCH_by_alias, -OSSL_STORE_SEARCH_free, -OSSL_STORE_SEARCH_get_type, -OSSL_STORE_SEARCH_get0_name, -OSSL_STORE_SEARCH_get0_serial, -OSSL_STORE_SEARCH_get0_bytes, -OSSL_STORE_SEARCH_get0_string, -OSSL_STORE_SEARCH_get0_digest -\&\- Type and functions to create OSSL_STORE search criteria +OSSL_STORE_SEARCH, OSSL_STORE_SEARCH_by_name, OSSL_STORE_SEARCH_by_issuer_serial, OSSL_STORE_SEARCH_by_key_fingerprint, OSSL_STORE_SEARCH_by_alias, OSSL_STORE_SEARCH_free, OSSL_STORE_SEARCH_get_type, OSSL_STORE_SEARCH_get0_name, OSSL_STORE_SEARCH_get0_serial, OSSL_STORE_SEARCH_get0_bytes, OSSL_STORE_SEARCH_get0_string, OSSL_STORE_SEARCH_get0_digest \&\- Type and functions to create OSSL_STORE search criteria .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -297,7 +285,7 @@ were added in OpenSSL 1.1.1. .IX Header "COPYRIGHT" Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/OSSL_STORE_SEARCH_by_alias.3 b/linux_amd64/share/man/man3/OSSL_STORE_SEARCH_by_alias.3 new file mode 120000 index 0000000..e69540f --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_SEARCH_by_alias.3 @@ -0,0 +1 @@ +OSSL_STORE_SEARCH.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_SEARCH_by_issuer_serial.3 b/linux_amd64/share/man/man3/OSSL_STORE_SEARCH_by_issuer_serial.3 new file mode 120000 index 0000000..e69540f --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_SEARCH_by_issuer_serial.3 @@ -0,0 +1 @@ +OSSL_STORE_SEARCH.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_SEARCH_by_key_fingerprint.3 b/linux_amd64/share/man/man3/OSSL_STORE_SEARCH_by_key_fingerprint.3 new file mode 120000 index 0000000..e69540f --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_SEARCH_by_key_fingerprint.3 @@ -0,0 +1 @@ +OSSL_STORE_SEARCH.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_SEARCH_by_name.3 b/linux_amd64/share/man/man3/OSSL_STORE_SEARCH_by_name.3 new file mode 120000 index 0000000..e69540f --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_SEARCH_by_name.3 @@ -0,0 +1 @@ +OSSL_STORE_SEARCH.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_SEARCH_free.3 b/linux_amd64/share/man/man3/OSSL_STORE_SEARCH_free.3 new file mode 120000 index 0000000..e69540f --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_SEARCH_free.3 @@ -0,0 +1 @@ +OSSL_STORE_SEARCH.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_SEARCH_get0_bytes.3 b/linux_amd64/share/man/man3/OSSL_STORE_SEARCH_get0_bytes.3 new file mode 120000 index 0000000..e69540f --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_SEARCH_get0_bytes.3 @@ -0,0 +1 @@ +OSSL_STORE_SEARCH.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_SEARCH_get0_digest.3 b/linux_amd64/share/man/man3/OSSL_STORE_SEARCH_get0_digest.3 new file mode 120000 index 0000000..e69540f --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_SEARCH_get0_digest.3 @@ -0,0 +1 @@ +OSSL_STORE_SEARCH.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_SEARCH_get0_name.3 b/linux_amd64/share/man/man3/OSSL_STORE_SEARCH_get0_name.3 new file mode 120000 index 0000000..e69540f --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_SEARCH_get0_name.3 @@ -0,0 +1 @@ +OSSL_STORE_SEARCH.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_SEARCH_get0_serial.3 b/linux_amd64/share/man/man3/OSSL_STORE_SEARCH_get0_serial.3 new file mode 120000 index 0000000..e69540f --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_SEARCH_get0_serial.3 @@ -0,0 +1 @@ +OSSL_STORE_SEARCH.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_SEARCH_get0_string.3 b/linux_amd64/share/man/man3/OSSL_STORE_SEARCH_get0_string.3 new file mode 120000 index 0000000..e69540f --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_SEARCH_get0_string.3 @@ -0,0 +1 @@ +OSSL_STORE_SEARCH.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_SEARCH_get_type.3 b/linux_amd64/share/man/man3/OSSL_STORE_SEARCH_get_type.3 new file mode 120000 index 0000000..e69540f --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_SEARCH_get_type.3 @@ -0,0 +1 @@ +OSSL_STORE_SEARCH.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_close.3 b/linux_amd64/share/man/man3/OSSL_STORE_close.3 new file mode 120000 index 0000000..2461f8b --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_close.3 @@ -0,0 +1 @@ +OSSL_STORE_open.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_close_fn.3 b/linux_amd64/share/man/man3/OSSL_STORE_close_fn.3 new file mode 120000 index 0000000..c14cbdd --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_close_fn.3 @@ -0,0 +1 @@ +OSSL_STORE_LOADER.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_ctrl.3 b/linux_amd64/share/man/man3/OSSL_STORE_ctrl.3 new file mode 120000 index 0000000..2461f8b --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_ctrl.3 @@ -0,0 +1 @@ +OSSL_STORE_open.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_ctrl_fn.3 b/linux_amd64/share/man/man3/OSSL_STORE_ctrl_fn.3 new file mode 120000 index 0000000..c14cbdd --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_ctrl_fn.3 @@ -0,0 +1 @@ +OSSL_STORE_LOADER.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_eof.3 b/linux_amd64/share/man/man3/OSSL_STORE_eof.3 new file mode 120000 index 0000000..2461f8b --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_eof.3 @@ -0,0 +1 @@ +OSSL_STORE_open.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_eof_fn.3 b/linux_amd64/share/man/man3/OSSL_STORE_eof_fn.3 new file mode 120000 index 0000000..c14cbdd --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_eof_fn.3 @@ -0,0 +1 @@ +OSSL_STORE_LOADER.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_error.3 b/linux_amd64/share/man/man3/OSSL_STORE_error.3 new file mode 120000 index 0000000..2461f8b --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_error.3 @@ -0,0 +1 @@ +OSSL_STORE_open.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_error_fn.3 b/linux_amd64/share/man/man3/OSSL_STORE_error_fn.3 new file mode 120000 index 0000000..c14cbdd --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_error_fn.3 @@ -0,0 +1 @@ +OSSL_STORE_LOADER.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_expect.3 b/linux_amd64/share/man/man3/OSSL_STORE_expect.3 index c89d415..71de0af 100755 --- a/linux_amd64/share/man/man3/OSSL_STORE_expect.3 +++ b/linux_amd64/share/man/man3/OSSL_STORE_expect.3 @@ -124,16 +124,13 @@ .\" ======================================================================== .\" .IX Title "OSSL_STORE_EXPECT 3" -.TH OSSL_STORE_EXPECT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH OSSL_STORE_EXPECT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -OSSL_STORE_expect, -OSSL_STORE_supports_search, -OSSL_STORE_find -\&\- Specify what object type is expected +OSSL_STORE_expect, OSSL_STORE_supports_search, OSSL_STORE_find \&\- Specify what object type is expected .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -160,7 +157,7 @@ grained search of objects. .PP \&\fIOSSL_STORE_supports_search()\fR checks if the loader of the given \s-1OSSL_STORE\s0 context supports the given search type. -See \*(L"\s-1SUPPORTED\s0 \s-1CRITERION\s0 \s-1TYPES\s0\*(R" in \s-1\fIOSSL_STORE_SEARCH\s0\fR\|(3) for information on the +See \*(L"\s-1SUPPORTED\s0 \s-1CRITERION\s0 \s-1TYPES\s0\*(R" in \s-1OSSL_STORE_SEARCH\s0 for information on the supported search criterion types. .PP \&\fIOSSL_STORE_expect()\fR and OSSL_STORE_find \fImust\fR be called before the first @@ -192,9 +189,9 @@ otherwise. were added in OpenSSL 1.1.1. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2018\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/OSSL_STORE_expect_fn.3 b/linux_amd64/share/man/man3/OSSL_STORE_expect_fn.3 new file mode 120000 index 0000000..c14cbdd --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_expect_fn.3 @@ -0,0 +1 @@ +OSSL_STORE_LOADER.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_find.3 b/linux_amd64/share/man/man3/OSSL_STORE_find.3 new file mode 120000 index 0000000..8c78ca5 --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_find.3 @@ -0,0 +1 @@ +OSSL_STORE_expect.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_find_fn.3 b/linux_amd64/share/man/man3/OSSL_STORE_find_fn.3 new file mode 120000 index 0000000..c14cbdd --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_find_fn.3 @@ -0,0 +1 @@ +OSSL_STORE_LOADER.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_load.3 b/linux_amd64/share/man/man3/OSSL_STORE_load.3 new file mode 120000 index 0000000..2461f8b --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_load.3 @@ -0,0 +1 @@ +OSSL_STORE_open.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_load_fn.3 b/linux_amd64/share/man/man3/OSSL_STORE_load_fn.3 new file mode 120000 index 0000000..c14cbdd --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_load_fn.3 @@ -0,0 +1 @@ +OSSL_STORE_LOADER.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_open.3 b/linux_amd64/share/man/man3/OSSL_STORE_open.3 index a84f73b..1ec9c1d 100755 --- a/linux_amd64/share/man/man3/OSSL_STORE_open.3 +++ b/linux_amd64/share/man/man3/OSSL_STORE_open.3 @@ -124,15 +124,13 @@ .\" ======================================================================== .\" .IX Title "OSSL_STORE_OPEN 3" -.TH OSSL_STORE_OPEN 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH OSSL_STORE_OPEN 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -OSSL_STORE_CTX, OSSL_STORE_post_process_info_fn, OSSL_STORE_open, -OSSL_STORE_ctrl, OSSL_STORE_load, OSSL_STORE_eof, OSSL_STORE_error, -OSSL_STORE_close \- Types and functions to read objects from a URI +OSSL_STORE_CTX, OSSL_STORE_post_process_info_fn, OSSL_STORE_open, OSSL_STORE_ctrl, OSSL_STORE_load, OSSL_STORE_eof, OSSL_STORE_error, OSSL_STORE_close \- Types and functions to read objects from a URI .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -268,7 +266,7 @@ were added in OpenSSL 1.1.1. .IX Header "COPYRIGHT" Copyright 2016\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/OSSL_STORE_open_fn.3 b/linux_amd64/share/man/man3/OSSL_STORE_open_fn.3 new file mode 120000 index 0000000..c14cbdd --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_open_fn.3 @@ -0,0 +1 @@ +OSSL_STORE_LOADER.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_post_process_info_fn.3 b/linux_amd64/share/man/man3/OSSL_STORE_post_process_info_fn.3 new file mode 120000 index 0000000..2461f8b --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_post_process_info_fn.3 @@ -0,0 +1 @@ +OSSL_STORE_open.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_register_loader.3 b/linux_amd64/share/man/man3/OSSL_STORE_register_loader.3 new file mode 120000 index 0000000..c14cbdd --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_register_loader.3 @@ -0,0 +1 @@ +OSSL_STORE_LOADER.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_supports_search.3 b/linux_amd64/share/man/man3/OSSL_STORE_supports_search.3 new file mode 120000 index 0000000..8c78ca5 --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_supports_search.3 @@ -0,0 +1 @@ +OSSL_STORE_expect.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OSSL_STORE_unregister_loader.3 b/linux_amd64/share/man/man3/OSSL_STORE_unregister_loader.3 new file mode 120000 index 0000000..c14cbdd --- /dev/null +++ b/linux_amd64/share/man/man3/OSSL_STORE_unregister_loader.3 @@ -0,0 +1 @@ +OSSL_STORE_LOADER.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OTHERNAME_free.3 b/linux_amd64/share/man/man3/OTHERNAME_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/OTHERNAME_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OTHERNAME_new.3 b/linux_amd64/share/man/man3/OTHERNAME_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/OTHERNAME_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OpenSSL_add_all_algorithms.3 b/linux_amd64/share/man/man3/OpenSSL_add_all_algorithms.3 index 160974f..319e45a 100755 --- a/linux_amd64/share/man/man3/OpenSSL_add_all_algorithms.3 +++ b/linux_amd64/share/man/man3/OpenSSL_add_all_algorithms.3 @@ -124,30 +124,29 @@ .\" ======================================================================== .\" .IX Title "OPENSSL_ADD_ALL_ALGORITHMS 3" -.TH OPENSSL_ADD_ALL_ALGORITHMS 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH OPENSSL_ADD_ALL_ALGORITHMS 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -OpenSSL_add_all_algorithms, OpenSSL_add_all_ciphers, OpenSSL_add_all_digests, EVP_cleanup \- -add algorithms to internal table +OpenSSL_add_all_algorithms, OpenSSL_add_all_ciphers, OpenSSL_add_all_digests, EVP_cleanup \- add algorithms to internal table .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include .Ve .PP -Deprecated since OpenSSL 1.1.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): +Deprecated: .PP -.Vb 3 +.Vb 4 +\& # if OPENSSL_API_COMPAT < 0x10100000L \& void OpenSSL_add_all_algorithms(void); \& void OpenSSL_add_all_ciphers(void); \& void OpenSSL_add_all_digests(void); \& \& void EVP_cleanup(void) +\&# endif .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" @@ -181,7 +180,7 @@ not be used. .IX Header "COPYRIGHT" Copyright 2000\-2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/OpenSSL_add_all_ciphers.3 b/linux_amd64/share/man/man3/OpenSSL_add_all_ciphers.3 new file mode 120000 index 0000000..2571f54 --- /dev/null +++ b/linux_amd64/share/man/man3/OpenSSL_add_all_ciphers.3 @@ -0,0 +1 @@ +OpenSSL_add_all_algorithms.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OpenSSL_add_all_digests.3 b/linux_amd64/share/man/man3/OpenSSL_add_all_digests.3 new file mode 120000 index 0000000..2571f54 --- /dev/null +++ b/linux_amd64/share/man/man3/OpenSSL_add_all_digests.3 @@ -0,0 +1 @@ +OpenSSL_add_all_algorithms.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OpenSSL_add_ssl_algorithms.3 b/linux_amd64/share/man/man3/OpenSSL_add_ssl_algorithms.3 new file mode 120000 index 0000000..578a89d --- /dev/null +++ b/linux_amd64/share/man/man3/OpenSSL_add_ssl_algorithms.3 @@ -0,0 +1 @@ +SSL_library_init.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/OpenSSL_version_num.3 b/linux_amd64/share/man/man3/OpenSSL_version_num.3 new file mode 120000 index 0000000..ab1700a --- /dev/null +++ b/linux_amd64/share/man/man3/OpenSSL_version_num.3 @@ -0,0 +1 @@ +OPENSSL_VERSION_NUMBER.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PBE2PARAM_free.3 b/linux_amd64/share/man/man3/PBE2PARAM_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/PBE2PARAM_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PBE2PARAM_new.3 b/linux_amd64/share/man/man3/PBE2PARAM_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/PBE2PARAM_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PBEPARAM_free.3 b/linux_amd64/share/man/man3/PBEPARAM_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/PBEPARAM_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PBEPARAM_new.3 b/linux_amd64/share/man/man3/PBEPARAM_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/PBEPARAM_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PBKDF2PARAM_free.3 b/linux_amd64/share/man/man3/PBKDF2PARAM_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/PBKDF2PARAM_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PBKDF2PARAM_new.3 b/linux_amd64/share/man/man3/PBKDF2PARAM_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/PBKDF2PARAM_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_FLAG_EAY_COMPATIBLE.3 b/linux_amd64/share/man/man3/PEM_FLAG_EAY_COMPATIBLE.3 new file mode 120000 index 0000000..133c56e --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_FLAG_EAY_COMPATIBLE.3 @@ -0,0 +1 @@ +PEM_read_bio_ex.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_FLAG_ONLY_B64.3 b/linux_amd64/share/man/man3/PEM_FLAG_ONLY_B64.3 new file mode 120000 index 0000000..133c56e --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_FLAG_ONLY_B64.3 @@ -0,0 +1 @@ +PEM_read_bio_ex.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_FLAG_SECURE.3 b/linux_amd64/share/man/man3/PEM_FLAG_SECURE.3 new file mode 120000 index 0000000..133c56e --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_FLAG_SECURE.3 @@ -0,0 +1 @@ +PEM_read_bio_ex.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_bytes_read_bio.3 b/linux_amd64/share/man/man3/PEM_bytes_read_bio.3 index 7145c73..0b71d6f 100755 --- a/linux_amd64/share/man/man3/PEM_bytes_read_bio.3 +++ b/linux_amd64/share/man/man3/PEM_bytes_read_bio.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "PEM_BYTES_READ_BIO 3" -.TH PEM_BYTES_READ_BIO 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH PEM_BYTES_READ_BIO 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -201,7 +201,7 @@ It will simply be treated as a byte sequence. .IX Header "COPYRIGHT" Copyright 2017\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/PEM_bytes_read_bio_secmem.3 b/linux_amd64/share/man/man3/PEM_bytes_read_bio_secmem.3 new file mode 120000 index 0000000..5fd854a --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_bytes_read_bio_secmem.3 @@ -0,0 +1 @@ +PEM_bytes_read_bio.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_do_header.3 b/linux_amd64/share/man/man3/PEM_do_header.3 new file mode 120000 index 0000000..f7a8026 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_do_header.3 @@ -0,0 +1 @@ +PEM_read.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_get_EVP_CIPHER_INFO.3 b/linux_amd64/share/man/man3/PEM_get_EVP_CIPHER_INFO.3 new file mode 120000 index 0000000..f7a8026 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_get_EVP_CIPHER_INFO.3 @@ -0,0 +1 @@ +PEM_read.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_read.3 b/linux_amd64/share/man/man3/PEM_read.3 index 90691a9..cd7357d 100755 --- a/linux_amd64/share/man/man3/PEM_read.3 +++ b/linux_amd64/share/man/man3/PEM_read.3 @@ -124,15 +124,13 @@ .\" ======================================================================== .\" .IX Title "PEM_READ 3" -.TH PEM_READ 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH PEM_READ 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -PEM_write, PEM_write_bio, -PEM_read, PEM_read_bio, PEM_do_header, PEM_get_EVP_CIPHER_INFO -\&\- PEM encoding routines +PEM_write, PEM_write_bio, PEM_read, PEM_read_bio, PEM_do_header, PEM_get_EVP_CIPHER_INFO \&\- PEM encoding routines .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -250,7 +248,7 @@ It will simply be treated as a byte sequence. .IX Header "COPYRIGHT" Copyright 1998\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/PEM_read_CMS.3 b/linux_amd64/share/man/man3/PEM_read_CMS.3 index c98e5ef..83e3488 100755 --- a/linux_amd64/share/man/man3/PEM_read_CMS.3 +++ b/linux_amd64/share/man/man3/PEM_read_CMS.3 @@ -124,51 +124,13 @@ .\" ======================================================================== .\" .IX Title "PEM_READ_CMS 3" -.TH PEM_READ_CMS 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH PEM_READ_CMS 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -DECLARE_PEM_rw, -PEM_read_CMS, -PEM_read_bio_CMS, -PEM_write_CMS, -PEM_write_bio_CMS, -PEM_write_DHxparams, -PEM_write_bio_DHxparams, -PEM_read_ECPKParameters, -PEM_read_bio_ECPKParameters, -PEM_write_ECPKParameters, -PEM_write_bio_ECPKParameters, -PEM_read_ECPrivateKey, -PEM_write_ECPrivateKey, -PEM_write_bio_ECPrivateKey, -PEM_read_EC_PUBKEY, -PEM_read_bio_EC_PUBKEY, -PEM_write_EC_PUBKEY, -PEM_write_bio_EC_PUBKEY, -PEM_read_NETSCAPE_CERT_SEQUENCE, -PEM_read_bio_NETSCAPE_CERT_SEQUENCE, -PEM_write_NETSCAPE_CERT_SEQUENCE, -PEM_write_bio_NETSCAPE_CERT_SEQUENCE, -PEM_read_PKCS8, -PEM_read_bio_PKCS8, -PEM_write_PKCS8, -PEM_write_bio_PKCS8, -PEM_write_PKCS8_PRIV_KEY_INFO, -PEM_read_bio_PKCS8_PRIV_KEY_INFO, -PEM_read_PKCS8_PRIV_KEY_INFO, -PEM_write_bio_PKCS8_PRIV_KEY_INFO, -PEM_read_SSL_SESSION, -PEM_read_bio_SSL_SESSION, -PEM_write_SSL_SESSION, -PEM_write_bio_SSL_SESSION, -PEM_read_X509_PUBKEY, -PEM_read_bio_X509_PUBKEY, -PEM_write_X509_PUBKEY, -PEM_write_bio_X509_PUBKEY -\&\- PEM object encoding routines +DECLARE_PEM_rw, PEM_read_CMS, PEM_read_bio_CMS, PEM_write_CMS, PEM_write_bio_CMS, PEM_write_DHxparams, PEM_write_bio_DHxparams, PEM_read_ECPKParameters, PEM_read_bio_ECPKParameters, PEM_write_ECPKParameters, PEM_write_bio_ECPKParameters, PEM_read_ECPrivateKey, PEM_write_ECPrivateKey, PEM_write_bio_ECPrivateKey, PEM_read_EC_PUBKEY, PEM_read_bio_EC_PUBKEY, PEM_write_EC_PUBKEY, PEM_write_bio_EC_PUBKEY, PEM_read_NETSCAPE_CERT_SEQUENCE, PEM_read_bio_NETSCAPE_CERT_SEQUENCE, PEM_write_NETSCAPE_CERT_SEQUENCE, PEM_write_bio_NETSCAPE_CERT_SEQUENCE, PEM_read_PKCS8, PEM_read_bio_PKCS8, PEM_write_PKCS8, PEM_write_bio_PKCS8, PEM_write_PKCS8_PRIV_KEY_INFO, PEM_read_bio_PKCS8_PRIV_KEY_INFO, PEM_read_PKCS8_PRIV_KEY_INFO, PEM_write_bio_PKCS8_PRIV_KEY_INFO, PEM_read_SSL_SESSION, PEM_read_bio_SSL_SESSION, PEM_write_SSL_SESSION, PEM_write_bio_SSL_SESSION \&\- PEM object encoding routines .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -183,8 +145,8 @@ PEM_write_bio_X509_PUBKEY .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -In the description below, \fB\f(BI\s-1TYPE\s0\fB\fR is used -as a placeholder for any of the OpenSSL datatypes, such as \fBX509\fR. +In the description below, \fI\s-1TYPE\s0\fR is used +as a placeholder for any of the OpenSSL datatypes, such as \fIX509\fR. The macro \fBDECLARE_PEM_rw\fR expands to the set of declarations shown in the next four lines of the synopsis. .PP @@ -193,17 +155,15 @@ the \s-1PEM\s0 encoding. For more information on the templates, see \&\s-1\fIASN1_ITEM\s0\fR\|(3). For more information on the lower-level routines used by the functions here, see \fIPEM_read\fR\|(3). .PP -\&\fBPEM_read_\f(BI\s-1TYPE\s0\fB\fR() reads a PEM-encoded object of \fB\f(BI\s-1TYPE\s0\fB\fR from the file -\&\fIfp\fR and returns it. The \fIcb\fR and \fIu\fR parameters are as described in +\&\fIPEM_read_TYPE()\fR reads a PEM-encoded object of \fI\s-1TYPE\s0\fR from the file \fBfp\fR +and returns it. The \fBcb\fR and \fBu\fR parameters are as described in \&\fIpem_password_cb\fR\|(3). .PP -\&\fBPEM_read_bio_\f(BI\s-1TYPE\s0\fB\fR() is similar to \fBPEM_read_\f(BI\s-1TYPE\s0\fB\fR() but reads from -the \s-1BIO\s0 \fIbp\fR. +\&\fIPEM_read_bio_TYPE()\fR is similar to \fIPEM_read_TYPE()\fR but reads from the \s-1BIO\s0 \fBbp\fR. .PP -\&\fBPEM_write_\f(BI\s-1TYPE\s0\fB\fR() writes the \s-1PEM\s0 encoding of the object \fIa\fR to the file -\&\fIfp\fR. +\&\fIPEM_write_TYPE()\fR writes the \s-1PEM\s0 encoding of the object \fBa\fR to the file \fBfp\fR. .PP -\&\fBPEM_write_bio_\f(BI\s-1TYPE\s0\fB\fR() similarly writes to the \s-1BIO\s0 \fIbp\fR. +\&\fIPEM_write_bio_TYPE()\fR similarly writes to the \s-1BIO\s0 \fBbp\fR. .SH "NOTES" .IX Header "NOTES" These functions make no assumption regarding the pass phrase received from the @@ -211,12 +171,11 @@ password callback. It will simply be treated as a byte sequence. .SH "RETURN VALUES" .IX Header "RETURN VALUES" -\&\fBPEM_read_\f(BI\s-1TYPE\s0\fB\fR() and \fBPEM_read_bio_\f(BI\s-1TYPE\s0\fB\fR() return a pointer to an -allocated object, which should be released by calling \fB\f(BI\s-1TYPE\s0\fB_free\fR(), or -\&\s-1NULL\s0 on error. +\&\fIPEM_read_TYPE()\fR and \fIPEM_read_bio_TYPE()\fR return a pointer to an allocated +object, which should be released by calling \fITYPE_free()\fR, or \s-1NULL\s0 on error. .PP -\&\fBPEM_write_\f(BI\s-1TYPE\s0\fB\fR() and \fBPEM_write_bio_\f(BI\s-1TYPE\s0\fB\fR() return the number of bytes -written or zero on error. +\&\fIPEM_write_TYPE()\fR and \fIPEM_write_bio_TYPE()\fR return the number of bytes written +or zero on error. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIPEM_read\fR\|(3), @@ -225,7 +184,7 @@ written or zero on error. .IX Header "COPYRIGHT" Copyright 1998\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/PEM_read_DHparams.3 b/linux_amd64/share/man/man3/PEM_read_DHparams.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_read_DHparams.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_read_DSAPrivateKey.3 b/linux_amd64/share/man/man3/PEM_read_DSAPrivateKey.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_read_DSAPrivateKey.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_read_DSA_PUBKEY.3 b/linux_amd64/share/man/man3/PEM_read_DSA_PUBKEY.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_read_DSA_PUBKEY.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_read_DSAparams.3 b/linux_amd64/share/man/man3/PEM_read_DSAparams.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_read_DSAparams.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_read_ECPKParameters.3 b/linux_amd64/share/man/man3/PEM_read_ECPKParameters.3 new file mode 120000 index 0000000..7adde69 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_read_ECPKParameters.3 @@ -0,0 +1 @@ +PEM_read_CMS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_read_ECPrivateKey.3 b/linux_amd64/share/man/man3/PEM_read_ECPrivateKey.3 new file mode 120000 index 0000000..7adde69 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_read_ECPrivateKey.3 @@ -0,0 +1 @@ +PEM_read_CMS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_read_EC_PUBKEY.3 b/linux_amd64/share/man/man3/PEM_read_EC_PUBKEY.3 new file mode 120000 index 0000000..7adde69 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_read_EC_PUBKEY.3 @@ -0,0 +1 @@ +PEM_read_CMS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_read_NETSCAPE_CERT_SEQUENCE.3 b/linux_amd64/share/man/man3/PEM_read_NETSCAPE_CERT_SEQUENCE.3 new file mode 120000 index 0000000..7adde69 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_read_NETSCAPE_CERT_SEQUENCE.3 @@ -0,0 +1 @@ +PEM_read_CMS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_read_PKCS7.3 b/linux_amd64/share/man/man3/PEM_read_PKCS7.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_read_PKCS7.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_read_PKCS8.3 b/linux_amd64/share/man/man3/PEM_read_PKCS8.3 new file mode 120000 index 0000000..7adde69 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_read_PKCS8.3 @@ -0,0 +1 @@ +PEM_read_CMS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_read_PKCS8_PRIV_KEY_INFO.3 b/linux_amd64/share/man/man3/PEM_read_PKCS8_PRIV_KEY_INFO.3 new file mode 120000 index 0000000..7adde69 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_read_PKCS8_PRIV_KEY_INFO.3 @@ -0,0 +1 @@ +PEM_read_CMS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_read_PUBKEY.3 b/linux_amd64/share/man/man3/PEM_read_PUBKEY.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_read_PUBKEY.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_read_PrivateKey.3 b/linux_amd64/share/man/man3/PEM_read_PrivateKey.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_read_PrivateKey.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_read_RSAPrivateKey.3 b/linux_amd64/share/man/man3/PEM_read_RSAPrivateKey.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_read_RSAPrivateKey.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_read_RSAPublicKey.3 b/linux_amd64/share/man/man3/PEM_read_RSAPublicKey.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_read_RSAPublicKey.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_read_RSA_PUBKEY.3 b/linux_amd64/share/man/man3/PEM_read_RSA_PUBKEY.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_read_RSA_PUBKEY.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_read_SSL_SESSION.3 b/linux_amd64/share/man/man3/PEM_read_SSL_SESSION.3 new file mode 120000 index 0000000..7adde69 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_read_SSL_SESSION.3 @@ -0,0 +1 @@ +PEM_read_CMS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_read_X509.3 b/linux_amd64/share/man/man3/PEM_read_X509.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_read_X509.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_read_X509_AUX.3 b/linux_amd64/share/man/man3/PEM_read_X509_AUX.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_read_X509_AUX.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_read_X509_CRL.3 b/linux_amd64/share/man/man3/PEM_read_X509_CRL.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_read_X509_CRL.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_read_X509_REQ.3 b/linux_amd64/share/man/man3/PEM_read_X509_REQ.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_read_X509_REQ.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_read_bio.3 b/linux_amd64/share/man/man3/PEM_read_bio.3 new file mode 120000 index 0000000..f7a8026 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_read_bio.3 @@ -0,0 +1 @@ +PEM_read.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_read_bio_CMS.3 b/linux_amd64/share/man/man3/PEM_read_bio_CMS.3 new file mode 120000 index 0000000..7adde69 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_read_bio_CMS.3 @@ -0,0 +1 @@ +PEM_read_CMS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_read_bio_DHparams.3 b/linux_amd64/share/man/man3/PEM_read_bio_DHparams.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_read_bio_DHparams.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_read_bio_DSAPrivateKey.3 b/linux_amd64/share/man/man3/PEM_read_bio_DSAPrivateKey.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_read_bio_DSAPrivateKey.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_read_bio_DSA_PUBKEY.3 b/linux_amd64/share/man/man3/PEM_read_bio_DSA_PUBKEY.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_read_bio_DSA_PUBKEY.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_read_bio_DSAparams.3 b/linux_amd64/share/man/man3/PEM_read_bio_DSAparams.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_read_bio_DSAparams.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_read_bio_ECPKParameters.3 b/linux_amd64/share/man/man3/PEM_read_bio_ECPKParameters.3 new file mode 120000 index 0000000..7adde69 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_read_bio_ECPKParameters.3 @@ -0,0 +1 @@ +PEM_read_CMS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_read_bio_EC_PUBKEY.3 b/linux_amd64/share/man/man3/PEM_read_bio_EC_PUBKEY.3 new file mode 120000 index 0000000..7adde69 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_read_bio_EC_PUBKEY.3 @@ -0,0 +1 @@ +PEM_read_CMS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_read_bio_NETSCAPE_CERT_SEQUENCE.3 b/linux_amd64/share/man/man3/PEM_read_bio_NETSCAPE_CERT_SEQUENCE.3 new file mode 120000 index 0000000..7adde69 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_read_bio_NETSCAPE_CERT_SEQUENCE.3 @@ -0,0 +1 @@ +PEM_read_CMS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_read_bio_PKCS7.3 b/linux_amd64/share/man/man3/PEM_read_bio_PKCS7.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_read_bio_PKCS7.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_read_bio_PKCS8.3 b/linux_amd64/share/man/man3/PEM_read_bio_PKCS8.3 new file mode 120000 index 0000000..7adde69 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_read_bio_PKCS8.3 @@ -0,0 +1 @@ +PEM_read_CMS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_read_bio_PKCS8_PRIV_KEY_INFO.3 b/linux_amd64/share/man/man3/PEM_read_bio_PKCS8_PRIV_KEY_INFO.3 new file mode 120000 index 0000000..7adde69 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_read_bio_PKCS8_PRIV_KEY_INFO.3 @@ -0,0 +1 @@ +PEM_read_CMS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_read_bio_PUBKEY.3 b/linux_amd64/share/man/man3/PEM_read_bio_PUBKEY.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_read_bio_PUBKEY.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_read_bio_Parameters.3 b/linux_amd64/share/man/man3/PEM_read_bio_Parameters.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_read_bio_Parameters.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_read_bio_PrivateKey.3 b/linux_amd64/share/man/man3/PEM_read_bio_PrivateKey.3 index 74a2010..71ac859 100755 --- a/linux_amd64/share/man/man3/PEM_read_bio_PrivateKey.3 +++ b/linux_amd64/share/man/man3/PEM_read_bio_PrivateKey.3 @@ -124,36 +124,13 @@ .\" ======================================================================== .\" .IX Title "PEM_READ_BIO_PRIVATEKEY 3" -.TH PEM_READ_BIO_PRIVATEKEY 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH PEM_READ_BIO_PRIVATEKEY 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -pem_password_cb, -PEM_read_bio_PrivateKey, PEM_read_PrivateKey, PEM_write_bio_PrivateKey, -PEM_write_bio_PrivateKey_traditional, PEM_write_PrivateKey, -PEM_write_bio_PKCS8PrivateKey, PEM_write_PKCS8PrivateKey, -PEM_write_bio_PKCS8PrivateKey_nid, PEM_write_PKCS8PrivateKey_nid, -PEM_read_bio_PUBKEY, PEM_read_PUBKEY, PEM_write_bio_PUBKEY, PEM_write_PUBKEY, -PEM_read_bio_RSAPrivateKey, PEM_read_RSAPrivateKey, -PEM_write_bio_RSAPrivateKey, PEM_write_RSAPrivateKey, -PEM_read_bio_RSAPublicKey, PEM_read_RSAPublicKey, PEM_write_bio_RSAPublicKey, -PEM_write_RSAPublicKey, PEM_read_bio_RSA_PUBKEY, PEM_read_RSA_PUBKEY, -PEM_write_bio_RSA_PUBKEY, PEM_write_RSA_PUBKEY, PEM_read_bio_DSAPrivateKey, -PEM_read_DSAPrivateKey, PEM_write_bio_DSAPrivateKey, PEM_write_DSAPrivateKey, -PEM_read_bio_DSA_PUBKEY, PEM_read_DSA_PUBKEY, PEM_write_bio_DSA_PUBKEY, -PEM_write_DSA_PUBKEY, PEM_read_bio_Parameters, PEM_write_bio_Parameters, -PEM_read_bio_DSAparams, PEM_read_DSAparams, -PEM_write_bio_DSAparams, PEM_write_DSAparams, PEM_read_bio_DHparams, -PEM_read_DHparams, PEM_write_bio_DHparams, PEM_write_DHparams, -PEM_read_bio_X509, PEM_read_X509, PEM_write_bio_X509, PEM_write_X509, -PEM_read_bio_X509_AUX, PEM_read_X509_AUX, PEM_write_bio_X509_AUX, -PEM_write_X509_AUX, PEM_read_bio_X509_REQ, PEM_read_X509_REQ, -PEM_write_bio_X509_REQ, PEM_write_X509_REQ, PEM_write_bio_X509_REQ_NEW, -PEM_write_X509_REQ_NEW, PEM_read_bio_X509_CRL, PEM_read_X509_CRL, -PEM_write_bio_X509_CRL, PEM_write_X509_CRL, PEM_read_bio_PKCS7, PEM_read_PKCS7, -PEM_write_bio_PKCS7, PEM_write_PKCS7 \- PEM routines +pem_password_cb, PEM_read_bio_PrivateKey, PEM_read_PrivateKey, PEM_write_bio_PrivateKey, PEM_write_bio_PrivateKey_traditional, PEM_write_PrivateKey, PEM_write_bio_PKCS8PrivateKey, PEM_write_PKCS8PrivateKey, PEM_write_bio_PKCS8PrivateKey_nid, PEM_write_PKCS8PrivateKey_nid, PEM_read_bio_PUBKEY, PEM_read_PUBKEY, PEM_write_bio_PUBKEY, PEM_write_PUBKEY, PEM_read_bio_RSAPrivateKey, PEM_read_RSAPrivateKey, PEM_write_bio_RSAPrivateKey, PEM_write_RSAPrivateKey, PEM_read_bio_RSAPublicKey, PEM_read_RSAPublicKey, PEM_write_bio_RSAPublicKey, PEM_write_RSAPublicKey, PEM_read_bio_RSA_PUBKEY, PEM_read_RSA_PUBKEY, PEM_write_bio_RSA_PUBKEY, PEM_write_RSA_PUBKEY, PEM_read_bio_DSAPrivateKey, PEM_read_DSAPrivateKey, PEM_write_bio_DSAPrivateKey, PEM_write_DSAPrivateKey, PEM_read_bio_DSA_PUBKEY, PEM_read_DSA_PUBKEY, PEM_write_bio_DSA_PUBKEY, PEM_write_DSA_PUBKEY, PEM_read_bio_Parameters, PEM_write_bio_Parameters, PEM_read_bio_DSAparams, PEM_read_DSAparams, PEM_write_bio_DSAparams, PEM_write_DSAparams, PEM_read_bio_DHparams, PEM_read_DHparams, PEM_write_bio_DHparams, PEM_write_DHparams, PEM_read_bio_X509, PEM_read_X509, PEM_write_bio_X509, PEM_write_X509, PEM_read_bio_X509_AUX, PEM_read_X509_AUX, PEM_write_bio_X509_AUX, PEM_write_X509_AUX, PEM_read_bio_X509_REQ, PEM_read_X509_REQ, PEM_write_bio_X509_REQ, PEM_write_X509_REQ, PEM_write_bio_X509_REQ_NEW, PEM_write_X509_REQ_NEW, PEM_read_bio_X509_CRL, PEM_read_X509_CRL, PEM_write_bio_X509_CRL, PEM_write_X509_CRL, PEM_read_bio_PKCS7, PEM_read_PKCS7, PEM_write_bio_PKCS7, PEM_write_PKCS7 \- PEM routines .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -165,7 +142,7 @@ PEM_write_bio_PKCS7, PEM_write_PKCS7 \- PEM routines \& pem_password_cb *cb, void *u); \& EVP_PKEY *PEM_read_PrivateKey(FILE *fp, EVP_PKEY **x, \& pem_password_cb *cb, void *u); -\& int PEM_write_bio_PrivateKey(BIO *bp, const EVP_PKEY *x, const EVP_CIPHER *enc, +\& int PEM_write_bio_PrivateKey(BIO *bp, EVP_PKEY *x, const EVP_CIPHER *enc, \& unsigned char *kstr, int klen, \& pem_password_cb *cb, void *u); \& int PEM_write_bio_PrivateKey_traditional(BIO *bp, EVP_PKEY *x, @@ -175,16 +152,17 @@ PEM_write_bio_PKCS7, PEM_write_PKCS7 \- PEM routines \& int PEM_write_PrivateKey(FILE *fp, EVP_PKEY *x, const EVP_CIPHER *enc, \& unsigned char *kstr, int klen, \& pem_password_cb *cb, void *u); +\& \& int PEM_write_bio_PKCS8PrivateKey(BIO *bp, EVP_PKEY *x, const EVP_CIPHER *enc, \& char *kstr, int klen, \& pem_password_cb *cb, void *u); \& int PEM_write_PKCS8PrivateKey(FILE *fp, EVP_PKEY *x, const EVP_CIPHER *enc, \& char *kstr, int klen, \& pem_password_cb *cb, void *u); -\& int PEM_write_bio_PKCS8PrivateKey_nid(BIO *bp, const EVP_PKEY *x, int nid, +\& int PEM_write_bio_PKCS8PrivateKey_nid(BIO *bp, EVP_PKEY *x, int nid, \& char *kstr, int klen, \& pem_password_cb *cb, void *u); -\& int PEM_write_PKCS8PrivateKey_nid(FILE *fp, const EVP_PKEY *x, int nid, +\& int PEM_write_PKCS8PrivateKey_nid(FILE *fp, EVP_PKEY *x, int nid, \& char *kstr, int klen, \& pem_password_cb *cb, void *u); \& @@ -292,9 +270,9 @@ For more details about the meaning of arguments see the \&\fB\s-1PEM\s0 \s-1FUNCTION\s0 \s-1ARGUMENTS\s0\fR section. .PP Each operation has four functions associated with it. For -brevity the term "\fB\f(BI\s-1TYPE\s0\fB\fR functions" will be used below to collectively -refer to the \fBPEM_read_bio_\f(BI\s-1TYPE\s0\fB\fR(), \fBPEM_read_\f(BI\s-1TYPE\s0\fB\fR(), -\&\fBPEM_write_bio_\f(BI\s-1TYPE\s0\fB\fR(), and \fBPEM_write_\f(BI\s-1TYPE\s0\fB\fR() functions. +brevity the term "\fB\s-1TYPE\s0\fR functions" will be used below to collectively +refer to the \fIPEM_read_bio_TYPE()\fR, \fIPEM_read_TYPE()\fR, +\&\fIPEM_write_bio_TYPE()\fR, and \fIPEM_write_TYPE()\fR functions. .PP The \fBPrivateKey\fR functions read or write a private key in \s-1PEM\s0 format using an \&\s-1EVP_PKEY\s0 structure. The write routines use PKCS#8 private key format and are @@ -307,16 +285,16 @@ be used for compatibility with legacy programs. .PP \&\fIPEM_write_bio_PKCS8PrivateKey()\fR and \fIPEM_write_PKCS8PrivateKey()\fR write a private key in an \s-1EVP_PKEY\s0 structure in PKCS#8 EncryptedPrivateKeyInfo format using -PKCS#5 v2.0 password based encryption algorithms. The \fIcipher\fR argument +PKCS#5 v2.0 password based encryption algorithms. The \fBcipher\fR argument specifies the encryption algorithm to use: unlike some other \s-1PEM\s0 routines the encryption is applied at the PKCS#8 level and not in the \s-1PEM\s0 headers. If -\&\fIcipher\fR is \s-1NULL\s0 then no encryption is used and a PKCS#8 PrivateKeyInfo +\&\fBcipher\fR is \s-1NULL\s0 then no encryption is used and a PKCS#8 PrivateKeyInfo structure is used instead. .PP \&\fIPEM_write_bio_PKCS8PrivateKey_nid()\fR and \fIPEM_write_PKCS8PrivateKey_nid()\fR also write out a private key as a PKCS#8 EncryptedPrivateKeyInfo however it uses PKCS#5 v1.5 or PKCS#12 encryption algorithms instead. The algorithm -to use is specified in the \fInid\fR parameter and should be the \s-1NID\s0 of the +to use is specified in the \fBnid\fR parameter and should be the \s-1NID\s0 of the corresponding \s-1OBJECT\s0 \s-1IDENTIFIER\s0 (see \s-1NOTES\s0 section). .PP The \fB\s-1PUBKEY\s0\fR functions process a public key using an \s-1EVP_PKEY\s0 @@ -384,36 +362,36 @@ structure. .IX Header "PEM FUNCTION ARGUMENTS" The \s-1PEM\s0 functions have many common arguments. .PP -The \fIbp\fR \s-1BIO\s0 parameter (if present) specifies the \s-1BIO\s0 to read from +The \fBbp\fR \s-1BIO\s0 parameter (if present) specifies the \s-1BIO\s0 to read from or write to. .PP -The \fIfp\fR \s-1FILE\s0 parameter (if present) specifies the \s-1FILE\s0 pointer to +The \fBfp\fR \s-1FILE\s0 parameter (if present) specifies the \s-1FILE\s0 pointer to read from or write to. .PP -The \s-1PEM\s0 read functions all take an argument \fI\f(BI\s-1TYPE\s0\fI **x\fR and return -a \fI\f(BI\s-1TYPE\s0\fI *\fR pointer. Where \fI\f(BI\s-1TYPE\s0\fI\fR is whatever structure the function -uses. If \fIx\fR is \s-1NULL\s0 then the parameter is ignored. If \fIx\fR is not -\&\s-1NULL\s0 but \fI*x\fR is \s-1NULL\s0 then the structure returned will be written -to \fI*x\fR. If neither \fIx\fR nor \fI*x\fR is \s-1NULL\s0 then an attempt is made -to reuse the structure at \fI*x\fR (but see \s-1BUGS\s0 and \s-1EXAMPLES\s0 sections). -Irrespective of the value of \fIx\fR a pointer to the structure is always +The \s-1PEM\s0 read functions all take an argument \fB\s-1TYPE\s0 **x\fR and return +a \fB\s-1TYPE\s0 *\fR pointer. Where \fB\s-1TYPE\s0\fR is whatever structure the function +uses. If \fBx\fR is \s-1NULL\s0 then the parameter is ignored. If \fBx\fR is not +\&\s-1NULL\s0 but \fB*x\fR is \s-1NULL\s0 then the structure returned will be written +to \fB*x\fR. If neither \fBx\fR nor \fB*x\fR is \s-1NULL\s0 then an attempt is made +to reuse the structure at \fB*x\fR (but see \s-1BUGS\s0 and \s-1EXAMPLES\s0 sections). +Irrespective of the value of \fBx\fR a pointer to the structure is always returned (or \s-1NULL\s0 if an error occurred). .PP -The \s-1PEM\s0 functions which write private keys take an \fIenc\fR parameter +The \s-1PEM\s0 functions which write private keys take an \fBenc\fR parameter which specifies the encryption algorithm to use, encryption is done at the \s-1PEM\s0 level. If this parameter is set to \s-1NULL\s0 then the private key is written in unencrypted form. .PP -The \fIcb\fR argument is the callback to use when querying for the pass +The \fBcb\fR argument is the callback to use when querying for the pass phrase used for encrypted \s-1PEM\s0 structures (normally only private keys). .PP -For the \s-1PEM\s0 write routines if the \fIkstr\fR parameter is not \s-1NULL\s0 then -\&\fIklen\fR bytes at \fIkstr\fR are used as the passphrase and \fIcb\fR is +For the \s-1PEM\s0 write routines if the \fBkstr\fR parameter is not \s-1NULL\s0 then +\&\fBklen\fR bytes at \fBkstr\fR are used as the passphrase and \fBcb\fR is ignored. .PP -If the \fIcb\fR parameters is set to \s-1NULL\s0 and the \fIu\fR parameter is not -\&\s-1NULL\s0 then the \fIu\fR parameter is interpreted as a null terminated string -to use as the passphrase. If both \fIcb\fR and \fIu\fR are \s-1NULL\s0 then the +If the \fBcb\fR parameters is set to \s-1NULL\s0 and the \fBu\fR parameter is not +\&\s-1NULL\s0 then the \fBu\fR parameter is interpreted as a null terminated string +to use as the passphrase. If both \fBcb\fR and \fBu\fR are \s-1NULL\s0 then the default callback routine is used which will typically prompt for the passphrase on the current terminal with echoing turned off. .PP @@ -425,15 +403,15 @@ routine has the following form: \& int cb(char *buf, int size, int rwflag, void *u); .Ve .PP -\&\fIbuf\fR is the buffer to write the passphrase to. \fIsize\fR is the maximum -length of the passphrase (i.e. the size of buf). \fIrwflag\fR is a flag +\&\fBbuf\fR is the buffer to write the passphrase to. \fBsize\fR is the maximum +length of the passphrase (i.e. the size of buf). \fBrwflag\fR is a flag which is set to 0 when reading and 1 when writing. A typical routine will ask the user to verify the passphrase (for example by prompting -for it twice) if \fIrwflag\fR is 1. The \fIu\fR parameter has the same -value as the \fIu\fR parameter passed to the \s-1PEM\s0 routine. It allows +for it twice) if \fBrwflag\fR is 1. The \fBu\fR parameter has the same +value as the \fBu\fR parameter passed to the \s-1PEM\s0 routine. It allows arbitrary data to be passed to the callback by the application (for example a window handle in a \s-1GUI\s0 application). The callback -\&\fImust\fR return the number of characters in the passphrase or \-1 if +\&\fBmust\fR return the number of characters in the passphrase or \-1 if an error occurred. .SH "NOTES" .IX Header "NOTES" @@ -456,7 +434,7 @@ this: \& PEM_read_bio_X509(bp, &x, 0, NULL); .Ve .PP -this is a bug because an attempt will be made to reuse the data at \fIx\fR +this is a bug because an attempt will be made to reuse the data at \fBx\fR which is an uninitialised pointer. .PP These functions make no assumption regarding the pass phrase received from the @@ -485,15 +463,15 @@ cipher encoded as a set of hexadecimal digits. After those two lines is the base64\-encoded encrypted data. .PP The encryption key is derived using \fIEVP_BytesToKey()\fR. The cipher's -initialization vector is passed to \fIEVP_BytesToKey()\fR as the \fIsalt\fR +initialization vector is passed to \fIEVP_BytesToKey()\fR as the \fBsalt\fR parameter. Internally, \fB\s-1PKCS5_SALT_LEN\s0\fR bytes of the salt are used (regardless of the size of the initialization vector). The user's -password is passed to \fIEVP_BytesToKey()\fR using the \fIdata\fR and \fIdatal\fR +password is passed to \fIEVP_BytesToKey()\fR using the \fBdata\fR and \fBdatal\fR parameters. Finally, the library uses an iteration count of 1 for \&\fIEVP_BytesToKey()\fR. .PP -The \fIkey\fR derived by \fIEVP_BytesToKey()\fR along with the original initialization -vector is then used to decrypt the encrypted data. The \fIiv\fR produced by +The \fBkey\fR derived by \fIEVP_BytesToKey()\fR along with the original initialization +vector is then used to decrypt the encrypted data. The \fBiv\fR produced by \&\fIEVP_BytesToKey()\fR is not utilized or needed, and \s-1NULL\s0 should be passed to the function. .PP @@ -524,7 +502,7 @@ an existing structure. Therefore the following: \& PEM_read_bio_X509(bp, &x, 0, NULL); .Ve .PP -where \fIx\fR already contains a valid certificate, may not work, whereas: +where \fBx\fR already contains a valid certificate, may not work, whereas: .PP .Vb 2 \& X509_free(x); @@ -629,7 +607,7 @@ as they will be formally deprecated in a future releases. .IX Header "COPYRIGHT" Copyright 2001\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/PEM_read_bio_RSAPrivateKey.3 b/linux_amd64/share/man/man3/PEM_read_bio_RSAPrivateKey.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_read_bio_RSAPrivateKey.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_read_bio_RSAPublicKey.3 b/linux_amd64/share/man/man3/PEM_read_bio_RSAPublicKey.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_read_bio_RSAPublicKey.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_read_bio_RSA_PUBKEY.3 b/linux_amd64/share/man/man3/PEM_read_bio_RSA_PUBKEY.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_read_bio_RSA_PUBKEY.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_read_bio_SSL_SESSION.3 b/linux_amd64/share/man/man3/PEM_read_bio_SSL_SESSION.3 new file mode 120000 index 0000000..7adde69 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_read_bio_SSL_SESSION.3 @@ -0,0 +1 @@ +PEM_read_CMS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_read_bio_X509.3 b/linux_amd64/share/man/man3/PEM_read_bio_X509.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_read_bio_X509.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_read_bio_X509_AUX.3 b/linux_amd64/share/man/man3/PEM_read_bio_X509_AUX.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_read_bio_X509_AUX.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_read_bio_X509_CRL.3 b/linux_amd64/share/man/man3/PEM_read_bio_X509_CRL.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_read_bio_X509_CRL.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_read_bio_X509_REQ.3 b/linux_amd64/share/man/man3/PEM_read_bio_X509_REQ.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_read_bio_X509_REQ.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_read_bio_ex.3 b/linux_amd64/share/man/man3/PEM_read_bio_ex.3 index b339114..769ddf0 100755 --- a/linux_amd64/share/man/man3/PEM_read_bio_ex.3 +++ b/linux_amd64/share/man/man3/PEM_read_bio_ex.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "PEM_READ_BIO_EX 3" -.TH PEM_READ_BIO_EX 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH PEM_READ_BIO_EX 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -PEM_read_bio_ex, PEM_FLAG_SECURE, PEM_FLAG_EAY_COMPATIBLE, -PEM_FLAG_ONLY_B64 \- read PEM format files with custom processing +PEM_read_bio_ex, PEM_FLAG_SECURE, PEM_FLAG_EAY_COMPATIBLE, PEM_FLAG_ONLY_B64 \- read PEM format files with custom processing .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -185,7 +184,7 @@ The \fIPEM_read_bio_ex()\fR function was added in OpenSSL 1.1.1. .IX Header "COPYRIGHT" Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/PEM_write.3 b/linux_amd64/share/man/man3/PEM_write.3 new file mode 120000 index 0000000..f7a8026 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write.3 @@ -0,0 +1 @@ +PEM_read.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_CMS.3 b/linux_amd64/share/man/man3/PEM_write_CMS.3 new file mode 120000 index 0000000..7adde69 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_CMS.3 @@ -0,0 +1 @@ +PEM_read_CMS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_DHparams.3 b/linux_amd64/share/man/man3/PEM_write_DHparams.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_DHparams.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_DHxparams.3 b/linux_amd64/share/man/man3/PEM_write_DHxparams.3 new file mode 120000 index 0000000..7adde69 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_DHxparams.3 @@ -0,0 +1 @@ +PEM_read_CMS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_DSAPrivateKey.3 b/linux_amd64/share/man/man3/PEM_write_DSAPrivateKey.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_DSAPrivateKey.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_DSA_PUBKEY.3 b/linux_amd64/share/man/man3/PEM_write_DSA_PUBKEY.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_DSA_PUBKEY.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_DSAparams.3 b/linux_amd64/share/man/man3/PEM_write_DSAparams.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_DSAparams.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_ECPKParameters.3 b/linux_amd64/share/man/man3/PEM_write_ECPKParameters.3 new file mode 120000 index 0000000..7adde69 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_ECPKParameters.3 @@ -0,0 +1 @@ +PEM_read_CMS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_ECPrivateKey.3 b/linux_amd64/share/man/man3/PEM_write_ECPrivateKey.3 new file mode 120000 index 0000000..7adde69 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_ECPrivateKey.3 @@ -0,0 +1 @@ +PEM_read_CMS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_EC_PUBKEY.3 b/linux_amd64/share/man/man3/PEM_write_EC_PUBKEY.3 new file mode 120000 index 0000000..7adde69 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_EC_PUBKEY.3 @@ -0,0 +1 @@ +PEM_read_CMS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_NETSCAPE_CERT_SEQUENCE.3 b/linux_amd64/share/man/man3/PEM_write_NETSCAPE_CERT_SEQUENCE.3 new file mode 120000 index 0000000..7adde69 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_NETSCAPE_CERT_SEQUENCE.3 @@ -0,0 +1 @@ +PEM_read_CMS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_PKCS7.3 b/linux_amd64/share/man/man3/PEM_write_PKCS7.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_PKCS7.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_PKCS8.3 b/linux_amd64/share/man/man3/PEM_write_PKCS8.3 new file mode 120000 index 0000000..7adde69 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_PKCS8.3 @@ -0,0 +1 @@ +PEM_read_CMS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_PKCS8PrivateKey.3 b/linux_amd64/share/man/man3/PEM_write_PKCS8PrivateKey.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_PKCS8PrivateKey.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_PKCS8PrivateKey_nid.3 b/linux_amd64/share/man/man3/PEM_write_PKCS8PrivateKey_nid.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_PKCS8PrivateKey_nid.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_PKCS8_PRIV_KEY_INFO.3 b/linux_amd64/share/man/man3/PEM_write_PKCS8_PRIV_KEY_INFO.3 new file mode 120000 index 0000000..7adde69 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_PKCS8_PRIV_KEY_INFO.3 @@ -0,0 +1 @@ +PEM_read_CMS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_PUBKEY.3 b/linux_amd64/share/man/man3/PEM_write_PUBKEY.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_PUBKEY.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_PrivateKey.3 b/linux_amd64/share/man/man3/PEM_write_PrivateKey.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_PrivateKey.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_RSAPrivateKey.3 b/linux_amd64/share/man/man3/PEM_write_RSAPrivateKey.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_RSAPrivateKey.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_RSAPublicKey.3 b/linux_amd64/share/man/man3/PEM_write_RSAPublicKey.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_RSAPublicKey.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_RSA_PUBKEY.3 b/linux_amd64/share/man/man3/PEM_write_RSA_PUBKEY.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_RSA_PUBKEY.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_SSL_SESSION.3 b/linux_amd64/share/man/man3/PEM_write_SSL_SESSION.3 new file mode 120000 index 0000000..7adde69 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_SSL_SESSION.3 @@ -0,0 +1 @@ +PEM_read_CMS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_X509.3 b/linux_amd64/share/man/man3/PEM_write_X509.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_X509.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_X509_AUX.3 b/linux_amd64/share/man/man3/PEM_write_X509_AUX.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_X509_AUX.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_X509_CRL.3 b/linux_amd64/share/man/man3/PEM_write_X509_CRL.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_X509_CRL.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_X509_REQ.3 b/linux_amd64/share/man/man3/PEM_write_X509_REQ.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_X509_REQ.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_X509_REQ_NEW.3 b/linux_amd64/share/man/man3/PEM_write_X509_REQ_NEW.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_X509_REQ_NEW.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_bio.3 b/linux_amd64/share/man/man3/PEM_write_bio.3 new file mode 120000 index 0000000..f7a8026 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_bio.3 @@ -0,0 +1 @@ +PEM_read.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_bio_CMS.3 b/linux_amd64/share/man/man3/PEM_write_bio_CMS.3 new file mode 120000 index 0000000..7adde69 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_bio_CMS.3 @@ -0,0 +1 @@ +PEM_read_CMS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_bio_CMS_stream.3 b/linux_amd64/share/man/man3/PEM_write_bio_CMS_stream.3 index d04d8ab..a176e17 100755 --- a/linux_amd64/share/man/man3/PEM_write_bio_CMS_stream.3 +++ b/linux_amd64/share/man/man3/PEM_write_bio_CMS_stream.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "PEM_WRITE_BIO_CMS_STREAM 3" -.TH PEM_WRITE_BIO_CMS_STREAM 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH PEM_WRITE_BIO_CMS_STREAM 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -165,7 +165,7 @@ The \fIPEM_write_bio_CMS_stream()\fR function was added in OpenSSL 1.0.0. .IX Header "COPYRIGHT" Copyright 2008\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/PEM_write_bio_DHparams.3 b/linux_amd64/share/man/man3/PEM_write_bio_DHparams.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_bio_DHparams.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_bio_DHxparams.3 b/linux_amd64/share/man/man3/PEM_write_bio_DHxparams.3 new file mode 120000 index 0000000..7adde69 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_bio_DHxparams.3 @@ -0,0 +1 @@ +PEM_read_CMS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_bio_DSAPrivateKey.3 b/linux_amd64/share/man/man3/PEM_write_bio_DSAPrivateKey.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_bio_DSAPrivateKey.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_bio_DSA_PUBKEY.3 b/linux_amd64/share/man/man3/PEM_write_bio_DSA_PUBKEY.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_bio_DSA_PUBKEY.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_bio_DSAparams.3 b/linux_amd64/share/man/man3/PEM_write_bio_DSAparams.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_bio_DSAparams.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_bio_ECPKParameters.3 b/linux_amd64/share/man/man3/PEM_write_bio_ECPKParameters.3 new file mode 120000 index 0000000..7adde69 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_bio_ECPKParameters.3 @@ -0,0 +1 @@ +PEM_read_CMS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_bio_ECPrivateKey.3 b/linux_amd64/share/man/man3/PEM_write_bio_ECPrivateKey.3 new file mode 120000 index 0000000..7adde69 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_bio_ECPrivateKey.3 @@ -0,0 +1 @@ +PEM_read_CMS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_bio_EC_PUBKEY.3 b/linux_amd64/share/man/man3/PEM_write_bio_EC_PUBKEY.3 new file mode 120000 index 0000000..7adde69 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_bio_EC_PUBKEY.3 @@ -0,0 +1 @@ +PEM_read_CMS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_bio_NETSCAPE_CERT_SEQUENCE.3 b/linux_amd64/share/man/man3/PEM_write_bio_NETSCAPE_CERT_SEQUENCE.3 new file mode 120000 index 0000000..7adde69 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_bio_NETSCAPE_CERT_SEQUENCE.3 @@ -0,0 +1 @@ +PEM_read_CMS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_bio_PKCS7.3 b/linux_amd64/share/man/man3/PEM_write_bio_PKCS7.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_bio_PKCS7.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_bio_PKCS7_stream.3 b/linux_amd64/share/man/man3/PEM_write_bio_PKCS7_stream.3 index 655a9ad..8095df8 100755 --- a/linux_amd64/share/man/man3/PEM_write_bio_PKCS7_stream.3 +++ b/linux_amd64/share/man/man3/PEM_write_bio_PKCS7_stream.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "PEM_WRITE_BIO_PKCS7_STREAM 3" -.TH PEM_WRITE_BIO_PKCS7_STREAM 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH PEM_WRITE_BIO_PKCS7_STREAM 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -164,7 +164,7 @@ The \fIPEM_write_bio_PKCS7_stream()\fR function was added in OpenSSL 1.0.0. .IX Header "COPYRIGHT" Copyright 2007\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/PEM_write_bio_PKCS8.3 b/linux_amd64/share/man/man3/PEM_write_bio_PKCS8.3 new file mode 120000 index 0000000..7adde69 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_bio_PKCS8.3 @@ -0,0 +1 @@ +PEM_read_CMS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_bio_PKCS8PrivateKey.3 b/linux_amd64/share/man/man3/PEM_write_bio_PKCS8PrivateKey.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_bio_PKCS8PrivateKey.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_bio_PKCS8PrivateKey_nid.3 b/linux_amd64/share/man/man3/PEM_write_bio_PKCS8PrivateKey_nid.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_bio_PKCS8PrivateKey_nid.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_bio_PKCS8_PRIV_KEY_INFO.3 b/linux_amd64/share/man/man3/PEM_write_bio_PKCS8_PRIV_KEY_INFO.3 new file mode 120000 index 0000000..7adde69 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_bio_PKCS8_PRIV_KEY_INFO.3 @@ -0,0 +1 @@ +PEM_read_CMS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_bio_PUBKEY.3 b/linux_amd64/share/man/man3/PEM_write_bio_PUBKEY.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_bio_PUBKEY.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_bio_Parameters.3 b/linux_amd64/share/man/man3/PEM_write_bio_Parameters.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_bio_Parameters.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_bio_PrivateKey.3 b/linux_amd64/share/man/man3/PEM_write_bio_PrivateKey.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_bio_PrivateKey.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_bio_PrivateKey_traditional.3 b/linux_amd64/share/man/man3/PEM_write_bio_PrivateKey_traditional.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_bio_PrivateKey_traditional.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_bio_RSAPrivateKey.3 b/linux_amd64/share/man/man3/PEM_write_bio_RSAPrivateKey.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_bio_RSAPrivateKey.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_bio_RSAPublicKey.3 b/linux_amd64/share/man/man3/PEM_write_bio_RSAPublicKey.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_bio_RSAPublicKey.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_bio_RSA_PUBKEY.3 b/linux_amd64/share/man/man3/PEM_write_bio_RSA_PUBKEY.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_bio_RSA_PUBKEY.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_bio_SSL_SESSION.3 b/linux_amd64/share/man/man3/PEM_write_bio_SSL_SESSION.3 new file mode 120000 index 0000000..7adde69 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_bio_SSL_SESSION.3 @@ -0,0 +1 @@ +PEM_read_CMS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_bio_X509.3 b/linux_amd64/share/man/man3/PEM_write_bio_X509.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_bio_X509.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_bio_X509_AUX.3 b/linux_amd64/share/man/man3/PEM_write_bio_X509_AUX.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_bio_X509_AUX.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_bio_X509_CRL.3 b/linux_amd64/share/man/man3/PEM_write_bio_X509_CRL.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_bio_X509_CRL.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_bio_X509_REQ.3 b/linux_amd64/share/man/man3/PEM_write_bio_X509_REQ.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_bio_X509_REQ.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PEM_write_bio_X509_REQ_NEW.3 b/linux_amd64/share/man/man3/PEM_write_bio_X509_REQ_NEW.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/PEM_write_bio_X509_REQ_NEW.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PKCS12_BAGS_free.3 b/linux_amd64/share/man/man3/PKCS12_BAGS_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/PKCS12_BAGS_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PKCS12_BAGS_new.3 b/linux_amd64/share/man/man3/PKCS12_BAGS_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/PKCS12_BAGS_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PKCS12_MAC_DATA_free.3 b/linux_amd64/share/man/man3/PKCS12_MAC_DATA_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/PKCS12_MAC_DATA_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PKCS12_MAC_DATA_new.3 b/linux_amd64/share/man/man3/PKCS12_MAC_DATA_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/PKCS12_MAC_DATA_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PKCS12_SAFEBAG_free.3 b/linux_amd64/share/man/man3/PKCS12_SAFEBAG_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/PKCS12_SAFEBAG_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PKCS12_SAFEBAG_new.3 b/linux_amd64/share/man/man3/PKCS12_SAFEBAG_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/PKCS12_SAFEBAG_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PKCS12_create.3 b/linux_amd64/share/man/man3/PKCS12_create.3 index ec5452b..a7b649e 100755 --- a/linux_amd64/share/man/man3/PKCS12_create.3 +++ b/linux_amd64/share/man/man3/PKCS12_create.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "PKCS12_CREATE 3" -.TH PKCS12_CREATE 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH PKCS12_CREATE 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -202,7 +202,7 @@ See \fIpassphrase\-encoding\fR\|(7) for more information. .IX Header "COPYRIGHT" Copyright 2002\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/PKCS12_free.3 b/linux_amd64/share/man/man3/PKCS12_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/PKCS12_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PKCS12_new.3 b/linux_amd64/share/man/man3/PKCS12_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/PKCS12_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PKCS12_newpass.3 b/linux_amd64/share/man/man3/PKCS12_newpass.3 index 44af9c2..01c7fe9 100755 --- a/linux_amd64/share/man/man3/PKCS12_newpass.3 +++ b/linux_amd64/share/man/man3/PKCS12_newpass.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "PKCS12_NEWPASS 3" -.TH PKCS12_NEWPASS 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH PKCS12_NEWPASS 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -144,7 +144,8 @@ PKCS12_newpass \- change the password of a PKCS12 structure .PP \&\fBp12\fR is a pointer to a \s-1PKCS12\s0 structure. \fBoldpass\fR is the existing password and \fBnewpass\fR is the new password. -.PP +.SH "NOTES" +.IX Header "NOTES" Each of \fBoldpass\fR and \fBnewpass\fR is independently interpreted as a string in the \s-1UTF\-8\s0 encoding. If it is not valid \s-1UTF\-8\s0, it is assumed to be \s-1ISO8859\-1\s0 instead. @@ -154,15 +155,6 @@ In particular, this means that passwords in the locale character set use. This may include passwords from local text files, or input from the terminal or command line. Refer to the documentation of \&\fIUI_OpenSSL\fR\|(3), for example. -.PP -If the PKCS#12 structure does not have a password, then you must use the empty -string "" for \fBoldpass\fR. Using \s-1NULL\s0 for \fBoldpass\fR will result in a -\&\fIPKCS12_newpass()\fR failure. -.PP -If the wrong password is used for \fBoldpass\fR then the function will fail, -with a \s-1MAC\s0 verification error. In rare cases the \s-1PKCS12\s0 structure does not -contain a \s-1MAC:\s0 in this case it will usually fail with a decryption padding -error. .SH "RETURN VALUES" .IX Header "RETURN VALUES" \&\fIPKCS12_newpass()\fR returns 1 on success or 0 on failure. Applications can @@ -216,6 +208,16 @@ the result to a new file. \& return 0; \& } .Ve +.SH "NOTES" +.IX Header "NOTES" +If the PKCS#12 structure does not have a password, then you must use the empty +string "" for \fBoldpass\fR. Using \s-1NULL\s0 for \fBoldpass\fR will result in a +\&\fIPKCS12_newpass()\fR failure. +.PP +If the wrong password is used for \fBoldpass\fR then the function will fail, +with a \s-1MAC\s0 verification error. In rare cases the \s-1PKCS12\s0 structure does not +contain a \s-1MAC:\s0 in this case it will usually fail with a decryption padding +error. .SH "BUGS" .IX Header "BUGS" The password format is a \s-1NULL\s0 terminated \s-1ASCII\s0 string which is converted to @@ -227,9 +229,9 @@ this function. \&\fIpassphrase\-encoding\fR\|(7) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2016\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2016\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/PKCS12_parse.3 b/linux_amd64/share/man/man3/PKCS12_parse.3 index f66b82b..aae68d0 100755 --- a/linux_amd64/share/man/man3/PKCS12_parse.3 +++ b/linux_amd64/share/man/man3/PKCS12_parse.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "PKCS12_PARSE 3" -.TH PKCS12_PARSE 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH PKCS12_PARSE 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -188,7 +188,7 @@ Attributes currently cannot be stored in the private key \fB\s-1EVP_PKEY\s0\fR s .IX Header "COPYRIGHT" Copyright 2002\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/PKCS5_PBKDF2_HMAC.3 b/linux_amd64/share/man/man3/PKCS5_PBKDF2_HMAC.3 index 79c5c17..a326343 100755 --- a/linux_amd64/share/man/man3/PKCS5_PBKDF2_HMAC.3 +++ b/linux_amd64/share/man/man3/PKCS5_PBKDF2_HMAC.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "PKCS5_PBKDF2_HMAC 3" -.TH PKCS5_PBKDF2_HMAC 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH PKCS5_PBKDF2_HMAC 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -193,7 +193,7 @@ It will simply be treated as a byte sequence. .IX Header "COPYRIGHT" Copyright 2014\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/PKCS5_PBKDF2_HMAC_SHA1.3 b/linux_amd64/share/man/man3/PKCS5_PBKDF2_HMAC_SHA1.3 new file mode 120000 index 0000000..40e1673 --- /dev/null +++ b/linux_amd64/share/man/man3/PKCS5_PBKDF2_HMAC_SHA1.3 @@ -0,0 +1 @@ +PKCS5_PBKDF2_HMAC.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PKCS7_DIGEST_free.3 b/linux_amd64/share/man/man3/PKCS7_DIGEST_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/PKCS7_DIGEST_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PKCS7_DIGEST_new.3 b/linux_amd64/share/man/man3/PKCS7_DIGEST_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/PKCS7_DIGEST_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PKCS7_ENCRYPT_free.3 b/linux_amd64/share/man/man3/PKCS7_ENCRYPT_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/PKCS7_ENCRYPT_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PKCS7_ENCRYPT_new.3 b/linux_amd64/share/man/man3/PKCS7_ENCRYPT_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/PKCS7_ENCRYPT_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PKCS7_ENC_CONTENT_free.3 b/linux_amd64/share/man/man3/PKCS7_ENC_CONTENT_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/PKCS7_ENC_CONTENT_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PKCS7_ENC_CONTENT_new.3 b/linux_amd64/share/man/man3/PKCS7_ENC_CONTENT_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/PKCS7_ENC_CONTENT_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PKCS7_ENVELOPE_free.3 b/linux_amd64/share/man/man3/PKCS7_ENVELOPE_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/PKCS7_ENVELOPE_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PKCS7_ENVELOPE_new.3 b/linux_amd64/share/man/man3/PKCS7_ENVELOPE_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/PKCS7_ENVELOPE_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PKCS7_ISSUER_AND_SERIAL_digest.3 b/linux_amd64/share/man/man3/PKCS7_ISSUER_AND_SERIAL_digest.3 new file mode 120000 index 0000000..f86b06d --- /dev/null +++ b/linux_amd64/share/man/man3/PKCS7_ISSUER_AND_SERIAL_digest.3 @@ -0,0 +1 @@ +X509_digest.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PKCS7_ISSUER_AND_SERIAL_free.3 b/linux_amd64/share/man/man3/PKCS7_ISSUER_AND_SERIAL_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/PKCS7_ISSUER_AND_SERIAL_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PKCS7_ISSUER_AND_SERIAL_new.3 b/linux_amd64/share/man/man3/PKCS7_ISSUER_AND_SERIAL_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/PKCS7_ISSUER_AND_SERIAL_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PKCS7_RECIP_INFO_free.3 b/linux_amd64/share/man/man3/PKCS7_RECIP_INFO_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/PKCS7_RECIP_INFO_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PKCS7_RECIP_INFO_new.3 b/linux_amd64/share/man/man3/PKCS7_RECIP_INFO_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/PKCS7_RECIP_INFO_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PKCS7_SIGNED_free.3 b/linux_amd64/share/man/man3/PKCS7_SIGNED_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/PKCS7_SIGNED_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PKCS7_SIGNED_new.3 b/linux_amd64/share/man/man3/PKCS7_SIGNED_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/PKCS7_SIGNED_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PKCS7_SIGNER_INFO_free.3 b/linux_amd64/share/man/man3/PKCS7_SIGNER_INFO_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/PKCS7_SIGNER_INFO_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PKCS7_SIGNER_INFO_new.3 b/linux_amd64/share/man/man3/PKCS7_SIGNER_INFO_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/PKCS7_SIGNER_INFO_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PKCS7_SIGN_ENVELOPE_free.3 b/linux_amd64/share/man/man3/PKCS7_SIGN_ENVELOPE_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/PKCS7_SIGN_ENVELOPE_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PKCS7_SIGN_ENVELOPE_new.3 b/linux_amd64/share/man/man3/PKCS7_SIGN_ENVELOPE_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/PKCS7_SIGN_ENVELOPE_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PKCS7_decrypt.3 b/linux_amd64/share/man/man3/PKCS7_decrypt.3 index ba32c54..e3eb081 100755 --- a/linux_amd64/share/man/man3/PKCS7_decrypt.3 +++ b/linux_amd64/share/man/man3/PKCS7_decrypt.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "PKCS7_DECRYPT 3" -.TH PKCS7_DECRYPT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH PKCS7_DECRYPT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -172,7 +172,7 @@ mentioned in \fIPKCS7_sign()\fR also applies to \fIPKCS7_verify()\fR. .IX Header "COPYRIGHT" Copyright 2002\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/PKCS7_dup.3 b/linux_amd64/share/man/man3/PKCS7_dup.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/PKCS7_dup.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PKCS7_encrypt.3 b/linux_amd64/share/man/man3/PKCS7_encrypt.3 index a9fd1e1..a888957 100755 --- a/linux_amd64/share/man/man3/PKCS7_encrypt.3 +++ b/linux_amd64/share/man/man3/PKCS7_encrypt.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "PKCS7_ENCRYPT 3" -.TH PKCS7_ENCRYPT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH PKCS7_ENCRYPT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -144,7 +144,8 @@ PKCS7_encrypt \- create a PKCS#7 envelopedData structure \&\fIPKCS7_encrypt()\fR creates and returns a PKCS#7 envelopedData structure. \fBcerts\fR is a list of recipient certificates. \fBin\fR is the content to be encrypted. \&\fBcipher\fR is the symmetric cipher to use. \fBflags\fR is an optional set of flags. -.PP +.SH "NOTES" +.IX Header "NOTES" Only \s-1RSA\s0 keys are supported in PKCS#7 and envelopedData so the recipient certificates supplied to this function must all contain \s-1RSA\s0 public keys, though they do not have to be signed using the \s-1RSA\s0 algorithm. @@ -177,7 +178,8 @@ otherwise the translation will corrupt it. If \fB\s-1PKCS7_BINARY\s0\fR is set t .PP If the \fB\s-1PKCS7_STREAM\s0\fR flag is set a partial \fB\s-1PKCS7\s0\fR structure is output suitable for streaming I/O: no data is read from the \s-1BIO\s0 \fBin\fR. -.PP +.SH "NOTES" +.IX Header "NOTES" If the flag \fB\s-1PKCS7_STREAM\s0\fR is set the returned \fB\s-1PKCS7\s0\fR structure is \fBnot\fR complete and outputting its contents via a function that does not properly finalize the \fB\s-1PKCS7\s0\fR structure will give unpredictable @@ -201,7 +203,7 @@ The \fB\s-1PKCS7_STREAM\s0\fR flag was added in OpenSSL 1.0.0. .IX Header "COPYRIGHT" Copyright 2002\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/PKCS7_free.3 b/linux_amd64/share/man/man3/PKCS7_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/PKCS7_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PKCS7_get0_signers.3 b/linux_amd64/share/man/man3/PKCS7_get0_signers.3 new file mode 120000 index 0000000..f07129b --- /dev/null +++ b/linux_amd64/share/man/man3/PKCS7_get0_signers.3 @@ -0,0 +1 @@ +PKCS7_verify.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PKCS7_new.3 b/linux_amd64/share/man/man3/PKCS7_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/PKCS7_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PKCS7_print_ctx.3 b/linux_amd64/share/man/man3/PKCS7_print_ctx.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/PKCS7_print_ctx.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PKCS7_sign.3 b/linux_amd64/share/man/man3/PKCS7_sign.3 index 551e551..a689761 100755 --- a/linux_amd64/share/man/man3/PKCS7_sign.3 +++ b/linux_amd64/share/man/man3/PKCS7_sign.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "PKCS7_SIGN 3" -.TH PKCS7_SIGN 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH PKCS7_SIGN 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -149,7 +149,8 @@ structure (for example any intermediate CAs in the chain). The data to be signed is read from \s-1BIO\s0 \fBdata\fR. .PP \&\fBflags\fR is an optional set of flags. -.PP +.SH "NOTES" +.IX Header "NOTES" Any of the following flags (ored together) can be passed in the \fBflags\fR parameter. .PP @@ -191,7 +192,8 @@ way data can be signed in a single pass. .PP If the \fB\s-1PKCS7_PARTIAL\s0\fR flag is set a partial \fB\s-1PKCS7\s0\fR structure is output to which additional signers and capabilities can be added before finalization. -.PP +.SH "NOTES" +.IX Header "NOTES" If the flag \fB\s-1PKCS7_STREAM\s0\fR is set the returned \fB\s-1PKCS7\s0\fR structure is \fBnot\fR complete and outputting its contents via a function that does not properly finalize the \fB\s-1PKCS7\s0\fR structure will give unpredictable results. @@ -235,7 +237,7 @@ The \fB\s-1PKCS7_STREAM\s0\fR flag was added in OpenSSL 1.0.0. .IX Header "COPYRIGHT" Copyright 2002\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/PKCS7_sign_add_signer.3 b/linux_amd64/share/man/man3/PKCS7_sign_add_signer.3 index b9a8421..9ec25f2 100755 --- a/linux_amd64/share/man/man3/PKCS7_sign_add_signer.3 +++ b/linux_amd64/share/man/man3/PKCS7_sign_add_signer.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "PKCS7_SIGN_ADD_SIGNER 3" -.TH PKCS7_SIGN_ADD_SIGNER 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH PKCS7_SIGN_ADD_SIGNER 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -209,7 +209,7 @@ The \fIPPKCS7_sign_add_signer()\fR function was added in OpenSSL 1.0.0. .IX Header "COPYRIGHT" Copyright 2007\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/PKCS7_verify.3 b/linux_amd64/share/man/man3/PKCS7_verify.3 index e42ac83..b669b96 100755 --- a/linux_amd64/share/man/man3/PKCS7_verify.3 +++ b/linux_amd64/share/man/man3/PKCS7_verify.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "PKCS7_VERIFY 3" -.TH PKCS7_VERIFY 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH PKCS7_VERIFY 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -211,7 +211,7 @@ certificates supplied in \fBcerts\fR then the verify will fail because the signer cannot be found. .PP Care should be taken when modifying the default verify behaviour, for example -setting \f(CW\*(C`PKCS7_NOVERIFY|PKCS7_NOSIGS\*(C'\fR will totally disable all verification +setting \fBPKCS7_NOVERIFY|PKCS7_NOSIGS\fR will totally disable all verification and any signed message will be considered valid. This combination is however useful if one merely wishes to write the content to \fBout\fR and its validity is not considered important. @@ -243,7 +243,7 @@ mentioned in \fIPKCS7_sign()\fR also applies to \fIPKCS7_verify()\fR. .IX Header "COPYRIGHT" Copyright 2002\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/PKCS8_PRIV_KEY_INFO_free.3 b/linux_amd64/share/man/man3/PKCS8_PRIV_KEY_INFO_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/PKCS8_PRIV_KEY_INFO_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PKCS8_PRIV_KEY_INFO_new.3 b/linux_amd64/share/man/man3/PKCS8_PRIV_KEY_INFO_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/PKCS8_PRIV_KEY_INFO_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PKEY_USAGE_PERIOD_free.3 b/linux_amd64/share/man/man3/PKEY_USAGE_PERIOD_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/PKEY_USAGE_PERIOD_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PKEY_USAGE_PERIOD_new.3 b/linux_amd64/share/man/man3/PKEY_USAGE_PERIOD_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/PKEY_USAGE_PERIOD_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/POLICYINFO_free.3 b/linux_amd64/share/man/man3/POLICYINFO_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/POLICYINFO_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/POLICYINFO_new.3 b/linux_amd64/share/man/man3/POLICYINFO_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/POLICYINFO_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/POLICYQUALINFO_free.3 b/linux_amd64/share/man/man3/POLICYQUALINFO_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/POLICYQUALINFO_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/POLICYQUALINFO_new.3 b/linux_amd64/share/man/man3/POLICYQUALINFO_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/POLICYQUALINFO_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/POLICY_CONSTRAINTS_free.3 b/linux_amd64/share/man/man3/POLICY_CONSTRAINTS_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/POLICY_CONSTRAINTS_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/POLICY_CONSTRAINTS_new.3 b/linux_amd64/share/man/man3/POLICY_CONSTRAINTS_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/POLICY_CONSTRAINTS_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/POLICY_MAPPING_free.3 b/linux_amd64/share/man/man3/POLICY_MAPPING_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/POLICY_MAPPING_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/POLICY_MAPPING_new.3 b/linux_amd64/share/man/man3/POLICY_MAPPING_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/POLICY_MAPPING_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PROFESSION_INFO.3 b/linux_amd64/share/man/man3/PROFESSION_INFO.3 new file mode 120000 index 0000000..86f1944 --- /dev/null +++ b/linux_amd64/share/man/man3/PROFESSION_INFO.3 @@ -0,0 +1 @@ +ADMISSIONS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PROFESSION_INFOS.3 b/linux_amd64/share/man/man3/PROFESSION_INFOS.3 new file mode 120000 index 0000000..86f1944 --- /dev/null +++ b/linux_amd64/share/man/man3/PROFESSION_INFOS.3 @@ -0,0 +1 @@ +ADMISSIONS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PROFESSION_INFOS_free.3 b/linux_amd64/share/man/man3/PROFESSION_INFOS_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/PROFESSION_INFOS_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PROFESSION_INFOS_new.3 b/linux_amd64/share/man/man3/PROFESSION_INFOS_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/PROFESSION_INFOS_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PROFESSION_INFO_free.3 b/linux_amd64/share/man/man3/PROFESSION_INFO_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/PROFESSION_INFO_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PROFESSION_INFO_get0_addProfessionInfo.3 b/linux_amd64/share/man/man3/PROFESSION_INFO_get0_addProfessionInfo.3 new file mode 120000 index 0000000..86f1944 --- /dev/null +++ b/linux_amd64/share/man/man3/PROFESSION_INFO_get0_addProfessionInfo.3 @@ -0,0 +1 @@ +ADMISSIONS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PROFESSION_INFO_get0_namingAuthority.3 b/linux_amd64/share/man/man3/PROFESSION_INFO_get0_namingAuthority.3 new file mode 120000 index 0000000..86f1944 --- /dev/null +++ b/linux_amd64/share/man/man3/PROFESSION_INFO_get0_namingAuthority.3 @@ -0,0 +1 @@ +ADMISSIONS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PROFESSION_INFO_get0_professionItems.3 b/linux_amd64/share/man/man3/PROFESSION_INFO_get0_professionItems.3 new file mode 120000 index 0000000..86f1944 --- /dev/null +++ b/linux_amd64/share/man/man3/PROFESSION_INFO_get0_professionItems.3 @@ -0,0 +1 @@ +ADMISSIONS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PROFESSION_INFO_get0_professionOIDs.3 b/linux_amd64/share/man/man3/PROFESSION_INFO_get0_professionOIDs.3 new file mode 120000 index 0000000..86f1944 --- /dev/null +++ b/linux_amd64/share/man/man3/PROFESSION_INFO_get0_professionOIDs.3 @@ -0,0 +1 @@ +ADMISSIONS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PROFESSION_INFO_get0_registrationNumber.3 b/linux_amd64/share/man/man3/PROFESSION_INFO_get0_registrationNumber.3 new file mode 120000 index 0000000..86f1944 --- /dev/null +++ b/linux_amd64/share/man/man3/PROFESSION_INFO_get0_registrationNumber.3 @@ -0,0 +1 @@ +ADMISSIONS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PROFESSION_INFO_new.3 b/linux_amd64/share/man/man3/PROFESSION_INFO_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/PROFESSION_INFO_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PROFESSION_INFO_set0_addProfessionInfo.3 b/linux_amd64/share/man/man3/PROFESSION_INFO_set0_addProfessionInfo.3 new file mode 120000 index 0000000..86f1944 --- /dev/null +++ b/linux_amd64/share/man/man3/PROFESSION_INFO_set0_addProfessionInfo.3 @@ -0,0 +1 @@ +ADMISSIONS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PROFESSION_INFO_set0_namingAuthority.3 b/linux_amd64/share/man/man3/PROFESSION_INFO_set0_namingAuthority.3 new file mode 120000 index 0000000..86f1944 --- /dev/null +++ b/linux_amd64/share/man/man3/PROFESSION_INFO_set0_namingAuthority.3 @@ -0,0 +1 @@ +ADMISSIONS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PROFESSION_INFO_set0_professionItems.3 b/linux_amd64/share/man/man3/PROFESSION_INFO_set0_professionItems.3 new file mode 120000 index 0000000..86f1944 --- /dev/null +++ b/linux_amd64/share/man/man3/PROFESSION_INFO_set0_professionItems.3 @@ -0,0 +1 @@ +ADMISSIONS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PROFESSION_INFO_set0_professionOIDs.3 b/linux_amd64/share/man/man3/PROFESSION_INFO_set0_professionOIDs.3 new file mode 120000 index 0000000..86f1944 --- /dev/null +++ b/linux_amd64/share/man/man3/PROFESSION_INFO_set0_professionOIDs.3 @@ -0,0 +1 @@ +ADMISSIONS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PROFESSION_INFO_set0_registrationNumber.3 b/linux_amd64/share/man/man3/PROFESSION_INFO_set0_registrationNumber.3 new file mode 120000 index 0000000..86f1944 --- /dev/null +++ b/linux_amd64/share/man/man3/PROFESSION_INFO_set0_registrationNumber.3 @@ -0,0 +1 @@ +ADMISSIONS.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PROXY_CERT_INFO_EXTENSION_free.3 b/linux_amd64/share/man/man3/PROXY_CERT_INFO_EXTENSION_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/PROXY_CERT_INFO_EXTENSION_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PROXY_CERT_INFO_EXTENSION_new.3 b/linux_amd64/share/man/man3/PROXY_CERT_INFO_EXTENSION_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/PROXY_CERT_INFO_EXTENSION_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PROXY_POLICY_free.3 b/linux_amd64/share/man/man3/PROXY_POLICY_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/PROXY_POLICY_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/PROXY_POLICY_new.3 b/linux_amd64/share/man/man3/PROXY_POLICY_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/PROXY_POLICY_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RAND_DRBG_bytes.3 b/linux_amd64/share/man/man3/RAND_DRBG_bytes.3 new file mode 120000 index 0000000..83be5e3 --- /dev/null +++ b/linux_amd64/share/man/man3/RAND_DRBG_bytes.3 @@ -0,0 +1 @@ +RAND_DRBG_generate.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RAND_DRBG_cleanup_entropy_fn.3 b/linux_amd64/share/man/man3/RAND_DRBG_cleanup_entropy_fn.3 new file mode 120000 index 0000000..07d1082 --- /dev/null +++ b/linux_amd64/share/man/man3/RAND_DRBG_cleanup_entropy_fn.3 @@ -0,0 +1 @@ +RAND_DRBG_set_callbacks.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RAND_DRBG_cleanup_nonce_fn.3 b/linux_amd64/share/man/man3/RAND_DRBG_cleanup_nonce_fn.3 new file mode 120000 index 0000000..07d1082 --- /dev/null +++ b/linux_amd64/share/man/man3/RAND_DRBG_cleanup_nonce_fn.3 @@ -0,0 +1 @@ +RAND_DRBG_set_callbacks.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RAND_DRBG_free.3 b/linux_amd64/share/man/man3/RAND_DRBG_free.3 new file mode 120000 index 0000000..cdfd717 --- /dev/null +++ b/linux_amd64/share/man/man3/RAND_DRBG_free.3 @@ -0,0 +1 @@ +RAND_DRBG_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RAND_DRBG_generate.3 b/linux_amd64/share/man/man3/RAND_DRBG_generate.3 index 69805a5..5e2b050 100755 --- a/linux_amd64/share/man/man3/RAND_DRBG_generate.3 +++ b/linux_amd64/share/man/man3/RAND_DRBG_generate.3 @@ -124,15 +124,13 @@ .\" ======================================================================== .\" .IX Title "RAND_DRBG_GENERATE 3" -.TH RAND_DRBG_GENERATE 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH RAND_DRBG_GENERATE 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -RAND_DRBG_generate, -RAND_DRBG_bytes -\&\- generate random bytes using the given drbg instance +RAND_DRBG_generate, RAND_DRBG_bytes \&\- generate random bytes using the given drbg instance .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -156,9 +154,7 @@ number of generate requests (\fIreseed interval\fR) or the maximum timespan (\fIreseed time interval\fR) since its last seeding have been reached. If this is the case, the \s-1DRBG\s0 reseeds automatically. Additionally, an immediate reseeding can be requested by setting the -\&\fBprediction_resistance\fR flag to 1. -Requesting prediction resistance is a relative expensive operation. -See \s-1NOTES\s0 section for more details. +\&\fBprediction_resistance\fR flag to 1. See \s-1NOTES\s0 section for more details. .PP The caller can optionally provide additional data to be used for reseeding by passing a pointer \fBadin\fR to a buffer of length \fBadinlen\fR. @@ -185,9 +181,11 @@ If necessary, they can be changed using \fIRAND_DRBG_set_reseed_interval\fR\|(3) and \fIRAND_DRBG_set_reseed_time_interval\fR\|(3), respectively. .PP A request for prediction resistance can only be satisfied by pulling fresh -entropy from a live entropy source (section 5.5.2 of [\s-1NIST\s0 \s-1SP\s0 800\-90C]). -It is up to the user to ensure that a live entropy source is configured -and is being used. +entropy from one of the approved entropy sources listed in section 5.5.2 of +[\s-1NIST\s0 \s-1SP\s0 800\-90C]. +Since the default \s-1DRBG\s0 implementation does not have access to such an approved +entropy source, a request for prediction resistance will always fail. +In other words, prediction resistance is currently not supported yet by the \s-1DRBG\s0. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIRAND_bytes\fR\|(3), @@ -197,13 +195,11 @@ and is being used. .SH "HISTORY" .IX Header "HISTORY" The \s-1RAND_DRBG\s0 functions were added in OpenSSL 1.1.1. -.PP -Prediction resistance is supported from OpenSSL 3.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2017\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/RAND_DRBG_get0_master.3 b/linux_amd64/share/man/man3/RAND_DRBG_get0_master.3 index 2b0cf0c..9a69e41 100755 --- a/linux_amd64/share/man/man3/RAND_DRBG_get0_master.3 +++ b/linux_amd64/share/man/man3/RAND_DRBG_get0_master.3 @@ -124,27 +124,18 @@ .\" ======================================================================== .\" .IX Title "RAND_DRBG_GET0_MASTER 3" -.TH RAND_DRBG_GET0_MASTER 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH RAND_DRBG_GET0_MASTER 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -OPENSSL_CTX_get0_master_drbg, -OPENSSL_CTX_get0_public_drbg, -OPENSSL_CTX_get0_private_drbg, -RAND_DRBG_get0_master, -RAND_DRBG_get0_public, -RAND_DRBG_get0_private -\&\- get access to the global RAND_DRBG instances +RAND_DRBG_get0_master, RAND_DRBG_get0_public, RAND_DRBG_get0_private \&\- get access to the global RAND_DRBG instances .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include \& -\& RAND_DRBG *OPENSSL_CTX_get0_master_drbg(OPENSSL_CTX *ctx); -\& RAND_DRBG *OPENSSL_CTX_get0_public_drbg(OPENSSL_CTX *ctx); -\& RAND_DRBG *OPENSSL_CTX_get0_private_drbg(OPENSSL_CTX *ctx); \& RAND_DRBG *RAND_DRBG_get0_master(void); \& RAND_DRBG *RAND_DRBG_get0_public(void); \& RAND_DRBG *RAND_DRBG_get0_private(void); @@ -154,33 +145,23 @@ RAND_DRBG_get0_private The default \s-1RAND\s0 \s-1API\s0 implementation (\fIRAND_OpenSSL()\fR) utilizes three shared \s-1DRBG\s0 instances which are accessed via the \s-1RAND\s0 \s-1API:\s0 .PP -The \fIpublic\fR and \fIprivate\fR \s-1DRBG\s0 are thread-local instances, which are used +The and \s-1DRBG\s0 are thread-local instances, which are used by \fIRAND_bytes()\fR and \fIRAND_priv_bytes()\fR, respectively. -The \fImaster\fR \s-1DRBG\s0 is a global instance, which is not intended to be used +The \s-1DRBG\s0 is a global instance, which is not intended to be used directly, but is used internally to reseed the other two instances. .PP These functions here provide access to the shared \s-1DRBG\s0 instances. .SH "RETURN VALUES" .IX Header "RETURN VALUES" -\&\fIOPENSSL_CTX_get0_master_drbg()\fR returns a pointer to the \fImaster\fR \s-1DRBG\s0 instance -for the given \s-1OPENSSL_CTX\s0 \fBctx\fR. +\&\fIRAND_DRBG_get0_master()\fR returns a pointer to the \s-1DRBG\s0 instance. .PP -\&\fIOPENSSL_CTX_get0_public_drbg()\fR returns a pointer to the \fIpublic\fR \s-1DRBG\s0 instance -for the given \s-1OPENSSL_CTX\s0 \fBctx\fR. +\&\fIRAND_DRBG_get0_public()\fR returns a pointer to the \s-1DRBG\s0 instance. .PP -\&\fIOPENSSL_CTX_get0_private_drbg()\fR returns a pointer to the \fIprivate\fR \s-1DRBG\s0 instance -for the given \s-1OPENSSL_CTX\s0 \fBctx\fR. -.PP -In all the above cases the \fBctx\fR parameter can -be \s-1NULL\s0 in which case the default \s-1OPENSSL_CTX\s0 is used. \fIRAND_DRBG_get0_master()\fR, -\&\fIRAND_DRBG_get0_public()\fR and \fIRAND_DRBG_get0_private()\fR are the same as -\&\fIOPENSSL_CTX_get0_master_drbg()\fR, \fIOPENSSL_CTX_get0_public_drbg()\fR and -\&\fIOPENSSL_CTX_get0_private_drbg()\fR respectively except that the default \s-1OPENSSL_CTX\s0 -is always used. +\&\fIRAND_DRBG_get0_private()\fR returns a pointer to the \s-1DRBG\s0 instance. .SH "NOTES" .IX Header "NOTES" -It is not thread-safe to access the \fImaster\fR \s-1DRBG\s0 instance. -The \fIpublic\fR and \fIprivate\fR \s-1DRBG\s0 instance can be accessed safely, because +It is not thread-safe to access the \s-1DRBG\s0 instance. +The and \s-1DRBG\s0 instance can be accessed safely, because they are thread-local. Note however, that changes to these two instances apply only to the current thread. .PP @@ -203,15 +184,12 @@ It is also possible to exchange the reseeding callbacks entirely. \&\s-1\fIRAND_DRBG\s0\fR\|(7) .SH "HISTORY" .IX Header "HISTORY" -The \fIOPENSSL_CTX_get0_master_drbg()\fR, \fIOPENSSL_CTX_get0_public_drbg()\fR and -\&\fIOPENSSL_CTX_get0_private_drbg()\fR functions were added in OpenSSL 3.0. -.PP -All other \s-1RAND_DRBG\s0 functions were added in OpenSSL 1.1.1. +The \s-1RAND_DRBG\s0 functions were added in OpenSSL 1.1.1. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2017\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/RAND_DRBG_get0_private.3 b/linux_amd64/share/man/man3/RAND_DRBG_get0_private.3 new file mode 120000 index 0000000..c65d58a --- /dev/null +++ b/linux_amd64/share/man/man3/RAND_DRBG_get0_private.3 @@ -0,0 +1 @@ +RAND_DRBG_get0_master.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RAND_DRBG_get0_public.3 b/linux_amd64/share/man/man3/RAND_DRBG_get0_public.3 new file mode 120000 index 0000000..c65d58a --- /dev/null +++ b/linux_amd64/share/man/man3/RAND_DRBG_get0_public.3 @@ -0,0 +1 @@ +RAND_DRBG_get0_master.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RAND_DRBG_get_entropy_fn.3 b/linux_amd64/share/man/man3/RAND_DRBG_get_entropy_fn.3 new file mode 120000 index 0000000..07d1082 --- /dev/null +++ b/linux_amd64/share/man/man3/RAND_DRBG_get_entropy_fn.3 @@ -0,0 +1 @@ +RAND_DRBG_set_callbacks.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RAND_DRBG_get_ex_data.3 b/linux_amd64/share/man/man3/RAND_DRBG_get_ex_data.3 new file mode 120000 index 0000000..bee5449 --- /dev/null +++ b/linux_amd64/share/man/man3/RAND_DRBG_get_ex_data.3 @@ -0,0 +1 @@ +RAND_DRBG_set_ex_data.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RAND_DRBG_get_ex_new_index.3 b/linux_amd64/share/man/man3/RAND_DRBG_get_ex_new_index.3 new file mode 120000 index 0000000..bee5449 --- /dev/null +++ b/linux_amd64/share/man/man3/RAND_DRBG_get_ex_new_index.3 @@ -0,0 +1 @@ +RAND_DRBG_set_ex_data.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RAND_DRBG_get_nonce_fn.3 b/linux_amd64/share/man/man3/RAND_DRBG_get_nonce_fn.3 new file mode 120000 index 0000000..07d1082 --- /dev/null +++ b/linux_amd64/share/man/man3/RAND_DRBG_get_nonce_fn.3 @@ -0,0 +1 @@ +RAND_DRBG_set_callbacks.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RAND_DRBG_instantiate.3 b/linux_amd64/share/man/man3/RAND_DRBG_instantiate.3 new file mode 120000 index 0000000..cdfd717 --- /dev/null +++ b/linux_amd64/share/man/man3/RAND_DRBG_instantiate.3 @@ -0,0 +1 @@ +RAND_DRBG_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RAND_DRBG_new.3 b/linux_amd64/share/man/man3/RAND_DRBG_new.3 index 4d0d3a6..f1508f9 100755 --- a/linux_amd64/share/man/man3/RAND_DRBG_new.3 +++ b/linux_amd64/share/man/man3/RAND_DRBG_new.3 @@ -124,41 +124,23 @@ .\" ======================================================================== .\" .IX Title "RAND_DRBG_NEW 3" -.TH RAND_DRBG_NEW 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH RAND_DRBG_NEW 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -RAND_DRBG_new_ex, -RAND_DRBG_new, -RAND_DRBG_secure_new_ex, -RAND_DRBG_secure_new, -RAND_DRBG_set, -RAND_DRBG_set_defaults, -RAND_DRBG_instantiate, -RAND_DRBG_uninstantiate, -RAND_DRBG_free -\&\- initialize and cleanup a RAND_DRBG instance +RAND_DRBG_new, RAND_DRBG_secure_new, RAND_DRBG_set, RAND_DRBG_set_defaults, RAND_DRBG_instantiate, RAND_DRBG_uninstantiate, RAND_DRBG_free \&\- initialize and cleanup a RAND_DRBG instance .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include \& -\& RAND_DRBG *RAND_DRBG_new_ex(OPENSSL_CTX *ctx, -\& int type, -\& unsigned int flags, -\& RAND_DRBG *parent); \& \& RAND_DRBG *RAND_DRBG_new(int type, \& unsigned int flags, \& RAND_DRBG *parent); \& -\& RAND_DRBG *RAND_DRBG_secure_new_ex(OPENSSL_CTX *ctx, -\& int type, -\& unsigned int flags, -\& RAND_DRBG *parent); -\& \& RAND_DRBG *RAND_DRBG_secure_new(int type, \& unsigned int flags, \& RAND_DRBG *parent); @@ -177,53 +159,25 @@ RAND_DRBG_free .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -\&\fIRAND_DRBG_new_ex()\fR and \fIRAND_DRBG_secure_new_ex()\fR +\&\fIRAND_DRBG_new()\fR and \fIRAND_DRBG_secure_new()\fR create a new \s-1DRBG\s0 instance of the given \fBtype\fR, allocated from the heap resp. -the secure heap, for the given \s-1OPENSSL_CTX\s0 -(using \fIOPENSSL_zalloc()\fR resp. \fIOPENSSL_secure_zalloc()\fR). The parameter can -be \s-1NULL\s0 in which case the default \s-1OPENSSL_CTX\s0 is used. \fIRAND_DRBG_new()\fR and -\&\fIRAND_DRBG_secure_new()\fR are the same as \fIRAND_DRBG_new_ex()\fR and -\&\fIRAND_DRBG_secure_new_ex()\fR except that the default \s-1OPENSSL_CTX\s0 is always used. +the secure heap +(using \fIOPENSSL_zalloc()\fR resp. \fIOPENSSL_secure_zalloc()\fR). .PP \&\fIRAND_DRBG_set()\fR initializes the \fBdrbg\fR with the given \fBtype\fR and \fBflags\fR. .PP \&\fIRAND_DRBG_set_defaults()\fR sets the default \fBtype\fR and \fBflags\fR for new \s-1DRBG\s0 instances. .PP -The \s-1DRBG\s0 types are AES-CTR, \s-1HMAC\s0 and \s-1HASH\s0 so \fBtype\fR can be one of the -following values: -.PP -NID_aes_128_ctr, NID_aes_192_ctr, NID_aes_256_ctr, NID_sha1, NID_sha224, -NID_sha256, NID_sha384, NID_sha512, NID_sha512_224, NID_sha512_256, -NID_sha3_224, NID_sha3_256, NID_sha3_384 or NID_sha3_512. -.PP -If this method is not called then the default type is given by NID_aes_256_ctr -and the default flags are zero. -.PP +Currently, all \s-1DRBG\s0 types are based on AES-CTR, so \fBtype\fR can be one of the +following values: NID_aes_128_ctr, NID_aes_192_ctr, NID_aes_256_ctr. Before the \s-1DRBG\s0 can be used to generate random bits, it is necessary to set its type and to instantiate it. .PP The optional \fBflags\fR argument specifies a set of bit flags which can be -joined using the | operator. The supported flags are: -.IP "\s-1RAND_DRBG_FLAG_CTR_NO_DF\s0" 4 -.IX Item "RAND_DRBG_FLAG_CTR_NO_DF" -Disables the use of the derivation function ctr_df. For an explanation, -see [\s-1NIST\s0 \s-1SP\s0 800\-90A Rev. 1]. -.IP "\s-1RAND_DRBG_FLAG_HMAC\s0" 4 -.IX Item "RAND_DRBG_FLAG_HMAC" -Enables use of \s-1HMAC\s0 instead of the \s-1HASH\s0 \s-1DRBG\s0. -.IP "\s-1RAND_DRBG_FLAG_MASTER\s0" 4 -.IX Item "RAND_DRBG_FLAG_MASTER" -.PD 0 -.IP "\s-1RAND_DRBG_FLAG_PUBLIC\s0" 4 -.IX Item "RAND_DRBG_FLAG_PUBLIC" -.IP "\s-1RAND_DRBG_FLAG_PRIVATE\s0" 4 -.IX Item "RAND_DRBG_FLAG_PRIVATE" -.PD -These 3 flags can be used to set the individual \s-1DRBG\s0 types created. Multiple -calls are required to set the types to different values. If none of these 3 -flags are used, then the same type and flags are used for all 3 DRBGs in the -\&\fBdrbg\fR chain (, and ). +joined using the | operator. Currently, the only flag is +\&\s-1RAND_DRBG_FLAG_CTR_NO_DF\s0, which disables the use of a the derivation function +ctr_df. For an explanation, see [\s-1NIST\s0 \s-1SP\s0 800\-90A Rev. 1]. .PP If a \fBparent\fR instance is specified then this will be used instead of the default entropy source for reseeding the \fBdrbg\fR. It is said that the @@ -241,9 +195,8 @@ clears the internal state of the \fBdrbg\fR and puts it back in the uninstantiated state. .SH "RETURN VALUES" .IX Header "RETURN VALUES" -\&\fIRAND_DRBG_new_ex()\fR, \fIRAND_DRBG_new()\fR, \fIRAND_DRBG_secure_new_ex()\fR and -\&\fIRAND_DRBG_secure_new()\fR return a pointer to a \s-1DRBG\s0 instance allocated on the -heap, resp. secure heap. +\&\fIRAND_DRBG_new()\fR and \fIRAND_DRBG_secure_new()\fR return a pointer to a \s-1DRBG\s0 +instance allocated on the heap, resp. secure heap. .PP \&\fIRAND_DRBG_set()\fR, \&\fIRAND_DRBG_instantiate()\fR, and @@ -279,7 +232,7 @@ The \s-1RAND_DRBG\s0 functions were added in OpenSSL 1.1.1. .IX Header "COPYRIGHT" Copyright 2017\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/RAND_DRBG_reseed.3 b/linux_amd64/share/man/man3/RAND_DRBG_reseed.3 index efcdc92..a8d2f50 100755 --- a/linux_amd64/share/man/man3/RAND_DRBG_reseed.3 +++ b/linux_amd64/share/man/man3/RAND_DRBG_reseed.3 @@ -124,17 +124,13 @@ .\" ======================================================================== .\" .IX Title "RAND_DRBG_RESEED 3" -.TH RAND_DRBG_RESEED 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH RAND_DRBG_RESEED 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -RAND_DRBG_reseed, -RAND_DRBG_set_reseed_interval, -RAND_DRBG_set_reseed_time_interval, -RAND_DRBG_set_reseed_defaults -\&\- reseed a RAND_DRBG instance +RAND_DRBG_reseed, RAND_DRBG_set_reseed_interval, RAND_DRBG_set_reseed_time_interval, RAND_DRBG_set_reseed_defaults \&\- reseed a RAND_DRBG instance .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -165,10 +161,10 @@ and mixing in the specified additional data provided in the buffer \fBadin\fR of length \fBadinlen\fR. The additional data can be omitted by setting \fBadin\fR to \s-1NULL\s0 and \fBadinlen\fR to 0. -An immediate reseeding can be requested by setting the -\&\fBprediction_resistance\fR flag to 1. -Requesting prediction resistance is a relative expensive operation. -See \s-1NOTES\s0 section for more details. +An immediate reseeding from a live entropy source can be requested by setting +the \fBprediction_resistance\fR flag to 1. +This feature is not implemented yet, so reseeding with prediction resistance +requested will always fail. .PP \&\fIRAND_DRBG_set_reseed_interval()\fR sets the reseed interval of the \fBdrbg\fR, which is the maximum allowed number @@ -224,13 +220,11 @@ To ensure that they are applied to the global and thread-local \s-1DRBG\s0 insta .SH "HISTORY" .IX Header "HISTORY" The \s-1RAND_DRBG\s0 functions were added in OpenSSL 1.1.1. -.PP -Prediction resistance is supported from OpenSSL 3.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2017\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/RAND_DRBG_secure_new.3 b/linux_amd64/share/man/man3/RAND_DRBG_secure_new.3 new file mode 120000 index 0000000..cdfd717 --- /dev/null +++ b/linux_amd64/share/man/man3/RAND_DRBG_secure_new.3 @@ -0,0 +1 @@ +RAND_DRBG_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RAND_DRBG_set.3 b/linux_amd64/share/man/man3/RAND_DRBG_set.3 new file mode 120000 index 0000000..cdfd717 --- /dev/null +++ b/linux_amd64/share/man/man3/RAND_DRBG_set.3 @@ -0,0 +1 @@ +RAND_DRBG_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RAND_DRBG_set_callbacks.3 b/linux_amd64/share/man/man3/RAND_DRBG_set_callbacks.3 index f74ddc3..ceffa0f 100755 --- a/linux_amd64/share/man/man3/RAND_DRBG_set_callbacks.3 +++ b/linux_amd64/share/man/man3/RAND_DRBG_set_callbacks.3 @@ -124,20 +124,13 @@ .\" ======================================================================== .\" .IX Title "RAND_DRBG_SET_CALLBACKS 3" -.TH RAND_DRBG_SET_CALLBACKS 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH RAND_DRBG_SET_CALLBACKS 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -RAND_DRBG_set_callbacks, -RAND_DRBG_set_callback_data, -RAND_DRBG_get_callback_data, -RAND_DRBG_get_entropy_fn, -RAND_DRBG_cleanup_entropy_fn, -RAND_DRBG_get_nonce_fn, -RAND_DRBG_cleanup_nonce_fn -\&\- set callbacks for reseeding +RAND_DRBG_set_callbacks, RAND_DRBG_get_entropy_fn, RAND_DRBG_cleanup_entropy_fn, RAND_DRBG_get_nonce_fn, RAND_DRBG_cleanup_nonce_fn \&\- set callbacks for reseeding .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -149,10 +142,6 @@ RAND_DRBG_cleanup_nonce_fn \& RAND_DRBG_cleanup_entropy_fn cleanup_entropy, \& RAND_DRBG_get_nonce_fn get_nonce, \& RAND_DRBG_cleanup_nonce_fn cleanup_nonce); -\& -\& int RAND_DRBG_set_callback_data(RAND_DRBG *drbg, void *ctx); -\& -\& void *RAND_DRBG_get_callback_data(RAND_DRBG *drbg); .Ve .SS "Callback Functions" .IX Subsection "Callback Functions" @@ -185,16 +174,7 @@ the nonce when reseeding the given \fBdrbg\fR. The callback functions are implemented and provided by the caller. Their parameter lists need to match the function prototypes above. .PP -\&\fIRAND_DRBG_set_callback_data()\fR can be used to store a pointer to some context -specific data, which can subsequently be retrieved by the entropy and nonce -callbacks using \fIRAND_DRBG_get_callback_data()\fR. -The ownership of the context data remains with the caller, i.e., it is the -caller's responsibility to keep it available as long as it is needed by the -callbacks and free it after use. -For more information about the the callback data see the \s-1NOTES\s0 section. -.PP -Setting the callbacks or the callback data is allowed only if the \s-1DRBG\s0 has -not been initialized yet. +Setting the callbacks is allowed only if the \s-1DRBG\s0 has not been initialized yet. Otherwise, the operation will fail. To change the settings for one of the three shared DRBGs it is necessary to call \&\fIRAND_DRBG_uninstantiate()\fR first. @@ -234,12 +214,7 @@ and the \fBget_nonce\fR() and \fBcleanup_nonce\fR() callbacks can be omitted by setting them to \s-1NULL\s0. .SH "RETURN VALUES" .IX Header "RETURN VALUES" -\&\fIRAND_DRBG_set_callbacks()\fR returns 1 on success, and 0 on failure. -.PP -\&\fIRAND_DRBG_set_callback_data()\fR returns 1 on success, and 0 on failure. -.PP -\&\fIRAND_DRBG_get_callback_data()\fR returns the pointer to the callback data, -which is \s-1NULL\s0 if none has been set previously. +\&\fIRAND_DRBG_set_callbacks()\fR return 1 on success, and 0 on failure .SH "NOTES" .IX Header "NOTES" It is important that \fBcleanup_entropy\fR() and \fBcleanup_nonce\fR() clear the buffer @@ -247,9 +222,12 @@ contents safely before freeing it, in order not to leave sensitive information about the \s-1DRBG\s0's state in memory. .PP A request for prediction resistance can only be satisfied by pulling fresh -entropy from a live entropy source (section 5.5.2 of [\s-1NIST\s0 \s-1SP\s0 800\-90C]). -It is up to the user to ensure that a live entropy source is configured -and is being used. +entropy from one of the approved entropy sources listed in section 5.5.2 of +[\s-1NIST\s0 \s-1SP\s0 800\-90C]. +Since the default implementation of the get_entropy callback does not have access +to such an approved entropy source, a request for prediction resistance will +always fail. +In other words, prediction resistance is currently not supported yet by the \s-1DRBG\s0. .PP The derivation function is disabled during initialization by calling the \&\fIRAND_DRBG_set()\fR function with the \s-1RAND_DRBG_FLAG_CTR_NO_DF\s0 flag. @@ -263,14 +241,6 @@ In this case the \s-1DRBG\s0 will automatically request an extra amount of entro (using the \fBget_entropy\fR() and \fBcleanup_entropy\fR() callbacks) which it will utilize for the nonce, following the recommendations of [\s-1NIST\s0 \s-1SP\s0 800\-90A Rev. 1], section 8.6.7. -.PP -The callback data is a rather specialized feature, because in general the -random sources don't (and in fact, they must not) depend on any state provided -by the \s-1DRBG\s0. -There are however exceptional cases where this feature is useful, most notably -for implementing known answer tests (KATs) or deterministic signatures like -those specified in \s-1RFC6979\s0, which require passing a specified entropy and nonce -for instantiating the \s-1DRBG\s0. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIRAND_DRBG_new\fR\|(3), @@ -283,7 +253,7 @@ The \s-1RAND_DRBG\s0 functions were added in OpenSSL 1.1.1. .IX Header "COPYRIGHT" Copyright 2017\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/RAND_DRBG_set_defaults.3 b/linux_amd64/share/man/man3/RAND_DRBG_set_defaults.3 new file mode 120000 index 0000000..cdfd717 --- /dev/null +++ b/linux_amd64/share/man/man3/RAND_DRBG_set_defaults.3 @@ -0,0 +1 @@ +RAND_DRBG_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RAND_DRBG_set_ex_data.3 b/linux_amd64/share/man/man3/RAND_DRBG_set_ex_data.3 new file mode 100644 index 0000000..d94255b --- /dev/null +++ b/linux_amd64/share/man/man3/RAND_DRBG_set_ex_data.3 @@ -0,0 +1,184 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "RAND_DRBG_SET_EX_DATA 3" +.TH RAND_DRBG_SET_EX_DATA 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +RAND_DRBG_set_ex_data, RAND_DRBG_get_ex_data, RAND_DRBG_get_ex_new_index \&\- store and retrieve extra data from the DRBG instance +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +.Vb 1 +\& #include +\& +\& int RAND_DRBG_set_ex_data(RAND_DRBG *drbg, int idx, void *data); +\& +\& void *RAND_DRBG_get_ex_data(const RAND_DRBG *drbg, int idx); +\& +\& int RAND_DRBG_get_ex_new_index(long argl, void *argp, +\& CRYPTO_EX_new *new_func, +\& CRYPTO_EX_dup *dup_func, +\& CRYPTO_EX_free *free_func); +.Ve +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +\&\fIRAND_DRBG_set_ex_data()\fR enables an application to store arbitrary application +specific data \fBdata\fR in a \s-1RAND_DRBG\s0 instance \fBdrbg\fR. The index \fBidx\fR should +be a value previously returned from a call to \fIRAND_DRBG_get_ex_new_index()\fR. +.PP +\&\fIRAND_DRBG_get_ex_data()\fR retrieves application specific data previously stored +in an \s-1RAND_DRBG\s0 instance \fBdrbg\fR. The \fBidx\fR value should be the same as that +used when originally storing the data. +.PP +For more detailed information see \fICRYPTO_get_ex_data\fR\|(3) and +\&\fICRYPTO_set_ex_data\fR\|(3) which implement these functions and +\&\fICRYPTO_get_ex_new_index\fR\|(3) for generating a unique index. +.SH "RETURN VALUES" +.IX Header "RETURN VALUES" +\&\fIRAND_DRBG_set_ex_data()\fR returns 1 for success or 0 for failure. +.PP +\&\fIRAND_DRBG_get_ex_data()\fR returns the previously stored value or \s-1NULL\s0 on +failure. \s-1NULL\s0 may also be a valid value. +.SH "NOTES" +.IX Header "NOTES" +RAND_DRBG_get_ex_new_index(...) is implemented as a macro and equivalent to +CRYPTO_get_ex_new_index(\s-1CRYPTO_EX_INDEX_DRBG\s0,...). +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fICRYPTO_get_ex_data\fR\|(3), +\&\fICRYPTO_set_ex_data\fR\|(3), +\&\fICRYPTO_get_ex_new_index\fR\|(3), +\&\s-1\fIRAND_DRBG\s0\fR\|(7) +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2017\-2018 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man3/RAND_DRBG_set_reseed_defaults.3 b/linux_amd64/share/man/man3/RAND_DRBG_set_reseed_defaults.3 new file mode 120000 index 0000000..9119469 --- /dev/null +++ b/linux_amd64/share/man/man3/RAND_DRBG_set_reseed_defaults.3 @@ -0,0 +1 @@ +RAND_DRBG_reseed.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RAND_DRBG_set_reseed_interval.3 b/linux_amd64/share/man/man3/RAND_DRBG_set_reseed_interval.3 new file mode 120000 index 0000000..9119469 --- /dev/null +++ b/linux_amd64/share/man/man3/RAND_DRBG_set_reseed_interval.3 @@ -0,0 +1 @@ +RAND_DRBG_reseed.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RAND_DRBG_set_reseed_time_interval.3 b/linux_amd64/share/man/man3/RAND_DRBG_set_reseed_time_interval.3 new file mode 120000 index 0000000..9119469 --- /dev/null +++ b/linux_amd64/share/man/man3/RAND_DRBG_set_reseed_time_interval.3 @@ -0,0 +1 @@ +RAND_DRBG_reseed.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RAND_DRBG_uninstantiate.3 b/linux_amd64/share/man/man3/RAND_DRBG_uninstantiate.3 new file mode 120000 index 0000000..cdfd717 --- /dev/null +++ b/linux_amd64/share/man/man3/RAND_DRBG_uninstantiate.3 @@ -0,0 +1 @@ +RAND_DRBG_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RAND_OpenSSL.3 b/linux_amd64/share/man/man3/RAND_OpenSSL.3 new file mode 120000 index 0000000..ad1a104 --- /dev/null +++ b/linux_amd64/share/man/man3/RAND_OpenSSL.3 @@ -0,0 +1 @@ +RAND_set_rand_method.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RAND_add.3 b/linux_amd64/share/man/man3/RAND_add.3 index 5b2c11e..39d8ab2 100755 --- a/linux_amd64/share/man/man3/RAND_add.3 +++ b/linux_amd64/share/man/man3/RAND_add.3 @@ -124,15 +124,13 @@ .\" ======================================================================== .\" .IX Title "RAND_ADD 3" -.TH RAND_ADD 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH RAND_ADD 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -RAND_add, RAND_poll, RAND_seed, RAND_status, RAND_event, RAND_screen, -RAND_keep_random_devices_open -\&\- add randomness to the PRNG or get its status +RAND_add, RAND_poll, RAND_seed, RAND_status, RAND_event, RAND_screen, RAND_keep_random_devices_open \&\- add randomness to the PRNG or get its status .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -147,13 +145,13 @@ RAND_keep_random_devices_open \& void RAND_keep_random_devices_open(int keep); .Ve .PP -Deprecated since OpenSSL 1.1.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): +Deprecated: .PP -.Vb 2 +.Vb 4 +\& #if OPENSSL_API_COMPAT < 0x10100000L \& int RAND_event(UINT iMsg, WPARAM wParam, LPARAM lParam); \& void RAND_screen(void); +\& #endif .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" @@ -185,11 +183,6 @@ The content of \fBbuf\fR cannot be recovered from subsequent random generator ou Applications that intend to save and restore random state in an external file should consider using \fIRAND_load_file\fR\|(3) instead. .PP -\&\s-1NOTE:\s0 In \s-1FIPS\s0 mode, random data provided by the application is not considered to -be a trusted entropy source. It is mixed into the internal state of the \s-1RNG\s0 as -additional data only and this does not count as a full reseed. -For more details, see \s-1\fIRAND_DRBG\s0\fR\|(7). -.PP \&\fIRAND_seed()\fR is equivalent to \fIRAND_add()\fR with \fBrandomness\fR set to \fBnum\fR. .PP \&\fIRAND_keep_random_devices_open()\fR is used to control file descriptor @@ -197,7 +190,7 @@ usage by the random seed sources. Some seed sources maintain open file descriptors by default, which allows such sources to operate in a \&\fIchroot\fR\|(2) jail without the associated device nodes being available. When the \fBkeep\fR argument is zero, this call disables the retention of file -descriptors. Conversely, a nonzero argument enables the retention of +descriptors. Conversely, a non-zero argument enables the retention of file descriptors. This function is usually called during initialization and it takes effect immediately. .PP @@ -219,7 +212,6 @@ The other functions do not return values. \&\fIRAND_egd\fR\|(3), \&\fIRAND_load_file\fR\|(3), \&\s-1\fIRAND\s0\fR\|(7) -\&\s-1\fIRAND_DRBG\s0\fR\|(7) .SH "HISTORY" .IX Header "HISTORY" \&\fIRAND_event()\fR and \fIRAND_screen()\fR were deprecated in OpenSSL 1.1.0 and should @@ -228,7 +220,7 @@ not be used. .IX Header "COPYRIGHT" Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/RAND_bytes.3 b/linux_amd64/share/man/man3/RAND_bytes.3 index 669065b..782d0b5 100755 --- a/linux_amd64/share/man/man3/RAND_bytes.3 +++ b/linux_amd64/share/man/man3/RAND_bytes.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "RAND_BYTES 3" -.TH RAND_BYTES 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH RAND_BYTES 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -RAND_bytes, RAND_priv_bytes, RAND_bytes_ex, RAND_priv_bytes_ex, -RAND_pseudo_bytes \- generate random data +RAND_bytes, RAND_priv_bytes, RAND_pseudo_bytes \- generate random data .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -139,17 +138,14 @@ RAND_pseudo_bytes \- generate random data \& \& int RAND_bytes(unsigned char *buf, int num); \& int RAND_priv_bytes(unsigned char *buf, int num); -\& -\& int RAND_bytes_ex(OPENSSL_CTX *ctx, unsigned char *buf, int num); -\& int RAND_priv_bytes_ex(OPENSSL_CTX *ctx, unsigned char *buf, int num); .Ve .PP -Deprecated since OpenSSL 1.1.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): +Deprecated: .PP -.Vb 1 +.Vb 3 +\& #if OPENSSL_API_COMPAT < 0x10100000L \& int RAND_pseudo_bytes(unsigned char *buf, int num); +\& #endif .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" @@ -162,15 +158,6 @@ default \s-1RAND_METHOD\s0, this function uses a separate \*(L"private\*(R" \s-1 instance so that a compromise of the \*(L"public\*(R" \s-1PRNG\s0 instance will not affect the secrecy of these private values, as described in \s-1\fIRAND\s0\fR\|(7) and \s-1\fIRAND_DRBG\s0\fR\|(7). -.PP -\&\fIRAND_bytes_ex()\fR and \fIRAND_priv_bytes_ex()\fR are the same as \fIRAND_bytes()\fR and -\&\fIRAND_priv_bytes()\fR except that they both take an additional \fIctx\fR parameter. -The \s-1DRBG\s0 used for the operation is the public or private \s-1DRBG\s0 associated with -the specified \fIctx\fR. The parameter can be \s-1NULL\s0, in which case -the default library context is used (see \s-1\fIOPENSSL_CTX\s0\fR\|(3). -If the default \s-1RAND_METHOD\s0 has been changed then for compatibility reasons the -\&\s-1RAND_METHOD\s0 will be used in preference and the \s-1DRBG\s0 of the library context -ignored. .SH "NOTES" .IX Header "NOTES" Always check the error return value of \fIRAND_bytes()\fR and @@ -197,13 +184,11 @@ obtained by \fIERR_get_error\fR\|(3). \&\fIRAND_pseudo_bytes()\fR was deprecated in OpenSSL 1.1.0; use \fIRAND_bytes()\fR instead. .IP "\(bu" 2 The \fIRAND_priv_bytes()\fR function was added in OpenSSL 1.1.1. -.IP "\(bu" 2 -The \fIRAND_bytes_ex()\fR and \fIRAND_priv_bytes_ex()\fR functions were added in OpenSSL 3.0 .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/RAND_cleanup.3 b/linux_amd64/share/man/man3/RAND_cleanup.3 index f60fb2d..3082d13 100755 --- a/linux_amd64/share/man/man3/RAND_cleanup.3 +++ b/linux_amd64/share/man/man3/RAND_cleanup.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "RAND_CLEANUP 3" -.TH RAND_CLEANUP 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH RAND_CLEANUP 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -135,14 +135,10 @@ RAND_cleanup \- erase the PRNG state .IX Header "SYNOPSIS" .Vb 1 \& #include -.Ve -.PP -Deprecated since OpenSSL 1.1.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): -.PP -.Vb 1 +\& +\& #if OPENSSL_API_COMPAT < 0x10100000L \& void RAND_cleanup(void) +\& #endif .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" @@ -164,7 +160,7 @@ See \fIOPENSSL_init_crypto\fR\|(3) .IX Header "COPYRIGHT" Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/RAND_egd.3 b/linux_amd64/share/man/man3/RAND_egd.3 index 92549ec..8e4cde2 100755 --- a/linux_amd64/share/man/man3/RAND_egd.3 +++ b/linux_amd64/share/man/man3/RAND_egd.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "RAND_EGD 3" -.TH RAND_EGD 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH RAND_EGD 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -178,7 +178,7 @@ success, or \-1 if the connection failed. .IX Header "COPYRIGHT" Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/RAND_egd_bytes.3 b/linux_amd64/share/man/man3/RAND_egd_bytes.3 new file mode 120000 index 0000000..782181e --- /dev/null +++ b/linux_amd64/share/man/man3/RAND_egd_bytes.3 @@ -0,0 +1 @@ +RAND_egd.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RAND_event.3 b/linux_amd64/share/man/man3/RAND_event.3 new file mode 120000 index 0000000..97a8002 --- /dev/null +++ b/linux_amd64/share/man/man3/RAND_event.3 @@ -0,0 +1 @@ +RAND_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RAND_file_name.3 b/linux_amd64/share/man/man3/RAND_file_name.3 new file mode 120000 index 0000000..8a4b31d --- /dev/null +++ b/linux_amd64/share/man/man3/RAND_file_name.3 @@ -0,0 +1 @@ +RAND_load_file.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RAND_get_rand_method.3 b/linux_amd64/share/man/man3/RAND_get_rand_method.3 new file mode 120000 index 0000000..ad1a104 --- /dev/null +++ b/linux_amd64/share/man/man3/RAND_get_rand_method.3 @@ -0,0 +1 @@ +RAND_set_rand_method.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RAND_keep_random_devices_open.3 b/linux_amd64/share/man/man3/RAND_keep_random_devices_open.3 new file mode 120000 index 0000000..97a8002 --- /dev/null +++ b/linux_amd64/share/man/man3/RAND_keep_random_devices_open.3 @@ -0,0 +1 @@ +RAND_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RAND_load_file.3 b/linux_amd64/share/man/man3/RAND_load_file.3 index db94142..bacd059 100755 --- a/linux_amd64/share/man/man3/RAND_load_file.3 +++ b/linux_amd64/share/man/man3/RAND_load_file.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "RAND_LOAD_FILE 3" -.TH RAND_LOAD_FILE 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH RAND_LOAD_FILE 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -165,7 +165,7 @@ file. \fBbuf\fR points to a buffer of size \fBnum\fR in which to store the filename. .PP On all systems, if the environment variable \fB\s-1RANDFILE\s0\fR is set, its -value will be used as the seed filename. +value will be used as the seed file name. Otherwise, the file is called \f(CW\*(C`.rnd\*(C'\fR, found in platform dependent locations: .IP "On Windows (in order of preference)" 4 .IX Item "On Windows (in order of preference)" @@ -184,7 +184,7 @@ Otherwise, the file is called \f(CW\*(C`.rnd\*(C'\fR, found in platform dependen .Ve .PP If \f(CW$HOME\fR (on non-Windows and non-VMS system) is not set either, or -\&\fBnum\fR is too small for the pathname, an error occurs. +\&\fBnum\fR is too small for the path name, an error occurs. .SH "RETURN VALUES" .IX Header "RETURN VALUES" \&\fIRAND_load_file()\fR returns the number of bytes read or \-1 on error. @@ -203,7 +203,7 @@ error. .IX Header "COPYRIGHT" Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/RAND_poll.3 b/linux_amd64/share/man/man3/RAND_poll.3 new file mode 120000 index 0000000..97a8002 --- /dev/null +++ b/linux_amd64/share/man/man3/RAND_poll.3 @@ -0,0 +1 @@ +RAND_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RAND_priv_bytes.3 b/linux_amd64/share/man/man3/RAND_priv_bytes.3 new file mode 120000 index 0000000..bfb1113 --- /dev/null +++ b/linux_amd64/share/man/man3/RAND_priv_bytes.3 @@ -0,0 +1 @@ +RAND_bytes.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RAND_pseudo_bytes.3 b/linux_amd64/share/man/man3/RAND_pseudo_bytes.3 new file mode 120000 index 0000000..bfb1113 --- /dev/null +++ b/linux_amd64/share/man/man3/RAND_pseudo_bytes.3 @@ -0,0 +1 @@ +RAND_bytes.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RAND_query_egd_bytes.3 b/linux_amd64/share/man/man3/RAND_query_egd_bytes.3 new file mode 120000 index 0000000..782181e --- /dev/null +++ b/linux_amd64/share/man/man3/RAND_query_egd_bytes.3 @@ -0,0 +1 @@ +RAND_egd.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RAND_screen.3 b/linux_amd64/share/man/man3/RAND_screen.3 new file mode 120000 index 0000000..97a8002 --- /dev/null +++ b/linux_amd64/share/man/man3/RAND_screen.3 @@ -0,0 +1 @@ +RAND_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RAND_seed.3 b/linux_amd64/share/man/man3/RAND_seed.3 new file mode 120000 index 0000000..97a8002 --- /dev/null +++ b/linux_amd64/share/man/man3/RAND_seed.3 @@ -0,0 +1 @@ +RAND_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RAND_set_rand_method.3 b/linux_amd64/share/man/man3/RAND_set_rand_method.3 index 368cca9..3c86ccf 100755 --- a/linux_amd64/share/man/man3/RAND_set_rand_method.3 +++ b/linux_amd64/share/man/man3/RAND_set_rand_method.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "RAND_SET_RAND_METHOD 3" -.TH RAND_SET_RAND_METHOD 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH RAND_SET_RAND_METHOD 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -186,9 +186,9 @@ methods. \&\s-1\fIRAND\s0\fR\|(7) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/RAND_status.3 b/linux_amd64/share/man/man3/RAND_status.3 new file mode 120000 index 0000000..97a8002 --- /dev/null +++ b/linux_amd64/share/man/man3/RAND_status.3 @@ -0,0 +1 @@ +RAND_add.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RAND_write_file.3 b/linux_amd64/share/man/man3/RAND_write_file.3 new file mode 120000 index 0000000..8a4b31d --- /dev/null +++ b/linux_amd64/share/man/man3/RAND_write_file.3 @@ -0,0 +1 @@ +RAND_load_file.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RC4.3 b/linux_amd64/share/man/man3/RC4.3 new file mode 120000 index 0000000..e0040ea --- /dev/null +++ b/linux_amd64/share/man/man3/RC4.3 @@ -0,0 +1 @@ +RC4_set_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RC4_set_key.3 b/linux_amd64/share/man/man3/RC4_set_key.3 index f34266a..c7f01fc 100755 --- a/linux_amd64/share/man/man3/RC4_set_key.3 +++ b/linux_amd64/share/man/man3/RC4_set_key.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "RC4_SET_KEY 3" -.TH RC4_SET_KEY 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH RC4_SET_KEY 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -135,13 +135,7 @@ RC4_set_key, RC4 \- RC4 encryption .IX Header "SYNOPSIS" .Vb 1 \& #include -.Ve -.PP -Deprecated since OpenSSL 3.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): -.PP -.Vb 1 +\& \& void RC4_set_key(RC4_KEY *key, int len, const unsigned char *data); \& \& void RC4(RC4_KEY *key, unsigned long len, const unsigned char *indata, @@ -149,10 +143,6 @@ Deprecated since OpenSSL 3.0, can be hidden entirely by defining .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -All of the functions described on this page are deprecated. Applications should -instead use \fIEVP_EncryptInit_ex\fR\|(3), \fIEVP_EncryptUpdate\fR\|(3) and -\&\fIEVP_EncryptFinal_ex\fR\|(3) or the equivalently named decrypt functions. -.PP This library implements the Alleged \s-1RC4\s0 cipher, which is described for example in \fIApplied Cryptography\fR. It is believed to be compatible with RC4[\s-1TM\s0], a proprietary cipher of \s-1RSA\s0 Security Inc. @@ -188,14 +178,11 @@ multiple encryptions using the same key stream. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIEVP_EncryptInit\fR\|(3) -.SH "HISTORY" -.IX Header "HISTORY" -All of these functions were deprecated in OpenSSL 3.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/RIPEMD160.3 b/linux_amd64/share/man/man3/RIPEMD160.3 new file mode 120000 index 0000000..ca61c4a --- /dev/null +++ b/linux_amd64/share/man/man3/RIPEMD160.3 @@ -0,0 +1 @@ +RIPEMD160_Init.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RIPEMD160_Final.3 b/linux_amd64/share/man/man3/RIPEMD160_Final.3 new file mode 120000 index 0000000..ca61c4a --- /dev/null +++ b/linux_amd64/share/man/man3/RIPEMD160_Final.3 @@ -0,0 +1 @@ +RIPEMD160_Init.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RIPEMD160_Init.3 b/linux_amd64/share/man/man3/RIPEMD160_Init.3 index d8da26b..ca3e4f6 100755 --- a/linux_amd64/share/man/man3/RIPEMD160_Init.3 +++ b/linux_amd64/share/man/man3/RIPEMD160_Init.3 @@ -124,25 +124,18 @@ .\" ======================================================================== .\" .IX Title "RIPEMD160_INIT 3" -.TH RIPEMD160_INIT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH RIPEMD160_INIT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -RIPEMD160, RIPEMD160_Init, RIPEMD160_Update, RIPEMD160_Final \- -RIPEMD\-160 hash function +RIPEMD160, RIPEMD160_Init, RIPEMD160_Update, RIPEMD160_Final \- RIPEMD\-160 hash function .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include -.Ve -.PP -Deprecated since OpenSSL 3.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): -.PP -.Vb 2 +\& \& unsigned char *RIPEMD160(const unsigned char *d, unsigned long n, \& unsigned char *md); \& @@ -152,10 +145,6 @@ Deprecated since OpenSSL 3.0, can be hidden entirely by defining .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -All of the functions described on this page are deprecated. -Applications should instead use \fIEVP_DigestInit_ex\fR\|(3), \fIEVP_DigestUpdate\fR\|(3) -and \fIEVP_DigestFinal_ex\fR\|(3). -.PP \&\s-1RIPEMD\-160\s0 is a cryptographic hash function with a 160 bit output. .PP @@ -192,14 +181,11 @@ functions directly. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIEVP_DigestInit\fR\|(3) -.SH "HISTORY" -.IX Header "HISTORY" -All of these functions were deprecated in OpenSSL 3.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2000\-2017 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/RIPEMD160_Update.3 b/linux_amd64/share/man/man3/RIPEMD160_Update.3 new file mode 120000 index 0000000..ca61c4a --- /dev/null +++ b/linux_amd64/share/man/man3/RIPEMD160_Update.3 @@ -0,0 +1 @@ +RIPEMD160_Init.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSAPrivateKey_dup.3 b/linux_amd64/share/man/man3/RSAPrivateKey_dup.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/RSAPrivateKey_dup.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSAPublicKey_dup.3 b/linux_amd64/share/man/man3/RSAPublicKey_dup.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/RSAPublicKey_dup.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_OAEP_PARAMS_free.3 b/linux_amd64/share/man/man3/RSA_OAEP_PARAMS_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_OAEP_PARAMS_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_OAEP_PARAMS_new.3 b/linux_amd64/share/man/man3/RSA_OAEP_PARAMS_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_OAEP_PARAMS_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_PKCS1_OpenSSL.3 b/linux_amd64/share/man/man3/RSA_PKCS1_OpenSSL.3 new file mode 120000 index 0000000..df1a041 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_PKCS1_OpenSSL.3 @@ -0,0 +1 @@ +RSA_set_method.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_PSS_PARAMS_free.3 b/linux_amd64/share/man/man3/RSA_PSS_PARAMS_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_PSS_PARAMS_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_PSS_PARAMS_new.3 b/linux_amd64/share/man/man3/RSA_PSS_PARAMS_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_PSS_PARAMS_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_bits.3 b/linux_amd64/share/man/man3/RSA_bits.3 new file mode 120000 index 0000000..57f25e1 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_bits.3 @@ -0,0 +1 @@ +RSA_size.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_blinding_off.3 b/linux_amd64/share/man/man3/RSA_blinding_off.3 new file mode 120000 index 0000000..46c36ad --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_blinding_off.3 @@ -0,0 +1 @@ +RSA_blinding_on.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_blinding_on.3 b/linux_amd64/share/man/man3/RSA_blinding_on.3 index 5ae6d7b..3bb0df2 100755 --- a/linux_amd64/share/man/man3/RSA_blinding_on.3 +++ b/linux_amd64/share/man/man3/RSA_blinding_on.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "RSA_BLINDING_ON 3" -.TH RSA_BLINDING_ON 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH RSA_BLINDING_ON 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -159,9 +159,9 @@ the blinding factor. \&\fIRSA_blinding_off()\fR returns no value. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/RSA_check_key.3 b/linux_amd64/share/man/man3/RSA_check_key.3 index 89ce6c6..4dae67e 100755 --- a/linux_amd64/share/man/man3/RSA_check_key.3 +++ b/linux_amd64/share/man/man3/RSA_check_key.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "RSA_CHECK_KEY 3" -.TH RSA_CHECK_KEY 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH RSA_CHECK_KEY 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -135,23 +135,13 @@ RSA_check_key_ex, RSA_check_key \- validate private RSA keys .IX Header "SYNOPSIS" .Vb 1 \& #include -.Ve -.PP -Deprecated since OpenSSL 3.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): -.PP -.Vb 1 +\& \& int RSA_check_key_ex(RSA *rsa, BN_GENCB *cb); \& \& int RSA_check_key(RSA *rsa); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -Both of the functions described on this page are deprecated. -Applications should instead use \fIEVP_PKEY_public_check\fR\|(3), -\&\fIEVP_PKEY_private_check\fR\|(3) and \fIEVP_PKEY_pairwise_check\fR\|(3). -.PP \&\fIRSA_check_key_ex()\fR function validates \s-1RSA\s0 keys. It checks that \fBp\fR and \fBq\fR are in fact prime, and that \fBn = p*q\fR. @@ -203,14 +193,12 @@ provide their own verifiers. \&\fIERR_get_error\fR\|(3) .SH "HISTORY" .IX Header "HISTORY" -All of these functions were deprecated in OpenSSL 3.0. -.PP \&\fIRSA_check_key_ex()\fR appeared after OpenSSL 1.0.2. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/RSA_check_key_ex.3 b/linux_amd64/share/man/man3/RSA_check_key_ex.3 new file mode 120000 index 0000000..f478ce9 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_check_key_ex.3 @@ -0,0 +1 @@ +RSA_check_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_clear_flags.3 b/linux_amd64/share/man/man3/RSA_clear_flags.3 new file mode 120000 index 0000000..9847b2e --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_clear_flags.3 @@ -0,0 +1 @@ +RSA_get0_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_flags.3 b/linux_amd64/share/man/man3/RSA_flags.3 new file mode 120000 index 0000000..df1a041 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_flags.3 @@ -0,0 +1 @@ +RSA_set_method.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_free.3 b/linux_amd64/share/man/man3/RSA_free.3 new file mode 120000 index 0000000..da3e31f --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_free.3 @@ -0,0 +1 @@ +RSA_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_generate_key.3 b/linux_amd64/share/man/man3/RSA_generate_key.3 index 07cc4dc..c6c2430 100755 --- a/linux_amd64/share/man/man3/RSA_generate_key.3 +++ b/linux_amd64/share/man/man3/RSA_generate_key.3 @@ -124,43 +124,32 @@ .\" ======================================================================== .\" .IX Title "RSA_GENERATE_KEY 3" -.TH RSA_GENERATE_KEY 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH RSA_GENERATE_KEY 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -RSA_generate_key_ex, RSA_generate_key, -RSA_generate_multi_prime_key \- generate RSA key pair +RSA_generate_key_ex, RSA_generate_key, RSA_generate_multi_prime_key \- generate RSA key pair .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include -.Ve -.PP -Deprecated since OpenSSL 3.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): -.PP -.Vb 2 +\& \& int RSA_generate_key_ex(RSA *rsa, int bits, BIGNUM *e, BN_GENCB *cb); \& int RSA_generate_multi_prime_key(RSA *rsa, int bits, int primes, BIGNUM *e, BN_GENCB *cb); .Ve .PP -Deprecated since OpenSSL 0.9.8, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): +Deprecated: .PP -.Vb 2 +.Vb 4 +\& #if OPENSSL_API_COMPAT < 0x00908000L \& RSA *RSA_generate_key(int bits, unsigned long e, \& void (*callback)(int, int, void *), void *cb_arg); +\& #endif .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -All of the functions described on this page are deprecated. -Applications should instead use \fIEVP_PKEY_keygen_init\fR\|(3) and -\&\fIEVP_PKEY_keygen\fR\|(3). -.PP \&\fIRSA_generate_key_ex()\fR generates a 2\-prime \s-1RSA\s0 key pair and stores it in the \&\fB\s-1RSA\s0\fR structure provided in \fBrsa\fR. The pseudo-random number generator must be seeded prior to calling \fIRSA_generate_key_ex()\fR. @@ -223,15 +212,13 @@ The error codes can be obtained by \fIERR_get_error\fR\|(3). \&\s-1\fIRAND\s0\fR\|(7) .SH "HISTORY" .IX Header "HISTORY" -All of these functions were deprecated in OpenSSL 3.0. -.PP \&\fIRSA_generate_key()\fR was deprecated in OpenSSL 0.9.8; use \&\fIRSA_generate_key_ex()\fR instead. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/RSA_generate_key_ex.3 b/linux_amd64/share/man/man3/RSA_generate_key_ex.3 new file mode 120000 index 0000000..b1c58d5 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_generate_key_ex.3 @@ -0,0 +1 @@ +RSA_generate_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_generate_multi_prime_key.3 b/linux_amd64/share/man/man3/RSA_generate_multi_prime_key.3 new file mode 120000 index 0000000..b1c58d5 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_generate_multi_prime_key.3 @@ -0,0 +1 @@ +RSA_generate_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_get0_crt_params.3 b/linux_amd64/share/man/man3/RSA_get0_crt_params.3 new file mode 120000 index 0000000..9847b2e --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_get0_crt_params.3 @@ -0,0 +1 @@ +RSA_get0_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_get0_d.3 b/linux_amd64/share/man/man3/RSA_get0_d.3 new file mode 120000 index 0000000..9847b2e --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_get0_d.3 @@ -0,0 +1 @@ +RSA_get0_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_get0_dmp1.3 b/linux_amd64/share/man/man3/RSA_get0_dmp1.3 new file mode 120000 index 0000000..9847b2e --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_get0_dmp1.3 @@ -0,0 +1 @@ +RSA_get0_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_get0_dmq1.3 b/linux_amd64/share/man/man3/RSA_get0_dmq1.3 new file mode 120000 index 0000000..9847b2e --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_get0_dmq1.3 @@ -0,0 +1 @@ +RSA_get0_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_get0_e.3 b/linux_amd64/share/man/man3/RSA_get0_e.3 new file mode 120000 index 0000000..9847b2e --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_get0_e.3 @@ -0,0 +1 @@ +RSA_get0_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_get0_engine.3 b/linux_amd64/share/man/man3/RSA_get0_engine.3 new file mode 120000 index 0000000..9847b2e --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_get0_engine.3 @@ -0,0 +1 @@ +RSA_get0_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_get0_factors.3 b/linux_amd64/share/man/man3/RSA_get0_factors.3 new file mode 120000 index 0000000..9847b2e --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_get0_factors.3 @@ -0,0 +1 @@ +RSA_get0_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_get0_iqmp.3 b/linux_amd64/share/man/man3/RSA_get0_iqmp.3 new file mode 120000 index 0000000..9847b2e --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_get0_iqmp.3 @@ -0,0 +1 @@ +RSA_get0_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_get0_key.3 b/linux_amd64/share/man/man3/RSA_get0_key.3 index f0faaa9..25e4dff 100755 --- a/linux_amd64/share/man/man3/RSA_get0_key.3 +++ b/linux_amd64/share/man/man3/RSA_get0_key.3 @@ -124,21 +124,13 @@ .\" ======================================================================== .\" .IX Title "RSA_GET0_KEY 3" -.TH RSA_GET0_KEY 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH RSA_GET0_KEY 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -RSA_set0_key, RSA_set0_factors, RSA_set0_crt_params, RSA_get0_key, -RSA_get0_factors, RSA_get0_crt_params, -RSA_get0_n, RSA_get0_e, RSA_get0_d, RSA_get0_p, RSA_get0_q, -RSA_get0_dmp1, RSA_get0_dmq1, RSA_get0_iqmp, RSA_get0_pss_params, -RSA_clear_flags, -RSA_test_flags, RSA_set_flags, RSA_get0_engine, RSA_get_multi_prime_extra_count, -RSA_get0_multi_prime_factors, RSA_get0_multi_prime_crt_params, -RSA_set0_multi_prime_params, RSA_get_version -\&\- Routines for getting and setting data in an RSA object +RSA_set0_key, RSA_set0_factors, RSA_set0_crt_params, RSA_get0_key, RSA_get0_factors, RSA_get0_crt_params, RSA_get0_n, RSA_get0_e, RSA_get0_d, RSA_get0_p, RSA_get0_q, RSA_get0_dmp1, RSA_get0_dmq1, RSA_get0_iqmp, RSA_get0_pss_params, RSA_clear_flags, RSA_test_flags, RSA_set_flags, RSA_get0_engine, RSA_get_multi_prime_extra_count, RSA_get0_multi_prime_factors, RSA_get0_multi_prime_crt_params, RSA_set0_multi_prime_params, RSA_get_version \&\- Routines for getting and setting data in an RSA object .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -265,9 +257,6 @@ triplets in \s-1RSA\s0 object \fBr\fR and assign the new set of triplets into it \&\fIRSA_get0_dmp1()\fR, \fIRSA_get0_dmq1()\fR, and \fIRSA_get0_iqmp()\fR return the respective value. .PP -\&\fIRSA_get0_pss_params()\fR returns a \fB\s-1RSA_PSS_PARAMS\s0\fR pointer, or \s-1NULL\s0 if -there is none. -.PP \&\fIRSA_get0_multi_prime_factors()\fR and \fIRSA_get0_multi_prime_crt_params()\fR return 1 on success or 0 on failure. .PP @@ -299,7 +288,7 @@ Other functions described here were added in OpenSSL 1.1.0. .IX Header "COPYRIGHT" Copyright 2016\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/RSA_get0_multi_prime_crt_params.3 b/linux_amd64/share/man/man3/RSA_get0_multi_prime_crt_params.3 new file mode 120000 index 0000000..9847b2e --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_get0_multi_prime_crt_params.3 @@ -0,0 +1 @@ +RSA_get0_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_get0_multi_prime_factors.3 b/linux_amd64/share/man/man3/RSA_get0_multi_prime_factors.3 new file mode 120000 index 0000000..9847b2e --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_get0_multi_prime_factors.3 @@ -0,0 +1 @@ +RSA_get0_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_get0_n.3 b/linux_amd64/share/man/man3/RSA_get0_n.3 new file mode 120000 index 0000000..9847b2e --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_get0_n.3 @@ -0,0 +1 @@ +RSA_get0_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_get0_p.3 b/linux_amd64/share/man/man3/RSA_get0_p.3 new file mode 120000 index 0000000..9847b2e --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_get0_p.3 @@ -0,0 +1 @@ +RSA_get0_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_get0_pss_params.3 b/linux_amd64/share/man/man3/RSA_get0_pss_params.3 new file mode 120000 index 0000000..9847b2e --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_get0_pss_params.3 @@ -0,0 +1 @@ +RSA_get0_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_get0_q.3 b/linux_amd64/share/man/man3/RSA_get0_q.3 new file mode 120000 index 0000000..9847b2e --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_get0_q.3 @@ -0,0 +1 @@ +RSA_get0_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_get_default_method.3 b/linux_amd64/share/man/man3/RSA_get_default_method.3 new file mode 120000 index 0000000..df1a041 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_get_default_method.3 @@ -0,0 +1 @@ +RSA_set_method.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_get_ex_data.3 b/linux_amd64/share/man/man3/RSA_get_ex_data.3 new file mode 120000 index 0000000..aa4dc88 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_get_ex_data.3 @@ -0,0 +1 @@ +BIO_get_ex_new_index.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_get_ex_new_index.3 b/linux_amd64/share/man/man3/RSA_get_ex_new_index.3 new file mode 120000 index 0000000..aa4dc88 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_get_ex_new_index.3 @@ -0,0 +1 @@ +BIO_get_ex_new_index.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_get_method.3 b/linux_amd64/share/man/man3/RSA_get_method.3 new file mode 120000 index 0000000..df1a041 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_get_method.3 @@ -0,0 +1 @@ +RSA_set_method.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_get_multi_prime_extra_count.3 b/linux_amd64/share/man/man3/RSA_get_multi_prime_extra_count.3 new file mode 120000 index 0000000..9847b2e --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_get_multi_prime_extra_count.3 @@ -0,0 +1 @@ +RSA_get0_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_get_version.3 b/linux_amd64/share/man/man3/RSA_get_version.3 new file mode 120000 index 0000000..9847b2e --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_get_version.3 @@ -0,0 +1 @@ +RSA_get0_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_meth_dup.3 b/linux_amd64/share/man/man3/RSA_meth_dup.3 new file mode 120000 index 0000000..e7c0598 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_meth_dup.3 @@ -0,0 +1 @@ +RSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_meth_free.3 b/linux_amd64/share/man/man3/RSA_meth_free.3 new file mode 120000 index 0000000..e7c0598 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_meth_free.3 @@ -0,0 +1 @@ +RSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_meth_get0_app_data.3 b/linux_amd64/share/man/man3/RSA_meth_get0_app_data.3 new file mode 120000 index 0000000..e7c0598 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_meth_get0_app_data.3 @@ -0,0 +1 @@ +RSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_meth_get0_name.3 b/linux_amd64/share/man/man3/RSA_meth_get0_name.3 new file mode 120000 index 0000000..e7c0598 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_meth_get0_name.3 @@ -0,0 +1 @@ +RSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_meth_get_bn_mod_exp.3 b/linux_amd64/share/man/man3/RSA_meth_get_bn_mod_exp.3 new file mode 120000 index 0000000..e7c0598 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_meth_get_bn_mod_exp.3 @@ -0,0 +1 @@ +RSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_meth_get_finish.3 b/linux_amd64/share/man/man3/RSA_meth_get_finish.3 new file mode 120000 index 0000000..e7c0598 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_meth_get_finish.3 @@ -0,0 +1 @@ +RSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_meth_get_flags.3 b/linux_amd64/share/man/man3/RSA_meth_get_flags.3 new file mode 120000 index 0000000..e7c0598 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_meth_get_flags.3 @@ -0,0 +1 @@ +RSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_meth_get_init.3 b/linux_amd64/share/man/man3/RSA_meth_get_init.3 new file mode 120000 index 0000000..e7c0598 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_meth_get_init.3 @@ -0,0 +1 @@ +RSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_meth_get_keygen.3 b/linux_amd64/share/man/man3/RSA_meth_get_keygen.3 new file mode 120000 index 0000000..e7c0598 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_meth_get_keygen.3 @@ -0,0 +1 @@ +RSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_meth_get_mod_exp.3 b/linux_amd64/share/man/man3/RSA_meth_get_mod_exp.3 new file mode 120000 index 0000000..e7c0598 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_meth_get_mod_exp.3 @@ -0,0 +1 @@ +RSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_meth_get_multi_prime_keygen.3 b/linux_amd64/share/man/man3/RSA_meth_get_multi_prime_keygen.3 new file mode 120000 index 0000000..e7c0598 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_meth_get_multi_prime_keygen.3 @@ -0,0 +1 @@ +RSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_meth_get_priv_dec.3 b/linux_amd64/share/man/man3/RSA_meth_get_priv_dec.3 new file mode 120000 index 0000000..e7c0598 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_meth_get_priv_dec.3 @@ -0,0 +1 @@ +RSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_meth_get_priv_enc.3 b/linux_amd64/share/man/man3/RSA_meth_get_priv_enc.3 new file mode 120000 index 0000000..e7c0598 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_meth_get_priv_enc.3 @@ -0,0 +1 @@ +RSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_meth_get_pub_dec.3 b/linux_amd64/share/man/man3/RSA_meth_get_pub_dec.3 new file mode 120000 index 0000000..e7c0598 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_meth_get_pub_dec.3 @@ -0,0 +1 @@ +RSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_meth_get_pub_enc.3 b/linux_amd64/share/man/man3/RSA_meth_get_pub_enc.3 new file mode 120000 index 0000000..e7c0598 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_meth_get_pub_enc.3 @@ -0,0 +1 @@ +RSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_meth_get_sign.3 b/linux_amd64/share/man/man3/RSA_meth_get_sign.3 new file mode 120000 index 0000000..e7c0598 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_meth_get_sign.3 @@ -0,0 +1 @@ +RSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_meth_get_verify.3 b/linux_amd64/share/man/man3/RSA_meth_get_verify.3 new file mode 120000 index 0000000..e7c0598 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_meth_get_verify.3 @@ -0,0 +1 @@ +RSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_meth_new.3 b/linux_amd64/share/man/man3/RSA_meth_new.3 index 7faf0f1..948b9b63 100755 --- a/linux_amd64/share/man/man3/RSA_meth_new.3 +++ b/linux_amd64/share/man/man3/RSA_meth_new.3 @@ -124,36 +124,18 @@ .\" ======================================================================== .\" .IX Title "RSA_METH_NEW 3" -.TH RSA_METH_NEW 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH RSA_METH_NEW 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -RSA_meth_get0_app_data, RSA_meth_set0_app_data, -RSA_meth_new, RSA_meth_free, RSA_meth_dup, RSA_meth_get0_name, -RSA_meth_set1_name, RSA_meth_get_flags, RSA_meth_set_flags, -RSA_meth_get_pub_enc, -RSA_meth_set_pub_enc, RSA_meth_get_pub_dec, RSA_meth_set_pub_dec, -RSA_meth_get_priv_enc, RSA_meth_set_priv_enc, RSA_meth_get_priv_dec, -RSA_meth_set_priv_dec, RSA_meth_get_mod_exp, RSA_meth_set_mod_exp, -RSA_meth_get_bn_mod_exp, RSA_meth_set_bn_mod_exp, RSA_meth_get_init, -RSA_meth_set_init, RSA_meth_get_finish, RSA_meth_set_finish, -RSA_meth_get_sign, RSA_meth_set_sign, RSA_meth_get_verify, -RSA_meth_set_verify, RSA_meth_get_keygen, RSA_meth_set_keygen, -RSA_meth_get_multi_prime_keygen, RSA_meth_set_multi_prime_keygen -\&\- Routines to build up RSA methods +RSA_meth_get0_app_data, RSA_meth_set0_app_data, RSA_meth_new, RSA_meth_free, RSA_meth_dup, RSA_meth_get0_name, RSA_meth_set1_name, RSA_meth_get_flags, RSA_meth_set_flags, RSA_meth_get_pub_enc, RSA_meth_set_pub_enc, RSA_meth_get_pub_dec, RSA_meth_set_pub_dec, RSA_meth_get_priv_enc, RSA_meth_set_priv_enc, RSA_meth_get_priv_dec, RSA_meth_set_priv_dec, RSA_meth_get_mod_exp, RSA_meth_set_mod_exp, RSA_meth_get_bn_mod_exp, RSA_meth_set_bn_mod_exp, RSA_meth_get_init, RSA_meth_set_init, RSA_meth_get_finish, RSA_meth_set_finish, RSA_meth_get_sign, RSA_meth_set_sign, RSA_meth_get_verify, RSA_meth_set_verify, RSA_meth_get_keygen, RSA_meth_set_keygen, RSA_meth_get_multi_prime_keygen, RSA_meth_set_multi_prime_keygen \&\- Routines to build up RSA methods .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include -.Ve -.PP -Deprecated since OpenSSL 3.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): -.PP -.Vb 2 +\& \& RSA_METHOD *RSA_meth_new(const char *name, int flags); \& void RSA_meth_free(RSA_METHOD *meth); \& @@ -257,12 +239,10 @@ Deprecated since OpenSSL 3.0, can be hidden entirely by defining .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -All of the functions described on this page are deprecated. -Applications should instead use the \s-1OSSL_PROVIDER\s0 APIs. -.PP The \fB\s-1RSA_METHOD\s0\fR type is a structure used for the provision of custom \&\s-1RSA\s0 implementations. It provides a set of functions used by OpenSSL -for the implementation of the various \s-1RSA\s0 capabilities. +for the implementation of the various \s-1RSA\s0 capabilities. See the rsa +page for more information. .PP \&\fIRSA_meth_new()\fR creates a new \fB\s-1RSA_METHOD\s0\fR structure. It should be given a unique \fBname\fR and a set of \fBflags\fR. The \fBname\fR should be a @@ -379,8 +359,6 @@ success or 0 on failure. \&\fIRSA_generate_multi_prime_key\fR\|(3) .SH "HISTORY" .IX Header "HISTORY" -All of these functions were deprecated in OpenSSL 3.0. -.PP \&\fIRSA_meth_get_multi_prime_keygen()\fR and \fIRSA_meth_set_multi_prime_keygen()\fR were added in OpenSSL 1.1.1. .PP @@ -389,7 +367,7 @@ Other functions described here were added in OpenSSL 1.1.0. .IX Header "COPYRIGHT" Copyright 2016\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/RSA_meth_set0_app_data.3 b/linux_amd64/share/man/man3/RSA_meth_set0_app_data.3 new file mode 120000 index 0000000..e7c0598 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_meth_set0_app_data.3 @@ -0,0 +1 @@ +RSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_meth_set1_name.3 b/linux_amd64/share/man/man3/RSA_meth_set1_name.3 new file mode 120000 index 0000000..e7c0598 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_meth_set1_name.3 @@ -0,0 +1 @@ +RSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_meth_set_bn_mod_exp.3 b/linux_amd64/share/man/man3/RSA_meth_set_bn_mod_exp.3 new file mode 120000 index 0000000..e7c0598 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_meth_set_bn_mod_exp.3 @@ -0,0 +1 @@ +RSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_meth_set_finish.3 b/linux_amd64/share/man/man3/RSA_meth_set_finish.3 new file mode 120000 index 0000000..e7c0598 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_meth_set_finish.3 @@ -0,0 +1 @@ +RSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_meth_set_flags.3 b/linux_amd64/share/man/man3/RSA_meth_set_flags.3 new file mode 120000 index 0000000..e7c0598 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_meth_set_flags.3 @@ -0,0 +1 @@ +RSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_meth_set_init.3 b/linux_amd64/share/man/man3/RSA_meth_set_init.3 new file mode 120000 index 0000000..e7c0598 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_meth_set_init.3 @@ -0,0 +1 @@ +RSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_meth_set_keygen.3 b/linux_amd64/share/man/man3/RSA_meth_set_keygen.3 new file mode 120000 index 0000000..e7c0598 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_meth_set_keygen.3 @@ -0,0 +1 @@ +RSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_meth_set_mod_exp.3 b/linux_amd64/share/man/man3/RSA_meth_set_mod_exp.3 new file mode 120000 index 0000000..e7c0598 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_meth_set_mod_exp.3 @@ -0,0 +1 @@ +RSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_meth_set_multi_prime_keygen.3 b/linux_amd64/share/man/man3/RSA_meth_set_multi_prime_keygen.3 new file mode 120000 index 0000000..e7c0598 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_meth_set_multi_prime_keygen.3 @@ -0,0 +1 @@ +RSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_meth_set_priv_dec.3 b/linux_amd64/share/man/man3/RSA_meth_set_priv_dec.3 new file mode 120000 index 0000000..e7c0598 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_meth_set_priv_dec.3 @@ -0,0 +1 @@ +RSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_meth_set_priv_enc.3 b/linux_amd64/share/man/man3/RSA_meth_set_priv_enc.3 new file mode 120000 index 0000000..e7c0598 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_meth_set_priv_enc.3 @@ -0,0 +1 @@ +RSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_meth_set_pub_dec.3 b/linux_amd64/share/man/man3/RSA_meth_set_pub_dec.3 new file mode 120000 index 0000000..e7c0598 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_meth_set_pub_dec.3 @@ -0,0 +1 @@ +RSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_meth_set_pub_enc.3 b/linux_amd64/share/man/man3/RSA_meth_set_pub_enc.3 new file mode 120000 index 0000000..e7c0598 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_meth_set_pub_enc.3 @@ -0,0 +1 @@ +RSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_meth_set_sign.3 b/linux_amd64/share/man/man3/RSA_meth_set_sign.3 new file mode 120000 index 0000000..e7c0598 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_meth_set_sign.3 @@ -0,0 +1 @@ +RSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_meth_set_verify.3 b/linux_amd64/share/man/man3/RSA_meth_set_verify.3 new file mode 120000 index 0000000..e7c0598 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_meth_set_verify.3 @@ -0,0 +1 @@ +RSA_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_new.3 b/linux_amd64/share/man/man3/RSA_new.3 index b51bc8d..d9d002a 100755 --- a/linux_amd64/share/man/man3/RSA_new.3 +++ b/linux_amd64/share/man/man3/RSA_new.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "RSA_NEW 3" -.TH RSA_NEW 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH RSA_NEW 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -164,7 +164,7 @@ a pointer to the newly allocated structure. .IX Header "COPYRIGHT" Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/RSA_new_method.3 b/linux_amd64/share/man/man3/RSA_new_method.3 new file mode 120000 index 0000000..df1a041 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_new_method.3 @@ -0,0 +1 @@ +RSA_set_method.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_padding_add_PKCS1_OAEP.3 b/linux_amd64/share/man/man3/RSA_padding_add_PKCS1_OAEP.3 new file mode 120000 index 0000000..f55abf9 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_padding_add_PKCS1_OAEP.3 @@ -0,0 +1 @@ +RSA_padding_add_PKCS1_type_1.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_padding_add_PKCS1_OAEP_mgf1.3 b/linux_amd64/share/man/man3/RSA_padding_add_PKCS1_OAEP_mgf1.3 new file mode 120000 index 0000000..f55abf9 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_padding_add_PKCS1_OAEP_mgf1.3 @@ -0,0 +1 @@ +RSA_padding_add_PKCS1_type_1.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_padding_add_PKCS1_type_1.3 b/linux_amd64/share/man/man3/RSA_padding_add_PKCS1_type_1.3 index c8b04f1..c5cec8f 100755 --- a/linux_amd64/share/man/man3/RSA_padding_add_PKCS1_type_1.3 +++ b/linux_amd64/share/man/man3/RSA_padding_add_PKCS1_type_1.3 @@ -124,30 +124,18 @@ .\" ======================================================================== .\" .IX Title "RSA_PADDING_ADD_PKCS1_TYPE_1 3" -.TH RSA_PADDING_ADD_PKCS1_TYPE_1 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH RSA_PADDING_ADD_PKCS1_TYPE_1 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -RSA_padding_add_PKCS1_type_1, RSA_padding_check_PKCS1_type_1, -RSA_padding_add_PKCS1_type_2, RSA_padding_check_PKCS1_type_2, -RSA_padding_add_PKCS1_OAEP, RSA_padding_check_PKCS1_OAEP, -RSA_padding_add_PKCS1_OAEP_mgf1, RSA_padding_check_PKCS1_OAEP_mgf1, -RSA_padding_add_SSLv23, RSA_padding_check_SSLv23, -RSA_padding_add_none, RSA_padding_check_none \- asymmetric encryption -padding +RSA_padding_add_PKCS1_type_1, RSA_padding_check_PKCS1_type_1, RSA_padding_add_PKCS1_type_2, RSA_padding_check_PKCS1_type_2, RSA_padding_add_PKCS1_OAEP, RSA_padding_check_PKCS1_OAEP, RSA_padding_add_PKCS1_OAEP_mgf1, RSA_padding_check_PKCS1_OAEP_mgf1, RSA_padding_add_SSLv23, RSA_padding_check_SSLv23, RSA_padding_add_none, RSA_padding_check_none \- asymmetric encryption padding .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include -.Ve -.PP -Deprecated since OpenSSL 3.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): -.PP -.Vb 2 +\& \& int RSA_padding_add_PKCS1_type_1(unsigned char *to, int tlen, \& const unsigned char *f, int fl); \& @@ -192,9 +180,6 @@ Deprecated since OpenSSL 3.0, can be hidden entirely by defining .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -All of the functions described on this page are deprecated. -Applications should instead use the \s-1EVP\s0 \s-1PKEY\s0 APIs. -.PP The \fIRSA_padding_xxx_xxx()\fR functions are called from the \s-1RSA\s0 encrypt, decrypt, sign and verify functions. Normally they should not be called from application programs. @@ -272,14 +257,11 @@ including \s-1PKCS1_OAEP\s0. \&\fIRSA_private_decrypt\fR\|(3), \&\fIRSA_sign\fR\|(3), \fIRSA_verify\fR\|(3), \&\s-1\fIRAND\s0\fR\|(7) -.SH "HISTORY" -.IX Header "HISTORY" -All of these functions were deprecated in OpenSSL 3.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/RSA_padding_add_PKCS1_type_2.3 b/linux_amd64/share/man/man3/RSA_padding_add_PKCS1_type_2.3 new file mode 120000 index 0000000..f55abf9 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_padding_add_PKCS1_type_2.3 @@ -0,0 +1 @@ +RSA_padding_add_PKCS1_type_1.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_padding_add_SSLv23.3 b/linux_amd64/share/man/man3/RSA_padding_add_SSLv23.3 new file mode 120000 index 0000000..f55abf9 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_padding_add_SSLv23.3 @@ -0,0 +1 @@ +RSA_padding_add_PKCS1_type_1.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_padding_add_none.3 b/linux_amd64/share/man/man3/RSA_padding_add_none.3 new file mode 120000 index 0000000..f55abf9 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_padding_add_none.3 @@ -0,0 +1 @@ +RSA_padding_add_PKCS1_type_1.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_padding_check_PKCS1_OAEP.3 b/linux_amd64/share/man/man3/RSA_padding_check_PKCS1_OAEP.3 new file mode 120000 index 0000000..f55abf9 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_padding_check_PKCS1_OAEP.3 @@ -0,0 +1 @@ +RSA_padding_add_PKCS1_type_1.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_padding_check_PKCS1_OAEP_mgf1.3 b/linux_amd64/share/man/man3/RSA_padding_check_PKCS1_OAEP_mgf1.3 new file mode 120000 index 0000000..f55abf9 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_padding_check_PKCS1_OAEP_mgf1.3 @@ -0,0 +1 @@ +RSA_padding_add_PKCS1_type_1.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_padding_check_PKCS1_type_1.3 b/linux_amd64/share/man/man3/RSA_padding_check_PKCS1_type_1.3 new file mode 120000 index 0000000..f55abf9 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_padding_check_PKCS1_type_1.3 @@ -0,0 +1 @@ +RSA_padding_add_PKCS1_type_1.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_padding_check_PKCS1_type_2.3 b/linux_amd64/share/man/man3/RSA_padding_check_PKCS1_type_2.3 new file mode 120000 index 0000000..f55abf9 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_padding_check_PKCS1_type_2.3 @@ -0,0 +1 @@ +RSA_padding_add_PKCS1_type_1.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_padding_check_SSLv23.3 b/linux_amd64/share/man/man3/RSA_padding_check_SSLv23.3 new file mode 120000 index 0000000..f55abf9 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_padding_check_SSLv23.3 @@ -0,0 +1 @@ +RSA_padding_add_PKCS1_type_1.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_padding_check_none.3 b/linux_amd64/share/man/man3/RSA_padding_check_none.3 new file mode 120000 index 0000000..f55abf9 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_padding_check_none.3 @@ -0,0 +1 @@ +RSA_padding_add_PKCS1_type_1.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_print.3 b/linux_amd64/share/man/man3/RSA_print.3 index c68a52e..7cdad02 100755 --- a/linux_amd64/share/man/man3/RSA_print.3 +++ b/linux_amd64/share/man/man3/RSA_print.3 @@ -124,59 +124,35 @@ .\" ======================================================================== .\" .IX Title "RSA_PRINT 3" -.TH RSA_PRINT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH RSA_PRINT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -RSA_print, RSA_print_fp, -DSAparams_print, DSAparams_print_fp, DSA_print, DSA_print_fp, -DHparams_print, DHparams_print_fp \- print cryptographic parameters +RSA_print, RSA_print_fp, DSAparams_print, DSAparams_print_fp, DSA_print, DSA_print_fp, DHparams_print, DHparams_print_fp \- print cryptographic parameters .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include -.Ve -.PP -Deprecated since OpenSSL 3.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): -.PP -.Vb 2 +\& \& int RSA_print(BIO *bp, RSA *x, int offset); \& int RSA_print_fp(FILE *fp, RSA *x, int offset); \& \& #include -.Ve -.PP -Deprecated since OpenSSL 3.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): -.PP -.Vb 4 +\& \& int DSAparams_print(BIO *bp, DSA *x); \& int DSAparams_print_fp(FILE *fp, DSA *x); \& int DSA_print(BIO *bp, DSA *x, int offset); \& int DSA_print_fp(FILE *fp, DSA *x, int offset); \& \& #include -.Ve -.PP -Deprecated since OpenSSL 3.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): -.PP -.Vb 2 +\& \& int DHparams_print(BIO *bp, DH *x); \& int DHparams_print_fp(FILE *fp, DH *x); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -All of the functions described on this page are deprecated. -Applications should instead use \fIEVP_PKEY_print_params\fR\|(3) and -\&\fIEVP_PKEY_print_private\fR\|(3). -.PP A human-readable hexadecimal output of the components of the \s-1RSA\s0 key, \s-1DSA\s0 parameters or key or \s-1DH\s0 parameters is printed to \fBbp\fR or \fBfp\fR. .PP @@ -186,19 +162,12 @@ The output lines are indented by \fBoffset\fR spaces. These functions return 1 on success, 0 on error. .SH "SEE ALSO" .IX Header "SEE ALSO" -.Vb 3 -\& L, -\& L, -\& L -.Ve -.SH "HISTORY" -.IX Header "HISTORY" -All of these functions were deprecated in OpenSSL 3.0. +\&\fIBN_bn2bin\fR\|(3) .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/RSA_print_fp.3 b/linux_amd64/share/man/man3/RSA_print_fp.3 new file mode 120000 index 0000000..1b54d4f --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_print_fp.3 @@ -0,0 +1 @@ +RSA_print.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_private_decrypt.3 b/linux_amd64/share/man/man3/RSA_private_decrypt.3 new file mode 120000 index 0000000..c7b22fe --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_private_decrypt.3 @@ -0,0 +1 @@ +RSA_public_encrypt.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_private_encrypt.3 b/linux_amd64/share/man/man3/RSA_private_encrypt.3 index cae2071..4897f1d 100755 --- a/linux_amd64/share/man/man3/RSA_private_encrypt.3 +++ b/linux_amd64/share/man/man3/RSA_private_encrypt.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "RSA_PRIVATE_ENCRYPT 3" -.TH RSA_PRIVATE_ENCRYPT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH RSA_PRIVATE_ENCRYPT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -135,13 +135,7 @@ RSA_private_encrypt, RSA_public_decrypt \- low level signature operations .IX Header "SYNOPSIS" .Vb 1 \& #include -.Ve -.PP -Deprecated since OpenSSL 3.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): -.PP -.Vb 2 +\& \& int RSA_private_encrypt(int flen, unsigned char *from, \& unsigned char *to, RSA *rsa, int padding); \& @@ -150,10 +144,6 @@ Deprecated since OpenSSL 3.0, can be hidden entirely by defining .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -Both of the functions described on this page are deprecated. -Applications should instead use \fIEVP_PKEY_encrypt_init\fR\|(3), -\&\fIEVP_PKEY_encrypt\fR\|(3), \fIEVP_PKEY_decrypt_init\fR\|(3) and \fIEVP_PKEY_decrypt\fR\|(3). -.PP These functions handle \s-1RSA\s0 signatures at a low level. .PP \&\fIRSA_private_encrypt()\fR signs the \fBflen\fR bytes at \fBfrom\fR (usually a @@ -191,14 +181,11 @@ obtained by \fIERR_get_error\fR\|(3). .IX Header "SEE ALSO" \&\fIERR_get_error\fR\|(3), \&\fIRSA_sign\fR\|(3), \fIRSA_verify\fR\|(3) -.SH "HISTORY" -.IX Header "HISTORY" -Both of these functions were deprecated in OpenSSL 3.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/RSA_public_decrypt.3 b/linux_amd64/share/man/man3/RSA_public_decrypt.3 new file mode 120000 index 0000000..8e3bafb --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_public_decrypt.3 @@ -0,0 +1 @@ +RSA_private_encrypt.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_public_encrypt.3 b/linux_amd64/share/man/man3/RSA_public_encrypt.3 index 97d2a2b..44c6b77 100755 --- a/linux_amd64/share/man/man3/RSA_public_encrypt.3 +++ b/linux_amd64/share/man/man3/RSA_public_encrypt.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "RSA_PUBLIC_ENCRYPT 3" -.TH RSA_PUBLIC_ENCRYPT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH RSA_PUBLIC_ENCRYPT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -135,13 +135,7 @@ RSA_public_encrypt, RSA_private_decrypt \- RSA public key cryptography .IX Header "SYNOPSIS" .Vb 1 \& #include -.Ve -.PP -Deprecated since OpenSSL 3.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): -.PP -.Vb 2 +\& \& int RSA_public_encrypt(int flen, const unsigned char *from, \& unsigned char *to, RSA *rsa, int padding); \& @@ -150,10 +144,6 @@ Deprecated since OpenSSL 3.0, can be hidden entirely by defining .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -Both of the functions described on this page are deprecated. -Applications should instead use \fIEVP_PKEY_encrypt_init\fR\|(3), -\&\fIEVP_PKEY_encrypt\fR\|(3), \fIEVP_PKEY_decrypt_init\fR\|(3) and \fIEVP_PKEY_decrypt\fR\|(3). -.PP \&\fIRSA_public_encrypt()\fR encrypts the \fBflen\fR bytes at \fBfrom\fR (usually a session key) using the public key \fBrsa\fR and stores the ciphertext in \&\fBto\fR. \fBto\fR must point to RSA_size(\fBrsa\fR) bytes of memory. @@ -222,14 +212,11 @@ design. Prefer \s-1RSA_PKCS1_OAEP_PADDING\s0. .IX Header "SEE ALSO" \&\fIERR_get_error\fR\|(3), \fIRAND_bytes\fR\|(3), \&\fIRSA_size\fR\|(3) -.SH "HISTORY" -.IX Header "HISTORY" -Both of these functions were deprecated in OpenSSL 3.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/RSA_security_bits.3 b/linux_amd64/share/man/man3/RSA_security_bits.3 new file mode 120000 index 0000000..57f25e1 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_security_bits.3 @@ -0,0 +1 @@ +RSA_size.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_set0_crt_params.3 b/linux_amd64/share/man/man3/RSA_set0_crt_params.3 new file mode 120000 index 0000000..9847b2e --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_set0_crt_params.3 @@ -0,0 +1 @@ +RSA_get0_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_set0_factors.3 b/linux_amd64/share/man/man3/RSA_set0_factors.3 new file mode 120000 index 0000000..9847b2e --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_set0_factors.3 @@ -0,0 +1 @@ +RSA_get0_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_set0_key.3 b/linux_amd64/share/man/man3/RSA_set0_key.3 new file mode 120000 index 0000000..9847b2e --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_set0_key.3 @@ -0,0 +1 @@ +RSA_get0_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_set0_multi_prime_params.3 b/linux_amd64/share/man/man3/RSA_set0_multi_prime_params.3 new file mode 120000 index 0000000..9847b2e --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_set0_multi_prime_params.3 @@ -0,0 +1 @@ +RSA_get0_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_set_default_method.3 b/linux_amd64/share/man/man3/RSA_set_default_method.3 new file mode 120000 index 0000000..df1a041 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_set_default_method.3 @@ -0,0 +1 @@ +RSA_set_method.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_set_ex_data.3 b/linux_amd64/share/man/man3/RSA_set_ex_data.3 new file mode 120000 index 0000000..aa4dc88 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_set_ex_data.3 @@ -0,0 +1 @@ +BIO_get_ex_new_index.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_set_flags.3 b/linux_amd64/share/man/man3/RSA_set_flags.3 new file mode 120000 index 0000000..9847b2e --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_set_flags.3 @@ -0,0 +1 @@ +RSA_get0_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_set_method.3 b/linux_amd64/share/man/man3/RSA_set_method.3 index f144aae..c1e49c7 100755 --- a/linux_amd64/share/man/man3/RSA_set_method.3 +++ b/linux_amd64/share/man/man3/RSA_set_method.3 @@ -124,26 +124,18 @@ .\" ======================================================================== .\" .IX Title "RSA_SET_METHOD 3" -.TH RSA_SET_METHOD 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH RSA_SET_METHOD 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -RSA_set_default_method, RSA_get_default_method, RSA_set_method, -RSA_get_method, RSA_PKCS1_OpenSSL, RSA_flags, -RSA_new_method \- select RSA method +RSA_set_default_method, RSA_get_default_method, RSA_set_method, RSA_get_method, RSA_PKCS1_OpenSSL, RSA_flags, RSA_new_method \- select RSA method .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include -.Ve -.PP -Deprecated since OpenSSL 3.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): -.PP -.Vb 1 +\& \& void RSA_set_default_method(const RSA_METHOD *meth); \& \& RSA_METHOD *RSA_get_default_method(void); @@ -160,9 +152,6 @@ Deprecated since OpenSSL 3.0, can be hidden entirely by defining .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -All of the functions described on this page are deprecated. -Applications should instead use the \s-1OSSL_PROVIDER\s0 APIs. -.PP An \fB\s-1RSA_METHOD\s0\fR specifies the functions that OpenSSL uses for \s-1RSA\s0 operations. By modifying the method, alternative implementations such as hardware accelerators may be used. \s-1IMPORTANT:\s0 See the \s-1NOTES\s0 section for @@ -266,7 +255,7 @@ the default method is used. \& const unsigned char *m, unsigned int m_length, \& const unsigned char *sigbuf, unsigned int siglen, \& const RSA *rsa); -\& /* keygen. If NULL built\-in RSA key generation will be used */ +\& /* keygen. If NULL builtin RSA key generation will be used */ \& int (*rsa_keygen)(RSA *rsa, int bits, BIGNUM *e, BN_GENCB *cb); \& \& } RSA_METHOD; @@ -305,15 +294,13 @@ not currently exist). \&\fIRSA_new\fR\|(3) .SH "HISTORY" .IX Header "HISTORY" -All of these functions were deprecated in OpenSSL 3.0. -.PP The \fIRSA_null_method()\fR, which was a partial attempt to avoid patent issues, was replaced to always return \s-1NULL\s0 in OpenSSL 1.1.1. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/RSA_sign.3 b/linux_amd64/share/man/man3/RSA_sign.3 index 4189773..dc3fad0 100755 --- a/linux_amd64/share/man/man3/RSA_sign.3 +++ b/linux_amd64/share/man/man3/RSA_sign.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "RSA_SIGN 3" -.TH RSA_SIGN 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH RSA_SIGN 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -135,13 +135,7 @@ RSA_sign, RSA_verify \- RSA signatures .IX Header "SYNOPSIS" .Vb 1 \& #include -.Ve -.PP -Deprecated since OpenSSL 3.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): -.PP -.Vb 2 +\& \& int RSA_sign(int type, const unsigned char *m, unsigned int m_len, \& unsigned char *sigret, unsigned int *siglen, RSA *rsa); \& @@ -150,10 +144,6 @@ Deprecated since OpenSSL 3.0, can be hidden entirely by defining .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -All of the functions described on this page are deprecated. -Applications should instead use \fIEVP_PKEY_sign_init\fR\|(3), \fIEVP_PKEY_sign\fR\|(3), -\&\fIEVP_PKEY_verify_init\fR\|(3) and \fIEVP_PKEY_verify\fR\|(3). -.PP \&\fIRSA_sign()\fR signs the message digest \fBm\fR of size \fBm_len\fR using the private key \fBrsa\fR using RSASSA\-PKCS1\-v1_5 as specified in \s-1RFC\s0 3447. It stores the signature in \fBsigret\fR and the signature size in \fBsiglen\fR. @@ -187,14 +177,11 @@ The error codes can be obtained by \fIERR_get_error\fR\|(3). \&\fIERR_get_error\fR\|(3), \&\fIRSA_private_encrypt\fR\|(3), \&\fIRSA_public_decrypt\fR\|(3) -.SH "HISTORY" -.IX Header "HISTORY" -All of these functions were deprecated in OpenSSL 3.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/RSA_sign_ASN1_OCTET_STRING.3 b/linux_amd64/share/man/man3/RSA_sign_ASN1_OCTET_STRING.3 index 7a18990..d7b3b13 100755 --- a/linux_amd64/share/man/man3/RSA_sign_ASN1_OCTET_STRING.3 +++ b/linux_amd64/share/man/man3/RSA_sign_ASN1_OCTET_STRING.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "RSA_SIGN_ASN1_OCTET_STRING 3" -.TH RSA_SIGN_ASN1_OCTET_STRING 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH RSA_SIGN_ASN1_OCTET_STRING 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -135,13 +135,7 @@ RSA_sign_ASN1_OCTET_STRING, RSA_verify_ASN1_OCTET_STRING \- RSA signatures .IX Header "SYNOPSIS" .Vb 1 \& #include -.Ve -.PP -Deprecated since OpenSSL 3.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): -.PP -.Vb 3 +\& \& int RSA_sign_ASN1_OCTET_STRING(int dummy, unsigned char *m, \& unsigned int m_len, unsigned char *sigret, \& unsigned int *siglen, RSA *rsa); @@ -152,9 +146,6 @@ Deprecated since OpenSSL 3.0, can be hidden entirely by defining .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -All of the functions described on this page are deprecated. -Applications should instead use \s-1EVP\s0 \s-1PKEY\s0 APIs. -.PP \&\fIRSA_sign_ASN1_OCTET_STRING()\fR signs the octet string \fBm\fR of size \&\fBm_len\fR using the private key \fBrsa\fR represented in \s-1DER\s0 using \s-1PKCS\s0 #1 padding. It stores the signature in \fBsigret\fR and the signature size @@ -188,14 +179,11 @@ These functions serve no recognizable purpose. \&\fIRAND_bytes\fR\|(3), \fIRSA_sign\fR\|(3), \&\fIRSA_verify\fR\|(3), \&\s-1\fIRAND\s0\fR\|(7) -.SH "HISTORY" -.IX Header "HISTORY" -All of these functions were deprecated in OpenSSL 3.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/RSA_size.3 b/linux_amd64/share/man/man3/RSA_size.3 index b3e61f0..7e7359f 100755 --- a/linux_amd64/share/man/man3/RSA_size.3 +++ b/linux_amd64/share/man/man3/RSA_size.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "RSA_SIZE 3" -.TH RSA_SIZE 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH RSA_SIZE 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -135,13 +135,7 @@ RSA_size, RSA_bits, RSA_security_bits \- get RSA modulus size or security bits .IX Header "SYNOPSIS" .Vb 1 \& #include -.Ve -.PP -Deprecated since OpenSSL 3.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): -.PP -.Vb 1 +\& \& int RSA_size(const RSA *rsa); \& \& int RSA_bits(const RSA *rsa); @@ -150,10 +144,6 @@ Deprecated since OpenSSL 3.0, can be hidden entirely by defining .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -All of the functions described on this page are deprecated. -Applications should instead use \fIEVP_PKEY_size\fR\|(3), \fIEVP_PKEY_bits\fR\|(3) -and \fIEVP_PKEY_security_bits\fR\|(3). -.PP \&\fIRSA_size()\fR returns the \s-1RSA\s0 modulus size in bytes. It can be used to determine how much memory must be allocated for an \s-1RSA\s0 encrypted value. @@ -176,14 +166,12 @@ key. See \fIBN_security_bits\fR\|(3). \&\fIBN_num_bits\fR\|(3) .SH "HISTORY" .IX Header "HISTORY" -All of these functions were deprecated in OpenSSL 3.0. -.PP The \fIRSA_bits()\fR function was added in OpenSSL 1.1.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/RSA_test_flags.3 b/linux_amd64/share/man/man3/RSA_test_flags.3 new file mode 120000 index 0000000..9847b2e --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_test_flags.3 @@ -0,0 +1 @@ +RSA_get0_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_verify.3 b/linux_amd64/share/man/man3/RSA_verify.3 new file mode 120000 index 0000000..c2cea95 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_verify.3 @@ -0,0 +1 @@ +RSA_sign.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/RSA_verify_ASN1_OCTET_STRING.3 b/linux_amd64/share/man/man3/RSA_verify_ASN1_OCTET_STRING.3 new file mode 120000 index 0000000..7d95cb6 --- /dev/null +++ b/linux_amd64/share/man/man3/RSA_verify_ASN1_OCTET_STRING.3 @@ -0,0 +1 @@ +RSA_sign_ASN1_OCTET_STRING.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SCRYPT_PARAMS_free.3 b/linux_amd64/share/man/man3/SCRYPT_PARAMS_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/SCRYPT_PARAMS_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SCRYPT_PARAMS_new.3 b/linux_amd64/share/man/man3/SCRYPT_PARAMS_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/SCRYPT_PARAMS_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SCT_LIST_free.3 b/linux_amd64/share/man/man3/SCT_LIST_free.3 new file mode 120000 index 0000000..a3f84eb --- /dev/null +++ b/linux_amd64/share/man/man3/SCT_LIST_free.3 @@ -0,0 +1 @@ +SCT_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SCT_LIST_print.3 b/linux_amd64/share/man/man3/SCT_LIST_print.3 new file mode 120000 index 0000000..656efbd --- /dev/null +++ b/linux_amd64/share/man/man3/SCT_LIST_print.3 @@ -0,0 +1 @@ +SCT_print.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SCT_LIST_validate.3 b/linux_amd64/share/man/man3/SCT_LIST_validate.3 new file mode 120000 index 0000000..5e7e4f9 --- /dev/null +++ b/linux_amd64/share/man/man3/SCT_LIST_validate.3 @@ -0,0 +1 @@ +SCT_validate.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SCT_free.3 b/linux_amd64/share/man/man3/SCT_free.3 new file mode 120000 index 0000000..a3f84eb --- /dev/null +++ b/linux_amd64/share/man/man3/SCT_free.3 @@ -0,0 +1 @@ +SCT_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SCT_get0_extensions.3 b/linux_amd64/share/man/man3/SCT_get0_extensions.3 new file mode 120000 index 0000000..a3f84eb --- /dev/null +++ b/linux_amd64/share/man/man3/SCT_get0_extensions.3 @@ -0,0 +1 @@ +SCT_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SCT_get0_log_id.3 b/linux_amd64/share/man/man3/SCT_get0_log_id.3 new file mode 120000 index 0000000..a3f84eb --- /dev/null +++ b/linux_amd64/share/man/man3/SCT_get0_log_id.3 @@ -0,0 +1 @@ +SCT_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SCT_get0_signature.3 b/linux_amd64/share/man/man3/SCT_get0_signature.3 new file mode 120000 index 0000000..a3f84eb --- /dev/null +++ b/linux_amd64/share/man/man3/SCT_get0_signature.3 @@ -0,0 +1 @@ +SCT_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SCT_get_log_entry_type.3 b/linux_amd64/share/man/man3/SCT_get_log_entry_type.3 new file mode 120000 index 0000000..a3f84eb --- /dev/null +++ b/linux_amd64/share/man/man3/SCT_get_log_entry_type.3 @@ -0,0 +1 @@ +SCT_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SCT_get_signature_nid.3 b/linux_amd64/share/man/man3/SCT_get_signature_nid.3 new file mode 120000 index 0000000..a3f84eb --- /dev/null +++ b/linux_amd64/share/man/man3/SCT_get_signature_nid.3 @@ -0,0 +1 @@ +SCT_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SCT_get_source.3 b/linux_amd64/share/man/man3/SCT_get_source.3 new file mode 120000 index 0000000..a3f84eb --- /dev/null +++ b/linux_amd64/share/man/man3/SCT_get_source.3 @@ -0,0 +1 @@ +SCT_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SCT_get_timestamp.3 b/linux_amd64/share/man/man3/SCT_get_timestamp.3 new file mode 120000 index 0000000..a3f84eb --- /dev/null +++ b/linux_amd64/share/man/man3/SCT_get_timestamp.3 @@ -0,0 +1 @@ +SCT_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SCT_get_validation_status.3 b/linux_amd64/share/man/man3/SCT_get_validation_status.3 new file mode 120000 index 0000000..5e7e4f9 --- /dev/null +++ b/linux_amd64/share/man/man3/SCT_get_validation_status.3 @@ -0,0 +1 @@ +SCT_validate.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SCT_get_version.3 b/linux_amd64/share/man/man3/SCT_get_version.3 new file mode 120000 index 0000000..a3f84eb --- /dev/null +++ b/linux_amd64/share/man/man3/SCT_get_version.3 @@ -0,0 +1 @@ +SCT_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SCT_new.3 b/linux_amd64/share/man/man3/SCT_new.3 index 9c32215..cdad246 100755 --- a/linux_amd64/share/man/man3/SCT_new.3 +++ b/linux_amd64/share/man/man3/SCT_new.3 @@ -124,22 +124,13 @@ .\" ======================================================================== .\" .IX Title "SCT_NEW 3" -.TH SCT_NEW 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SCT_NEW 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SCT_new, SCT_new_from_base64, SCT_free, SCT_LIST_free, -SCT_get_version, SCT_set_version, -SCT_get_log_entry_type, SCT_set_log_entry_type, -SCT_get0_log_id, SCT_set0_log_id, SCT_set1_log_id, -SCT_get_timestamp, SCT_set_timestamp, -SCT_get_signature_nid, SCT_set_signature_nid, -SCT_get0_signature, SCT_set0_signature, SCT_set1_signature, -SCT_get0_extensions, SCT_set0_extensions, SCT_set1_extensions, -SCT_get_source, SCT_set_source -\&\- A Certificate Transparency Signed Certificate Timestamp +SCT_new, SCT_new_from_base64, SCT_free, SCT_LIST_free, SCT_get_version, SCT_set_version, SCT_get_log_entry_type, SCT_set_log_entry_type, SCT_get0_log_id, SCT_set0_log_id, SCT_set1_log_id, SCT_get_timestamp, SCT_set_timestamp, SCT_get_signature_nid, SCT_set_signature_nid, SCT_get0_signature, SCT_set0_signature, SCT_set1_signature, SCT_get0_extensions, SCT_set0_extensions, SCT_set1_extensions, SCT_get_source, SCT_set_source \&\- A Certificate Transparency Signed Certificate Timestamp .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -226,8 +217,7 @@ Only \s-1SCT_VERSION_V1\s0 is currently supported. The former takes ownership, whereas the latter makes a copy. See \s-1RFC\s0 6962, Section 3.2 for the definition of LogID. .IP "\(bu" 2 -\&\fISCT_set_timestamp()\fR to set the time the \s-1SCT\s0 was issued (time in milliseconds -since the Unix Epoch). +\&\fISCT_set_timestamp()\fR to set the time the \s-1SCT\s0 was issued (epoch time in milliseconds). .IP "\(bu" 2 \&\fISCT_set_signature_nid()\fR to set the \s-1NID\s0 of the signature. .IP "\(bu" 2 @@ -250,7 +240,7 @@ The type of certificate the \s-1SCT\s0 was issued for: \&\fB\s-1CT_LOG_ENTRY_TYPE_X509\s0\fR for a normal certificate. \&\fB\s-1CT_LOG_ENTRY_TYPE_PRECERT\s0\fR for a pre-certificate. .IP "\(bu" 2 -The time that the \s-1SCT\s0 was issued (time in milliseconds since the Unix Epoch). +The time that the \s-1SCT\s0 was issued (epoch time in milliseconds). .IP "\(bu" 2 The \s-1SCT\s0 extensions, base64 encoded. .IP "\(bu" 2 @@ -301,7 +291,7 @@ These functions were added in OpenSSL 1.1.0. .IX Header "COPYRIGHT" Copyright 2016\-2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SCT_new_from_base64.3 b/linux_amd64/share/man/man3/SCT_new_from_base64.3 new file mode 120000 index 0000000..a3f84eb --- /dev/null +++ b/linux_amd64/share/man/man3/SCT_new_from_base64.3 @@ -0,0 +1 @@ +SCT_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SCT_print.3 b/linux_amd64/share/man/man3/SCT_print.3 index 5e60980..26fcd18 100755 --- a/linux_amd64/share/man/man3/SCT_print.3 +++ b/linux_amd64/share/man/man3/SCT_print.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "SCT_PRINT 3" -.TH SCT_PRINT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SCT_PRINT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SCT_print, SCT_LIST_print, SCT_validation_status_string \- -Prints Signed Certificate Timestamps in a human\-readable way +SCT_print, SCT_LIST_print, SCT_validation_status_string \- Prints Signed Certificate Timestamps in a human\-readable way .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -144,7 +143,7 @@ Prints Signed Certificate Timestamps in a human\-readable way .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -\&\fISCT_print()\fR prints a single Signed Certificate Timestamp (\s-1SCT\s0) to a \fB\s-1BIO\s0\fR in +\&\fISCT_print()\fR prints a single Signed Certificate Timestamp (\s-1SCT\s0) to a bio in a human-readable format. \fISCT_LIST_print()\fR prints an entire list of SCTs in a similar way. A separator can be specified to delimit each \s-1SCT\s0 in the output. .PP @@ -173,7 +172,7 @@ These functions were added in OpenSSL 1.1.0. .IX Header "COPYRIGHT" Copyright 2016\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SCT_set0_extensions.3 b/linux_amd64/share/man/man3/SCT_set0_extensions.3 new file mode 120000 index 0000000..a3f84eb --- /dev/null +++ b/linux_amd64/share/man/man3/SCT_set0_extensions.3 @@ -0,0 +1 @@ +SCT_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SCT_set0_log_id.3 b/linux_amd64/share/man/man3/SCT_set0_log_id.3 new file mode 120000 index 0000000..a3f84eb --- /dev/null +++ b/linux_amd64/share/man/man3/SCT_set0_log_id.3 @@ -0,0 +1 @@ +SCT_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SCT_set0_signature.3 b/linux_amd64/share/man/man3/SCT_set0_signature.3 new file mode 120000 index 0000000..a3f84eb --- /dev/null +++ b/linux_amd64/share/man/man3/SCT_set0_signature.3 @@ -0,0 +1 @@ +SCT_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SCT_set1_extensions.3 b/linux_amd64/share/man/man3/SCT_set1_extensions.3 new file mode 120000 index 0000000..a3f84eb --- /dev/null +++ b/linux_amd64/share/man/man3/SCT_set1_extensions.3 @@ -0,0 +1 @@ +SCT_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SCT_set1_log_id.3 b/linux_amd64/share/man/man3/SCT_set1_log_id.3 new file mode 120000 index 0000000..a3f84eb --- /dev/null +++ b/linux_amd64/share/man/man3/SCT_set1_log_id.3 @@ -0,0 +1 @@ +SCT_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SCT_set1_signature.3 b/linux_amd64/share/man/man3/SCT_set1_signature.3 new file mode 120000 index 0000000..a3f84eb --- /dev/null +++ b/linux_amd64/share/man/man3/SCT_set1_signature.3 @@ -0,0 +1 @@ +SCT_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SCT_set_log_entry_type.3 b/linux_amd64/share/man/man3/SCT_set_log_entry_type.3 new file mode 120000 index 0000000..a3f84eb --- /dev/null +++ b/linux_amd64/share/man/man3/SCT_set_log_entry_type.3 @@ -0,0 +1 @@ +SCT_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SCT_set_signature_nid.3 b/linux_amd64/share/man/man3/SCT_set_signature_nid.3 new file mode 120000 index 0000000..a3f84eb --- /dev/null +++ b/linux_amd64/share/man/man3/SCT_set_signature_nid.3 @@ -0,0 +1 @@ +SCT_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SCT_set_source.3 b/linux_amd64/share/man/man3/SCT_set_source.3 new file mode 120000 index 0000000..a3f84eb --- /dev/null +++ b/linux_amd64/share/man/man3/SCT_set_source.3 @@ -0,0 +1 @@ +SCT_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SCT_set_timestamp.3 b/linux_amd64/share/man/man3/SCT_set_timestamp.3 new file mode 120000 index 0000000..a3f84eb --- /dev/null +++ b/linux_amd64/share/man/man3/SCT_set_timestamp.3 @@ -0,0 +1 @@ +SCT_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SCT_set_version.3 b/linux_amd64/share/man/man3/SCT_set_version.3 new file mode 120000 index 0000000..a3f84eb --- /dev/null +++ b/linux_amd64/share/man/man3/SCT_set_version.3 @@ -0,0 +1 @@ +SCT_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SCT_validate.3 b/linux_amd64/share/man/man3/SCT_validate.3 index fed00d6..4a1f9db 100755 --- a/linux_amd64/share/man/man3/SCT_validate.3 +++ b/linux_amd64/share/man/man3/SCT_validate.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "SCT_VALIDATE 3" -.TH SCT_VALIDATE 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SCT_VALIDATE 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SCT_validate, SCT_LIST_validate, SCT_get_validation_status \- -checks Signed Certificate Timestamps (SCTs) are valid +SCT_validate, SCT_LIST_validate, SCT_get_validation_status \- checks Signed Certificate Timestamps (SCTs) are valid .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -209,7 +208,7 @@ These functions were added in OpenSSL 1.1.0. .IX Header "COPYRIGHT" Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SCT_validation_status_string.3 b/linux_amd64/share/man/man3/SCT_validation_status_string.3 new file mode 120000 index 0000000..656efbd --- /dev/null +++ b/linux_amd64/share/man/man3/SCT_validation_status_string.3 @@ -0,0 +1 @@ +SCT_print.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SHA1.3 b/linux_amd64/share/man/man3/SHA1.3 new file mode 120000 index 0000000..2a79f55 --- /dev/null +++ b/linux_amd64/share/man/man3/SHA1.3 @@ -0,0 +1 @@ +SHA256_Init.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SHA1_Final.3 b/linux_amd64/share/man/man3/SHA1_Final.3 new file mode 120000 index 0000000..2a79f55 --- /dev/null +++ b/linux_amd64/share/man/man3/SHA1_Final.3 @@ -0,0 +1 @@ +SHA256_Init.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SHA1_Init.3 b/linux_amd64/share/man/man3/SHA1_Init.3 new file mode 120000 index 0000000..2a79f55 --- /dev/null +++ b/linux_amd64/share/man/man3/SHA1_Init.3 @@ -0,0 +1 @@ +SHA256_Init.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SHA1_Update.3 b/linux_amd64/share/man/man3/SHA1_Update.3 new file mode 120000 index 0000000..2a79f55 --- /dev/null +++ b/linux_amd64/share/man/man3/SHA1_Update.3 @@ -0,0 +1 @@ +SHA256_Init.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SHA224.3 b/linux_amd64/share/man/man3/SHA224.3 new file mode 120000 index 0000000..2a79f55 --- /dev/null +++ b/linux_amd64/share/man/man3/SHA224.3 @@ -0,0 +1 @@ +SHA256_Init.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SHA224_Final.3 b/linux_amd64/share/man/man3/SHA224_Final.3 new file mode 120000 index 0000000..2a79f55 --- /dev/null +++ b/linux_amd64/share/man/man3/SHA224_Final.3 @@ -0,0 +1 @@ +SHA256_Init.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SHA224_Init.3 b/linux_amd64/share/man/man3/SHA224_Init.3 new file mode 120000 index 0000000..2a79f55 --- /dev/null +++ b/linux_amd64/share/man/man3/SHA224_Init.3 @@ -0,0 +1 @@ +SHA256_Init.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SHA224_Update.3 b/linux_amd64/share/man/man3/SHA224_Update.3 new file mode 120000 index 0000000..2a79f55 --- /dev/null +++ b/linux_amd64/share/man/man3/SHA224_Update.3 @@ -0,0 +1 @@ +SHA256_Init.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SHA256.3 b/linux_amd64/share/man/man3/SHA256.3 new file mode 120000 index 0000000..2a79f55 --- /dev/null +++ b/linux_amd64/share/man/man3/SHA256.3 @@ -0,0 +1 @@ +SHA256_Init.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SHA256_Final.3 b/linux_amd64/share/man/man3/SHA256_Final.3 new file mode 120000 index 0000000..2a79f55 --- /dev/null +++ b/linux_amd64/share/man/man3/SHA256_Final.3 @@ -0,0 +1 @@ +SHA256_Init.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SHA256_Init.3 b/linux_amd64/share/man/man3/SHA256_Init.3 index 2ad0ca6..ef304d9 100755 --- a/linux_amd64/share/man/man3/SHA256_Init.3 +++ b/linux_amd64/share/man/man3/SHA256_Init.3 @@ -124,27 +124,18 @@ .\" ======================================================================== .\" .IX Title "SHA256_INIT 3" -.TH SHA256_INIT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SHA256_INIT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SHA1, SHA1_Init, SHA1_Update, SHA1_Final, SHA224, SHA224_Init, SHA224_Update, -SHA224_Final, SHA256, SHA256_Init, SHA256_Update, SHA256_Final, SHA384, -SHA384_Init, SHA384_Update, SHA384_Final, SHA512, SHA512_Init, SHA512_Update, -SHA512_Final \- Secure Hash Algorithm +SHA1, SHA1_Init, SHA1_Update, SHA1_Final, SHA224, SHA224_Init, SHA224_Update, SHA224_Final, SHA256, SHA256_Init, SHA256_Update, SHA256_Final, SHA384, SHA384_Init, SHA384_Update, SHA384_Final, SHA512, SHA512_Init, SHA512_Update, SHA512_Final \- Secure Hash Algorithm .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include -.Ve -.PP -Deprecated since OpenSSL 3.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): -.PP -.Vb 5 +\& \& int SHA1_Init(SHA_CTX *c); \& int SHA1_Update(SHA_CTX *c, const void *data, size_t len); \& int SHA1_Final(unsigned char *md, SHA_CTX *c); @@ -177,9 +168,9 @@ Deprecated since OpenSSL 3.0, can be hidden entirely by defining .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -All of the functions described on this page are deprecated. -Applications should instead use \fIEVP_DigestInit_ex\fR\|(3), \fIEVP_DigestUpdate\fR\|(3) -and \fIEVP_DigestFinal_ex\fR\|(3). +Applications should use the higher level functions +\&\fIEVP_DigestInit\fR\|(3) etc. instead of calling the hash +functions directly. .PP \&\s-1SHA\-1\s0 (Secure Hash Algorithm) is a cryptographic hash function with a 160 bit output. @@ -226,14 +217,11 @@ Standard), .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIEVP_DigestInit\fR\|(3) -.SH "HISTORY" -.IX Header "HISTORY" -All of these functions were deprecated in OpenSSL 3.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SHA256_Update.3 b/linux_amd64/share/man/man3/SHA256_Update.3 new file mode 120000 index 0000000..2a79f55 --- /dev/null +++ b/linux_amd64/share/man/man3/SHA256_Update.3 @@ -0,0 +1 @@ +SHA256_Init.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SHA384.3 b/linux_amd64/share/man/man3/SHA384.3 new file mode 120000 index 0000000..2a79f55 --- /dev/null +++ b/linux_amd64/share/man/man3/SHA384.3 @@ -0,0 +1 @@ +SHA256_Init.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SHA384_Final.3 b/linux_amd64/share/man/man3/SHA384_Final.3 new file mode 120000 index 0000000..2a79f55 --- /dev/null +++ b/linux_amd64/share/man/man3/SHA384_Final.3 @@ -0,0 +1 @@ +SHA256_Init.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SHA384_Init.3 b/linux_amd64/share/man/man3/SHA384_Init.3 new file mode 120000 index 0000000..2a79f55 --- /dev/null +++ b/linux_amd64/share/man/man3/SHA384_Init.3 @@ -0,0 +1 @@ +SHA256_Init.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SHA384_Update.3 b/linux_amd64/share/man/man3/SHA384_Update.3 new file mode 120000 index 0000000..2a79f55 --- /dev/null +++ b/linux_amd64/share/man/man3/SHA384_Update.3 @@ -0,0 +1 @@ +SHA256_Init.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SHA512.3 b/linux_amd64/share/man/man3/SHA512.3 new file mode 120000 index 0000000..2a79f55 --- /dev/null +++ b/linux_amd64/share/man/man3/SHA512.3 @@ -0,0 +1 @@ +SHA256_Init.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SHA512_Final.3 b/linux_amd64/share/man/man3/SHA512_Final.3 new file mode 120000 index 0000000..2a79f55 --- /dev/null +++ b/linux_amd64/share/man/man3/SHA512_Final.3 @@ -0,0 +1 @@ +SHA256_Init.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SHA512_Init.3 b/linux_amd64/share/man/man3/SHA512_Init.3 new file mode 120000 index 0000000..2a79f55 --- /dev/null +++ b/linux_amd64/share/man/man3/SHA512_Init.3 @@ -0,0 +1 @@ +SHA256_Init.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SHA512_Update.3 b/linux_amd64/share/man/man3/SHA512_Update.3 new file mode 120000 index 0000000..2a79f55 --- /dev/null +++ b/linux_amd64/share/man/man3/SHA512_Update.3 @@ -0,0 +1 @@ +SHA256_Init.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SMIME_read_CMS.3 b/linux_amd64/share/man/man3/SMIME_read_CMS.3 index 3a990ce..0cb2e2b 100755 --- a/linux_amd64/share/man/man3/SMIME_read_CMS.3 +++ b/linux_amd64/share/man/man3/SMIME_read_CMS.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SMIME_READ_CMS 3" -.TH SMIME_READ_CMS 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SMIME_READ_CMS 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -184,7 +184,7 @@ should be available. if an error occurred. The error can be obtained from \fIERR_get_error\fR\|(3). .SH "SEE ALSO" .IX Header "SEE ALSO" -\&\fIERR_get_error\fR\|(3), +\&\fIERR_get_error\fR\|(3), \fICMS_type\fR\|(3), \&\fISMIME_read_CMS\fR\|(3), \fICMS_sign\fR\|(3), \&\fICMS_verify\fR\|(3), \fICMS_encrypt\fR\|(3), \&\fICMS_decrypt\fR\|(3) @@ -192,7 +192,7 @@ if an error occurred. The error can be obtained from \fIERR_get_error\fR\|(3). .IX Header "COPYRIGHT" Copyright 2008\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SMIME_read_PKCS7.3 b/linux_amd64/share/man/man3/SMIME_read_PKCS7.3 index f6b72ad..92dfd55 100755 --- a/linux_amd64/share/man/man3/SMIME_read_PKCS7.3 +++ b/linux_amd64/share/man/man3/SMIME_read_PKCS7.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SMIME_READ_PKCS7 3" -.TH SMIME_READ_PKCS7 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SMIME_READ_PKCS7 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -195,7 +195,7 @@ if an error occurred. The error can be obtained from \fIERR_get_error\fR\|(3). .IX Header "COPYRIGHT" Copyright 2002\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SMIME_write_CMS.3 b/linux_amd64/share/man/man3/SMIME_write_CMS.3 index 629878a..0ddadc3 100755 --- a/linux_amd64/share/man/man3/SMIME_write_CMS.3 +++ b/linux_amd64/share/man/man3/SMIME_write_CMS.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SMIME_WRITE_CMS 3" -.TH SMIME_WRITE_CMS 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SMIME_WRITE_CMS 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -184,7 +184,7 @@ option to disable this. .IX Header "COPYRIGHT" Copyright 2008\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SMIME_write_PKCS7.3 b/linux_amd64/share/man/man3/SMIME_write_PKCS7.3 index 554d2ef..2ec6d95 100755 --- a/linux_amd64/share/man/man3/SMIME_write_PKCS7.3 +++ b/linux_amd64/share/man/man3/SMIME_write_PKCS7.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SMIME_WRITE_PKCS7 3" -.TH SMIME_WRITE_PKCS7 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SMIME_WRITE_PKCS7 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -185,7 +185,7 @@ should be an option to disable this. .IX Header "COPYRIGHT" Copyright 2002\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CIPHER_description.3 b/linux_amd64/share/man/man3/SSL_CIPHER_description.3 new file mode 120000 index 0000000..f2d4fe7 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CIPHER_description.3 @@ -0,0 +1 @@ +SSL_CIPHER_get_name.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CIPHER_find.3 b/linux_amd64/share/man/man3/SSL_CIPHER_find.3 new file mode 120000 index 0000000..f2d4fe7 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CIPHER_find.3 @@ -0,0 +1 @@ +SSL_CIPHER_get_name.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CIPHER_get_auth_nid.3 b/linux_amd64/share/man/man3/SSL_CIPHER_get_auth_nid.3 new file mode 120000 index 0000000..f2d4fe7 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CIPHER_get_auth_nid.3 @@ -0,0 +1 @@ +SSL_CIPHER_get_name.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CIPHER_get_bits.3 b/linux_amd64/share/man/man3/SSL_CIPHER_get_bits.3 new file mode 120000 index 0000000..f2d4fe7 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CIPHER_get_bits.3 @@ -0,0 +1 @@ +SSL_CIPHER_get_name.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CIPHER_get_cipher_nid.3 b/linux_amd64/share/man/man3/SSL_CIPHER_get_cipher_nid.3 new file mode 120000 index 0000000..f2d4fe7 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CIPHER_get_cipher_nid.3 @@ -0,0 +1 @@ +SSL_CIPHER_get_name.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CIPHER_get_digest_nid.3 b/linux_amd64/share/man/man3/SSL_CIPHER_get_digest_nid.3 new file mode 120000 index 0000000..f2d4fe7 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CIPHER_get_digest_nid.3 @@ -0,0 +1 @@ +SSL_CIPHER_get_name.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CIPHER_get_handshake_digest.3 b/linux_amd64/share/man/man3/SSL_CIPHER_get_handshake_digest.3 new file mode 120000 index 0000000..f2d4fe7 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CIPHER_get_handshake_digest.3 @@ -0,0 +1 @@ +SSL_CIPHER_get_name.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CIPHER_get_id.3 b/linux_amd64/share/man/man3/SSL_CIPHER_get_id.3 new file mode 120000 index 0000000..f2d4fe7 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CIPHER_get_id.3 @@ -0,0 +1 @@ +SSL_CIPHER_get_name.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CIPHER_get_kx_nid.3 b/linux_amd64/share/man/man3/SSL_CIPHER_get_kx_nid.3 new file mode 120000 index 0000000..f2d4fe7 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CIPHER_get_kx_nid.3 @@ -0,0 +1 @@ +SSL_CIPHER_get_name.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CIPHER_get_name.3 b/linux_amd64/share/man/man3/SSL_CIPHER_get_name.3 index cb5cd30..f7d0bbb 100755 --- a/linux_amd64/share/man/man3/SSL_CIPHER_get_name.3 +++ b/linux_amd64/share/man/man3/SSL_CIPHER_get_name.3 @@ -124,28 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_CIPHER_GET_NAME 3" -.TH SSL_CIPHER_GET_NAME 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CIPHER_GET_NAME 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_CIPHER_get_name, -SSL_CIPHER_standard_name, -OPENSSL_cipher_name, -SSL_CIPHER_get_bits, -SSL_CIPHER_get_version, -SSL_CIPHER_description, -SSL_CIPHER_get_cipher_nid, -SSL_CIPHER_get_digest_nid, -SSL_CIPHER_get_handshake_digest, -SSL_CIPHER_get_kx_nid, -SSL_CIPHER_get_auth_nid, -SSL_CIPHER_is_aead, -SSL_CIPHER_find, -SSL_CIPHER_get_id, -SSL_CIPHER_get_protocol_id -\&\- get SSL_CIPHER properties +SSL_CIPHER_get_name, SSL_CIPHER_standard_name, OPENSSL_cipher_name, SSL_CIPHER_get_bits, SSL_CIPHER_get_version, SSL_CIPHER_description, SSL_CIPHER_get_cipher_nid, SSL_CIPHER_get_digest_nid, SSL_CIPHER_get_handshake_digest, SSL_CIPHER_get_kx_nid, SSL_CIPHER_get_auth_nid, SSL_CIPHER_is_aead, SSL_CIPHER_find, SSL_CIPHER_get_id, SSL_CIPHER_get_protocol_id \&\- get SSL_CIPHER properties .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -305,7 +290,7 @@ protocol-specific \s-1ID\s0. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIssl\fR\|(7), \fISSL_get_current_cipher\fR\|(3), -\&\fISSL_get_ciphers\fR\|(3), \fIopenssl\-ciphers\fR\|(1) +\&\fISSL_get_ciphers\fR\|(3), \fIciphers\fR\|(1) .SH "HISTORY" .IX Header "HISTORY" The \fISSL_CIPHER_get_version()\fR function was updated to always return the @@ -325,7 +310,7 @@ The \fIOPENSSL_cipher_name()\fR function was added in OpenSSL 1.1.1. .IX Header "COPYRIGHT" Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CIPHER_get_protocol_id.3 b/linux_amd64/share/man/man3/SSL_CIPHER_get_protocol_id.3 new file mode 120000 index 0000000..f2d4fe7 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CIPHER_get_protocol_id.3 @@ -0,0 +1 @@ +SSL_CIPHER_get_name.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CIPHER_get_version.3 b/linux_amd64/share/man/man3/SSL_CIPHER_get_version.3 new file mode 120000 index 0000000..f2d4fe7 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CIPHER_get_version.3 @@ -0,0 +1 @@ +SSL_CIPHER_get_name.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CIPHER_is_aead.3 b/linux_amd64/share/man/man3/SSL_CIPHER_is_aead.3 new file mode 120000 index 0000000..f2d4fe7 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CIPHER_is_aead.3 @@ -0,0 +1 @@ +SSL_CIPHER_get_name.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CIPHER_standard_name.3 b/linux_amd64/share/man/man3/SSL_CIPHER_standard_name.3 new file mode 120000 index 0000000..f2d4fe7 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CIPHER_standard_name.3 @@ -0,0 +1 @@ +SSL_CIPHER_get_name.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_COMP_add_compression_method.3 b/linux_amd64/share/man/man3/SSL_COMP_add_compression_method.3 index c4cb5b2..3b36ff8 100755 --- a/linux_amd64/share/man/man3/SSL_COMP_add_compression_method.3 +++ b/linux_amd64/share/man/man3/SSL_COMP_add_compression_method.3 @@ -124,15 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_COMP_ADD_COMPRESSION_METHOD 3" -.TH SSL_COMP_ADD_COMPRESSION_METHOD 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_COMP_ADD_COMPRESSION_METHOD 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_COMP_add_compression_method, SSL_COMP_get_compression_methods, -SSL_COMP_get0_name, SSL_COMP_get_id, SSL_COMP_free_compression_methods -\&\- handle SSL/TLS integrated compression methods +SSL_COMP_add_compression_method, SSL_COMP_get_compression_methods, SSL_COMP_get0_name, SSL_COMP_get_id, SSL_COMP_free_compression_methods \&\- handle SSL/TLS integrated compression methods .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -144,12 +142,12 @@ SSL_COMP_get0_name, SSL_COMP_get_id, SSL_COMP_free_compression_methods \& int SSL_COMP_get_id(const SSL_COMP *comp); .Ve .PP -Deprecated since OpenSSL 1.1.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): +Deprecated: .PP -.Vb 1 +.Vb 3 +\& #if OPENSSL_API_COMPAT < 0x10100000L \& void SSL_COMP_free_compression_methods(void) +\& #endif .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" @@ -216,7 +214,7 @@ The \fISSL_COMP_get0_name()\fR and \fISSL_comp_get_id()\fR functions were added .IX Header "COPYRIGHT" Copyright 2001\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_COMP_free_compression_methods.3 b/linux_amd64/share/man/man3/SSL_COMP_free_compression_methods.3 new file mode 120000 index 0000000..5de2935 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_COMP_free_compression_methods.3 @@ -0,0 +1 @@ +SSL_COMP_add_compression_method.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_COMP_get0_name.3 b/linux_amd64/share/man/man3/SSL_COMP_get0_name.3 new file mode 120000 index 0000000..5de2935 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_COMP_get0_name.3 @@ -0,0 +1 @@ +SSL_COMP_add_compression_method.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_COMP_get_compression_methods.3 b/linux_amd64/share/man/man3/SSL_COMP_get_compression_methods.3 new file mode 120000 index 0000000..5de2935 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_COMP_get_compression_methods.3 @@ -0,0 +1 @@ +SSL_COMP_add_compression_method.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_COMP_get_id.3 b/linux_amd64/share/man/man3/SSL_COMP_get_id.3 new file mode 120000 index 0000000..5de2935 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_COMP_get_id.3 @@ -0,0 +1 @@ +SSL_COMP_add_compression_method.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CONF_CTX_clear_flags.3 b/linux_amd64/share/man/man3/SSL_CONF_CTX_clear_flags.3 new file mode 120000 index 0000000..c08bb21 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CONF_CTX_clear_flags.3 @@ -0,0 +1 @@ +SSL_CONF_CTX_set_flags.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CONF_CTX_free.3 b/linux_amd64/share/man/man3/SSL_CONF_CTX_free.3 new file mode 120000 index 0000000..baebc2d --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CONF_CTX_free.3 @@ -0,0 +1 @@ +SSL_CONF_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CONF_CTX_new.3 b/linux_amd64/share/man/man3/SSL_CONF_CTX_new.3 index 798e133..192ed15 100755 --- a/linux_amd64/share/man/man3/SSL_CONF_CTX_new.3 +++ b/linux_amd64/share/man/man3/SSL_CONF_CTX_new.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CONF_CTX_NEW 3" -.TH SSL_CONF_CTX_NEW 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CONF_CTX_NEW 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -154,7 +154,6 @@ or \fB\s-1NULL\s0\fR if an error occurs. \&\fISSL_CONF_CTX_free()\fR does not return a value. .SH "SEE ALSO" .IX Header "SEE ALSO" -\&\fIssl\fR\|(7), \&\fISSL_CONF_CTX_set_flags\fR\|(3), \&\fISSL_CONF_CTX_set_ssl_ctx\fR\|(3), \&\fISSL_CONF_CTX_set1_prefix\fR\|(3), @@ -167,7 +166,7 @@ These functions were added in OpenSSL 1.0.2. .IX Header "COPYRIGHT" Copyright 2012\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CONF_CTX_set1_prefix.3 b/linux_amd64/share/man/man3/SSL_CONF_CTX_set1_prefix.3 index db14ae0..0d60eae 100755 --- a/linux_amd64/share/man/man3/SSL_CONF_CTX_set1_prefix.3 +++ b/linux_amd64/share/man/man3/SSL_CONF_CTX_set1_prefix.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CONF_CTX_SET1_PREFIX 3" -.TH SSL_CONF_CTX_SET1_PREFIX 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CONF_CTX_SET1_PREFIX 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -161,7 +161,6 @@ insensitive and no prefix is the default. \&\fISSL_CONF_CTX_set1_prefix()\fR returns 1 for success and 0 for failure. .SH "SEE ALSO" .IX Header "SEE ALSO" -\&\fIssl\fR\|(7), \&\fISSL_CONF_CTX_new\fR\|(3), \&\fISSL_CONF_CTX_set_flags\fR\|(3), \&\fISSL_CONF_CTX_set_ssl_ctx\fR\|(3), @@ -174,7 +173,7 @@ These functions were added in OpenSSL 1.0.2. .IX Header "COPYRIGHT" Copyright 2012\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CONF_CTX_set_flags.3 b/linux_amd64/share/man/man3/SSL_CONF_CTX_set_flags.3 index 053b0f2..a6fb65c 100755 --- a/linux_amd64/share/man/man3/SSL_CONF_CTX_set_flags.3 +++ b/linux_amd64/share/man/man3/SSL_CONF_CTX_set_flags.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CONF_CTX_SET_FLAGS 3" -.TH SSL_CONF_CTX_SET_FLAGS 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CONF_CTX_SET_FLAGS 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -178,7 +178,6 @@ in the return values of \fISSL_CONF_set_cmd()\fR or \fISSL_CONF_set_argv()\fR value after setting or clearing flags. .SH "SEE ALSO" .IX Header "SEE ALSO" -\&\fIssl\fR\|(7), \&\fISSL_CONF_CTX_new\fR\|(3), \&\fISSL_CONF_CTX_set_ssl_ctx\fR\|(3), \&\fISSL_CONF_CTX_set1_prefix\fR\|(3), @@ -191,7 +190,7 @@ These functions were added in OpenSSL 1.0.2. .IX Header "COPYRIGHT" Copyright 2012\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CONF_CTX_set_ssl.3 b/linux_amd64/share/man/man3/SSL_CONF_CTX_set_ssl.3 new file mode 120000 index 0000000..5116749 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CONF_CTX_set_ssl.3 @@ -0,0 +1 @@ +SSL_CONF_CTX_set_ssl_ctx.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CONF_CTX_set_ssl_ctx.3 b/linux_amd64/share/man/man3/SSL_CONF_CTX_set_ssl_ctx.3 index 26ba70f..1d28585 100755 --- a/linux_amd64/share/man/man3/SSL_CONF_CTX_set_ssl_ctx.3 +++ b/linux_amd64/share/man/man3/SSL_CONF_CTX_set_ssl_ctx.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CONF_CTX_SET_SSL_CTX 3" -.TH SSL_CONF_CTX_SET_SSL_CTX 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CONF_CTX_SET_SSL_CTX 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -159,7 +159,6 @@ syntax checking of commands is performed, where possible. \&\fISSL_CONF_CTX_set_ssl_ctx()\fR and \fISSL_CTX_set_ssl()\fR do not return a value. .SH "SEE ALSO" .IX Header "SEE ALSO" -\&\fIssl\fR\|(7), \&\fISSL_CONF_CTX_new\fR\|(3), \&\fISSL_CONF_CTX_set_flags\fR\|(3), \&\fISSL_CONF_CTX_set1_prefix\fR\|(3), @@ -172,7 +171,7 @@ These functions were added in OpenSSL 1.0.2. .IX Header "COPYRIGHT" Copyright 2012\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CONF_cmd.3 b/linux_amd64/share/man/man3/SSL_CONF_cmd.3 index b20686f..d3dc25e 100755 --- a/linux_amd64/share/man/man3/SSL_CONF_cmd.3 +++ b/linux_amd64/share/man/man3/SSL_CONF_cmd.3 @@ -124,51 +124,167 @@ .\" ======================================================================== .\" .IX Title "SSL_CONF_CMD 3" -.TH SSL_CONF_CMD 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CONF_CMD 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_CONF_cmd_value_type, -SSL_CONF_cmd \- send configuration command +SSL_CONF_cmd_value_type, SSL_CONF_cmd \- send configuration command .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include \& -\& int SSL_CONF_cmd(SSL_CONF_CTX *ctx, const char *option, const char *value); -\& int SSL_CONF_cmd_value_type(SSL_CONF_CTX *ctx, const char *option); +\& int SSL_CONF_cmd(SSL_CONF_CTX *cctx, const char *cmd, const char *value); +\& int SSL_CONF_cmd_value_type(SSL_CONF_CTX *cctx, const char *cmd); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -The function \fISSL_CONF_cmd()\fR performs configuration operation \fBoption\fR with +The function \fISSL_CONF_cmd()\fR performs configuration operation \fBcmd\fR with optional parameter \fBvalue\fR on \fBctx\fR. Its purpose is to simplify application configuration of \fB\s-1SSL_CTX\s0\fR or \fB\s-1SSL\s0\fR structures by providing a common framework for command line options or configuration files. .PP -\&\fISSL_CONF_cmd_value_type()\fR returns the type of value that \fBoption\fR refers to. +\&\fISSL_CONF_cmd_value_type()\fR returns the type of value that \fBcmd\fR refers to. .SH "SUPPORTED COMMAND LINE COMMANDS" .IX Header "SUPPORTED COMMAND LINE COMMANDS" -Currently supported \fBoption\fR names for command lines (i.e. when the -flag \fB\s-1SSL_CONF_CMDLINE\s0\fR is set) are listed below. Note: all \fBoption\fR names +Currently supported \fBcmd\fR names for command lines (i.e. when the +flag \fB\s-1SSL_CONF_CMDLINE\s0\fR is set) are listed below. Note: all \fBcmd\fR names are case sensitive. Unless otherwise stated commands can be used by both clients and servers and the \fBvalue\fR parameter is not used. The default prefix for command line commands is \fB\-\fR and that is reflected below. +.IP "\fB\-sigalgs\fR" 4 +.IX Item "-sigalgs" +This sets the supported signature algorithms for TLSv1.2 and TLSv1.3. +For clients this +value is used directly for the supported signature algorithms extension. For +servers it is used to determine which signature algorithms to support. +.Sp +The \fBvalue\fR argument should be a colon separated list of signature algorithms +in order of decreasing preference of the form \fBalgorithm+hash\fR or +\&\fBsignature_scheme\fR. \fBalgorithm\fR +is one of \fB\s-1RSA\s0\fR, \fB\s-1DSA\s0\fR or \fB\s-1ECDSA\s0\fR and \fBhash\fR is a supported algorithm +\&\s-1OID\s0 short name such as \fB\s-1SHA1\s0\fR, \fB\s-1SHA224\s0\fR, \fB\s-1SHA256\s0\fR, \fB\s-1SHA384\s0\fR of \fB\s-1SHA512\s0\fR. +Note: algorithm and hash names are case sensitive. +\&\fBsignature_scheme\fR is one of the signature schemes defined in TLSv1.3, +specified using the \s-1IETF\s0 name, e.g., \fBecdsa_secp256r1_sha256\fR, \fBed25519\fR, +or \fBrsa_pss_pss_sha256\fR. +.Sp +If this option is not set then all signature algorithms supported by the +OpenSSL library are permissible. +.Sp +Note: algorithms which specify a PKCS#1 v1.5 signature scheme (either by +using \fB\s-1RSA\s0\fR as the \fBalgorithm\fR or by using one of the \fBrsa_pkcs1_*\fR +identifiers) are ignored in TLSv1.3 and will not be negotiated. +.IP "\fB\-client_sigalgs\fR" 4 +.IX Item "-client_sigalgs" +This sets the supported signature algorithms associated with client +authentication for TLSv1.2 and TLSv1.3. +For servers the value is used in the +\&\fBsignature_algorithms\fR field of a \fBCertificateRequest\fR message. +For clients it is +used to determine which signature algorithm to use with the client certificate. +If a server does not request a certificate this option has no effect. +.Sp +The syntax of \fBvalue\fR is identical to \fB\-sigalgs\fR. If not set then +the value set for \fB\-sigalgs\fR will be used instead. +.IP "\fB\-groups\fR" 4 +.IX Item "-groups" +This sets the supported groups. For clients, the groups are +sent using the supported groups extension. For servers, it is used +to determine which group to use. This setting affects groups used for +signatures (in TLSv1.2 and earlier) and key exchange. The first group listed +will also be used for the \fBkey_share\fR sent by a client in a TLSv1.3 +\&\fBClientHello\fR. +.Sp +The \fBvalue\fR argument is a colon separated list of groups. The group can be +either the \fB\s-1NIST\s0\fR name (e.g. \fBP\-256\fR), some other commonly used name where +applicable (e.g. \fBX25519\fR) or an OpenSSL \s-1OID\s0 name (e.g \fBprime256v1\fR). Group +names are case sensitive. The list should be in order of preference with the +most preferred group first. +.IP "\fB\-curves\fR" 4 +.IX Item "-curves" +This is a synonym for the \*(L"\-groups\*(R" command. +.IP "\fB\-named_curve\fR" 4 +.IX Item "-named_curve" +This sets the temporary curve used for ephemeral \s-1ECDH\s0 modes. Only used by +servers +.Sp +The \fBvalue\fR argument is a curve name or the special value \fBauto\fR which +picks an appropriate curve based on client and server preferences. The curve +can be either the \fB\s-1NIST\s0\fR name (e.g. \fBP\-256\fR) or an OpenSSL \s-1OID\s0 name +(e.g \fBprime256v1\fR). Curve names are case sensitive. +.IP "\fB\-cipher\fR" 4 +.IX Item "-cipher" +Sets the TLSv1.2 and below ciphersuite list to \fBvalue\fR. This list will be +combined with any configured TLSv1.3 ciphersuites. Note: syntax checking +of \fBvalue\fR is currently not performed unless a \fB\s-1SSL\s0\fR or \fB\s-1SSL_CTX\s0\fR structure is +associated with \fBcctx\fR. +.IP "\fB\-ciphersuites\fR" 4 +.IX Item "-ciphersuites" +Sets the available ciphersuites for TLSv1.3 to value. This is a simple colon +(\*(L":\*(R") separated list of TLSv1.3 ciphersuite names in order of preference. This +list will be combined any configured TLSv1.2 and below ciphersuites. +See \fIciphers\fR\|(1) for more information. +.IP "\fB\-cert\fR" 4 +.IX Item "-cert" +Attempts to use the file \fBvalue\fR as the certificate for the appropriate +context. It currently uses \fISSL_CTX_use_certificate_chain_file()\fR if an \fB\s-1SSL_CTX\s0\fR +structure is set or \fISSL_use_certificate_file()\fR with filetype \s-1PEM\s0 if an \fB\s-1SSL\s0\fR +structure is set. This option is only supported if certificate operations +are permitted. +.IP "\fB\-key\fR" 4 +.IX Item "-key" +Attempts to use the file \fBvalue\fR as the private key for the appropriate +context. This option is only supported if certificate operations +are permitted. Note: if no \fB\-key\fR option is set then a private key is +not loaded unless the flag \fB\s-1SSL_CONF_FLAG_REQUIRE_PRIVATE\s0\fR is set. +.IP "\fB\-dhparam\fR" 4 +.IX Item "-dhparam" +Attempts to use the file \fBvalue\fR as the set of temporary \s-1DH\s0 parameters for +the appropriate context. This option is only supported if certificate +operations are permitted. +.IP "\fB\-record_padding\fR" 4 +.IX Item "-record_padding" +Attempts to pad TLSv1.3 records so that they are a multiple of \fBvalue\fR in +length on send. A \fBvalue\fR of 0 or 1 turns off padding. Otherwise, the +\&\fBvalue\fR must be >1 or <=16384. +.IP "\fB\-no_renegotiation\fR" 4 +.IX Item "-no_renegotiation" +Disables all attempts at renegotiation in TLSv1.2 and earlier, same as setting +\&\fB\s-1SSL_OP_NO_RENEGOTIATION\s0\fR. +.IP "\fB\-min_protocol\fR, \fB\-max_protocol\fR" 4 +.IX Item "-min_protocol, -max_protocol" +Sets the minimum and maximum supported protocol. +Currently supported protocol values are \fBSSLv3\fR, \fBTLSv1\fR, +\&\fBTLSv1.1\fR, \fBTLSv1.2\fR, \fBTLSv1.3\fR for \s-1TLS\s0 and \fBDTLSv1\fR, \fBDTLSv1.2\fR for \s-1DTLS\s0, +and \fBNone\fR for no limit. +If either bound is not specified then only the other bound applies, +if specified. +To restrict the supported protocol versions use these commands rather +than the deprecated alternative commands below. +.IP "\fB\-no_ssl3\fR, \fB\-no_tls1\fR, \fB\-no_tls1_1\fR, \fB\-no_tls1_2\fR, \fB\-no_tls1_3\fR" 4 +.IX Item "-no_ssl3, -no_tls1, -no_tls1_1, -no_tls1_2, -no_tls1_3" +Disables protocol support for SSLv3, TLSv1.0, TLSv1.1, TLSv1.2 or TLSv1.3 by +setting the corresponding options \fBSSL_OP_NO_SSLv3\fR, \fBSSL_OP_NO_TLSv1\fR, +\&\fBSSL_OP_NO_TLSv1_1\fR, \fBSSL_OP_NO_TLSv1_2\fR and \fBSSL_OP_NO_TLSv1_3\fR +respectively. These options are deprecated, instead use \fB\-min_protocol\fR and +\&\fB\-max_protocol\fR. .IP "\fB\-bugs\fR" 4 .IX Item "-bugs" Various bug workarounds are set, same as setting \fB\s-1SSL_OP_ALL\s0\fR. -.IP "\fB\-no_comp\fR" 4 -.IX Item "-no_comp" -Disables support for \s-1SSL/TLS\s0 compression, same as setting -\&\fB\s-1SSL_OP_NO_COMPRESSION\s0\fR. -As of OpenSSL 1.1.0, compression is off by default. .IP "\fB\-comp\fR" 4 .IX Item "-comp" Enables support for \s-1SSL/TLS\s0 compression, same as clearing \&\fB\s-1SSL_OP_NO_COMPRESSION\s0\fR. This command was introduced in OpenSSL 1.1.0. As of OpenSSL 1.1.0, compression is off by default. +.IP "\fB\-no_comp\fR" 4 +.IX Item "-no_comp" +Disables support for \s-1SSL/TLS\s0 compression, same as setting +\&\fB\s-1SSL_OP_NO_COMPRESSION\s0\fR. +As of OpenSSL 1.1.0, compression is off by default. .IP "\fB\-no_ticket\fR" 4 .IX Item "-no_ticket" Disables support for session tickets, same as setting \fB\s-1SSL_OP_NO_TICKET\s0\fR. @@ -177,28 +293,24 @@ Disables support for session tickets, same as setting \fB\s-1SSL_OP_NO_TICKET\s0 Use server and not client preference order when determining which cipher suite, signature algorithm or elliptic curve to use for an incoming connection. Equivalent to \fB\s-1SSL_OP_CIPHER_SERVER_PREFERENCE\s0\fR. Only used by servers. -.IP "\fB\-legacyrenegotiation\fR" 4 -.IX Item "-legacyrenegotiation" -permits the use of unsafe legacy renegotiation. Equivalent to setting -\&\fB\s-1SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION\s0\fR. -.IP "\fB\-no_renegotiation\fR" 4 -.IX Item "-no_renegotiation" -Disables all attempts at renegotiation in TLSv1.2 and earlier, same as setting -\&\fB\s-1SSL_OP_NO_RENEGOTIATION\s0\fR. -.IP "\fB\-no_resumption_on_reneg\fR" 4 -.IX Item "-no_resumption_on_reneg" -set \s-1SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION\s0 flag. Only used by servers. -.IP "\fB\-legacy_server_connect\fR, \fB\-no_legacy_server_connect\fR" 4 -.IX Item "-legacy_server_connect, -no_legacy_server_connect" -permits or prohibits the use of unsafe legacy renegotiation for OpenSSL -clients only. Equivalent to setting or clearing \fB\s-1SSL_OP_LEGACY_SERVER_CONNECT\s0\fR. -Set by default. .IP "\fB\-prioritize_chacha\fR" 4 .IX Item "-prioritize_chacha" Prioritize ChaCha ciphers when the client has a ChaCha20 cipher at the top of its preference list. This usually indicates a client without \s-1AES\s0 hardware acceleration (e.g. mobile) is in use. Equivalent to \fB\s-1SSL_OP_PRIORITIZE_CHACHA\s0\fR. Only used by servers. Requires \fB\-serverpref\fR. +.IP "\fB\-no_resumption_on_reneg\fR" 4 +.IX Item "-no_resumption_on_reneg" +set \s-1SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION\s0 flag. Only used by servers. +.IP "\fB\-legacyrenegotiation\fR" 4 +.IX Item "-legacyrenegotiation" +permits the use of unsafe legacy renegotiation. Equivalent to setting +\&\fB\s-1SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION\s0\fR. +.IP "\fB\-legacy_server_connect\fR, \fB\-no_legacy_server_connect\fR" 4 +.IX Item "-legacy_server_connect, -no_legacy_server_connect" +permits or prohibits the use of unsafe legacy renegotiation for OpenSSL +clients only. Equivalent to setting or clearing \fB\s-1SSL_OP_LEGACY_SERVER_CONNECT\s0\fR. +Set by default. .IP "\fB\-allow_no_dhe_kex\fR" 4 .IX Item "-allow_no_dhe_kex" In TLSv1.3 allow a non\-(ec)dhe based key exchange mode on resumption. This means @@ -207,128 +319,6 @@ that there will be no forward secrecy for the resumed session. .IX Item "-strict" enables strict mode protocol handling. Equivalent to setting \&\fB\s-1SSL_CERT_FLAG_TLS_STRICT\s0\fR. -.IP "\fB\-sigalgs\fR \fIalgs\fR" 4 -.IX Item "-sigalgs algs" -This sets the supported signature algorithms for TLSv1.2 and TLSv1.3. -For clients this value is used directly for the supported signature -algorithms extension. For servers it is used to determine which signature -algorithms to support. -.Sp -The \fBalgs\fR argument should be a colon separated list of signature -algorithms in order of decreasing preference of the form \fBalgorithm+hash\fR -or \fBsignature_scheme\fR. \fBalgorithm\fR is one of \fB\s-1RSA\s0\fR, \fB\s-1DSA\s0\fR or \fB\s-1ECDSA\s0\fR and -\&\fBhash\fR is a supported algorithm \s-1OID\s0 short name such as \fB\s-1SHA1\s0\fR, \fB\s-1SHA224\s0\fR, -\&\fB\s-1SHA256\s0\fR, \fB\s-1SHA384\s0\fR of \fB\s-1SHA512\s0\fR. Note: algorithm and hash names are case -sensitive. \fBsignature_scheme\fR is one of the signature schemes defined in -TLSv1.3, specified using the \s-1IETF\s0 name, e.g., \fBecdsa_secp256r1_sha256\fR, -\&\fBed25519\fR, or \fBrsa_pss_pss_sha256\fR. -.Sp -If this option is not set then all signature algorithms supported by the -OpenSSL library are permissible. -.Sp -Note: algorithms which specify a PKCS#1 v1.5 signature scheme (either by -using \fB\s-1RSA\s0\fR as the \fBalgorithm\fR or by using one of the \fBrsa_pkcs1_*\fR -identifiers) are ignored in TLSv1.3 and will not be negotiated. -.IP "\fB\-client_sigalgs\fR \fIalgs\fR" 4 -.IX Item "-client_sigalgs algs" -This sets the supported signature algorithms associated with client -authentication for TLSv1.2 and TLSv1.3. For servers the \fBalgs\fR is used -in the \fBsignature_algorithms\fR field of a \fBCertificateRequest\fR message. -For clients it is used to determine which signature algorithm to use with -the client certificate. If a server does not request a certificate this -option has no effect. -.Sp -The syntax of \fBalgs\fR is identical to \fB\-sigalgs\fR. If not set, then the -value set for \fB\-sigalgs\fR will be used instead. -.IP "\fB\-groups\fR \fIgroups\fR" 4 -.IX Item "-groups groups" -This sets the supported groups. For clients, the groups are sent using -the supported groups extension. For servers, it is used to determine which -group to use. This setting affects groups used for signatures (in TLSv1.2 -and earlier) and key exchange. The first group listed will also be used -for the \fBkey_share\fR sent by a client in a TLSv1.3 \fBClientHello\fR. -.Sp -The \fBgroups\fR argument is a colon separated list of groups. The group can -be either the \fB\s-1NIST\s0\fR name (e.g. \fBP\-256\fR), some other commonly used name -where applicable (e.g. \fBX25519\fR, \fBffdhe2048\fR) or an OpenSSL \s-1OID\s0 name -(e.g \fBprime256v1\fR). Group names are case sensitive. The list should be -in order of preference with the most preferred group first. -.Sp -Currently supported groups for \fBTLSv1.3\fR are \fBP\-256\fR, \fBP\-384\fR, \fBP\-521\fR, -\&\fBX25519\fR, \fBX448\fR, \fBffdhe2048\fR, \fBffdhe3072\fR, \fBffdhe4096\fR, \fBffdhe6144\fR, -\&\fBffdhe8192\fR. -.IP "\fB\-curves\fR \fIgroups\fR" 4 -.IX Item "-curves groups" -This is a synonym for the \fB\-groups\fR command. -.IP "\fB\-named_curve\fR \fIcurve\fR" 4 -.IX Item "-named_curve curve" -This sets the temporary curve used for ephemeral \s-1ECDH\s0 modes. Only used -by servers. -.Sp -The \fBgroups\fR argument is a curve name or the special value \fBauto\fR which -picks an appropriate curve based on client and server preferences. The -curve can be either the \fB\s-1NIST\s0\fR name (e.g. \fBP\-256\fR) or an OpenSSL \s-1OID\s0 name -(e.g \fBprime256v1\fR). Curve names are case sensitive. -.IP "\fB\-cipher\fR \fIciphers\fR" 4 -.IX Item "-cipher ciphers" -Sets the TLSv1.2 and below ciphersuite list to \fBciphers\fR. This list will be -combined with any configured TLSv1.3 ciphersuites. Note: syntax checking -of \fBciphers\fR is currently not performed unless a \fB\s-1SSL\s0\fR or \fB\s-1SSL_CTX\s0\fR -structure is associated with \fBctx\fR. -.IP "\fB\-ciphersuites\fR \fI1.3ciphers\fR" 4 -.IX Item "-ciphersuites 1.3ciphers" -Sets the available ciphersuites for TLSv1.3 to value. This is a -colon-separated list of TLSv1.3 ciphersuite names in order of preference. This -list will be combined any configured TLSv1.2 and below ciphersuites. -See \fIopenssl\-ciphers\fR\|(1) for more information. -.IP "\fB\-min_protocol\fR \fIminprot\fR, \fB\-max_protocol\fR \fImaxprot\fR" 4 -.IX Item "-min_protocol minprot, -max_protocol maxprot" -Sets the minimum and maximum supported protocol. Currently supported -protocol values are \fBSSLv3\fR, \fBTLSv1\fR, \fBTLSv1.1\fR, \fBTLSv1.2\fR, \fBTLSv1.3\fR -for \s-1TLS\s0 and \fBDTLSv1\fR, \fBDTLSv1.2\fR for \s-1DTLS\s0, and \fBNone\fR for no limit. -If either bound is not specified then only the other bound applies, -if specified. To restrict the supported protocol versions use these -commands rather than the deprecated alternative commands below. -.IP "\fB\-record_padding\fR \fIpadding\fR" 4 -.IX Item "-record_padding padding" -Attempts to pad TLSv1.3 records so that they are a multiple of \fBpadding\fR -in length on send. A \fBpadding\fR of 0 or 1 turns off padding. Otherwise, -the \fBpadding\fR must be >1 or <=16384. -.IP "\fB\-debug_broken_protocol\fR" 4 -.IX Item "-debug_broken_protocol" -Ignored. -.IP "\fB\-no_middlebox\fR" 4 -.IX Item "-no_middlebox" -Turn off \*(L"middlebox compatibility\*(R", as described below. -.SS "Additional Options" -.IX Subsection "Additional Options" -The following options are accepted by \fISSL_CONF_cmd()\fR, but are not -processed by the OpenSSL commands. -.IP "\fB\-cert\fR \fIfile\fR" 4 -.IX Item "-cert file" -Attempts to use \fBfile\fR as the certificate for the appropriate context. It -currently uses \fISSL_CTX_use_certificate_chain_file()\fR if an \fB\s-1SSL_CTX\s0\fR -structure is set or \fISSL_use_certificate_file()\fR with filetype \s-1PEM\s0 if an -\&\fB\s-1SSL\s0\fR structure is set. This option is only supported if certificate -operations are permitted. -.IP "\fB\-key\fR \fIfile\fR" 4 -.IX Item "-key file" -Attempts to use \fBfile\fR as the private key for the appropriate context. This -option is only supported if certificate operations are permitted. Note: -if no \fB\-key\fR option is set then a private key is not loaded unless the -flag \fB\s-1SSL_CONF_FLAG_REQUIRE_PRIVATE\s0\fR is set. -.IP "\fB\-dhparam\fR \fIfile\fR" 4 -.IX Item "-dhparam file" -Attempts to use \fBfile\fR as the set of temporary \s-1DH\s0 parameters for -the appropriate context. This option is only supported if certificate -operations are permitted. -.IP "\fB\-no_ssl3\fR, \fB\-no_tls1\fR, \fB\-no_tls1_1\fR, \fB\-no_tls1_2\fR, \fB\-no_tls1_3\fR" 4 -.IX Item "-no_ssl3, -no_tls1, -no_tls1_1, -no_tls1_2, -no_tls1_3" -Disables protocol support for SSLv3, TLSv1.0, TLSv1.1, TLSv1.2 or TLSv1.3 by -setting the corresponding options \fBSSL_OP_NO_SSLv3\fR, \fBSSL_OP_NO_TLSv1\fR, -\&\fBSSL_OP_NO_TLSv1_1\fR, \fBSSL_OP_NO_TLSv1_2\fR and \fBSSL_OP_NO_TLSv1_3\fR -respectively. These options are deprecated, use \fB\-min_protocol\fR and -\&\fB\-max_protocol\fR instead. .IP "\fB\-anti_replay\fR, \fB\-no_anti_replay\fR" 4 .IX Item "-anti_replay, -no_anti_replay" Switches replay protection, on or off respectively. With replay protection on, @@ -342,25 +332,25 @@ risks in other ways and in such cases the built-in OpenSSL functionality is not required. Switching off anti-replay is equivalent to \fB\s-1SSL_OP_NO_ANTI_REPLAY\s0\fR. .SH "SUPPORTED CONFIGURATION FILE COMMANDS" .IX Header "SUPPORTED CONFIGURATION FILE COMMANDS" -Currently supported \fBoption\fR names for configuration files (i.e., when the +Currently supported \fBcmd\fR names for configuration files (i.e. when the flag \fB\s-1SSL_CONF_FLAG_FILE\s0\fR is set) are listed below. All configuration file -\&\fBoption\fR names are case insensitive so \fBsignaturealgorithms\fR is recognised +\&\fBcmd\fR names are case insensitive so \fBsignaturealgorithms\fR is recognised as well as \fBSignatureAlgorithms\fR. Unless otherwise stated the \fBvalue\fR names are also case insensitive. .PP -Note: the command prefix (if set) alters the recognised \fBoption\fR values. +Note: the command prefix (if set) alters the recognised \fBcmd\fR values. .IP "\fBCipherString\fR" 4 .IX Item "CipherString" Sets the ciphersuite list for TLSv1.2 and below to \fBvalue\fR. This list will be combined with any configured TLSv1.3 ciphersuites. Note: syntax checking of \fBvalue\fR is currently not performed unless an \fB\s-1SSL\s0\fR or \fB\s-1SSL_CTX\s0\fR -structure is associated with \fBctx\fR. +structure is associated with \fBcctx\fR. .IP "\fBCiphersuites\fR" 4 .IX Item "Ciphersuites" -Sets the available ciphersuites for TLSv1.3 to \fBvalue\fR. This is a -colon-separated list of TLSv1.3 ciphersuite names in order of preference. This +Sets the available ciphersuites for TLSv1.3 to \fBvalue\fR. This is a simple colon +(\*(L":\*(R") separated list of TLSv1.3 ciphersuite names in order of preference. This list will be combined any configured TLSv1.2 and below ciphersuites. -See \fIopenssl\-ciphers\fR\|(1) for more information. +See \fIciphers\fR\|(1) for more information. .IP "\fBCertificate\fR" 4 .IX Item "Certificate" Attempts to use the file \fBvalue\fR as the certificate for the appropriate @@ -446,13 +436,9 @@ will also be used for the \fBkey_share\fR sent by a client in a TLSv1.3 .Sp The \fBvalue\fR argument is a colon separated list of groups. The group can be either the \fB\s-1NIST\s0\fR name (e.g. \fBP\-256\fR), some other commonly used name where -applicable (e.g. \fBX25519\fR, \fBffdhe2048\fR) or an OpenSSL \s-1OID\s0 name -(e.g \fBprime256v1\fR). Group names are case sensitive. The list should be in -order of preference with the most preferred group first. -.Sp -Currently supported groups for \fBTLSv1.3\fR are \fBP\-256\fR, \fBP\-384\fR, \fBP\-521\fR, -\&\fBX25519\fR, \fBX448\fR, \fBffdhe2048\fR, \fBffdhe3072\fR, \fBffdhe4096\fR, \fBffdhe6144\fR, -\&\fBffdhe8192\fR. +applicable (e.g. \fBX25519\fR) or an OpenSSL \s-1OID\s0 name (e.g \fBprime256v1\fR). Group +names are case sensitive. The list should be in order of preference with the +most preferred group first. .IP "\fBCurves\fR" 4 .IX Item "Curves" This is a synonym for the \*(L"Groups\*(R" command. @@ -572,10 +558,6 @@ servers. Anti-replay measures are required to comply with the TLSv1.3 specification. Some applications may be able to mitigate the replay risks in other ways and in such cases the built-in OpenSSL functionality is not required. Disabling anti-replay is equivalent to setting \fB\s-1SSL_OP_NO_ANTI_REPLAY\s0\fR. -.Sp -\&\fBExtendedMasterSecret\fR: use extended master secret extension, enabled by -default. Inverse of \fB\s-1SSL_OP_NO_EXTENDED_MASTER_SECRET\s0\fR: that is, -\&\fB\-ExtendedMasterSecret\fR is the same as setting \fB\s-1SSL_OP_NO_EXTENDED_MASTER_SECRET\s0\fR. .IP "\fBVerifyMode\fR" 4 .IX Item "VerifyMode" The \fBvalue\fR argument is a comma separated list of flags to set. @@ -613,14 +595,14 @@ The function \fISSL_CONF_cmd_value_type()\fR currently returns one of the follow types: .IP "\fB\s-1SSL_CONF_TYPE_UNKNOWN\s0\fR" 4 .IX Item "SSL_CONF_TYPE_UNKNOWN" -The \fBoption\fR string is unrecognised, this return value can be use to flag +The \fBcmd\fR string is unrecognised, this return value can be use to flag syntax errors. .IP "\fB\s-1SSL_CONF_TYPE_STRING\s0\fR" 4 .IX Item "SSL_CONF_TYPE_STRING" The value is a string without any specific structure. .IP "\fB\s-1SSL_CONF_TYPE_FILE\s0\fR" 4 .IX Item "SSL_CONF_TYPE_FILE" -The value is a filename. +The value is a file name. .IP "\fB\s-1SSL_CONF_TYPE_DIR\s0\fR" 4 .IX Item "SSL_CONF_TYPE_DIR" The value is a directory name. @@ -650,7 +632,7 @@ SSLv3 is \fBalways\fR disabled and attempt to override this by the user are ignored. .PP By checking the return code of \fISSL_CONF_cmd()\fR it is possible to query if a -given \fBoption\fR is recognised, this is useful if \fISSL_CONF_cmd()\fR values are +given \fBcmd\fR is recognised, this is useful if \fISSL_CONF_cmd()\fR values are mixed with additional application specific operations. .PP For example an application might call \fISSL_CONF_cmd()\fR and if it returns @@ -660,12 +642,12 @@ commands. Applications can also use \fISSL_CONF_cmd()\fR to process command lines though the utility function \fISSL_CONF_cmd_argv()\fR is normally used instead. One way to do this is to set the prefix to an appropriate value using -\&\fISSL_CONF_CTX_set1_prefix()\fR, pass the current argument to \fBoption\fR and the +\&\fISSL_CONF_CTX_set1_prefix()\fR, pass the current argument to \fBcmd\fR and the following argument to \fBvalue\fR (which may be \s-1NULL\s0). .PP In this case if the return value is positive then it is used to skip that number of arguments as they have been processed by \fISSL_CONF_cmd()\fR. If \-2 is -returned then \fBoption\fR is not recognised and application specific arguments +returned then \fBcmd\fR is not recognised and application specific arguments can be checked instead. If \-3 is returned a required argument is missing and an error is indicated. If 0 is returned some other error occurred and this can be reported back to the user. @@ -677,17 +659,17 @@ value is \fB\s-1SSL_CONF_TYPE_FILE\s0\fR an application could translate a relati pathname to an absolute pathname. .SH "RETURN VALUES" .IX Header "RETURN VALUES" -\&\fISSL_CONF_cmd()\fR returns 1 if the value of \fBoption\fR is recognised and \fBvalue\fR is -\&\fB\s-1NOT\s0\fR used and 2 if both \fBoption\fR and \fBvalue\fR are used. In other words it +\&\fISSL_CONF_cmd()\fR returns 1 if the value of \fBcmd\fR is recognised and \fBvalue\fR is +\&\fB\s-1NOT\s0\fR used and 2 if both \fBcmd\fR and \fBvalue\fR are used. In other words it returns the number of arguments processed. This is useful when processing command lines. .PP -A return value of \-2 means \fBoption\fR is not recognised. +A return value of \-2 means \fBcmd\fR is not recognised. .PP -A return value of \-3 means \fBoption\fR is recognised and the command requires a +A return value of \-3 means \fBcmd\fR is recognised and the command requires a value but \fBvalue\fR is \s-1NULL\s0. .PP -A return code of 0 indicates that both \fBoption\fR and \fBvalue\fR are valid but an +A return code of 0 indicates that both \fBcmd\fR and \fBvalue\fR are valid but an error occurred attempting to perform the operation: for example due to an error in the syntax of \fBvalue\fR in this case the error queue may provide additional information. @@ -756,7 +738,6 @@ Set supported curves to P\-256, P\-384: .Ve .SH "SEE ALSO" .IX Header "SEE ALSO" -\&\fIssl\fR\|(7), \&\fISSL_CONF_CTX_new\fR\|(3), \&\fISSL_CONF_CTX_set_flags\fR\|(3), \&\fISSL_CONF_CTX_set1_prefix\fR\|(3), @@ -779,9 +760,9 @@ OpenSSL passing a command which didn't take an argument would return \&\fBAllowNoDHEKEX\fR and \fBPrioritizeChaCha\fR were added in OpenSSL 1.1.1. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2012\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2012\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CONF_cmd_argv.3 b/linux_amd64/share/man/man3/SSL_CONF_cmd_argv.3 index f0a94d9..0b890ec 100755 --- a/linux_amd64/share/man/man3/SSL_CONF_cmd_argv.3 +++ b/linux_amd64/share/man/man3/SSL_CONF_cmd_argv.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CONF_CMD_ARGV 3" -.TH SSL_CONF_CMD_ARGV 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CONF_CMD_ARGV 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -155,7 +155,6 @@ If \-1 is returned the command is recognised but couldn't be processed due to an error: for example a syntax error in the argument. .SH "SEE ALSO" .IX Header "SEE ALSO" -\&\fIssl\fR\|(7), \&\fISSL_CONF_CTX_new\fR\|(3), \&\fISSL_CONF_CTX_set_flags\fR\|(3), \&\fISSL_CONF_CTX_set1_prefix\fR\|(3), @@ -168,7 +167,7 @@ These functions were added in OpenSSL 1.0.2. .IX Header "COPYRIGHT" Copyright 2012\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CONF_cmd_value_type.3 b/linux_amd64/share/man/man3/SSL_CONF_cmd_value_type.3 new file mode 120000 index 0000000..e22b9c6 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CONF_cmd_value_type.3 @@ -0,0 +1 @@ +SSL_CONF_cmd.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_add0_chain_cert.3 b/linux_amd64/share/man/man3/SSL_CTX_add0_chain_cert.3 new file mode 120000 index 0000000..0ef0f3c --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_add0_chain_cert.3 @@ -0,0 +1 @@ +SSL_CTX_add1_chain_cert.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_add1_chain_cert.3 b/linux_amd64/share/man/man3/SSL_CTX_add1_chain_cert.3 index 27776c6..ee99800 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_add1_chain_cert.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_add1_chain_cert.3 @@ -124,19 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_ADD1_CHAIN_CERT 3" -.TH SSL_CTX_ADD1_CHAIN_CERT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_ADD1_CHAIN_CERT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_CTX_set0_chain, SSL_CTX_set1_chain, SSL_CTX_add0_chain_cert, -SSL_CTX_add1_chain_cert, SSL_CTX_get0_chain_certs, SSL_CTX_clear_chain_certs, -SSL_set0_chain, SSL_set1_chain, SSL_add0_chain_cert, SSL_add1_chain_cert, -SSL_get0_chain_certs, SSL_clear_chain_certs, SSL_CTX_build_cert_chain, -SSL_build_cert_chain, SSL_CTX_select_current_cert, -SSL_select_current_cert, SSL_CTX_set_current_cert, SSL_set_current_cert \- extra -chain certificate processing +SSL_CTX_set0_chain, SSL_CTX_set1_chain, SSL_CTX_add0_chain_cert, SSL_CTX_add1_chain_cert, SSL_CTX_get0_chain_certs, SSL_CTX_clear_chain_certs, SSL_set0_chain, SSL_set1_chain, SSL_add0_chain_cert, SSL_add1_chain_cert, SSL_get0_chain_certs, SSL_clear_chain_certs, SSL_CTX_build_cert_chain, SSL_build_cert_chain, SSL_CTX_select_current_cert, SSL_select_current_cert, SSL_CTX_set_current_cert, SSL_set_current_cert \- extra chain certificate processing .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -265,7 +259,6 @@ a verification error occurs then 2 is returned. All other functions return 1 for success and 0 for failure. .SH "SEE ALSO" .IX Header "SEE ALSO" -\&\fIssl\fR\|(7), \&\fISSL_CTX_add_extra_chain_cert\fR\|(3) .SH "HISTORY" .IX Header "HISTORY" @@ -274,7 +267,7 @@ These functions were added in OpenSSL 1.0.2. .IX Header "COPYRIGHT" Copyright 2013\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_add1_to_CA_list.3 b/linux_amd64/share/man/man3/SSL_CTX_add1_to_CA_list.3 new file mode 120000 index 0000000..bfb7e21 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_add1_to_CA_list.3 @@ -0,0 +1 @@ +SSL_CTX_set0_CA_list.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_add_client_CA.3 b/linux_amd64/share/man/man3/SSL_CTX_add_client_CA.3 new file mode 120000 index 0000000..bfb7e21 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_add_client_CA.3 @@ -0,0 +1 @@ +SSL_CTX_set0_CA_list.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_add_client_custom_ext.3 b/linux_amd64/share/man/man3/SSL_CTX_add_client_custom_ext.3 new file mode 120000 index 0000000..7fbfc6f --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_add_client_custom_ext.3 @@ -0,0 +1 @@ +SSL_extension_supported.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_add_custom_ext.3 b/linux_amd64/share/man/man3/SSL_CTX_add_custom_ext.3 new file mode 120000 index 0000000..7fbfc6f --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_add_custom_ext.3 @@ -0,0 +1 @@ +SSL_extension_supported.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_add_extra_chain_cert.3 b/linux_amd64/share/man/man3/SSL_CTX_add_extra_chain_cert.3 index 98ab46e..6020ec0 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_add_extra_chain_cert.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_add_extra_chain_cert.3 @@ -124,25 +124,19 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_ADD_EXTRA_CHAIN_CERT 3" -.TH SSL_CTX_ADD_EXTRA_CHAIN_CERT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_ADD_EXTRA_CHAIN_CERT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_CTX_add_extra_chain_cert, -SSL_CTX_get_extra_chain_certs, -SSL_CTX_get_extra_chain_certs_only, -SSL_CTX_clear_extra_chain_certs -\&\- add, get or clear extra chain certificates +SSL_CTX_add_extra_chain_cert, SSL_CTX_clear_extra_chain_certs \- add or clear extra chain certificates .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include \& \& long SSL_CTX_add_extra_chain_cert(SSL_CTX *ctx, X509 *x509); -\& long SSL_CTX_get_extra_chain_certs(SSL_CTX *ctx, STACK_OF(X509) **sk); -\& long SSL_CTX_get_extra_chain_certs_only(SSL_CTX *ctx, STACK_OF(X509) **sk); \& long SSL_CTX_clear_extra_chain_certs(SSL_CTX *ctx); .Ve .SH "DESCRIPTION" @@ -151,15 +145,6 @@ SSL_CTX_clear_extra_chain_certs certificates associated with \fBctx\fR. Several certificates can be added one after another. .PP -\&\fISSL_CTX_get_extra_chain_certs()\fR retrieves the extra chain certificates -associated with \fBctx\fR, or the chain associated with the current certificate -of \fBctx\fR if the extra chain is empty. -The returned stack should not be freed by the caller. -.PP -\&\fISSL_CTX_get_extra_chain_certs_only()\fR retrieves the extra chain certificates -associated with \fBctx\fR. -The returned stack should not be freed by the caller. -.PP \&\fISSL_CTX_clear_extra_chain_certs()\fR clears all extra chain certificates associated with \fBctx\fR. .PP @@ -207,9 +192,9 @@ reason for failure. \&\fISSL_build_cert_chain\fR\|(3) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_add_server_custom_ext.3 b/linux_amd64/share/man/man3/SSL_CTX_add_server_custom_ext.3 new file mode 120000 index 0000000..7fbfc6f --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_add_server_custom_ext.3 @@ -0,0 +1 @@ +SSL_extension_supported.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_add_session.3 b/linux_amd64/share/man/man3/SSL_CTX_add_session.3 index 3f86f47..37bf2de 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_add_session.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_add_session.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_ADD_SESSION 3" -.TH SSL_CTX_ADD_SESSION 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_ADD_SESSION 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -185,7 +185,7 @@ The operation succeeded. .IX Header "COPYRIGHT" Copyright 2001\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_build_cert_chain.3 b/linux_amd64/share/man/man3/SSL_CTX_build_cert_chain.3 new file mode 120000 index 0000000..0ef0f3c --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_build_cert_chain.3 @@ -0,0 +1 @@ +SSL_CTX_add1_chain_cert.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_callback_ctrl.3 b/linux_amd64/share/man/man3/SSL_CTX_callback_ctrl.3 new file mode 120000 index 0000000..cd48d63 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_callback_ctrl.3 @@ -0,0 +1 @@ +SSL_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_check_private_key.3 b/linux_amd64/share/man/man3/SSL_CTX_check_private_key.3 new file mode 120000 index 0000000..5ec6592 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_check_private_key.3 @@ -0,0 +1 @@ +SSL_CTX_use_certificate.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_clear_chain_certs.3 b/linux_amd64/share/man/man3/SSL_CTX_clear_chain_certs.3 new file mode 120000 index 0000000..0ef0f3c --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_clear_chain_certs.3 @@ -0,0 +1 @@ +SSL_CTX_add1_chain_cert.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_clear_extra_chain_certs.3 b/linux_amd64/share/man/man3/SSL_CTX_clear_extra_chain_certs.3 new file mode 120000 index 0000000..d129a86 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_clear_extra_chain_certs.3 @@ -0,0 +1 @@ +SSL_CTX_add_extra_chain_cert.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_clear_mode.3 b/linux_amd64/share/man/man3/SSL_CTX_clear_mode.3 new file mode 120000 index 0000000..295da90 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_clear_mode.3 @@ -0,0 +1 @@ +SSL_CTX_set_mode.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_clear_options.3 b/linux_amd64/share/man/man3/SSL_CTX_clear_options.3 new file mode 120000 index 0000000..ae626a4 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_clear_options.3 @@ -0,0 +1 @@ +SSL_CTX_set_options.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_config.3 b/linux_amd64/share/man/man3/SSL_CTX_config.3 index 68ccf6b..39d3e92 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_config.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_config.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_CONFIG 3" -.TH SSL_CTX_CONFIG 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_CONFIG 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -199,7 +199,6 @@ In this example two certificates and the cipher list are configured without the need for any additional application code. .SH "SEE ALSO" .IX Header "SEE ALSO" -\&\fIssl\fR\|(7), \&\fIconfig\fR\|(5), \&\fISSL_CONF_cmd\fR\|(3), \&\fICONF_modules_load_file\fR\|(3) @@ -208,9 +207,9 @@ the need for any additional application code. The \fISSL_CTX_config()\fR and \fISSL_config()\fR functions were added in OpenSSL 1.1.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2015\-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2015\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_ct_is_enabled.3 b/linux_amd64/share/man/man3/SSL_CTX_ct_is_enabled.3 new file mode 120000 index 0000000..8a8a33b --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_ct_is_enabled.3 @@ -0,0 +1 @@ +SSL_CTX_set_ct_validation_callback.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_ctrl.3 b/linux_amd64/share/man/man3/SSL_CTX_ctrl.3 index 5b2425c..96e1e86 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_ctrl.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_ctrl.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_CTRL 3" -.TH SSL_CTX_CTRL 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_CTRL 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -160,7 +160,7 @@ supplied via the \fBcmd\fR parameter. .IX Header "COPYRIGHT" Copyright 2001\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_dane_clear_flags.3 b/linux_amd64/share/man/man3/SSL_CTX_dane_clear_flags.3 new file mode 120000 index 0000000..867659c --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_dane_clear_flags.3 @@ -0,0 +1 @@ +SSL_CTX_dane_enable.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_dane_enable.3 b/linux_amd64/share/man/man3/SSL_CTX_dane_enable.3 index 562cbb5..0096669 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_dane_enable.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_dane_enable.3 @@ -124,18 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_DANE_ENABLE 3" -.TH SSL_CTX_DANE_ENABLE 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_DANE_ENABLE 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_CTX_dane_enable, SSL_CTX_dane_mtype_set, SSL_dane_enable, -SSL_dane_tlsa_add, SSL_get0_dane_authority, SSL_get0_dane_tlsa, -SSL_CTX_dane_set_flags, SSL_CTX_dane_clear_flags, -SSL_dane_set_flags, SSL_dane_clear_flags -\&\- enable DANE TLS authentication of the remote TLS server in the local -TLS client +SSL_CTX_dane_enable, SSL_CTX_dane_mtype_set, SSL_dane_enable, SSL_dane_tlsa_add, SSL_get0_dane_authority, SSL_get0_dane_tlsa, SSL_CTX_dane_set_flags, SSL_CTX_dane_clear_flags, SSL_dane_set_flags, SSL_dane_clear_flags \&\- enable DANE TLS authentication of the remote TLS server in the local TLS client .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -264,7 +259,7 @@ Applications that need long-term access to this field need to copy the content. optional \s-1DANE\s0 verification features. \&\fISSL_CTX_dane_clear_flags()\fR and \fISSL_dane_clear_flags()\fR can be used to disable the same features. -The \fBflags\fR argument is a bit-mask of the features to enable or disable. +The \fBflags\fR argument is a bitmask of the features to enable or disable. The \fBflags\fR set for an \fB\s-1SSL_CTX\s0\fR context are copied to each \fB\s-1SSL\s0\fR handle associated with that context at the time the handle is created. Subsequent changes in the context's \fBflags\fR have no effect on the \fBflags\fR set @@ -474,7 +469,6 @@ or unsupported parameters) disable peer authentication by calling \&\fISSL_set_verify\fR\|(3) with \fBmode\fR equal to \fB\s-1SSL_VERIFY_NONE\s0\fR. .SH "SEE ALSO" .IX Header "SEE ALSO" -\&\fIssl\fR\|(7), \&\fISSL_new\fR\|(3), \&\fISSL_add1_host\fR\|(3), \&\fISSL_set_hostflags\fR\|(3), @@ -497,9 +491,9 @@ or unsupported parameters) disable peer authentication by calling These functions were added in OpenSSL 1.1.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2016\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2016\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_dane_mtype_set.3 b/linux_amd64/share/man/man3/SSL_CTX_dane_mtype_set.3 new file mode 120000 index 0000000..867659c --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_dane_mtype_set.3 @@ -0,0 +1 @@ +SSL_CTX_dane_enable.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_dane_set_flags.3 b/linux_amd64/share/man/man3/SSL_CTX_dane_set_flags.3 new file mode 120000 index 0000000..867659c --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_dane_set_flags.3 @@ -0,0 +1 @@ +SSL_CTX_dane_enable.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_decrypt_session_ticket_fn.3 b/linux_amd64/share/man/man3/SSL_CTX_decrypt_session_ticket_fn.3 new file mode 120000 index 0000000..07a3922 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_decrypt_session_ticket_fn.3 @@ -0,0 +1 @@ +SSL_CTX_set_session_ticket_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_disable_ct.3 b/linux_amd64/share/man/man3/SSL_CTX_disable_ct.3 new file mode 120000 index 0000000..8a8a33b --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_disable_ct.3 @@ -0,0 +1 @@ +SSL_CTX_set_ct_validation_callback.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_enable_ct.3 b/linux_amd64/share/man/man3/SSL_CTX_enable_ct.3 new file mode 120000 index 0000000..8a8a33b --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_enable_ct.3 @@ -0,0 +1 @@ +SSL_CTX_set_ct_validation_callback.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_flush_sessions.3 b/linux_amd64/share/man/man3/SSL_CTX_flush_sessions.3 index 7b1333e..88d0f89 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_flush_sessions.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_flush_sessions.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_FLUSH_SESSIONS 3" -.TH SSL_CTX_FLUSH_SESSIONS 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_FLUSH_SESSIONS 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -173,7 +173,7 @@ called to synchronize with the external cache (see .IX Header "COPYRIGHT" Copyright 2001\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_free.3 b/linux_amd64/share/man/man3/SSL_CTX_free.3 index f891e3a..0e71782 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_free.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_free.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_FREE 3" -.TH SSL_CTX_FREE 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_FREE 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -167,7 +167,7 @@ SSL_CTX_sess_set_remove_cb(\fBctx\fR, \s-1NULL\s0) prior to calling \fISSL_CTX_f .IX Header "COPYRIGHT" Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_generate_session_ticket_fn.3 b/linux_amd64/share/man/man3/SSL_CTX_generate_session_ticket_fn.3 new file mode 120000 index 0000000..07a3922 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_generate_session_ticket_fn.3 @@ -0,0 +1 @@ +SSL_CTX_set_session_ticket_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_get0_CA_list.3 b/linux_amd64/share/man/man3/SSL_CTX_get0_CA_list.3 new file mode 120000 index 0000000..bfb7e21 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_get0_CA_list.3 @@ -0,0 +1 @@ +SSL_CTX_set0_CA_list.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_get0_chain_certs.3 b/linux_amd64/share/man/man3/SSL_CTX_get0_chain_certs.3 new file mode 120000 index 0000000..0ef0f3c --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_get0_chain_certs.3 @@ -0,0 +1 @@ +SSL_CTX_add1_chain_cert.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_get0_param.3 b/linux_amd64/share/man/man3/SSL_CTX_get0_param.3 index aa93b4d..bd3c747 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_get0_param.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_get0_param.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_GET0_PARAM 3" -.TH SSL_CTX_GET0_PARAM 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_GET0_PARAM 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_CTX_get0_param, SSL_get0_param, SSL_CTX_set1_param, SSL_set1_param \- -get and set verification parameters +SSL_CTX_get0_param, SSL_get0_param, SSL_CTX_set1_param, SSL_set1_param \- get and set verification parameters .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -172,16 +171,15 @@ Check hostname matches \*(L"www.foo.com\*(R" in peer certificate: .Ve .SH "SEE ALSO" .IX Header "SEE ALSO" -\&\fIssl\fR\|(7), \&\fIX509_VERIFY_PARAM_set_flags\fR\|(3) .SH "HISTORY" .IX Header "HISTORY" These functions were added in OpenSSL 1.0.2. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2015\-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2015\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_get0_security_ex_data.3 b/linux_amd64/share/man/man3/SSL_CTX_get0_security_ex_data.3 new file mode 120000 index 0000000..81271f0 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_get0_security_ex_data.3 @@ -0,0 +1 @@ +SSL_CTX_set_security_level.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_get_cert_store.3 b/linux_amd64/share/man/man3/SSL_CTX_get_cert_store.3 new file mode 120000 index 0000000..87080a3 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_get_cert_store.3 @@ -0,0 +1 @@ +SSL_CTX_set_cert_store.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_get_ciphers.3 b/linux_amd64/share/man/man3/SSL_CTX_get_ciphers.3 new file mode 120000 index 0000000..a5c5b49 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_get_ciphers.3 @@ -0,0 +1 @@ +SSL_get_ciphers.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_get_client_CA_list.3 b/linux_amd64/share/man/man3/SSL_CTX_get_client_CA_list.3 new file mode 120000 index 0000000..bfb7e21 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_get_client_CA_list.3 @@ -0,0 +1 @@ +SSL_CTX_set0_CA_list.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_get_client_cert_cb.3 b/linux_amd64/share/man/man3/SSL_CTX_get_client_cert_cb.3 new file mode 120000 index 0000000..5ab3a24 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_get_client_cert_cb.3 @@ -0,0 +1 @@ +SSL_CTX_set_client_cert_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_get_default_passwd_cb.3 b/linux_amd64/share/man/man3/SSL_CTX_get_default_passwd_cb.3 new file mode 120000 index 0000000..ced1a3d --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_get_default_passwd_cb.3 @@ -0,0 +1 @@ +SSL_CTX_set_default_passwd_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_get_default_passwd_cb_userdata.3 b/linux_amd64/share/man/man3/SSL_CTX_get_default_passwd_cb_userdata.3 new file mode 120000 index 0000000..ced1a3d --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_get_default_passwd_cb_userdata.3 @@ -0,0 +1 @@ +SSL_CTX_set_default_passwd_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_get_default_read_ahead.3 b/linux_amd64/share/man/man3/SSL_CTX_get_default_read_ahead.3 new file mode 120000 index 0000000..5a79fd4 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_get_default_read_ahead.3 @@ -0,0 +1 @@ +SSL_CTX_set_read_ahead.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_get_ex_data.3 b/linux_amd64/share/man/man3/SSL_CTX_get_ex_data.3 new file mode 120000 index 0000000..0022e25 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_get_ex_data.3 @@ -0,0 +1 @@ +SSL_CTX_set_ex_data.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_get_info_callback.3 b/linux_amd64/share/man/man3/SSL_CTX_get_info_callback.3 new file mode 120000 index 0000000..47e39f6 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_get_info_callback.3 @@ -0,0 +1 @@ +SSL_CTX_set_info_callback.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_get_keylog_callback.3 b/linux_amd64/share/man/man3/SSL_CTX_get_keylog_callback.3 new file mode 120000 index 0000000..36368c4 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_get_keylog_callback.3 @@ -0,0 +1 @@ +SSL_CTX_set_keylog_callback.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_get_max_cert_list.3 b/linux_amd64/share/man/man3/SSL_CTX_get_max_cert_list.3 new file mode 120000 index 0000000..57ed596 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_get_max_cert_list.3 @@ -0,0 +1 @@ +SSL_CTX_set_max_cert_list.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_get_max_early_data.3 b/linux_amd64/share/man/man3/SSL_CTX_get_max_early_data.3 new file mode 120000 index 0000000..f582a21 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_get_max_early_data.3 @@ -0,0 +1 @@ +SSL_read_early_data.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_get_max_proto_version.3 b/linux_amd64/share/man/man3/SSL_CTX_get_max_proto_version.3 new file mode 120000 index 0000000..64444be --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_get_max_proto_version.3 @@ -0,0 +1 @@ +SSL_CTX_set_min_proto_version.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_get_min_proto_version.3 b/linux_amd64/share/man/man3/SSL_CTX_get_min_proto_version.3 new file mode 120000 index 0000000..64444be --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_get_min_proto_version.3 @@ -0,0 +1 @@ +SSL_CTX_set_min_proto_version.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_get_mode.3 b/linux_amd64/share/man/man3/SSL_CTX_get_mode.3 new file mode 120000 index 0000000..295da90 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_get_mode.3 @@ -0,0 +1 @@ +SSL_CTX_set_mode.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_get_num_tickets.3 b/linux_amd64/share/man/man3/SSL_CTX_get_num_tickets.3 new file mode 120000 index 0000000..7e12220 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_get_num_tickets.3 @@ -0,0 +1 @@ +SSL_CTX_set_num_tickets.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_get_options.3 b/linux_amd64/share/man/man3/SSL_CTX_get_options.3 new file mode 120000 index 0000000..ae626a4 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_get_options.3 @@ -0,0 +1 @@ +SSL_CTX_set_options.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_get_quiet_shutdown.3 b/linux_amd64/share/man/man3/SSL_CTX_get_quiet_shutdown.3 new file mode 120000 index 0000000..ea53059 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_get_quiet_shutdown.3 @@ -0,0 +1 @@ +SSL_CTX_set_quiet_shutdown.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_get_read_ahead.3 b/linux_amd64/share/man/man3/SSL_CTX_get_read_ahead.3 new file mode 120000 index 0000000..5a79fd4 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_get_read_ahead.3 @@ -0,0 +1 @@ +SSL_CTX_set_read_ahead.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_get_record_padding_callback_arg.3 b/linux_amd64/share/man/man3/SSL_CTX_get_record_padding_callback_arg.3 new file mode 120000 index 0000000..c7bb118 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_get_record_padding_callback_arg.3 @@ -0,0 +1 @@ +SSL_CTX_set_record_padding_callback.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_get_recv_max_early_data.3 b/linux_amd64/share/man/man3/SSL_CTX_get_recv_max_early_data.3 new file mode 120000 index 0000000..f582a21 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_get_recv_max_early_data.3 @@ -0,0 +1 @@ +SSL_read_early_data.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_get_security_callback.3 b/linux_amd64/share/man/man3/SSL_CTX_get_security_callback.3 new file mode 120000 index 0000000..81271f0 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_get_security_callback.3 @@ -0,0 +1 @@ +SSL_CTX_set_security_level.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_get_security_level.3 b/linux_amd64/share/man/man3/SSL_CTX_get_security_level.3 new file mode 120000 index 0000000..81271f0 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_get_security_level.3 @@ -0,0 +1 @@ +SSL_CTX_set_security_level.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_get_session_cache_mode.3 b/linux_amd64/share/man/man3/SSL_CTX_get_session_cache_mode.3 new file mode 120000 index 0000000..0fd3f07 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_get_session_cache_mode.3 @@ -0,0 +1 @@ +SSL_CTX_set_session_cache_mode.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_get_timeout.3 b/linux_amd64/share/man/man3/SSL_CTX_get_timeout.3 new file mode 120000 index 0000000..6d33474 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_get_timeout.3 @@ -0,0 +1 @@ +SSL_CTX_set_timeout.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_get_tlsext_status_arg.3 b/linux_amd64/share/man/man3/SSL_CTX_get_tlsext_status_arg.3 new file mode 120000 index 0000000..a7877fd --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_get_tlsext_status_arg.3 @@ -0,0 +1 @@ +SSL_CTX_set_tlsext_status_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_get_tlsext_status_cb.3 b/linux_amd64/share/man/man3/SSL_CTX_get_tlsext_status_cb.3 new file mode 120000 index 0000000..a7877fd --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_get_tlsext_status_cb.3 @@ -0,0 +1 @@ +SSL_CTX_set_tlsext_status_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_get_tlsext_status_type.3 b/linux_amd64/share/man/man3/SSL_CTX_get_tlsext_status_type.3 new file mode 120000 index 0000000..a7877fd --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_get_tlsext_status_type.3 @@ -0,0 +1 @@ +SSL_CTX_set_tlsext_status_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_get_verify_callback.3 b/linux_amd64/share/man/man3/SSL_CTX_get_verify_callback.3 new file mode 120000 index 0000000..1b7a2ea --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_get_verify_callback.3 @@ -0,0 +1 @@ +SSL_CTX_get_verify_mode.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_get_verify_depth.3 b/linux_amd64/share/man/man3/SSL_CTX_get_verify_depth.3 new file mode 120000 index 0000000..1b7a2ea --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_get_verify_depth.3 @@ -0,0 +1 @@ +SSL_CTX_get_verify_mode.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_get_verify_mode.3 b/linux_amd64/share/man/man3/SSL_CTX_get_verify_mode.3 index e1b65cf..c8ea420 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_get_verify_mode.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_get_verify_mode.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_GET_VERIFY_MODE 3" -.TH SSL_CTX_GET_VERIFY_MODE 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_GET_VERIFY_MODE 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -176,7 +176,7 @@ See \s-1DESCRIPTION\s0 .IX Header "COPYRIGHT" Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_has_client_custom_ext.3 b/linux_amd64/share/man/man3/SSL_CTX_has_client_custom_ext.3 index e66cae0..a7f8c22 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_has_client_custom_ext.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_has_client_custom_ext.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_HAS_CLIENT_CUSTOM_EXT 3" -.TH SSL_CTX_HAS_CLIENT_CUSTOM_EXT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_HAS_CLIENT_CUSTOM_EXT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_CTX_has_client_custom_ext \- check whether a handler exists for a particular -client extension type +SSL_CTX_has_client_custom_ext \- check whether a handler exists for a particular client extension type .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -154,7 +153,7 @@ Returns 1 if a handler has been set, 0 otherwise. .IX Header "COPYRIGHT" Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_keylog_cb_func.3 b/linux_amd64/share/man/man3/SSL_CTX_keylog_cb_func.3 new file mode 120000 index 0000000..36368c4 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_keylog_cb_func.3 @@ -0,0 +1 @@ +SSL_CTX_set_keylog_callback.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_load_verify_locations.3 b/linux_amd64/share/man/man3/SSL_CTX_load_verify_locations.3 index d7c1c5a..af6efdb 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_load_verify_locations.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_load_verify_locations.3 @@ -124,60 +124,40 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_LOAD_VERIFY_LOCATIONS 3" -.TH SSL_CTX_LOAD_VERIFY_LOCATIONS 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_LOAD_VERIFY_LOCATIONS 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_CTX_load_verify_dir, SSL_CTX_load_verify_file, -SSL_CTX_load_verify_store, SSL_CTX_set_default_verify_paths, -SSL_CTX_set_default_verify_dir, SSL_CTX_set_default_verify_file, -SSL_CTX_set_default_verify_store, SSL_CTX_load_verify_locations -\&\- set default locations for trusted CA certificates +SSL_CTX_load_verify_locations, SSL_CTX_set_default_verify_paths, SSL_CTX_set_default_verify_dir, SSL_CTX_set_default_verify_file \- set default locations for trusted CA certificates .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include \& -\& int SSL_CTX_load_verify_dir(SSL_CTX *ctx, const char *CApath); -\& int SSL_CTX_load_verify_file(SSL_CTX *ctx, const char *CAfile); -\& int SSL_CTX_load_verify_store(SSL_CTX *ctx, const char *CAstore); +\& int SSL_CTX_load_verify_locations(SSL_CTX *ctx, const char *CAfile, +\& const char *CApath); \& \& int SSL_CTX_set_default_verify_paths(SSL_CTX *ctx); \& \& int SSL_CTX_set_default_verify_dir(SSL_CTX *ctx); +\& \& int SSL_CTX_set_default_verify_file(SSL_CTX *ctx); -\& int SSL_CTX_set_default_verify_store(SSL_CTX *ctx); -.Ve -.PP -Deprecated since OpenSSL 3.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): -.PP -.Vb 2 -\& int SSL_CTX_load_verify_locations(SSL_CTX *ctx, const char *CAfile, -\& const char *CApath); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -\&\fISSL_CTX_load_verify_dir()\fR, \fISSL_CTX_load_verify_file()\fR, -\&\fISSL_CTX_load_verify_store()\fR specifies the locations for \fBctx\fR, at -which \s-1CA\s0 certificates for verification purposes are located. The -certificates available via \fBCAfile\fR, \fBCApath\fR and \fBCAstore\fR are -trusted. +\&\fISSL_CTX_load_verify_locations()\fR specifies the locations for \fBctx\fR, at +which \s-1CA\s0 certificates for verification purposes are located. The certificates +available via \fBCAfile\fR and \fBCApath\fR are trusted. .PP \&\fISSL_CTX_set_default_verify_paths()\fR specifies that the default locations from -which \s-1CA\s0 certificates are loaded should be used. There is one default directory, -one default file and one default store. -The default \s-1CA\s0 certificates directory is called \fIcerts\fR in the default OpenSSL -directory, and this is also the default store. -Alternatively the \fB\s-1SSL_CERT_DIR\s0\fR environment variable can be defined to -override this location. -The default \s-1CA\s0 certificates file is called \fIcert.pem\fR in the default -OpenSSL directory. -Alternatively the \fB\s-1SSL_CERT_FILE\s0\fR environment variable can be defined to -override this location. +which \s-1CA\s0 certificates are loaded should be used. There is one default directory +and one default file. The default \s-1CA\s0 certificates directory is called \*(L"certs\*(R" in +the default OpenSSL directory. Alternatively the \s-1SSL_CERT_DIR\s0 environment +variable can be defined to override this location. The default \s-1CA\s0 certificates +file is called \*(L"cert.pem\*(R" in the default OpenSSL directory. Alternatively the +\&\s-1SSL_CERT_FILE\s0 environment variable can be defined to override this location. .PP \&\fISSL_CTX_set_default_verify_dir()\fR is similar to \&\fISSL_CTX_set_default_verify_paths()\fR except that just the default directory is @@ -186,10 +166,6 @@ used. \&\fISSL_CTX_set_default_verify_file()\fR is similar to \&\fISSL_CTX_set_default_verify_paths()\fR except that just the default file is used. -.PP -\&\fISSL_CTX_set_default_verify_store()\fR is similar to -\&\fISSL_CTX_set_default_verify_paths()\fR except that just the default store is -used. .SH "NOTES" .IX Header "NOTES" If \fBCAfile\fR is not \s-1NULL\s0, it points to a file of \s-1CA\s0 certificates in \s-1PEM\s0 @@ -229,11 +205,6 @@ matching the parameters is found, the verification process will be performed; no other certificates for the same parameters will be searched in case of failure. .PP -If \fBCAstore\fR is not \s-1NULL\s0, it's a \s-1URI\s0 for to a store, which may -represent a single container or a whole catalogue of containers. -Apart from the \fBCAstore\fR not necessarily being a local file or -directory, it's generally treated the same way as a \fBCApath\fR. -.PP In server mode, when requesting a client certificate, the server must send the list of CAs of which it will accept client certificates. This list is not influenced by the contents of \fBCAfile\fR or \fBCApath\fR and must @@ -299,9 +270,9 @@ for use as \fBCApath\fR: \&\fISSL_CTX_set_client_CA_list\fR\|(3) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_new.3 b/linux_amd64/share/man/man3/SSL_CTX_new.3 index 6aa6f19..121ecc1 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_new.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_new.3 @@ -124,30 +124,18 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_NEW 3" -.TH SSL_CTX_NEW 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_NEW 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -TLSv1_2_method, TLSv1_2_server_method, TLSv1_2_client_method, -SSL_CTX_new, SSL_CTX_new_with_libctx, SSL_CTX_up_ref, SSLv3_method, -SSLv3_server_method, SSLv3_client_method, TLSv1_method, TLSv1_server_method, -TLSv1_client_method, TLSv1_1_method, TLSv1_1_server_method, -TLSv1_1_client_method, TLS_method, TLS_server_method, TLS_client_method, -SSLv23_method, SSLv23_server_method, SSLv23_client_method, DTLS_method, -DTLS_server_method, DTLS_client_method, DTLSv1_method, DTLSv1_server_method, -DTLSv1_client_method, DTLSv1_2_method, DTLSv1_2_server_method, -DTLSv1_2_client_method -\&\- create a new SSL_CTX object as framework for TLS/SSL or DTLS enabled -functions +TLSv1_2_method, TLSv1_2_server_method, TLSv1_2_client_method, SSL_CTX_new, SSL_CTX_up_ref, SSLv3_method, SSLv3_server_method, SSLv3_client_method, TLSv1_method, TLSv1_server_method, TLSv1_client_method, TLSv1_1_method, TLSv1_1_server_method, TLSv1_1_client_method, TLS_method, TLS_server_method, TLS_client_method, SSLv23_method, SSLv23_server_method, SSLv23_client_method, DTLS_method, DTLS_server_method, DTLS_client_method, DTLSv1_method, DTLSv1_server_method, DTLSv1_client_method, DTLSv1_2_method, DTLSv1_2_server_method, DTLSv1_2_client_method \&\- create a new SSL_CTX object as framework for TLS/SSL or DTLS enabled functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include \& -\& SSL_CTX *SSL_CTX_new_with_libctx(OPENSSL_CTX *libctx, const char *propq, -\& const SSL_METHOD *method); \& SSL_CTX *SSL_CTX_new(const SSL_METHOD *method); \& int SSL_CTX_up_ref(SSL_CTX *ctx); \& @@ -201,28 +189,19 @@ functions .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -\&\fISSL_CTX_new_with_libctx()\fR creates a new \fB\s-1SSL_CTX\s0\fR object as a framework to -establish \s-1TLS/SSL\s0 or \s-1DTLS\s0 enabled connections using the library context -\&\fIlibctx\fR (see \s-1\fIOPENSSL_CTX\s0\fR\|(3)). Any cryptographic algorithms that are used -by any \fB\s-1SSL\s0\fR objects created from this \fB\s-1SSL_CTX\s0\fR will be fetched from the -\&\fIlibctx\fR using the property query string \fIpropq\fR (see -\&\*(L"Fetching algorithms\*(R" in \fIprovider\fR\|(7). Either or both the \fIlibctx\fR or \fIpropq\fR -parameters may be \s-1NULL\s0. -.PP -\&\fISSL_CTX_new()\fR does the same as \fISSL_CTX_new_with_libctx()\fR except that the default -library context is used and no property query string is specified. -.PP -An \fB\s-1SSL_CTX\s0\fR object is reference counted. Creating an \fB\s-1SSL_CTX\s0\fR object for the -first time increments the reference count. Freeing the \fB\s-1SSL_CTX\s0\fR (using -SSL_CTX_free) decrements it. When the reference count drops to zero, any memory -or resources allocated to the \fB\s-1SSL_CTX\s0\fR object are freed. \fISSL_CTX_up_ref()\fR -increments the reference count for an existing \fB\s-1SSL_CTX\s0\fR structure. +\&\fISSL_CTX_new()\fR creates a new \fB\s-1SSL_CTX\s0\fR object as framework to +establish \s-1TLS/SSL\s0 or \s-1DTLS\s0 enabled connections. An \fB\s-1SSL_CTX\s0\fR object is +reference counted. Creating an \fB\s-1SSL_CTX\s0\fR object for the first time increments +the reference count. Freeing it (using SSL_CTX_free) decrements it. When the +reference count drops to zero, any memory or resources allocated to the +\&\fB\s-1SSL_CTX\s0\fR object are freed. \fISSL_CTX_up_ref()\fR increments the reference count for +an existing \fB\s-1SSL_CTX\s0\fR structure. .SH "NOTES" .IX Header "NOTES" -The \s-1SSL_CTX\s0 object uses \fImethod\fR as the connection method. +The \s-1SSL_CTX\s0 object uses \fBmethod\fR as connection method. The methods exist in a generic type (for client and server use), a server only type, and a client only type. -\&\fBmethod\fR can be one of the following types: +\&\fBmethod\fR can be of the following types: .IP "\fITLS_method()\fR, \fITLS_server_method()\fR, \fITLS_client_method()\fR" 4 .IX Item "TLS_method(), TLS_server_method(), TLS_client_method()" These are the general-purpose \fIversion-flexible\fR \s-1SSL/TLS\s0 methods. @@ -328,13 +307,11 @@ were deprecated and the preferred \fITLS_method()\fR, \fITLS_server_method()\fR and \fITLS_client_method()\fR functions were added in OpenSSL 1.1.0. .PP All version-specific methods were deprecated in OpenSSL 1.1.0. -.PP -\&\fISSL_CTX_new_with_libctx()\fR was added in OpenSSL 3.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_remove_session.3 b/linux_amd64/share/man/man3/SSL_CTX_remove_session.3 new file mode 120000 index 0000000..4253ae4 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_remove_session.3 @@ -0,0 +1 @@ +SSL_CTX_add_session.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_select_current_cert.3 b/linux_amd64/share/man/man3/SSL_CTX_select_current_cert.3 new file mode 120000 index 0000000..0ef0f3c --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_select_current_cert.3 @@ -0,0 +1 @@ +SSL_CTX_add1_chain_cert.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_sess_accept.3 b/linux_amd64/share/man/man3/SSL_CTX_sess_accept.3 new file mode 120000 index 0000000..21eacf6 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_sess_accept.3 @@ -0,0 +1 @@ +SSL_CTX_sess_number.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_sess_accept_good.3 b/linux_amd64/share/man/man3/SSL_CTX_sess_accept_good.3 new file mode 120000 index 0000000..21eacf6 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_sess_accept_good.3 @@ -0,0 +1 @@ +SSL_CTX_sess_number.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_sess_accept_renegotiate.3 b/linux_amd64/share/man/man3/SSL_CTX_sess_accept_renegotiate.3 new file mode 120000 index 0000000..21eacf6 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_sess_accept_renegotiate.3 @@ -0,0 +1 @@ +SSL_CTX_sess_number.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_sess_cache_full.3 b/linux_amd64/share/man/man3/SSL_CTX_sess_cache_full.3 new file mode 120000 index 0000000..21eacf6 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_sess_cache_full.3 @@ -0,0 +1 @@ +SSL_CTX_sess_number.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_sess_cb_hits.3 b/linux_amd64/share/man/man3/SSL_CTX_sess_cb_hits.3 new file mode 120000 index 0000000..21eacf6 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_sess_cb_hits.3 @@ -0,0 +1 @@ +SSL_CTX_sess_number.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_sess_connect.3 b/linux_amd64/share/man/man3/SSL_CTX_sess_connect.3 new file mode 120000 index 0000000..21eacf6 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_sess_connect.3 @@ -0,0 +1 @@ +SSL_CTX_sess_number.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_sess_connect_good.3 b/linux_amd64/share/man/man3/SSL_CTX_sess_connect_good.3 new file mode 120000 index 0000000..21eacf6 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_sess_connect_good.3 @@ -0,0 +1 @@ +SSL_CTX_sess_number.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_sess_connect_renegotiate.3 b/linux_amd64/share/man/man3/SSL_CTX_sess_connect_renegotiate.3 new file mode 120000 index 0000000..21eacf6 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_sess_connect_renegotiate.3 @@ -0,0 +1 @@ +SSL_CTX_sess_number.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_sess_get_cache_size.3 b/linux_amd64/share/man/man3/SSL_CTX_sess_get_cache_size.3 new file mode 120000 index 0000000..01e6e2a --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_sess_get_cache_size.3 @@ -0,0 +1 @@ +SSL_CTX_sess_set_cache_size.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_sess_get_get_cb.3 b/linux_amd64/share/man/man3/SSL_CTX_sess_get_get_cb.3 new file mode 120000 index 0000000..7bc2a9c --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_sess_get_get_cb.3 @@ -0,0 +1 @@ +SSL_CTX_sess_set_get_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_sess_get_new_cb.3 b/linux_amd64/share/man/man3/SSL_CTX_sess_get_new_cb.3 new file mode 120000 index 0000000..7bc2a9c --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_sess_get_new_cb.3 @@ -0,0 +1 @@ +SSL_CTX_sess_set_get_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_sess_get_remove_cb.3 b/linux_amd64/share/man/man3/SSL_CTX_sess_get_remove_cb.3 new file mode 120000 index 0000000..7bc2a9c --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_sess_get_remove_cb.3 @@ -0,0 +1 @@ +SSL_CTX_sess_set_get_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_sess_hits.3 b/linux_amd64/share/man/man3/SSL_CTX_sess_hits.3 new file mode 120000 index 0000000..21eacf6 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_sess_hits.3 @@ -0,0 +1 @@ +SSL_CTX_sess_number.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_sess_misses.3 b/linux_amd64/share/man/man3/SSL_CTX_sess_misses.3 new file mode 120000 index 0000000..21eacf6 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_sess_misses.3 @@ -0,0 +1 @@ +SSL_CTX_sess_number.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_sess_number.3 b/linux_amd64/share/man/man3/SSL_CTX_sess_number.3 index d399c7e..3281d7e 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_sess_number.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_sess_number.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_SESS_NUMBER 3" -.TH SSL_CTX_SESS_NUMBER 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_SESS_NUMBER 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -202,7 +202,7 @@ The functions return the values indicated in the \s-1DESCRIPTION\s0 section. .IX Header "COPYRIGHT" Copyright 2001\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_sess_set_cache_size.3 b/linux_amd64/share/man/man3/SSL_CTX_sess_set_cache_size.3 index 99d80e4..78c43a3 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_sess_set_cache_size.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_sess_set_cache_size.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_SESS_SET_CACHE_SIZE 3" -.TH SSL_CTX_SESS_SET_CACHE_SIZE 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_SESS_SET_CACHE_SIZE 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -178,7 +178,7 @@ expiration of sessions. .IX Header "COPYRIGHT" Copyright 2001\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_sess_set_get_cb.3 b/linux_amd64/share/man/man3/SSL_CTX_sess_set_get_cb.3 index ca74eca..55a3217 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_sess_set_get_cb.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_sess_set_get_cb.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_SESS_SET_GET_CB 3" -.TH SSL_CTX_SESS_SET_GET_CB 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_SESS_SET_GET_CB 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -236,7 +236,7 @@ return different callback function pointers respectively. .IX Header "COPYRIGHT" Copyright 2001\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_sess_set_new_cb.3 b/linux_amd64/share/man/man3/SSL_CTX_sess_set_new_cb.3 new file mode 120000 index 0000000..7bc2a9c --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_sess_set_new_cb.3 @@ -0,0 +1 @@ +SSL_CTX_sess_set_get_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_sess_set_remove_cb.3 b/linux_amd64/share/man/man3/SSL_CTX_sess_set_remove_cb.3 new file mode 120000 index 0000000..7bc2a9c --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_sess_set_remove_cb.3 @@ -0,0 +1 @@ +SSL_CTX_sess_set_get_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_sess_timeouts.3 b/linux_amd64/share/man/man3/SSL_CTX_sess_timeouts.3 new file mode 120000 index 0000000..21eacf6 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_sess_timeouts.3 @@ -0,0 +1 @@ +SSL_CTX_sess_number.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_sessions.3 b/linux_amd64/share/man/man3/SSL_CTX_sessions.3 index 6b9fc32..84c4efc 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_sessions.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_sessions.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_SESSIONS 3" -.TH SSL_CTX_SESSIONS 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_SESSIONS 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -163,7 +163,7 @@ modified directly but by using the .IX Header "COPYRIGHT" Copyright 2001\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_set0_CA_list.3 b/linux_amd64/share/man/man3/SSL_CTX_set0_CA_list.3 index 568537a..feca283 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_set0_CA_list.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_set0_CA_list.3 @@ -124,26 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_SET0_CA_LIST 3" -.TH SSL_CTX_SET0_CA_LIST 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_SET0_CA_LIST 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_CTX_set_client_CA_list, -SSL_set_client_CA_list, -SSL_get_client_CA_list, -SSL_CTX_get_client_CA_list, -SSL_CTX_add_client_CA, -SSL_add_client_CA, -SSL_set0_CA_list, -SSL_CTX_set0_CA_list, -SSL_get0_CA_list, -SSL_CTX_get0_CA_list, -SSL_add1_to_CA_list, -SSL_CTX_add1_to_CA_list, -SSL_get0_peer_CA_list -\&\- get or set CA list +SSL_CTX_set_client_CA_list, SSL_set_client_CA_list, SSL_get_client_CA_list, SSL_CTX_get_client_CA_list, SSL_CTX_add_client_CA, SSL_add_client_CA, SSL_set0_CA_list, SSL_CTX_set0_CA_list, SSL_get0_CA_list, SSL_CTX_get0_CA_list, SSL_add1_to_CA_list, SSL_CTX_add1_to_CA_list, SSL_get0_peer_CA_list \&\- get or set CA list .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -303,9 +290,9 @@ Scan all certificates in \fBCAfile\fR and list them as acceptable CAs: \&\fISSL_CTX_load_verify_locations\fR\|(3) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_set0_chain.3 b/linux_amd64/share/man/man3/SSL_CTX_set0_chain.3 new file mode 120000 index 0000000..0ef0f3c --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set0_chain.3 @@ -0,0 +1 @@ +SSL_CTX_add1_chain_cert.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_set0_chain_cert_store.3 b/linux_amd64/share/man/man3/SSL_CTX_set0_chain_cert_store.3 new file mode 120000 index 0000000..b64361d --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set0_chain_cert_store.3 @@ -0,0 +1 @@ +SSL_CTX_set1_verify_cert_store.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_set0_security_ex_data.3 b/linux_amd64/share/man/man3/SSL_CTX_set0_security_ex_data.3 new file mode 120000 index 0000000..81271f0 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set0_security_ex_data.3 @@ -0,0 +1 @@ +SSL_CTX_set_security_level.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_set0_verify_cert_store.3 b/linux_amd64/share/man/man3/SSL_CTX_set0_verify_cert_store.3 new file mode 120000 index 0000000..b64361d --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set0_verify_cert_store.3 @@ -0,0 +1 @@ +SSL_CTX_set1_verify_cert_store.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_set1_cert_store.3 b/linux_amd64/share/man/man3/SSL_CTX_set1_cert_store.3 new file mode 120000 index 0000000..87080a3 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set1_cert_store.3 @@ -0,0 +1 @@ +SSL_CTX_set_cert_store.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_set1_chain.3 b/linux_amd64/share/man/man3/SSL_CTX_set1_chain.3 new file mode 120000 index 0000000..0ef0f3c --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set1_chain.3 @@ -0,0 +1 @@ +SSL_CTX_add1_chain_cert.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_set1_chain_cert_store.3 b/linux_amd64/share/man/man3/SSL_CTX_set1_chain_cert_store.3 new file mode 120000 index 0000000..b64361d --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set1_chain_cert_store.3 @@ -0,0 +1 @@ +SSL_CTX_set1_verify_cert_store.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_set1_client_sigalgs.3 b/linux_amd64/share/man/man3/SSL_CTX_set1_client_sigalgs.3 new file mode 120000 index 0000000..883172c --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set1_client_sigalgs.3 @@ -0,0 +1 @@ +SSL_CTX_set1_sigalgs.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_set1_client_sigalgs_list.3 b/linux_amd64/share/man/man3/SSL_CTX_set1_client_sigalgs_list.3 new file mode 120000 index 0000000..883172c --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set1_client_sigalgs_list.3 @@ -0,0 +1 @@ +SSL_CTX_set1_sigalgs.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_set1_curves.3 b/linux_amd64/share/man/man3/SSL_CTX_set1_curves.3 index 161b369..576cfa7 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_set1_curves.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_set1_curves.3 @@ -124,17 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_SET1_CURVES 3" -.TH SSL_CTX_SET1_CURVES 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_SET1_CURVES 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_CTX_set1_groups, SSL_CTX_set1_groups_list, SSL_set1_groups, -SSL_set1_groups_list, SSL_get1_groups, SSL_get_shared_group, -SSL_get_negotiated_group, SSL_CTX_set1_curves, SSL_CTX_set1_curves_list, -SSL_set1_curves, SSL_set1_curves_list, SSL_get1_curves, SSL_get_shared_curve -\&\- EC supported curve functions +SSL_CTX_set1_groups, SSL_CTX_set1_groups_list, SSL_set1_groups, SSL_set1_groups_list, SSL_get1_groups, SSL_get_shared_group, SSL_CTX_set1_curves, SSL_CTX_set1_curves_list, SSL_set1_curves, SSL_set1_curves_list, SSL_get1_curves, SSL_get_shared_curve \&\- EC supported curve functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -148,7 +144,6 @@ SSL_set1_curves, SSL_set1_curves_list, SSL_get1_curves, SSL_get_shared_curve \& \& int SSL_get1_groups(SSL *ssl, int *groups); \& int SSL_get_shared_group(SSL *s, int n); -\& int SSL_get_negotiated_group(SSL *s); \& \& int SSL_CTX_set1_curves(SSL_CTX *ctx, int *clist, int clistlen); \& int SSL_CTX_set1_curves_list(SSL_CTX *ctx, char *list); @@ -168,16 +163,11 @@ least one group in the list. groups in the array \fBglist\fR. The array consist of all NIDs of groups in preference order. For a \s-1TLS\s0 client the groups are used directly in the supported groups extension. For a \s-1TLS\s0 server the groups are used to -determine the set of shared groups. Currently supported groups for -\&\fBTLSv1.3\fR are \fBNID_X9_62_prime256v1\fR, \fBNID_secp384r1\fR, \fBNID_secp521r1\fR, -\&\fB\s-1NID_X25519\s0\fR, \fB\s-1NID_X448\s0\fR, \fBNID_ffdhe2048\fR, \fBNID_ffdhe3072\fR, -\&\fBNID_ffdhe4096\fR, \fBNID_ffdhe6144\fR and \fBNID_ffdhe8192\fR. +determine the set of shared groups. .PP \&\fISSL_CTX_set1_groups_list()\fR sets the supported groups for \fBctx\fR to string \fBlist\fR. The string is a colon separated list of group NIDs or -names, for example \*(L"P\-521:P\-384:P\-256:X25519:ffdhe2048\*(R". Currently supported -groups for \fBTLSv1.3\fR are \fBP\-256\fR, \fBP\-384\fR, \fBP\-521\fR, \fBX25519\fR, \fBX448\fR, -\&\fBffdhe2048\fR, \fBffdhe3072\fR, \fBffdhe4096\fR, \fBffdhe6144\fR, \fBffdhe8192\fR. +names, for example \*(L"P\-521:P\-384:P\-256\*(R". .PP \&\fISSL_set1_groups()\fR and \fISSL_set1_groups_list()\fR are similar except they set supported groups for the \s-1SSL\s0 structure \fBssl\fR. @@ -197,9 +187,6 @@ most applications will only be interested in the first shared group so \fBn\fR is normally set to zero. If the value \fBn\fR is out of range, NID_undef is returned. .PP -\&\fISSL_get_negotiated_group()\fR returns the negotiated group on a TLSv1.3 connection -for key exchange. This can be called by either client or server. -.PP All these functions are implemented as macros. .PP The curve functions are synonyms for the equivalently named group functions and @@ -225,24 +212,18 @@ is \-1. .PP When called on a client \fBssl\fR, \fISSL_get_shared_group()\fR has no meaning and returns \-1. -.PP -\&\fISSL_get_negotiated_group()\fR returns the \s-1NID\s0 of the negotiated group on a -TLSv1.3 connection for key exchange. Or it returns NID_undef if no negotiated -group. .SH "SEE ALSO" .IX Header "SEE ALSO" -\&\fIssl\fR\|(7), \&\fISSL_CTX_add_extra_chain_cert\fR\|(3) .SH "HISTORY" .IX Header "HISTORY" The curve functions were added in OpenSSL 1.0.2. The equivalent group -functions were added in OpenSSL 1.1.1. The \fISSL_get_negotiated_group()\fR function -was added in OpenSSL 3.0.0. +functions were added in OpenSSL 1.1.1. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2013\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_set1_curves_list.3 b/linux_amd64/share/man/man3/SSL_CTX_set1_curves_list.3 new file mode 120000 index 0000000..0884991 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set1_curves_list.3 @@ -0,0 +1 @@ +SSL_CTX_set1_curves.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_set1_groups.3 b/linux_amd64/share/man/man3/SSL_CTX_set1_groups.3 new file mode 120000 index 0000000..0884991 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set1_groups.3 @@ -0,0 +1 @@ +SSL_CTX_set1_curves.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_set1_groups_list.3 b/linux_amd64/share/man/man3/SSL_CTX_set1_groups_list.3 new file mode 120000 index 0000000..0884991 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set1_groups_list.3 @@ -0,0 +1 @@ +SSL_CTX_set1_curves.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_set1_param.3 b/linux_amd64/share/man/man3/SSL_CTX_set1_param.3 new file mode 120000 index 0000000..8da5c7e --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set1_param.3 @@ -0,0 +1 @@ +SSL_CTX_get0_param.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_set1_sigalgs.3 b/linux_amd64/share/man/man3/SSL_CTX_set1_sigalgs.3 index 709d0e4..ce7d266 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_set1_sigalgs.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_set1_sigalgs.3 @@ -124,16 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_SET1_SIGALGS 3" -.TH SSL_CTX_SET1_SIGALGS 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_SET1_SIGALGS 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_CTX_set1_sigalgs, SSL_set1_sigalgs, SSL_CTX_set1_sigalgs_list, -SSL_set1_sigalgs_list, SSL_CTX_set1_client_sigalgs, -SSL_set1_client_sigalgs, SSL_CTX_set1_client_sigalgs_list, -SSL_set1_client_sigalgs_list \- set supported signature algorithms +SSL_CTX_set1_sigalgs, SSL_set1_sigalgs, SSL_CTX_set1_sigalgs_list, SSL_set1_sigalgs_list, SSL_CTX_set1_client_sigalgs, SSL_set1_client_sigalgs, SSL_CTX_set1_client_sigalgs_list, SSL_set1_client_sigalgs_list \- set supported signature algorithms .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -235,9 +232,9 @@ using a string: \&\fISSL_CONF_CTX_new\fR\|(3) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2015\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2015\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_set1_sigalgs_list.3 b/linux_amd64/share/man/man3/SSL_CTX_set1_sigalgs_list.3 new file mode 120000 index 0000000..883172c --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set1_sigalgs_list.3 @@ -0,0 +1 @@ +SSL_CTX_set1_sigalgs.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_set1_verify_cert_store.3 b/linux_amd64/share/man/man3/SSL_CTX_set1_verify_cert_store.3 index 0c6743d..85ea5ce 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_set1_verify_cert_store.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_set1_verify_cert_store.3 @@ -124,17 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_SET1_VERIFY_CERT_STORE 3" -.TH SSL_CTX_SET1_VERIFY_CERT_STORE 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_SET1_VERIFY_CERT_STORE 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_CTX_set0_verify_cert_store, SSL_CTX_set1_verify_cert_store, -SSL_CTX_set0_chain_cert_store, SSL_CTX_set1_chain_cert_store, -SSL_set0_verify_cert_store, SSL_set1_verify_cert_store, -SSL_set0_chain_cert_store, SSL_set1_chain_cert_store \- set certificate -verification or chain store +SSL_CTX_set0_verify_cert_store, SSL_CTX_set1_verify_cert_store, SSL_CTX_set0_chain_cert_store, SSL_CTX_set1_chain_cert_store, SSL_set0_verify_cert_store, SSL_set1_verify_cert_store, SSL_set0_chain_cert_store, SSL_set1_chain_cert_store \- set certificate verification or chain store .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -197,7 +193,6 @@ versions of OpenSSL. All these functions return 1 for success and 0 for failure. .SH "SEE ALSO" .IX Header "SEE ALSO" -\&\fIssl\fR\|(7), \&\fISSL_CTX_add_extra_chain_cert\fR\|(3) \&\fISSL_CTX_set0_chain\fR\|(3) \&\fISSL_CTX_set1_chain\fR\|(3) @@ -216,7 +211,7 @@ These functions were added in OpenSSL 1.0.2. .IX Header "COPYRIGHT" Copyright 2013\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_allow_early_data_cb.3 b/linux_amd64/share/man/man3/SSL_CTX_set_allow_early_data_cb.3 new file mode 120000 index 0000000..f582a21 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set_allow_early_data_cb.3 @@ -0,0 +1 @@ +SSL_read_early_data.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_alpn_protos.3 b/linux_amd64/share/man/man3/SSL_CTX_set_alpn_protos.3 new file mode 120000 index 0000000..710ee18 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set_alpn_protos.3 @@ -0,0 +1 @@ +SSL_CTX_set_alpn_select_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_alpn_select_cb.3 b/linux_amd64/share/man/man3/SSL_CTX_set_alpn_select_cb.3 index 081eada..a0cf9a1 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_set_alpn_select_cb.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_set_alpn_select_cb.3 @@ -124,16 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_SET_ALPN_SELECT_CB 3" -.TH SSL_CTX_SET_ALPN_SELECT_CB 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_SET_ALPN_SELECT_CB 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_CTX_set_alpn_protos, SSL_set_alpn_protos, SSL_CTX_set_alpn_select_cb, -SSL_CTX_set_next_proto_select_cb, SSL_CTX_set_next_protos_advertised_cb, -SSL_select_next_proto, SSL_get0_alpn_selected, SSL_get0_next_proto_negotiated -\&\- handle application layer protocol negotiation (ALPN) +SSL_CTX_set_alpn_protos, SSL_set_alpn_protos, SSL_CTX_set_alpn_select_cb, SSL_CTX_set_next_proto_select_cb, SSL_CTX_set_next_protos_advertised_cb, SSL_select_next_proto, SSL_get0_alpn_selected, SSL_get0_next_proto_negotiated \&\- handle application layer protocol negotiation (ALPN) .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -302,7 +299,7 @@ will be included in the ServerHello. .IX Header "COPYRIGHT" Copyright 2016\-2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_block_padding.3 b/linux_amd64/share/man/man3/SSL_CTX_set_block_padding.3 new file mode 120000 index 0000000..c7bb118 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set_block_padding.3 @@ -0,0 +1 @@ +SSL_CTX_set_record_padding_callback.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_cert_cb.3 b/linux_amd64/share/man/man3/SSL_CTX_set_cert_cb.3 index 0ffc766..789db71 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_set_cert_cb.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_set_cert_cb.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_SET_CERT_CB 3" -.TH SSL_CTX_SET_CERT_CB 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_SET_CERT_CB 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -198,7 +198,7 @@ support it will \fBnot\fR be used. .IX Header "COPYRIGHT" Copyright 2014\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_cert_store.3 b/linux_amd64/share/man/man3/SSL_CTX_set_cert_store.3 index 87e296c..ffe21a2 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_set_cert_store.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_set_cert_store.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_SET_CERT_STORE 3" -.TH SSL_CTX_SET_CERT_STORE 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_SET_CERT_STORE 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -204,7 +204,7 @@ functions such as \fISSL_CTX_set1_verify_cert_store()\fR instead. .IX Header "COPYRIGHT" Copyright 2001\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_cert_verify_callback.3 b/linux_amd64/share/man/man3/SSL_CTX_set_cert_verify_callback.3 index 703a4d5..017b149 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_set_cert_verify_callback.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_set_cert_verify_callback.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_SET_CERT_VERIFY_CALLBACK 3" -.TH SSL_CTX_SET_CERT_VERIFY_CALLBACK 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_SET_CERT_VERIFY_CALLBACK 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -194,7 +194,7 @@ the \fBverify_callback\fR function. .IX Header "COPYRIGHT" Copyright 2001\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_cipher_list.3 b/linux_amd64/share/man/man3/SSL_CTX_set_cipher_list.3 index 05a2053..ee85197 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_set_cipher_list.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_set_cipher_list.3 @@ -124,19 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_SET_CIPHER_LIST 3" -.TH SSL_CTX_SET_CIPHER_LIST 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_SET_CIPHER_LIST 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_CTX_set_cipher_list, -SSL_set_cipher_list, -SSL_CTX_set_ciphersuites, -SSL_set_ciphersuites, -OSSL_default_cipher_list, -OSSL_default_ciphersuites -\&\- choose list of available SSL_CIPHERs +SSL_CTX_set_cipher_list, SSL_set_cipher_list, SSL_CTX_set_ciphersuites, SSL_set_ciphersuites \&\- choose list of available SSL_CIPHERs .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -147,15 +141,12 @@ OSSL_default_ciphersuites \& \& int SSL_CTX_set_ciphersuites(SSL_CTX *ctx, const char *str); \& int SSL_set_ciphersuites(SSL *s, const char *str); -\& -\& const char *OSSL_default_cipher_list(void); -\& const char *OSSL_default_ciphersuites(void); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" \&\fISSL_CTX_set_cipher_list()\fR sets the list of available ciphers (TLSv1.2 and below) for \fBctx\fR using the control string \fBstr\fR. The format of the string is described -in \fIopenssl\-ciphers\fR\|(1). The list of ciphers is inherited by all +in \fIciphers\fR\|(1). The list of ciphers is inherited by all \&\fBssl\fR objects created from \fBctx\fR. This function does not impact TLSv1.3 ciphersuites. Use \fISSL_CTX_set_ciphersuites()\fR to configure those. .PP @@ -184,10 +175,6 @@ An empty list is permissible. The default value for the this setting is: .PP \&\fISSL_set_ciphersuites()\fR is the same as \fISSL_CTX_set_ciphersuites()\fR except it configures the ciphersuites for \fBssl\fR. -.PP -\&\fIOSSL_default_cipher_list()\fR returns the default cipher string for TLSv1.2 -(and earlier) ciphers. \fIOSSL_default_ciphersuites()\fR returns the default -cipher string for TLSv1.3 ciphersuites. .SH "NOTES" .IX Header "NOTES" The control string \fBstr\fR for \fISSL_CTX_set_cipher_list()\fR and @@ -218,10 +205,6 @@ client only supports export \s-1RSA\s0 ciphers with an asymmetric key length of 512 bits and the server is not configured to use temporary \s-1RSA\s0 keys), the \*(L"no shared cipher\*(R" (\s-1SSL_R_NO_SHARED_CIPHER\s0) error is generated and the handshake will fail. -.PP -\&\fIOSSL_default_cipher_list()\fR and \fIOSSL_default_ciphersuites()\fR replace -\&\s-1SSL_DEFAULT_CIPHER_LIST\s0 and \s-1TLS_DEFAULT_CIPHERSUITES\s0, respectively. The -cipher list defines are deprecated as of 3.0. .SH "RETURN VALUES" .IX Header "RETURN VALUES" \&\fISSL_CTX_set_cipher_list()\fR and \fISSL_set_cipher_list()\fR return 1 if any cipher @@ -234,15 +217,12 @@ ciphersuite list was configured, and 0 otherwise. \&\fIssl\fR\|(7), \fISSL_get_ciphers\fR\|(3), \&\fISSL_CTX_use_certificate\fR\|(3), \&\fISSL_CTX_set_tmp_dh_callback\fR\|(3), -\&\fIopenssl\-ciphers\fR\|(1) -.SH "HISTORY" -.IX Header "HISTORY" -\&\fIOSSL_default_cipher_list()\fR and \fIOSSL_default_ciphersites()\fR are new in 3.0. +\&\fIciphers\fR\|(1) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_ciphersuites.3 b/linux_amd64/share/man/man3/SSL_CTX_set_ciphersuites.3 new file mode 120000 index 0000000..24071b1 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set_ciphersuites.3 @@ -0,0 +1 @@ +SSL_CTX_set_cipher_list.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_client_CA_list.3 b/linux_amd64/share/man/man3/SSL_CTX_set_client_CA_list.3 new file mode 120000 index 0000000..bfb7e21 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set_client_CA_list.3 @@ -0,0 +1 @@ +SSL_CTX_set0_CA_list.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_client_cert_cb.3 b/linux_amd64/share/man/man3/SSL_CTX_set_client_cert_cb.3 index 163ccdc..9eeb453 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_set_client_cert_cb.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_set_client_cert_cb.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_SET_CLIENT_CERT_CB 3" -.TH SSL_CTX_SET_CLIENT_CERT_CB 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_SET_CLIENT_CERT_CB 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -226,7 +226,7 @@ and create a new one to return to the previous state. .IX Header "COPYRIGHT" Copyright 2002\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_client_hello_cb.3 b/linux_amd64/share/man/man3/SSL_CTX_set_client_hello_cb.3 index b60cb10..90143b3 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_set_client_hello_cb.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_set_client_hello_cb.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_SET_CLIENT_HELLO_CB 3" -.TH SSL_CTX_SET_CLIENT_HELLO_CB 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_SET_CLIENT_HELLO_CB 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -154,7 +154,7 @@ SSL_CTX_set_client_hello_cb, SSL_client_hello_cb_fn, SSL_client_hello_isv2, SSL_ \&\fISSL_CTX_set_client_hello_cb()\fR sets the callback function, which is automatically called during the early stages of ClientHello processing on the server. The argument supplied when setting the callback is passed back to the -callback at run time. A callback that returns failure (0) will cause the +callback at runtime. A callback that returns failure (0) will cause the connection to terminate, and callbacks returning failure should indicate what alert value is to be sent in the \fBal\fR parameter. A callback may also return a negative value to suspend the handshake, and the handshake @@ -235,7 +235,7 @@ should not be assumed to be valid. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIssl\fR\|(7), \fISSL_CTX_set_tlsext_servername_callback\fR\|(3), -\&\fISSL_bytes_to_cipher_list\fR\|(3) +SSL_bytes_to_cipher_list .SH "HISTORY" .IX Header "HISTORY" The \s-1SSL\s0 ClientHello callback, \fISSL_client_hello_isv2()\fR, @@ -245,9 +245,9 @@ The \s-1SSL\s0 ClientHello callback, \fISSL_client_hello_isv2()\fR, were added in OpenSSL 1.1.1. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_cookie_generate_cb.3 b/linux_amd64/share/man/man3/SSL_CTX_set_cookie_generate_cb.3 new file mode 120000 index 0000000..631f25e --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set_cookie_generate_cb.3 @@ -0,0 +1 @@ +SSL_CTX_set_stateless_cookie_generate_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_cookie_verify_cb.3 b/linux_amd64/share/man/man3/SSL_CTX_set_cookie_verify_cb.3 new file mode 120000 index 0000000..631f25e --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set_cookie_verify_cb.3 @@ -0,0 +1 @@ +SSL_CTX_set_stateless_cookie_generate_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_ct_validation_callback.3 b/linux_amd64/share/man/man3/SSL_CTX_set_ct_validation_callback.3 index 3a1f59f..9b4b388 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_set_ct_validation_callback.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_set_ct_validation_callback.3 @@ -124,17 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_SET_CT_VALIDATION_CALLBACK 3" -.TH SSL_CTX_SET_CT_VALIDATION_CALLBACK 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_SET_CT_VALIDATION_CALLBACK 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -ssl_ct_validation_cb, -SSL_enable_ct, SSL_CTX_enable_ct, SSL_disable_ct, SSL_CTX_disable_ct, -SSL_set_ct_validation_callback, SSL_CTX_set_ct_validation_callback, -SSL_ct_is_enabled, SSL_CTX_ct_is_enabled \- -control Certificate Transparency policy +ssl_ct_validation_cb, SSL_enable_ct, SSL_CTX_enable_ct, SSL_disable_ct, SSL_CTX_disable_ct, SSL_set_ct_validation_callback, SSL_CTX_set_ct_validation_callback, SSL_ct_is_enabled, SSL_CTX_ct_is_enabled \- control Certificate Transparency policy .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -197,7 +193,7 @@ sufficient to allow the connection to continue. The \s-1TLS\s0 handshake is aborted if the verification mode is not \fB\s-1SSL_VERIFY_NONE\s0\fR and the callback returns a non-positive result. .PP -An arbitrary callback data argument, \fBarg\fR, can be passed in when setting +An arbitrary callback context argument, \fBarg\fR, can be passed in when setting the callback. This will be passed to the callback whenever it is invoked. Ownership of this context remains with the caller. @@ -260,7 +256,7 @@ callback) is set. .IX Header "COPYRIGHT" Copyright 2016\-2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_ctlog_list_file.3 b/linux_amd64/share/man/man3/SSL_CTX_set_ctlog_list_file.3 index 7c037be..485a426 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_set_ctlog_list_file.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_set_ctlog_list_file.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_SET_CTLOG_LIST_FILE 3" -.TH SSL_CTX_SET_CTLOG_LIST_FILE 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_SET_CTLOG_LIST_FILE 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_CTX_set_default_ctlog_list_file, SSL_CTX_set_ctlog_list_file \- -load a Certificate Transparency log list from a file +SSL_CTX_set_default_ctlog_list_file, SSL_CTX_set_ctlog_list_file \- load a Certificate Transparency log list from a file .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -151,7 +150,7 @@ See \fICTLOG_STORE_new\fR\|(3) for the file format. .SH "NOTES" .IX Header "NOTES" These functions will not clear the existing \s-1CT\s0 log list \- it will be appended -to. To replace the existing list, use \fISSL_CTX_set0_ctlog_store\fR\|(3) first. +to. To replace the existing list, use SSL_CTX_set0_ctlog_store first. .PP If an error occurs whilst parsing a particular log entry in the file, that log entry will be skipped. @@ -167,9 +166,9 @@ the case of an error, the log list may have been partially loaded. \&\fICTLOG_STORE_new\fR\|(3) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2016\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_current_cert.3 b/linux_amd64/share/man/man3/SSL_CTX_set_current_cert.3 new file mode 120000 index 0000000..0ef0f3c --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set_current_cert.3 @@ -0,0 +1 @@ +SSL_CTX_add1_chain_cert.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_default_ctlog_list_file.3 b/linux_amd64/share/man/man3/SSL_CTX_set_default_ctlog_list_file.3 new file mode 120000 index 0000000..a4dee0e --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set_default_ctlog_list_file.3 @@ -0,0 +1 @@ +SSL_CTX_set_ctlog_list_file.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_default_passwd_cb.3 b/linux_amd64/share/man/man3/SSL_CTX_set_default_passwd_cb.3 index 012c93c..eb36464 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_set_default_passwd_cb.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_set_default_passwd_cb.3 @@ -124,17 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_SET_DEFAULT_PASSWD_CB 3" -.TH SSL_CTX_SET_DEFAULT_PASSWD_CB 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_SET_DEFAULT_PASSWD_CB 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_CTX_set_default_passwd_cb, SSL_CTX_set_default_passwd_cb_userdata, -SSL_CTX_get_default_passwd_cb, SSL_CTX_get_default_passwd_cb_userdata, -SSL_set_default_passwd_cb, SSL_set_default_passwd_cb_userdata, -SSL_get_default_passwd_cb, SSL_get_default_passwd_cb_userdata \- set or -get passwd callback for encrypted PEM file handling +SSL_CTX_set_default_passwd_cb, SSL_CTX_set_default_passwd_cb_userdata, SSL_CTX_get_default_passwd_cb, SSL_CTX_get_default_passwd_cb_userdata, SSL_set_default_passwd_cb, SSL_set_default_passwd_cb_userdata, SSL_get_default_passwd_cb, SSL_get_default_passwd_cb_userdata \- set or get passwd callback for encrypted PEM file handling .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -229,7 +225,7 @@ added in OpenSSL 1.1.0. .IX Header "COPYRIGHT" Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_default_passwd_cb_userdata.3 b/linux_amd64/share/man/man3/SSL_CTX_set_default_passwd_cb_userdata.3 new file mode 120000 index 0000000..ced1a3d --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set_default_passwd_cb_userdata.3 @@ -0,0 +1 @@ +SSL_CTX_set_default_passwd_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_default_read_buffer_len.3 b/linux_amd64/share/man/man3/SSL_CTX_set_default_read_buffer_len.3 new file mode 120000 index 0000000..b7d62a1 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set_default_read_buffer_len.3 @@ -0,0 +1 @@ +SSL_CTX_set_split_send_fragment.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_default_verify_dir.3 b/linux_amd64/share/man/man3/SSL_CTX_set_default_verify_dir.3 new file mode 120000 index 0000000..3bd47a9 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set_default_verify_dir.3 @@ -0,0 +1 @@ +SSL_CTX_load_verify_locations.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_default_verify_file.3 b/linux_amd64/share/man/man3/SSL_CTX_set_default_verify_file.3 new file mode 120000 index 0000000..3bd47a9 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set_default_verify_file.3 @@ -0,0 +1 @@ +SSL_CTX_load_verify_locations.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_default_verify_paths.3 b/linux_amd64/share/man/man3/SSL_CTX_set_default_verify_paths.3 new file mode 120000 index 0000000..3bd47a9 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set_default_verify_paths.3 @@ -0,0 +1 @@ +SSL_CTX_load_verify_locations.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_ex_data.3 b/linux_amd64/share/man/man3/SSL_CTX_set_ex_data.3 new file mode 100644 index 0000000..1f9a87c --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set_ex_data.3 @@ -0,0 +1,173 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "SSL_CTX_SET_EX_DATA 3" +.TH SSL_CTX_SET_EX_DATA 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +SSL_CTX_get_ex_data, SSL_CTX_set_ex_data, SSL_get_ex_data, SSL_set_ex_data \&\- Store and retrieve extra data from the SSL_CTX, SSL or SSL_SESSION +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +.Vb 1 +\& #include +\& +\& void *SSL_CTX_get_ex_data(const SSL_CTX *s, int idx); +\& +\& int SSL_CTX_set_ex_data(SSL_CTX *s, int idx, void *arg); +\& +\& void *SSL_get_ex_data(const SSL *s, int idx); +\& +\& int SSL_set_ex_data(SSL *s, int idx, void *arg); +.Ve +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +SSL*\fI_set_ex_data()\fR functions can be used to store arbitrary user data into the +\&\fB\s-1SSL_CTX\s0\fR, or \fB\s-1SSL\s0\fR object. The user must supply a unique index +which they can subsequently use to retrieve the data using SSL*\fI_get_ex_data()\fR. +.PP +For more detailed information see \fICRYPTO_get_ex_data\fR\|(3) and +\&\fICRYPTO_set_ex_data\fR\|(3) which implement these functions and +\&\fICRYPTO_get_ex_new_index\fR\|(3) for generating a unique index. +.SH "RETURN VALUES" +.IX Header "RETURN VALUES" +The SSL*\fI_set_ex_data()\fR functions return 1 if the item is successfully stored +and 0 if it is not. +The SSL*\fI_get_ex_data()\fR functions return the ex_data pointer if successful, +otherwise \s-1NULL\s0. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fICRYPTO_get_ex_data\fR\|(3), \fICRYPTO_set_ex_data\fR\|(3), +\&\fICRYPTO_get_ex_new_index\fR\|(3) +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_generate_session_id.3 b/linux_amd64/share/man/man3/SSL_CTX_set_generate_session_id.3 index c3c8bfd..f370bf2 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_set_generate_session_id.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_set_generate_session_id.3 @@ -124,15 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_SET_GENERATE_SESSION_ID 3" -.TH SSL_CTX_SET_GENERATE_SESSION_ID 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_SET_GENERATE_SESSION_ID 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_CTX_set_generate_session_id, SSL_set_generate_session_id, -SSL_has_matching_session_id, GEN_SESSION_CB -\&\- manipulate generation of SSL session IDs (server only) +SSL_CTX_set_generate_session_id, SSL_set_generate_session_id, SSL_has_matching_session_id, GEN_SESSION_CB \&\- manipulate generation of SSL session IDs (server only) .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -252,9 +250,9 @@ server id given, and will fill the rest with pseudo random bytes: \&\fIssl\fR\|(7), \fISSL_get_version\fR\|(3) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2001\-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2001\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_info_callback.3 b/linux_amd64/share/man/man3/SSL_CTX_set_info_callback.3 index a7a0b54..30ba7ce 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_set_info_callback.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_set_info_callback.3 @@ -124,17 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_SET_INFO_CALLBACK 3" -.TH SSL_CTX_SET_INFO_CALLBACK 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_SET_INFO_CALLBACK 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_CTX_set_info_callback, -SSL_CTX_get_info_callback, -SSL_set_info_callback, -SSL_get_info_callback -\&\- handle information callback for SSL connections +SSL_CTX_set_info_callback, SSL_CTX_get_info_callback, SSL_set_info_callback, SSL_get_info_callback \&\- handle information callback for SSL connections .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -177,7 +173,7 @@ the callback function was called. If \fBret\fR is 0, an error condition occurred If an alert is handled, \s-1SSL_CB_ALERT\s0 is set and \fBret\fR specifies the alert information. .PP -\&\fBwhere\fR is a bit-mask made up of the following bits: +\&\fBwhere\fR is a bitmask made up of the following bits: .IP "\s-1SSL_CB_LOOP\s0" 4 .IX Item "SSL_CB_LOOP" Callback has been called to indicate state change or some other significant @@ -272,9 +268,9 @@ about alerts being handled and error messages to the \fBbio_err\fR \s-1BIO\s0. \&\fISSL_alert_type_string\fR\|(3) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2001\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2001\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_keylog_callback.3 b/linux_amd64/share/man/man3/SSL_CTX_set_keylog_callback.3 index 9ec3fd9..4d53f6e 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_set_keylog_callback.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_set_keylog_callback.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_SET_KEYLOG_CALLBACK 3" -.TH SSL_CTX_SET_KEYLOG_CALLBACK 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_SET_KEYLOG_CALLBACK 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_CTX_set_keylog_callback, SSL_CTX_get_keylog_callback, -SSL_CTX_keylog_cb_func \- logging TLS key material +SSL_CTX_set_keylog_callback, SSL_CTX_get_keylog_callback, SSL_CTX_keylog_cb_func \- logging TLS key material .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -169,7 +168,7 @@ file, the key logging callback should log \fBline\fR, followed by a newline. .IX Header "COPYRIGHT" Copyright 2016\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_max_cert_list.3 b/linux_amd64/share/man/man3/SSL_CTX_set_max_cert_list.3 index 23c250d..246f96b 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_set_max_cert_list.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_set_max_cert_list.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_SET_MAX_CERT_LIST 3" -.TH SSL_CTX_SET_MAX_CERT_LIST 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_SET_MAX_CERT_LIST 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -198,7 +198,7 @@ set value. .IX Header "COPYRIGHT" Copyright 2001\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_max_early_data.3 b/linux_amd64/share/man/man3/SSL_CTX_set_max_early_data.3 new file mode 120000 index 0000000..f582a21 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set_max_early_data.3 @@ -0,0 +1 @@ +SSL_read_early_data.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_max_pipelines.3 b/linux_amd64/share/man/man3/SSL_CTX_set_max_pipelines.3 new file mode 120000 index 0000000..b7d62a1 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set_max_pipelines.3 @@ -0,0 +1 @@ +SSL_CTX_set_split_send_fragment.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_max_proto_version.3 b/linux_amd64/share/man/man3/SSL_CTX_set_max_proto_version.3 new file mode 120000 index 0000000..64444be --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set_max_proto_version.3 @@ -0,0 +1 @@ +SSL_CTX_set_min_proto_version.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_max_send_fragment.3 b/linux_amd64/share/man/man3/SSL_CTX_set_max_send_fragment.3 new file mode 120000 index 0000000..b7d62a1 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set_max_send_fragment.3 @@ -0,0 +1 @@ +SSL_CTX_set_split_send_fragment.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_min_proto_version.3 b/linux_amd64/share/man/man3/SSL_CTX_set_min_proto_version.3 index 9f932a6..5fa354a 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_set_min_proto_version.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_set_min_proto_version.3 @@ -124,17 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_SET_MIN_PROTO_VERSION 3" -.TH SSL_CTX_SET_MIN_PROTO_VERSION 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_SET_MIN_PROTO_VERSION 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_CTX_set_min_proto_version, SSL_CTX_set_max_proto_version, -SSL_CTX_get_min_proto_version, SSL_CTX_get_max_proto_version, -SSL_set_min_proto_version, SSL_set_max_proto_version, -SSL_get_min_proto_version, SSL_get_max_proto_version \- Get and set minimum -and maximum supported protocol version +SSL_CTX_set_min_proto_version, SSL_CTX_set_max_proto_version, SSL_CTX_get_min_proto_version, SSL_CTX_get_max_proto_version, SSL_set_min_proto_version, SSL_set_max_proto_version, SSL_get_min_proto_version, SSL_get_max_proto_version \- Get and set minimum and maximum supported protocol version .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -179,7 +175,6 @@ lowest or highest protocol, respectively. All these functions are implemented using macros. .SH "SEE ALSO" .IX Header "SEE ALSO" -\&\fIssl\fR\|(7), \&\fISSL_CTX_set_options\fR\|(3), \fISSL_CONF_cmd\fR\|(3) .SH "HISTORY" .IX Header "HISTORY" @@ -189,7 +184,7 @@ were added in OpenSSL 1.1.1. .IX Header "COPYRIGHT" Copyright 2016\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_mode.3 b/linux_amd64/share/man/man3/SSL_CTX_set_mode.3 index 7cc2a9b..340ac85 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_set_mode.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_set_mode.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_SET_MODE 3" -.TH SSL_CTX_SET_MODE 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_SET_MODE 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -146,13 +146,13 @@ SSL_CTX_set_mode, SSL_CTX_clear_mode, SSL_set_mode, SSL_clear_mode, SSL_CTX_get_ .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -\&\fISSL_CTX_set_mode()\fR adds the mode set via bit-mask in \fBmode\fR to \fBctx\fR. +\&\fISSL_CTX_set_mode()\fR adds the mode set via bitmask in \fBmode\fR to \fBctx\fR. Options already set before are not cleared. -\&\fISSL_CTX_clear_mode()\fR removes the mode set via bit-mask in \fBmode\fR from \fBctx\fR. +\&\fISSL_CTX_clear_mode()\fR removes the mode set via bitmask in \fBmode\fR from \fBctx\fR. .PP -\&\fISSL_set_mode()\fR adds the mode set via bit-mask in \fBmode\fR to \fBssl\fR. +\&\fISSL_set_mode()\fR adds the mode set via bitmask in \fBmode\fR to \fBssl\fR. Options already set before are not cleared. -\&\fISSL_clear_mode()\fR removes the mode set via bit-mask in \fBmode\fR from \fBssl\fR. +\&\fISSL_clear_mode()\fR removes the mode set via bitmask in \fBmode\fR from \fBssl\fR. .PP \&\fISSL_CTX_get_mode()\fR returns the mode set for \fBctx\fR. .PP @@ -223,21 +223,6 @@ in draft\-ietf\-tls\-downgrade\-scsv\-00. Enable asynchronous processing. \s-1TLS\s0 I/O operations may indicate a retry with \&\s-1SSL_ERROR_WANT_ASYNC\s0 with this mode set if an asynchronous capable engine is used to perform cryptographic operations. See \fISSL_get_error\fR\|(3). -.IP "\s-1SSL_MODE_NO_KTLS_TX\s0" 4 -.IX Item "SSL_MODE_NO_KTLS_TX" -Disable the use of the kernel \s-1TLS\s0 egress data-path. -By default kernel \s-1TLS\s0 is enabled if it is supported by the negotiated ciphersuites -and extensions and OpenSSL has been compiled with support for it. -The kernel \s-1TLS\s0 data-path implements the record layer, -and the crypto algorithm. The kernel will utilize the best hardware -available for crypto. Using the kernel data-path should reduce the memory -footprint of OpenSSL because no buffering is required. Also, the throughput -should improve because data copy is avoided when user data is encrypted into -kernel memory instead of the usual encrypt than copy to kernel. -.Sp -Kernel \s-1TLS\s0 might not support all the features of OpenSSL. For instance, -renegotiation, and setting the maximum fragment size is not possible as of -Linux 4.20. .IP "\s-1SSL_MODE_DTLS_SCTP_LABEL_LENGTH_BUG\s0" 4 .IX Item "SSL_MODE_DTLS_SCTP_LABEL_LENGTH_BUG" Older versions of OpenSSL had a bug in the computation of the label length @@ -251,10 +236,10 @@ All modes are off by default except for \s-1SSL_MODE_AUTO_RETRY\s0 which is on b default since 1.1.1. .SH "RETURN VALUES" .IX Header "RETURN VALUES" -\&\fISSL_CTX_set_mode()\fR and \fISSL_set_mode()\fR return the new mode bit-mask +\&\fISSL_CTX_set_mode()\fR and \fISSL_set_mode()\fR return the new mode bitmask after adding \fBmode\fR. .PP -\&\fISSL_CTX_get_mode()\fR and \fISSL_get_mode()\fR return the current bit-mask. +\&\fISSL_CTX_get_mode()\fR and \fISSL_get_mode()\fR return the current bitmask. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIssl\fR\|(7), \fISSL_read_ex\fR\|(3), \fISSL_read\fR\|(3), \fISSL_write_ex\fR\|(3) or @@ -262,12 +247,11 @@ after adding \fBmode\fR. .SH "HISTORY" .IX Header "HISTORY" \&\s-1SSL_MODE_ASYNC\s0 was added in OpenSSL 1.1.0. -\&\s-1SSL_MODE_NO_KTLS_TX\s0 was added in OpenSSL 3.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2001\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2001\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_msg_callback.3 b/linux_amd64/share/man/man3/SSL_CTX_set_msg_callback.3 index a3cf35f..c7ff946 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_set_msg_callback.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_set_msg_callback.3 @@ -124,17 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_SET_MSG_CALLBACK 3" -.TH SSL_CTX_SET_MSG_CALLBACK 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_SET_MSG_CALLBACK 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_CTX_set_msg_callback, -SSL_CTX_set_msg_callback_arg, -SSL_set_msg_callback, -SSL_set_msg_callback_arg -\&\- install callback for observing protocol messages +SSL_CTX_set_msg_callback, SSL_CTX_set_msg_callback_arg, SSL_set_msg_callback, SSL_set_msg_callback_arg \&\- install callback for observing protocol messages .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -241,7 +237,7 @@ The pseudo content type \fB\s-1SSL3_RT_INNER_CONTENT_TYPE\s0\fR was added in Ope .IX Header "COPYRIGHT" Copyright 2001\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_msg_callback_arg.3 b/linux_amd64/share/man/man3/SSL_CTX_set_msg_callback_arg.3 new file mode 120000 index 0000000..ab5e2db --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set_msg_callback_arg.3 @@ -0,0 +1 @@ +SSL_CTX_set_msg_callback.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_next_proto_select_cb.3 b/linux_amd64/share/man/man3/SSL_CTX_set_next_proto_select_cb.3 new file mode 120000 index 0000000..710ee18 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set_next_proto_select_cb.3 @@ -0,0 +1 @@ +SSL_CTX_set_alpn_select_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_next_protos_advertised_cb.3 b/linux_amd64/share/man/man3/SSL_CTX_set_next_protos_advertised_cb.3 new file mode 120000 index 0000000..710ee18 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set_next_protos_advertised_cb.3 @@ -0,0 +1 @@ +SSL_CTX_set_alpn_select_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_num_tickets.3 b/linux_amd64/share/man/man3/SSL_CTX_set_num_tickets.3 index bb1bced..b1a559a 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_set_num_tickets.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_set_num_tickets.3 @@ -124,17 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_SET_NUM_TICKETS 3" -.TH SSL_CTX_SET_NUM_TICKETS 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_SET_NUM_TICKETS 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_set_num_tickets, -SSL_get_num_tickets, -SSL_CTX_set_num_tickets, -SSL_CTX_get_num_tickets -\&\- control the number of TLSv1.3 session tickets that are issued +SSL_set_num_tickets, SSL_get_num_tickets, SSL_CTX_set_num_tickets, SSL_CTX_get_num_tickets \&\- control the number of TLSv1.3 session tickets that are issued .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -178,9 +174,6 @@ failure. .PP \&\fISSL_CTX_get_num_tickets()\fR and \fISSL_get_num_tickets()\fR return the number of tickets that have been previously set. -.SH "SEE ALSO" -.IX Header "SEE ALSO" -\&\fIssl\fR\|(7) .SH "HISTORY" .IX Header "HISTORY" These functions were added in OpenSSL 1.1.1. @@ -188,7 +181,7 @@ These functions were added in OpenSSL 1.1.1. .IX Header "COPYRIGHT" Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_options.3 b/linux_amd64/share/man/man3/SSL_CTX_set_options.3 index 5a9d110..fc1297e 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_set_options.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_set_options.3 @@ -124,15 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_SET_OPTIONS 3" -.TH SSL_CTX_SET_OPTIONS 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_SET_OPTIONS 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_CTX_set_options, SSL_set_options, SSL_CTX_clear_options, -SSL_clear_options, SSL_CTX_get_options, SSL_get_options, -SSL_get_secure_renegotiation_support \- manipulate SSL options +SSL_CTX_set_options, SSL_set_options, SSL_CTX_clear_options, SSL_clear_options, SSL_CTX_get_options, SSL_get_options, SSL_get_secure_renegotiation_support \- manipulate SSL options .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -151,16 +149,16 @@ SSL_get_secure_renegotiation_support \- manipulate SSL options .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -\&\fISSL_CTX_set_options()\fR adds the options set via bit-mask in \fBoptions\fR to \fBctx\fR. +\&\fISSL_CTX_set_options()\fR adds the options set via bitmask in \fBoptions\fR to \fBctx\fR. Options already set before are not cleared! .PP -\&\fISSL_set_options()\fR adds the options set via bit-mask in \fBoptions\fR to \fBssl\fR. +\&\fISSL_set_options()\fR adds the options set via bitmask in \fBoptions\fR to \fBssl\fR. Options already set before are not cleared! .PP -\&\fISSL_CTX_clear_options()\fR clears the options set via bit-mask in \fBoptions\fR +\&\fISSL_CTX_clear_options()\fR clears the options set via bitmask in \fBoptions\fR to \fBctx\fR. .PP -\&\fISSL_clear_options()\fR clears the options set via bit-mask in \fBoptions\fR to \fBssl\fR. +\&\fISSL_clear_options()\fR clears the options set via bitmask in \fBoptions\fR to \fBssl\fR. .PP \&\fISSL_CTX_get_options()\fR returns the options set for \fBctx\fR. .PP @@ -172,7 +170,7 @@ Note, this is implemented via a macro. .SH "NOTES" .IX Header "NOTES" The behaviour of the \s-1SSL\s0 library can be changed by setting several options. -The options are coded as bit-masks and can be combined by a bitwise \fBor\fR +The options are coded as bitmasks and can be combined by a bitwise \fBor\fR operation (|). .PP \&\fISSL_CTX_set_options()\fR and \fISSL_set_options()\fR affect the (external) @@ -302,13 +300,6 @@ Normally clients and servers will transparently attempt to negotiate the .Sp If this option is set, Encrypt-then-MAC is disabled. Clients will not propose, and servers will not accept the extension. -.IP "\s-1SSL_OP_NO_EXTENDED_MASTER_SECRET\s0" 4 -.IX Item "SSL_OP_NO_EXTENDED_MASTER_SECRET" -Normally clients and servers will transparently attempt to negotiate the -\&\s-1RFC7627\s0 Extended Master Secret option on \s-1TLS\s0 and \s-1DTLS\s0 connection. -.Sp -If this option is set, Extended Master Secret is disabled. Clients will -not propose, and servers will not accept the extension. .IP "\s-1SSL_OP_NO_RENEGOTIATION\s0" 4 .IX Item "SSL_OP_NO_RENEGOTIATION" Disable all renegotiation in TLSv1.2 and earlier. Do not send HelloRequest @@ -404,8 +395,8 @@ unaware of the unpatched nature of the client. .PP If the option \fB\s-1SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION\s0\fR is set then renegotiation \fBalways\fR succeeds. -.SS "Patched OpenSSL client and unpatched server" -.IX Subsection "Patched OpenSSL client and unpatched server" +.SS "Patched OpenSSL client and unpatched server." +.IX Subsection "Patched OpenSSL client and unpatched server." If the option \fB\s-1SSL_OP_LEGACY_SERVER_CONNECT\s0\fR or \&\fB\s-1SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION\s0\fR is set then initial connections and renegotiation between patched OpenSSL clients and unpatched servers @@ -438,13 +429,13 @@ renegotiation between OpenSSL clients and unpatched servers \fBonly\fR, while and renegotiation between OpenSSL and unpatched clients or servers. .SH "RETURN VALUES" .IX Header "RETURN VALUES" -\&\fISSL_CTX_set_options()\fR and \fISSL_set_options()\fR return the new options bit-mask +\&\fISSL_CTX_set_options()\fR and \fISSL_set_options()\fR return the new options bitmask after adding \fBoptions\fR. .PP -\&\fISSL_CTX_clear_options()\fR and \fISSL_clear_options()\fR return the new options bit-mask +\&\fISSL_CTX_clear_options()\fR and \fISSL_clear_options()\fR return the new options bitmask after clearing \fBoptions\fR. .PP -\&\fISSL_CTX_get_options()\fR and \fISSL_get_options()\fR return the current bit-mask. +\&\fISSL_CTX_get_options()\fR and \fISSL_get_options()\fR return the current bitmask. .PP \&\fISSL_get_secure_renegotiation_support()\fR returns 1 is the peer supports secure renegotiation and 0 if it does not. @@ -453,7 +444,7 @@ secure renegotiation and 0 if it does not. \&\fIssl\fR\|(7), \fISSL_new\fR\|(3), \fISSL_clear\fR\|(3), \&\fISSL_CTX_set_tmp_dh_callback\fR\|(3), \&\fISSL_CTX_set_min_proto_version\fR\|(3), -\&\fIopenssl\-dhparam\fR\|(1) +\&\fIdhparam\fR\|(1) .SH "HISTORY" .IX Header "HISTORY" The attempt to always try to use secure renegotiation was added in @@ -461,13 +452,11 @@ OpenSSL 0.9.8m. .PP The \fB\s-1SSL_OP_PRIORITIZE_CHACHA\s0\fR and \fB\s-1SSL_OP_NO_RENEGOTIATION\s0\fR options were added in OpenSSL 1.1.1. -.PP -The \fB\s-1SSL_OP_NO_EXTENDED_MASTER_SECRET\s0\fR option was added in OpenSSL 3.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2001\-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2001\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_post_handshake_auth.3 b/linux_amd64/share/man/man3/SSL_CTX_set_post_handshake_auth.3 new file mode 120000 index 0000000..bf64a6e --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set_post_handshake_auth.3 @@ -0,0 +1 @@ +SSL_CTX_set_verify.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_psk_client_callback.3 b/linux_amd64/share/man/man3/SSL_CTX_set_psk_client_callback.3 index b98fb61..9c025ca 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_set_psk_client_callback.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_set_psk_client_callback.3 @@ -124,19 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_SET_PSK_CLIENT_CALLBACK 3" -.TH SSL_CTX_SET_PSK_CLIENT_CALLBACK 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_SET_PSK_CLIENT_CALLBACK 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_psk_client_cb_func, -SSL_psk_use_session_cb_func, -SSL_CTX_set_psk_client_callback, -SSL_set_psk_client_callback, -SSL_CTX_set_psk_use_session_callback, -SSL_set_psk_use_session_callback -\&\- set PSK client callback +SSL_psk_client_cb_func, SSL_psk_use_session_cb_func, SSL_CTX_set_psk_client_callback, SSL_set_psk_client_callback, SSL_CTX_set_psk_use_session_callback, SSL_set_psk_use_session_callback \&\- set PSK client callback .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -273,7 +267,6 @@ The SSL_psk_use_session_cb_func callback should return 1 on success or 0 on failure. In the event of failure the connection setup fails. .SH "SEE ALSO" .IX Header "SEE ALSO" -\&\fIssl\fR\|(7), \&\fISSL_CTX_set_psk_find_session_callback\fR\|(3), \&\fISSL_set_psk_find_session_callback\fR\|(3) .SH "HISTORY" @@ -284,7 +277,7 @@ were added in OpenSSL 1.1.1. .IX Header "COPYRIGHT" Copyright 2006\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_psk_find_session_callback.3 b/linux_amd64/share/man/man3/SSL_CTX_set_psk_find_session_callback.3 new file mode 120000 index 0000000..7eb7f07 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set_psk_find_session_callback.3 @@ -0,0 +1 @@ +SSL_CTX_use_psk_identity_hint.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_psk_server_callback.3 b/linux_amd64/share/man/man3/SSL_CTX_set_psk_server_callback.3 new file mode 120000 index 0000000..7eb7f07 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set_psk_server_callback.3 @@ -0,0 +1 @@ +SSL_CTX_use_psk_identity_hint.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_psk_use_session_callback.3 b/linux_amd64/share/man/man3/SSL_CTX_set_psk_use_session_callback.3 new file mode 120000 index 0000000..9a1d58b --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set_psk_use_session_callback.3 @@ -0,0 +1 @@ +SSL_CTX_set_psk_client_callback.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_quiet_shutdown.3 b/linux_amd64/share/man/man3/SSL_CTX_set_quiet_shutdown.3 index 1d6a4a4..bad9d4c 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_set_quiet_shutdown.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_set_quiet_shutdown.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_SET_QUIET_SHUTDOWN 3" -.TH SSL_CTX_SET_QUIET_SHUTDOWN 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_SET_QUIET_SHUTDOWN 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -188,7 +188,7 @@ setting. .IX Header "COPYRIGHT" Copyright 2001\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_read_ahead.3 b/linux_amd64/share/man/man3/SSL_CTX_set_read_ahead.3 index a6c5e10..f8ed574 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_set_read_ahead.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_set_read_ahead.3 @@ -124,16 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_SET_READ_AHEAD 3" -.TH SSL_CTX_SET_READ_AHEAD 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_SET_READ_AHEAD 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_CTX_set_read_ahead, SSL_CTX_get_read_ahead, -SSL_set_read_ahead, SSL_get_read_ahead, -SSL_CTX_get_default_read_ahead -\&\- manage whether to read as many input bytes as possible +SSL_CTX_set_read_ahead, SSL_CTX_get_read_ahead, SSL_set_read_ahead, SSL_get_read_ahead, SSL_CTX_get_default_read_ahead \&\- manage whether to read as many input bytes as possible .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -188,9 +185,9 @@ and non zero otherwise. \&\fIssl\fR\|(7), \fISSL_pending\fR\|(3) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2015\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2015\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_record_padding_callback.3 b/linux_amd64/share/man/man3/SSL_CTX_set_record_padding_callback.3 index 912c490..86ba06d 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_set_record_padding_callback.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_set_record_padding_callback.3 @@ -124,20 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_SET_RECORD_PADDING_CALLBACK 3" -.TH SSL_CTX_SET_RECORD_PADDING_CALLBACK 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_SET_RECORD_PADDING_CALLBACK 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_CTX_set_record_padding_callback, -SSL_set_record_padding_callback, -SSL_CTX_set_record_padding_callback_arg, -SSL_set_record_padding_callback_arg, -SSL_CTX_get_record_padding_callback_arg, -SSL_get_record_padding_callback_arg, -SSL_CTX_set_block_padding, -SSL_set_block_padding \- install callback to specify TLS 1.3 record padding +SSL_CTX_set_record_padding_callback, SSL_set_record_padding_callback, SSL_CTX_set_record_padding_callback_arg, SSL_set_record_padding_callback_arg, SSL_CTX_get_record_padding_callback_arg, SSL_get_record_padding_callback_arg, SSL_CTX_set_block_padding, SSL_set_block_padding \- install callback to specify TLS 1.3 record padding .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -209,9 +202,9 @@ Padding bytes are not added in constant-time. The record padding \s-1API\s0 was added for \s-1TLS\s0 1.3 support in OpenSSL 1.1.1. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_record_padding_callback_arg.3 b/linux_amd64/share/man/man3/SSL_CTX_set_record_padding_callback_arg.3 new file mode 120000 index 0000000..c7bb118 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set_record_padding_callback_arg.3 @@ -0,0 +1 @@ +SSL_CTX_set_record_padding_callback.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_recv_max_early_data.3 b/linux_amd64/share/man/man3/SSL_CTX_set_recv_max_early_data.3 new file mode 120000 index 0000000..f582a21 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set_recv_max_early_data.3 @@ -0,0 +1 @@ +SSL_read_early_data.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_security_callback.3 b/linux_amd64/share/man/man3/SSL_CTX_set_security_callback.3 new file mode 120000 index 0000000..81271f0 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set_security_callback.3 @@ -0,0 +1 @@ +SSL_CTX_set_security_level.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_security_level.3 b/linux_amd64/share/man/man3/SSL_CTX_set_security_level.3 index e04e8b3..20c9395 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_set_security_level.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_set_security_level.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_SET_SECURITY_LEVEL 3" -.TH SSL_CTX_SET_SECURITY_LEVEL 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_SET_SECURITY_LEVEL 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -287,9 +287,6 @@ to the security callback or \s-1NULL\s0 if the callback is not set. .PP \&\fISSL_CTX_get0_security_ex_data()\fR and \fISSL_get0_security_ex_data()\fR return the extra data pointer or \s-1NULL\s0 if the ex data is not set. -.SH "SEE ALSO" -.IX Header "SEE ALSO" -\&\fIssl\fR\|(7) .SH "HISTORY" .IX Header "HISTORY" These functions were added in OpenSSL 1.1.0. @@ -297,7 +294,7 @@ These functions were added in OpenSSL 1.1.0. .IX Header "COPYRIGHT" Copyright 2014\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_session_cache_mode.3 b/linux_amd64/share/man/man3/SSL_CTX_set_session_cache_mode.3 index d4e1838..e37b133 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_set_session_cache_mode.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_set_session_cache_mode.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_SET_SESSION_CACHE_MODE 3" -.TH SSL_CTX_SET_SESSION_CACHE_MODE 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_SET_SESSION_CACHE_MODE 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -243,7 +243,7 @@ The default mode is \s-1SSL_SESS_CACHE_SERVER\s0. .IX Header "COPYRIGHT" Copyright 2001\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_session_id_context.3 b/linux_amd64/share/man/man3/SSL_CTX_set_session_id_context.3 index ef0d960..816c288 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_set_session_id_context.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_set_session_id_context.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_SET_SESSION_ID_CONTEXT 3" -.TH SSL_CTX_SET_SESSION_ID_CONTEXT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_SET_SESSION_ID_CONTEXT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -198,9 +198,9 @@ The operation succeeded. \&\fIssl\fR\|(7) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2001\-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2001\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_session_ticket_cb.3 b/linux_amd64/share/man/man3/SSL_CTX_set_session_ticket_cb.3 index 580d70f..23c8ed5 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_set_session_ticket_cb.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_set_session_ticket_cb.3 @@ -124,17 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_SET_SESSION_TICKET_CB 3" -.TH SSL_CTX_SET_SESSION_TICKET_CB 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_SET_SESSION_TICKET_CB 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_CTX_set_session_ticket_cb, -SSL_SESSION_get0_ticket_appdata, -SSL_SESSION_set1_ticket_appdata, -SSL_CTX_generate_session_ticket_fn, -SSL_CTX_decrypt_session_ticket_fn \- manage session ticket application data +SSL_CTX_set_session_ticket_cb, SSL_SESSION_get0_ticket_appdata, SSL_SESSION_set1_ticket_appdata, SSL_CTX_generate_session_ticket_fn, SSL_CTX_decrypt_session_ticket_fn \- manage session ticket application data .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -171,7 +167,7 @@ decryption has been attempted and any session ticket application data is available. If ticket decryption was successful then the \fBss\fR argument contains the session data. The \fBkeyname\fR and \fBkeyname_len\fR arguments identify the key used to decrypt the session ticket. The \fBstatus\fR argument is the result of the -ticket decryption. See the \*(L"\s-1NOTES\s0\*(R" section below for further details. The value +ticket decryption. See the \s-1NOTES\s0 section below for further details. The value of \fBarg\fR is the same as that given to \fISSL_CTX_set_session_ticket_cb()\fR. The \&\fBdec_cb\fR callback is defined as type \fBSSL_CTX_decrypt_session_ticket_fn\fR. .PP @@ -277,7 +273,7 @@ failure. The \fBgen_cb\fR callback must return 1 to continue the connection. A return of 0 will terminate the connection with an \s-1INTERNAL_ERROR\s0 alert. .PP -The \fBdec_cb\fR callback must return a value as described in \*(L"\s-1NOTES\s0\*(R" above. +The \fBdec_cb\fR callback must return a value as described in \s-1NOTES\s0 above. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIssl\fR\|(7), @@ -290,7 +286,7 @@ and \fISSL_SESSION_get_ticket_appdata()\fR functions were added in OpenSSL 1.1.1 .IX Header "COPYRIGHT" Copyright 2017\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_split_send_fragment.3 b/linux_amd64/share/man/man3/SSL_CTX_set_split_send_fragment.3 index 8d33567..52d855d 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_set_split_send_fragment.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_set_split_send_fragment.3 @@ -124,19 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_SET_SPLIT_SEND_FRAGMENT 3" -.TH SSL_CTX_SET_SPLIT_SEND_FRAGMENT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_SET_SPLIT_SEND_FRAGMENT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_CTX_set_max_send_fragment, SSL_set_max_send_fragment, -SSL_CTX_set_split_send_fragment, SSL_set_split_send_fragment, -SSL_CTX_set_max_pipelines, SSL_set_max_pipelines, -SSL_CTX_set_default_read_buffer_len, SSL_set_default_read_buffer_len, -SSL_CTX_set_tlsext_max_fragment_length, -SSL_set_tlsext_max_fragment_length, -SSL_SESSION_get_max_fragment_length \- Control fragment size settings and pipelining operations +SSL_CTX_set_max_send_fragment, SSL_set_max_send_fragment, SSL_CTX_set_split_send_fragment, SSL_set_split_send_fragment, SSL_CTX_set_max_pipelines, SSL_set_max_pipelines, SSL_CTX_set_default_read_buffer_len, SSL_set_default_read_buffer_len, SSL_CTX_set_tlsext_max_fragment_length, SSL_set_tlsext_max_fragment_length, SSL_SESSION_get_max_fragment_length \- Control fragment size settings and pipelining operations .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -280,7 +274,6 @@ With the exception of \fISSL_CTX_set_default_read_buffer_len()\fR all these functions are implemented using macros. .SH "SEE ALSO" .IX Header "SEE ALSO" -\&\fIssl\fR\|(7), \&\fISSL_CTX_set_read_ahead\fR\|(3), \fISSL_pending\fR\|(3) .SH "HISTORY" .IX Header "HISTORY" @@ -295,7 +288,7 @@ and \fISSL_SESSION_get_max_fragment_length()\fR functions were added in OpenSSL .IX Header "COPYRIGHT" Copyright 2016\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_ssl_version.3 b/linux_amd64/share/man/man3/SSL_CTX_set_ssl_version.3 index 926563d..813eabd 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_set_ssl_version.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_set_ssl_version.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_SET_SSL_VERSION 3" -.TH SSL_CTX_SET_SSL_VERSION 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_SET_SSL_VERSION 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_CTX_set_ssl_version, SSL_set_ssl_method, SSL_get_ssl_method -\&\- choose a new TLS/SSL method +SSL_CTX_set_ssl_version, SSL_set_ssl_method, SSL_get_ssl_method \&\- choose a new TLS/SSL method .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -177,9 +176,9 @@ The operation succeeded. \&\fISSL_set_connect_state\fR\|(3) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_stateless_cookie_generate_cb.3 b/linux_amd64/share/man/man3/SSL_CTX_set_stateless_cookie_generate_cb.3 index c765152..ff05f7c 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_set_stateless_cookie_generate_cb.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_set_stateless_cookie_generate_cb.3 @@ -124,17 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_SET_STATELESS_COOKIE_GENERATE_CB 3" -.TH SSL_CTX_SET_STATELESS_COOKIE_GENERATE_CB 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_SET_STATELESS_COOKIE_GENERATE_CB 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_CTX_set_stateless_cookie_generate_cb, -SSL_CTX_set_stateless_cookie_verify_cb, -SSL_CTX_set_cookie_generate_cb, -SSL_CTX_set_cookie_verify_cb -\&\- Callback functions for stateless TLS1.3 cookies +SSL_CTX_set_stateless_cookie_generate_cb, SSL_CTX_set_stateless_cookie_verify_cb, SSL_CTX_set_cookie_generate_cb, SSL_CTX_set_cookie_verify_cb \&\- Callback functions for stateless TLS1.3 cookies .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -201,7 +197,6 @@ responsibility. Neither function returns a value. .SH "SEE ALSO" .IX Header "SEE ALSO" -\&\fIssl\fR\|(7), \&\fISSL_stateless\fR\|(3), \&\fIDTLSv1_listen\fR\|(3) .SH "HISTORY" @@ -212,7 +207,7 @@ Neither function returns a value. .IX Header "COPYRIGHT" Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_stateless_cookie_verify_cb.3 b/linux_amd64/share/man/man3/SSL_CTX_set_stateless_cookie_verify_cb.3 new file mode 120000 index 0000000..631f25e --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set_stateless_cookie_verify_cb.3 @@ -0,0 +1 @@ +SSL_CTX_set_stateless_cookie_generate_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_timeout.3 b/linux_amd64/share/man/man3/SSL_CTX_set_timeout.3 index 10dc177..1252468 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_set_timeout.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_set_timeout.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_SET_TIMEOUT 3" -.TH SSL_CTX_SET_TIMEOUT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_SET_TIMEOUT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -184,7 +184,7 @@ of 300 seconds. .IX Header "COPYRIGHT" Copyright 2001\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_tlsext_max_fragment_length.3 b/linux_amd64/share/man/man3/SSL_CTX_set_tlsext_max_fragment_length.3 new file mode 120000 index 0000000..b7d62a1 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set_tlsext_max_fragment_length.3 @@ -0,0 +1 @@ +SSL_CTX_set_split_send_fragment.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_tlsext_servername_arg.3 b/linux_amd64/share/man/man3/SSL_CTX_set_tlsext_servername_arg.3 new file mode 120000 index 0000000..17429fd --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set_tlsext_servername_arg.3 @@ -0,0 +1 @@ +SSL_CTX_set_tlsext_servername_callback.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_tlsext_servername_callback.3 b/linux_amd64/share/man/man3/SSL_CTX_set_tlsext_servername_callback.3 index f8002d6..6001f7e 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_set_tlsext_servername_callback.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_set_tlsext_servername_callback.3 @@ -124,15 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_SET_TLSEXT_SERVERNAME_CALLBACK 3" -.TH SSL_CTX_SET_TLSEXT_SERVERNAME_CALLBACK 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_SET_TLSEXT_SERVERNAME_CALLBACK 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_CTX_set_tlsext_servername_callback, SSL_CTX_set_tlsext_servername_arg, -SSL_get_servername_type, SSL_get_servername, -SSL_set_tlsext_host_name \- handle server name indication (SNI) +SSL_CTX_set_tlsext_servername_callback, SSL_CTX_set_tlsext_servername_arg, SSL_get_servername_type, SSL_get_servername, SSL_set_tlsext_host_name \- handle server name indication (SNI) .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -272,7 +270,7 @@ servername requested in the original handshake. This has now been changed to .IX Header "COPYRIGHT" Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_tlsext_status_arg.3 b/linux_amd64/share/man/man3/SSL_CTX_set_tlsext_status_arg.3 new file mode 120000 index 0000000..a7877fd --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set_tlsext_status_arg.3 @@ -0,0 +1 @@ +SSL_CTX_set_tlsext_status_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_tlsext_status_cb.3 b/linux_amd64/share/man/man3/SSL_CTX_set_tlsext_status_cb.3 index 04de3c2..31500b7 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_set_tlsext_status_cb.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_set_tlsext_status_cb.3 @@ -124,23 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_SET_TLSEXT_STATUS_CB 3" -.TH SSL_CTX_SET_TLSEXT_STATUS_CB 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_SET_TLSEXT_STATUS_CB 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_CTX_set_tlsext_status_cb, -SSL_CTX_get_tlsext_status_cb, -SSL_CTX_set_tlsext_status_arg, -SSL_CTX_get_tlsext_status_arg, -SSL_CTX_set_tlsext_status_type, -SSL_CTX_get_tlsext_status_type, -SSL_set_tlsext_status_type, -SSL_get_tlsext_status_type, -SSL_get_tlsext_status_ocsp_resp, -SSL_set_tlsext_status_ocsp_resp -\&\- OCSP Certificate Status Request functions +SSL_CTX_set_tlsext_status_cb, SSL_CTX_get_tlsext_status_cb, SSL_CTX_set_tlsext_status_arg, SSL_CTX_get_tlsext_status_arg, SSL_CTX_set_tlsext_status_type, SSL_CTX_get_tlsext_status_type, SSL_set_tlsext_status_type, SSL_get_tlsext_status_type, SSL_get_tlsext_status_ocsp_resp, SSL_set_tlsext_status_ocsp_resp \&\- OCSP Certificate Status Request functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -232,9 +222,6 @@ or \-1 if there is no \s-1OCSP\s0 response data. \&\fISSL_get_tlsext_status_type()\fR returns \fBTLSEXT_STATUSTYPE_ocsp\fR on the client side if \fISSL_set_tlsext_status_type()\fR was previously called, or on the server side if the client requested \s-1OCSP\s0 stapling. Otherwise \-1 is returned. -.SH "SEE ALSO" -.IX Header "SEE ALSO" -\&\fIssl\fR\|(7) .SH "HISTORY" .IX Header "HISTORY" The \fISSL_get_tlsext_status_type()\fR, \fISSL_CTX_get_tlsext_status_type()\fR @@ -243,7 +230,7 @@ and \fISSL_CTX_set_tlsext_status_type()\fR functions were added in OpenSSL 1.1.0 .IX Header "COPYRIGHT" Copyright 2015\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_tlsext_status_type.3 b/linux_amd64/share/man/man3/SSL_CTX_set_tlsext_status_type.3 new file mode 120000 index 0000000..a7877fd --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set_tlsext_status_type.3 @@ -0,0 +1 @@ +SSL_CTX_set_tlsext_status_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_tlsext_ticket_key_cb.3 b/linux_amd64/share/man/man3/SSL_CTX_set_tlsext_ticket_key_cb.3 index bff43fd..abf266b 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_set_tlsext_ticket_key_cb.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_set_tlsext_ticket_key_cb.3 @@ -124,39 +124,26 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_SET_TLSEXT_TICKET_KEY_CB 3" -.TH SSL_CTX_SET_TLSEXT_TICKET_KEY_CB 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_SET_TLSEXT_TICKET_KEY_CB 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_CTX_set_tlsext_ticket_key_evp_cb, -SSL_CTX_set_tlsext_ticket_key_cb -\&\- set a callback for session ticket processing +SSL_CTX_set_tlsext_ticket_key_cb \- set a callback for session ticket processing .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include \& -\& int SSL_CTX_set_tlsext_ticket_key_evp_cb(SSL_CTX sslctx, -\& int (*cb)(SSL *s, unsigned char key_name[16], -\& unsigned char iv[EVP_MAX_IV_LENGTH], -\& EVP_CIPHER_CTX *ctx, EVP_MAC_CTX *hctx, int enc)); -.Ve -.PP -Deprecated since OpenSSL 3.0, can be hidden entirely by defining -\&\fB\s-1OPENSSL_API_COMPAT\s0\fR with a suitable version value, see -\&\fIopenssl_user_macros\fR\|(7): -.PP -.Vb 4 -\& int SSL_CTX_set_tlsext_ticket_key_cb(SSL_CTX sslctx, +\& long SSL_CTX_set_tlsext_ticket_key_cb(SSL_CTX sslctx, \& int (*cb)(SSL *s, unsigned char key_name[16], \& unsigned char iv[EVP_MAX_IV_LENGTH], \& EVP_CIPHER_CTX *ctx, HMAC_CTX *hctx, int enc)); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -\&\fISSL_CTX_set_tlsext_ticket_key_evp_cb()\fR sets a callback function \fIcb\fR for handling +\&\fISSL_CTX_set_tlsext_ticket_key_cb()\fR sets a callback function \fIcb\fR for handling session tickets for the ssl context \fIsslctx\fR. Session tickets, defined in \&\s-1RFC5077\s0 provide an enhanced session resumption capability where the server implementation is not required to maintain per session state. It only applies @@ -179,8 +166,7 @@ ticket information or it starts a full \s-1TLS\s0 handshake to create a new sess ticket. .PP Before the callback function is started \fIctx\fR and \fIhctx\fR have been -initialised with \fIEVP_CIPHER_CTX_reset\fR\|(3) and \fIEVP_MAC_CTX_new\fR\|(3) -respectively. +initialised with \fIEVP_CIPHER_CTX_reset\fR\|(3) and \fIHMAC_CTX_reset\fR\|(3) respectively. .PP For new sessions tickets, when the client doesn't present a session ticket, or an attempted retrieval of the ticket failed, or a renew option was indicated, @@ -195,9 +181,8 @@ maximum \s-1IV\s0 length is \fB\s-1EVP_MAX_IV_LENGTH\s0\fR bytes defined in \fBe .PP The initialization vector \fIiv\fR should be a random value. The cipher context \&\fIctx\fR should use the initialisation vector \fIiv\fR. The cipher context can be -set using \fIEVP_EncryptInit_ex\fR\|(3). The hmac context and digest can be set using -\&\fIEVP_MAC_CTX_set_params\fR\|(3) with the \fB\s-1OSSL_MAC_PARAM_KEY\s0\fR and -\&\fB\s-1OSSL_MAC_PARAM_DIGEST\s0\fR parameters respectively. +set using \fIEVP_EncryptInit_ex\fR\|(3). The hmac context can be set using +\&\fIHMAC_Init_ex\fR\|(3). .PP When the client presents a session ticket, the callback function with be called with \fIenc\fR set to 0 indicating that the \fIcb\fR function should retrieve a set @@ -205,9 +190,8 @@ of parameters. In this case \fIname\fR and \fIiv\fR have already been parsed out the session ticket. The OpenSSL library expects that the \fIname\fR will be used to retrieve a cryptographic parameters and that the cryptographic context \&\fIctx\fR will be set with the retrieved parameters and the initialization vector -\&\fIiv\fR. using a function like \fIEVP_DecryptInit_ex\fR\|(3). The key material and -digest for \fIhctx\fR need to be set using \fIEVP_MAC_CTX_set_params\fR\|(3) with the -\&\fB\s-1OSSL_MAC_PARAM_KEY\s0\fR and \fB\s-1OSSL_MAC_PARAM_DIGEST\s0\fR parameters respectively. +\&\fIiv\fR. using a function like \fIEVP_DecryptInit_ex\fR\|(3). The \fIhctx\fR needs to be +set using \fIHMAC_Init_ex\fR\|(3). .PP If the \fIname\fR is still valid but a renewal of the ticket is required the callback function should return 2. The library will call the callback again @@ -236,14 +220,6 @@ a new set of parameters. .IP "less than 0" 4 .IX Item "less than 0" This indicates an error. -.PP -The \fISSL_CTX_set_tlsext_ticket_key_cb()\fR function is identical to -\&\fISSL_CTX_set_tlsext_ticket_key_evp_cb()\fR except that it takes a deprecated -\&\s-1HMAC_CTX\s0 pointer instead of an \s-1EVP_MAC_CTX\s0 one. -Before this callback function is started \fIhctx\fR will have been -initialised with \fIEVP_MAC_CTX_new\fR\|(3) and the digest set with -\&\fIEVP_MAC_CTX_set_params\fR\|(3). -The \fIhctx\fR key material can be set using \fIHMAC_Init_ex\fR\|(3). .SH "NOTES" .IX Header "NOTES" Session resumption shortcuts the \s-1TLS\s0 so that the client certificate @@ -270,15 +246,13 @@ returns 0 to indicate the callback function was set. Reference Implementation: .PP .Vb 2 -\& SSL_CTX_set_tlsext_ticket_key_evp_cb(SSL, ssl_tlsext_ticket_key_cb); +\& SSL_CTX_set_tlsext_ticket_key_cb(SSL, ssl_tlsext_ticket_key_cb); \& ... \& \& static int ssl_tlsext_ticket_key_cb(SSL *s, unsigned char key_name[16], \& unsigned char *iv, EVP_CIPHER_CTX *ctx, -\& EVP_MAC_CTX *hctx, int enc) +\& HMAC_CTX *hctx, int enc) \& { -\& OSSL_PARAM params[3]; -\& \& if (enc) { /* create new session */ \& if (RAND_bytes(iv, EVP_MAX_IV_LENGTH) <= 0) \& return \-1; /* insufficient random */ @@ -298,13 +272,7 @@ Reference Implementation: \& memcpy(key_name, key\->name, 16); \& \& EVP_EncryptInit_ex(&ctx, EVP_aes_128_cbc(), NULL, key\->aes_key, iv); -\& -\& params[0] = OSSL_PARAM_construct_octet_string(OSSL_MAC_PARAM_KEY, -\& key\->hmac_key, 16); -\& params[1] = OSSL_PARAM_construct_utf8_string(OSSL_MAC_PARAM_DIGEST, -\& "sha256", 0); -\& params[2] = OSSL_PARAM_construct_end(); -\& EVP_MAC_CTX_set_params(hctx, params); +\& HMAC_Init_ex(&hctx, key\->hmac_key, 16, EVP_sha256(), NULL); \& \& return 1; \& @@ -314,13 +282,7 @@ Reference Implementation: \& if (key == NULL || key\->expire < now()) \& return 0; \& -\& params[0] = OSSL_PARAM_construct_octet_string(OSSL_KDF_PARAM_KEY, -\& key\->hmac_key, 16); -\& params[1] = OSSL_PARAM_construct_utf8_string(OSSL_MAC_PARAM_DIGEST, -\& "sha256", 0); -\& params[2] = OSSL_PARAM_construct_end(); -\& EVP_MAC_CTX_set_params(hctx, params); -\& +\& HMAC_Init_ex(&hctx, key\->hmac_key, 16, EVP_sha256(), NULL); \& EVP_DecryptInit_ex(&ctx, EVP_aes_128_cbc(), NULL, key\->aes_key, iv); \& \& if (key\->expire < now() \- RENEW_TIME) { @@ -342,17 +304,11 @@ Reference Implementation: \&\fISSL_CTX_sess_number\fR\|(3), \&\fISSL_CTX_sess_set_get_cb\fR\|(3), \&\fISSL_CTX_set_session_id_context\fR\|(3), -.SH "HISTORY" -.IX Header "HISTORY" -The \fISSL_CTX_set_tlsext_ticket_key_cb()\fR function was deprecated in OpenSSL 3.0. -.PP -The \fISSL_CTX_set_tlsext_ticket_key_evp_cb()\fR function was introduced in -OpenSSL 3.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2014\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2014\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_tlsext_use_srtp.3 b/linux_amd64/share/man/man3/SSL_CTX_set_tlsext_use_srtp.3 index d6f202c..58a69a2 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_set_tlsext_use_srtp.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_set_tlsext_use_srtp.3 @@ -124,17 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_SET_TLSEXT_USE_SRTP 3" -.TH SSL_CTX_SET_TLSEXT_USE_SRTP 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_SET_TLSEXT_USE_SRTP 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_CTX_set_tlsext_use_srtp, -SSL_set_tlsext_use_srtp, -SSL_get_srtp_profiles, -SSL_get_selected_srtp_profile -\&\- Configure and query SRTP support +SSL_CTX_set_tlsext_use_srtp, SSL_set_tlsext_use_srtp, SSL_get_srtp_profiles, SSL_get_selected_srtp_profile \&\- Configure and query SRTP support .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -215,13 +211,12 @@ success or \s-1NULL\s0 on error or if no protection profiles have been configure object if one has been negotiated or \s-1NULL\s0 otherwise. .SH "SEE ALSO" .IX Header "SEE ALSO" -\&\fIssl\fR\|(7), \&\fISSL_export_keying_material\fR\|(3) .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2017\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_tmp_dh.3 b/linux_amd64/share/man/man3/SSL_CTX_set_tmp_dh.3 new file mode 120000 index 0000000..cb6c5ea --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set_tmp_dh.3 @@ -0,0 +1 @@ +SSL_CTX_set_tmp_dh_callback.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_tmp_dh_callback.3 b/linux_amd64/share/man/man3/SSL_CTX_set_tmp_dh_callback.3 index b34cb27..cb80220 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_set_tmp_dh_callback.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_set_tmp_dh_callback.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_SET_TMP_DH_CALLBACK 3" -.TH SSL_CTX_SET_TMP_DH_CALLBACK 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_SET_TMP_DH_CALLBACK 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -186,14 +186,14 @@ should not generate the parameters on the fly but supply the parameters. the negotiation. The risk in reusing \s-1DH\s0 parameters is that an attacker may specialize on a very often used \s-1DH\s0 group. Applications should therefore generate their own \s-1DH\s0 parameters during the installation process using the -openssl \fIopenssl\-dhparam\fR\|(1) application. This application +openssl \fIdhparam\fR\|(1) application. This application guarantees that \*(L"strong\*(R" primes are used. .PP Files dh2048.pem, and dh4096.pem in the 'apps' directory of the current version of the OpenSSL distribution contain the '\s-1SKIP\s0' \s-1DH\s0 parameters, which use safe primes and were generated verifiably pseudo-randomly. These files can be converted into C code using the \fB\-C\fR option of the -\&\fIopenssl\-dhparam\fR\|(1) application. Generation of custom \s-1DH\s0 +\&\fIdhparam\fR\|(1) application. Generation of custom \s-1DH\s0 parameters during installation should still be preferred to stop an attacker from specializing on a commonly used group. File dh1024.pem contains old parameters that must not be used by applications. @@ -249,12 +249,12 @@ Code for setting up parameters during server initialization: .IX Header "SEE ALSO" \&\fIssl\fR\|(7), \fISSL_CTX_set_cipher_list\fR\|(3), \&\fISSL_CTX_set_options\fR\|(3), -\&\fIopenssl\-ciphers\fR\|(1), \fIopenssl\-dhparam\fR\|(1) +\&\fIciphers\fR\|(1), \fIdhparam\fR\|(1) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2001\-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2001\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_verify.3 b/linux_amd64/share/man/man3/SSL_CTX_set_verify.3 index c5f8cee..cd01e41 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_set_verify.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_set_verify.3 @@ -124,20 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_SET_VERIFY 3" -.TH SSL_CTX_SET_VERIFY 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_SET_VERIFY 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_get_ex_data_X509_STORE_CTX_idx, -SSL_CTX_set_verify, SSL_set_verify, -SSL_CTX_set_verify_depth, SSL_set_verify_depth, -SSL_verify_cb, -SSL_verify_client_post_handshake, -SSL_set_post_handshake_auth, -SSL_CTX_set_post_handshake_auth -\&\- set peer certificate verification parameters +SSL_get_ex_data_X509_STORE_CTX_idx, SSL_CTX_set_verify, SSL_set_verify, SSL_CTX_set_verify_depth, SSL_set_verify_depth, SSL_verify_cb, SSL_verify_client_post_handshake, SSL_set_post_handshake_auth, SSL_CTX_set_post_handshake_auth \&\- set peer certificate verification parameters .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -462,9 +455,9 @@ The \s-1SSL_VERIFY_POST_HANDSHAKE\s0 option, and the \fISSL_verify_client_post_h and \fISSL_set_post_handshake_auth()\fR functions were added in OpenSSL 1.1.1. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_set_verify_depth.3 b/linux_amd64/share/man/man3/SSL_CTX_set_verify_depth.3 new file mode 120000 index 0000000..bf64a6e --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_set_verify_depth.3 @@ -0,0 +1 @@ +SSL_CTX_set_verify.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_up_ref.3 b/linux_amd64/share/man/man3/SSL_CTX_up_ref.3 new file mode 120000 index 0000000..e78df75 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_up_ref.3 @@ -0,0 +1 @@ +SSL_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_use_PrivateKey.3 b/linux_amd64/share/man/man3/SSL_CTX_use_PrivateKey.3 new file mode 120000 index 0000000..5ec6592 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_use_PrivateKey.3 @@ -0,0 +1 @@ +SSL_CTX_use_certificate.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_use_PrivateKey_ASN1.3 b/linux_amd64/share/man/man3/SSL_CTX_use_PrivateKey_ASN1.3 new file mode 120000 index 0000000..5ec6592 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_use_PrivateKey_ASN1.3 @@ -0,0 +1 @@ +SSL_CTX_use_certificate.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_use_PrivateKey_file.3 b/linux_amd64/share/man/man3/SSL_CTX_use_PrivateKey_file.3 new file mode 120000 index 0000000..5ec6592 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_use_PrivateKey_file.3 @@ -0,0 +1 @@ +SSL_CTX_use_certificate.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_use_RSAPrivateKey.3 b/linux_amd64/share/man/man3/SSL_CTX_use_RSAPrivateKey.3 new file mode 120000 index 0000000..5ec6592 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_use_RSAPrivateKey.3 @@ -0,0 +1 @@ +SSL_CTX_use_certificate.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_use_RSAPrivateKey_ASN1.3 b/linux_amd64/share/man/man3/SSL_CTX_use_RSAPrivateKey_ASN1.3 new file mode 120000 index 0000000..5ec6592 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_use_RSAPrivateKey_ASN1.3 @@ -0,0 +1 @@ +SSL_CTX_use_certificate.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_use_RSAPrivateKey_file.3 b/linux_amd64/share/man/man3/SSL_CTX_use_RSAPrivateKey_file.3 new file mode 120000 index 0000000..5ec6592 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_use_RSAPrivateKey_file.3 @@ -0,0 +1 @@ +SSL_CTX_use_certificate.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_use_cert_and_key.3 b/linux_amd64/share/man/man3/SSL_CTX_use_cert_and_key.3 new file mode 120000 index 0000000..5ec6592 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_use_cert_and_key.3 @@ -0,0 +1 @@ +SSL_CTX_use_certificate.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_use_certificate.3 b/linux_amd64/share/man/man3/SSL_CTX_use_certificate.3 index 066393c..3f9fa57 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_use_certificate.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_use_certificate.3 @@ -124,24 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_USE_CERTIFICATE 3" -.TH SSL_CTX_USE_CERTIFICATE 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_USE_CERTIFICATE 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_CTX_use_certificate, SSL_CTX_use_certificate_ASN1, -SSL_CTX_use_certificate_file, SSL_use_certificate, SSL_use_certificate_ASN1, -SSL_use_certificate_file, SSL_CTX_use_certificate_chain_file, -SSL_use_certificate_chain_file, -SSL_CTX_use_PrivateKey, SSL_CTX_use_PrivateKey_ASN1, -SSL_CTX_use_PrivateKey_file, SSL_CTX_use_RSAPrivateKey, -SSL_CTX_use_RSAPrivateKey_ASN1, SSL_CTX_use_RSAPrivateKey_file, -SSL_use_PrivateKey_file, SSL_use_PrivateKey_ASN1, SSL_use_PrivateKey, -SSL_use_RSAPrivateKey, SSL_use_RSAPrivateKey_ASN1, -SSL_use_RSAPrivateKey_file, SSL_CTX_check_private_key, SSL_check_private_key, -SSL_CTX_use_cert_and_key, SSL_use_cert_and_key -\&\- load certificate and key data +SSL_CTX_use_certificate, SSL_CTX_use_certificate_ASN1, SSL_CTX_use_certificate_file, SSL_use_certificate, SSL_use_certificate_ASN1, SSL_use_certificate_file, SSL_CTX_use_certificate_chain_file, SSL_use_certificate_chain_file, SSL_CTX_use_PrivateKey, SSL_CTX_use_PrivateKey_ASN1, SSL_CTX_use_PrivateKey_file, SSL_CTX_use_RSAPrivateKey, SSL_CTX_use_RSAPrivateKey_ASN1, SSL_CTX_use_RSAPrivateKey_file, SSL_use_PrivateKey_file, SSL_use_PrivateKey_ASN1, SSL_use_PrivateKey, SSL_use_RSAPrivateKey, SSL_use_RSAPrivateKey_ASN1, SSL_use_RSAPrivateKey_file, SSL_CTX_check_private_key, SSL_check_private_key, SSL_CTX_use_cert_and_key, SSL_use_cert_and_key \&\- load certificate and key data .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -320,7 +309,7 @@ Otherwise check out the error stack to find out the reason. .IX Header "COPYRIGHT" Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_use_certificate_ASN1.3 b/linux_amd64/share/man/man3/SSL_CTX_use_certificate_ASN1.3 new file mode 120000 index 0000000..5ec6592 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_use_certificate_ASN1.3 @@ -0,0 +1 @@ +SSL_CTX_use_certificate.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_use_certificate_chain_file.3 b/linux_amd64/share/man/man3/SSL_CTX_use_certificate_chain_file.3 new file mode 120000 index 0000000..5ec6592 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_use_certificate_chain_file.3 @@ -0,0 +1 @@ +SSL_CTX_use_certificate.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_use_certificate_file.3 b/linux_amd64/share/man/man3/SSL_CTX_use_certificate_file.3 new file mode 120000 index 0000000..5ec6592 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_use_certificate_file.3 @@ -0,0 +1 @@ +SSL_CTX_use_certificate.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_use_psk_identity_hint.3 b/linux_amd64/share/man/man3/SSL_CTX_use_psk_identity_hint.3 index 8bc1b13..fd7386a 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_use_psk_identity_hint.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_use_psk_identity_hint.3 @@ -124,21 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_USE_PSK_IDENTITY_HINT 3" -.TH SSL_CTX_USE_PSK_IDENTITY_HINT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_USE_PSK_IDENTITY_HINT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_psk_server_cb_func, -SSL_psk_find_session_cb_func, -SSL_CTX_use_psk_identity_hint, -SSL_use_psk_identity_hint, -SSL_CTX_set_psk_server_callback, -SSL_set_psk_server_callback, -SSL_CTX_set_psk_find_session_callback, -SSL_set_psk_find_session_callback -\&\- set PSK identity hint to use +SSL_psk_server_cb_func, SSL_psk_find_session_cb_func, SSL_CTX_use_psk_identity_hint, SSL_use_psk_identity_hint, SSL_CTX_set_psk_server_callback, SSL_set_psk_server_callback, SSL_CTX_set_psk_find_session_callback, SSL_set_psk_find_session_callback \&\- set PSK identity hint to use .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -212,7 +204,8 @@ and it will use that in preference. If no such callback is present then it will check to see if a callback has been set via \fISSL_CTX_set_psk_server_callback()\fR or \&\fISSL_set_psk_server_callback()\fR and use that. In this case the handshake digest will default to \s-1SHA\-256\s0 for any returned \s-1PSK\s0. -.PP +.SH "NOTES" +.IX Header "NOTES" A connection established via a TLSv1.3 \s-1PSK\s0 will appear as if session resumption has occurred so that \fISSL_session_reused\fR\|(3) will return true. .SH "RETURN VALUES" @@ -251,7 +244,6 @@ ensure safety from cross-protocol related output by not reusing PSKs between \&\s-1TLS\s0 1.3 and \s-1TLS\s0 1.2.\*(R" .SH "SEE ALSO" .IX Header "SEE ALSO" -\&\fIssl\fR\|(7), \&\fISSL_CTX_set_psk_use_session_callback\fR\|(3), \&\fISSL_set_psk_use_session_callback\fR\|(3) .SH "HISTORY" @@ -262,7 +254,7 @@ were added in OpenSSL 1.1.1. .IX Header "COPYRIGHT" Copyright 2006\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_use_serverinfo.3 b/linux_amd64/share/man/man3/SSL_CTX_use_serverinfo.3 index cb21339..7cf9f0b 100755 --- a/linux_amd64/share/man/man3/SSL_CTX_use_serverinfo.3 +++ b/linux_amd64/share/man/man3/SSL_CTX_use_serverinfo.3 @@ -124,16 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_USE_SERVERINFO 3" -.TH SSL_CTX_USE_SERVERINFO 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CTX_USE_SERVERINFO 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_CTX_use_serverinfo_ex, -SSL_CTX_use_serverinfo, -SSL_CTX_use_serverinfo_file -\&\- use serverinfo extension +SSL_CTX_use_serverinfo_ex, SSL_CTX_use_serverinfo, SSL_CTX_use_serverinfo_file \&\- use serverinfo extension .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -199,14 +196,11 @@ each time a certificate is loaded via a call to \fISSL_CTX_use_certificate()\fR. On success, the functions return 1. On failure, the functions return 0. Check out the error stack to find out the reason. -.SH "SEE ALSO" -.IX Header "SEE ALSO" -\&\fIssl\fR\|(7) .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2013\-2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_CTX_use_serverinfo_ex.3 b/linux_amd64/share/man/man3/SSL_CTX_use_serverinfo_ex.3 new file mode 120000 index 0000000..596981b --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_use_serverinfo_ex.3 @@ -0,0 +1 @@ +SSL_CTX_use_serverinfo.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_CTX_use_serverinfo_file.3 b/linux_amd64/share/man/man3/SSL_CTX_use_serverinfo_file.3 new file mode 120000 index 0000000..596981b --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_CTX_use_serverinfo_file.3 @@ -0,0 +1 @@ +SSL_CTX_use_serverinfo.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_SESSION_dup.3 b/linux_amd64/share/man/man3/SSL_SESSION_dup.3 new file mode 120000 index 0000000..8b370aa --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_SESSION_dup.3 @@ -0,0 +1 @@ +SSL_SESSION_free.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_SESSION_free.3 b/linux_amd64/share/man/man3/SSL_SESSION_free.3 index 9d74e53..b98df2e 100755 --- a/linux_amd64/share/man/man3/SSL_SESSION_free.3 +++ b/linux_amd64/share/man/man3/SSL_SESSION_free.3 @@ -124,23 +124,20 @@ .\" ======================================================================== .\" .IX Title "SSL_SESSION_FREE 3" -.TH SSL_SESSION_FREE 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_SESSION_FREE 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_SESSION_new, -SSL_SESSION_dup, -SSL_SESSION_up_ref, -SSL_SESSION_free \- create, free and manage SSL_SESSION structures +SSL_SESSION_new, SSL_SESSION_dup, SSL_SESSION_up_ref, SSL_SESSION_free \- create, free and manage SSL_SESSION structures .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include \& \& SSL_SESSION *SSL_SESSION_new(void); -\& SSL_SESSION *SSL_SESSION_dup(const SSL_SESSION *src); +\& SSL_SESSION *SSL_SESSION_dup(SSL_SESSION *src); \& int SSL_SESSION_up_ref(SSL_SESSION *ses); \& void SSL_SESSION_free(SSL_SESSION *session); .Ve @@ -202,7 +199,7 @@ The \fISSL_SESSION_dup()\fR function was added in OpenSSL 1.1.1. .IX Header "COPYRIGHT" Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_SESSION_get0_alpn_selected.3 b/linux_amd64/share/man/man3/SSL_SESSION_get0_alpn_selected.3 new file mode 120000 index 0000000..c50ad82 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_SESSION_get0_alpn_selected.3 @@ -0,0 +1 @@ +SSL_SESSION_get0_hostname.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_SESSION_get0_cipher.3 b/linux_amd64/share/man/man3/SSL_SESSION_get0_cipher.3 index df679ca..a19e464 100755 --- a/linux_amd64/share/man/man3/SSL_SESSION_get0_cipher.3 +++ b/linux_amd64/share/man/man3/SSL_SESSION_get0_cipher.3 @@ -124,15 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_SESSION_GET0_CIPHER 3" -.TH SSL_SESSION_GET0_CIPHER 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_SESSION_GET0_CIPHER 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_SESSION_get0_cipher, -SSL_SESSION_set_cipher -\&\- set and retrieve the SSL cipher associated with a session +SSL_SESSION_get0_cipher, SSL_SESSION_set_cipher \&\- set and retrieve the SSL cipher associated with a session .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -174,7 +172,7 @@ The \fISSL_SESSION_set_cipher()\fR function was added in OpenSSL 1.1.1. .IX Header "COPYRIGHT" Copyright 2016\-2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_SESSION_get0_hostname.3 b/linux_amd64/share/man/man3/SSL_SESSION_get0_hostname.3 index 44c19a1..00189d7 100755 --- a/linux_amd64/share/man/man3/SSL_SESSION_get0_hostname.3 +++ b/linux_amd64/share/man/man3/SSL_SESSION_get0_hostname.3 @@ -124,17 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_SESSION_GET0_HOSTNAME 3" -.TH SSL_SESSION_GET0_HOSTNAME 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_SESSION_GET0_HOSTNAME 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_SESSION_get0_hostname, -SSL_SESSION_set1_hostname, -SSL_SESSION_get0_alpn_selected, -SSL_SESSION_set1_alpn_selected -\&\- get and set SNI and ALPN data associated with a session +SSL_SESSION_get0_hostname, SSL_SESSION_set1_hostname, SSL_SESSION_get0_alpn_selected, SSL_SESSION_set1_alpn_selected \&\- get and set SNI and ALPN data associated with a session .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -191,9 +187,9 @@ The \fISSL_SESSION_set1_hostname()\fR, \fISSL_SESSION_get0_alpn_selected()\fR an \&\fISSL_SESSION_set1_alpn_selected()\fR functions were added in OpenSSL 1.1.1. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2016\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2016\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_SESSION_get0_id_context.3 b/linux_amd64/share/man/man3/SSL_SESSION_get0_id_context.3 index ff917dc..c63ab57 100755 --- a/linux_amd64/share/man/man3/SSL_SESSION_get0_id_context.3 +++ b/linux_amd64/share/man/man3/SSL_SESSION_get0_id_context.3 @@ -124,15 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_SESSION_GET0_ID_CONTEXT 3" -.TH SSL_SESSION_GET0_ID_CONTEXT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_SESSION_GET0_ID_CONTEXT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_SESSION_get0_id_context, -SSL_SESSION_set1_id_context -\&\- get and set the SSL ID context associated with a session +SSL_SESSION_get0_id_context, SSL_SESSION_set1_id_context \&\- get and set the SSL ID context associated with a session .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -172,7 +170,7 @@ The \fISSL_SESSION_get0_id_context()\fR function was added in OpenSSL 1.1.0. .IX Header "COPYRIGHT" Copyright 2015\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_SESSION_get0_peer.3 b/linux_amd64/share/man/man3/SSL_SESSION_get0_peer.3 index eac40e9..382fc19 100755 --- a/linux_amd64/share/man/man3/SSL_SESSION_get0_peer.3 +++ b/linux_amd64/share/man/man3/SSL_SESSION_get0_peer.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_SESSION_GET0_PEER 3" -.TH SSL_SESSION_GET0_PEER 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_SESSION_GET0_PEER 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_SESSION_get0_peer -\&\- get details about peer's certificate for a session +SSL_SESSION_get0_peer \&\- get details about peer's certificate for a session .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -155,7 +154,7 @@ no peer certificate is available. .IX Header "COPYRIGHT" Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_SESSION_get0_ticket.3 b/linux_amd64/share/man/man3/SSL_SESSION_get0_ticket.3 new file mode 120000 index 0000000..cfa099b --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_SESSION_get0_ticket.3 @@ -0,0 +1 @@ +SSL_SESSION_has_ticket.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_SESSION_get0_ticket_appdata.3 b/linux_amd64/share/man/man3/SSL_SESSION_get0_ticket_appdata.3 new file mode 120000 index 0000000..07a3922 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_SESSION_get0_ticket_appdata.3 @@ -0,0 +1 @@ +SSL_CTX_set_session_ticket_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_SESSION_get_compress_id.3 b/linux_amd64/share/man/man3/SSL_SESSION_get_compress_id.3 index 3248a21..422fda0 100755 --- a/linux_amd64/share/man/man3/SSL_SESSION_get_compress_id.3 +++ b/linux_amd64/share/man/man3/SSL_SESSION_get_compress_id.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_SESSION_GET_COMPRESS_ID 3" -.TH SSL_SESSION_GET_COMPRESS_ID 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_SESSION_GET_COMPRESS_ID 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_SESSION_get_compress_id -\&\- get details about the compression associated with a session +SSL_SESSION_get_compress_id \&\- get details about the compression associated with a session .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -156,7 +155,7 @@ none. .IX Header "COPYRIGHT" Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_SESSION_get_ex_data.3 b/linux_amd64/share/man/man3/SSL_SESSION_get_ex_data.3 new file mode 100644 index 0000000..acb7492 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_SESSION_get_ex_data.3 @@ -0,0 +1,168 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "SSL_SESSION_GET_EX_DATA 3" +.TH SSL_SESSION_GET_EX_DATA 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +SSL_SESSION_set_ex_data, SSL_SESSION_get_ex_data \&\- get and set application specific data on a session +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +.Vb 1 +\& #include +\& +\& int SSL_SESSION_set_ex_data(SSL_SESSION *ss, int idx, void *data); +\& void *SSL_SESSION_get_ex_data(const SSL_SESSION *s, int idx); +.Ve +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +\&\fISSL_SESSION_set_ex_data()\fR enables an application to store arbitrary application +specific data \fBdata\fR in an \s-1SSL_SESSION\s0 structure \fBss\fR. The index \fBidx\fR should +be a value previously returned from a call to \fICRYPTO_get_ex_new_index\fR\|(3). +.PP +\&\fISSL_SESSION_get_ex_data()\fR retrieves application specific data previously stored +in an \s-1SSL_SESSION\s0 structure \fBs\fR. The \fBidx\fR value should be the same as that +used when originally storing the data. +.SH "RETURN VALUES" +.IX Header "RETURN VALUES" +\&\fISSL_SESSION_set_ex_data()\fR returns 1 for success or 0 for failure. +.PP +\&\fISSL_SESSION_get_ex_data()\fR returns the previously stored value or \s-1NULL\s0 on +failure. \s-1NULL\s0 may also be a valid value. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIssl\fR\|(7), +\&\fICRYPTO_get_ex_new_index\fR\|(3) +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man3/SSL_SESSION_get_id.3 b/linux_amd64/share/man/man3/SSL_SESSION_get_id.3 new file mode 120000 index 0000000..ec1ac3b --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_SESSION_get_id.3 @@ -0,0 +1 @@ +SSL_SESSION_set1_id.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_SESSION_get_master_key.3 b/linux_amd64/share/man/man3/SSL_SESSION_get_master_key.3 new file mode 120000 index 0000000..d315e3c --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_SESSION_get_master_key.3 @@ -0,0 +1 @@ +SSL_get_client_random.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_SESSION_get_max_early_data.3 b/linux_amd64/share/man/man3/SSL_SESSION_get_max_early_data.3 new file mode 120000 index 0000000..f582a21 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_SESSION_get_max_early_data.3 @@ -0,0 +1 @@ +SSL_read_early_data.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_SESSION_get_max_fragment_length.3 b/linux_amd64/share/man/man3/SSL_SESSION_get_max_fragment_length.3 new file mode 120000 index 0000000..b7d62a1 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_SESSION_get_max_fragment_length.3 @@ -0,0 +1 @@ +SSL_CTX_set_split_send_fragment.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_SESSION_get_protocol_version.3 b/linux_amd64/share/man/man3/SSL_SESSION_get_protocol_version.3 index 361dfe3..9652936 100755 --- a/linux_amd64/share/man/man3/SSL_SESSION_get_protocol_version.3 +++ b/linux_amd64/share/man/man3/SSL_SESSION_get_protocol_version.3 @@ -124,15 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_SESSION_GET_PROTOCOL_VERSION 3" -.TH SSL_SESSION_GET_PROTOCOL_VERSION 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_SESSION_GET_PROTOCOL_VERSION 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_SESSION_get_protocol_version, -SSL_SESSION_set_protocol_version -\&\- get and set the session protocol version +SSL_SESSION_get_protocol_version, SSL_SESSION_set_protocol_version \&\- get and set the session protocol version .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -172,7 +170,7 @@ The \fISSL_SESSION_set_protocol_version()\fR function was added in OpenSSL 1.1.1 .IX Header "COPYRIGHT" Copyright 2001\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_SESSION_get_ticket_lifetime_hint.3 b/linux_amd64/share/man/man3/SSL_SESSION_get_ticket_lifetime_hint.3 new file mode 120000 index 0000000..cfa099b --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_SESSION_get_ticket_lifetime_hint.3 @@ -0,0 +1 @@ +SSL_SESSION_has_ticket.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_SESSION_get_time.3 b/linux_amd64/share/man/man3/SSL_SESSION_get_time.3 index a1df60e..1858e1b 100755 --- a/linux_amd64/share/man/man3/SSL_SESSION_get_time.3 +++ b/linux_amd64/share/man/man3/SSL_SESSION_get_time.3 @@ -124,16 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_SESSION_GET_TIME 3" -.TH SSL_SESSION_GET_TIME 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_SESSION_GET_TIME 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_SESSION_get_time, SSL_SESSION_set_time, SSL_SESSION_get_timeout, -SSL_SESSION_set_timeout, -SSL_get_time, SSL_set_time, SSL_get_timeout, SSL_set_timeout -\&\- retrieve and manipulate session time and timeout settings +SSL_SESSION_get_time, SSL_SESSION_set_time, SSL_SESSION_get_timeout, SSL_SESSION_set_timeout, SSL_get_time, SSL_set_time, SSL_get_timeout, SSL_set_timeout \&\- retrieve and manipulate session time and timeout settings .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -192,7 +189,7 @@ If any of the function is passed the \s-1NULL\s0 pointer for the session \fBs\fR .IX Header "COPYRIGHT" Copyright 2001\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_SESSION_get_timeout.3 b/linux_amd64/share/man/man3/SSL_SESSION_get_timeout.3 new file mode 120000 index 0000000..713bcea --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_SESSION_get_timeout.3 @@ -0,0 +1 @@ +SSL_SESSION_get_time.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_SESSION_has_ticket.3 b/linux_amd64/share/man/man3/SSL_SESSION_has_ticket.3 index 6790e23..c086c3a 100755 --- a/linux_amd64/share/man/man3/SSL_SESSION_has_ticket.3 +++ b/linux_amd64/share/man/man3/SSL_SESSION_has_ticket.3 @@ -124,15 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_SESSION_HAS_TICKET 3" -.TH SSL_SESSION_HAS_TICKET 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_SESSION_HAS_TICKET 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_SESSION_get0_ticket, -SSL_SESSION_has_ticket, SSL_SESSION_get_ticket_lifetime_hint -\&\- get details about the ticket associated with a session +SSL_SESSION_get0_ticket, SSL_SESSION_has_ticket, SSL_SESSION_get_ticket_lifetime_hint \&\- get details about the ticket associated with a session .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -175,7 +173,7 @@ and \fISSL_SESSION_get0_ticket()\fR functions were added in OpenSSL 1.1.0. .IX Header "COPYRIGHT" Copyright 2015\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_SESSION_is_resumable.3 b/linux_amd64/share/man/man3/SSL_SESSION_is_resumable.3 index b478ac1..78fb9a9 100755 --- a/linux_amd64/share/man/man3/SSL_SESSION_is_resumable.3 +++ b/linux_amd64/share/man/man3/SSL_SESSION_is_resumable.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_SESSION_IS_RESUMABLE 3" -.TH SSL_SESSION_IS_RESUMABLE 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_SESSION_IS_RESUMABLE 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_SESSION_is_resumable -\&\- determine whether an SSL_SESSION object can be used for resumption +SSL_SESSION_is_resumable \&\- determine whether an SSL_SESSION object can be used for resumption .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -160,7 +159,7 @@ The \fISSL_SESSION_is_resumable()\fR function was added in OpenSSL 1.1.1. .IX Header "COPYRIGHT" Copyright 2017\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_SESSION_new.3 b/linux_amd64/share/man/man3/SSL_SESSION_new.3 new file mode 120000 index 0000000..8b370aa --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_SESSION_new.3 @@ -0,0 +1 @@ +SSL_SESSION_free.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_SESSION_print.3 b/linux_amd64/share/man/man3/SSL_SESSION_print.3 index 09f0c9f..c3e8e4f 100755 --- a/linux_amd64/share/man/man3/SSL_SESSION_print.3 +++ b/linux_amd64/share/man/man3/SSL_SESSION_print.3 @@ -124,16 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_SESSION_PRINT 3" -.TH SSL_SESSION_PRINT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_SESSION_PRINT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_SESSION_print, -SSL_SESSION_print_fp, -SSL_SESSION_print_keylog -\&\- printf information about a session +SSL_SESSION_print, SSL_SESSION_print_fp, SSL_SESSION_print_keylog \&\- printf information about a session .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -164,7 +161,7 @@ in \s-1NSS\s0 keylog format. .IX Header "COPYRIGHT" Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_SESSION_print_fp.3 b/linux_amd64/share/man/man3/SSL_SESSION_print_fp.3 new file mode 120000 index 0000000..efa824c --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_SESSION_print_fp.3 @@ -0,0 +1 @@ +SSL_SESSION_print.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_SESSION_print_keylog.3 b/linux_amd64/share/man/man3/SSL_SESSION_print_keylog.3 new file mode 120000 index 0000000..efa824c --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_SESSION_print_keylog.3 @@ -0,0 +1 @@ +SSL_SESSION_print.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_SESSION_set1_alpn_selected.3 b/linux_amd64/share/man/man3/SSL_SESSION_set1_alpn_selected.3 new file mode 120000 index 0000000..c50ad82 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_SESSION_set1_alpn_selected.3 @@ -0,0 +1 @@ +SSL_SESSION_get0_hostname.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_SESSION_set1_hostname.3 b/linux_amd64/share/man/man3/SSL_SESSION_set1_hostname.3 new file mode 120000 index 0000000..c50ad82 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_SESSION_set1_hostname.3 @@ -0,0 +1 @@ +SSL_SESSION_get0_hostname.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_SESSION_set1_id.3 b/linux_amd64/share/man/man3/SSL_SESSION_set1_id.3 index dba81c8..dc5b582 100755 --- a/linux_amd64/share/man/man3/SSL_SESSION_set1_id.3 +++ b/linux_amd64/share/man/man3/SSL_SESSION_set1_id.3 @@ -124,15 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_SESSION_SET1_ID 3" -.TH SSL_SESSION_SET1_ID 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_SESSION_SET1_ID 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_SESSION_get_id, -SSL_SESSION_set1_id -\&\- get and set the SSL session ID +SSL_SESSION_get_id, SSL_SESSION_set1_id \&\- get and set the SSL session ID .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -166,7 +164,7 @@ The \fISSL_SESSION_set1_id()\fR function was added in OpenSSL 1.1.0. .IX Header "COPYRIGHT" Copyright 2015\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_SESSION_set1_id_context.3 b/linux_amd64/share/man/man3/SSL_SESSION_set1_id_context.3 new file mode 120000 index 0000000..cdd3513 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_SESSION_set1_id_context.3 @@ -0,0 +1 @@ +SSL_SESSION_get0_id_context.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_SESSION_set1_master_key.3 b/linux_amd64/share/man/man3/SSL_SESSION_set1_master_key.3 new file mode 120000 index 0000000..d315e3c --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_SESSION_set1_master_key.3 @@ -0,0 +1 @@ +SSL_get_client_random.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_SESSION_set1_ticket_appdata.3 b/linux_amd64/share/man/man3/SSL_SESSION_set1_ticket_appdata.3 new file mode 120000 index 0000000..07a3922 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_SESSION_set1_ticket_appdata.3 @@ -0,0 +1 @@ +SSL_CTX_set_session_ticket_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_SESSION_set_cipher.3 b/linux_amd64/share/man/man3/SSL_SESSION_set_cipher.3 new file mode 120000 index 0000000..786c8e0 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_SESSION_set_cipher.3 @@ -0,0 +1 @@ +SSL_SESSION_get0_cipher.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_SESSION_set_ex_data.3 b/linux_amd64/share/man/man3/SSL_SESSION_set_ex_data.3 new file mode 120000 index 0000000..4fad4fe --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_SESSION_set_ex_data.3 @@ -0,0 +1 @@ +SSL_SESSION_get_ex_data.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_SESSION_set_max_early_data.3 b/linux_amd64/share/man/man3/SSL_SESSION_set_max_early_data.3 new file mode 120000 index 0000000..f582a21 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_SESSION_set_max_early_data.3 @@ -0,0 +1 @@ +SSL_read_early_data.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_SESSION_set_protocol_version.3 b/linux_amd64/share/man/man3/SSL_SESSION_set_protocol_version.3 new file mode 120000 index 0000000..319faa8 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_SESSION_set_protocol_version.3 @@ -0,0 +1 @@ +SSL_SESSION_get_protocol_version.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_SESSION_set_time.3 b/linux_amd64/share/man/man3/SSL_SESSION_set_time.3 new file mode 120000 index 0000000..713bcea --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_SESSION_set_time.3 @@ -0,0 +1 @@ +SSL_SESSION_get_time.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_SESSION_set_timeout.3 b/linux_amd64/share/man/man3/SSL_SESSION_set_timeout.3 new file mode 120000 index 0000000..713bcea --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_SESSION_set_timeout.3 @@ -0,0 +1 @@ +SSL_SESSION_get_time.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_SESSION_up_ref.3 b/linux_amd64/share/man/man3/SSL_SESSION_up_ref.3 new file mode 120000 index 0000000..8b370aa --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_SESSION_up_ref.3 @@ -0,0 +1 @@ +SSL_SESSION_free.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_accept.3 b/linux_amd64/share/man/man3/SSL_accept.3 index 7bfa12a..ed35955 100755 --- a/linux_amd64/share/man/man3/SSL_accept.3 +++ b/linux_amd64/share/man/man3/SSL_accept.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_ACCEPT 3" -.TH SSL_ACCEPT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_ACCEPT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -190,7 +190,7 @@ to find out the reason. .IX Header "COPYRIGHT" Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_add0_chain_cert.3 b/linux_amd64/share/man/man3/SSL_add0_chain_cert.3 new file mode 120000 index 0000000..0ef0f3c --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_add0_chain_cert.3 @@ -0,0 +1 @@ +SSL_CTX_add1_chain_cert.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_add1_chain_cert.3 b/linux_amd64/share/man/man3/SSL_add1_chain_cert.3 new file mode 120000 index 0000000..0ef0f3c --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_add1_chain_cert.3 @@ -0,0 +1 @@ +SSL_CTX_add1_chain_cert.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_add1_host.3 b/linux_amd64/share/man/man3/SSL_add1_host.3 new file mode 120000 index 0000000..85e5d43 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_add1_host.3 @@ -0,0 +1 @@ +SSL_set1_host.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_add1_to_CA_list.3 b/linux_amd64/share/man/man3/SSL_add1_to_CA_list.3 new file mode 120000 index 0000000..bfb7e21 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_add1_to_CA_list.3 @@ -0,0 +1 @@ +SSL_CTX_set0_CA_list.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_add_client_CA.3 b/linux_amd64/share/man/man3/SSL_add_client_CA.3 new file mode 120000 index 0000000..bfb7e21 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_add_client_CA.3 @@ -0,0 +1 @@ +SSL_CTX_set0_CA_list.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_add_dir_cert_subjects_to_stack.3 b/linux_amd64/share/man/man3/SSL_add_dir_cert_subjects_to_stack.3 new file mode 120000 index 0000000..1c113f0 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_add_dir_cert_subjects_to_stack.3 @@ -0,0 +1 @@ +SSL_load_client_CA_file.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_add_file_cert_subjects_to_stack.3 b/linux_amd64/share/man/man3/SSL_add_file_cert_subjects_to_stack.3 new file mode 120000 index 0000000..1c113f0 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_add_file_cert_subjects_to_stack.3 @@ -0,0 +1 @@ +SSL_load_client_CA_file.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_alert_desc_string.3 b/linux_amd64/share/man/man3/SSL_alert_desc_string.3 new file mode 120000 index 0000000..36f6145 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_alert_desc_string.3 @@ -0,0 +1 @@ +SSL_alert_type_string.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_alert_desc_string_long.3 b/linux_amd64/share/man/man3/SSL_alert_desc_string_long.3 new file mode 120000 index 0000000..36f6145 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_alert_desc_string_long.3 @@ -0,0 +1 @@ +SSL_alert_type_string.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_alert_type_string.3 b/linux_amd64/share/man/man3/SSL_alert_type_string.3 index 563e36f..bad16ae 100755 --- a/linux_amd64/share/man/man3/SSL_alert_type_string.3 +++ b/linux_amd64/share/man/man3/SSL_alert_type_string.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_ALERT_TYPE_STRING 3" -.TH SSL_ALERT_TYPE_STRING 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_ALERT_TYPE_STRING 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -354,7 +354,7 @@ Probably \fBvalue\fR does not contain a correct alert message. .IX Header "COPYRIGHT" Copyright 2001\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_alert_type_string_long.3 b/linux_amd64/share/man/man3/SSL_alert_type_string_long.3 new file mode 120000 index 0000000..36f6145 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_alert_type_string_long.3 @@ -0,0 +1 @@ +SSL_alert_type_string.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_alloc_buffers.3 b/linux_amd64/share/man/man3/SSL_alloc_buffers.3 index b3f3f6f..28deab0 100755 --- a/linux_amd64/share/man/man3/SSL_alloc_buffers.3 +++ b/linux_amd64/share/man/man3/SSL_alloc_buffers.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_ALLOC_BUFFERS 3" -.TH SSL_ALLOC_BUFFERS 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_ALLOC_BUFFERS 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -171,15 +171,14 @@ This value is also returned if the buffers had been allocated before calling \&\fISSL_alloc_buffers()\fR. .SH "SEE ALSO" .IX Header "SEE ALSO" -\&\fIssl\fR\|(7), \&\fISSL_free\fR\|(3), \fISSL_clear\fR\|(3), \&\fISSL_new\fR\|(3), \fISSL_CTX_set_mode\fR\|(3), -\&\fICRYPTO_set_mem_functions\fR\|(3) +CRYPTO_set_mem_functions .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_allow_early_data_cb_fn.3 b/linux_amd64/share/man/man3/SSL_allow_early_data_cb_fn.3 new file mode 120000 index 0000000..f582a21 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_allow_early_data_cb_fn.3 @@ -0,0 +1 @@ +SSL_read_early_data.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_build_cert_chain.3 b/linux_amd64/share/man/man3/SSL_build_cert_chain.3 new file mode 120000 index 0000000..0ef0f3c --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_build_cert_chain.3 @@ -0,0 +1 @@ +SSL_CTX_add1_chain_cert.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_bytes_to_cipher_list.3 b/linux_amd64/share/man/man3/SSL_bytes_to_cipher_list.3 new file mode 120000 index 0000000..a5c5b49 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_bytes_to_cipher_list.3 @@ -0,0 +1 @@ +SSL_get_ciphers.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_callback_ctrl.3 b/linux_amd64/share/man/man3/SSL_callback_ctrl.3 new file mode 120000 index 0000000..cd48d63 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_callback_ctrl.3 @@ -0,0 +1 @@ +SSL_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_check_chain.3 b/linux_amd64/share/man/man3/SSL_check_chain.3 index 50a242d..5c0f68c 100755 --- a/linux_amd64/share/man/man3/SSL_check_chain.3 +++ b/linux_amd64/share/man/man3/SSL_check_chain.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CHECK_CHAIN 3" -.TH SSL_CHECK_CHAIN 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CHECK_CHAIN 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -210,7 +210,7 @@ for earlier versions of \s-1TLS\s0 or \s-1DTLS\s0. .IX Header "COPYRIGHT" Copyright 2015\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_check_private_key.3 b/linux_amd64/share/man/man3/SSL_check_private_key.3 new file mode 120000 index 0000000..5ec6592 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_check_private_key.3 @@ -0,0 +1 @@ +SSL_CTX_use_certificate.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_clear.3 b/linux_amd64/share/man/man3/SSL_clear.3 index 0907517..fcf42d2 100755 --- a/linux_amd64/share/man/man3/SSL_clear.3 +++ b/linux_amd64/share/man/man3/SSL_clear.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CLEAR 3" -.TH SSL_CLEAR 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CLEAR 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -193,7 +193,7 @@ The \fISSL_clear()\fR operation was successful. .IX Header "COPYRIGHT" Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_clear_chain_certs.3 b/linux_amd64/share/man/man3/SSL_clear_chain_certs.3 new file mode 120000 index 0000000..0ef0f3c --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_clear_chain_certs.3 @@ -0,0 +1 @@ +SSL_CTX_add1_chain_cert.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_clear_mode.3 b/linux_amd64/share/man/man3/SSL_clear_mode.3 new file mode 120000 index 0000000..295da90 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_clear_mode.3 @@ -0,0 +1 @@ +SSL_CTX_set_mode.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_clear_options.3 b/linux_amd64/share/man/man3/SSL_clear_options.3 new file mode 120000 index 0000000..ae626a4 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_clear_options.3 @@ -0,0 +1 @@ +SSL_CTX_set_options.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_client_hello_cb_fn.3 b/linux_amd64/share/man/man3/SSL_client_hello_cb_fn.3 new file mode 120000 index 0000000..723d3d0 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_client_hello_cb_fn.3 @@ -0,0 +1 @@ +SSL_CTX_set_client_hello_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_client_hello_get0_ciphers.3 b/linux_amd64/share/man/man3/SSL_client_hello_get0_ciphers.3 new file mode 120000 index 0000000..723d3d0 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_client_hello_get0_ciphers.3 @@ -0,0 +1 @@ +SSL_CTX_set_client_hello_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_client_hello_get0_compression_methods.3 b/linux_amd64/share/man/man3/SSL_client_hello_get0_compression_methods.3 new file mode 120000 index 0000000..723d3d0 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_client_hello_get0_compression_methods.3 @@ -0,0 +1 @@ +SSL_CTX_set_client_hello_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_client_hello_get0_ext.3 b/linux_amd64/share/man/man3/SSL_client_hello_get0_ext.3 new file mode 120000 index 0000000..723d3d0 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_client_hello_get0_ext.3 @@ -0,0 +1 @@ +SSL_CTX_set_client_hello_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_client_hello_get0_legacy_version.3 b/linux_amd64/share/man/man3/SSL_client_hello_get0_legacy_version.3 new file mode 120000 index 0000000..723d3d0 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_client_hello_get0_legacy_version.3 @@ -0,0 +1 @@ +SSL_CTX_set_client_hello_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_client_hello_get0_random.3 b/linux_amd64/share/man/man3/SSL_client_hello_get0_random.3 new file mode 120000 index 0000000..723d3d0 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_client_hello_get0_random.3 @@ -0,0 +1 @@ +SSL_CTX_set_client_hello_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_client_hello_get0_session_id.3 b/linux_amd64/share/man/man3/SSL_client_hello_get0_session_id.3 new file mode 120000 index 0000000..723d3d0 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_client_hello_get0_session_id.3 @@ -0,0 +1 @@ +SSL_CTX_set_client_hello_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_client_hello_get1_extensions_present.3 b/linux_amd64/share/man/man3/SSL_client_hello_get1_extensions_present.3 new file mode 120000 index 0000000..723d3d0 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_client_hello_get1_extensions_present.3 @@ -0,0 +1 @@ +SSL_CTX_set_client_hello_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_client_hello_isv2.3 b/linux_amd64/share/man/man3/SSL_client_hello_isv2.3 new file mode 120000 index 0000000..723d3d0 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_client_hello_isv2.3 @@ -0,0 +1 @@ +SSL_CTX_set_client_hello_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_client_version.3 b/linux_amd64/share/man/man3/SSL_client_version.3 new file mode 120000 index 0000000..2da60da --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_client_version.3 @@ -0,0 +1 @@ +SSL_get_version.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_config.3 b/linux_amd64/share/man/man3/SSL_config.3 new file mode 120000 index 0000000..069c2a7 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_config.3 @@ -0,0 +1 @@ +SSL_CTX_config.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_connect.3 b/linux_amd64/share/man/man3/SSL_connect.3 index 7bc4d30..abfc158 100755 --- a/linux_amd64/share/man/man3/SSL_connect.3 +++ b/linux_amd64/share/man/man3/SSL_connect.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CONNECT 3" -.TH SSL_CONNECT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_CONNECT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -205,7 +205,7 @@ to find out the reason. .IX Header "COPYRIGHT" Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_ct_is_enabled.3 b/linux_amd64/share/man/man3/SSL_ct_is_enabled.3 new file mode 120000 index 0000000..8a8a33b --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_ct_is_enabled.3 @@ -0,0 +1 @@ +SSL_CTX_set_ct_validation_callback.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_ctrl.3 b/linux_amd64/share/man/man3/SSL_ctrl.3 new file mode 120000 index 0000000..cd48d63 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_ctrl.3 @@ -0,0 +1 @@ +SSL_CTX_ctrl.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_dane_clear_flags.3 b/linux_amd64/share/man/man3/SSL_dane_clear_flags.3 new file mode 120000 index 0000000..867659c --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_dane_clear_flags.3 @@ -0,0 +1 @@ +SSL_CTX_dane_enable.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_dane_enable.3 b/linux_amd64/share/man/man3/SSL_dane_enable.3 new file mode 120000 index 0000000..867659c --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_dane_enable.3 @@ -0,0 +1 @@ +SSL_CTX_dane_enable.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_dane_set_flags.3 b/linux_amd64/share/man/man3/SSL_dane_set_flags.3 new file mode 120000 index 0000000..867659c --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_dane_set_flags.3 @@ -0,0 +1 @@ +SSL_CTX_dane_enable.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_dane_tlsa_add.3 b/linux_amd64/share/man/man3/SSL_dane_tlsa_add.3 new file mode 120000 index 0000000..867659c --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_dane_tlsa_add.3 @@ -0,0 +1 @@ +SSL_CTX_dane_enable.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_disable_ct.3 b/linux_amd64/share/man/man3/SSL_disable_ct.3 new file mode 120000 index 0000000..8a8a33b --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_disable_ct.3 @@ -0,0 +1 @@ +SSL_CTX_set_ct_validation_callback.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_do_handshake.3 b/linux_amd64/share/man/man3/SSL_do_handshake.3 index 8644a1c..7a1f55a 100755 --- a/linux_amd64/share/man/man3/SSL_do_handshake.3 +++ b/linux_amd64/share/man/man3/SSL_do_handshake.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_DO_HANDSHAKE 3" -.TH SSL_DO_HANDSHAKE 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_DO_HANDSHAKE 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -189,7 +189,7 @@ to find out the reason. .IX Header "COPYRIGHT" Copyright 2002\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_dup.3 b/linux_amd64/share/man/man3/SSL_dup.3 new file mode 120000 index 0000000..eb3189a --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_dup.3 @@ -0,0 +1 @@ +SSL_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_enable_ct.3 b/linux_amd64/share/man/man3/SSL_enable_ct.3 new file mode 120000 index 0000000..8a8a33b --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_enable_ct.3 @@ -0,0 +1 @@ +SSL_CTX_set_ct_validation_callback.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_export_keying_material.3 b/linux_amd64/share/man/man3/SSL_export_keying_material.3 index c4ae0a3..5022f98 100755 --- a/linux_amd64/share/man/man3/SSL_export_keying_material.3 +++ b/linux_amd64/share/man/man3/SSL_export_keying_material.3 @@ -124,15 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_EXPORT_KEYING_MATERIAL 3" -.TH SSL_EXPORT_KEYING_MATERIAL 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_EXPORT_KEYING_MATERIAL 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_export_keying_material, -SSL_export_keying_material_early -\&\- obtain keying material for application use +SSL_export_keying_material, SSL_export_keying_material_early \&\- obtain keying material for application use .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -197,9 +195,6 @@ above. Attempting to use it in SSLv3 will result in an error. \&\fISSL_export_keying_material()\fR returns 0 or \-1 on failure or 1 on success. .PP \&\fISSL_export_keying_material_early()\fR returns 0 on failure or 1 on success. -.SH "SEE ALSO" -.IX Header "SEE ALSO" -\&\fIssl\fR\|(7) .SH "HISTORY" .IX Header "HISTORY" The \fISSL_export_keying_material_early()\fR function was added in OpenSSL 1.1.1. @@ -207,7 +202,7 @@ The \fISSL_export_keying_material_early()\fR function was added in OpenSSL 1.1.1 .IX Header "COPYRIGHT" Copyright 2017\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_export_keying_material_early.3 b/linux_amd64/share/man/man3/SSL_export_keying_material_early.3 new file mode 120000 index 0000000..34dcf2d --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_export_keying_material_early.3 @@ -0,0 +1 @@ +SSL_export_keying_material.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_extension_supported.3 b/linux_amd64/share/man/man3/SSL_extension_supported.3 index f38a814..7c9bddb 100755 --- a/linux_amd64/share/man/man3/SSL_extension_supported.3 +++ b/linux_amd64/share/man/man3/SSL_extension_supported.3 @@ -124,43 +124,36 @@ .\" ======================================================================== .\" .IX Title "SSL_EXTENSION_SUPPORTED 3" -.TH SSL_EXTENSION_SUPPORTED 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_EXTENSION_SUPPORTED 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_extension_supported, -SSL_custom_ext_add_cb_ex, -SSL_custom_ext_free_cb_ex, -SSL_custom_ext_parse_cb_ex, -SSL_CTX_add_custom_ext, -SSL_CTX_add_client_custom_ext, SSL_CTX_add_server_custom_ext, -custom_ext_add_cb, custom_ext_free_cb, custom_ext_parse_cb -\&\- custom TLS extension handling +SSL_extension_supported, SSL_CTX_add_custom_ext, SSL_CTX_add_client_custom_ext, SSL_CTX_add_server_custom_ext, custom_ext_add_cb, custom_ext_free_cb, custom_ext_parse_cb \&\- custom TLS extension handling .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include \& -\& typedef int (*SSL_custom_ext_add_cb_ex)(SSL *s, unsigned int ext_type, -\& unsigned int context, -\& const unsigned char **out, -\& size_t *outlen, X509 *x, -\& size_t chainidx, int *al, -\& void *add_arg); +\& typedef int (*SSL_custom_ext_add_cb_ex) (SSL *s, unsigned int ext_type, +\& unsigned int context, +\& const unsigned char **out, +\& size_t *outlen, X509 *x, +\& size_t chainidx, int *al, +\& void *add_arg); \& -\& typedef void (*SSL_custom_ext_free_cb_ex)(SSL *s, unsigned int ext_type, -\& unsigned int context, -\& const unsigned char *out, -\& void *add_arg); +\& typedef void (*SSL_custom_ext_free_cb_ex) (SSL *s, unsigned int ext_type, +\& unsigned int context, +\& const unsigned char *out, +\& void *add_arg); \& -\& typedef int (*SSL_custom_ext_parse_cb_ex)(SSL *s, unsigned int ext_type, -\& unsigned int context, -\& const unsigned char *in, -\& size_t inlen, X509 *x, -\& size_t chainidx, int *al, -\& void *parse_arg); +\& typedef int (*SSL_custom_ext_parse_cb_ex) (SSL *s, unsigned int ext_type, +\& unsigned int context, +\& const unsigned char *in, +\& size_t inlen, X509 *x, +\& size_t chainidx, int *al, +\& void *parse_arg); \& \& int SSL_CTX_add_custom_ext(SSL_CTX *ctx, unsigned int ext_type, \& unsigned int context, @@ -384,9 +377,6 @@ failure). .PP \&\fISSL_extension_supported()\fR returns 1 if the extension \fBext_type\fR is handled internally by OpenSSL and 0 otherwise. -.SH "SEE ALSO" -.IX Header "SEE ALSO" -\&\fIssl\fR\|(7) .SH "HISTORY" .IX Header "HISTORY" The \fISSL_CTX_add_custom_ext()\fR function was added in OpenSSL 1.1.1. @@ -394,7 +384,7 @@ The \fISSL_CTX_add_custom_ext()\fR function was added in OpenSSL 1.1.1. .IX Header "COPYRIGHT" Copyright 2014\-2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_free.3 b/linux_amd64/share/man/man3/SSL_free.3 index f1015b3..f7632fe 100755 --- a/linux_amd64/share/man/man3/SSL_free.3 +++ b/linux_amd64/share/man/man3/SSL_free.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_FREE 3" -.TH SSL_FREE 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_FREE 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -171,7 +171,7 @@ from the session cache as required by \s-1RFC2246\s0. .IX Header "COPYRIGHT" Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_free_buffers.3 b/linux_amd64/share/man/man3/SSL_free_buffers.3 new file mode 120000 index 0000000..177181e --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_free_buffers.3 @@ -0,0 +1 @@ +SSL_alloc_buffers.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get0_CA_list.3 b/linux_amd64/share/man/man3/SSL_get0_CA_list.3 new file mode 120000 index 0000000..bfb7e21 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get0_CA_list.3 @@ -0,0 +1 @@ +SSL_CTX_set0_CA_list.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get0_alpn_selected.3 b/linux_amd64/share/man/man3/SSL_get0_alpn_selected.3 new file mode 120000 index 0000000..710ee18 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get0_alpn_selected.3 @@ -0,0 +1 @@ +SSL_CTX_set_alpn_select_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get0_chain_certs.3 b/linux_amd64/share/man/man3/SSL_get0_chain_certs.3 new file mode 120000 index 0000000..0ef0f3c --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get0_chain_certs.3 @@ -0,0 +1 @@ +SSL_CTX_add1_chain_cert.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get0_dane_authority.3 b/linux_amd64/share/man/man3/SSL_get0_dane_authority.3 new file mode 120000 index 0000000..867659c --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get0_dane_authority.3 @@ -0,0 +1 @@ +SSL_CTX_dane_enable.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get0_dane_tlsa.3 b/linux_amd64/share/man/man3/SSL_get0_dane_tlsa.3 new file mode 120000 index 0000000..867659c --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get0_dane_tlsa.3 @@ -0,0 +1 @@ +SSL_CTX_dane_enable.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get0_next_proto_negotiated.3 b/linux_amd64/share/man/man3/SSL_get0_next_proto_negotiated.3 new file mode 120000 index 0000000..710ee18 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get0_next_proto_negotiated.3 @@ -0,0 +1 @@ +SSL_CTX_set_alpn_select_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get0_param.3 b/linux_amd64/share/man/man3/SSL_get0_param.3 new file mode 120000 index 0000000..8da5c7e --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get0_param.3 @@ -0,0 +1 @@ +SSL_CTX_get0_param.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get0_peer_CA_list.3 b/linux_amd64/share/man/man3/SSL_get0_peer_CA_list.3 new file mode 120000 index 0000000..bfb7e21 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get0_peer_CA_list.3 @@ -0,0 +1 @@ +SSL_CTX_set0_CA_list.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get0_peer_scts.3 b/linux_amd64/share/man/man3/SSL_get0_peer_scts.3 index bdae00f..691a97b 100755 --- a/linux_amd64/share/man/man3/SSL_get0_peer_scts.3 +++ b/linux_amd64/share/man/man3/SSL_get0_peer_scts.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_GET0_PEER_SCTS 3" -.TH SSL_GET0_PEER_SCTS 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_GET0_PEER_SCTS 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -161,7 +161,7 @@ capable of sending. .IX Header "COPYRIGHT" Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_get0_peername.3 b/linux_amd64/share/man/man3/SSL_get0_peername.3 new file mode 120000 index 0000000..85e5d43 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get0_peername.3 @@ -0,0 +1 @@ +SSL_set1_host.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get0_security_ex_data.3 b/linux_amd64/share/man/man3/SSL_get0_security_ex_data.3 new file mode 120000 index 0000000..81271f0 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get0_security_ex_data.3 @@ -0,0 +1 @@ +SSL_CTX_set_security_level.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get0_session.3 b/linux_amd64/share/man/man3/SSL_get0_session.3 new file mode 120000 index 0000000..aadcfb5 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get0_session.3 @@ -0,0 +1 @@ +SSL_get_session.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get0_verified_chain.3 b/linux_amd64/share/man/man3/SSL_get0_verified_chain.3 new file mode 120000 index 0000000..2a4d340 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get0_verified_chain.3 @@ -0,0 +1 @@ +SSL_get_peer_cert_chain.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get1_curves.3 b/linux_amd64/share/man/man3/SSL_get1_curves.3 new file mode 120000 index 0000000..0884991 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get1_curves.3 @@ -0,0 +1 @@ +SSL_CTX_set1_curves.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get1_groups.3 b/linux_amd64/share/man/man3/SSL_get1_groups.3 new file mode 120000 index 0000000..0884991 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get1_groups.3 @@ -0,0 +1 @@ +SSL_CTX_set1_curves.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get1_session.3 b/linux_amd64/share/man/man3/SSL_get1_session.3 new file mode 120000 index 0000000..aadcfb5 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get1_session.3 @@ -0,0 +1 @@ +SSL_get_session.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get1_supported_ciphers.3 b/linux_amd64/share/man/man3/SSL_get1_supported_ciphers.3 new file mode 120000 index 0000000..a5c5b49 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get1_supported_ciphers.3 @@ -0,0 +1 @@ +SSL_get_ciphers.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_SSL_CTX.3 b/linux_amd64/share/man/man3/SSL_get_SSL_CTX.3 index 034d959..3129247 100755 --- a/linux_amd64/share/man/man3/SSL_get_SSL_CTX.3 +++ b/linux_amd64/share/man/man3/SSL_get_SSL_CTX.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_GET_SSL_CTX 3" -.TH SSL_GET_SSL_CTX 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_GET_SSL_CTX 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -152,7 +152,7 @@ The pointer to the \s-1SSL_CTX\s0 object is returned. .IX Header "COPYRIGHT" Copyright 2001\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_get_all_async_fds.3 b/linux_amd64/share/man/man3/SSL_get_all_async_fds.3 index 0f1120f..9ba1a64 100755 --- a/linux_amd64/share/man/man3/SSL_get_all_async_fds.3 +++ b/linux_amd64/share/man/man3/SSL_get_all_async_fds.3 @@ -124,16 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_GET_ALL_ASYNC_FDS 3" -.TH SSL_GET_ALL_ASYNC_FDS 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_GET_ALL_ASYNC_FDS 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_waiting_for_async, -SSL_get_all_async_fds, -SSL_get_changed_async_fds -\&\- manage asynchronous operations +SSL_waiting_for_async, SSL_get_all_async_fds, SSL_get_changed_async_fds \&\- manage asynchronous operations .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 2 @@ -148,32 +145,32 @@ SSL_get_changed_async_fds .SH "DESCRIPTION" .IX Header "DESCRIPTION" \&\fISSL_waiting_for_async()\fR determines whether an \s-1SSL\s0 connection is currently -waiting for asynchronous operations to complete (see the \fB\s-1SSL_MODE_ASYNC\s0\fR mode -in \fISSL_CTX_set_mode\fR\|(3)). +waiting for asynchronous operations to complete (see the \s-1SSL_MODE_ASYNC\s0 mode in +\&\fISSL_CTX_set_mode\fR\|(3)). .PP \&\fISSL_get_all_async_fds()\fR returns a list of file descriptor which can be used in a call to \fIselect()\fR or \fIpoll()\fR to determine whether the current asynchronous operation has completed or not. A completed operation will result in data appearing as \*(L"read ready\*(R" on the file descriptor (no actual data should be read -from the file descriptor). This function should only be called if the \fB\s-1SSL\s0\fR -object is currently waiting for asynchronous work to complete (i.e. -\&\fB\s-1SSL_ERROR_WANT_ASYNC\s0\fR has been received \- see \fISSL_get_error\fR\|(3)). Typically -the list will only contain one file descriptor. However if multiple asynchronous +from the file descriptor). This function should only be called if the \s-1SSL\s0 object +is currently waiting for asynchronous work to complete (i.e. +\&\s-1SSL_ERROR_WANT_ASYNC\s0 has been received \- see \fISSL_get_error\fR\|(3)). Typically the +list will only contain one file descriptor. However if multiple asynchronous capable engines are in use then more than one is possible. The number of file -descriptors returned is stored in \fI*numfds\fR and the file descriptors themselves -are in \fI*fds\fR. The \fIfds\fR parameter may be \s-1NULL\s0 in which case no file -descriptors are returned but \fI*numfds\fR is still populated. It is the callers -responsibility to ensure sufficient memory is allocated at \fI*fds\fR so typically -this function is called twice (once with a \s-1NULL\s0 \fIfds\fR parameter and once +descriptors returned is stored in \fB*numfds\fR and the file descriptors themselves +are in \fB*fds\fR. The \fBfds\fR parameter may be \s-1NULL\s0 in which case no file +descriptors are returned but \fB*numfds\fR is still populated. It is the callers +responsibility to ensure sufficient memory is allocated at \fB*fds\fR so typically +this function is called twice (once with a \s-1NULL\s0 \fBfds\fR parameter and once without). .PP \&\fISSL_get_changed_async_fds()\fR returns a list of the asynchronous file descriptors that have been added and a list that have been deleted since the last -\&\fB\s-1SSL_ERROR_WANT_ASYNC\s0\fR was received (or since the \fB\s-1SSL\s0\fR object was created if -no \fB\s-1SSL_ERROR_WANT_ASYNC\s0\fR has been received). Similar to \fISSL_get_all_async_fds()\fR -it is the callers responsibility to ensure that \fI*addfd\fR and \fI*delfd\fR have +\&\s-1SSL_ERROR_WANT_ASYNC\s0 was received (or since the \s-1SSL\s0 object was created if no +\&\s-1SSL_ERROR_WANT_ASYNC\s0 has been received). Similar to \fISSL_get_all_async_fds()\fR it +is the callers responsibility to ensure that \fB*addfd\fR and \fB*delfd\fR have sufficient memory allocated, although they may be \s-1NULL\s0. The number of added fds -and the number of deleted fds are stored in \fI*numaddfds\fR and \fI*numdelfds\fR +and the number of deleted fds are stored in \fB*numaddfds\fR and \fB*numdelfds\fR respectively. .SH "RETURN VALUES" .IX Header "RETURN VALUES" @@ -192,7 +189,6 @@ it is defined as an application developer's responsibility to include windows.h prior to async.h. .SH "SEE ALSO" .IX Header "SEE ALSO" -\&\fIssl\fR\|(7), \&\fISSL_get_error\fR\|(3), \fISSL_CTX_set_mode\fR\|(3) .SH "HISTORY" .IX Header "HISTORY" @@ -202,7 +198,7 @@ and \fISSL_get_changed_async_fds()\fR functions were added in OpenSSL 1.1.0. .IX Header "COPYRIGHT" Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_get_changed_async_fds.3 b/linux_amd64/share/man/man3/SSL_get_changed_async_fds.3 new file mode 120000 index 0000000..40f98ff --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_changed_async_fds.3 @@ -0,0 +1 @@ +SSL_get_all_async_fds.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_cipher.3 b/linux_amd64/share/man/man3/SSL_get_cipher.3 new file mode 120000 index 0000000..b0cb881 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_cipher.3 @@ -0,0 +1 @@ +SSL_get_current_cipher.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_cipher_bits.3 b/linux_amd64/share/man/man3/SSL_get_cipher_bits.3 new file mode 120000 index 0000000..b0cb881 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_cipher_bits.3 @@ -0,0 +1 @@ +SSL_get_current_cipher.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_cipher_list.3 b/linux_amd64/share/man/man3/SSL_get_cipher_list.3 new file mode 120000 index 0000000..a5c5b49 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_cipher_list.3 @@ -0,0 +1 @@ +SSL_get_ciphers.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_cipher_name.3 b/linux_amd64/share/man/man3/SSL_get_cipher_name.3 new file mode 120000 index 0000000..b0cb881 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_cipher_name.3 @@ -0,0 +1 @@ +SSL_get_current_cipher.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_cipher_version.3 b/linux_amd64/share/man/man3/SSL_get_cipher_version.3 new file mode 120000 index 0000000..b0cb881 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_cipher_version.3 @@ -0,0 +1 @@ +SSL_get_current_cipher.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_ciphers.3 b/linux_amd64/share/man/man3/SSL_get_ciphers.3 index c1f09f6..7c526c0 100755 --- a/linux_amd64/share/man/man3/SSL_get_ciphers.3 +++ b/linux_amd64/share/man/man3/SSL_get_ciphers.3 @@ -124,20 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_GET_CIPHERS 3" -.TH SSL_GET_CIPHERS 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_GET_CIPHERS 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_get1_supported_ciphers, -SSL_get_client_ciphers, -SSL_get_ciphers, -SSL_CTX_get_ciphers, -SSL_bytes_to_cipher_list, -SSL_get_cipher_list, -SSL_get_shared_ciphers -\&\- get list of available SSL_CIPHERs +SSL_get1_supported_ciphers, SSL_get_client_ciphers, SSL_get_ciphers, SSL_CTX_get_ciphers, SSL_bytes_to_cipher_list, SSL_get_cipher_list, SSL_get_shared_ciphers \&\- get list of available SSL_CIPHERs .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -233,7 +226,7 @@ See \s-1DESCRIPTION\s0 .IX Header "COPYRIGHT" Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_get_client_CA_list.3 b/linux_amd64/share/man/man3/SSL_get_client_CA_list.3 new file mode 120000 index 0000000..bfb7e21 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_client_CA_list.3 @@ -0,0 +1 @@ +SSL_CTX_set0_CA_list.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_client_ciphers.3 b/linux_amd64/share/man/man3/SSL_get_client_ciphers.3 new file mode 120000 index 0000000..a5c5b49 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_client_ciphers.3 @@ -0,0 +1 @@ +SSL_get_ciphers.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_client_random.3 b/linux_amd64/share/man/man3/SSL_get_client_random.3 index 4eb8e27..dc14713 100755 --- a/linux_amd64/share/man/man3/SSL_get_client_random.3 +++ b/linux_amd64/share/man/man3/SSL_get_client_random.3 @@ -124,17 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_GET_CLIENT_RANDOM 3" -.TH SSL_GET_CLIENT_RANDOM 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_GET_CLIENT_RANDOM 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_get_client_random, -SSL_get_server_random, -SSL_SESSION_get_master_key, -SSL_SESSION_set1_master_key -\&\- get internal TLS/SSL random values and get/set master key +SSL_get_client_random, SSL_get_server_random, SSL_SESSION_get_master_key, SSL_SESSION_set1_master_key \&\- get internal TLS/SSL random values and get/set master key .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -218,7 +214,7 @@ of bytes they would copy \*(-- that is, the length of the underlying field. .IX Header "COPYRIGHT" Copyright 2015\-2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_get_current_cipher.3 b/linux_amd64/share/man/man3/SSL_get_current_cipher.3 index 5672b4f..c96fd8b 100755 --- a/linux_amd64/share/man/man3/SSL_get_current_cipher.3 +++ b/linux_amd64/share/man/man3/SSL_get_current_cipher.3 @@ -124,15 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_GET_CURRENT_CIPHER 3" -.TH SSL_GET_CURRENT_CIPHER 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_GET_CURRENT_CIPHER 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_get_current_cipher, SSL_get_cipher_name, SSL_get_cipher, -SSL_get_cipher_bits, SSL_get_cipher_version, -SSL_get_pending_cipher \- get SSL_CIPHER of a connection +SSL_get_current_cipher, SSL_get_cipher_name, SSL_get_cipher, SSL_get_cipher_bits, SSL_get_cipher_version, SSL_get_pending_cipher \- get SSL_CIPHER of a connection .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -187,7 +185,7 @@ SSL_get_cipher_name are implemented as macros. .IX Header "COPYRIGHT" Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_get_default_passwd_cb.3 b/linux_amd64/share/man/man3/SSL_get_default_passwd_cb.3 new file mode 120000 index 0000000..ced1a3d --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_default_passwd_cb.3 @@ -0,0 +1 @@ +SSL_CTX_set_default_passwd_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_default_passwd_cb_userdata.3 b/linux_amd64/share/man/man3/SSL_get_default_passwd_cb_userdata.3 new file mode 120000 index 0000000..ced1a3d --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_default_passwd_cb_userdata.3 @@ -0,0 +1 @@ +SSL_CTX_set_default_passwd_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_default_timeout.3 b/linux_amd64/share/man/man3/SSL_get_default_timeout.3 index 2897304..4e15e1f 100755 --- a/linux_amd64/share/man/man3/SSL_get_default_timeout.3 +++ b/linux_amd64/share/man/man3/SSL_get_default_timeout.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_GET_DEFAULT_TIMEOUT 3" -.TH SSL_GET_DEFAULT_TIMEOUT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_GET_DEFAULT_TIMEOUT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -166,7 +166,7 @@ See description. .IX Header "COPYRIGHT" Copyright 2001\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_get_early_data_status.3 b/linux_amd64/share/man/man3/SSL_get_early_data_status.3 new file mode 120000 index 0000000..f582a21 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_early_data_status.3 @@ -0,0 +1 @@ +SSL_read_early_data.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_error.3 b/linux_amd64/share/man/man3/SSL_get_error.3 index 5dda0cb..18c492f 100755 --- a/linux_amd64/share/man/man3/SSL_get_error.3 +++ b/linux_amd64/share/man/man3/SSL_get_error.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_GET_ERROR 3" -.TH SSL_GET_ERROR 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_GET_ERROR 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -276,9 +276,9 @@ The \s-1SSL_ERROR_WANT_ASYNC\s0 error code was added in OpenSSL 1.1.0. The \s-1SSL_ERROR_WANT_CLIENT_HELLO_CB\s0 error code was added in OpenSSL 1.1.1. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_get_ex_data.3 b/linux_amd64/share/man/man3/SSL_get_ex_data.3 new file mode 120000 index 0000000..0022e25 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_ex_data.3 @@ -0,0 +1 @@ +SSL_CTX_set_ex_data.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_ex_data_X509_STORE_CTX_idx.3 b/linux_amd64/share/man/man3/SSL_get_ex_data_X509_STORE_CTX_idx.3 new file mode 120000 index 0000000..bf64a6e --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_ex_data_X509_STORE_CTX_idx.3 @@ -0,0 +1 @@ +SSL_CTX_set_verify.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_extms_support.3 b/linux_amd64/share/man/man3/SSL_get_extms_support.3 index 0f3664f..7768f92 100755 --- a/linux_amd64/share/man/man3/SSL_get_extms_support.3 +++ b/linux_amd64/share/man/man3/SSL_get_extms_support.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_GET_EXTMS_SUPPORT 3" -.TH SSL_GET_EXTMS_SUPPORT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_GET_EXTMS_SUPPORT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -157,7 +157,7 @@ was used. .IX Header "COPYRIGHT" Copyright 2015\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_get_fd.3 b/linux_amd64/share/man/man3/SSL_get_fd.3 index 0b942d3..73b9699 100755 --- a/linux_amd64/share/man/man3/SSL_get_fd.3 +++ b/linux_amd64/share/man/man3/SSL_get_fd.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_GET_FD 3" -.TH SSL_GET_FD 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_GET_FD 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -164,7 +164,7 @@ The file descriptor linked to \fBssl\fR. .IX Header "COPYRIGHT" Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_get_info_callback.3 b/linux_amd64/share/man/man3/SSL_get_info_callback.3 new file mode 120000 index 0000000..47e39f6 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_info_callback.3 @@ -0,0 +1 @@ +SSL_CTX_set_info_callback.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_key_update_type.3 b/linux_amd64/share/man/man3/SSL_get_key_update_type.3 new file mode 120000 index 0000000..4e76b74 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_key_update_type.3 @@ -0,0 +1 @@ +SSL_key_update.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_max_cert_list.3 b/linux_amd64/share/man/man3/SSL_get_max_cert_list.3 new file mode 120000 index 0000000..57ed596 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_max_cert_list.3 @@ -0,0 +1 @@ +SSL_CTX_set_max_cert_list.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_max_early_data.3 b/linux_amd64/share/man/man3/SSL_get_max_early_data.3 new file mode 120000 index 0000000..f582a21 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_max_early_data.3 @@ -0,0 +1 @@ +SSL_read_early_data.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_max_proto_version.3 b/linux_amd64/share/man/man3/SSL_get_max_proto_version.3 new file mode 120000 index 0000000..64444be --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_max_proto_version.3 @@ -0,0 +1 @@ +SSL_CTX_set_min_proto_version.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_min_proto_version.3 b/linux_amd64/share/man/man3/SSL_get_min_proto_version.3 new file mode 120000 index 0000000..64444be --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_min_proto_version.3 @@ -0,0 +1 @@ +SSL_CTX_set_min_proto_version.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_mode.3 b/linux_amd64/share/man/man3/SSL_get_mode.3 new file mode 120000 index 0000000..295da90 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_mode.3 @@ -0,0 +1 @@ +SSL_CTX_set_mode.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_num_tickets.3 b/linux_amd64/share/man/man3/SSL_get_num_tickets.3 new file mode 120000 index 0000000..7e12220 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_num_tickets.3 @@ -0,0 +1 @@ +SSL_CTX_set_num_tickets.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_options.3 b/linux_amd64/share/man/man3/SSL_get_options.3 new file mode 120000 index 0000000..ae626a4 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_options.3 @@ -0,0 +1 @@ +SSL_CTX_set_options.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_peer_cert_chain.3 b/linux_amd64/share/man/man3/SSL_get_peer_cert_chain.3 index 1cf0f61..98717c4 100755 --- a/linux_amd64/share/man/man3/SSL_get_peer_cert_chain.3 +++ b/linux_amd64/share/man/man3/SSL_get_peer_cert_chain.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_GET_PEER_CERT_CHAIN 3" -.TH SSL_GET_PEER_CERT_CHAIN 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_GET_PEER_CERT_CHAIN 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_get_peer_cert_chain, SSL_get0_verified_chain \- get the X509 certificate -chain of the peer +SSL_get_peer_cert_chain, SSL_get0_verified_chain \- get the X509 certificate chain of the peer .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -187,7 +186,7 @@ The return value points to the certificate chain presented by the peer. .IX Header "COPYRIGHT" Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_get_peer_certificate.3 b/linux_amd64/share/man/man3/SSL_get_peer_certificate.3 index 4e545f3..1a328d0 100755 --- a/linux_amd64/share/man/man3/SSL_get_peer_certificate.3 +++ b/linux_amd64/share/man/man3/SSL_get_peer_certificate.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_GET_PEER_CERTIFICATE 3" -.TH SSL_GET_PEER_CERTIFICATE 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_GET_PEER_CERTIFICATE 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -174,7 +174,7 @@ The return value points to the certificate presented by the peer. .IX Header "COPYRIGHT" Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_get_peer_signature_nid.3 b/linux_amd64/share/man/man3/SSL_get_peer_signature_nid.3 index c686298..3d8db66 100755 --- a/linux_amd64/share/man/man3/SSL_get_peer_signature_nid.3 +++ b/linux_amd64/share/man/man3/SSL_get_peer_signature_nid.3 @@ -124,15 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_GET_PEER_SIGNATURE_NID 3" -.TH SSL_GET_PEER_SIGNATURE_NID 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_GET_PEER_SIGNATURE_NID 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_get_peer_signature_nid, SSL_get_peer_signature_type_nid, -SSL_get_signature_nid, SSL_get_signature_type_nid \- get TLS message signing -types +SSL_get_peer_signature_nid, SSL_get_peer_signature_type_nid, SSL_get_signature_nid, SSL_get_signature_type_nid \- get TLS message signing types .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -170,7 +168,7 @@ the functions were called too early, e.g. before the peer signed a message. .IX Header "COPYRIGHT" Copyright 2017\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_get_peer_signature_type_nid.3 b/linux_amd64/share/man/man3/SSL_get_peer_signature_type_nid.3 new file mode 120000 index 0000000..3a2ebfe --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_peer_signature_type_nid.3 @@ -0,0 +1 @@ +SSL_get_peer_signature_nid.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_peer_tmp_key.3 b/linux_amd64/share/man/man3/SSL_get_peer_tmp_key.3 index 25ecd05..b8bce37 100755 --- a/linux_amd64/share/man/man3/SSL_get_peer_tmp_key.3 +++ b/linux_amd64/share/man/man3/SSL_get_peer_tmp_key.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_GET_PEER_TMP_KEY 3" -.TH SSL_GET_PEER_TMP_KEY 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_GET_PEER_TMP_KEY 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_get_peer_tmp_key, SSL_get_server_tmp_key, SSL_get_tmp_key \- get information -about temporary keys used during a handshake +SSL_get_peer_tmp_key, SSL_get_server_tmp_key, SSL_get_tmp_key \- get information about temporary keys used during a handshake .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -169,7 +168,7 @@ This function is implemented as a macro. .IX Header "COPYRIGHT" Copyright 2017\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_get_pending_cipher.3 b/linux_amd64/share/man/man3/SSL_get_pending_cipher.3 new file mode 120000 index 0000000..b0cb881 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_pending_cipher.3 @@ -0,0 +1 @@ +SSL_get_current_cipher.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_psk_identity.3 b/linux_amd64/share/man/man3/SSL_get_psk_identity.3 index c2c7cd8..864af86 100755 --- a/linux_amd64/share/man/man3/SSL_get_psk_identity.3 +++ b/linux_amd64/share/man/man3/SSL_get_psk_identity.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_GET_PSK_IDENTITY 3" -.TH SSL_GET_PSK_IDENTITY 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_GET_PSK_IDENTITY 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -154,14 +154,11 @@ no \s-1PSK\s0 identity hint was used during the connection setup. .PP Note that the return value is valid only during the lifetime of the \&\s-1SSL\s0 object \fBssl\fR. -.SH "SEE ALSO" -.IX Header "SEE ALSO" -\&\fIssl\fR\|(7) .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2006\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_get_psk_identity_hint.3 b/linux_amd64/share/man/man3/SSL_get_psk_identity_hint.3 new file mode 120000 index 0000000..f32a888 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_psk_identity_hint.3 @@ -0,0 +1 @@ +SSL_get_psk_identity.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_quiet_shutdown.3 b/linux_amd64/share/man/man3/SSL_get_quiet_shutdown.3 new file mode 120000 index 0000000..ea53059 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_quiet_shutdown.3 @@ -0,0 +1 @@ +SSL_CTX_set_quiet_shutdown.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_rbio.3 b/linux_amd64/share/man/man3/SSL_get_rbio.3 index 1fefe7a..e36f915 100755 --- a/linux_amd64/share/man/man3/SSL_get_rbio.3 +++ b/linux_amd64/share/man/man3/SSL_get_rbio.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_GET_RBIO 3" -.TH SSL_GET_RBIO 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_GET_RBIO 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -160,7 +160,7 @@ The \s-1BIO\s0 linked to \fBssl\fR. .IX Header "COPYRIGHT" Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_get_read_ahead.3 b/linux_amd64/share/man/man3/SSL_get_read_ahead.3 new file mode 120000 index 0000000..5a79fd4 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_read_ahead.3 @@ -0,0 +1 @@ +SSL_CTX_set_read_ahead.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_record_padding_callback_arg.3 b/linux_amd64/share/man/man3/SSL_get_record_padding_callback_arg.3 new file mode 120000 index 0000000..c7bb118 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_record_padding_callback_arg.3 @@ -0,0 +1 @@ +SSL_CTX_set_record_padding_callback.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_recv_max_early_data.3 b/linux_amd64/share/man/man3/SSL_get_recv_max_early_data.3 new file mode 120000 index 0000000..f582a21 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_recv_max_early_data.3 @@ -0,0 +1 @@ +SSL_read_early_data.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_rfd.3 b/linux_amd64/share/man/man3/SSL_get_rfd.3 new file mode 120000 index 0000000..9fbe312 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_rfd.3 @@ -0,0 +1 @@ +SSL_get_fd.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_secure_renegotiation_support.3 b/linux_amd64/share/man/man3/SSL_get_secure_renegotiation_support.3 new file mode 120000 index 0000000..ae626a4 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_secure_renegotiation_support.3 @@ -0,0 +1 @@ +SSL_CTX_set_options.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_security_callback.3 b/linux_amd64/share/man/man3/SSL_get_security_callback.3 new file mode 120000 index 0000000..81271f0 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_security_callback.3 @@ -0,0 +1 @@ +SSL_CTX_set_security_level.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_security_level.3 b/linux_amd64/share/man/man3/SSL_get_security_level.3 new file mode 120000 index 0000000..81271f0 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_security_level.3 @@ -0,0 +1 @@ +SSL_CTX_set_security_level.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_selected_srtp_profile.3 b/linux_amd64/share/man/man3/SSL_get_selected_srtp_profile.3 new file mode 120000 index 0000000..4350455 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_selected_srtp_profile.3 @@ -0,0 +1 @@ +SSL_CTX_set_tlsext_use_srtp.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_server_random.3 b/linux_amd64/share/man/man3/SSL_get_server_random.3 new file mode 120000 index 0000000..d315e3c --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_server_random.3 @@ -0,0 +1 @@ +SSL_get_client_random.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_server_tmp_key.3 b/linux_amd64/share/man/man3/SSL_get_server_tmp_key.3 new file mode 120000 index 0000000..bad7a24 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_server_tmp_key.3 @@ -0,0 +1 @@ +SSL_get_peer_tmp_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_servername.3 b/linux_amd64/share/man/man3/SSL_get_servername.3 new file mode 120000 index 0000000..17429fd --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_servername.3 @@ -0,0 +1 @@ +SSL_CTX_set_tlsext_servername_callback.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_servername_type.3 b/linux_amd64/share/man/man3/SSL_get_servername_type.3 new file mode 120000 index 0000000..17429fd --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_servername_type.3 @@ -0,0 +1 @@ +SSL_CTX_set_tlsext_servername_callback.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_session.3 b/linux_amd64/share/man/man3/SSL_get_session.3 index 62b8537..03f9798 100755 --- a/linux_amd64/share/man/man3/SSL_get_session.3 +++ b/linux_amd64/share/man/man3/SSL_get_session.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_GET_SESSION 3" -.TH SSL_GET_SESSION 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_GET_SESSION 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -220,7 +220,7 @@ The return value points to the data of an \s-1SSL\s0 session. .IX Header "COPYRIGHT" Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_get_shared_ciphers.3 b/linux_amd64/share/man/man3/SSL_get_shared_ciphers.3 new file mode 120000 index 0000000..a5c5b49 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_shared_ciphers.3 @@ -0,0 +1 @@ +SSL_get_ciphers.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_shared_curve.3 b/linux_amd64/share/man/man3/SSL_get_shared_curve.3 new file mode 120000 index 0000000..0884991 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_shared_curve.3 @@ -0,0 +1 @@ +SSL_CTX_set1_curves.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_shared_group.3 b/linux_amd64/share/man/man3/SSL_get_shared_group.3 new file mode 120000 index 0000000..0884991 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_shared_group.3 @@ -0,0 +1 @@ +SSL_CTX_set1_curves.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_shared_sigalgs.3 b/linux_amd64/share/man/man3/SSL_get_shared_sigalgs.3 index 9f98abe..1a612c2 100755 --- a/linux_amd64/share/man/man3/SSL_get_shared_sigalgs.3 +++ b/linux_amd64/share/man/man3/SSL_get_shared_sigalgs.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_GET_SHARED_SIGALGS 3" -.TH SSL_GET_SHARED_SIGALGS 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_GET_SHARED_SIGALGS 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -204,7 +204,7 @@ signature algorithm does not use a hash (for example Ed25519). .IX Header "COPYRIGHT" Copyright 2015\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_get_shutdown.3 b/linux_amd64/share/man/man3/SSL_get_shutdown.3 new file mode 120000 index 0000000..f6728e1 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_shutdown.3 @@ -0,0 +1 @@ +SSL_set_shutdown.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_sigalgs.3 b/linux_amd64/share/man/man3/SSL_get_sigalgs.3 new file mode 120000 index 0000000..0578513 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_sigalgs.3 @@ -0,0 +1 @@ +SSL_get_shared_sigalgs.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_signature_nid.3 b/linux_amd64/share/man/man3/SSL_get_signature_nid.3 new file mode 120000 index 0000000..3a2ebfe --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_signature_nid.3 @@ -0,0 +1 @@ +SSL_get_peer_signature_nid.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_signature_type_nid.3 b/linux_amd64/share/man/man3/SSL_get_signature_type_nid.3 new file mode 120000 index 0000000..3a2ebfe --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_signature_type_nid.3 @@ -0,0 +1 @@ +SSL_get_peer_signature_nid.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_srtp_profiles.3 b/linux_amd64/share/man/man3/SSL_get_srtp_profiles.3 new file mode 120000 index 0000000..4350455 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_srtp_profiles.3 @@ -0,0 +1 @@ +SSL_CTX_set_tlsext_use_srtp.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_ssl_method.3 b/linux_amd64/share/man/man3/SSL_get_ssl_method.3 new file mode 120000 index 0000000..1ab4e23 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_ssl_method.3 @@ -0,0 +1 @@ +SSL_CTX_set_ssl_version.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_state.3 b/linux_amd64/share/man/man3/SSL_get_state.3 new file mode 120000 index 0000000..2cfbaf7 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_state.3 @@ -0,0 +1 @@ +SSL_in_init.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_time.3 b/linux_amd64/share/man/man3/SSL_get_time.3 new file mode 120000 index 0000000..713bcea --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_time.3 @@ -0,0 +1 @@ +SSL_SESSION_get_time.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_timeout.3 b/linux_amd64/share/man/man3/SSL_get_timeout.3 new file mode 120000 index 0000000..713bcea --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_timeout.3 @@ -0,0 +1 @@ +SSL_SESSION_get_time.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_tlsext_status_ocsp_resp.3 b/linux_amd64/share/man/man3/SSL_get_tlsext_status_ocsp_resp.3 new file mode 120000 index 0000000..a7877fd --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_tlsext_status_ocsp_resp.3 @@ -0,0 +1 @@ +SSL_CTX_set_tlsext_status_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_tlsext_status_type.3 b/linux_amd64/share/man/man3/SSL_get_tlsext_status_type.3 new file mode 120000 index 0000000..a7877fd --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_tlsext_status_type.3 @@ -0,0 +1 @@ +SSL_CTX_set_tlsext_status_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_tmp_key.3 b/linux_amd64/share/man/man3/SSL_get_tmp_key.3 new file mode 120000 index 0000000..bad7a24 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_tmp_key.3 @@ -0,0 +1 @@ +SSL_get_peer_tmp_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_verify_callback.3 b/linux_amd64/share/man/man3/SSL_get_verify_callback.3 new file mode 120000 index 0000000..1b7a2ea --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_verify_callback.3 @@ -0,0 +1 @@ +SSL_CTX_get_verify_mode.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_verify_depth.3 b/linux_amd64/share/man/man3/SSL_get_verify_depth.3 new file mode 120000 index 0000000..1b7a2ea --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_verify_depth.3 @@ -0,0 +1 @@ +SSL_CTX_get_verify_mode.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_verify_mode.3 b/linux_amd64/share/man/man3/SSL_get_verify_mode.3 new file mode 120000 index 0000000..1b7a2ea --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_verify_mode.3 @@ -0,0 +1 @@ +SSL_CTX_get_verify_mode.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_verify_result.3 b/linux_amd64/share/man/man3/SSL_get_verify_result.3 index 0218497..886033d 100755 --- a/linux_amd64/share/man/man3/SSL_get_verify_result.3 +++ b/linux_amd64/share/man/man3/SSL_get_verify_result.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_GET_VERIFY_RESULT 3" -.TH SSL_GET_VERIFY_RESULT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_GET_VERIFY_RESULT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -165,17 +165,17 @@ The following return values can currently occur: The verification succeeded or no peer certificate was presented. .IP "Any other value" 4 .IX Item "Any other value" -Documented in \fIopenssl\-verify\fR\|(1). +Documented in \fIverify\fR\|(1). .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIssl\fR\|(7), \fISSL_set_verify_result\fR\|(3), \&\fISSL_get_peer_certificate\fR\|(3), -\&\fIopenssl\-verify\fR\|(1) +\&\fIverify\fR\|(1) .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_get_version.3 b/linux_amd64/share/man/man3/SSL_get_version.3 index 82efebd..03b1632 100755 --- a/linux_amd64/share/man/man3/SSL_get_version.3 +++ b/linux_amd64/share/man/man3/SSL_get_version.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_GET_VERSION 3" -.TH SSL_GET_VERSION 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_GET_VERSION 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_client_version, SSL_get_version, SSL_is_dtls, SSL_version \- get the -protocol information of a connection +SSL_client_version, SSL_get_version, SSL_is_dtls, SSL_version \- get the protocol information of a connection .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -207,7 +206,7 @@ The \fISSL_is_dtls()\fR function was added in OpenSSL 1.1.0. .IX Header "COPYRIGHT" Copyright 2001\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_get_wbio.3 b/linux_amd64/share/man/man3/SSL_get_wbio.3 new file mode 120000 index 0000000..2d499d3 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_wbio.3 @@ -0,0 +1 @@ +SSL_get_rbio.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_get_wfd.3 b/linux_amd64/share/man/man3/SSL_get_wfd.3 new file mode 120000 index 0000000..9fbe312 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_get_wfd.3 @@ -0,0 +1 @@ +SSL_get_fd.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_has_matching_session_id.3 b/linux_amd64/share/man/man3/SSL_has_matching_session_id.3 new file mode 120000 index 0000000..795607d --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_has_matching_session_id.3 @@ -0,0 +1 @@ +SSL_CTX_set_generate_session_id.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_has_pending.3 b/linux_amd64/share/man/man3/SSL_has_pending.3 new file mode 120000 index 0000000..4935e3c --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_has_pending.3 @@ -0,0 +1 @@ +SSL_pending.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_in_accept_init.3 b/linux_amd64/share/man/man3/SSL_in_accept_init.3 new file mode 120000 index 0000000..2cfbaf7 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_in_accept_init.3 @@ -0,0 +1 @@ +SSL_in_init.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_in_before.3 b/linux_amd64/share/man/man3/SSL_in_before.3 new file mode 120000 index 0000000..2cfbaf7 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_in_before.3 @@ -0,0 +1 @@ +SSL_in_init.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_in_connect_init.3 b/linux_amd64/share/man/man3/SSL_in_connect_init.3 new file mode 120000 index 0000000..2cfbaf7 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_in_connect_init.3 @@ -0,0 +1 @@ +SSL_in_init.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_in_init.3 b/linux_amd64/share/man/man3/SSL_in_init.3 index d0ca0bf..a4b32f0 100755 --- a/linux_amd64/share/man/man3/SSL_in_init.3 +++ b/linux_amd64/share/man/man3/SSL_in_init.3 @@ -124,19 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_IN_INIT 3" -.TH SSL_IN_INIT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_IN_INIT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_in_before, -SSL_in_init, -SSL_is_init_finished, -SSL_in_connect_init, -SSL_in_accept_init, -SSL_get_state -\&\- retrieve information about the handshake state machine +SSL_in_before, SSL_in_init, SSL_is_init_finished, SSL_in_connect_init, SSL_in_accept_init, SSL_get_state \&\- retrieve information about the handshake state machine .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -218,7 +212,7 @@ and \fISSL_in_accept_init()\fR return values as indicated above. .IX Header "COPYRIGHT" Copyright 2017\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_is_dtls.3 b/linux_amd64/share/man/man3/SSL_is_dtls.3 new file mode 120000 index 0000000..2da60da --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_is_dtls.3 @@ -0,0 +1 @@ +SSL_get_version.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_is_init_finished.3 b/linux_amd64/share/man/man3/SSL_is_init_finished.3 new file mode 120000 index 0000000..2cfbaf7 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_is_init_finished.3 @@ -0,0 +1 @@ +SSL_in_init.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_is_server.3 b/linux_amd64/share/man/man3/SSL_is_server.3 new file mode 120000 index 0000000..3688537 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_is_server.3 @@ -0,0 +1 @@ +SSL_set_connect_state.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_key_update.3 b/linux_amd64/share/man/man3/SSL_key_update.3 index ace1565..ecce3d6 100755 --- a/linux_amd64/share/man/man3/SSL_key_update.3 +++ b/linux_amd64/share/man/man3/SSL_key_update.3 @@ -124,18 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_KEY_UPDATE 3" -.TH SSL_KEY_UPDATE 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_KEY_UPDATE 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_key_update, -SSL_get_key_update_type, -SSL_renegotiate, -SSL_renegotiate_abbreviated, -SSL_renegotiate_pending -\&\- initiate and obtain information about updating connection keys +SSL_key_update, SSL_get_key_update_type, SSL_renegotiate, SSL_renegotiate_abbreviated, SSL_renegotiate_pending \&\- initiate and obtain information about updating connection keys .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -224,9 +219,9 @@ The \fISSL_key_update()\fR and \fISSL_get_key_update_type()\fR functions were ad OpenSSL 1.1.1. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_library_init.3 b/linux_amd64/share/man/man3/SSL_library_init.3 index 0be8722..ea1fba5 100755 --- a/linux_amd64/share/man/man3/SSL_library_init.3 +++ b/linux_amd64/share/man/man3/SSL_library_init.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_LIBRARY_INIT 3" -.TH SSL_LIBRARY_INIT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_LIBRARY_INIT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_library_init, OpenSSL_add_ssl_algorithms -\&\- initialize SSL library by registering algorithms +SSL_library_init, OpenSSL_add_ssl_algorithms \&\- initialize SSL library by registering algorithms .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -169,9 +168,9 @@ The \fISSL_library_init()\fR and \fIOpenSSL_add_ssl_algorithms()\fR functions we deprecated in OpenSSL 1.1.0 by \fIOPENSSL_init_ssl()\fR. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_load_client_CA_file.3 b/linux_amd64/share/man/man3/SSL_load_client_CA_file.3 index 05b8dbc..0e2ad80 100755 --- a/linux_amd64/share/man/man3/SSL_load_client_CA_file.3 +++ b/linux_amd64/share/man/man3/SSL_load_client_CA_file.3 @@ -124,17 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_LOAD_CLIENT_CA_FILE 3" -.TH SSL_LOAD_CLIENT_CA_FILE 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_LOAD_CLIENT_CA_FILE 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_load_client_CA_file, -SSL_add_file_cert_subjects_to_stack, -SSL_add_dir_cert_subjects_to_stack, -SSL_add_store_cert_subjects_to_stack -\&\- load certificate names +SSL_load_client_CA_file, SSL_add_file_cert_subjects_to_stack, SSL_add_dir_cert_subjects_to_stack \&\- load certificate names .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -146,8 +142,6 @@ SSL_add_store_cert_subjects_to_stack \& const char *file) \& int SSL_add_dir_cert_subjects_to_stack(STACK_OF(X509_NAME) *stack, \& const char *dir) -\& int SSL_add_store_cert_subjects_to_stack(STACK_OF(X509_NAME) *stack, -\& const char *store) .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" @@ -160,10 +154,6 @@ and adds their subject name to the already existing \fIstack\fR. \&\fISSL_add_dir_cert_subjects_to_stack()\fR reads certificates from every file in the directory \fIdir\fR, and adds their subject name to the already existing \fIstack\fR. -.PP -\&\fISSL_add_store_cert_subjects_to_stack()\fR loads certificates from the -\&\fIstore\fR \s-1URI\s0, and adds their subject name to the already existing -\&\fIstack\fR. .SH "NOTES" .IX Header "NOTES" \&\fISSL_load_client_CA_file()\fR reads a file of \s-1PEM\s0 formatted certificates and @@ -199,16 +189,12 @@ Load names of CAs from file and use it as a client \s-1CA\s0 list: .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIssl\fR\|(7), -\&\fIossl_store\fR\|(7), \&\fISSL_CTX_set_client_CA_list\fR\|(3) -.SH "HISTORY" -.IX Header "HISTORY" -\&\fISSL_add_store_cert_subjects_to_stack()\fR was added in OpenSSL 3.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_load_error_strings.3 b/linux_amd64/share/man/man3/SSL_load_error_strings.3 new file mode 120000 index 0000000..1bb33ce --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_load_error_strings.3 @@ -0,0 +1 @@ +ERR_load_crypto_strings.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_new.3 b/linux_amd64/share/man/man3/SSL_new.3 index 6d2d9c6..1a9cf1c 100755 --- a/linux_amd64/share/man/man3/SSL_new.3 +++ b/linux_amd64/share/man/man3/SSL_new.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_NEW 3" -.TH SSL_NEW 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_NEW 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -154,24 +154,10 @@ structure are freed. \&\fISSL_up_ref()\fR increments the reference count for an existing \fB\s-1SSL\s0\fR structure. .PP -\&\fISSL_dup()\fR duplicates an existing \fB\s-1SSL\s0\fR structure into a new allocated one -or just increments the reference count if the connection is active. All +\&\fISSL_dup()\fR duplicates an existing \fB\s-1SSL\s0\fR structure into a new allocated one. All settings are inherited from the original \fB\s-1SSL\s0\fR structure. Dynamic data (i.e. existing connection details) are not copied, the new \fB\s-1SSL\s0\fR is set into an initial accept (server) or connect (client) state. -.PP -\&\fISSL_dup()\fR allows applications to configure an \s-1SSL\s0 handle for use in multiple -\&\s-1SSL\s0 connections, and then duplicate it prior to initiating each connection -with the duplicated handle. Use of \fISSL_dup()\fR avoids the need to repeat -the configuration of the handles for each connection. -.PP -For \fISSL_dup()\fR to work, the connection \s-1MUST\s0 be in its initial state and -\&\s-1MUST\s0 \s-1NOT\s0 have not yet have started the \s-1SSL\s0 handshake. For connections -that are not in their initial state \fISSL_dup()\fR just increments an internal -reference count and returns the \fIsame\fR handle. It may be possible to -use \fISSL_clear\fR\|(3) to recycle an \s-1SSL\s0 handle that is not in its initial -state for re-use, but this is best avoided. Instead, save and restore -the session, if desired, and construct a fresh handle for each connection. .SH "RETURN VALUES" .IX Header "RETURN VALUES" The following return values can occur: @@ -194,7 +180,7 @@ The return value points to an allocated \s-1SSL\s0 structure. .IX Header "COPYRIGHT" Copyright 2000\-2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_peek.3 b/linux_amd64/share/man/man3/SSL_peek.3 new file mode 120000 index 0000000..1a4fa8b --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_peek.3 @@ -0,0 +1 @@ +SSL_read.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_peek_ex.3 b/linux_amd64/share/man/man3/SSL_peek_ex.3 new file mode 120000 index 0000000..1a4fa8b --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_peek_ex.3 @@ -0,0 +1 @@ +SSL_read.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_pending.3 b/linux_amd64/share/man/man3/SSL_pending.3 index 39c7362..0c9f69e 100755 --- a/linux_amd64/share/man/man3/SSL_pending.3 +++ b/linux_amd64/share/man/man3/SSL_pending.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_PENDING 3" -.TH SSL_PENDING 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_PENDING 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_pending, SSL_has_pending \- check for readable bytes buffered in an -SSL object +SSL_pending, SSL_has_pending \- check for readable bytes buffered in an SSL object .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -185,7 +184,7 @@ The \fISSL_has_pending()\fR function was added in OpenSSL 1.1.0. .IX Header "COPYRIGHT" Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_psk_client_cb_func.3 b/linux_amd64/share/man/man3/SSL_psk_client_cb_func.3 new file mode 120000 index 0000000..9a1d58b --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_psk_client_cb_func.3 @@ -0,0 +1 @@ +SSL_CTX_set_psk_client_callback.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_psk_find_session_cb_func.3 b/linux_amd64/share/man/man3/SSL_psk_find_session_cb_func.3 new file mode 120000 index 0000000..7eb7f07 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_psk_find_session_cb_func.3 @@ -0,0 +1 @@ +SSL_CTX_use_psk_identity_hint.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_psk_server_cb_func.3 b/linux_amd64/share/man/man3/SSL_psk_server_cb_func.3 new file mode 120000 index 0000000..7eb7f07 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_psk_server_cb_func.3 @@ -0,0 +1 @@ +SSL_CTX_use_psk_identity_hint.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_psk_use_session_cb_func.3 b/linux_amd64/share/man/man3/SSL_psk_use_session_cb_func.3 new file mode 120000 index 0000000..9a1d58b --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_psk_use_session_cb_func.3 @@ -0,0 +1 @@ +SSL_CTX_set_psk_client_callback.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_read.3 b/linux_amd64/share/man/man3/SSL_read.3 index a4b0e79..7cb4a49 100755 --- a/linux_amd64/share/man/man3/SSL_read.3 +++ b/linux_amd64/share/man/man3/SSL_read.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_READ 3" -.TH SSL_READ 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_READ 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_read_ex, SSL_read, SSL_peek_ex, SSL_peek -\&\- read bytes from a TLS/SSL connection +SSL_read_ex, SSL_read, SSL_peek_ex, SSL_peek \&\- read bytes from a TLS/SSL connection .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -261,7 +260,7 @@ The \fISSL_read_ex()\fR and \fISSL_peek_ex()\fR functions were added in OpenSSL .IX Header "COPYRIGHT" Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_read_early_data.3 b/linux_amd64/share/man/man3/SSL_read_early_data.3 index b9f3aaa..e703f76 100755 --- a/linux_amd64/share/man/man3/SSL_read_early_data.3 +++ b/linux_amd64/share/man/man3/SSL_read_early_data.3 @@ -124,29 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_READ_EARLY_DATA 3" -.TH SSL_READ_EARLY_DATA 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_READ_EARLY_DATA 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_set_max_early_data, -SSL_CTX_set_max_early_data, -SSL_get_max_early_data, -SSL_CTX_get_max_early_data, -SSL_set_recv_max_early_data, -SSL_CTX_set_recv_max_early_data, -SSL_get_recv_max_early_data, -SSL_CTX_get_recv_max_early_data, -SSL_SESSION_get_max_early_data, -SSL_SESSION_set_max_early_data, -SSL_write_early_data, -SSL_read_early_data, -SSL_get_early_data_status, -SSL_allow_early_data_cb_fn, -SSL_CTX_set_allow_early_data_cb, -SSL_set_allow_early_data_cb -\&\- functions for sending and receiving early data +SSL_set_max_early_data, SSL_CTX_set_max_early_data, SSL_get_max_early_data, SSL_CTX_get_max_early_data, SSL_set_recv_max_early_data, SSL_CTX_set_recv_max_early_data, SSL_get_recv_max_early_data, SSL_CTX_get_recv_max_early_data, SSL_SESSION_get_max_early_data, SSL_SESSION_set_max_early_data, SSL_write_early_data, SSL_read_early_data, SSL_get_early_data_status, SSL_allow_early_data_cb_fn, SSL_CTX_set_allow_early_data_cb, SSL_set_allow_early_data_cb \&\- functions for sending and receiving early data .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -323,7 +307,7 @@ early data settings for the \s-1SSL_CTX\s0 and \s-1SSL\s0 objects respectively. server application will either use both of \fISSL_read_early_data()\fR and \&\fISSL_CTX_set_max_early_data()\fR (or \fISSL_set_max_early_data()\fR), or neither of them, since there is no practical benefit from using only one of them. If the maximum -early data setting for a server is nonzero then replay protection is +early data setting for a server is non-zero then replay protection is automatically enabled (see \*(L"\s-1REPLAY\s0 \s-1PROTECTION\s0\*(R" below). .PP If the server rejects the early data sent by a client then it will skip over @@ -404,7 +388,7 @@ retry with a lower maximum protocol version. When early data is in use the \s-1TLS\s0 protocol provides no security guarantees that the same early data was not replayed across multiple connections. As a mitigation for this issue OpenSSL automatically enables replay protection if the -server is configured with a nonzero max early data value. With replay +server is configured with a non-zero max early data value. With replay protection enabled sessions are forced to be single use only. If a client attempts to reuse a session ticket more than once, then the second and subsequent attempts will fall back to a full handshake (and any early data that @@ -479,9 +463,9 @@ the server, or \s-1SSL_EARLY_DATA_NOT_SENT\s0 if no early data was sent. All of the functions described above were added in OpenSSL 1.1.1. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2017\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_read_ex.3 b/linux_amd64/share/man/man3/SSL_read_ex.3 new file mode 120000 index 0000000..1a4fa8b --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_read_ex.3 @@ -0,0 +1 @@ +SSL_read.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_renegotiate.3 b/linux_amd64/share/man/man3/SSL_renegotiate.3 new file mode 120000 index 0000000..4e76b74 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_renegotiate.3 @@ -0,0 +1 @@ +SSL_key_update.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_renegotiate_abbreviated.3 b/linux_amd64/share/man/man3/SSL_renegotiate_abbreviated.3 new file mode 120000 index 0000000..4e76b74 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_renegotiate_abbreviated.3 @@ -0,0 +1 @@ +SSL_key_update.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_renegotiate_pending.3 b/linux_amd64/share/man/man3/SSL_renegotiate_pending.3 new file mode 120000 index 0000000..4e76b74 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_renegotiate_pending.3 @@ -0,0 +1 @@ +SSL_key_update.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_rstate_string.3 b/linux_amd64/share/man/man3/SSL_rstate_string.3 index bc150a9..cb36ccc 100755 --- a/linux_amd64/share/man/man3/SSL_rstate_string.3 +++ b/linux_amd64/share/man/man3/SSL_rstate_string.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_RSTATE_STRING 3" -.TH SSL_RSTATE_STRING 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_RSTATE_STRING 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -180,7 +180,7 @@ The read state is unknown. This should never happen. .IX Header "COPYRIGHT" Copyright 2001\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_rstate_string_long.3 b/linux_amd64/share/man/man3/SSL_rstate_string_long.3 new file mode 120000 index 0000000..cd5d65d --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_rstate_string_long.3 @@ -0,0 +1 @@ +SSL_rstate_string.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_select_current_cert.3 b/linux_amd64/share/man/man3/SSL_select_current_cert.3 new file mode 120000 index 0000000..0ef0f3c --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_select_current_cert.3 @@ -0,0 +1 @@ +SSL_CTX_add1_chain_cert.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_select_next_proto.3 b/linux_amd64/share/man/man3/SSL_select_next_proto.3 new file mode 120000 index 0000000..710ee18 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_select_next_proto.3 @@ -0,0 +1 @@ +SSL_CTX_set_alpn_select_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_session_reused.3 b/linux_amd64/share/man/man3/SSL_session_reused.3 index f36a1f7..e5498b5 100755 --- a/linux_amd64/share/man/man3/SSL_session_reused.3 +++ b/linux_amd64/share/man/man3/SSL_session_reused.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_SESSION_REUSED 3" -.TH SSL_SESSION_REUSED 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_SESSION_REUSED 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -161,9 +161,9 @@ A session was reused. \&\fISSL_CTX_set_session_cache_mode\fR\|(3) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2001\-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2001\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_set0_CA_list.3 b/linux_amd64/share/man/man3/SSL_set0_CA_list.3 new file mode 120000 index 0000000..bfb7e21 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set0_CA_list.3 @@ -0,0 +1 @@ +SSL_CTX_set0_CA_list.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set0_chain.3 b/linux_amd64/share/man/man3/SSL_set0_chain.3 new file mode 120000 index 0000000..0ef0f3c --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set0_chain.3 @@ -0,0 +1 @@ +SSL_CTX_add1_chain_cert.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set0_chain_cert_store.3 b/linux_amd64/share/man/man3/SSL_set0_chain_cert_store.3 new file mode 120000 index 0000000..b64361d --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set0_chain_cert_store.3 @@ -0,0 +1 @@ +SSL_CTX_set1_verify_cert_store.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set0_rbio.3 b/linux_amd64/share/man/man3/SSL_set0_rbio.3 new file mode 120000 index 0000000..e7ae68b --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set0_rbio.3 @@ -0,0 +1 @@ +SSL_set_bio.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set0_security_ex_data.3 b/linux_amd64/share/man/man3/SSL_set0_security_ex_data.3 new file mode 120000 index 0000000..81271f0 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set0_security_ex_data.3 @@ -0,0 +1 @@ +SSL_CTX_set_security_level.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set0_verify_cert_store.3 b/linux_amd64/share/man/man3/SSL_set0_verify_cert_store.3 new file mode 120000 index 0000000..b64361d --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set0_verify_cert_store.3 @@ -0,0 +1 @@ +SSL_CTX_set1_verify_cert_store.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set0_wbio.3 b/linux_amd64/share/man/man3/SSL_set0_wbio.3 new file mode 120000 index 0000000..e7ae68b --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set0_wbio.3 @@ -0,0 +1 @@ +SSL_set_bio.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set1_chain.3 b/linux_amd64/share/man/man3/SSL_set1_chain.3 new file mode 120000 index 0000000..0ef0f3c --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set1_chain.3 @@ -0,0 +1 @@ +SSL_CTX_add1_chain_cert.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set1_chain_cert_store.3 b/linux_amd64/share/man/man3/SSL_set1_chain_cert_store.3 new file mode 120000 index 0000000..b64361d --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set1_chain_cert_store.3 @@ -0,0 +1 @@ +SSL_CTX_set1_verify_cert_store.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set1_client_sigalgs.3 b/linux_amd64/share/man/man3/SSL_set1_client_sigalgs.3 new file mode 120000 index 0000000..883172c --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set1_client_sigalgs.3 @@ -0,0 +1 @@ +SSL_CTX_set1_sigalgs.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set1_client_sigalgs_list.3 b/linux_amd64/share/man/man3/SSL_set1_client_sigalgs_list.3 new file mode 120000 index 0000000..883172c --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set1_client_sigalgs_list.3 @@ -0,0 +1 @@ +SSL_CTX_set1_sigalgs.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set1_curves.3 b/linux_amd64/share/man/man3/SSL_set1_curves.3 new file mode 120000 index 0000000..0884991 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set1_curves.3 @@ -0,0 +1 @@ +SSL_CTX_set1_curves.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set1_curves_list.3 b/linux_amd64/share/man/man3/SSL_set1_curves_list.3 new file mode 120000 index 0000000..0884991 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set1_curves_list.3 @@ -0,0 +1 @@ +SSL_CTX_set1_curves.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set1_groups.3 b/linux_amd64/share/man/man3/SSL_set1_groups.3 new file mode 120000 index 0000000..0884991 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set1_groups.3 @@ -0,0 +1 @@ +SSL_CTX_set1_curves.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set1_groups_list.3 b/linux_amd64/share/man/man3/SSL_set1_groups_list.3 new file mode 120000 index 0000000..0884991 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set1_groups_list.3 @@ -0,0 +1 @@ +SSL_CTX_set1_curves.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set1_host.3 b/linux_amd64/share/man/man3/SSL_set1_host.3 index 7e82ab8..230ff02 100755 --- a/linux_amd64/share/man/man3/SSL_set1_host.3 +++ b/linux_amd64/share/man/man3/SSL_set1_host.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_SET1_HOST 3" -.TH SSL_SET1_HOST 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_SET1_HOST 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_set1_host, SSL_add1_host, SSL_set_hostflags, SSL_get0_peername \- -SSL server verification parameters +SSL_set1_host, SSL_add1_host, SSL_set_hostflags, SSL_get0_peername \- SSL server verification parameters .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -147,8 +146,8 @@ SSL server verification parameters These functions configure server hostname checks in the \s-1SSL\s0 client. .PP \&\fISSL_set1_host()\fR sets the expected \s-1DNS\s0 hostname to \fBname\fR clearing -any previously specified hostname. If \fBname\fR is \s-1NULL\s0 -or the empty string, the list of hostnames is cleared and name +any previously specified host name or names. If \fBname\fR is \s-1NULL\s0, +or the empty string the list of hostnames is cleared, and name checks are not performed on the peer certificate. When a non-empty \&\fBname\fR is specified, certificate verification automatically checks the peer hostname via \fIX509_check_host\fR\|(3) with \fBflags\fR as specified @@ -225,7 +224,6 @@ the lifetime of the \s-1SSL\s0 connection. .Ve .SH "SEE ALSO" .IX Header "SEE ALSO" -\&\fIssl\fR\|(7), \&\fIX509_check_host\fR\|(3), \&\fISSL_get_verify_result\fR\|(3). \&\fISSL_dane_enable\fR\|(3). @@ -234,9 +232,9 @@ the lifetime of the \s-1SSL\s0 connection. These functions were added in OpenSSL 1.1.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2016\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2016\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_set1_param.3 b/linux_amd64/share/man/man3/SSL_set1_param.3 new file mode 120000 index 0000000..8da5c7e --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set1_param.3 @@ -0,0 +1 @@ +SSL_CTX_get0_param.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set1_sigalgs.3 b/linux_amd64/share/man/man3/SSL_set1_sigalgs.3 new file mode 120000 index 0000000..883172c --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set1_sigalgs.3 @@ -0,0 +1 @@ +SSL_CTX_set1_sigalgs.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set1_sigalgs_list.3 b/linux_amd64/share/man/man3/SSL_set1_sigalgs_list.3 new file mode 120000 index 0000000..883172c --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set1_sigalgs_list.3 @@ -0,0 +1 @@ +SSL_CTX_set1_sigalgs.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set1_verify_cert_store.3 b/linux_amd64/share/man/man3/SSL_set1_verify_cert_store.3 new file mode 120000 index 0000000..b64361d --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set1_verify_cert_store.3 @@ -0,0 +1 @@ +SSL_CTX_set1_verify_cert_store.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_accept_state.3 b/linux_amd64/share/man/man3/SSL_set_accept_state.3 new file mode 120000 index 0000000..3688537 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_accept_state.3 @@ -0,0 +1 @@ +SSL_set_connect_state.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_allow_early_data_cb.3 b/linux_amd64/share/man/man3/SSL_set_allow_early_data_cb.3 new file mode 120000 index 0000000..f582a21 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_allow_early_data_cb.3 @@ -0,0 +1 @@ +SSL_read_early_data.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_alpn_protos.3 b/linux_amd64/share/man/man3/SSL_set_alpn_protos.3 new file mode 120000 index 0000000..710ee18 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_alpn_protos.3 @@ -0,0 +1 @@ +SSL_CTX_set_alpn_select_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_bio.3 b/linux_amd64/share/man/man3/SSL_set_bio.3 index 99a743a..be99d24 100755 --- a/linux_amd64/share/man/man3/SSL_set_bio.3 +++ b/linux_amd64/share/man/man3/SSL_set_bio.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_SET_BIO 3" -.TH SSL_SET_BIO 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_SET_BIO 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -212,7 +212,7 @@ use \fISSL_set0_rbio()\fR and \fISSL_set0_wbio()\fR instead. .IX Header "COPYRIGHT" Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_set_block_padding.3 b/linux_amd64/share/man/man3/SSL_set_block_padding.3 new file mode 120000 index 0000000..c7bb118 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_block_padding.3 @@ -0,0 +1 @@ +SSL_CTX_set_record_padding_callback.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_cert_cb.3 b/linux_amd64/share/man/man3/SSL_set_cert_cb.3 new file mode 120000 index 0000000..cd6c7b1 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_cert_cb.3 @@ -0,0 +1 @@ +SSL_CTX_set_cert_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_cipher_list.3 b/linux_amd64/share/man/man3/SSL_set_cipher_list.3 new file mode 120000 index 0000000..24071b1 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_cipher_list.3 @@ -0,0 +1 @@ +SSL_CTX_set_cipher_list.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_ciphersuites.3 b/linux_amd64/share/man/man3/SSL_set_ciphersuites.3 new file mode 120000 index 0000000..24071b1 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_ciphersuites.3 @@ -0,0 +1 @@ +SSL_CTX_set_cipher_list.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_client_CA_list.3 b/linux_amd64/share/man/man3/SSL_set_client_CA_list.3 new file mode 120000 index 0000000..bfb7e21 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_client_CA_list.3 @@ -0,0 +1 @@ +SSL_CTX_set0_CA_list.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_connect_state.3 b/linux_amd64/share/man/man3/SSL_set_connect_state.3 index b14ef80..83e4c86 100755 --- a/linux_amd64/share/man/man3/SSL_set_connect_state.3 +++ b/linux_amd64/share/man/man3/SSL_set_connect_state.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_SET_CONNECT_STATE 3" -.TH SSL_SET_CONNECT_STATE 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_SET_CONNECT_STATE 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_set_connect_state, SSL_set_accept_state, SSL_is_server -\&\- functions for manipulating and examining the client or server mode of an SSL object +SSL_set_connect_state, SSL_set_accept_state, SSL_is_server \&\- functions for manipulating and examining the client or server mode of an SSL object .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -193,7 +192,7 @@ information. .IX Header "COPYRIGHT" Copyright 2001\-2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_set_ct_validation_callback.3 b/linux_amd64/share/man/man3/SSL_set_ct_validation_callback.3 new file mode 120000 index 0000000..8a8a33b --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_ct_validation_callback.3 @@ -0,0 +1 @@ +SSL_CTX_set_ct_validation_callback.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_current_cert.3 b/linux_amd64/share/man/man3/SSL_set_current_cert.3 new file mode 120000 index 0000000..0ef0f3c --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_current_cert.3 @@ -0,0 +1 @@ +SSL_CTX_add1_chain_cert.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_default_passwd_cb.3 b/linux_amd64/share/man/man3/SSL_set_default_passwd_cb.3 new file mode 120000 index 0000000..ced1a3d --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_default_passwd_cb.3 @@ -0,0 +1 @@ +SSL_CTX_set_default_passwd_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_default_passwd_cb_userdata.3 b/linux_amd64/share/man/man3/SSL_set_default_passwd_cb_userdata.3 new file mode 120000 index 0000000..ced1a3d --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_default_passwd_cb_userdata.3 @@ -0,0 +1 @@ +SSL_CTX_set_default_passwd_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_default_read_buffer_len.3 b/linux_amd64/share/man/man3/SSL_set_default_read_buffer_len.3 new file mode 120000 index 0000000..b7d62a1 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_default_read_buffer_len.3 @@ -0,0 +1 @@ +SSL_CTX_set_split_send_fragment.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_ex_data.3 b/linux_amd64/share/man/man3/SSL_set_ex_data.3 new file mode 120000 index 0000000..0022e25 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_ex_data.3 @@ -0,0 +1 @@ +SSL_CTX_set_ex_data.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_fd.3 b/linux_amd64/share/man/man3/SSL_set_fd.3 index d0ab32d..022eadb 100755 --- a/linux_amd64/share/man/man3/SSL_set_fd.3 +++ b/linux_amd64/share/man/man3/SSL_set_fd.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_SET_FD 3" -.TH SSL_SET_FD 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_SET_FD 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -173,7 +173,7 @@ The operation succeeded. .IX Header "COPYRIGHT" Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_set_generate_session_id.3 b/linux_amd64/share/man/man3/SSL_set_generate_session_id.3 new file mode 120000 index 0000000..795607d --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_generate_session_id.3 @@ -0,0 +1 @@ +SSL_CTX_set_generate_session_id.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_hostflags.3 b/linux_amd64/share/man/man3/SSL_set_hostflags.3 new file mode 120000 index 0000000..85e5d43 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_hostflags.3 @@ -0,0 +1 @@ +SSL_set1_host.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_info_callback.3 b/linux_amd64/share/man/man3/SSL_set_info_callback.3 new file mode 120000 index 0000000..47e39f6 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_info_callback.3 @@ -0,0 +1 @@ +SSL_CTX_set_info_callback.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_max_cert_list.3 b/linux_amd64/share/man/man3/SSL_set_max_cert_list.3 new file mode 120000 index 0000000..57ed596 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_max_cert_list.3 @@ -0,0 +1 @@ +SSL_CTX_set_max_cert_list.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_max_early_data.3 b/linux_amd64/share/man/man3/SSL_set_max_early_data.3 new file mode 120000 index 0000000..f582a21 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_max_early_data.3 @@ -0,0 +1 @@ +SSL_read_early_data.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_max_pipelines.3 b/linux_amd64/share/man/man3/SSL_set_max_pipelines.3 new file mode 120000 index 0000000..b7d62a1 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_max_pipelines.3 @@ -0,0 +1 @@ +SSL_CTX_set_split_send_fragment.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_max_proto_version.3 b/linux_amd64/share/man/man3/SSL_set_max_proto_version.3 new file mode 120000 index 0000000..64444be --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_max_proto_version.3 @@ -0,0 +1 @@ +SSL_CTX_set_min_proto_version.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_max_send_fragment.3 b/linux_amd64/share/man/man3/SSL_set_max_send_fragment.3 new file mode 120000 index 0000000..b7d62a1 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_max_send_fragment.3 @@ -0,0 +1 @@ +SSL_CTX_set_split_send_fragment.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_min_proto_version.3 b/linux_amd64/share/man/man3/SSL_set_min_proto_version.3 new file mode 120000 index 0000000..64444be --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_min_proto_version.3 @@ -0,0 +1 @@ +SSL_CTX_set_min_proto_version.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_mode.3 b/linux_amd64/share/man/man3/SSL_set_mode.3 new file mode 120000 index 0000000..295da90 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_mode.3 @@ -0,0 +1 @@ +SSL_CTX_set_mode.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_msg_callback.3 b/linux_amd64/share/man/man3/SSL_set_msg_callback.3 new file mode 120000 index 0000000..ab5e2db --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_msg_callback.3 @@ -0,0 +1 @@ +SSL_CTX_set_msg_callback.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_msg_callback_arg.3 b/linux_amd64/share/man/man3/SSL_set_msg_callback_arg.3 new file mode 120000 index 0000000..ab5e2db --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_msg_callback_arg.3 @@ -0,0 +1 @@ +SSL_CTX_set_msg_callback.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_num_tickets.3 b/linux_amd64/share/man/man3/SSL_set_num_tickets.3 new file mode 120000 index 0000000..7e12220 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_num_tickets.3 @@ -0,0 +1 @@ +SSL_CTX_set_num_tickets.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_options.3 b/linux_amd64/share/man/man3/SSL_set_options.3 new file mode 120000 index 0000000..ae626a4 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_options.3 @@ -0,0 +1 @@ +SSL_CTX_set_options.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_post_handshake_auth.3 b/linux_amd64/share/man/man3/SSL_set_post_handshake_auth.3 new file mode 120000 index 0000000..bf64a6e --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_post_handshake_auth.3 @@ -0,0 +1 @@ +SSL_CTX_set_verify.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_psk_client_callback.3 b/linux_amd64/share/man/man3/SSL_set_psk_client_callback.3 new file mode 120000 index 0000000..9a1d58b --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_psk_client_callback.3 @@ -0,0 +1 @@ +SSL_CTX_set_psk_client_callback.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_psk_find_session_callback.3 b/linux_amd64/share/man/man3/SSL_set_psk_find_session_callback.3 new file mode 120000 index 0000000..7eb7f07 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_psk_find_session_callback.3 @@ -0,0 +1 @@ +SSL_CTX_use_psk_identity_hint.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_psk_server_callback.3 b/linux_amd64/share/man/man3/SSL_set_psk_server_callback.3 new file mode 120000 index 0000000..7eb7f07 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_psk_server_callback.3 @@ -0,0 +1 @@ +SSL_CTX_use_psk_identity_hint.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_psk_use_session_callback.3 b/linux_amd64/share/man/man3/SSL_set_psk_use_session_callback.3 new file mode 120000 index 0000000..9a1d58b --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_psk_use_session_callback.3 @@ -0,0 +1 @@ +SSL_CTX_set_psk_client_callback.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_quiet_shutdown.3 b/linux_amd64/share/man/man3/SSL_set_quiet_shutdown.3 new file mode 120000 index 0000000..ea53059 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_quiet_shutdown.3 @@ -0,0 +1 @@ +SSL_CTX_set_quiet_shutdown.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_read_ahead.3 b/linux_amd64/share/man/man3/SSL_set_read_ahead.3 new file mode 120000 index 0000000..5a79fd4 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_read_ahead.3 @@ -0,0 +1 @@ +SSL_CTX_set_read_ahead.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_record_padding_callback.3 b/linux_amd64/share/man/man3/SSL_set_record_padding_callback.3 new file mode 120000 index 0000000..c7bb118 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_record_padding_callback.3 @@ -0,0 +1 @@ +SSL_CTX_set_record_padding_callback.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_record_padding_callback_arg.3 b/linux_amd64/share/man/man3/SSL_set_record_padding_callback_arg.3 new file mode 120000 index 0000000..c7bb118 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_record_padding_callback_arg.3 @@ -0,0 +1 @@ +SSL_CTX_set_record_padding_callback.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_recv_max_early_data.3 b/linux_amd64/share/man/man3/SSL_set_recv_max_early_data.3 new file mode 120000 index 0000000..f582a21 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_recv_max_early_data.3 @@ -0,0 +1 @@ +SSL_read_early_data.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_rfd.3 b/linux_amd64/share/man/man3/SSL_set_rfd.3 new file mode 120000 index 0000000..c359dca --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_rfd.3 @@ -0,0 +1 @@ +SSL_set_fd.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_security_callback.3 b/linux_amd64/share/man/man3/SSL_set_security_callback.3 new file mode 120000 index 0000000..81271f0 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_security_callback.3 @@ -0,0 +1 @@ +SSL_CTX_set_security_level.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_security_level.3 b/linux_amd64/share/man/man3/SSL_set_security_level.3 new file mode 120000 index 0000000..81271f0 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_security_level.3 @@ -0,0 +1 @@ +SSL_CTX_set_security_level.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_session.3 b/linux_amd64/share/man/man3/SSL_set_session.3 index ab75063..f74905e 100755 --- a/linux_amd64/share/man/man3/SSL_set_session.3 +++ b/linux_amd64/share/man/man3/SSL_set_session.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_SET_SESSION 3" -.TH SSL_SET_SESSION 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_SET_SESSION 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -179,7 +179,7 @@ The operation succeeded. .IX Header "COPYRIGHT" Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_set_session_id_context.3 b/linux_amd64/share/man/man3/SSL_set_session_id_context.3 new file mode 120000 index 0000000..314f2e3 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_session_id_context.3 @@ -0,0 +1 @@ +SSL_CTX_set_session_id_context.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_shutdown.3 b/linux_amd64/share/man/man3/SSL_set_shutdown.3 index f380823..1ec7506 100755 --- a/linux_amd64/share/man/man3/SSL_set_shutdown.3 +++ b/linux_amd64/share/man/man3/SSL_set_shutdown.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_SET_SHUTDOWN 3" -.TH SSL_SET_SHUTDOWN 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_SET_SHUTDOWN 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -147,7 +147,7 @@ SSL_set_shutdown, SSL_get_shutdown \- manipulate shutdown state of an SSL connec \&\fISSL_get_shutdown()\fR returns the shutdown mode of \fBssl\fR. .SH "NOTES" .IX Header "NOTES" -The shutdown state of an ssl connection is a bit-mask of: +The shutdown state of an ssl connection is a bitmask of: .IP "0" 4 No shutdown setting, yet. .IP "\s-1SSL_SENT_SHUTDOWN\s0" 4 @@ -189,7 +189,7 @@ for setting \s-1SSL_SENT_SHUTDOWN\s0 the application must however still call .IX Header "COPYRIGHT" Copyright 2001\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_set_split_send_fragment.3 b/linux_amd64/share/man/man3/SSL_set_split_send_fragment.3 new file mode 120000 index 0000000..b7d62a1 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_split_send_fragment.3 @@ -0,0 +1 @@ +SSL_CTX_set_split_send_fragment.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_ssl_method.3 b/linux_amd64/share/man/man3/SSL_set_ssl_method.3 new file mode 120000 index 0000000..1ab4e23 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_ssl_method.3 @@ -0,0 +1 @@ +SSL_CTX_set_ssl_version.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_time.3 b/linux_amd64/share/man/man3/SSL_set_time.3 new file mode 120000 index 0000000..713bcea --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_time.3 @@ -0,0 +1 @@ +SSL_SESSION_get_time.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_timeout.3 b/linux_amd64/share/man/man3/SSL_set_timeout.3 new file mode 120000 index 0000000..713bcea --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_timeout.3 @@ -0,0 +1 @@ +SSL_SESSION_get_time.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_tlsext_host_name.3 b/linux_amd64/share/man/man3/SSL_set_tlsext_host_name.3 new file mode 120000 index 0000000..17429fd --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_tlsext_host_name.3 @@ -0,0 +1 @@ +SSL_CTX_set_tlsext_servername_callback.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_tlsext_max_fragment_length.3 b/linux_amd64/share/man/man3/SSL_set_tlsext_max_fragment_length.3 new file mode 120000 index 0000000..b7d62a1 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_tlsext_max_fragment_length.3 @@ -0,0 +1 @@ +SSL_CTX_set_split_send_fragment.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_tlsext_status_ocsp_resp.3 b/linux_amd64/share/man/man3/SSL_set_tlsext_status_ocsp_resp.3 new file mode 120000 index 0000000..a7877fd --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_tlsext_status_ocsp_resp.3 @@ -0,0 +1 @@ +SSL_CTX_set_tlsext_status_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_tlsext_status_type.3 b/linux_amd64/share/man/man3/SSL_set_tlsext_status_type.3 new file mode 120000 index 0000000..a7877fd --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_tlsext_status_type.3 @@ -0,0 +1 @@ +SSL_CTX_set_tlsext_status_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_tlsext_use_srtp.3 b/linux_amd64/share/man/man3/SSL_set_tlsext_use_srtp.3 new file mode 120000 index 0000000..4350455 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_tlsext_use_srtp.3 @@ -0,0 +1 @@ +SSL_CTX_set_tlsext_use_srtp.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_tmp_dh.3 b/linux_amd64/share/man/man3/SSL_set_tmp_dh.3 new file mode 120000 index 0000000..cb6c5ea --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_tmp_dh.3 @@ -0,0 +1 @@ +SSL_CTX_set_tmp_dh_callback.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_tmp_dh_callback.3 b/linux_amd64/share/man/man3/SSL_set_tmp_dh_callback.3 new file mode 120000 index 0000000..cb6c5ea --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_tmp_dh_callback.3 @@ -0,0 +1 @@ +SSL_CTX_set_tmp_dh_callback.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_verify.3 b/linux_amd64/share/man/man3/SSL_set_verify.3 new file mode 120000 index 0000000..bf64a6e --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_verify.3 @@ -0,0 +1 @@ +SSL_CTX_set_verify.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_verify_depth.3 b/linux_amd64/share/man/man3/SSL_set_verify_depth.3 new file mode 120000 index 0000000..bf64a6e --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_verify_depth.3 @@ -0,0 +1 @@ +SSL_CTX_set_verify.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_set_verify_result.3 b/linux_amd64/share/man/man3/SSL_set_verify_result.3 index 4f40a5f..ba680eb 100755 --- a/linux_amd64/share/man/man3/SSL_set_verify_result.3 +++ b/linux_amd64/share/man/man3/SSL_set_verify_result.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_SET_VERIFY_RESULT 3" -.TH SSL_SET_VERIFY_RESULT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_SET_VERIFY_RESULT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -150,7 +150,7 @@ the verification result of the \fBssl\fR object. It does not become part of the established session, so if the session is to be reused later, the original value will reappear. .PP -The valid codes for \fBverify_result\fR are documented in \fIopenssl\-verify\fR\|(1). +The valid codes for \fBverify_result\fR are documented in \fIverify\fR\|(1). .SH "RETURN VALUES" .IX Header "RETURN VALUES" \&\fISSL_set_verify_result()\fR does not provide a return value. @@ -158,12 +158,12 @@ The valid codes for \fBverify_result\fR are documented in \fIopenssl\-verify\fR\ .IX Header "SEE ALSO" \&\fIssl\fR\|(7), \fISSL_get_verify_result\fR\|(3), \&\fISSL_get_peer_certificate\fR\|(3), -\&\fIopenssl\-verify\fR\|(1) +\&\fIverify\fR\|(1) .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_set_wfd.3 b/linux_amd64/share/man/man3/SSL_set_wfd.3 new file mode 120000 index 0000000..c359dca --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_set_wfd.3 @@ -0,0 +1 @@ +SSL_set_fd.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_shutdown.3 b/linux_amd64/share/man/man3/SSL_shutdown.3 index a70b1e0..3a705b2 100755 --- a/linux_amd64/share/man/man3/SSL_shutdown.3 +++ b/linux_amd64/share/man/man3/SSL_shutdown.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_SHUTDOWN 3" -.TH SSL_SHUTDOWN 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_SHUTDOWN 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -142,7 +142,8 @@ SSL_shutdown \- shut down a TLS/SSL connection .IX Header "DESCRIPTION" \&\fISSL_shutdown()\fR shuts down an active \s-1TLS/SSL\s0 connection. It sends the close_notify shutdown alert to the peer. -.PP +.SH "NOTES" +.IX Header "NOTES" \&\fISSL_shutdown()\fR tries to send the close_notify shutdown alert to the peer. Whether the operation succeeds or not, the \s-1SSL_SENT_SHUTDOWN\s0 flag is set and a currently open session is considered closed and good and will be kept in the @@ -177,32 +178,6 @@ synchronized. \&\fISSL_shutdown()\fR only closes the write direction. It is not possible to call \fISSL_write()\fR after calling \fISSL_shutdown()\fR. The read direction is closed by the peer. -.PP -The behaviour of \fISSL_shutdown()\fR additionally depends on the underlying \s-1BIO\s0. -If the underlying \s-1BIO\s0 is \fBblocking\fR, \fISSL_shutdown()\fR will only return once the -handshake step has been finished or an error occurred. -.PP -If the underlying \s-1BIO\s0 is \fBnon-blocking\fR, \fISSL_shutdown()\fR will also return -when the underlying \s-1BIO\s0 could not satisfy the needs of \fISSL_shutdown()\fR -to continue the handshake. In this case a call to \fISSL_get_error()\fR with the -return value of \fISSL_shutdown()\fR will yield \fB\s-1SSL_ERROR_WANT_READ\s0\fR or -\&\fB\s-1SSL_ERROR_WANT_WRITE\s0\fR. The calling process then must repeat the call after -taking appropriate action to satisfy the needs of \fISSL_shutdown()\fR. -The action depends on the underlying \s-1BIO\s0. When using a non-blocking socket, -nothing is to be done, but \fIselect()\fR can be used to check for the required -condition. When using a buffering \s-1BIO\s0, like a \s-1BIO\s0 pair, data must be written -into or retrieved out of the \s-1BIO\s0 before being able to continue. -.PP -After \fISSL_shutdown()\fR returned 0, it is possible to call \fISSL_shutdown()\fR again -to wait for the peer's close_notify alert. -\&\fISSL_shutdown()\fR will return 1 in that case. -However, it is recommended to wait for it using \fISSL_read()\fR instead. -.PP -\&\fISSL_shutdown()\fR can be modified to only set the connection to \*(L"shutdown\*(R" -state but not actually send the close_notify alert messages, -see \fISSL_CTX_set_quiet_shutdown\fR\|(3). -When \*(L"quiet shutdown\*(R" is enabled, \fISSL_shutdown()\fR will always succeed -and return 1. .SS "First to close the connection" .IX Subsection "First to close the connection" When the application is the first party to send the close_notify @@ -238,6 +213,33 @@ If successful, \fISSL_shutdown()\fR will return 1. .PP Whether \s-1SSL_RECEIVED_SHUTDOWN\s0 is already set can be checked using the \&\fISSL_get_shutdown()\fR (see also \fISSL_set_shutdown\fR\|(3) call. +.SH "NOTES" +.IX Header "NOTES" +The behaviour of \fISSL_shutdown()\fR additionally depends on the underlying \s-1BIO\s0. +If the underlying \s-1BIO\s0 is \fBblocking\fR, \fISSL_shutdown()\fR will only return once the +handshake step has been finished or an error occurred. +.PP +If the underlying \s-1BIO\s0 is \fBnon-blocking\fR, \fISSL_shutdown()\fR will also return +when the underlying \s-1BIO\s0 could not satisfy the needs of \fISSL_shutdown()\fR +to continue the handshake. In this case a call to \fISSL_get_error()\fR with the +return value of \fISSL_shutdown()\fR will yield \fB\s-1SSL_ERROR_WANT_READ\s0\fR or +\&\fB\s-1SSL_ERROR_WANT_WRITE\s0\fR. The calling process then must repeat the call after +taking appropriate action to satisfy the needs of \fISSL_shutdown()\fR. +The action depends on the underlying \s-1BIO\s0. When using a non-blocking socket, +nothing is to be done, but \fIselect()\fR can be used to check for the required +condition. When using a buffering \s-1BIO\s0, like a \s-1BIO\s0 pair, data must be written +into or retrieved out of the \s-1BIO\s0 before being able to continue. +.PP +After \fISSL_shutdown()\fR returned 0, it is possible to call \fISSL_shutdown()\fR again +to wait for the peer's close_notify alert. +\&\fISSL_shutdown()\fR will return 1 in that case. +However, it is recommended to wait for it using \fISSL_read()\fR instead. +.PP +\&\fISSL_shutdown()\fR can be modified to only set the connection to \*(L"shutdown\*(R" +state but not actually send the close_notify alert messages, +see \fISSL_CTX_set_quiet_shutdown\fR\|(3). +When \*(L"quiet shutdown\*(R" is enabled, \fISSL_shutdown()\fR will always succeed +and return 1. .SH "RETURN VALUES" .IX Header "RETURN VALUES" The following return values can occur: @@ -268,9 +270,9 @@ It can also occur when not all data was read using \fISSL_read()\fR. \&\fIssl\fR\|(7), \fIbio\fR\|(7) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_state_string.3 b/linux_amd64/share/man/man3/SSL_state_string.3 index 1ed579d..5ba7e95 100755 --- a/linux_amd64/share/man/man3/SSL_state_string.3 +++ b/linux_amd64/share/man/man3/SSL_state_string.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_STATE_STRING 3" -.TH SSL_STATE_STRING 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_STATE_STRING 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -170,7 +170,7 @@ Detailed description of possible states to be included later. .IX Header "COPYRIGHT" Copyright 2001\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_state_string_long.3 b/linux_amd64/share/man/man3/SSL_state_string_long.3 new file mode 120000 index 0000000..be292b5 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_state_string_long.3 @@ -0,0 +1 @@ +SSL_state_string.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_stateless.3 b/linux_amd64/share/man/man3/SSL_stateless.3 new file mode 120000 index 0000000..108642f --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_stateless.3 @@ -0,0 +1 @@ +DTLSv1_listen.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_up_ref.3 b/linux_amd64/share/man/man3/SSL_up_ref.3 new file mode 120000 index 0000000..eb3189a --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_up_ref.3 @@ -0,0 +1 @@ +SSL_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_use_PrivateKey.3 b/linux_amd64/share/man/man3/SSL_use_PrivateKey.3 new file mode 120000 index 0000000..5ec6592 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_use_PrivateKey.3 @@ -0,0 +1 @@ +SSL_CTX_use_certificate.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_use_PrivateKey_ASN1.3 b/linux_amd64/share/man/man3/SSL_use_PrivateKey_ASN1.3 new file mode 120000 index 0000000..5ec6592 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_use_PrivateKey_ASN1.3 @@ -0,0 +1 @@ +SSL_CTX_use_certificate.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_use_PrivateKey_file.3 b/linux_amd64/share/man/man3/SSL_use_PrivateKey_file.3 new file mode 120000 index 0000000..5ec6592 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_use_PrivateKey_file.3 @@ -0,0 +1 @@ +SSL_CTX_use_certificate.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_use_RSAPrivateKey.3 b/linux_amd64/share/man/man3/SSL_use_RSAPrivateKey.3 new file mode 120000 index 0000000..5ec6592 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_use_RSAPrivateKey.3 @@ -0,0 +1 @@ +SSL_CTX_use_certificate.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_use_RSAPrivateKey_ASN1.3 b/linux_amd64/share/man/man3/SSL_use_RSAPrivateKey_ASN1.3 new file mode 120000 index 0000000..5ec6592 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_use_RSAPrivateKey_ASN1.3 @@ -0,0 +1 @@ +SSL_CTX_use_certificate.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_use_RSAPrivateKey_file.3 b/linux_amd64/share/man/man3/SSL_use_RSAPrivateKey_file.3 new file mode 120000 index 0000000..5ec6592 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_use_RSAPrivateKey_file.3 @@ -0,0 +1 @@ +SSL_CTX_use_certificate.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_use_cert_and_key.3 b/linux_amd64/share/man/man3/SSL_use_cert_and_key.3 new file mode 120000 index 0000000..5ec6592 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_use_cert_and_key.3 @@ -0,0 +1 @@ +SSL_CTX_use_certificate.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_use_certificate.3 b/linux_amd64/share/man/man3/SSL_use_certificate.3 new file mode 120000 index 0000000..5ec6592 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_use_certificate.3 @@ -0,0 +1 @@ +SSL_CTX_use_certificate.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_use_certificate_ASN1.3 b/linux_amd64/share/man/man3/SSL_use_certificate_ASN1.3 new file mode 120000 index 0000000..5ec6592 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_use_certificate_ASN1.3 @@ -0,0 +1 @@ +SSL_CTX_use_certificate.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_use_certificate_chain_file.3 b/linux_amd64/share/man/man3/SSL_use_certificate_chain_file.3 new file mode 120000 index 0000000..5ec6592 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_use_certificate_chain_file.3 @@ -0,0 +1 @@ +SSL_CTX_use_certificate.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_use_certificate_file.3 b/linux_amd64/share/man/man3/SSL_use_certificate_file.3 new file mode 120000 index 0000000..5ec6592 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_use_certificate_file.3 @@ -0,0 +1 @@ +SSL_CTX_use_certificate.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_use_psk_identity_hint.3 b/linux_amd64/share/man/man3/SSL_use_psk_identity_hint.3 new file mode 120000 index 0000000..7eb7f07 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_use_psk_identity_hint.3 @@ -0,0 +1 @@ +SSL_CTX_use_psk_identity_hint.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_verify_cb.3 b/linux_amd64/share/man/man3/SSL_verify_cb.3 new file mode 120000 index 0000000..bf64a6e --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_verify_cb.3 @@ -0,0 +1 @@ +SSL_CTX_set_verify.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_verify_client_post_handshake.3 b/linux_amd64/share/man/man3/SSL_verify_client_post_handshake.3 new file mode 120000 index 0000000..bf64a6e --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_verify_client_post_handshake.3 @@ -0,0 +1 @@ +SSL_CTX_set_verify.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_version.3 b/linux_amd64/share/man/man3/SSL_version.3 new file mode 120000 index 0000000..2da60da --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_version.3 @@ -0,0 +1 @@ +SSL_get_version.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_waiting_for_async.3 b/linux_amd64/share/man/man3/SSL_waiting_for_async.3 new file mode 120000 index 0000000..40f98ff --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_waiting_for_async.3 @@ -0,0 +1 @@ +SSL_get_all_async_fds.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_want.3 b/linux_amd64/share/man/man3/SSL_want.3 index 8c8078e..cfff50f 100755 --- a/linux_amd64/share/man/man3/SSL_want.3 +++ b/linux_amd64/share/man/man3/SSL_want.3 @@ -124,15 +124,13 @@ .\" ======================================================================== .\" .IX Title "SSL_WANT 3" -.TH SSL_WANT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_WANT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_want, SSL_want_nothing, SSL_want_read, SSL_want_write, SSL_want_x509_lookup, -SSL_want_async, SSL_want_async_job, SSL_want_client_hello_cb \- obtain state -information TLS/SSL I/O operation +SSL_want, SSL_want_nothing, SSL_want_read, SSL_want_write, SSL_want_x509_lookup, SSL_want_async, SSL_want_async_job, SSL_want_client_hello_cb \- obtain state information TLS/SSL I/O operation .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -220,7 +218,7 @@ were added in OpenSSL 1.1.1. .IX Header "COPYRIGHT" Copyright 2001\-2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_want_async.3 b/linux_amd64/share/man/man3/SSL_want_async.3 new file mode 120000 index 0000000..94d7d6e --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_want_async.3 @@ -0,0 +1 @@ +SSL_want.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_want_async_job.3 b/linux_amd64/share/man/man3/SSL_want_async_job.3 new file mode 120000 index 0000000..94d7d6e --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_want_async_job.3 @@ -0,0 +1 @@ +SSL_want.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_want_client_hello_cb.3 b/linux_amd64/share/man/man3/SSL_want_client_hello_cb.3 new file mode 120000 index 0000000..94d7d6e --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_want_client_hello_cb.3 @@ -0,0 +1 @@ +SSL_want.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_want_nothing.3 b/linux_amd64/share/man/man3/SSL_want_nothing.3 new file mode 120000 index 0000000..94d7d6e --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_want_nothing.3 @@ -0,0 +1 @@ +SSL_want.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_want_read.3 b/linux_amd64/share/man/man3/SSL_want_read.3 new file mode 120000 index 0000000..94d7d6e --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_want_read.3 @@ -0,0 +1 @@ +SSL_want.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_want_write.3 b/linux_amd64/share/man/man3/SSL_want_write.3 new file mode 120000 index 0000000..94d7d6e --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_want_write.3 @@ -0,0 +1 @@ +SSL_want.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_want_x509_lookup.3 b/linux_amd64/share/man/man3/SSL_want_x509_lookup.3 new file mode 120000 index 0000000..94d7d6e --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_want_x509_lookup.3 @@ -0,0 +1 @@ +SSL_want.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_write.3 b/linux_amd64/share/man/man3/SSL_write.3 index df05b06..0066f36 100755 --- a/linux_amd64/share/man/man3/SSL_write.3 +++ b/linux_amd64/share/man/man3/SSL_write.3 @@ -124,19 +124,18 @@ .\" ======================================================================== .\" .IX Title "SSL_WRITE 3" -.TH SSL_WRITE 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL_WRITE 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -SSL_write_ex, SSL_write, SSL_sendfile \- write bytes to a TLS/SSL connection +SSL_write_ex, SSL_write \- write bytes to a TLS/SSL connection .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include \& -\& ossl_ssize_t SSL_sendfile(SSL *s, int fd, off_t offset, size_t size, int flags); \& int SSL_write_ex(SSL *s, const void *buf, size_t num, size_t *written); \& int SSL_write(SSL *ssl, const void *buf, int num); .Ve @@ -145,14 +144,6 @@ SSL_write_ex, SSL_write, SSL_sendfile \- write bytes to a TLS/SSL connection \&\fISSL_write_ex()\fR and \fISSL_write()\fR write \fBnum\fR bytes from the buffer \fBbuf\fR into the specified \fBssl\fR connection. On success \fISSL_write_ex()\fR will store the number of bytes written in \fB*written\fR. -.PP -\&\fISSL_sendfile()\fR writes \fBsize\fR bytes from offset \fBoffset\fR in the file -descriptor \fBfd\fR to the specified \s-1SSL\s0 connection \fBs\fR. This function provides -efficient zero-copy semantics. \fISSL_sendfile()\fR is available only when -Kernel \s-1TLS\s0 is enabled, which can be checked by calling \fIBIO_get_ktls_send()\fR. -It is provided here to allow users to maintain the same interface. -The meaning of \fBflags\fR is platform dependent. -Currently, under Linux it is ignored. .SH "NOTES" .IX Header "NOTES" In the paragraphs below a \*(L"write function\*(R" is defined as one of either @@ -231,33 +222,21 @@ Call \fISSL_get_error()\fR with the return value \fBret\fR to find out the reaso Old documentation indicated a difference between 0 and \-1, and that \-1 was retryable. You should instead call \fISSL_get_error()\fR to find out if it's retryable. -.PP -For \fISSL_sendfile()\fR, the following return values can occur: -.IP ">= 0" 4 -.IX Item ">= 0" -The write operation was successful, the return value is the number -of bytes of the file written to the \s-1TLS/SSL\s0 connection. -.IP "< 0" 4 -.IX Item "< 0" -The write operation was not successful, because either the connection was -closed, an error occurred or action must be taken by the calling process. -Call \fISSL_get_error()\fR with the return value to find out the reason. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fISSL_get_error\fR\|(3), \fISSL_read_ex\fR\|(3), \fISSL_read\fR\|(3) \&\fISSL_CTX_set_mode\fR\|(3), \fISSL_CTX_new\fR\|(3), \&\fISSL_connect\fR\|(3), \fISSL_accept\fR\|(3) -\&\fISSL_set_connect_state\fR\|(3), \fIBIO_ctrl\fR\|(3), +\&\fISSL_set_connect_state\fR\|(3), \&\fIssl\fR\|(7), \fIbio\fR\|(7) .SH "HISTORY" .IX Header "HISTORY" The \fISSL_write_ex()\fR function was added in OpenSSL 1.1.1. -The \fISSL_sendfile()\fR function was added in OpenSSL 3.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/SSL_write_early_data.3 b/linux_amd64/share/man/man3/SSL_write_early_data.3 new file mode 120000 index 0000000..f582a21 --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_write_early_data.3 @@ -0,0 +1 @@ +SSL_read_early_data.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSL_write_ex.3 b/linux_amd64/share/man/man3/SSL_write_ex.3 new file mode 120000 index 0000000..15b6b8f --- /dev/null +++ b/linux_amd64/share/man/man3/SSL_write_ex.3 @@ -0,0 +1 @@ +SSL_write.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSLv23_client_method.3 b/linux_amd64/share/man/man3/SSLv23_client_method.3 new file mode 120000 index 0000000..e78df75 --- /dev/null +++ b/linux_amd64/share/man/man3/SSLv23_client_method.3 @@ -0,0 +1 @@ +SSL_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSLv23_method.3 b/linux_amd64/share/man/man3/SSLv23_method.3 new file mode 120000 index 0000000..e78df75 --- /dev/null +++ b/linux_amd64/share/man/man3/SSLv23_method.3 @@ -0,0 +1 @@ +SSL_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSLv23_server_method.3 b/linux_amd64/share/man/man3/SSLv23_server_method.3 new file mode 120000 index 0000000..e78df75 --- /dev/null +++ b/linux_amd64/share/man/man3/SSLv23_server_method.3 @@ -0,0 +1 @@ +SSL_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSLv3_client_method.3 b/linux_amd64/share/man/man3/SSLv3_client_method.3 new file mode 120000 index 0000000..e78df75 --- /dev/null +++ b/linux_amd64/share/man/man3/SSLv3_client_method.3 @@ -0,0 +1 @@ +SSL_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSLv3_method.3 b/linux_amd64/share/man/man3/SSLv3_method.3 new file mode 120000 index 0000000..e78df75 --- /dev/null +++ b/linux_amd64/share/man/man3/SSLv3_method.3 @@ -0,0 +1 @@ +SSL_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SSLv3_server_method.3 b/linux_amd64/share/man/man3/SSLv3_server_method.3 new file mode 120000 index 0000000..e78df75 --- /dev/null +++ b/linux_amd64/share/man/man3/SSLv3_server_method.3 @@ -0,0 +1 @@ +SSL_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SXNETID_free.3 b/linux_amd64/share/man/man3/SXNETID_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/SXNETID_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SXNETID_new.3 b/linux_amd64/share/man/man3/SXNETID_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/SXNETID_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SXNET_free.3 b/linux_amd64/share/man/man3/SXNET_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/SXNET_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/SXNET_new.3 b/linux_amd64/share/man/man3/SXNET_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/SXNET_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/TLS_FEATURE_free.3 b/linux_amd64/share/man/man3/TLS_FEATURE_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/TLS_FEATURE_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/TLS_FEATURE_new.3 b/linux_amd64/share/man/man3/TLS_FEATURE_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/TLS_FEATURE_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/TLS_client_method.3 b/linux_amd64/share/man/man3/TLS_client_method.3 new file mode 120000 index 0000000..e78df75 --- /dev/null +++ b/linux_amd64/share/man/man3/TLS_client_method.3 @@ -0,0 +1 @@ +SSL_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/TLS_method.3 b/linux_amd64/share/man/man3/TLS_method.3 new file mode 120000 index 0000000..e78df75 --- /dev/null +++ b/linux_amd64/share/man/man3/TLS_method.3 @@ -0,0 +1 @@ +SSL_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/TLS_server_method.3 b/linux_amd64/share/man/man3/TLS_server_method.3 new file mode 120000 index 0000000..e78df75 --- /dev/null +++ b/linux_amd64/share/man/man3/TLS_server_method.3 @@ -0,0 +1 @@ +SSL_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/TLSv1_1_client_method.3 b/linux_amd64/share/man/man3/TLSv1_1_client_method.3 new file mode 120000 index 0000000..e78df75 --- /dev/null +++ b/linux_amd64/share/man/man3/TLSv1_1_client_method.3 @@ -0,0 +1 @@ +SSL_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/TLSv1_1_method.3 b/linux_amd64/share/man/man3/TLSv1_1_method.3 new file mode 120000 index 0000000..e78df75 --- /dev/null +++ b/linux_amd64/share/man/man3/TLSv1_1_method.3 @@ -0,0 +1 @@ +SSL_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/TLSv1_1_server_method.3 b/linux_amd64/share/man/man3/TLSv1_1_server_method.3 new file mode 120000 index 0000000..e78df75 --- /dev/null +++ b/linux_amd64/share/man/man3/TLSv1_1_server_method.3 @@ -0,0 +1 @@ +SSL_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/TLSv1_2_client_method.3 b/linux_amd64/share/man/man3/TLSv1_2_client_method.3 new file mode 120000 index 0000000..e78df75 --- /dev/null +++ b/linux_amd64/share/man/man3/TLSv1_2_client_method.3 @@ -0,0 +1 @@ +SSL_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/TLSv1_2_method.3 b/linux_amd64/share/man/man3/TLSv1_2_method.3 new file mode 120000 index 0000000..e78df75 --- /dev/null +++ b/linux_amd64/share/man/man3/TLSv1_2_method.3 @@ -0,0 +1 @@ +SSL_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/TLSv1_2_server_method.3 b/linux_amd64/share/man/man3/TLSv1_2_server_method.3 new file mode 120000 index 0000000..e78df75 --- /dev/null +++ b/linux_amd64/share/man/man3/TLSv1_2_server_method.3 @@ -0,0 +1 @@ +SSL_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/TLSv1_client_method.3 b/linux_amd64/share/man/man3/TLSv1_client_method.3 new file mode 120000 index 0000000..e78df75 --- /dev/null +++ b/linux_amd64/share/man/man3/TLSv1_client_method.3 @@ -0,0 +1 @@ +SSL_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/TLSv1_method.3 b/linux_amd64/share/man/man3/TLSv1_method.3 new file mode 120000 index 0000000..e78df75 --- /dev/null +++ b/linux_amd64/share/man/man3/TLSv1_method.3 @@ -0,0 +1 @@ +SSL_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/TLSv1_server_method.3 b/linux_amd64/share/man/man3/TLSv1_server_method.3 new file mode 120000 index 0000000..e78df75 --- /dev/null +++ b/linux_amd64/share/man/man3/TLSv1_server_method.3 @@ -0,0 +1 @@ +SSL_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/TS_ACCURACY_dup.3 b/linux_amd64/share/man/man3/TS_ACCURACY_dup.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/TS_ACCURACY_dup.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/TS_ACCURACY_free.3 b/linux_amd64/share/man/man3/TS_ACCURACY_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/TS_ACCURACY_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/TS_ACCURACY_new.3 b/linux_amd64/share/man/man3/TS_ACCURACY_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/TS_ACCURACY_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/TS_MSG_IMPRINT_dup.3 b/linux_amd64/share/man/man3/TS_MSG_IMPRINT_dup.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/TS_MSG_IMPRINT_dup.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/TS_MSG_IMPRINT_free.3 b/linux_amd64/share/man/man3/TS_MSG_IMPRINT_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/TS_MSG_IMPRINT_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/TS_MSG_IMPRINT_new.3 b/linux_amd64/share/man/man3/TS_MSG_IMPRINT_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/TS_MSG_IMPRINT_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/TS_REQ_dup.3 b/linux_amd64/share/man/man3/TS_REQ_dup.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/TS_REQ_dup.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/TS_REQ_free.3 b/linux_amd64/share/man/man3/TS_REQ_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/TS_REQ_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/TS_REQ_new.3 b/linux_amd64/share/man/man3/TS_REQ_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/TS_REQ_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/TS_RESP_dup.3 b/linux_amd64/share/man/man3/TS_RESP_dup.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/TS_RESP_dup.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/TS_RESP_free.3 b/linux_amd64/share/man/man3/TS_RESP_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/TS_RESP_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/TS_RESP_new.3 b/linux_amd64/share/man/man3/TS_RESP_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/TS_RESP_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/TS_STATUS_INFO_dup.3 b/linux_amd64/share/man/man3/TS_STATUS_INFO_dup.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/TS_STATUS_INFO_dup.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/TS_STATUS_INFO_free.3 b/linux_amd64/share/man/man3/TS_STATUS_INFO_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/TS_STATUS_INFO_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/TS_STATUS_INFO_new.3 b/linux_amd64/share/man/man3/TS_STATUS_INFO_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/TS_STATUS_INFO_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/TS_TST_INFO_dup.3 b/linux_amd64/share/man/man3/TS_TST_INFO_dup.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/TS_TST_INFO_dup.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/TS_TST_INFO_free.3 b/linux_amd64/share/man/man3/TS_TST_INFO_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/TS_TST_INFO_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/TS_TST_INFO_new.3 b/linux_amd64/share/man/man3/TS_TST_INFO_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/TS_TST_INFO_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI.3 b/linux_amd64/share/man/man3/UI.3 new file mode 120000 index 0000000..07f38f7 --- /dev/null +++ b/linux_amd64/share/man/man3/UI.3 @@ -0,0 +1 @@ +UI_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_METHOD.3 b/linux_amd64/share/man/man3/UI_METHOD.3 new file mode 120000 index 0000000..60f1a11 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_METHOD.3 @@ -0,0 +1 @@ +UI_create_method.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_OpenSSL.3 b/linux_amd64/share/man/man3/UI_OpenSSL.3 new file mode 120000 index 0000000..07f38f7 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_OpenSSL.3 @@ -0,0 +1 @@ +UI_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_STRING.3 b/linux_amd64/share/man/man3/UI_STRING.3 index 2b1e696..3133ffd 100755 --- a/linux_amd64/share/man/man3/UI_STRING.3 +++ b/linux_amd64/share/man/man3/UI_STRING.3 @@ -124,18 +124,13 @@ .\" ======================================================================== .\" .IX Title "UI_STRING 3" -.TH UI_STRING 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH UI_STRING 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -UI_STRING, UI_string_types, UI_get_string_type, -UI_get_input_flags, UI_get0_output_string, -UI_get0_action_string, UI_get0_result_string, UI_get_result_string_length, -UI_get0_test_string, UI_get_result_minsize, -UI_get_result_maxsize, UI_set_result, UI_set_result_ex -\&\- User interface string parsing +UI_STRING, UI_string_types, UI_get_string_type, UI_get_input_flags, UI_get0_output_string, UI_get0_action_string, UI_get0_result_string, UI_get_result_string_length, UI_get0_test_string, UI_get_result_minsize, UI_get_result_maxsize, UI_set_result, UI_set_result_ex \&\- User interface string parsing .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -264,7 +259,7 @@ error. .IX Header "COPYRIGHT" Copyright 2001\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/UI_UTIL_read_pw.3 b/linux_amd64/share/man/man3/UI_UTIL_read_pw.3 index cdd03ac..6f5b6e6 100755 --- a/linux_amd64/share/man/man3/UI_UTIL_read_pw.3 +++ b/linux_amd64/share/man/man3/UI_UTIL_read_pw.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "UI_UTIL_READ_PW 3" -.TH UI_UTIL_READ_PW 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH UI_UTIL_READ_PW 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -UI_UTIL_read_pw_string, UI_UTIL_read_pw, -UI_UTIL_wrap_read_pem_callback \- user interface utilities +UI_UTIL_read_pw_string, UI_UTIL_read_pw, UI_UTIL_wrap_read_pem_callback \- user interface utilities .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -149,7 +148,7 @@ UI_UTIL_wrap_read_pem_callback \- user interface utilities prompt, and stores it in \fBbuf\fR. The maximum allowed size is given with \fBlength\fR, including the terminating \s-1NUL\s0 byte. -If \fBverify\fR is nonzero, the password will be verified as well. +If \fBverify\fR is non-zero, the password will be verified as well. .PP \&\fIUI_UTIL_read_pw()\fR does the same as \fIUI_UTIL_read_pw_string()\fR, the difference is that you can give it an external buffer \fBbuff\fR for the @@ -188,7 +187,7 @@ if an error occurred. .IX Header "COPYRIGHT" Copyright 2001\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/UI_UTIL_read_pw_string.3 b/linux_amd64/share/man/man3/UI_UTIL_read_pw_string.3 new file mode 120000 index 0000000..ee8210e --- /dev/null +++ b/linux_amd64/share/man/man3/UI_UTIL_read_pw_string.3 @@ -0,0 +1 @@ +UI_UTIL_read_pw.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_UTIL_wrap_read_pem_callback.3 b/linux_amd64/share/man/man3/UI_UTIL_wrap_read_pem_callback.3 new file mode 120000 index 0000000..ee8210e --- /dev/null +++ b/linux_amd64/share/man/man3/UI_UTIL_wrap_read_pem_callback.3 @@ -0,0 +1 @@ +UI_UTIL_read_pw.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_add_error_string.3 b/linux_amd64/share/man/man3/UI_add_error_string.3 new file mode 120000 index 0000000..07f38f7 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_add_error_string.3 @@ -0,0 +1 @@ +UI_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_add_info_string.3 b/linux_amd64/share/man/man3/UI_add_info_string.3 new file mode 120000 index 0000000..07f38f7 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_add_info_string.3 @@ -0,0 +1 @@ +UI_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_add_input_boolean.3 b/linux_amd64/share/man/man3/UI_add_input_boolean.3 new file mode 120000 index 0000000..07f38f7 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_add_input_boolean.3 @@ -0,0 +1 @@ +UI_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_add_input_string.3 b/linux_amd64/share/man/man3/UI_add_input_string.3 new file mode 120000 index 0000000..07f38f7 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_add_input_string.3 @@ -0,0 +1 @@ +UI_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_add_user_data.3 b/linux_amd64/share/man/man3/UI_add_user_data.3 new file mode 120000 index 0000000..07f38f7 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_add_user_data.3 @@ -0,0 +1 @@ +UI_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_add_verify_string.3 b/linux_amd64/share/man/man3/UI_add_verify_string.3 new file mode 120000 index 0000000..07f38f7 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_add_verify_string.3 @@ -0,0 +1 @@ +UI_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_construct_prompt.3 b/linux_amd64/share/man/man3/UI_construct_prompt.3 new file mode 120000 index 0000000..07f38f7 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_construct_prompt.3 @@ -0,0 +1 @@ +UI_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_create_method.3 b/linux_amd64/share/man/man3/UI_create_method.3 index 58a7310..92f8cd0 100755 --- a/linux_amd64/share/man/man3/UI_create_method.3 +++ b/linux_amd64/share/man/man3/UI_create_method.3 @@ -124,22 +124,13 @@ .\" ======================================================================== .\" .IX Title "UI_CREATE_METHOD 3" -.TH UI_CREATE_METHOD 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH UI_CREATE_METHOD 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -UI_METHOD, -UI_create_method, UI_destroy_method, UI_method_set_opener, -UI_method_set_writer, UI_method_set_flusher, UI_method_set_reader, -UI_method_set_closer, UI_method_set_data_duplicator, -UI_method_set_prompt_constructor, UI_method_set_ex_data, -UI_method_get_opener, UI_method_get_writer, UI_method_get_flusher, -UI_method_get_reader, UI_method_get_closer, -UI_method_get_data_duplicator, UI_method_get_data_destructor, -UI_method_get_prompt_constructor, UI_method_get_ex_data \- user -interface method creation and destruction +UI_METHOD, UI_create_method, UI_destroy_method, UI_method_set_opener, UI_method_set_writer, UI_method_set_flusher, UI_method_set_reader, UI_method_set_closer, UI_method_set_data_duplicator, UI_method_set_prompt_constructor, UI_method_set_ex_data, UI_method_get_opener, UI_method_get_writer, UI_method_get_flusher, UI_method_get_reader, UI_method_get_closer, UI_method_get_data_duplicator, UI_method_get_data_destructor, UI_method_get_prompt_constructor, UI_method_get_ex_data \- user interface method creation and destruction .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -313,7 +304,7 @@ and \fIUI_method_get_data_destructor()\fR functions were added in OpenSSL 1.1.1. .IX Header "COPYRIGHT" Copyright 2001\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/UI_ctrl.3 b/linux_amd64/share/man/man3/UI_ctrl.3 new file mode 120000 index 0000000..07f38f7 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_ctrl.3 @@ -0,0 +1 @@ +UI_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_destroy_method.3 b/linux_amd64/share/man/man3/UI_destroy_method.3 new file mode 120000 index 0000000..60f1a11 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_destroy_method.3 @@ -0,0 +1 @@ +UI_create_method.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_dup_error_string.3 b/linux_amd64/share/man/man3/UI_dup_error_string.3 new file mode 120000 index 0000000..07f38f7 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_dup_error_string.3 @@ -0,0 +1 @@ +UI_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_dup_info_string.3 b/linux_amd64/share/man/man3/UI_dup_info_string.3 new file mode 120000 index 0000000..07f38f7 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_dup_info_string.3 @@ -0,0 +1 @@ +UI_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_dup_input_boolean.3 b/linux_amd64/share/man/man3/UI_dup_input_boolean.3 new file mode 120000 index 0000000..07f38f7 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_dup_input_boolean.3 @@ -0,0 +1 @@ +UI_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_dup_input_string.3 b/linux_amd64/share/man/man3/UI_dup_input_string.3 new file mode 120000 index 0000000..07f38f7 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_dup_input_string.3 @@ -0,0 +1 @@ +UI_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_dup_user_data.3 b/linux_amd64/share/man/man3/UI_dup_user_data.3 new file mode 120000 index 0000000..07f38f7 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_dup_user_data.3 @@ -0,0 +1 @@ +UI_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_dup_verify_string.3 b/linux_amd64/share/man/man3/UI_dup_verify_string.3 new file mode 120000 index 0000000..07f38f7 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_dup_verify_string.3 @@ -0,0 +1 @@ +UI_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_free.3 b/linux_amd64/share/man/man3/UI_free.3 new file mode 120000 index 0000000..07f38f7 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_free.3 @@ -0,0 +1 @@ +UI_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_get0_action_string.3 b/linux_amd64/share/man/man3/UI_get0_action_string.3 new file mode 120000 index 0000000..3a63a39 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_get0_action_string.3 @@ -0,0 +1 @@ +UI_STRING.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_get0_output_string.3 b/linux_amd64/share/man/man3/UI_get0_output_string.3 new file mode 120000 index 0000000..3a63a39 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_get0_output_string.3 @@ -0,0 +1 @@ +UI_STRING.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_get0_result.3 b/linux_amd64/share/man/man3/UI_get0_result.3 new file mode 120000 index 0000000..07f38f7 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_get0_result.3 @@ -0,0 +1 @@ +UI_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_get0_result_string.3 b/linux_amd64/share/man/man3/UI_get0_result_string.3 new file mode 120000 index 0000000..3a63a39 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_get0_result_string.3 @@ -0,0 +1 @@ +UI_STRING.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_get0_test_string.3 b/linux_amd64/share/man/man3/UI_get0_test_string.3 new file mode 120000 index 0000000..3a63a39 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_get0_test_string.3 @@ -0,0 +1 @@ +UI_STRING.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_get0_user_data.3 b/linux_amd64/share/man/man3/UI_get0_user_data.3 new file mode 120000 index 0000000..07f38f7 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_get0_user_data.3 @@ -0,0 +1 @@ +UI_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_get_default_method.3 b/linux_amd64/share/man/man3/UI_get_default_method.3 new file mode 120000 index 0000000..07f38f7 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_get_default_method.3 @@ -0,0 +1 @@ +UI_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_get_ex_data.3 b/linux_amd64/share/man/man3/UI_get_ex_data.3 new file mode 120000 index 0000000..aa4dc88 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_get_ex_data.3 @@ -0,0 +1 @@ +BIO_get_ex_new_index.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_get_ex_new_index.3 b/linux_amd64/share/man/man3/UI_get_ex_new_index.3 new file mode 120000 index 0000000..aa4dc88 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_get_ex_new_index.3 @@ -0,0 +1 @@ +BIO_get_ex_new_index.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_get_input_flags.3 b/linux_amd64/share/man/man3/UI_get_input_flags.3 new file mode 120000 index 0000000..3a63a39 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_get_input_flags.3 @@ -0,0 +1 @@ +UI_STRING.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_get_method.3 b/linux_amd64/share/man/man3/UI_get_method.3 new file mode 120000 index 0000000..07f38f7 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_get_method.3 @@ -0,0 +1 @@ +UI_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_get_result_length.3 b/linux_amd64/share/man/man3/UI_get_result_length.3 new file mode 120000 index 0000000..07f38f7 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_get_result_length.3 @@ -0,0 +1 @@ +UI_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_get_result_maxsize.3 b/linux_amd64/share/man/man3/UI_get_result_maxsize.3 new file mode 120000 index 0000000..3a63a39 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_get_result_maxsize.3 @@ -0,0 +1 @@ +UI_STRING.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_get_result_minsize.3 b/linux_amd64/share/man/man3/UI_get_result_minsize.3 new file mode 120000 index 0000000..3a63a39 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_get_result_minsize.3 @@ -0,0 +1 @@ +UI_STRING.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_get_result_string_length.3 b/linux_amd64/share/man/man3/UI_get_result_string_length.3 new file mode 120000 index 0000000..3a63a39 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_get_result_string_length.3 @@ -0,0 +1 @@ +UI_STRING.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_get_string_type.3 b/linux_amd64/share/man/man3/UI_get_string_type.3 new file mode 120000 index 0000000..3a63a39 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_get_string_type.3 @@ -0,0 +1 @@ +UI_STRING.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_method_get_closer.3 b/linux_amd64/share/man/man3/UI_method_get_closer.3 new file mode 120000 index 0000000..60f1a11 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_method_get_closer.3 @@ -0,0 +1 @@ +UI_create_method.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_method_get_data_destructor.3 b/linux_amd64/share/man/man3/UI_method_get_data_destructor.3 new file mode 120000 index 0000000..60f1a11 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_method_get_data_destructor.3 @@ -0,0 +1 @@ +UI_create_method.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_method_get_data_duplicator.3 b/linux_amd64/share/man/man3/UI_method_get_data_duplicator.3 new file mode 120000 index 0000000..60f1a11 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_method_get_data_duplicator.3 @@ -0,0 +1 @@ +UI_create_method.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_method_get_ex_data.3 b/linux_amd64/share/man/man3/UI_method_get_ex_data.3 new file mode 120000 index 0000000..60f1a11 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_method_get_ex_data.3 @@ -0,0 +1 @@ +UI_create_method.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_method_get_flusher.3 b/linux_amd64/share/man/man3/UI_method_get_flusher.3 new file mode 120000 index 0000000..60f1a11 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_method_get_flusher.3 @@ -0,0 +1 @@ +UI_create_method.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_method_get_opener.3 b/linux_amd64/share/man/man3/UI_method_get_opener.3 new file mode 120000 index 0000000..60f1a11 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_method_get_opener.3 @@ -0,0 +1 @@ +UI_create_method.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_method_get_prompt_constructor.3 b/linux_amd64/share/man/man3/UI_method_get_prompt_constructor.3 new file mode 120000 index 0000000..60f1a11 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_method_get_prompt_constructor.3 @@ -0,0 +1 @@ +UI_create_method.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_method_get_reader.3 b/linux_amd64/share/man/man3/UI_method_get_reader.3 new file mode 120000 index 0000000..60f1a11 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_method_get_reader.3 @@ -0,0 +1 @@ +UI_create_method.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_method_get_writer.3 b/linux_amd64/share/man/man3/UI_method_get_writer.3 new file mode 120000 index 0000000..60f1a11 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_method_get_writer.3 @@ -0,0 +1 @@ +UI_create_method.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_method_set_closer.3 b/linux_amd64/share/man/man3/UI_method_set_closer.3 new file mode 120000 index 0000000..60f1a11 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_method_set_closer.3 @@ -0,0 +1 @@ +UI_create_method.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_method_set_data_duplicator.3 b/linux_amd64/share/man/man3/UI_method_set_data_duplicator.3 new file mode 120000 index 0000000..60f1a11 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_method_set_data_duplicator.3 @@ -0,0 +1 @@ +UI_create_method.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_method_set_ex_data.3 b/linux_amd64/share/man/man3/UI_method_set_ex_data.3 new file mode 120000 index 0000000..60f1a11 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_method_set_ex_data.3 @@ -0,0 +1 @@ +UI_create_method.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_method_set_flusher.3 b/linux_amd64/share/man/man3/UI_method_set_flusher.3 new file mode 120000 index 0000000..60f1a11 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_method_set_flusher.3 @@ -0,0 +1 @@ +UI_create_method.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_method_set_opener.3 b/linux_amd64/share/man/man3/UI_method_set_opener.3 new file mode 120000 index 0000000..60f1a11 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_method_set_opener.3 @@ -0,0 +1 @@ +UI_create_method.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_method_set_prompt_constructor.3 b/linux_amd64/share/man/man3/UI_method_set_prompt_constructor.3 new file mode 120000 index 0000000..60f1a11 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_method_set_prompt_constructor.3 @@ -0,0 +1 @@ +UI_create_method.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_method_set_reader.3 b/linux_amd64/share/man/man3/UI_method_set_reader.3 new file mode 120000 index 0000000..60f1a11 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_method_set_reader.3 @@ -0,0 +1 @@ +UI_create_method.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_method_set_writer.3 b/linux_amd64/share/man/man3/UI_method_set_writer.3 new file mode 120000 index 0000000..60f1a11 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_method_set_writer.3 @@ -0,0 +1 @@ +UI_create_method.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_new.3 b/linux_amd64/share/man/man3/UI_new.3 index fd7d1c6..2d35676 100755 --- a/linux_amd64/share/man/man3/UI_new.3 +++ b/linux_amd64/share/man/man3/UI_new.3 @@ -124,21 +124,13 @@ .\" ======================================================================== .\" .IX Title "UI_NEW 3" -.TH UI_NEW 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH UI_NEW 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -UI, -UI_new, UI_new_method, UI_free, UI_add_input_string, UI_dup_input_string, -UI_add_verify_string, UI_dup_verify_string, UI_add_input_boolean, -UI_dup_input_boolean, UI_add_info_string, UI_dup_info_string, -UI_add_error_string, UI_dup_error_string, UI_construct_prompt, -UI_add_user_data, UI_dup_user_data, UI_get0_user_data, UI_get0_result, -UI_get_result_length, -UI_process, UI_ctrl, UI_set_default_method, UI_get_default_method, -UI_get_method, UI_set_method, UI_OpenSSL, UI_null \- user interface +UI, UI_new, UI_new_method, UI_free, UI_add_input_string, UI_dup_input_string, UI_add_verify_string, UI_dup_verify_string, UI_add_input_boolean, UI_dup_input_boolean, UI_add_info_string, UI_dup_info_string, UI_add_error_string, UI_dup_error_string, UI_construct_prompt, UI_add_user_data, UI_dup_user_data, UI_get0_user_data, UI_get0_result, UI_get_result_length, UI_process, UI_ctrl, UI_set_default_method, UI_get_default_method, UI_get_method, UI_set_method, UI_OpenSSL, UI_null \- user interface .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -260,7 +252,7 @@ the possible answers (given through the \fIaction_desc\fR argument). .PP \&\fIUI_add_info_string()\fR and \fIUI_add_error_string()\fR add strings that are shown at the same time as the prompt for extra information or to show an error string. -The difference between the two is only conceptual. With the built-in method, +The difference between the two is only conceptual. With the builtin method, there's no technical difference between them. Other methods may make a difference between them, however. .PP @@ -280,13 +272,13 @@ of all strings. a prompt from two pieces of information: an description and a name. The default constructor (if there is none provided by the method used) creates a string "Enter \fIdescription\fR for \fIname\fR:\*(L". With the -description \*(R"pass phrase\*(L" and the filename \*(R"foo.key\*(L", that becomes +description \*(R"pass phrase\*(L" and the file name \*(R"foo.key\*(L", that becomes \&\*(R"Enter pass phrase for foo.key:". Other methods may create whatever string and may include encodings that will be processed by the other method functions. .PP \&\fIUI_add_user_data()\fR adds a user data pointer for the method to use at any -time. The built-in \s-1UI\s0 method doesn't care about this info. Note that several +time. The builtin \s-1UI\s0 method doesn't care about this info. Note that several calls to this function doesn't add data, it replaces the previous blob with the one given as argument. .PP @@ -332,7 +324,7 @@ are assumed to be encoded according to the current locale or (for Windows) code page. For applications having different demands, these strings need to be converted appropriately by the caller. -For Windows, if the \fB\s-1OPENSSL_WIN32_UTF8\s0\fR environment variable is set, +For Windows, if the \s-1OPENSSL_WIN32_UTF8\s0 environment variable is set, the built-in method \fIUI_OpenSSL()\fR will produce \s-1UTF\-8\s0 encoded strings instead. .SH "RETURN VALUES" @@ -369,7 +361,7 @@ The \fIUI_dup_user_data()\fR function was added in OpenSSL 1.1.1. .IX Header "COPYRIGHT" Copyright 2001\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/UI_new_method.3 b/linux_amd64/share/man/man3/UI_new_method.3 new file mode 120000 index 0000000..07f38f7 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_new_method.3 @@ -0,0 +1 @@ +UI_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_null.3 b/linux_amd64/share/man/man3/UI_null.3 new file mode 120000 index 0000000..07f38f7 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_null.3 @@ -0,0 +1 @@ +UI_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_process.3 b/linux_amd64/share/man/man3/UI_process.3 new file mode 120000 index 0000000..07f38f7 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_process.3 @@ -0,0 +1 @@ +UI_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_set_default_method.3 b/linux_amd64/share/man/man3/UI_set_default_method.3 new file mode 120000 index 0000000..07f38f7 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_set_default_method.3 @@ -0,0 +1 @@ +UI_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_set_ex_data.3 b/linux_amd64/share/man/man3/UI_set_ex_data.3 new file mode 120000 index 0000000..aa4dc88 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_set_ex_data.3 @@ -0,0 +1 @@ +BIO_get_ex_new_index.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_set_method.3 b/linux_amd64/share/man/man3/UI_set_method.3 new file mode 120000 index 0000000..07f38f7 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_set_method.3 @@ -0,0 +1 @@ +UI_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_set_result.3 b/linux_amd64/share/man/man3/UI_set_result.3 new file mode 120000 index 0000000..3a63a39 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_set_result.3 @@ -0,0 +1 @@ +UI_STRING.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_set_result_ex.3 b/linux_amd64/share/man/man3/UI_set_result_ex.3 new file mode 120000 index 0000000..3a63a39 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_set_result_ex.3 @@ -0,0 +1 @@ +UI_STRING.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/UI_string_types.3 b/linux_amd64/share/man/man3/UI_string_types.3 new file mode 120000 index 0000000..3a63a39 --- /dev/null +++ b/linux_amd64/share/man/man3/UI_string_types.3 @@ -0,0 +1 @@ +UI_STRING.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/USERNOTICE_free.3 b/linux_amd64/share/man/man3/USERNOTICE_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/USERNOTICE_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/USERNOTICE_new.3 b/linux_amd64/share/man/man3/USERNOTICE_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/USERNOTICE_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509V3_EXT_d2i.3 b/linux_amd64/share/man/man3/X509V3_EXT_d2i.3 new file mode 120000 index 0000000..5b4a5e5 --- /dev/null +++ b/linux_amd64/share/man/man3/X509V3_EXT_d2i.3 @@ -0,0 +1 @@ +X509V3_get_d2i.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509V3_EXT_i2d.3 b/linux_amd64/share/man/man3/X509V3_EXT_i2d.3 new file mode 120000 index 0000000..5b4a5e5 --- /dev/null +++ b/linux_amd64/share/man/man3/X509V3_EXT_i2d.3 @@ -0,0 +1 @@ +X509V3_get_d2i.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509V3_add1_i2d.3 b/linux_amd64/share/man/man3/X509V3_add1_i2d.3 new file mode 120000 index 0000000..5b4a5e5 --- /dev/null +++ b/linux_amd64/share/man/man3/X509V3_add1_i2d.3 @@ -0,0 +1 @@ +X509V3_get_d2i.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509V3_get_d2i.3 b/linux_amd64/share/man/man3/X509V3_get_d2i.3 index e785ad0..6da490f 100755 --- a/linux_amd64/share/man/man3/X509V3_get_d2i.3 +++ b/linux_amd64/share/man/man3/X509V3_get_d2i.3 @@ -124,17 +124,13 @@ .\" ======================================================================== .\" .IX Title "X509V3_GET_D2I 3" -.TH X509V3_GET_D2I 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH X509V3_GET_D2I 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -X509_get0_extensions, X509_CRL_get0_extensions, X509_REVOKED_get0_extensions, -X509V3_get_d2i, X509V3_add1_i2d, X509V3_EXT_d2i, X509V3_EXT_i2d, -X509_get_ext_d2i, X509_add1_ext_i2d, X509_CRL_get_ext_d2i, -X509_CRL_add1_ext_i2d, X509_REVOKED_get_ext_d2i, -X509_REVOKED_add1_ext_i2d \- X509 extension decode and encode functions +X509_get0_extensions, X509_CRL_get0_extensions, X509_REVOKED_get0_extensions, X509V3_get_d2i, X509V3_add1_i2d, X509V3_EXT_d2i, X509V3_EXT_i2d, X509_get_ext_d2i, X509_add1_ext_i2d, X509_CRL_get_ext_d2i, X509_CRL_add1_ext_i2d, X509_REVOKED_get_ext_d2i, X509_REVOKED_add1_ext_i2d \- X509 extension decode and encode functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -364,7 +360,7 @@ failure. .IX Header "COPYRIGHT" Copyright 2015\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/X509_ALGOR_cmp.3 b/linux_amd64/share/man/man3/X509_ALGOR_cmp.3 new file mode 120000 index 0000000..5c5088a --- /dev/null +++ b/linux_amd64/share/man/man3/X509_ALGOR_cmp.3 @@ -0,0 +1 @@ +X509_ALGOR_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_ALGOR_dup.3 b/linux_amd64/share/man/man3/X509_ALGOR_dup.3 index 030caeb..586786b 100755 --- a/linux_amd64/share/man/man3/X509_ALGOR_dup.3 +++ b/linux_amd64/share/man/man3/X509_ALGOR_dup.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "X509_ALGOR_DUP 3" -.TH X509_ALGOR_DUP 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH X509_ALGOR_DUP 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -162,7 +162,7 @@ and \fB*ppval\fR from the \fBAlgorithmIdentifier\fR \fBalg\fR. values for the message digest \fBmd\fR. .PP \&\fIX509_ALGOR_cmp()\fR compares \fBa\fR and \fBb\fR and returns 0 if they have identical -encodings and nonzero otherwise. +encodings and non-zero otherwise. .SH "RETURN VALUES" .IX Header "RETURN VALUES" \&\fIX509_ALGOR_dup()\fR returns a valid \fBX509_ALGOR\fR structure or \s-1NULL\s0 if an error @@ -173,12 +173,12 @@ occurred. \&\fIX509_ALGOR_get0()\fR and \fIX509_ALGOR_set_md()\fR return no values. .PP \&\fIX509_ALGOR_cmp()\fR returns 0 if the two parameters have identical encodings and -nonzero otherwise. +non-zero otherwise. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2002\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/X509_ALGOR_free.3 b/linux_amd64/share/man/man3/X509_ALGOR_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_ALGOR_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_ALGOR_get0.3 b/linux_amd64/share/man/man3/X509_ALGOR_get0.3 new file mode 120000 index 0000000..5c5088a --- /dev/null +++ b/linux_amd64/share/man/man3/X509_ALGOR_get0.3 @@ -0,0 +1 @@ +X509_ALGOR_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_ALGOR_new.3 b/linux_amd64/share/man/man3/X509_ALGOR_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_ALGOR_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_ALGOR_set0.3 b/linux_amd64/share/man/man3/X509_ALGOR_set0.3 new file mode 120000 index 0000000..5c5088a --- /dev/null +++ b/linux_amd64/share/man/man3/X509_ALGOR_set0.3 @@ -0,0 +1 @@ +X509_ALGOR_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_ALGOR_set_md.3 b/linux_amd64/share/man/man3/X509_ALGOR_set_md.3 new file mode 120000 index 0000000..5c5088a --- /dev/null +++ b/linux_amd64/share/man/man3/X509_ALGOR_set_md.3 @@ -0,0 +1 @@ +X509_ALGOR_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_ATTRIBUTE_dup.3 b/linux_amd64/share/man/man3/X509_ATTRIBUTE_dup.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_ATTRIBUTE_dup.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_ATTRIBUTE_free.3 b/linux_amd64/share/man/man3/X509_ATTRIBUTE_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_ATTRIBUTE_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_ATTRIBUTE_new.3 b/linux_amd64/share/man/man3/X509_ATTRIBUTE_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_ATTRIBUTE_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_CERT_AUX_free.3 b/linux_amd64/share/man/man3/X509_CERT_AUX_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_CERT_AUX_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_CERT_AUX_new.3 b/linux_amd64/share/man/man3/X509_CERT_AUX_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_CERT_AUX_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_CINF_free.3 b/linux_amd64/share/man/man3/X509_CINF_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_CINF_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_CINF_new.3 b/linux_amd64/share/man/man3/X509_CINF_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_CINF_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_CRL_INFO_free.3 b/linux_amd64/share/man/man3/X509_CRL_INFO_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_CRL_INFO_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_CRL_INFO_new.3 b/linux_amd64/share/man/man3/X509_CRL_INFO_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_CRL_INFO_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_CRL_add0_revoked.3 b/linux_amd64/share/man/man3/X509_CRL_add0_revoked.3 new file mode 120000 index 0000000..cf787f2 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_CRL_add0_revoked.3 @@ -0,0 +1 @@ +X509_CRL_get0_by_serial.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_CRL_add1_ext_i2d.3 b/linux_amd64/share/man/man3/X509_CRL_add1_ext_i2d.3 new file mode 120000 index 0000000..5b4a5e5 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_CRL_add1_ext_i2d.3 @@ -0,0 +1 @@ +X509V3_get_d2i.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_CRL_add_ext.3 b/linux_amd64/share/man/man3/X509_CRL_add_ext.3 new file mode 120000 index 0000000..45af049 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_CRL_add_ext.3 @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_CRL_cmp.3 b/linux_amd64/share/man/man3/X509_CRL_cmp.3 new file mode 120000 index 0000000..1e056ad --- /dev/null +++ b/linux_amd64/share/man/man3/X509_CRL_cmp.3 @@ -0,0 +1 @@ +X509_cmp.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_CRL_delete_ext.3 b/linux_amd64/share/man/man3/X509_CRL_delete_ext.3 new file mode 120000 index 0000000..45af049 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_CRL_delete_ext.3 @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_CRL_digest.3 b/linux_amd64/share/man/man3/X509_CRL_digest.3 new file mode 120000 index 0000000..f86b06d --- /dev/null +++ b/linux_amd64/share/man/man3/X509_CRL_digest.3 @@ -0,0 +1 @@ +X509_digest.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_CRL_dup.3 b/linux_amd64/share/man/man3/X509_CRL_dup.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_CRL_dup.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_CRL_free.3 b/linux_amd64/share/man/man3/X509_CRL_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_CRL_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_CRL_get0_by_cert.3 b/linux_amd64/share/man/man3/X509_CRL_get0_by_cert.3 new file mode 120000 index 0000000..cf787f2 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_CRL_get0_by_cert.3 @@ -0,0 +1 @@ +X509_CRL_get0_by_serial.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_CRL_get0_by_serial.3 b/linux_amd64/share/man/man3/X509_CRL_get0_by_serial.3 index dadb3a1..6fe528c 100755 --- a/linux_amd64/share/man/man3/X509_CRL_get0_by_serial.3 +++ b/linux_amd64/share/man/man3/X509_CRL_get0_by_serial.3 @@ -124,17 +124,13 @@ .\" ======================================================================== .\" .IX Title "X509_CRL_GET0_BY_SERIAL 3" -.TH X509_CRL_GET0_BY_SERIAL 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH X509_CRL_GET0_BY_SERIAL 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -X509_CRL_get0_by_serial, X509_CRL_get0_by_cert, X509_CRL_get_REVOKED, -X509_REVOKED_get0_serialNumber, X509_REVOKED_get0_revocationDate, -X509_REVOKED_set_serialNumber, X509_REVOKED_set_revocationDate, -X509_CRL_add0_revoked, X509_CRL_sort \- CRL revoked entry utility -functions +X509_CRL_get0_by_serial, X509_CRL_get0_by_cert, X509_CRL_get_REVOKED, X509_REVOKED_get0_serialNumber, X509_REVOKED_get0_revocationDate, X509_REVOKED_set_serialNumber, X509_REVOKED_set_revocationDate, X509_CRL_add0_revoked, X509_CRL_sort \- CRL revoked entry utility functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -231,7 +227,7 @@ failure. .IX Header "COPYRIGHT" Copyright 2015\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/X509_CRL_get0_extensions.3 b/linux_amd64/share/man/man3/X509_CRL_get0_extensions.3 new file mode 120000 index 0000000..5b4a5e5 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_CRL_get0_extensions.3 @@ -0,0 +1 @@ +X509V3_get_d2i.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_CRL_get0_lastUpdate.3 b/linux_amd64/share/man/man3/X509_CRL_get0_lastUpdate.3 new file mode 120000 index 0000000..9e45d5e --- /dev/null +++ b/linux_amd64/share/man/man3/X509_CRL_get0_lastUpdate.3 @@ -0,0 +1 @@ +X509_get0_notBefore.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_CRL_get0_nextUpdate.3 b/linux_amd64/share/man/man3/X509_CRL_get0_nextUpdate.3 new file mode 120000 index 0000000..9e45d5e --- /dev/null +++ b/linux_amd64/share/man/man3/X509_CRL_get0_nextUpdate.3 @@ -0,0 +1 @@ +X509_get0_notBefore.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_CRL_get0_signature.3 b/linux_amd64/share/man/man3/X509_CRL_get0_signature.3 new file mode 120000 index 0000000..ea66776 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_CRL_get0_signature.3 @@ -0,0 +1 @@ +X509_get0_signature.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_CRL_get_REVOKED.3 b/linux_amd64/share/man/man3/X509_CRL_get_REVOKED.3 new file mode 120000 index 0000000..cf787f2 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_CRL_get_REVOKED.3 @@ -0,0 +1 @@ +X509_CRL_get0_by_serial.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_CRL_get_ext.3 b/linux_amd64/share/man/man3/X509_CRL_get_ext.3 new file mode 120000 index 0000000..45af049 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_CRL_get_ext.3 @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_CRL_get_ext_by_NID.3 b/linux_amd64/share/man/man3/X509_CRL_get_ext_by_NID.3 new file mode 120000 index 0000000..45af049 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_CRL_get_ext_by_NID.3 @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_CRL_get_ext_by_OBJ.3 b/linux_amd64/share/man/man3/X509_CRL_get_ext_by_OBJ.3 new file mode 120000 index 0000000..45af049 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_CRL_get_ext_by_OBJ.3 @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_CRL_get_ext_by_critical.3 b/linux_amd64/share/man/man3/X509_CRL_get_ext_by_critical.3 new file mode 120000 index 0000000..45af049 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_CRL_get_ext_by_critical.3 @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_CRL_get_ext_count.3 b/linux_amd64/share/man/man3/X509_CRL_get_ext_count.3 new file mode 120000 index 0000000..45af049 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_CRL_get_ext_count.3 @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_CRL_get_ext_d2i.3 b/linux_amd64/share/man/man3/X509_CRL_get_ext_d2i.3 new file mode 120000 index 0000000..5b4a5e5 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_CRL_get_ext_d2i.3 @@ -0,0 +1 @@ +X509V3_get_d2i.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_CRL_get_issuer.3 b/linux_amd64/share/man/man3/X509_CRL_get_issuer.3 new file mode 120000 index 0000000..a721d5b --- /dev/null +++ b/linux_amd64/share/man/man3/X509_CRL_get_issuer.3 @@ -0,0 +1 @@ +X509_get_subject_name.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_CRL_get_signature_nid.3 b/linux_amd64/share/man/man3/X509_CRL_get_signature_nid.3 new file mode 120000 index 0000000..ea66776 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_CRL_get_signature_nid.3 @@ -0,0 +1 @@ +X509_get0_signature.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_CRL_get_version.3 b/linux_amd64/share/man/man3/X509_CRL_get_version.3 new file mode 120000 index 0000000..2ff8595 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_CRL_get_version.3 @@ -0,0 +1 @@ +X509_get_version.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_CRL_match.3 b/linux_amd64/share/man/man3/X509_CRL_match.3 new file mode 120000 index 0000000..1e056ad --- /dev/null +++ b/linux_amd64/share/man/man3/X509_CRL_match.3 @@ -0,0 +1 @@ +X509_cmp.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_CRL_new.3 b/linux_amd64/share/man/man3/X509_CRL_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_CRL_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_CRL_set1_lastUpdate.3 b/linux_amd64/share/man/man3/X509_CRL_set1_lastUpdate.3 new file mode 120000 index 0000000..9e45d5e --- /dev/null +++ b/linux_amd64/share/man/man3/X509_CRL_set1_lastUpdate.3 @@ -0,0 +1 @@ +X509_get0_notBefore.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_CRL_set1_nextUpdate.3 b/linux_amd64/share/man/man3/X509_CRL_set1_nextUpdate.3 new file mode 120000 index 0000000..9e45d5e --- /dev/null +++ b/linux_amd64/share/man/man3/X509_CRL_set1_nextUpdate.3 @@ -0,0 +1 @@ +X509_get0_notBefore.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_CRL_set_issuer_name.3 b/linux_amd64/share/man/man3/X509_CRL_set_issuer_name.3 new file mode 120000 index 0000000..a721d5b --- /dev/null +++ b/linux_amd64/share/man/man3/X509_CRL_set_issuer_name.3 @@ -0,0 +1 @@ +X509_get_subject_name.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_CRL_set_version.3 b/linux_amd64/share/man/man3/X509_CRL_set_version.3 new file mode 120000 index 0000000..2ff8595 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_CRL_set_version.3 @@ -0,0 +1 @@ +X509_get_version.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_CRL_sign.3 b/linux_amd64/share/man/man3/X509_CRL_sign.3 new file mode 120000 index 0000000..0be15bd --- /dev/null +++ b/linux_amd64/share/man/man3/X509_CRL_sign.3 @@ -0,0 +1 @@ +X509_sign.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_CRL_sign_ctx.3 b/linux_amd64/share/man/man3/X509_CRL_sign_ctx.3 new file mode 120000 index 0000000..0be15bd --- /dev/null +++ b/linux_amd64/share/man/man3/X509_CRL_sign_ctx.3 @@ -0,0 +1 @@ +X509_sign.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_CRL_sort.3 b/linux_amd64/share/man/man3/X509_CRL_sort.3 new file mode 120000 index 0000000..cf787f2 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_CRL_sort.3 @@ -0,0 +1 @@ +X509_CRL_get0_by_serial.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_CRL_verify.3 b/linux_amd64/share/man/man3/X509_CRL_verify.3 new file mode 120000 index 0000000..0be15bd --- /dev/null +++ b/linux_amd64/share/man/man3/X509_CRL_verify.3 @@ -0,0 +1 @@ +X509_sign.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_EXTENSION_create_by_NID.3 b/linux_amd64/share/man/man3/X509_EXTENSION_create_by_NID.3 new file mode 120000 index 0000000..33f53e9 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_EXTENSION_create_by_NID.3 @@ -0,0 +1 @@ +X509_EXTENSION_set_object.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_EXTENSION_create_by_OBJ.3 b/linux_amd64/share/man/man3/X509_EXTENSION_create_by_OBJ.3 new file mode 120000 index 0000000..33f53e9 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_EXTENSION_create_by_OBJ.3 @@ -0,0 +1 @@ +X509_EXTENSION_set_object.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_EXTENSION_dup.3 b/linux_amd64/share/man/man3/X509_EXTENSION_dup.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_EXTENSION_dup.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_EXTENSION_free.3 b/linux_amd64/share/man/man3/X509_EXTENSION_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_EXTENSION_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_EXTENSION_get_critical.3 b/linux_amd64/share/man/man3/X509_EXTENSION_get_critical.3 new file mode 120000 index 0000000..33f53e9 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_EXTENSION_get_critical.3 @@ -0,0 +1 @@ +X509_EXTENSION_set_object.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_EXTENSION_get_data.3 b/linux_amd64/share/man/man3/X509_EXTENSION_get_data.3 new file mode 120000 index 0000000..33f53e9 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_EXTENSION_get_data.3 @@ -0,0 +1 @@ +X509_EXTENSION_set_object.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_EXTENSION_get_object.3 b/linux_amd64/share/man/man3/X509_EXTENSION_get_object.3 new file mode 120000 index 0000000..33f53e9 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_EXTENSION_get_object.3 @@ -0,0 +1 @@ +X509_EXTENSION_set_object.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_EXTENSION_new.3 b/linux_amd64/share/man/man3/X509_EXTENSION_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_EXTENSION_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_EXTENSION_set_critical.3 b/linux_amd64/share/man/man3/X509_EXTENSION_set_critical.3 new file mode 120000 index 0000000..33f53e9 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_EXTENSION_set_critical.3 @@ -0,0 +1 @@ +X509_EXTENSION_set_object.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_EXTENSION_set_data.3 b/linux_amd64/share/man/man3/X509_EXTENSION_set_data.3 new file mode 120000 index 0000000..33f53e9 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_EXTENSION_set_data.3 @@ -0,0 +1 @@ +X509_EXTENSION_set_object.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_EXTENSION_set_object.3 b/linux_amd64/share/man/man3/X509_EXTENSION_set_object.3 index d3d0364..63d4d53 100755 --- a/linux_amd64/share/man/man3/X509_EXTENSION_set_object.3 +++ b/linux_amd64/share/man/man3/X509_EXTENSION_set_object.3 @@ -124,17 +124,13 @@ .\" ======================================================================== .\" .IX Title "X509_EXTENSION_SET_OBJECT 3" -.TH X509_EXTENSION_SET_OBJECT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH X509_EXTENSION_SET_OBJECT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -X509_EXTENSION_set_object, X509_EXTENSION_set_critical, -X509_EXTENSION_set_data, X509_EXTENSION_create_by_NID, -X509_EXTENSION_create_by_OBJ, X509_EXTENSION_get_object, -X509_EXTENSION_get_critical, X509_EXTENSION_get_data \- extension utility -functions +X509_EXTENSION_set_object, X509_EXTENSION_set_critical, X509_EXTENSION_set_data, X509_EXTENSION_create_by_NID, X509_EXTENSION_create_by_OBJ, X509_EXTENSION_get_object, X509_EXTENSION_get_critical, X509_EXTENSION_get_data \- extension utility functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 3 @@ -212,7 +208,7 @@ critical. .IX Header "COPYRIGHT" Copyright 2015\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/X509_LOOKUP_ctrl_fn.3 b/linux_amd64/share/man/man3/X509_LOOKUP_ctrl_fn.3 new file mode 120000 index 0000000..9e8d0de --- /dev/null +++ b/linux_amd64/share/man/man3/X509_LOOKUP_ctrl_fn.3 @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_LOOKUP_file.3 b/linux_amd64/share/man/man3/X509_LOOKUP_file.3 new file mode 120000 index 0000000..e4f8142 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_LOOKUP_file.3 @@ -0,0 +1 @@ +X509_LOOKUP_hash_dir.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_LOOKUP_get_by_alias_fn.3 b/linux_amd64/share/man/man3/X509_LOOKUP_get_by_alias_fn.3 new file mode 120000 index 0000000..9e8d0de --- /dev/null +++ b/linux_amd64/share/man/man3/X509_LOOKUP_get_by_alias_fn.3 @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_LOOKUP_get_by_fingerprint_fn.3 b/linux_amd64/share/man/man3/X509_LOOKUP_get_by_fingerprint_fn.3 new file mode 120000 index 0000000..9e8d0de --- /dev/null +++ b/linux_amd64/share/man/man3/X509_LOOKUP_get_by_fingerprint_fn.3 @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_LOOKUP_get_by_issuer_serial_fn.3 b/linux_amd64/share/man/man3/X509_LOOKUP_get_by_issuer_serial_fn.3 new file mode 120000 index 0000000..9e8d0de --- /dev/null +++ b/linux_amd64/share/man/man3/X509_LOOKUP_get_by_issuer_serial_fn.3 @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_LOOKUP_get_by_subject_fn.3 b/linux_amd64/share/man/man3/X509_LOOKUP_get_by_subject_fn.3 new file mode 120000 index 0000000..9e8d0de --- /dev/null +++ b/linux_amd64/share/man/man3/X509_LOOKUP_get_by_subject_fn.3 @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_LOOKUP_get_method_data.3 b/linux_amd64/share/man/man3/X509_LOOKUP_get_method_data.3 new file mode 120000 index 0000000..9e8d0de --- /dev/null +++ b/linux_amd64/share/man/man3/X509_LOOKUP_get_method_data.3 @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_LOOKUP_get_store.3 b/linux_amd64/share/man/man3/X509_LOOKUP_get_store.3 new file mode 120000 index 0000000..9e8d0de --- /dev/null +++ b/linux_amd64/share/man/man3/X509_LOOKUP_get_store.3 @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_LOOKUP_hash_dir.3 b/linux_amd64/share/man/man3/X509_LOOKUP_hash_dir.3 index e76578a..c8b1cc1 100755 --- a/linux_amd64/share/man/man3/X509_LOOKUP_hash_dir.3 +++ b/linux_amd64/share/man/man3/X509_LOOKUP_hash_dir.3 @@ -124,17 +124,13 @@ .\" ======================================================================== .\" .IX Title "X509_LOOKUP_HASH_DIR 3" -.TH X509_LOOKUP_HASH_DIR 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH X509_LOOKUP_HASH_DIR 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -X509_LOOKUP_hash_dir, X509_LOOKUP_file, X509_LOOKUP_store, -X509_load_cert_file, -X509_load_crl_file, -X509_load_cert_crl_file \- Default OpenSSL certificate -lookup methods +X509_LOOKUP_hash_dir, X509_LOOKUP_file, X509_load_cert_file, X509_load_crl_file, X509_load_cert_crl_file \- Default OpenSSL certificate lookup methods .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -142,7 +138,6 @@ lookup methods \& \& X509_LOOKUP_METHOD *X509_LOOKUP_hash_dir(void); \& X509_LOOKUP_METHOD *X509_LOOKUP_file(void); -\& X509_LOOKUP_METHOD *X509_LOOKUP_store(void); \& \& int X509_load_cert_file(X509_LOOKUP *ctx, const char *file, int type); \& int X509_load_crl_file(X509_LOOKUP *ctx, const char *file, int type); @@ -206,12 +201,12 @@ upon each lookup, so that newer CRLs are as soon as they appear in the directory. .PP The directory should contain one certificate or \s-1CRL\s0 per file in \s-1PEM\s0 format, -with a filename of the form \fIhash\fR.\fIN\fR for a certificate, or +with a file name of the form \fIhash\fR.\fIN\fR for a certificate, or \&\fIhash\fR.\fBr\fR\fIN\fR for a \s-1CRL\s0. The \fIhash\fR is the value returned by the \fIX509_NAME_hash\fR\|(3) function applied to the subject name for certificates or issuer name for CRLs. -The hash can also be obtained via the \fB\-hash\fR option of the -\&\fIopenssl\-x509\fR\|(1) or \fIopenssl\-crl\fR\|(1) commands. +The hash can also be obtained via the \fB\-hash\fR option of the \fIx509\fR\|(1) or +\&\fIcrl\fR\|(1) commands. .PP The .\fIN\fR or .\fBr\fR\fIN\fR suffix is a sequence number that starts at zero, and is incremented consecutively for each certificate or \s-1CRL\s0 with the same \fIhash\fR @@ -234,25 +229,12 @@ Note that the hash algorithm used for subject name hashing changed in OpenSSL 1.0.0, and all certificate stores have to be rehashed when moving from OpenSSL 0.9.8 to 1.0.0. .PP -OpenSSL includes a \fIopenssl\-rehash\fR\|(1) utility which creates symlinks with -hashed names for all files with \fI.pem\fR suffix in a given directory. -.SS "\s-1OSSL_STORE\s0 Method" -.IX Subsection "OSSL_STORE Method" -\&\fBX509_LOOKUP_store\fR is a method that allows access to any store of -certificates and CRLs through any loader supported by -\&\fIossl_store\fR\|(7). -It works with the help of URIs, which can be direct references to -certificates or CRLs, but can also be references to catalogues of such -objects (that behave like directories). -.PP -This method overlaps the \*(L"File Method\*(R" and \*(L"Hashed Directory Method\*(R" -because of the 'file:' scheme loader. -It does no caching of its own, but can use a caching \fIossl_store\fR\|(7) -loader, and therefore depends on the loader's capability. +OpenSSL includes a \fIrehash\fR\|(1) utility which creates symlinks with correct +hashed names for all files with .pem suffix in a given directory. .SH "RETURN VALUES" .IX Header "RETURN VALUES" -\&\fIX509_LOOKUP_hash_dir()\fR, \fIX509_LOOKUP_file()\fR and \fIX509_LOOKUP_store()\fR -always return a valid \fBX509_LOOKUP_METHOD\fR structure. +\&\fIX509_LOOKUP_hash_dir()\fR and \fIX509_LOOKUP_file()\fR always return a valid +\&\fBX509_LOOKUP_METHOD\fR structure. .PP \&\fIX509_load_cert_file()\fR, \fIX509_load_crl_file()\fR and \fIX509_load_cert_crl_file()\fR return the number of loaded objects or 0 on error. @@ -263,15 +245,11 @@ the number of loaded objects or 0 on error. \&\fIX509_store_add_lookup\fR\|(3), \&\fISSL_CTX_load_verify_locations\fR\|(3), \&\fIX509_LOOKUP_meth_new\fR\|(3), -\&\fIossl_store\fR\|(7) -.SH "HISTORY" -.IX Header "HISTORY" -\&\fBX509_LOOKUP_store\fR was added in OpenSSL 3.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2015\-2019 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2015\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/X509_LOOKUP_meth_free.3 b/linux_amd64/share/man/man3/X509_LOOKUP_meth_free.3 new file mode 120000 index 0000000..9e8d0de --- /dev/null +++ b/linux_amd64/share/man/man3/X509_LOOKUP_meth_free.3 @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_LOOKUP_meth_get_ctrl.3 b/linux_amd64/share/man/man3/X509_LOOKUP_meth_get_ctrl.3 new file mode 120000 index 0000000..9e8d0de --- /dev/null +++ b/linux_amd64/share/man/man3/X509_LOOKUP_meth_get_ctrl.3 @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_LOOKUP_meth_get_free.3 b/linux_amd64/share/man/man3/X509_LOOKUP_meth_get_free.3 new file mode 120000 index 0000000..9e8d0de --- /dev/null +++ b/linux_amd64/share/man/man3/X509_LOOKUP_meth_get_free.3 @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_LOOKUP_meth_get_get_by_alias.3 b/linux_amd64/share/man/man3/X509_LOOKUP_meth_get_get_by_alias.3 new file mode 120000 index 0000000..9e8d0de --- /dev/null +++ b/linux_amd64/share/man/man3/X509_LOOKUP_meth_get_get_by_alias.3 @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_LOOKUP_meth_get_get_by_fingerprint.3 b/linux_amd64/share/man/man3/X509_LOOKUP_meth_get_get_by_fingerprint.3 new file mode 120000 index 0000000..9e8d0de --- /dev/null +++ b/linux_amd64/share/man/man3/X509_LOOKUP_meth_get_get_by_fingerprint.3 @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_LOOKUP_meth_get_get_by_issuer_serial.3 b/linux_amd64/share/man/man3/X509_LOOKUP_meth_get_get_by_issuer_serial.3 new file mode 120000 index 0000000..9e8d0de --- /dev/null +++ b/linux_amd64/share/man/man3/X509_LOOKUP_meth_get_get_by_issuer_serial.3 @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_LOOKUP_meth_get_get_by_subject.3 b/linux_amd64/share/man/man3/X509_LOOKUP_meth_get_get_by_subject.3 new file mode 120000 index 0000000..9e8d0de --- /dev/null +++ b/linux_amd64/share/man/man3/X509_LOOKUP_meth_get_get_by_subject.3 @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_LOOKUP_meth_get_init.3 b/linux_amd64/share/man/man3/X509_LOOKUP_meth_get_init.3 new file mode 120000 index 0000000..9e8d0de --- /dev/null +++ b/linux_amd64/share/man/man3/X509_LOOKUP_meth_get_init.3 @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_LOOKUP_meth_get_new_item.3 b/linux_amd64/share/man/man3/X509_LOOKUP_meth_get_new_item.3 new file mode 120000 index 0000000..9e8d0de --- /dev/null +++ b/linux_amd64/share/man/man3/X509_LOOKUP_meth_get_new_item.3 @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_LOOKUP_meth_get_shutdown.3 b/linux_amd64/share/man/man3/X509_LOOKUP_meth_get_shutdown.3 new file mode 120000 index 0000000..9e8d0de --- /dev/null +++ b/linux_amd64/share/man/man3/X509_LOOKUP_meth_get_shutdown.3 @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_LOOKUP_meth_new.3 b/linux_amd64/share/man/man3/X509_LOOKUP_meth_new.3 index 4050c66..df6fb1e 100755 --- a/linux_amd64/share/man/man3/X509_LOOKUP_meth_new.3 +++ b/linux_amd64/share/man/man3/X509_LOOKUP_meth_new.3 @@ -124,36 +124,18 @@ .\" ======================================================================== .\" .IX Title "X509_LOOKUP_METH_NEW 3" -.TH X509_LOOKUP_METH_NEW 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH X509_LOOKUP_METH_NEW 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -X509_LOOKUP_METHOD, -X509_LOOKUP_meth_new, X509_LOOKUP_meth_free, X509_LOOKUP_meth_set_new_item, -X509_LOOKUP_meth_get_new_item, X509_LOOKUP_meth_set_free, -X509_LOOKUP_meth_get_free, X509_LOOKUP_meth_set_init, -X509_LOOKUP_meth_get_init, X509_LOOKUP_meth_set_shutdown, -X509_LOOKUP_meth_get_shutdown, -X509_LOOKUP_ctrl_fn, X509_LOOKUP_meth_set_ctrl, X509_LOOKUP_meth_get_ctrl, -X509_LOOKUP_get_by_subject_fn, X509_LOOKUP_meth_set_get_by_subject, -X509_LOOKUP_meth_get_get_by_subject, -X509_LOOKUP_get_by_issuer_serial_fn, X509_LOOKUP_meth_set_get_by_issuer_serial, -X509_LOOKUP_meth_get_get_by_issuer_serial, -X509_LOOKUP_get_by_fingerprint_fn, X509_LOOKUP_meth_set_get_by_fingerprint, -X509_LOOKUP_meth_get_get_by_fingerprint, -X509_LOOKUP_get_by_alias_fn, X509_LOOKUP_meth_set_get_by_alias, -X509_LOOKUP_meth_get_get_by_alias, -X509_OBJECT_set1_X509, X509_OBJECT_set1_X509_CRL -\&\- Routines to build up X509_LOOKUP methods +X509_LOOKUP_meth_new, X509_LOOKUP_meth_free, X509_LOOKUP_meth_set_new_item, X509_LOOKUP_meth_get_new_item, X509_LOOKUP_meth_set_free, X509_LOOKUP_meth_get_free, X509_LOOKUP_meth_set_init, X509_LOOKUP_meth_get_init, X509_LOOKUP_meth_set_shutdown, X509_LOOKUP_meth_get_shutdown, X509_LOOKUP_ctrl_fn, X509_LOOKUP_meth_set_ctrl, X509_LOOKUP_meth_get_ctrl, X509_LOOKUP_get_by_subject_fn, X509_LOOKUP_meth_set_get_by_subject, X509_LOOKUP_meth_get_get_by_subject, X509_LOOKUP_get_by_issuer_serial_fn, X509_LOOKUP_meth_set_get_by_issuer_serial, X509_LOOKUP_meth_get_get_by_issuer_serial, X509_LOOKUP_get_by_fingerprint_fn, X509_LOOKUP_meth_set_get_by_fingerprint, X509_LOOKUP_meth_get_get_by_fingerprint, X509_LOOKUP_get_by_alias_fn, X509_LOOKUP_meth_set_get_by_alias, X509_LOOKUP_meth_get_get_by_alias, X509_LOOKUP_set_method_data, X509_LOOKUP_get_method_data, X509_LOOKUP_get_store, X509_OBJECT_set1_X509, X509_OBJECT_set1_X509_CRL \&\- Routines to build up X509_LOOKUP methods .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include \& -\& typedef x509_lookup_method_st X509_LOOKUP_METHOD; -\& \& X509_LOOKUP_METHOD *X509_LOOKUP_meth_new(const char *name); \& void X509_LOOKUP_meth_free(X509_LOOKUP_METHOD *method); \& @@ -222,6 +204,11 @@ X509_OBJECT_set1_X509, X509_OBJECT_set1_X509_CRL \& X509_LOOKUP_get_by_alias_fn X509_LOOKUP_meth_get_get_by_alias( \& const X509_LOOKUP_METHOD *method); \& +\& int X509_LOOKUP_set_method_data(X509_LOOKUP *ctx, void *data); +\& void *X509_LOOKUP_get_method_data(const X509_LOOKUP *ctx); +\& +\& X509_STORE *X509_LOOKUP_get_store(const X509_LOOKUP *ctx); +\& \& int X509_OBJECT_set1_X509(X509_OBJECT *a, X509 *obj); \& int X509_OBJECT_set1_X509_CRL(X509_OBJECT *a, X509_CRL *obj); .Ve @@ -243,7 +230,7 @@ method. function that is called when an \fBX509_LOOKUP\fR object is created with \&\fIX509_LOOKUP_new()\fR. If an X509_LOOKUP_METHOD requires any per\-X509_LOOKUP specific data, the supplied new_item function should allocate this data and -invoke \fIX509_LOOKUP_set_method_data\fR\|(3). +invoke \fIX509_LOOKUP_set_method_data()\fR. .PP \&\fIX509_LOOKUP_get_free()\fR and \fIX509_LOOKUP_set_free()\fR get and set the function that is used to free any method data that was allocated and set from within @@ -251,7 +238,7 @@ new_item function. .PP \&\fIX509_LOOKUP_meth_get_init()\fR and \fIX509_LOOKUP_meth_set_init()\fR get and set the function that is used to initialize the method data that was set with -\&\fIX509_LOOKUP_set_method_data\fR\|(3) as part of the new_item routine. +\&\fIX509_LOOKUP_set_method_data()\fR as part of the new_item routine. .PP \&\fIX509_LOOKUP_meth_get_shutdown()\fR and \fIX509_LOOKUP_meth_set_shutdown()\fR get and set the function that is used to shut down the method data whose state was @@ -288,9 +275,9 @@ increments the result's reference count. .PP Any method data that was created as a result of the new_item function set by \fIX509_LOOKUP_meth_set_new_item()\fR can be accessed with -\&\fIX509_LOOKUP_get_method_data\fR\|(3). The \fBX509_STORE\fR object that owns the -X509_LOOKUP may be accessed with \fIX509_LOOKUP_get_store\fR\|(3). Successful -lookups should return 1, and unsuccessful lookups should return 0. +\&\fIX509_LOOKUP_get_method_data()\fR. The \fBX509_STORE\fR object that owns the +X509_LOOKUP may be accessed with \fIX509_LOOKUP_get_store()\fR. Successful lookups +should return 1, and unsuccessful lookups should return 0. .PP \&\fIX509_LOOKUP_get_get_by_subject()\fR, \fIX509_LOOKUP_get_get_by_issuer_serial()\fR, \&\fIX509_LOOKUP_get_get_by_fingerprint()\fR, \fIX509_LOOKUP_get_get_by_alias()\fR retrieve @@ -309,9 +296,9 @@ pointers. The functions described here were added in OpenSSL 1.1.0i. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2018\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/X509_LOOKUP_meth_set_ctrl.3 b/linux_amd64/share/man/man3/X509_LOOKUP_meth_set_ctrl.3 new file mode 120000 index 0000000..9e8d0de --- /dev/null +++ b/linux_amd64/share/man/man3/X509_LOOKUP_meth_set_ctrl.3 @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_LOOKUP_meth_set_free.3 b/linux_amd64/share/man/man3/X509_LOOKUP_meth_set_free.3 new file mode 120000 index 0000000..9e8d0de --- /dev/null +++ b/linux_amd64/share/man/man3/X509_LOOKUP_meth_set_free.3 @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_LOOKUP_meth_set_get_by_alias.3 b/linux_amd64/share/man/man3/X509_LOOKUP_meth_set_get_by_alias.3 new file mode 120000 index 0000000..9e8d0de --- /dev/null +++ b/linux_amd64/share/man/man3/X509_LOOKUP_meth_set_get_by_alias.3 @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_LOOKUP_meth_set_get_by_fingerprint.3 b/linux_amd64/share/man/man3/X509_LOOKUP_meth_set_get_by_fingerprint.3 new file mode 120000 index 0000000..9e8d0de --- /dev/null +++ b/linux_amd64/share/man/man3/X509_LOOKUP_meth_set_get_by_fingerprint.3 @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_LOOKUP_meth_set_get_by_issuer_serial.3 b/linux_amd64/share/man/man3/X509_LOOKUP_meth_set_get_by_issuer_serial.3 new file mode 120000 index 0000000..9e8d0de --- /dev/null +++ b/linux_amd64/share/man/man3/X509_LOOKUP_meth_set_get_by_issuer_serial.3 @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_LOOKUP_meth_set_get_by_subject.3 b/linux_amd64/share/man/man3/X509_LOOKUP_meth_set_get_by_subject.3 new file mode 120000 index 0000000..9e8d0de --- /dev/null +++ b/linux_amd64/share/man/man3/X509_LOOKUP_meth_set_get_by_subject.3 @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_LOOKUP_meth_set_init.3 b/linux_amd64/share/man/man3/X509_LOOKUP_meth_set_init.3 new file mode 120000 index 0000000..9e8d0de --- /dev/null +++ b/linux_amd64/share/man/man3/X509_LOOKUP_meth_set_init.3 @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_LOOKUP_meth_set_new_item.3 b/linux_amd64/share/man/man3/X509_LOOKUP_meth_set_new_item.3 new file mode 120000 index 0000000..9e8d0de --- /dev/null +++ b/linux_amd64/share/man/man3/X509_LOOKUP_meth_set_new_item.3 @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_LOOKUP_meth_set_shutdown.3 b/linux_amd64/share/man/man3/X509_LOOKUP_meth_set_shutdown.3 new file mode 120000 index 0000000..9e8d0de --- /dev/null +++ b/linux_amd64/share/man/man3/X509_LOOKUP_meth_set_shutdown.3 @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_LOOKUP_set_method_data.3 b/linux_amd64/share/man/man3/X509_LOOKUP_set_method_data.3 new file mode 120000 index 0000000..9e8d0de --- /dev/null +++ b/linux_amd64/share/man/man3/X509_LOOKUP_set_method_data.3 @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_NAME_ENTRY_create_by_NID.3 b/linux_amd64/share/man/man3/X509_NAME_ENTRY_create_by_NID.3 new file mode 120000 index 0000000..fd52013 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_NAME_ENTRY_create_by_NID.3 @@ -0,0 +1 @@ +X509_NAME_ENTRY_get_object.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_NAME_ENTRY_create_by_OBJ.3 b/linux_amd64/share/man/man3/X509_NAME_ENTRY_create_by_OBJ.3 new file mode 120000 index 0000000..fd52013 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_NAME_ENTRY_create_by_OBJ.3 @@ -0,0 +1 @@ +X509_NAME_ENTRY_get_object.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_NAME_ENTRY_create_by_txt.3 b/linux_amd64/share/man/man3/X509_NAME_ENTRY_create_by_txt.3 new file mode 120000 index 0000000..fd52013 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_NAME_ENTRY_create_by_txt.3 @@ -0,0 +1 @@ +X509_NAME_ENTRY_get_object.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_NAME_ENTRY_dup.3 b/linux_amd64/share/man/man3/X509_NAME_ENTRY_dup.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_NAME_ENTRY_dup.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_NAME_ENTRY_free.3 b/linux_amd64/share/man/man3/X509_NAME_ENTRY_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_NAME_ENTRY_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_NAME_ENTRY_get_data.3 b/linux_amd64/share/man/man3/X509_NAME_ENTRY_get_data.3 new file mode 120000 index 0000000..fd52013 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_NAME_ENTRY_get_data.3 @@ -0,0 +1 @@ +X509_NAME_ENTRY_get_object.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_NAME_ENTRY_get_object.3 b/linux_amd64/share/man/man3/X509_NAME_ENTRY_get_object.3 index 7b1dbf2..edeef92 100755 --- a/linux_amd64/share/man/man3/X509_NAME_ENTRY_get_object.3 +++ b/linux_amd64/share/man/man3/X509_NAME_ENTRY_get_object.3 @@ -124,16 +124,13 @@ .\" ======================================================================== .\" .IX Title "X509_NAME_ENTRY_GET_OBJECT 3" -.TH X509_NAME_ENTRY_GET_OBJECT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH X509_NAME_ENTRY_GET_OBJECT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -X509_NAME_ENTRY_get_object, X509_NAME_ENTRY_get_data, -X509_NAME_ENTRY_set_object, X509_NAME_ENTRY_set_data, -X509_NAME_ENTRY_create_by_txt, X509_NAME_ENTRY_create_by_NID, -X509_NAME_ENTRY_create_by_OBJ \- X509_NAME_ENTRY utility functions +X509_NAME_ENTRY_get_object, X509_NAME_ENTRY_get_data, X509_NAME_ENTRY_set_object, X509_NAME_ENTRY_set_data, X509_NAME_ENTRY_create_by_txt, X509_NAME_ENTRY_create_by_NID, X509_NAME_ENTRY_create_by_OBJ \- X509_NAME_ENTRY utility functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -212,7 +209,7 @@ or 0 on error. .IX Header "COPYRIGHT" Copyright 2002\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/X509_NAME_ENTRY_new.3 b/linux_amd64/share/man/man3/X509_NAME_ENTRY_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_NAME_ENTRY_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_NAME_ENTRY_set_data.3 b/linux_amd64/share/man/man3/X509_NAME_ENTRY_set_data.3 new file mode 120000 index 0000000..fd52013 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_NAME_ENTRY_set_data.3 @@ -0,0 +1 @@ +X509_NAME_ENTRY_get_object.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_NAME_ENTRY_set_object.3 b/linux_amd64/share/man/man3/X509_NAME_ENTRY_set_object.3 new file mode 120000 index 0000000..fd52013 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_NAME_ENTRY_set_object.3 @@ -0,0 +1 @@ +X509_NAME_ENTRY_get_object.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_NAME_add_entry.3 b/linux_amd64/share/man/man3/X509_NAME_add_entry.3 new file mode 120000 index 0000000..d7c55eb --- /dev/null +++ b/linux_amd64/share/man/man3/X509_NAME_add_entry.3 @@ -0,0 +1 @@ +X509_NAME_add_entry_by_txt.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_NAME_add_entry_by_NID.3 b/linux_amd64/share/man/man3/X509_NAME_add_entry_by_NID.3 new file mode 120000 index 0000000..d7c55eb --- /dev/null +++ b/linux_amd64/share/man/man3/X509_NAME_add_entry_by_NID.3 @@ -0,0 +1 @@ +X509_NAME_add_entry_by_txt.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_NAME_add_entry_by_OBJ.3 b/linux_amd64/share/man/man3/X509_NAME_add_entry_by_OBJ.3 new file mode 120000 index 0000000..d7c55eb --- /dev/null +++ b/linux_amd64/share/man/man3/X509_NAME_add_entry_by_OBJ.3 @@ -0,0 +1 @@ +X509_NAME_add_entry_by_txt.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_NAME_add_entry_by_txt.3 b/linux_amd64/share/man/man3/X509_NAME_add_entry_by_txt.3 index 845558a..930cf70 100755 --- a/linux_amd64/share/man/man3/X509_NAME_add_entry_by_txt.3 +++ b/linux_amd64/share/man/man3/X509_NAME_add_entry_by_txt.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "X509_NAME_ADD_ENTRY_BY_TXT 3" -.TH X509_NAME_ADD_ENTRY_BY_TXT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH X509_NAME_ADD_ENTRY_BY_TXT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -X509_NAME_add_entry_by_txt, X509_NAME_add_entry_by_OBJ, X509_NAME_add_entry_by_NID, -X509_NAME_add_entry, X509_NAME_delete_entry \- X509_NAME modification functions +X509_NAME_add_entry_by_txt, X509_NAME_add_entry_by_OBJ, X509_NAME_add_entry_by_NID, X509_NAME_add_entry, X509_NAME_delete_entry \- X509_NAME modification functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -241,9 +240,9 @@ can result in invalid field types its use is strongly discouraged. \&\fIERR_get_error\fR\|(3), \fId2i_X509_NAME\fR\|(3) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2002\-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2002\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/X509_NAME_cmp.3 b/linux_amd64/share/man/man3/X509_NAME_cmp.3 new file mode 120000 index 0000000..1e056ad --- /dev/null +++ b/linux_amd64/share/man/man3/X509_NAME_cmp.3 @@ -0,0 +1 @@ +X509_cmp.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_NAME_delete_entry.3 b/linux_amd64/share/man/man3/X509_NAME_delete_entry.3 new file mode 120000 index 0000000..d7c55eb --- /dev/null +++ b/linux_amd64/share/man/man3/X509_NAME_delete_entry.3 @@ -0,0 +1 @@ +X509_NAME_add_entry_by_txt.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_NAME_digest.3 b/linux_amd64/share/man/man3/X509_NAME_digest.3 new file mode 120000 index 0000000..f86b06d --- /dev/null +++ b/linux_amd64/share/man/man3/X509_NAME_digest.3 @@ -0,0 +1 @@ +X509_digest.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_NAME_dup.3 b/linux_amd64/share/man/man3/X509_NAME_dup.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_NAME_dup.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_NAME_entry_count.3 b/linux_amd64/share/man/man3/X509_NAME_entry_count.3 new file mode 120000 index 0000000..828b477 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_NAME_entry_count.3 @@ -0,0 +1 @@ +X509_NAME_get_index_by_NID.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_NAME_free.3 b/linux_amd64/share/man/man3/X509_NAME_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_NAME_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_NAME_get0_der.3 b/linux_amd64/share/man/man3/X509_NAME_get0_der.3 index 9ad510b..d981c57 100755 --- a/linux_amd64/share/man/man3/X509_NAME_get0_der.3 +++ b/linux_amd64/share/man/man3/X509_NAME_get0_der.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "X509_NAME_GET0_DER 3" -.TH X509_NAME_GET0_DER 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH X509_NAME_GET0_DER 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -156,7 +156,7 @@ occurred. .IX Header "COPYRIGHT" Copyright 2002\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/X509_NAME_get_entry.3 b/linux_amd64/share/man/man3/X509_NAME_get_entry.3 new file mode 120000 index 0000000..828b477 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_NAME_get_entry.3 @@ -0,0 +1 @@ +X509_NAME_get_index_by_NID.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_NAME_get_index_by_NID.3 b/linux_amd64/share/man/man3/X509_NAME_get_index_by_NID.3 index c75e8d4..69372ff 100755 --- a/linux_amd64/share/man/man3/X509_NAME_get_index_by_NID.3 +++ b/linux_amd64/share/man/man3/X509_NAME_get_index_by_NID.3 @@ -124,15 +124,13 @@ .\" ======================================================================== .\" .IX Title "X509_NAME_GET_INDEX_BY_NID 3" -.TH X509_NAME_GET_INDEX_BY_NID 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH X509_NAME_GET_INDEX_BY_NID 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -X509_NAME_get_index_by_NID, X509_NAME_get_index_by_OBJ, X509_NAME_get_entry, -X509_NAME_entry_count, X509_NAME_get_text_by_NID, X509_NAME_get_text_by_OBJ \- -X509_NAME lookup and enumeration functions +X509_NAME_get_index_by_NID, X509_NAME_get_index_by_OBJ, X509_NAME_get_entry, X509_NAME_entry_count, X509_NAME_get_text_by_NID, X509_NAME_get_text_by_OBJ \- X509_NAME lookup and enumeration functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -239,9 +237,9 @@ Process all commonName entries: \&\fIERR_get_error\fR\|(3), \fId2i_X509_NAME\fR\|(3) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2002\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2002\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/X509_NAME_get_index_by_OBJ.3 b/linux_amd64/share/man/man3/X509_NAME_get_index_by_OBJ.3 new file mode 120000 index 0000000..828b477 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_NAME_get_index_by_OBJ.3 @@ -0,0 +1 @@ +X509_NAME_get_index_by_NID.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_NAME_get_text_by_NID.3 b/linux_amd64/share/man/man3/X509_NAME_get_text_by_NID.3 new file mode 120000 index 0000000..828b477 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_NAME_get_text_by_NID.3 @@ -0,0 +1 @@ +X509_NAME_get_index_by_NID.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_NAME_get_text_by_OBJ.3 b/linux_amd64/share/man/man3/X509_NAME_get_text_by_OBJ.3 new file mode 120000 index 0000000..828b477 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_NAME_get_text_by_OBJ.3 @@ -0,0 +1 @@ +X509_NAME_get_index_by_NID.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_NAME_new.3 b/linux_amd64/share/man/man3/X509_NAME_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_NAME_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_NAME_oneline.3 b/linux_amd64/share/man/man3/X509_NAME_oneline.3 new file mode 120000 index 0000000..6f48604 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_NAME_oneline.3 @@ -0,0 +1 @@ +X509_NAME_print_ex.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_NAME_print.3 b/linux_amd64/share/man/man3/X509_NAME_print.3 new file mode 120000 index 0000000..6f48604 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_NAME_print.3 @@ -0,0 +1 @@ +X509_NAME_print_ex.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_NAME_print_ex.3 b/linux_amd64/share/man/man3/X509_NAME_print_ex.3 index 32a31b9..cfd515e 100755 --- a/linux_amd64/share/man/man3/X509_NAME_print_ex.3 +++ b/linux_amd64/share/man/man3/X509_NAME_print_ex.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "X509_NAME_PRINT_EX 3" -.TH X509_NAME_PRINT_EX 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH X509_NAME_PRINT_EX 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -X509_NAME_print_ex, X509_NAME_print_ex_fp, X509_NAME_print, -X509_NAME_oneline \- X509_NAME printing routines +X509_NAME_print_ex, X509_NAME_print_ex_fp, X509_NAME_print, X509_NAME_oneline \- X509_NAME printing routines .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -213,13 +212,13 @@ In addition a number options can be set for commonly used formats. .PP \&\fB\s-1XN_FLAG_RFC2253\s0\fR sets options which produce an output compatible with \s-1RFC2253\s0 it is equivalent to: - \f(CW\*(C`ASN1_STRFLGS_RFC2253 | XN_FLAG_SEP_COMMA_PLUS | XN_FLAG_DN_REV | XN_FLAG_FN_SN | XN_FLAG_DUMP_UNKNOWN_FIELDS\*(C'\fR + \fB\s-1ASN1_STRFLGS_RFC2253\s0 | \s-1XN_FLAG_SEP_COMMA_PLUS\s0 | \s-1XN_FLAG_DN_REV\s0 | \s-1XN_FLAG_FN_SN\s0 | \s-1XN_FLAG_DUMP_UNKNOWN_FIELDS\s0\fR .PP \&\fB\s-1XN_FLAG_ONELINE\s0\fR is a more readable one line format which is the same as: - \f(CW\*(C`ASN1_STRFLGS_RFC2253 | ASN1_STRFLGS_ESC_QUOTE | XN_FLAG_SEP_CPLUS_SPC | XN_FLAG_SPC_EQ | XN_FLAG_FN_SN\*(C'\fR + \fB\s-1ASN1_STRFLGS_RFC2253\s0 | \s-1ASN1_STRFLGS_ESC_QUOTE\s0 | \s-1XN_FLAG_SEP_CPLUS_SPC\s0 | \s-1XN_FLAG_SPC_EQ\s0 | \s-1XN_FLAG_FN_SN\s0\fR .PP \&\fB\s-1XN_FLAG_MULTILINE\s0\fR is a multiline format which is the same as: - \f(CW\*(C`ASN1_STRFLGS_ESC_CTRL | ASN1_STRFLGS_ESC_MSB | XN_FLAG_SEP_MULTILINE | XN_FLAG_SPC_EQ | XN_FLAG_FN_LN | XN_FLAG_FN_ALIGN\*(C'\fR + \fB\s-1ASN1_STRFLGS_ESC_CTRL\s0 | \s-1ASN1_STRFLGS_ESC_MSB\s0 | \s-1XN_FLAG_SEP_MULTILINE\s0 | \s-1XN_FLAG_SPC_EQ\s0 | \s-1XN_FLAG_FN_LN\s0 | \s-1XN_FLAG_FN_ALIGN\s0\fR .PP \&\fB\s-1XN_FLAG_COMPAT\s0\fR uses a format identical to \fIX509_NAME_print()\fR: in fact it calls \fIX509_NAME_print()\fR internally. .SH "RETURN VALUES" @@ -238,7 +237,7 @@ it returns \-1 on error or other values on success. .IX Header "COPYRIGHT" Copyright 2002\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/X509_NAME_print_ex_fp.3 b/linux_amd64/share/man/man3/X509_NAME_print_ex_fp.3 new file mode 120000 index 0000000..6f48604 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_NAME_print_ex_fp.3 @@ -0,0 +1 @@ +X509_NAME_print_ex.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_OBJECT_set1_X509.3 b/linux_amd64/share/man/man3/X509_OBJECT_set1_X509.3 new file mode 120000 index 0000000..9e8d0de --- /dev/null +++ b/linux_amd64/share/man/man3/X509_OBJECT_set1_X509.3 @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_OBJECT_set1_X509_CRL.3 b/linux_amd64/share/man/man3/X509_OBJECT_set1_X509_CRL.3 new file mode 120000 index 0000000..9e8d0de --- /dev/null +++ b/linux_amd64/share/man/man3/X509_OBJECT_set1_X509_CRL.3 @@ -0,0 +1 @@ +X509_LOOKUP_meth_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_PUBKEY_free.3 b/linux_amd64/share/man/man3/X509_PUBKEY_free.3 new file mode 120000 index 0000000..90e4e95 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_PUBKEY_free.3 @@ -0,0 +1 @@ +X509_PUBKEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_PUBKEY_get.3 b/linux_amd64/share/man/man3/X509_PUBKEY_get.3 new file mode 120000 index 0000000..90e4e95 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_PUBKEY_get.3 @@ -0,0 +1 @@ +X509_PUBKEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_PUBKEY_get0.3 b/linux_amd64/share/man/man3/X509_PUBKEY_get0.3 new file mode 120000 index 0000000..90e4e95 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_PUBKEY_get0.3 @@ -0,0 +1 @@ +X509_PUBKEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_PUBKEY_get0_param.3 b/linux_amd64/share/man/man3/X509_PUBKEY_get0_param.3 new file mode 120000 index 0000000..90e4e95 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_PUBKEY_get0_param.3 @@ -0,0 +1 @@ +X509_PUBKEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_PUBKEY_new.3 b/linux_amd64/share/man/man3/X509_PUBKEY_new.3 index 64bc491..940f397 100755 --- a/linux_amd64/share/man/man3/X509_PUBKEY_new.3 +++ b/linux_amd64/share/man/man3/X509_PUBKEY_new.3 @@ -124,17 +124,13 @@ .\" ======================================================================== .\" .IX Title "X509_PUBKEY_NEW 3" -.TH X509_PUBKEY_NEW 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH X509_PUBKEY_NEW 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -X509_PUBKEY_new, X509_PUBKEY_free, X509_PUBKEY_dup, -X509_PUBKEY_set, X509_PUBKEY_get0, X509_PUBKEY_get, -d2i_PUBKEY, i2d_PUBKEY, d2i_PUBKEY_bio, d2i_PUBKEY_fp, -i2d_PUBKEY_fp, i2d_PUBKEY_bio, X509_PUBKEY_set0_param, -X509_PUBKEY_get0_param \- SubjectPublicKeyInfo public key functions +X509_PUBKEY_new, X509_PUBKEY_free, X509_PUBKEY_set, X509_PUBKEY_get0, X509_PUBKEY_get, d2i_PUBKEY, i2d_PUBKEY, d2i_PUBKEY_bio, d2i_PUBKEY_fp, i2d_PUBKEY_fp, i2d_PUBKEY_bio, X509_PUBKEY_set0_param, X509_PUBKEY_get0_param \- SubjectPublicKeyInfo public key functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -142,20 +138,19 @@ X509_PUBKEY_get0_param \- SubjectPublicKeyInfo public key functions \& \& X509_PUBKEY *X509_PUBKEY_new(void); \& void X509_PUBKEY_free(X509_PUBKEY *a); -\& X509_PUBKEY *X509_PUBKEY_dup(const X509_PUBKEY *a); \& \& int X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey); \& EVP_PKEY *X509_PUBKEY_get0(X509_PUBKEY *key); \& EVP_PKEY *X509_PUBKEY_get(X509_PUBKEY *key); \& \& EVP_PKEY *d2i_PUBKEY(EVP_PKEY **a, const unsigned char **pp, long length); -\& int i2d_PUBKEY(const EVP_PKEY *a, unsigned char **pp); +\& int i2d_PUBKEY(EVP_PKEY *a, unsigned char **pp); \& \& EVP_PKEY *d2i_PUBKEY_bio(BIO *bp, EVP_PKEY **a); \& EVP_PKEY *d2i_PUBKEY_fp(FILE *fp, EVP_PKEY **a); \& -\& int i2d_PUBKEY_fp(const FILE *fp, EVP_PKEY *pkey); -\& int i2d_PUBKEY_bio(BIO *bp, const EVP_PKEY *pkey); +\& int i2d_PUBKEY_fp(FILE *fp, EVP_PKEY *pkey); +\& int i2d_PUBKEY_bio(BIO *bp, EVP_PKEY *pkey); \& \& int X509_PUBKEY_set0_param(X509_PUBKEY *pub, ASN1_OBJECT *aobj, \& int ptype, void *pval, @@ -238,7 +233,7 @@ return 1 for success and 0 if an error occurred. .IX Header "COPYRIGHT" Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/X509_PUBKEY_set.3 b/linux_amd64/share/man/man3/X509_PUBKEY_set.3 new file mode 120000 index 0000000..90e4e95 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_PUBKEY_set.3 @@ -0,0 +1 @@ +X509_PUBKEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_PUBKEY_set0_param.3 b/linux_amd64/share/man/man3/X509_PUBKEY_set0_param.3 new file mode 120000 index 0000000..90e4e95 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_PUBKEY_set0_param.3 @@ -0,0 +1 @@ +X509_PUBKEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_REQ_INFO_free.3 b/linux_amd64/share/man/man3/X509_REQ_INFO_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_REQ_INFO_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_REQ_INFO_new.3 b/linux_amd64/share/man/man3/X509_REQ_INFO_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_REQ_INFO_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_REQ_check_private_key.3 b/linux_amd64/share/man/man3/X509_REQ_check_private_key.3 new file mode 120000 index 0000000..9853848 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_REQ_check_private_key.3 @@ -0,0 +1 @@ +X509_check_private_key.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_REQ_digest.3 b/linux_amd64/share/man/man3/X509_REQ_digest.3 new file mode 120000 index 0000000..f86b06d --- /dev/null +++ b/linux_amd64/share/man/man3/X509_REQ_digest.3 @@ -0,0 +1 @@ +X509_digest.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_REQ_dup.3 b/linux_amd64/share/man/man3/X509_REQ_dup.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_REQ_dup.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_REQ_free.3 b/linux_amd64/share/man/man3/X509_REQ_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_REQ_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_REQ_get0_pubkey.3 b/linux_amd64/share/man/man3/X509_REQ_get0_pubkey.3 new file mode 120000 index 0000000..b966548 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_REQ_get0_pubkey.3 @@ -0,0 +1 @@ +X509_get_pubkey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_REQ_get0_signature.3 b/linux_amd64/share/man/man3/X509_REQ_get0_signature.3 new file mode 120000 index 0000000..ea66776 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_REQ_get0_signature.3 @@ -0,0 +1 @@ +X509_get0_signature.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_REQ_get_X509_PUBKEY.3 b/linux_amd64/share/man/man3/X509_REQ_get_X509_PUBKEY.3 new file mode 120000 index 0000000..b966548 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_REQ_get_X509_PUBKEY.3 @@ -0,0 +1 @@ +X509_get_pubkey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_REQ_get_pubkey.3 b/linux_amd64/share/man/man3/X509_REQ_get_pubkey.3 new file mode 120000 index 0000000..b966548 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_REQ_get_pubkey.3 @@ -0,0 +1 @@ +X509_get_pubkey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_REQ_get_signature_nid.3 b/linux_amd64/share/man/man3/X509_REQ_get_signature_nid.3 new file mode 120000 index 0000000..ea66776 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_REQ_get_signature_nid.3 @@ -0,0 +1 @@ +X509_get0_signature.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_REQ_get_subject_name.3 b/linux_amd64/share/man/man3/X509_REQ_get_subject_name.3 new file mode 120000 index 0000000..a721d5b --- /dev/null +++ b/linux_amd64/share/man/man3/X509_REQ_get_subject_name.3 @@ -0,0 +1 @@ +X509_get_subject_name.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_REQ_get_version.3 b/linux_amd64/share/man/man3/X509_REQ_get_version.3 new file mode 120000 index 0000000..2ff8595 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_REQ_get_version.3 @@ -0,0 +1 @@ +X509_get_version.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_REQ_new.3 b/linux_amd64/share/man/man3/X509_REQ_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_REQ_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_REQ_set_pubkey.3 b/linux_amd64/share/man/man3/X509_REQ_set_pubkey.3 new file mode 120000 index 0000000..b966548 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_REQ_set_pubkey.3 @@ -0,0 +1 @@ +X509_get_pubkey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_REQ_set_subject_name.3 b/linux_amd64/share/man/man3/X509_REQ_set_subject_name.3 new file mode 120000 index 0000000..a721d5b --- /dev/null +++ b/linux_amd64/share/man/man3/X509_REQ_set_subject_name.3 @@ -0,0 +1 @@ +X509_get_subject_name.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_REQ_set_version.3 b/linux_amd64/share/man/man3/X509_REQ_set_version.3 new file mode 120000 index 0000000..2ff8595 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_REQ_set_version.3 @@ -0,0 +1 @@ +X509_get_version.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_REQ_sign.3 b/linux_amd64/share/man/man3/X509_REQ_sign.3 new file mode 120000 index 0000000..0be15bd --- /dev/null +++ b/linux_amd64/share/man/man3/X509_REQ_sign.3 @@ -0,0 +1 @@ +X509_sign.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_REQ_sign_ctx.3 b/linux_amd64/share/man/man3/X509_REQ_sign_ctx.3 new file mode 120000 index 0000000..0be15bd --- /dev/null +++ b/linux_amd64/share/man/man3/X509_REQ_sign_ctx.3 @@ -0,0 +1 @@ +X509_sign.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_REQ_verify.3 b/linux_amd64/share/man/man3/X509_REQ_verify.3 new file mode 120000 index 0000000..0be15bd --- /dev/null +++ b/linux_amd64/share/man/man3/X509_REQ_verify.3 @@ -0,0 +1 @@ +X509_sign.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_REVOKED_add1_ext_i2d.3 b/linux_amd64/share/man/man3/X509_REVOKED_add1_ext_i2d.3 new file mode 120000 index 0000000..5b4a5e5 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_REVOKED_add1_ext_i2d.3 @@ -0,0 +1 @@ +X509V3_get_d2i.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_REVOKED_add_ext.3 b/linux_amd64/share/man/man3/X509_REVOKED_add_ext.3 new file mode 120000 index 0000000..45af049 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_REVOKED_add_ext.3 @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_REVOKED_delete_ext.3 b/linux_amd64/share/man/man3/X509_REVOKED_delete_ext.3 new file mode 120000 index 0000000..45af049 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_REVOKED_delete_ext.3 @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_REVOKED_dup.3 b/linux_amd64/share/man/man3/X509_REVOKED_dup.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_REVOKED_dup.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_REVOKED_free.3 b/linux_amd64/share/man/man3/X509_REVOKED_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_REVOKED_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_REVOKED_get0_extensions.3 b/linux_amd64/share/man/man3/X509_REVOKED_get0_extensions.3 new file mode 120000 index 0000000..5b4a5e5 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_REVOKED_get0_extensions.3 @@ -0,0 +1 @@ +X509V3_get_d2i.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_REVOKED_get0_revocationDate.3 b/linux_amd64/share/man/man3/X509_REVOKED_get0_revocationDate.3 new file mode 120000 index 0000000..cf787f2 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_REVOKED_get0_revocationDate.3 @@ -0,0 +1 @@ +X509_CRL_get0_by_serial.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_REVOKED_get0_serialNumber.3 b/linux_amd64/share/man/man3/X509_REVOKED_get0_serialNumber.3 new file mode 120000 index 0000000..cf787f2 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_REVOKED_get0_serialNumber.3 @@ -0,0 +1 @@ +X509_CRL_get0_by_serial.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_REVOKED_get_ext.3 b/linux_amd64/share/man/man3/X509_REVOKED_get_ext.3 new file mode 120000 index 0000000..45af049 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_REVOKED_get_ext.3 @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_REVOKED_get_ext_by_NID.3 b/linux_amd64/share/man/man3/X509_REVOKED_get_ext_by_NID.3 new file mode 120000 index 0000000..45af049 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_REVOKED_get_ext_by_NID.3 @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_REVOKED_get_ext_by_OBJ.3 b/linux_amd64/share/man/man3/X509_REVOKED_get_ext_by_OBJ.3 new file mode 120000 index 0000000..45af049 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_REVOKED_get_ext_by_OBJ.3 @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_REVOKED_get_ext_by_critical.3 b/linux_amd64/share/man/man3/X509_REVOKED_get_ext_by_critical.3 new file mode 120000 index 0000000..45af049 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_REVOKED_get_ext_by_critical.3 @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_REVOKED_get_ext_count.3 b/linux_amd64/share/man/man3/X509_REVOKED_get_ext_count.3 new file mode 120000 index 0000000..45af049 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_REVOKED_get_ext_count.3 @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_REVOKED_get_ext_d2i.3 b/linux_amd64/share/man/man3/X509_REVOKED_get_ext_d2i.3 new file mode 120000 index 0000000..5b4a5e5 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_REVOKED_get_ext_d2i.3 @@ -0,0 +1 @@ +X509V3_get_d2i.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_REVOKED_new.3 b/linux_amd64/share/man/man3/X509_REVOKED_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_REVOKED_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_REVOKED_set_revocationDate.3 b/linux_amd64/share/man/man3/X509_REVOKED_set_revocationDate.3 new file mode 120000 index 0000000..cf787f2 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_REVOKED_set_revocationDate.3 @@ -0,0 +1 @@ +X509_CRL_get0_by_serial.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_REVOKED_set_serialNumber.3 b/linux_amd64/share/man/man3/X509_REVOKED_set_serialNumber.3 new file mode 120000 index 0000000..cf787f2 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_REVOKED_set_serialNumber.3 @@ -0,0 +1 @@ +X509_CRL_get0_by_serial.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_SIG_INFO_get.3 b/linux_amd64/share/man/man3/X509_SIG_INFO_get.3 new file mode 120000 index 0000000..ea66776 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_SIG_INFO_get.3 @@ -0,0 +1 @@ +X509_get0_signature.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_SIG_INFO_set.3 b/linux_amd64/share/man/man3/X509_SIG_INFO_set.3 new file mode 120000 index 0000000..ea66776 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_SIG_INFO_set.3 @@ -0,0 +1 @@ +X509_get0_signature.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_SIG_free.3 b/linux_amd64/share/man/man3/X509_SIG_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_SIG_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_SIG_get0.3 b/linux_amd64/share/man/man3/X509_SIG_get0.3 index cc9a0b8..230b943 100755 --- a/linux_amd64/share/man/man3/X509_SIG_get0.3 +++ b/linux_amd64/share/man/man3/X509_SIG_get0.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "X509_SIG_GET0 3" -.TH X509_SIG_GET0 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH X509_SIG_GET0 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -157,7 +157,7 @@ for example to initialise them. .IX Header "COPYRIGHT" Copyright 2002\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/X509_SIG_getm.3 b/linux_amd64/share/man/man3/X509_SIG_getm.3 new file mode 120000 index 0000000..041fc74 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_SIG_getm.3 @@ -0,0 +1 @@ +X509_SIG_get0.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_SIG_new.3 b/linux_amd64/share/man/man3/X509_SIG_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_SIG_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_cert_crl_fn.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_cert_crl_fn.3 new file mode 120000 index 0000000..ef0a178 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_cert_crl_fn.3 @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_check_crl_fn.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_check_crl_fn.3 new file mode 120000 index 0000000..ef0a178 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_check_crl_fn.3 @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_check_issued_fn.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_check_issued_fn.3 new file mode 120000 index 0000000..ef0a178 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_check_issued_fn.3 @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_check_policy_fn.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_check_policy_fn.3 new file mode 120000 index 0000000..ef0a178 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_check_policy_fn.3 @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_check_revocation_fn.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_check_revocation_fn.3 new file mode 120000 index 0000000..ef0a178 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_check_revocation_fn.3 @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_cleanup.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_cleanup.3 new file mode 120000 index 0000000..ed2760e --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_cleanup.3 @@ -0,0 +1 @@ +X509_STORE_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_cleanup_fn.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_cleanup_fn.3 new file mode 120000 index 0000000..ef0a178 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_cleanup_fn.3 @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_free.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_free.3 new file mode 120000 index 0000000..ed2760e --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_free.3 @@ -0,0 +1 @@ +X509_STORE_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_get0_cert.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_get0_cert.3 new file mode 120000 index 0000000..7fbd299 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_get0_cert.3 @@ -0,0 +1 @@ +X509_STORE_CTX_get_error.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_get0_chain.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_get0_chain.3 new file mode 120000 index 0000000..ed2760e --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_get0_chain.3 @@ -0,0 +1 @@ +X509_STORE_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_get0_param.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_get0_param.3 new file mode 120000 index 0000000..ed2760e --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_get0_param.3 @@ -0,0 +1 @@ +X509_STORE_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_get0_untrusted.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_get0_untrusted.3 new file mode 120000 index 0000000..ed2760e --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_get0_untrusted.3 @@ -0,0 +1 @@ +X509_STORE_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_get1_chain.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_get1_chain.3 new file mode 120000 index 0000000..7fbd299 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_get1_chain.3 @@ -0,0 +1 @@ +X509_STORE_CTX_get_error.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_get_cert_crl.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_get_cert_crl.3 new file mode 120000 index 0000000..424d994 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_get_cert_crl.3 @@ -0,0 +1 @@ +X509_STORE_CTX_set_verify_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_get_check_crl.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_get_check_crl.3 new file mode 120000 index 0000000..424d994 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_get_check_crl.3 @@ -0,0 +1 @@ +X509_STORE_CTX_set_verify_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_get_check_issued.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_get_check_issued.3 new file mode 120000 index 0000000..424d994 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_get_check_issued.3 @@ -0,0 +1 @@ +X509_STORE_CTX_set_verify_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_get_check_policy.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_get_check_policy.3 new file mode 120000 index 0000000..424d994 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_get_check_policy.3 @@ -0,0 +1 @@ +X509_STORE_CTX_set_verify_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_get_check_revocation.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_get_check_revocation.3 new file mode 120000 index 0000000..424d994 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_get_check_revocation.3 @@ -0,0 +1 @@ +X509_STORE_CTX_set_verify_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_get_cleanup.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_get_cleanup.3 new file mode 120000 index 0000000..424d994 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_get_cleanup.3 @@ -0,0 +1 @@ +X509_STORE_CTX_set_verify_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_get_crl_fn.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_get_crl_fn.3 new file mode 120000 index 0000000..ef0a178 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_get_crl_fn.3 @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_get_current_cert.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_get_current_cert.3 new file mode 120000 index 0000000..7fbd299 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_get_current_cert.3 @@ -0,0 +1 @@ +X509_STORE_CTX_get_error.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_get_error.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_get_error.3 index 833319d..154dee0 100755 --- a/linux_amd64/share/man/man3/X509_STORE_CTX_get_error.3 +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_get_error.3 @@ -124,18 +124,13 @@ .\" ======================================================================== .\" .IX Title "X509_STORE_CTX_GET_ERROR 3" -.TH X509_STORE_CTX_GET_ERROR 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH X509_STORE_CTX_GET_ERROR 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -X509_STORE_CTX_get_error, X509_STORE_CTX_set_error, -X509_STORE_CTX_get_error_depth, X509_STORE_CTX_set_error_depth, -X509_STORE_CTX_get_current_cert, X509_STORE_CTX_set_current_cert, -X509_STORE_CTX_get0_cert, X509_STORE_CTX_get1_chain, -X509_verify_cert_error_string \- get or set certificate verification status -information +X509_STORE_CTX_get_error, X509_STORE_CTX_set_error, X509_STORE_CTX_get_error_depth, X509_STORE_CTX_set_error_depth, X509_STORE_CTX_get_current_cert, X509_STORE_CTX_set_current_cert, X509_STORE_CTX_get0_cert, X509_STORE_CTX_get1_chain, X509_verify_cert_error_string \- get or set certificate verification status information .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -222,125 +217,122 @@ error codes are defined but currently never returned: these are described as \&\*(L"unused\*(R". .IP "\fBX509_V_OK: ok\fR" 4 .IX Item "X509_V_OK: ok" -The operation was successful. -.IP "\fBX509_V_ERR_UNSPECIFIED: unspecified certificate verification error\fR" 4 -.IX Item "X509_V_ERR_UNSPECIFIED: unspecified certificate verification error" -Unspecified error; should not happen. +the operation was successful. .IP "\fBX509_V_ERR_UNABLE_TO_GET_ISSUER_CERT: unable to get issuer certificate\fR" 4 .IX Item "X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT: unable to get issuer certificate" -The issuer certificate of a locally looked up certificate could not be found. +the issuer certificate of a locally looked up certificate could not be found. This normally means the list of trusted certificates is not complete. .IP "\fBX509_V_ERR_UNABLE_TO_GET_CRL: unable to get certificate \s-1CRL\s0\fR" 4 .IX Item "X509_V_ERR_UNABLE_TO_GET_CRL: unable to get certificate CRL" -The \s-1CRL\s0 of a certificate could not be found. +the \s-1CRL\s0 of a certificate could not be found. .IP "\fBX509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE: unable to decrypt certificate's signature\fR" 4 .IX Item "X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE: unable to decrypt certificate's signature" -The certificate signature could not be decrypted. This means that the actual +the certificate signature could not be decrypted. This means that the actual signature value could not be determined rather than it not matching the expected value, this is only meaningful for \s-1RSA\s0 keys. .IP "\fBX509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE: unable to decrypt \s-1CRL\s0's signature\fR" 4 .IX Item "X509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE: unable to decrypt CRL's signature" -The \s-1CRL\s0 signature could not be decrypted: this means that the actual signature +the \s-1CRL\s0 signature could not be decrypted: this means that the actual signature value could not be determined rather than it not matching the expected value. Unused. .IP "\fBX509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY: unable to decode issuer public key\fR" 4 .IX Item "X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY: unable to decode issuer public key" -The public key in the certificate \f(CW\*(C`SubjectPublicKeyInfo\*(C'\fR field could -not be read. +the public key in the certificate SubjectPublicKeyInfo could not be read. .IP "\fBX509_V_ERR_CERT_SIGNATURE_FAILURE: certificate signature failure\fR" 4 .IX Item "X509_V_ERR_CERT_SIGNATURE_FAILURE: certificate signature failure" -The signature of the certificate is invalid. +the signature of the certificate is invalid. .IP "\fBX509_V_ERR_CRL_SIGNATURE_FAILURE: \s-1CRL\s0 signature failure\fR" 4 .IX Item "X509_V_ERR_CRL_SIGNATURE_FAILURE: CRL signature failure" -The signature of the certificate is invalid. +the signature of the certificate is invalid. .IP "\fBX509_V_ERR_CERT_NOT_YET_VALID: certificate is not yet valid\fR" 4 .IX Item "X509_V_ERR_CERT_NOT_YET_VALID: certificate is not yet valid" -The certificate is not yet valid: the \f(CW\*(C`notBefore\*(C'\fR date is after the -current time. +the certificate is not yet valid: the notBefore date is after the current time. .IP "\fBX509_V_ERR_CERT_HAS_EXPIRED: certificate has expired\fR" 4 .IX Item "X509_V_ERR_CERT_HAS_EXPIRED: certificate has expired" -The certificate has expired: that is the \f(CW\*(C`notAfter\*(C'\fR date is before the -current time. +the certificate has expired: that is the notAfter date is before the current time. .IP "\fBX509_V_ERR_CRL_NOT_YET_VALID: \s-1CRL\s0 is not yet valid\fR" 4 .IX Item "X509_V_ERR_CRL_NOT_YET_VALID: CRL is not yet valid" -The \s-1CRL\s0 is not yet valid. +the \s-1CRL\s0 is not yet valid. .IP "\fBX509_V_ERR_CRL_HAS_EXPIRED: \s-1CRL\s0 has expired\fR" 4 .IX Item "X509_V_ERR_CRL_HAS_EXPIRED: CRL has expired" -The \s-1CRL\s0 has expired. +the \s-1CRL\s0 has expired. .IP "\fBX509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD: format error in certificate's notBefore field\fR" 4 .IX Item "X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD: format error in certificate's notBefore field" -The certificate \fBnotBefore\fR field contains an invalid time. +the certificate notBefore field contains an invalid time. .IP "\fBX509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD: format error in certificate's notAfter field\fR" 4 .IX Item "X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD: format error in certificate's notAfter field" -The certificate \fBnotAfter\fR field contains an invalid time. +the certificate notAfter field contains an invalid time. .IP "\fBX509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD: format error in \s-1CRL\s0's lastUpdate field\fR" 4 .IX Item "X509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD: format error in CRL's lastUpdate field" -The \s-1CRL\s0 \fBlastUpdate\fR field contains an invalid time. +the \s-1CRL\s0 lastUpdate field contains an invalid time. .IP "\fBX509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD: format error in \s-1CRL\s0's nextUpdate field\fR" 4 .IX Item "X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD: format error in CRL's nextUpdate field" -The \s-1CRL\s0 \fBnextUpdate\fR field contains an invalid time. +the \s-1CRL\s0 nextUpdate field contains an invalid time. .IP "\fBX509_V_ERR_OUT_OF_MEM: out of memory\fR" 4 .IX Item "X509_V_ERR_OUT_OF_MEM: out of memory" -An error occurred trying to allocate memory. +an error occurred trying to allocate memory. This should never happen. .IP "\fBX509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT: self signed certificate\fR" 4 .IX Item "X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT: self signed certificate" -The passed certificate is self-signed and the same certificate cannot be found +the passed certificate is self signed and the same certificate cannot be found in the list of trusted certificates. .IP "\fBX509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN: self signed certificate in certificate chain\fR" 4 .IX Item "X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN: self signed certificate in certificate chain" -The certificate chain could be built up using the untrusted certificates but +the certificate chain could be built up using the untrusted certificates but the root could not be found locally. .IP "\fBX509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY: unable to get local issuer certificate\fR" 4 .IX Item "X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY: unable to get local issuer certificate" -The issuer certificate could not be found: this occurs if the issuer certificate +the issuer certificate could not be found: this occurs if the issuer certificate of an untrusted certificate cannot be found. .IP "\fBX509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE: unable to verify the first certificate\fR" 4 .IX Item "X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE: unable to verify the first certificate" -No signatures could be verified because the chain contains only one certificate +no signatures could be verified because the chain contains only one certificate and it is not self signed. .IP "\fBX509_V_ERR_CERT_CHAIN_TOO_LONG: certificate chain too long\fR" 4 .IX Item "X509_V_ERR_CERT_CHAIN_TOO_LONG: certificate chain too long" -The certificate chain length is greater than the supplied maximum depth. Unused. +the certificate chain length is greater than the supplied maximum depth. Unused. .IP "\fBX509_V_ERR_CERT_REVOKED: certificate revoked\fR" 4 .IX Item "X509_V_ERR_CERT_REVOKED: certificate revoked" -The certificate has been revoked. +the certificate has been revoked. .IP "\fBX509_V_ERR_INVALID_CA: invalid \s-1CA\s0 certificate\fR" 4 .IX Item "X509_V_ERR_INVALID_CA: invalid CA certificate" -A \s-1CA\s0 certificate is invalid. Either it is not a \s-1CA\s0 or its extensions are not +a \s-1CA\s0 certificate is invalid. Either it is not a \s-1CA\s0 or its extensions are not consistent with the supplied purpose. .IP "\fBX509_V_ERR_PATH_LENGTH_EXCEEDED: path length constraint exceeded\fR" 4 .IX Item "X509_V_ERR_PATH_LENGTH_EXCEEDED: path length constraint exceeded" -The basicConstraints path-length parameter has been exceeded. +the basicConstraints path-length parameter has been exceeded. .IP "\fBX509_V_ERR_INVALID_PURPOSE: unsupported certificate purpose\fR" 4 .IX Item "X509_V_ERR_INVALID_PURPOSE: unsupported certificate purpose" -The supplied certificate cannot be used for the specified purpose. +the supplied certificate cannot be used for the specified purpose. .IP "\fBX509_V_ERR_CERT_UNTRUSTED: certificate not trusted\fR" 4 .IX Item "X509_V_ERR_CERT_UNTRUSTED: certificate not trusted" -The root \s-1CA\s0 is not marked as trusted for the specified purpose. +the root \s-1CA\s0 is not marked as trusted for the specified purpose. .IP "\fBX509_V_ERR_CERT_REJECTED: certificate rejected\fR" 4 .IX Item "X509_V_ERR_CERT_REJECTED: certificate rejected" -The root \s-1CA\s0 is marked to reject the specified purpose. +the root \s-1CA\s0 is marked to reject the specified purpose. .IP "\fBX509_V_ERR_SUBJECT_ISSUER_MISMATCH: subject issuer mismatch\fR" 4 .IX Item "X509_V_ERR_SUBJECT_ISSUER_MISMATCH: subject issuer mismatch" -The current candidate issuer certificate was rejected because its subject name -did not match the issuer name of the current certificate. +the current candidate issuer certificate was rejected because its subject name +did not match the issuer name of the current certificate. This is only set +if issuer check debugging is enabled it is used for status notification and +is \fBnot\fR in itself an error. .IP "\fBX509_V_ERR_AKID_SKID_MISMATCH: authority and subject key identifier mismatch\fR" 4 .IX Item "X509_V_ERR_AKID_SKID_MISMATCH: authority and subject key identifier mismatch" -The current candidate issuer certificate was rejected because its subject key +the current candidate issuer certificate was rejected because its subject key identifier was present and did not match the authority key identifier current -certificate. -Not used as of OpenSSL 1.1.0. +certificate. This is only set if issuer check debugging is enabled it is used +for status notification and is \fBnot\fR in itself an error. .IP "\fBX509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH: authority and issuer serial number mismatch\fR" 4 .IX Item "X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH: authority and issuer serial number mismatch" -The current candidate issuer certificate was rejected because its issuer name +the current candidate issuer certificate was rejected because its issuer name and serial number was present and did not match the authority key identifier of -the current certificate. -Not used as of OpenSSL 1.1.0. +the current certificate. This is only set if issuer check debugging is enabled +it is used for status notification and is \fBnot\fR in itself an error. .IP "\fBX509_V_ERR_KEYUSAGE_NO_CERTSIGN:key usage does not include certificate signing\fR" 4 .IX Item "X509_V_ERR_KEYUSAGE_NO_CERTSIGN:key usage does not include certificate signing" -The current candidate issuer certificate was rejected because its \fBkeyUsage\fR -extension does not permit certificate signing. -Not used as of OpenSSL 1.1.0. +the current candidate issuer certificate was rejected because its keyUsage +extension does not permit certificate signing. This is only set if issuer check +debugging is enabled it is used for status notification and is \fBnot\fR in itself +an error. .IP "\fBX509_V_ERR_INVALID_EXTENSION: invalid or inconsistent certificate extension\fR" 4 .IX Item "X509_V_ERR_INVALID_EXTENSION: invalid or inconsistent certificate extension" A certificate extension had an invalid value (for example an incorrect @@ -385,94 +377,8 @@ An error occurred when attempting to verify the \s-1CRL\s0 path. This error can happen if extended \s-1CRL\s0 checking is enabled. .IP "\fBX509_V_ERR_APPLICATION_VERIFICATION: application verification failure\fR" 4 .IX Item "X509_V_ERR_APPLICATION_VERIFICATION: application verification failure" -An application specific error. This will never be returned unless explicitly -set by an application callback. -.IP "\fBX509_V_ERR_UNABLE_TO_GET_CRL_ISSUER: unable to get \s-1CRL\s0 issuer certificate\fR" 4 -.IX Item "X509_V_ERR_UNABLE_TO_GET_CRL_ISSUER: unable to get CRL issuer certificate" -Unable to get \s-1CRL\s0 issuer certificate. -.IP "\fBX509_V_ERR_UNHANDLED_CRITICAL_EXTENSION: unhandled critical extension\fR" 4 -.IX Item "X509_V_ERR_UNHANDLED_CRITICAL_EXTENSION: unhandled critical extension" -Unhandled critical extension. -.IP "\fBX509_V_ERR_KEYUSAGE_NO_CRL_SIGN: key usage does not include \s-1CRL\s0 signing\fR" 4 -.IX Item "X509_V_ERR_KEYUSAGE_NO_CRL_SIGN: key usage does not include CRL signing" -Key usage does not include \s-1CRL\s0 signing. -.IP "\fBX509_V_ERR_UNHANDLED_CRITICAL_CRL_EXTENSION: unhandled critical \s-1CRL\s0 extension\fR" 4 -.IX Item "X509_V_ERR_UNHANDLED_CRITICAL_CRL_EXTENSION: unhandled critical CRL extension" -Unhandled critical \s-1CRL\s0 extension. -.IP "\fBX509_V_ERR_INVALID_NON_CA: invalid non-CA certificate (has \s-1CA\s0 markings)\fR" 4 -.IX Item "X509_V_ERR_INVALID_NON_CA: invalid non-CA certificate (has CA markings)" -Invalid non-CA certificate has \s-1CA\s0 markings. -.IP "\fBX509_V_ERR_PROXY_PATH_LENGTH_EXCEEDED: proxy path length contraint exceeded\fR" 4 -.IX Item "X509_V_ERR_PROXY_PATH_LENGTH_EXCEEDED: proxy path length contraint exceeded" -Proxy path length constraint exceeded. -.IP "\fBX509_V_ERR_KEYUSAGE_NO_DIGITAL_SIGNATURE: key usage does not include digital signature\fR" 4 -.IX Item "X509_V_ERR_KEYUSAGE_NO_DIGITAL_SIGNATURE: key usage does not include digital signature" -Key usage does not include digital signature, and therefore cannot sign -certificates. -.IP "\fBX509_V_ERR_PROXY_CERTIFICATES_NOT_ALLOWED: proxy certificates not allowed, please set the appropriate flag\fR" 4 -.IX Item "X509_V_ERR_PROXY_CERTIFICATES_NOT_ALLOWED: proxy certificates not allowed, please set the appropriate flag" -Proxy certificates not allowed unless the \fB\-allow_proxy_certs\fR option is used. -.IP "\fBX509_V_ERR_UNNESTED_RESOURCE: \s-1RFC\s0 3779 resource not subset of parent's resrouces\fR" 4 -.IX Item "X509_V_ERR_UNNESTED_RESOURCE: RFC 3779 resource not subset of parent's resrouces" -See \s-1RFC\s0 3779 for details. -.IP "\fBX509_V_ERR_UNSUPPORTED_NAME_SYNTAX: unsupported or invalid name syntax\fR" 4 -.IX Item "X509_V_ERR_UNSUPPORTED_NAME_SYNTAX: unsupported or invalid name syntax" -Unsupported or invalid name syntax. -.IP "\fBX509_V_ERR_PATH_LOOP: path loop\fR" 4 -.IX Item "X509_V_ERR_PATH_LOOP: path loop" -Path loop. -.IP "\fBX509_V_ERR_HOSTNAME_MISMATCH: hostname mismatch\fR" 4 -.IX Item "X509_V_ERR_HOSTNAME_MISMATCH: hostname mismatch" -Hostname mismatch. -.IP "\fBX509_V_ERR_EMAIL_MISMATCH: email address mismatch\fR" 4 -.IX Item "X509_V_ERR_EMAIL_MISMATCH: email address mismatch" -Email address mismatch. -.IP "\fBX509_V_ERR_IP_ADDRESS_MISMATCH: \s-1IP\s0 address mismatch\fR" 4 -.IX Item "X509_V_ERR_IP_ADDRESS_MISMATCH: IP address mismatch" -\&\s-1IP\s0 address mismatch. -.IP "\fBX509_V_ERR_DANE_NO_MATCH: no matching \s-1DANE\s0 \s-1TLSA\s0 records\fR" 4 -.IX Item "X509_V_ERR_DANE_NO_MATCH: no matching DANE TLSA records" -\&\s-1DANE\s0 \s-1TLSA\s0 authentication is enabled, but no \s-1TLSA\s0 records matched the -certificate chain. -This error is only possible in \fIopenssl\-s_client\fR\|(1). -.IP "\fBX509_V_ERR_EE_KEY_TOO_SMALL: \s-1EE\s0 certificate key too weak\fR" 4 -.IX Item "X509_V_ERR_EE_KEY_TOO_SMALL: EE certificate key too weak" -\&\s-1EE\s0 certificate key too weak. -.IP "\fBX509_ERR_CA_KEY_TOO_SMALL: \s-1CA\s0 certificate key too weak\fR" 4 -.IX Item "X509_ERR_CA_KEY_TOO_SMALL: CA certificate key too weak" -\&\s-1CA\s0 certificate key too weak. -.IP "\fBX509_ERR_CA_MD_TOO_WEAK: \s-1CA\s0 signature digest algorithm too weak\fR" 4 -.IX Item "X509_ERR_CA_MD_TOO_WEAK: CA signature digest algorithm too weak" -\&\s-1CA\s0 signature digest algorithm too weak. -.IP "\fBX509_V_ERR_INVALID_CALL: invalid certificate verification context\fR" 4 -.IX Item "X509_V_ERR_INVALID_CALL: invalid certificate verification context" -invalid certificate verification context. -.IP "\fBX509_V_ERR_STORE_LOOKUP: issuer certificate lookup error\fR" 4 -.IX Item "X509_V_ERR_STORE_LOOKUP: issuer certificate lookup error" -Issuer certificate lookup error. -.IP "\fBX509_V_ERR_NO_VALID_SCTS: certificate transparency required, but no valid SCTs found\fR" 4 -.IX Item "X509_V_ERR_NO_VALID_SCTS: certificate transparency required, but no valid SCTs found" -Certificate Transparency required, but no valid SCTs found. -.IP "\fBX509_V_ERR_PROXY_SUBJECT_NAME_VIOLATION: proxy subject name violation\fR" 4 -.IX Item "X509_V_ERR_PROXY_SUBJECT_NAME_VIOLATION: proxy subject name violation" -Proxy subject name violation. -.IP "\fBX509_V_ERR_OCSP_VERIFY_NEEDED: \s-1OCSP\s0 verification needed\fR" 4 -.IX Item "X509_V_ERR_OCSP_VERIFY_NEEDED: OCSP verification needed" -Returned by the verify callback to indicate an \s-1OCSP\s0 verification is needed. -.IP "\fBX509_V_ERR_OCSP_VERIFY_FAILED: \s-1OCSP\s0 verification failed\fR" 4 -.IX Item "X509_V_ERR_OCSP_VERIFY_FAILED: OCSP verification failed" -Returned by the verify callback to indicate \s-1OCSP\s0 verification failed. -.IP "\fBX509_V_ERR_OCSP_CERT_UNKNOWN: \s-1OCSP\s0 unknown cert\fR" 4 -.IX Item "X509_V_ERR_OCSP_CERT_UNKNOWN: OCSP unknown cert" -Returned by the verify callback to indicate that the certificate is not -recognized by the \s-1OCSP\s0 responder. -.IP "\fB509_V_ERROR_NO_ISSUER_PUBLI_KEY, issuer certificate doesn't have a public key\fR" 4 -.IX Item "509_V_ERROR_NO_ISSUER_PUBLI_KEY, issuer certificate doesn't have a public key" -The issuer certificate does not have a public key. -.IP "\fBX509_V_ERROR_SIGNATURE_ALGORITHM_MISMATCH, Subject signature algorithm and issuer public key algoritm mismatch\fR" 4 -.IX Item "X509_V_ERROR_SIGNATURE_ALGORITHM_MISMATCH, Subject signature algorithm and issuer public key algoritm mismatch" -The issuer's public key is not of the type required by the signature in -the subject's certificate. +an application specific error. This will never be returned unless explicitly +set by an application. .SH "NOTES" .IX Header "NOTES" The above functions should be used instead of directly referencing the fields @@ -493,9 +399,9 @@ thread safe but will never happen unless an invalid code is passed. \&\fIX509_free\fR\|(3). .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2009\-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2009\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_get_error_depth.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_get_error_depth.3 new file mode 120000 index 0000000..7fbd299 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_get_error_depth.3 @@ -0,0 +1 @@ +X509_STORE_CTX_get_error.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_get_ex_data.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_get_ex_data.3 new file mode 120000 index 0000000..aa4dc88 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_get_ex_data.3 @@ -0,0 +1 @@ +BIO_get_ex_new_index.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_get_ex_new_index.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_get_ex_new_index.3 new file mode 120000 index 0000000..aa4dc88 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_get_ex_new_index.3 @@ -0,0 +1 @@ +BIO_get_ex_new_index.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_get_get_crl.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_get_get_crl.3 new file mode 120000 index 0000000..424d994 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_get_get_crl.3 @@ -0,0 +1 @@ +X509_STORE_CTX_set_verify_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_get_get_issuer.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_get_get_issuer.3 new file mode 120000 index 0000000..424d994 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_get_get_issuer.3 @@ -0,0 +1 @@ +X509_STORE_CTX_set_verify_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_get_issuer_fn.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_get_issuer_fn.3 new file mode 120000 index 0000000..ef0a178 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_get_issuer_fn.3 @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_get_lookup_certs.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_get_lookup_certs.3 new file mode 120000 index 0000000..424d994 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_get_lookup_certs.3 @@ -0,0 +1 @@ +X509_STORE_CTX_set_verify_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_get_lookup_crls.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_get_lookup_crls.3 new file mode 120000 index 0000000..424d994 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_get_lookup_crls.3 @@ -0,0 +1 @@ +X509_STORE_CTX_set_verify_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_get_num_untrusted.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_get_num_untrusted.3 new file mode 120000 index 0000000..ed2760e --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_get_num_untrusted.3 @@ -0,0 +1 @@ +X509_STORE_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_get_verify.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_get_verify.3 new file mode 120000 index 0000000..ef0a178 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_get_verify.3 @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_get_verify_cb.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_get_verify_cb.3 new file mode 120000 index 0000000..424d994 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_get_verify_cb.3 @@ -0,0 +1 @@ +X509_STORE_CTX_set_verify_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_init.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_init.3 new file mode 120000 index 0000000..ed2760e --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_init.3 @@ -0,0 +1 @@ +X509_STORE_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_lookup_certs_fn.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_lookup_certs_fn.3 new file mode 120000 index 0000000..ef0a178 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_lookup_certs_fn.3 @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_lookup_crls_fn.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_lookup_crls_fn.3 new file mode 120000 index 0000000..ef0a178 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_lookup_crls_fn.3 @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_new.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_new.3 index d4d8b63..aaf24cd 100755 --- a/linux_amd64/share/man/man3/X509_STORE_CTX_new.3 +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_new.3 @@ -124,23 +124,13 @@ .\" ======================================================================== .\" .IX Title "X509_STORE_CTX_NEW 3" -.TH X509_STORE_CTX_NEW 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH X509_STORE_CTX_NEW 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -X509_STORE_CTX_new, X509_STORE_CTX_cleanup, X509_STORE_CTX_free, -X509_STORE_CTX_init, X509_STORE_CTX_set0_trusted_stack, X509_STORE_CTX_set_cert, -X509_STORE_CTX_set0_crls, -X509_STORE_CTX_get0_chain, X509_STORE_CTX_set0_verified_chain, -X509_STORE_CTX_get0_param, X509_STORE_CTX_set0_param, -X509_STORE_CTX_get0_untrusted, X509_STORE_CTX_set0_untrusted, -X509_STORE_CTX_get_num_untrusted, -X509_STORE_CTX_set_default, -X509_STORE_CTX_set_verify, -X509_STORE_CTX_verify_fn -\&\- X509_STORE_CTX initialisation +X509_STORE_CTX_new, X509_STORE_CTX_cleanup, X509_STORE_CTX_free, X509_STORE_CTX_init, X509_STORE_CTX_set0_trusted_stack, X509_STORE_CTX_set_cert, X509_STORE_CTX_set0_crls, X509_STORE_CTX_get0_chain, X509_STORE_CTX_set0_verified_chain, X509_STORE_CTX_get0_param, X509_STORE_CTX_set0_param, X509_STORE_CTX_get0_untrusted, X509_STORE_CTX_set0_untrusted, X509_STORE_CTX_get_num_untrusted, X509_STORE_CTX_set_default, X509_STORE_CTX_set_verify, X509_STORE_CTX_verify_fn \&\- X509_STORE_CTX initialisation .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -290,7 +280,7 @@ The \fIX509_STORE_CTX_get_num_untrusted()\fR function was added in OpenSSL 1.1.0 .IX Header "COPYRIGHT" Copyright 2009\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_set0_crls.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_set0_crls.3 new file mode 120000 index 0000000..ed2760e --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_set0_crls.3 @@ -0,0 +1 @@ +X509_STORE_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_set0_param.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_set0_param.3 new file mode 120000 index 0000000..ed2760e --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_set0_param.3 @@ -0,0 +1 @@ +X509_STORE_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_set0_trusted_stack.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_set0_trusted_stack.3 new file mode 120000 index 0000000..ed2760e --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_set0_trusted_stack.3 @@ -0,0 +1 @@ +X509_STORE_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_set0_untrusted.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_set0_untrusted.3 new file mode 120000 index 0000000..ed2760e --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_set0_untrusted.3 @@ -0,0 +1 @@ +X509_STORE_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_set0_verified_chain.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_set0_verified_chain.3 new file mode 120000 index 0000000..ed2760e --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_set0_verified_chain.3 @@ -0,0 +1 @@ +X509_STORE_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_set_cert.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_set_cert.3 new file mode 120000 index 0000000..ed2760e --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_set_cert.3 @@ -0,0 +1 @@ +X509_STORE_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_set_current_cert.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_set_current_cert.3 new file mode 120000 index 0000000..7fbd299 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_set_current_cert.3 @@ -0,0 +1 @@ +X509_STORE_CTX_get_error.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_set_default.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_set_default.3 new file mode 120000 index 0000000..ed2760e --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_set_default.3 @@ -0,0 +1 @@ +X509_STORE_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_set_error.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_set_error.3 new file mode 120000 index 0000000..7fbd299 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_set_error.3 @@ -0,0 +1 @@ +X509_STORE_CTX_get_error.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_set_error_depth.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_set_error_depth.3 new file mode 120000 index 0000000..7fbd299 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_set_error_depth.3 @@ -0,0 +1 @@ +X509_STORE_CTX_get_error.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_set_ex_data.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_set_ex_data.3 new file mode 120000 index 0000000..aa4dc88 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_set_ex_data.3 @@ -0,0 +1 @@ +BIO_get_ex_new_index.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_set_verify.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_set_verify.3 new file mode 120000 index 0000000..ed2760e --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_set_verify.3 @@ -0,0 +1 @@ +X509_STORE_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_set_verify_cb.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_set_verify_cb.3 index f08c266..feac71e 100755 --- a/linux_amd64/share/man/man3/X509_STORE_CTX_set_verify_cb.3 +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_set_verify_cb.3 @@ -124,34 +124,19 @@ .\" ======================================================================== .\" .IX Title "X509_STORE_CTX_SET_VERIFY_CB 3" -.TH X509_STORE_CTX_SET_VERIFY_CB 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH X509_STORE_CTX_SET_VERIFY_CB 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -X509_STORE_CTX_get_cleanup, -X509_STORE_CTX_get_lookup_crls, -X509_STORE_CTX_get_lookup_certs, -X509_STORE_CTX_get_check_policy, -X509_STORE_CTX_get_cert_crl, -X509_STORE_CTX_get_check_crl, -X509_STORE_CTX_get_get_crl, -X509_STORE_CTX_get_check_revocation, -X509_STORE_CTX_get_check_issued, -X509_STORE_CTX_get_get_issuer, -X509_STORE_CTX_get_verify_cb, -X509_STORE_CTX_set_verify_cb, -X509_STORE_CTX_verify_cb, -X509_STORE_CTX_print_verify_cb -\&\- get and set X509_STORE_CTX components such as verification callback +X509_STORE_CTX_get_cleanup, X509_STORE_CTX_get_lookup_crls, X509_STORE_CTX_get_lookup_certs, X509_STORE_CTX_get_check_policy, X509_STORE_CTX_get_cert_crl, X509_STORE_CTX_get_check_crl, X509_STORE_CTX_get_get_crl, X509_STORE_CTX_get_check_revocation, X509_STORE_CTX_get_check_issued, X509_STORE_CTX_get_get_issuer, X509_STORE_CTX_get_verify_cb, X509_STORE_CTX_set_verify_cb, X509_STORE_CTX_verify_cb \&\- get and set verification callback .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include \& \& typedef int (*X509_STORE_CTX_verify_cb)(int, X509_STORE_CTX *); -\& int X509_STORE_CTX_print_verify_cb(int ok, X509_STORE_CTX *ctx); \& \& X509_STORE_CTX_verify_cb X509_STORE_CTX_get_verify_cb(X509_STORE_CTX *ctx); \& @@ -193,12 +178,6 @@ structure and receive additional information about the error, for example by calling \fIX509_STORE_CTX_get_current_cert()\fR. Additional application data can be passed to the callback via the \fBex_data\fR mechanism. .PP -\&\fIX509_STORE_CTX_print_verify_cb()\fR is a verification callback function that, -when a certificate verification has failed, adds an entry to the error queue -with code \fBX509_R_CERTIFICATE_VERIFICATION_FAILED\fR and with diagnostic details, -including the most relevant fields of the target certificate that failed to -verify and, if appropriate, of the available untrusted and trusted certificates. -.PP \&\fIX509_STORE_CTX_get_verify_cb()\fR returns the value of the current callback for the specific \fBctx\fR. .PP @@ -336,13 +315,11 @@ The \&\fIX509_STORE_CTX_get_cert_crl()\fR, \fIX509_STORE_CTX_get_check_policy()\fR, \&\fIX509_STORE_CTX_get_lookup_certs()\fR, \fIX509_STORE_CTX_get_lookup_crls()\fR and \fIX509_STORE_CTX_get_cleanup()\fR functions were added in OpenSSL 1.1.0. -.PP -\&\fIX509_STORE_CTX_print_verify_cb()\fR was added in OpenSSL 3.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2009\-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2009\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_verify_cb.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_verify_cb.3 new file mode 120000 index 0000000..424d994 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_verify_cb.3 @@ -0,0 +1 @@ +X509_STORE_CTX_set_verify_cb.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_CTX_verify_fn.3 b/linux_amd64/share/man/man3/X509_STORE_CTX_verify_fn.3 new file mode 120000 index 0000000..ed2760e --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_CTX_verify_fn.3 @@ -0,0 +1 @@ +X509_STORE_CTX_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_add_cert.3 b/linux_amd64/share/man/man3/X509_STORE_add_cert.3 index 15f731e..be3a70a 100755 --- a/linux_amd64/share/man/man3/X509_STORE_add_cert.3 +++ b/linux_amd64/share/man/man3/X509_STORE_add_cert.3 @@ -124,27 +124,18 @@ .\" ======================================================================== .\" .IX Title "X509_STORE_ADD_CERT 3" -.TH X509_STORE_ADD_CERT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH X509_STORE_ADD_CERT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -X509_STORE, -X509_STORE_add_cert, X509_STORE_add_crl, X509_STORE_set_depth, -X509_STORE_set_flags, X509_STORE_set_purpose, X509_STORE_set_trust, -X509_STORE_add_lookup, -X509_STORE_load_file, X509_STORE_load_path, X509_STORE_load_store, -X509_STORE_set_default_paths, -X509_STORE_load_locations -\&\- X509_STORE manipulation +X509_STORE_add_cert, X509_STORE_add_crl, X509_STORE_set_depth, X509_STORE_set_flags, X509_STORE_set_purpose, X509_STORE_set_trust, X509_STORE_load_locations, X509_STORE_set_default_paths \&\- X509_STORE manipulation .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include \& -\& typedef x509_store_st X509_STORE; -\& \& int X509_STORE_add_cert(X509_STORE *ctx, X509 *x); \& int X509_STORE_add_crl(X509_STORE *ctx, X509_CRL *x); \& int X509_STORE_set_depth(X509_STORE *store, int depth); @@ -152,20 +143,9 @@ X509_STORE_load_locations \& int X509_STORE_set_purpose(X509_STORE *ctx, int purpose); \& int X509_STORE_set_trust(X509_STORE *ctx, int trust); \& -\& X509_LOOKUP *X509_STORE_add_lookup(X509_STORE *store, -\& X509_LOOKUP_METHOD *meth); -\& -\& int X509_STORE_set_default_paths(X509_STORE *ctx); -\& int X509_STORE_load_file(X509_STORE *ctx, const char *file); -\& int X509_STORE_load_path(X509_STORE *ctx, const char *dir); -\& int X509_STORE_load_store(X509_STORE *ctx, const char *uri); -.Ve -.PP -Deprecated: -.PP -.Vb 2 \& int X509_STORE_load_locations(X509_STORE *ctx, \& const char *file, const char *dir); +\& int X509_STORE_set_default_paths(X509_STORE *ctx); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" @@ -209,26 +189,11 @@ for the corresponding values used in certificate chain validation. Their behavior is documented in the corresponding \fBX509_VERIFY_PARAM\fR manual pages, e.g., \fIX509_VERIFY_PARAM_set_depth\fR\|(3). .PP -\&\fIX509_STORE_add_lookup()\fR finds or creates a \fIX509_LOOKUP\fR\|(3) with the -\&\fIX509_LOOKUP_METHOD\fR\|(3) \fImeth\fR and adds it to the \fBX509_STORE\fR -\&\fIstore\fR. This also associates the \fBX509_STORE\fR with the lookup, so -\&\fBX509_LOOKUP\fR functions can look up objects in that store. -.PP -\&\fIX509_STORE_load_file()\fR loads trusted certificate(s) into an -\&\fBX509_STORE\fR from a given file. -.PP -\&\fIX509_STORE_load_path()\fR loads trusted certificate(s) into an -\&\fBX509_STORE\fR from a given directory path. -The certificates in the directory must be in hashed form, as -documented in \fIX509_LOOKUP_hash_dir\fR\|(3). -.PP -\&\fIX509_STORE_load_store()\fR loads trusted certificate(s) into an -\&\fBX509_STORE\fR from a store at a given \s-1URI\s0. -.PP -\&\fIX509_STORE_load_locations()\fR combines \fIX509_STORE_load_file()\fR and -\&\fIX509_STORE_load_dir()\fR for a given file and/or directory path. -It is permitted to specify just a file, just a directory, or both -paths. +\&\fIX509_STORE_load_locations()\fR loads trusted certificate(s) into an +\&\fBX509_STORE\fR from a given file and/or directory path. It is permitted +to specify just a file, just a directory, or both paths. The certificates +in the directory must be in hashed form, as documented in +\&\fIX509_LOOKUP_hash_dir\fR\|(3). .PP \&\fIX509_STORE_set_default_paths()\fR is somewhat misnamed, in that it does not set what default paths should be used for loading certificates. Instead, @@ -238,13 +203,8 @@ paths. .IX Header "RETURN VALUES" \&\fIX509_STORE_add_cert()\fR, \fIX509_STORE_add_crl()\fR, \fIX509_STORE_set_depth()\fR, \&\fIX509_STORE_set_flags()\fR, \fIX509_STORE_set_purpose()\fR, -\&\fIX509_STORE_set_trust()\fR, \fIX509_STORE_load_file()\fR, -\&\fIX509_STORE_load_path()\fR, \fIX509_STORE_load_store()\fR, -\&\fIX509_STORE_load_locations()\fR, and \fIX509_STORE_set_default_paths()\fR return -1 on success or 0 on failure. -.PP -\&\fIX509_STORE_add_lookup()\fR returns the found or created -\&\fIX509_LOOKUP\fR\|(3), or \s-1NULL\s0 on error. +\&\fIX509_STORE_set_trust()\fR, \fIX509_STORE_load_locations()\fR, and +\&\fIX509_STORE_set_default_paths()\fR return 1 on success or 0 on failure. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIX509_LOOKUP_hash_dir\fR\|(3). @@ -255,7 +215,7 @@ paths. .IX Header "COPYRIGHT" Copyright 2017\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/X509_STORE_add_crl.3 b/linux_amd64/share/man/man3/X509_STORE_add_crl.3 new file mode 120000 index 0000000..9fad21b --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_add_crl.3 @@ -0,0 +1 @@ +X509_STORE_add_cert.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_free.3 b/linux_amd64/share/man/man3/X509_STORE_free.3 new file mode 120000 index 0000000..1816532 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_free.3 @@ -0,0 +1 @@ +X509_STORE_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_get0_objects.3 b/linux_amd64/share/man/man3/X509_STORE_get0_objects.3 new file mode 120000 index 0000000..4878926 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_get0_objects.3 @@ -0,0 +1 @@ +X509_STORE_get0_param.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_get0_param.3 b/linux_amd64/share/man/man3/X509_STORE_get0_param.3 index 6b66029..2b00a2c 100755 --- a/linux_amd64/share/man/man3/X509_STORE_get0_param.3 +++ b/linux_amd64/share/man/man3/X509_STORE_get0_param.3 @@ -124,15 +124,13 @@ .\" ======================================================================== .\" .IX Title "X509_STORE_GET0_PARAM 3" -.TH X509_STORE_GET0_PARAM 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH X509_STORE_GET0_PARAM 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -X509_STORE_get0_param, X509_STORE_set1_param, -X509_STORE_get0_objects, X509_STORE_get1_all_certs -\&\- X509_STORE setter and getter functions +X509_STORE_get0_param, X509_STORE_set1_param, X509_STORE_get0_objects \- X509_STORE setter and getter functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -141,7 +139,6 @@ X509_STORE_get0_objects, X509_STORE_get1_all_certs \& X509_VERIFY_PARAM *X509_STORE_get0_param(X509_STORE *ctx); \& int X509_STORE_set1_param(X509_STORE *ctx, X509_VERIFY_PARAM *pm); \& STACK_OF(X509_OBJECT) *X509_STORE_get0_objects(X509_STORE *ctx); -\& STACK_OF(X509) *X509_STORE_get1_all_certs(X509_STORE *st); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" @@ -152,12 +149,9 @@ to \fBpm\fR for \fBctx\fR. parameters for \fBctx\fR. The returned pointer must not be freed by the calling application .PP -\&\fIX509_STORE_get0_objects()\fR retrieves an internal pointer to the store's +\&\fIX509_STORE_get0_objects()\fR retrieve an internal pointer to the store's X509 object cache. The cache contains \fBX509\fR and \fBX509_CRL\fR objects. The returned pointer must not be freed by the calling application. -.PP -\&\fIX509_STORE_get1_all_certs()\fR returns a list of all certificates in the store. -The caller is responsible for freeing the returned list. .SH "RETURN VALUES" .IX Header "RETURN VALUES" \&\fIX509_STORE_get0_param()\fR returns a pointer to an @@ -166,9 +160,6 @@ The caller is responsible for freeing the returned list. \&\fIX509_STORE_set1_param()\fR returns 1 for success and 0 for failure. .PP \&\fIX509_STORE_get0_objects()\fR returns a pointer to a stack of \fBX509_OBJECT\fR. -.PP -\&\fIX509_STORE_get1_all_certs()\fR returns a pointer to a stack of the retrieved -certificates on success, else \s-1NULL\s0. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIX509_STORE_new\fR\|(3) @@ -176,12 +167,11 @@ certificates on success, else \s-1NULL\s0. .IX Header "HISTORY" \&\fBX509_STORE_get0_param\fR and \fBX509_STORE_get0_objects\fR were added in OpenSSL 1.1.0. -\&\fBX509_STORE_get1_certs\fR was added in OpenSSL 3.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/X509_STORE_get_cert_crl.3 b/linux_amd64/share/man/man3/X509_STORE_get_cert_crl.3 new file mode 120000 index 0000000..ef0a178 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_get_cert_crl.3 @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_get_check_crl.3 b/linux_amd64/share/man/man3/X509_STORE_get_check_crl.3 new file mode 120000 index 0000000..ef0a178 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_get_check_crl.3 @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_get_check_issued.3 b/linux_amd64/share/man/man3/X509_STORE_get_check_issued.3 new file mode 120000 index 0000000..ef0a178 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_get_check_issued.3 @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_get_check_policy.3 b/linux_amd64/share/man/man3/X509_STORE_get_check_policy.3 new file mode 120000 index 0000000..ef0a178 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_get_check_policy.3 @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_get_check_revocation.3 b/linux_amd64/share/man/man3/X509_STORE_get_check_revocation.3 new file mode 120000 index 0000000..ef0a178 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_get_check_revocation.3 @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_get_cleanup.3 b/linux_amd64/share/man/man3/X509_STORE_get_cleanup.3 new file mode 120000 index 0000000..ef0a178 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_get_cleanup.3 @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_get_ex_data.3 b/linux_amd64/share/man/man3/X509_STORE_get_ex_data.3 new file mode 120000 index 0000000..aa4dc88 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_get_ex_data.3 @@ -0,0 +1 @@ +BIO_get_ex_new_index.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_get_ex_new_index.3 b/linux_amd64/share/man/man3/X509_STORE_get_ex_new_index.3 new file mode 120000 index 0000000..aa4dc88 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_get_ex_new_index.3 @@ -0,0 +1 @@ +BIO_get_ex_new_index.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_get_get_crl.3 b/linux_amd64/share/man/man3/X509_STORE_get_get_crl.3 new file mode 120000 index 0000000..ef0a178 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_get_get_crl.3 @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_get_get_issuer.3 b/linux_amd64/share/man/man3/X509_STORE_get_get_issuer.3 new file mode 120000 index 0000000..ef0a178 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_get_get_issuer.3 @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_get_lookup_certs.3 b/linux_amd64/share/man/man3/X509_STORE_get_lookup_certs.3 new file mode 120000 index 0000000..ef0a178 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_get_lookup_certs.3 @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_get_lookup_crls.3 b/linux_amd64/share/man/man3/X509_STORE_get_lookup_crls.3 new file mode 120000 index 0000000..ef0a178 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_get_lookup_crls.3 @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_get_verify_cb.3 b/linux_amd64/share/man/man3/X509_STORE_get_verify_cb.3 new file mode 120000 index 0000000..ef0a178 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_get_verify_cb.3 @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_load_locations.3 b/linux_amd64/share/man/man3/X509_STORE_load_locations.3 new file mode 120000 index 0000000..9fad21b --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_load_locations.3 @@ -0,0 +1 @@ +X509_STORE_add_cert.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_lock.3 b/linux_amd64/share/man/man3/X509_STORE_lock.3 new file mode 120000 index 0000000..1816532 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_lock.3 @@ -0,0 +1 @@ +X509_STORE_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_new.3 b/linux_amd64/share/man/man3/X509_STORE_new.3 index 7f987e6..b55ecce 100755 --- a/linux_amd64/share/man/man3/X509_STORE_new.3 +++ b/linux_amd64/share/man/man3/X509_STORE_new.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "X509_STORE_NEW 3" -.TH X509_STORE_NEW 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH X509_STORE_NEW 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -X509_STORE_new, X509_STORE_up_ref, X509_STORE_free, X509_STORE_lock, -X509_STORE_unlock \- X509_STORE allocation, freeing and locking functions +X509_STORE_new, X509_STORE_up_ref, X509_STORE_free, X509_STORE_lock, X509_STORE_unlock \- X509_STORE allocation, freeing and locking functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -172,9 +171,9 @@ The \fIX509_STORE_up_ref()\fR, \fIX509_STORE_lock()\fR and \fIX509_STORE_unlock( functions were added in OpenSSL 1.1.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2016\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/X509_STORE_set1_param.3 b/linux_amd64/share/man/man3/X509_STORE_set1_param.3 new file mode 120000 index 0000000..4878926 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_set1_param.3 @@ -0,0 +1 @@ +X509_STORE_get0_param.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_set_cert_crl.3 b/linux_amd64/share/man/man3/X509_STORE_set_cert_crl.3 new file mode 120000 index 0000000..ef0a178 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_set_cert_crl.3 @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_set_check_crl.3 b/linux_amd64/share/man/man3/X509_STORE_set_check_crl.3 new file mode 120000 index 0000000..ef0a178 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_set_check_crl.3 @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_set_check_issued.3 b/linux_amd64/share/man/man3/X509_STORE_set_check_issued.3 new file mode 120000 index 0000000..ef0a178 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_set_check_issued.3 @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_set_check_policy.3 b/linux_amd64/share/man/man3/X509_STORE_set_check_policy.3 new file mode 120000 index 0000000..ef0a178 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_set_check_policy.3 @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_set_check_revocation.3 b/linux_amd64/share/man/man3/X509_STORE_set_check_revocation.3 new file mode 120000 index 0000000..ef0a178 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_set_check_revocation.3 @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_set_cleanup.3 b/linux_amd64/share/man/man3/X509_STORE_set_cleanup.3 new file mode 120000 index 0000000..ef0a178 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_set_cleanup.3 @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_set_default_paths.3 b/linux_amd64/share/man/man3/X509_STORE_set_default_paths.3 new file mode 120000 index 0000000..9fad21b --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_set_default_paths.3 @@ -0,0 +1 @@ +X509_STORE_add_cert.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_set_depth.3 b/linux_amd64/share/man/man3/X509_STORE_set_depth.3 new file mode 120000 index 0000000..9fad21b --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_set_depth.3 @@ -0,0 +1 @@ +X509_STORE_add_cert.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_set_ex_data.3 b/linux_amd64/share/man/man3/X509_STORE_set_ex_data.3 new file mode 120000 index 0000000..aa4dc88 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_set_ex_data.3 @@ -0,0 +1 @@ +BIO_get_ex_new_index.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_set_flags.3 b/linux_amd64/share/man/man3/X509_STORE_set_flags.3 new file mode 120000 index 0000000..9fad21b --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_set_flags.3 @@ -0,0 +1 @@ +X509_STORE_add_cert.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_set_get_crl.3 b/linux_amd64/share/man/man3/X509_STORE_set_get_crl.3 new file mode 120000 index 0000000..ef0a178 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_set_get_crl.3 @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_set_get_issuer.3 b/linux_amd64/share/man/man3/X509_STORE_set_get_issuer.3 new file mode 120000 index 0000000..ef0a178 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_set_get_issuer.3 @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_set_lookup_certs.3 b/linux_amd64/share/man/man3/X509_STORE_set_lookup_certs.3 new file mode 120000 index 0000000..ef0a178 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_set_lookup_certs.3 @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_set_lookup_crls.3 b/linux_amd64/share/man/man3/X509_STORE_set_lookup_crls.3 new file mode 120000 index 0000000..ef0a178 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_set_lookup_crls.3 @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_set_lookup_crls_cb.3 b/linux_amd64/share/man/man3/X509_STORE_set_lookup_crls_cb.3 new file mode 120000 index 0000000..ef0a178 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_set_lookup_crls_cb.3 @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_set_purpose.3 b/linux_amd64/share/man/man3/X509_STORE_set_purpose.3 new file mode 120000 index 0000000..9fad21b --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_set_purpose.3 @@ -0,0 +1 @@ +X509_STORE_add_cert.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_set_trust.3 b/linux_amd64/share/man/man3/X509_STORE_set_trust.3 new file mode 120000 index 0000000..9fad21b --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_set_trust.3 @@ -0,0 +1 @@ +X509_STORE_add_cert.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_set_verify.3 b/linux_amd64/share/man/man3/X509_STORE_set_verify.3 new file mode 120000 index 0000000..ef0a178 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_set_verify.3 @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_set_verify_cb.3 b/linux_amd64/share/man/man3/X509_STORE_set_verify_cb.3 new file mode 120000 index 0000000..ef0a178 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_set_verify_cb.3 @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_set_verify_cb_func.3 b/linux_amd64/share/man/man3/X509_STORE_set_verify_cb_func.3 index ee13b30..6cb9a38 100755 --- a/linux_amd64/share/man/man3/X509_STORE_set_verify_cb_func.3 +++ b/linux_amd64/share/man/man3/X509_STORE_set_verify_cb_func.3 @@ -124,44 +124,13 @@ .\" ======================================================================== .\" .IX Title "X509_STORE_SET_VERIFY_CB_FUNC 3" -.TH X509_STORE_SET_VERIFY_CB_FUNC 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH X509_STORE_SET_VERIFY_CB_FUNC 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -X509_STORE_set_lookup_crls_cb, -X509_STORE_set_verify_func, -X509_STORE_get_cleanup, -X509_STORE_set_cleanup, -X509_STORE_get_lookup_crls, -X509_STORE_set_lookup_crls, -X509_STORE_get_lookup_certs, -X509_STORE_set_lookup_certs, -X509_STORE_get_check_policy, -X509_STORE_set_check_policy, -X509_STORE_get_cert_crl, -X509_STORE_set_cert_crl, -X509_STORE_get_check_crl, -X509_STORE_set_check_crl, -X509_STORE_get_get_crl, -X509_STORE_set_get_crl, -X509_STORE_get_check_revocation, -X509_STORE_set_check_revocation, -X509_STORE_get_check_issued, -X509_STORE_set_check_issued, -X509_STORE_get_get_issuer, -X509_STORE_set_get_issuer, -X509_STORE_CTX_get_verify, -X509_STORE_set_verify, -X509_STORE_get_verify_cb, -X509_STORE_set_verify_cb_func, X509_STORE_set_verify_cb, -X509_STORE_CTX_cert_crl_fn, X509_STORE_CTX_check_crl_fn, -X509_STORE_CTX_check_issued_fn, X509_STORE_CTX_check_policy_fn, -X509_STORE_CTX_check_revocation_fn, X509_STORE_CTX_cleanup_fn, -X509_STORE_CTX_get_crl_fn, X509_STORE_CTX_get_issuer_fn, -X509_STORE_CTX_lookup_certs_fn, X509_STORE_CTX_lookup_crls_fn -\&\- set verification callback +X509_STORE_set_lookup_crls_cb, X509_STORE_set_verify_func, X509_STORE_get_cleanup, X509_STORE_set_cleanup, X509_STORE_get_lookup_crls, X509_STORE_set_lookup_crls, X509_STORE_get_lookup_certs, X509_STORE_set_lookup_certs, X509_STORE_get_check_policy, X509_STORE_set_check_policy, X509_STORE_get_cert_crl, X509_STORE_set_cert_crl, X509_STORE_get_check_crl, X509_STORE_set_check_crl, X509_STORE_get_get_crl, X509_STORE_set_get_crl, X509_STORE_get_check_revocation, X509_STORE_set_check_revocation, X509_STORE_get_check_issued, X509_STORE_set_check_issued, X509_STORE_get_get_issuer, X509_STORE_set_get_issuer, X509_STORE_CTX_get_verify, X509_STORE_set_verify, X509_STORE_get_verify_cb, X509_STORE_set_verify_cb_func, X509_STORE_set_verify_cb, X509_STORE_CTX_cert_crl_fn, X509_STORE_CTX_check_crl_fn, X509_STORE_CTX_check_issued_fn, X509_STORE_CTX_check_policy_fn, X509_STORE_CTX_check_revocation_fn, X509_STORE_CTX_cleanup_fn, X509_STORE_CTX_get_crl_fn, X509_STORE_CTX_get_issuer_fn, X509_STORE_CTX_lookup_certs_fn, X509_STORE_CTX_lookup_crls_fn \&\- set verification callback .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -380,7 +349,7 @@ were added in OpenSSL 1.1.0. .IX Header "COPYRIGHT" Copyright 2009\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/X509_STORE_set_verify_func.3 b/linux_amd64/share/man/man3/X509_STORE_set_verify_func.3 new file mode 120000 index 0000000..ef0a178 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_set_verify_func.3 @@ -0,0 +1 @@ +X509_STORE_set_verify_cb_func.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_unlock.3 b/linux_amd64/share/man/man3/X509_STORE_unlock.3 new file mode 120000 index 0000000..1816532 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_unlock.3 @@ -0,0 +1 @@ +X509_STORE_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_STORE_up_ref.3 b/linux_amd64/share/man/man3/X509_STORE_up_ref.3 new file mode 120000 index 0000000..1816532 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_STORE_up_ref.3 @@ -0,0 +1 @@ +X509_STORE_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_VAL_free.3 b/linux_amd64/share/man/man3/X509_VAL_free.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_VAL_free.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_VAL_new.3 b/linux_amd64/share/man/man3/X509_VAL_new.3 new file mode 120000 index 0000000..f326c68 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_VAL_new.3 @@ -0,0 +1 @@ +X509_dup.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_VERIFY_PARAM_add0_policy.3 b/linux_amd64/share/man/man3/X509_VERIFY_PARAM_add0_policy.3 new file mode 120000 index 0000000..38076e6 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_VERIFY_PARAM_add0_policy.3 @@ -0,0 +1 @@ +X509_VERIFY_PARAM_set_flags.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_VERIFY_PARAM_add1_host.3 b/linux_amd64/share/man/man3/X509_VERIFY_PARAM_add1_host.3 new file mode 120000 index 0000000..38076e6 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_VERIFY_PARAM_add1_host.3 @@ -0,0 +1 @@ +X509_VERIFY_PARAM_set_flags.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_VERIFY_PARAM_clear_flags.3 b/linux_amd64/share/man/man3/X509_VERIFY_PARAM_clear_flags.3 new file mode 120000 index 0000000..38076e6 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_VERIFY_PARAM_clear_flags.3 @@ -0,0 +1 @@ +X509_VERIFY_PARAM_set_flags.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_VERIFY_PARAM_get0_peername.3 b/linux_amd64/share/man/man3/X509_VERIFY_PARAM_get0_peername.3 new file mode 120000 index 0000000..38076e6 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_VERIFY_PARAM_get0_peername.3 @@ -0,0 +1 @@ +X509_VERIFY_PARAM_set_flags.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_VERIFY_PARAM_get_auth_level.3 b/linux_amd64/share/man/man3/X509_VERIFY_PARAM_get_auth_level.3 new file mode 120000 index 0000000..38076e6 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_VERIFY_PARAM_get_auth_level.3 @@ -0,0 +1 @@ +X509_VERIFY_PARAM_set_flags.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_VERIFY_PARAM_get_depth.3 b/linux_amd64/share/man/man3/X509_VERIFY_PARAM_get_depth.3 new file mode 120000 index 0000000..38076e6 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_VERIFY_PARAM_get_depth.3 @@ -0,0 +1 @@ +X509_VERIFY_PARAM_set_flags.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_VERIFY_PARAM_get_flags.3 b/linux_amd64/share/man/man3/X509_VERIFY_PARAM_get_flags.3 new file mode 120000 index 0000000..38076e6 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_VERIFY_PARAM_get_flags.3 @@ -0,0 +1 @@ +X509_VERIFY_PARAM_set_flags.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_VERIFY_PARAM_get_hostflags.3 b/linux_amd64/share/man/man3/X509_VERIFY_PARAM_get_hostflags.3 new file mode 120000 index 0000000..38076e6 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_VERIFY_PARAM_get_hostflags.3 @@ -0,0 +1 @@ +X509_VERIFY_PARAM_set_flags.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_VERIFY_PARAM_get_inh_flags.3 b/linux_amd64/share/man/man3/X509_VERIFY_PARAM_get_inh_flags.3 new file mode 120000 index 0000000..38076e6 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_VERIFY_PARAM_get_inh_flags.3 @@ -0,0 +1 @@ +X509_VERIFY_PARAM_set_flags.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_VERIFY_PARAM_get_time.3 b/linux_amd64/share/man/man3/X509_VERIFY_PARAM_get_time.3 new file mode 120000 index 0000000..38076e6 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_VERIFY_PARAM_get_time.3 @@ -0,0 +1 @@ +X509_VERIFY_PARAM_set_flags.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_VERIFY_PARAM_set1_email.3 b/linux_amd64/share/man/man3/X509_VERIFY_PARAM_set1_email.3 new file mode 120000 index 0000000..38076e6 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_VERIFY_PARAM_set1_email.3 @@ -0,0 +1 @@ +X509_VERIFY_PARAM_set_flags.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_VERIFY_PARAM_set1_host.3 b/linux_amd64/share/man/man3/X509_VERIFY_PARAM_set1_host.3 new file mode 120000 index 0000000..38076e6 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_VERIFY_PARAM_set1_host.3 @@ -0,0 +1 @@ +X509_VERIFY_PARAM_set_flags.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_VERIFY_PARAM_set1_ip.3 b/linux_amd64/share/man/man3/X509_VERIFY_PARAM_set1_ip.3 new file mode 120000 index 0000000..38076e6 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_VERIFY_PARAM_set1_ip.3 @@ -0,0 +1 @@ +X509_VERIFY_PARAM_set_flags.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_VERIFY_PARAM_set1_ip_asc.3 b/linux_amd64/share/man/man3/X509_VERIFY_PARAM_set1_ip_asc.3 new file mode 120000 index 0000000..38076e6 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_VERIFY_PARAM_set1_ip_asc.3 @@ -0,0 +1 @@ +X509_VERIFY_PARAM_set_flags.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_VERIFY_PARAM_set1_policies.3 b/linux_amd64/share/man/man3/X509_VERIFY_PARAM_set1_policies.3 new file mode 120000 index 0000000..38076e6 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_VERIFY_PARAM_set1_policies.3 @@ -0,0 +1 @@ +X509_VERIFY_PARAM_set_flags.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_VERIFY_PARAM_set_auth_level.3 b/linux_amd64/share/man/man3/X509_VERIFY_PARAM_set_auth_level.3 new file mode 120000 index 0000000..38076e6 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_VERIFY_PARAM_set_auth_level.3 @@ -0,0 +1 @@ +X509_VERIFY_PARAM_set_flags.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_VERIFY_PARAM_set_depth.3 b/linux_amd64/share/man/man3/X509_VERIFY_PARAM_set_depth.3 new file mode 120000 index 0000000..38076e6 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_VERIFY_PARAM_set_depth.3 @@ -0,0 +1 @@ +X509_VERIFY_PARAM_set_flags.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_VERIFY_PARAM_set_flags.3 b/linux_amd64/share/man/man3/X509_VERIFY_PARAM_set_flags.3 index 058e77d..03f7baf 100755 --- a/linux_amd64/share/man/man3/X509_VERIFY_PARAM_set_flags.3 +++ b/linux_amd64/share/man/man3/X509_VERIFY_PARAM_set_flags.3 @@ -124,27 +124,13 @@ .\" ======================================================================== .\" .IX Title "X509_VERIFY_PARAM_SET_FLAGS 3" -.TH X509_VERIFY_PARAM_SET_FLAGS 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH X509_VERIFY_PARAM_SET_FLAGS 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -X509_VERIFY_PARAM_set_flags, X509_VERIFY_PARAM_clear_flags, -X509_VERIFY_PARAM_get_flags, X509_VERIFY_PARAM_set_purpose, -X509_VERIFY_PARAM_get_inh_flags, X509_VERIFY_PARAM_set_inh_flags, -X509_VERIFY_PARAM_set_trust, X509_VERIFY_PARAM_set_depth, -X509_VERIFY_PARAM_get_depth, X509_VERIFY_PARAM_set_auth_level, -X509_VERIFY_PARAM_get_auth_level, X509_VERIFY_PARAM_set_time, -X509_VERIFY_PARAM_get_time, -X509_VERIFY_PARAM_add0_policy, X509_VERIFY_PARAM_set1_policies, -X509_VERIFY_PARAM_set1_host, X509_VERIFY_PARAM_add1_host, -X509_VERIFY_PARAM_set_hostflags, -X509_VERIFY_PARAM_get_hostflags, -X509_VERIFY_PARAM_get0_peername, -X509_VERIFY_PARAM_set1_email, X509_VERIFY_PARAM_set1_ip, -X509_VERIFY_PARAM_set1_ip_asc -\&\- X509 verification parameters +X509_VERIFY_PARAM_set_flags, X509_VERIFY_PARAM_clear_flags, X509_VERIFY_PARAM_get_flags, X509_VERIFY_PARAM_set_purpose, X509_VERIFY_PARAM_get_inh_flags, X509_VERIFY_PARAM_set_inh_flags, X509_VERIFY_PARAM_set_trust, X509_VERIFY_PARAM_set_depth, X509_VERIFY_PARAM_get_depth, X509_VERIFY_PARAM_set_auth_level, X509_VERIFY_PARAM_get_auth_level, X509_VERIFY_PARAM_set_time, X509_VERIFY_PARAM_get_time, X509_VERIFY_PARAM_add0_policy, X509_VERIFY_PARAM_set1_policies, X509_VERIFY_PARAM_set1_host, X509_VERIFY_PARAM_add1_host, X509_VERIFY_PARAM_set_hostflags, X509_VERIFY_PARAM_get_hostflags, X509_VERIFY_PARAM_get0_peername, X509_VERIFY_PARAM_set1_email, X509_VERIFY_PARAM_set1_ip, X509_VERIFY_PARAM_set1_ip_asc \&\- X509 verification parameters .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -154,7 +140,7 @@ X509_VERIFY_PARAM_set1_ip_asc \& unsigned long flags); \& int X509_VERIFY_PARAM_clear_flags(X509_VERIFY_PARAM *param, \& unsigned long flags); -\& unsigned long X509_VERIFY_PARAM_get_flags(const X509_VERIFY_PARAM *param); +\& unsigned long X509_VERIFY_PARAM_get_flags(X509_VERIFY_PARAM *param); \& \& int X509_VERIFY_PARAM_set_inh_flags(X509_VERIFY_PARAM *param, \& uint32_t flags); @@ -257,7 +243,7 @@ interoperable, though it will, for example, reject \s-1MD5\s0 signatures or \s-1 shorter than 1024 bits. .PP \&\fIX509_VERIFY_PARAM_set1_host()\fR sets the expected \s-1DNS\s0 hostname to -\&\fBname\fR clearing any previously specified hostname. If +\&\fBname\fR clearing any previously specified host name or names. If \&\fBname\fR is \s-1NULL\s0, or empty the list of hostnames is cleared, and name checks are not performed on the peer certificate. If \fBname\fR is NUL-terminated, \fBnamelen\fR may be zero, otherwise \fBnamelen\fR @@ -403,7 +389,7 @@ before searching the provided untrusted certificates. Local issuer certificates are often more likely to satisfy local security requirements and lead to a locally trusted root. This is especially important when some certificates in the trust store have -explicit trust settings (see \*(L"\s-1TRUST\s0 \s-1SETTINGS\s0\*(R" in \fIopenssl\-x509\fR\|(1)). +explicit trust settings (see \*(L"\s-1TRUST\s0 \s-1SETTINGS\s0\*(R" in \fIx509\fR\|(1)). As of OpenSSL 1.1.0 this option is on by default. .PP The \fBX509_V_FLAG_NO_ALT_CHAINS\fR flag suppresses checking for alternative @@ -487,7 +473,7 @@ connections associated with an \fB\s-1SSL_CTX\s0\fR structure \fBctx\fR: \&\fIX509_check_host\fR\|(3), \&\fIX509_check_email\fR\|(3), \&\fIX509_check_ip\fR\|(3), -\&\fIopenssl\-x509\fR\|(1) +\&\fIx509\fR\|(1) .SH "HISTORY" .IX Header "HISTORY" The \fBX509_V_FLAG_NO_ALT_CHAINS\fR flag was added in OpenSSL 1.1.0. @@ -497,9 +483,9 @@ and has no effect. The \fIX509_VERIFY_PARAM_get_hostflags()\fR function was added in OpenSSL 1.1.0i. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2009\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2009\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/X509_VERIFY_PARAM_set_hostflags.3 b/linux_amd64/share/man/man3/X509_VERIFY_PARAM_set_hostflags.3 new file mode 120000 index 0000000..38076e6 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_VERIFY_PARAM_set_hostflags.3 @@ -0,0 +1 @@ +X509_VERIFY_PARAM_set_flags.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_VERIFY_PARAM_set_inh_flags.3 b/linux_amd64/share/man/man3/X509_VERIFY_PARAM_set_inh_flags.3 new file mode 120000 index 0000000..38076e6 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_VERIFY_PARAM_set_inh_flags.3 @@ -0,0 +1 @@ +X509_VERIFY_PARAM_set_flags.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_VERIFY_PARAM_set_purpose.3 b/linux_amd64/share/man/man3/X509_VERIFY_PARAM_set_purpose.3 new file mode 120000 index 0000000..38076e6 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_VERIFY_PARAM_set_purpose.3 @@ -0,0 +1 @@ +X509_VERIFY_PARAM_set_flags.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_VERIFY_PARAM_set_time.3 b/linux_amd64/share/man/man3/X509_VERIFY_PARAM_set_time.3 new file mode 120000 index 0000000..38076e6 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_VERIFY_PARAM_set_time.3 @@ -0,0 +1 @@ +X509_VERIFY_PARAM_set_flags.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_VERIFY_PARAM_set_trust.3 b/linux_amd64/share/man/man3/X509_VERIFY_PARAM_set_trust.3 new file mode 120000 index 0000000..38076e6 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_VERIFY_PARAM_set_trust.3 @@ -0,0 +1 @@ +X509_VERIFY_PARAM_set_flags.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_add1_ext_i2d.3 b/linux_amd64/share/man/man3/X509_add1_ext_i2d.3 new file mode 120000 index 0000000..5b4a5e5 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_add1_ext_i2d.3 @@ -0,0 +1 @@ +X509V3_get_d2i.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_add_ext.3 b/linux_amd64/share/man/man3/X509_add_ext.3 new file mode 120000 index 0000000..45af049 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_add_ext.3 @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_chain_up_ref.3 b/linux_amd64/share/man/man3/X509_chain_up_ref.3 new file mode 120000 index 0000000..ca54419 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_chain_up_ref.3 @@ -0,0 +1 @@ +X509_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_check_ca.3 b/linux_amd64/share/man/man3/X509_check_ca.3 index 75876c8..d3f4c7c 100755 --- a/linux_amd64/share/man/man3/X509_check_ca.3 +++ b/linux_amd64/share/man/man3/X509_check_ca.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "X509_CHECK_CA 3" -.TH X509_CHECK_CA 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH X509_CHECK_CA 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -151,7 +151,7 @@ Function return 0, if it is not \s-1CA\s0 certificate, 1 if it is proper X509v3 \&\fBbasicConstraints\fR, and 5 if it has outdated Netscape Certificate Type extension telling that it is \s-1CA\s0 certificate. .PP -Actually, any nonzero value means that this certificate could have been +Actually, any non-zero value means that this certificate could have been used to sign other certificates. .SH "SEE ALSO" .IX Header "SEE ALSO" @@ -162,7 +162,7 @@ used to sign other certificates. .IX Header "COPYRIGHT" Copyright 2015\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/X509_check_email.3 b/linux_amd64/share/man/man3/X509_check_email.3 new file mode 120000 index 0000000..e988d7b --- /dev/null +++ b/linux_amd64/share/man/man3/X509_check_email.3 @@ -0,0 +1 @@ +X509_check_host.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_check_host.3 b/linux_amd64/share/man/man3/X509_check_host.3 index 2bd4755..6dc4727 100755 --- a/linux_amd64/share/man/man3/X509_check_host.3 +++ b/linux_amd64/share/man/man3/X509_check_host.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "X509_CHECK_HOST 3" -.TH X509_CHECK_HOST 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH X509_CHECK_HOST 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -147,7 +147,7 @@ X509_check_host, X509_check_email, X509_check_ip, X509_check_ip_asc \- X.509 cer .SH "DESCRIPTION" .IX Header "DESCRIPTION" The certificate matching functions are used to check whether a -certificate matches a given hostname, email address, or \s-1IP\s0 address. +certificate matches a given host name, email address, or \s-1IP\s0 address. The validity of the certificate and its trust level has to be checked by other means. .PP @@ -254,7 +254,7 @@ NULs. .SH "NOTES" .IX Header "NOTES" Applications are encouraged to use \fIX509_VERIFY_PARAM_set1_host()\fR -rather than explicitly calling \fIX509_check_host\fR\|(3). Hostname +rather than explicitly calling \fIX509_check_host\fR\|(3). Host name checks may be out of scope with the \s-1\fIDANE\-EE\s0\fR\|(3) certificate usage, and the internal checks will be suppressed as appropriate when \&\s-1DANE\s0 support is enabled. @@ -273,7 +273,7 @@ These functions were added in OpenSSL 1.0.2. .IX Header "COPYRIGHT" Copyright 2012\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/X509_check_ip.3 b/linux_amd64/share/man/man3/X509_check_ip.3 new file mode 120000 index 0000000..e988d7b --- /dev/null +++ b/linux_amd64/share/man/man3/X509_check_ip.3 @@ -0,0 +1 @@ +X509_check_host.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_check_ip_asc.3 b/linux_amd64/share/man/man3/X509_check_ip_asc.3 new file mode 120000 index 0000000..e988d7b --- /dev/null +++ b/linux_amd64/share/man/man3/X509_check_ip_asc.3 @@ -0,0 +1 @@ +X509_check_host.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_check_issued.3 b/linux_amd64/share/man/man3/X509_check_issued.3 index e159984..755288d 100755 --- a/linux_amd64/share/man/man3/X509_check_issued.3 +++ b/linux_amd64/share/man/man3/X509_check_issued.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "X509_CHECK_ISSUED 3" -.TH X509_CHECK_ISSUED 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH X509_CHECK_ISSUED 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -X509_check_issued \- checks if certificate is issued by another -certificate +X509_check_issued \- checks if certificate is issued by another certificate .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -156,12 +155,12 @@ Function return \fBX509_V_OK\fR if certificate \fIsubject\fR is issued by .IX Header "SEE ALSO" \&\fIX509_verify_cert\fR\|(3), \&\fIX509_check_ca\fR\|(3), -\&\fIopenssl\-verify\fR\|(1) +\&\fIverify\fR\|(1) .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2015\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/X509_check_private_key.3 b/linux_amd64/share/man/man3/X509_check_private_key.3 index cd20175..2667574 100755 --- a/linux_amd64/share/man/man3/X509_check_private_key.3 +++ b/linux_amd64/share/man/man3/X509_check_private_key.3 @@ -124,15 +124,13 @@ .\" ======================================================================== .\" .IX Title "X509_CHECK_PRIVATE_KEY 3" -.TH X509_CHECK_PRIVATE_KEY 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH X509_CHECK_PRIVATE_KEY 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -X509_check_private_key, X509_REQ_check_private_key \- check the consistency -of a private key with the public key in an X509 certificate or certificate -request +X509_check_private_key, X509_REQ_check_private_key \- check the consistency of a private key with the public key in an X509 certificate or certificate request .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -170,7 +168,7 @@ return success. .IX Header "COPYRIGHT" Copyright 2017\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/X509_cmp.3 b/linux_amd64/share/man/man3/X509_cmp.3 index 09d1aaa..839cc7b 100755 --- a/linux_amd64/share/man/man3/X509_cmp.3 +++ b/linux_amd64/share/man/man3/X509_cmp.3 @@ -124,16 +124,13 @@ .\" ======================================================================== .\" .IX Title "X509_CMP 3" -.TH X509_CMP 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH X509_CMP 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -X509_cmp, X509_NAME_cmp, -X509_issuer_and_serial_cmp, X509_issuer_name_cmp, X509_subject_name_cmp, -X509_CRL_cmp, X509_CRL_match -\&\- compare X509 certificates and related values +X509_cmp, X509_NAME_cmp, X509_issuer_and_serial_cmp, X509_issuer_name_cmp, X509_subject_name_cmp, X509_CRL_cmp, X509_CRL_match \&\- compare X509 certificates and related values .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 diff --git a/linux_amd64/share/man/man3/X509_cmp_current_time.3 b/linux_amd64/share/man/man3/X509_cmp_current_time.3 new file mode 120000 index 0000000..c4d0df6 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_cmp_current_time.3 @@ -0,0 +1 @@ +X509_cmp_time.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_cmp_time.3 b/linux_amd64/share/man/man3/X509_cmp_time.3 index 70f400b..d834dd1 100755 --- a/linux_amd64/share/man/man3/X509_cmp_time.3 +++ b/linux_amd64/share/man/man3/X509_cmp_time.3 @@ -124,22 +124,18 @@ .\" ======================================================================== .\" .IX Title "X509_CMP_TIME 3" -.TH X509_CMP_TIME 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH X509_CMP_TIME 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -X509_cmp_time, X509_cmp_current_time, X509_cmp_timeframe, -X509_time_adj, X509_time_adj_ex -\&\- X509 time functions +X509_cmp_time, X509_cmp_current_time, X509_time_adj, X509_time_adj_ex \&\- X509 time functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" -.Vb 7 +.Vb 5 \& int X509_cmp_time(const ASN1_TIME *asn1_time, time_t *in_tm); \& int X509_cmp_current_time(const ASN1_TIME *asn1_time); -\& int X509_cmp_timeframe(const X509_VERIFY_PARAM *vpm, -\& const ASN1_TIME *start, const ASN1_TIME *end); \& ASN1_TIME *X509_time_adj(ASN1_TIME *asn1_time, long offset_sec, time_t *in_tm); \& ASN1_TIME *X509_time_adj_ex(ASN1_TIME *asn1_time, int offset_day, long \& offset_sec, time_t *in_tm); @@ -147,14 +143,10 @@ X509_time_adj, X509_time_adj_ex .SH "DESCRIPTION" .IX Header "DESCRIPTION" \&\fIX509_cmp_time()\fR compares the \s-1ASN1_TIME\s0 in \fBasn1_time\fR with the time -in . -.PP -\&\fIX509_cmp_current_time()\fR compares the \s-1ASN1_TIME\s0 in -\&\fBasn1_time\fR with the current time, expressed as time_t. -.PP -\&\fIX509_cmp_timeframe()\fR compares the given time period with the reference time -included in the verification parameters \fBvpm\fR if they are not \s-1NULL\s0 and contain -\&\fBX509_V_FLAG_USE_CHECK_TIME\fR; else the current time is used as reference time. +in . \fIX509_cmp_current_time()\fR compares the \s-1ASN1_TIME\s0 in +\&\fBasn1_time\fR with the current time, expressed as time_t. \fBasn1_time\fR +must satisfy the \s-1ASN1_TIME\s0 format mandated by \s-1RFC\s0 5280, i.e., its +format must be either \s-1YYMMDDHHMMSSZ\s0 or \s-1YYYYMMDDHHMMSSZ\s0. .PP \&\fIX509_time_adj_ex()\fR sets the \s-1ASN1_TIME\s0 structure \fBasn1_time\fR to the time \&\fBoffset_day\fR and \fBoffset_sec\fR after \fBin_tm\fR. @@ -169,9 +161,6 @@ is allocated and returned. .PP In all methods, if \fBin_tm\fR is \s-1NULL\s0, the current time, expressed as time_t, is used. -.PP -\&\fBasn1_time\fR must satisfy the \s-1ASN1_TIME\s0 format mandated by \s-1RFC\s0 5280, -i.e., its format must be either \s-1YYMMDDHHMMSSZ\s0 or \s-1YYYYMMDDHHMMSSZ\s0. .SH "BUGS" .IX Header "BUGS" Unlike many standard comparison functions, \fIX509_cmp_time()\fR and @@ -179,27 +168,16 @@ Unlike many standard comparison functions, \fIX509_cmp_time()\fR and .SH "RETURN VALUES" .IX Header "RETURN VALUES" \&\fIX509_cmp_time()\fR and \fIX509_cmp_current_time()\fR return \-1 if \fBasn1_time\fR -is earlier than, or equal to, \fBin_tm\fR (resp. current time), and 1 +is earlier than, or equal to, \fBcmp_time\fR (resp. current time), and 1 otherwise. These methods return 0 on error. .PP -\&\fIX509_cmp_timeframe()\fR returns 0 if \fBvpm\fR is not \s-1NULL\s0 and the verification -parameters do not contain \fBX509_V_FLAG_USE_CHECK_TIME\fR -but do contain \fBX509_V_FLAG_NO_CHECK_TIME\fR. Otherwise it returns -1 if the end time is not \s-1NULL\s0 and the reference time (which has determined as -stated above) is past the end time, \-1 if the start time is not \s-1NULL\s0 and the -reference time is before, else 0 to indicate that the reference time is in range -(implying that the end time is not before the start time if both are present). -.PP \&\fIX509_time_adj()\fR and \fIX509_time_adj_ex()\fR return a pointer to the updated \&\s-1ASN1_TIME\s0 structure, and \s-1NULL\s0 on error. -.SH "HISTORY" -.IX Header "HISTORY" -\&\fIX509_cmp_timeframe()\fR was added in OpenSSL 3.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2017\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/X509_delete_ext.3 b/linux_amd64/share/man/man3/X509_delete_ext.3 new file mode 120000 index 0000000..45af049 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_delete_ext.3 @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_digest.3 b/linux_amd64/share/man/man3/X509_digest.3 index 1035134..fca877e 100755 --- a/linux_amd64/share/man/man3/X509_digest.3 +++ b/linux_amd64/share/man/man3/X509_digest.3 @@ -124,18 +124,13 @@ .\" ======================================================================== .\" .IX Title "X509_DIGEST 3" -.TH X509_DIGEST 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH X509_DIGEST 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -X509_digest, X509_CRL_digest, -X509_pubkey_digest, -X509_NAME_digest, -X509_REQ_digest, -PKCS7_ISSUER_AND_SERIAL_digest -\&\- get digest of various objects +X509_digest, X509_CRL_digest, X509_pubkey_digest, X509_NAME_digest, X509_REQ_digest, PKCS7_ISSUER_AND_SERIAL_digest \&\- get digest of various objects .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -184,7 +179,7 @@ All functions described here return 1 for success and 0 for failure. .IX Header "COPYRIGHT" Copyright 2017\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/X509_dup.3 b/linux_amd64/share/man/man3/X509_dup.3 index 36e8f0b..141b774 100755 --- a/linux_amd64/share/man/man3/X509_dup.3 +++ b/linux_amd64/share/man/man3/X509_dup.3 @@ -124,294 +124,13 @@ .\" ======================================================================== .\" .IX Title "X509_DUP 3" -.TH X509_DUP 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH X509_DUP 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -DECLARE_ASN1_FUNCTIONS, -IMPLEMENT_ASN1_FUNCTIONS, -ASN1_ITEM, -ACCESS_DESCRIPTION_free, -ACCESS_DESCRIPTION_new, -ADMISSIONS_free, -ADMISSIONS_new, -ADMISSION_SYNTAX_free, -ADMISSION_SYNTAX_new, -ASIdOrRange_free, -ASIdOrRange_new, -ASIdentifierChoice_free, -ASIdentifierChoice_new, -ASIdentifiers_free, -ASIdentifiers_new, -ASRange_free, -ASRange_new, -AUTHORITY_INFO_ACCESS_free, -AUTHORITY_INFO_ACCESS_new, -AUTHORITY_KEYID_free, -AUTHORITY_KEYID_new, -BASIC_CONSTRAINTS_free, -BASIC_CONSTRAINTS_new, -CERTIFICATEPOLICIES_free, -CERTIFICATEPOLICIES_new, -CMS_ContentInfo_free, -CMS_ContentInfo_new, -CMS_ContentInfo_print_ctx, -CMS_ReceiptRequest_free, -CMS_ReceiptRequest_new, -CRL_DIST_POINTS_free, -CRL_DIST_POINTS_new, -DIRECTORYSTRING_free, -DIRECTORYSTRING_new, -DISPLAYTEXT_free, -DISPLAYTEXT_new, -DIST_POINT_NAME_free, -DIST_POINT_NAME_new, -DIST_POINT_free, -DIST_POINT_new, -DSAparams_dup, -ECPARAMETERS_free, -ECPARAMETERS_new, -ECPKPARAMETERS_free, -ECPKPARAMETERS_new, -EDIPARTYNAME_free, -EDIPARTYNAME_new, -ESS_CERT_ID_dup, -ESS_CERT_ID_free, -ESS_CERT_ID_new, -ESS_CERT_ID_V2_dup, -ESS_CERT_ID_V2_free, -ESS_CERT_ID_V2_new, -ESS_ISSUER_SERIAL_dup, -ESS_ISSUER_SERIAL_free, -ESS_ISSUER_SERIAL_new, -ESS_SIGNING_CERT_dup, -ESS_SIGNING_CERT_free, -ESS_SIGNING_CERT_new, -ESS_SIGNING_CERT_V2_dup, -ESS_SIGNING_CERT_V2_free, -ESS_SIGNING_CERT_V2_new, -EXTENDED_KEY_USAGE_free, -EXTENDED_KEY_USAGE_new, -GENERAL_NAMES_free, -GENERAL_NAMES_new, -GENERAL_NAME_dup, -GENERAL_NAME_free, -GENERAL_NAME_new, -GENERAL_SUBTREE_free, -GENERAL_SUBTREE_new, -IPAddressChoice_free, -IPAddressChoice_new, -IPAddressFamily_free, -IPAddressFamily_new, -IPAddressOrRange_free, -IPAddressOrRange_new, -IPAddressRange_free, -IPAddressRange_new, -ISSUING_DIST_POINT_free, -ISSUING_DIST_POINT_new, -NAME_CONSTRAINTS_free, -NAME_CONSTRAINTS_new, -NAMING_AUTHORITY_free, -NAMING_AUTHORITY_new, -NETSCAPE_CERT_SEQUENCE_free, -NETSCAPE_CERT_SEQUENCE_new, -NETSCAPE_SPKAC_free, -NETSCAPE_SPKAC_new, -NETSCAPE_SPKI_free, -NETSCAPE_SPKI_new, -NOTICEREF_free, -NOTICEREF_new, -OCSP_BASICRESP_free, -OCSP_BASICRESP_new, -OCSP_CERTID_dup, -OCSP_CERTID_new, -OCSP_CERTSTATUS_free, -OCSP_CERTSTATUS_new, -OCSP_CRLID_free, -OCSP_CRLID_new, -OCSP_ONEREQ_free, -OCSP_ONEREQ_new, -OCSP_REQINFO_free, -OCSP_REQINFO_new, -OCSP_RESPBYTES_free, -OCSP_RESPBYTES_new, -OCSP_RESPDATA_free, -OCSP_RESPDATA_new, -OCSP_RESPID_free, -OCSP_RESPID_new, -OCSP_RESPONSE_new, -OCSP_REVOKEDINFO_free, -OCSP_REVOKEDINFO_new, -OCSP_SERVICELOC_free, -OCSP_SERVICELOC_new, -OCSP_SIGNATURE_free, -OCSP_SIGNATURE_new, -OCSP_SINGLERESP_free, -OCSP_SINGLERESP_new, -OSSL_CMP_ITAV_free, -OSSL_CMP_MSG_it, -OSSL_CMP_MSG_free, -OSSL_CMP_PKIHEADER_free, -OSSL_CMP_PKIHEADER_it, -OSSL_CMP_PKIHEADER_new, -OSSL_CMP_PKISI_free, -OSSL_CMP_PKISI_new, -OSSL_CMP_PKISTATUS_it, -OSSL_CRMF_CERTID_free, -OSSL_CRMF_CERTID_it, -OSSL_CRMF_CERTID_new, -OSSL_CRMF_CERTTEMPLATE_free, -OSSL_CRMF_CERTTEMPLATE_it, -OSSL_CRMF_CERTTEMPLATE_new, -OSSL_CRMF_ENCRYPTEDVALUE_free, -OSSL_CRMF_ENCRYPTEDVALUE_it, -OSSL_CRMF_ENCRYPTEDVALUE_new, -OSSL_CRMF_MSGS_free, -OSSL_CRMF_MSGS_it, -OSSL_CRMF_MSGS_new, -OSSL_CRMF_MSG_free, -OSSL_CRMF_MSG_it, -OSSL_CRMF_MSG_new, -OSSL_CRMF_PBMPARAMETER_free, -OSSL_CRMF_PBMPARAMETER_it, -OSSL_CRMF_PBMPARAMETER_new, -OSSL_CRMF_PKIPUBLICATIONINFO_free, -OSSL_CRMF_PKIPUBLICATIONINFO_it, -OSSL_CRMF_PKIPUBLICATIONINFO_new, -OSSL_CRMF_SINGLEPUBINFO_free, -OSSL_CRMF_SINGLEPUBINFO_it, -OSSL_CRMF_SINGLEPUBINFO_new, -OTHERNAME_free, -OTHERNAME_new, -PBE2PARAM_free, -PBE2PARAM_new, -PBEPARAM_free, -PBEPARAM_new, -PBKDF2PARAM_free, -PBKDF2PARAM_new, -PKCS12_BAGS_free, -PKCS12_BAGS_new, -PKCS12_MAC_DATA_free, -PKCS12_MAC_DATA_new, -PKCS12_SAFEBAG_free, -PKCS12_SAFEBAG_new, -PKCS12_free, -PKCS12_new, -PKCS7_DIGEST_free, -PKCS7_DIGEST_new, -PKCS7_ENCRYPT_free, -PKCS7_ENCRYPT_new, -PKCS7_ENC_CONTENT_free, -PKCS7_ENC_CONTENT_new, -PKCS7_ENVELOPE_free, -PKCS7_ENVELOPE_new, -PKCS7_ISSUER_AND_SERIAL_free, -PKCS7_ISSUER_AND_SERIAL_new, -PKCS7_RECIP_INFO_free, -PKCS7_RECIP_INFO_new, -PKCS7_SIGNED_free, -PKCS7_SIGNED_new, -PKCS7_SIGNER_INFO_free, -PKCS7_SIGNER_INFO_new, -PKCS7_SIGN_ENVELOPE_free, -PKCS7_SIGN_ENVELOPE_new, -PKCS7_dup, -PKCS7_free, -PKCS7_new, -PKCS7_print_ctx, -PKCS8_PRIV_KEY_INFO_free, -PKCS8_PRIV_KEY_INFO_new, -PKEY_USAGE_PERIOD_free, -PKEY_USAGE_PERIOD_new, -POLICYINFO_free, -POLICYINFO_new, -POLICYQUALINFO_free, -POLICYQUALINFO_new, -POLICY_CONSTRAINTS_free, -POLICY_CONSTRAINTS_new, -POLICY_MAPPING_free, -POLICY_MAPPING_new, -PROFESSION_INFOS_free, -PROFESSION_INFOS_new, -PROFESSION_INFO_free, -PROFESSION_INFO_new, -PROXY_CERT_INFO_EXTENSION_free, -PROXY_CERT_INFO_EXTENSION_new, -PROXY_POLICY_free, -PROXY_POLICY_new, -RSAPrivateKey_dup, -RSAPublicKey_dup, -RSA_OAEP_PARAMS_free, -RSA_OAEP_PARAMS_new, -RSA_PSS_PARAMS_free, -RSA_PSS_PARAMS_new, -SCRYPT_PARAMS_free, -SCRYPT_PARAMS_new, -SXNETID_free, -SXNETID_new, -SXNET_free, -SXNET_new, -TLS_FEATURE_free, -TLS_FEATURE_new, -TS_ACCURACY_dup, -TS_ACCURACY_free, -TS_ACCURACY_new, -TS_MSG_IMPRINT_dup, -TS_MSG_IMPRINT_free, -TS_MSG_IMPRINT_new, -TS_REQ_dup, -TS_REQ_free, -TS_REQ_new, -TS_RESP_dup, -TS_RESP_free, -TS_RESP_new, -TS_STATUS_INFO_dup, -TS_STATUS_INFO_free, -TS_STATUS_INFO_new, -TS_TST_INFO_dup, -TS_TST_INFO_free, -TS_TST_INFO_new, -USERNOTICE_free, -USERNOTICE_new, -X509_ALGOR_free, -X509_ALGOR_new, -X509_ATTRIBUTE_dup, -X509_ATTRIBUTE_free, -X509_ATTRIBUTE_new, -X509_CERT_AUX_free, -X509_CERT_AUX_new, -X509_CINF_free, -X509_CINF_new, -X509_CRL_INFO_free, -X509_CRL_INFO_new, -X509_CRL_dup, -X509_CRL_free, -X509_CRL_new, -X509_EXTENSION_dup, -X509_EXTENSION_free, -X509_EXTENSION_new, -X509_NAME_ENTRY_dup, -X509_NAME_ENTRY_free, -X509_NAME_ENTRY_new, -X509_NAME_dup, -X509_NAME_free, -X509_NAME_new, -X509_REQ_INFO_free, -X509_REQ_INFO_new, -X509_REQ_dup, -X509_REQ_free, -X509_REQ_new, -X509_REVOKED_dup, -X509_REVOKED_free, -X509_REVOKED_new, -X509_SIG_free, -X509_SIG_new, -X509_VAL_free, -X509_VAL_new, -X509_dup, -\&\- ASN1 object utilities +DECLARE_ASN1_FUNCTIONS, IMPLEMENT_ASN1_FUNCTIONS, ASN1_ITEM, ACCESS_DESCRIPTION_free, ACCESS_DESCRIPTION_new, ADMISSIONS_free, ADMISSIONS_new, ADMISSION_SYNTAX_free, ADMISSION_SYNTAX_new, ASIdOrRange_free, ASIdOrRange_new, ASIdentifierChoice_free, ASIdentifierChoice_new, ASIdentifiers_free, ASIdentifiers_new, ASRange_free, ASRange_new, AUTHORITY_INFO_ACCESS_free, AUTHORITY_INFO_ACCESS_new, AUTHORITY_KEYID_free, AUTHORITY_KEYID_new, BASIC_CONSTRAINTS_free, BASIC_CONSTRAINTS_new, CERTIFICATEPOLICIES_free, CERTIFICATEPOLICIES_new, CMS_ContentInfo_free, CMS_ContentInfo_new, CMS_ContentInfo_print_ctx, CMS_ReceiptRequest_free, CMS_ReceiptRequest_new, CRL_DIST_POINTS_free, CRL_DIST_POINTS_new, DIRECTORYSTRING_free, DIRECTORYSTRING_new, DISPLAYTEXT_free, DISPLAYTEXT_new, DIST_POINT_NAME_free, DIST_POINT_NAME_new, DIST_POINT_free, DIST_POINT_new, DSAparams_dup, ECPARAMETERS_free, ECPARAMETERS_new, ECPKPARAMETERS_free, ECPKPARAMETERS_new, EDIPARTYNAME_free, EDIPARTYNAME_new, ESS_CERT_ID_dup, ESS_CERT_ID_free, ESS_CERT_ID_new, ESS_ISSUER_SERIAL_dup, ESS_ISSUER_SERIAL_free, ESS_ISSUER_SERIAL_new, ESS_SIGNING_CERT_dup, ESS_SIGNING_CERT_free, ESS_SIGNING_CERT_new, EXTENDED_KEY_USAGE_free, EXTENDED_KEY_USAGE_new, GENERAL_NAMES_free, GENERAL_NAMES_new, GENERAL_NAME_dup, GENERAL_NAME_free, GENERAL_NAME_new, GENERAL_SUBTREE_free, GENERAL_SUBTREE_new, IPAddressChoice_free, IPAddressChoice_new, IPAddressFamily_free, IPAddressFamily_new, IPAddressOrRange_free, IPAddressOrRange_new, IPAddressRange_free, IPAddressRange_new, ISSUING_DIST_POINT_free, ISSUING_DIST_POINT_new, NAME_CONSTRAINTS_free, NAME_CONSTRAINTS_new, NAMING_AUTHORITY_free, NAMING_AUTHORITY_new, NETSCAPE_CERT_SEQUENCE_free, NETSCAPE_CERT_SEQUENCE_new, NETSCAPE_SPKAC_free, NETSCAPE_SPKAC_new, NETSCAPE_SPKI_free, NETSCAPE_SPKI_new, NOTICEREF_free, NOTICEREF_new, OCSP_BASICRESP_free, OCSP_BASICRESP_new, OCSP_CERTID_dup, OCSP_CERTID_new, OCSP_CERTSTATUS_free, OCSP_CERTSTATUS_new, OCSP_CRLID_free, OCSP_CRLID_new, OCSP_ONEREQ_free, OCSP_ONEREQ_new, OCSP_REQINFO_free, OCSP_REQINFO_new, OCSP_RESPBYTES_free, OCSP_RESPBYTES_new, OCSP_RESPDATA_free, OCSP_RESPDATA_new, OCSP_RESPID_free, OCSP_RESPID_new, OCSP_RESPONSE_new, OCSP_REVOKEDINFO_free, OCSP_REVOKEDINFO_new, OCSP_SERVICELOC_free, OCSP_SERVICELOC_new, OCSP_SIGNATURE_free, OCSP_SIGNATURE_new, OCSP_SINGLERESP_free, OCSP_SINGLERESP_new, OTHERNAME_free, OTHERNAME_new, PBE2PARAM_free, PBE2PARAM_new, PBEPARAM_free, PBEPARAM_new, PBKDF2PARAM_free, PBKDF2PARAM_new, PKCS12_BAGS_free, PKCS12_BAGS_new, PKCS12_MAC_DATA_free, PKCS12_MAC_DATA_new, PKCS12_SAFEBAG_free, PKCS12_SAFEBAG_new, PKCS12_free, PKCS12_new, PKCS7_DIGEST_free, PKCS7_DIGEST_new, PKCS7_ENCRYPT_free, PKCS7_ENCRYPT_new, PKCS7_ENC_CONTENT_free, PKCS7_ENC_CONTENT_new, PKCS7_ENVELOPE_free, PKCS7_ENVELOPE_new, PKCS7_ISSUER_AND_SERIAL_free, PKCS7_ISSUER_AND_SERIAL_new, PKCS7_RECIP_INFO_free, PKCS7_RECIP_INFO_new, PKCS7_SIGNED_free, PKCS7_SIGNED_new, PKCS7_SIGNER_INFO_free, PKCS7_SIGNER_INFO_new, PKCS7_SIGN_ENVELOPE_free, PKCS7_SIGN_ENVELOPE_new, PKCS7_dup, PKCS7_free, PKCS7_new, PKCS7_print_ctx, PKCS8_PRIV_KEY_INFO_free, PKCS8_PRIV_KEY_INFO_new, PKEY_USAGE_PERIOD_free, PKEY_USAGE_PERIOD_new, POLICYINFO_free, POLICYINFO_new, POLICYQUALINFO_free, POLICYQUALINFO_new, POLICY_CONSTRAINTS_free, POLICY_CONSTRAINTS_new, POLICY_MAPPING_free, POLICY_MAPPING_new, PROFESSION_INFO_free, PROFESSION_INFO_new, PROFESSION_INFOS_free, PROFESSION_INFOS_new, PROXY_CERT_INFO_EXTENSION_free, PROXY_CERT_INFO_EXTENSION_new, PROXY_POLICY_free, PROXY_POLICY_new, RSAPrivateKey_dup, RSAPublicKey_dup, RSA_OAEP_PARAMS_free, RSA_OAEP_PARAMS_new, RSA_PSS_PARAMS_free, RSA_PSS_PARAMS_new, SCRYPT_PARAMS_free, SCRYPT_PARAMS_new, SXNETID_free, SXNETID_new, SXNET_free, SXNET_new, TLS_FEATURE_free, TLS_FEATURE_new, TS_ACCURACY_dup, TS_ACCURACY_free, TS_ACCURACY_new, TS_MSG_IMPRINT_dup, TS_MSG_IMPRINT_free, TS_MSG_IMPRINT_new, TS_REQ_dup, TS_REQ_free, TS_REQ_new, TS_RESP_dup, TS_RESP_free, TS_RESP_new, TS_STATUS_INFO_dup, TS_STATUS_INFO_free, TS_STATUS_INFO_new, TS_TST_INFO_dup, TS_TST_INFO_free, TS_TST_INFO_new, USERNOTICE_free, USERNOTICE_new, X509_ALGOR_free, X509_ALGOR_new, X509_ATTRIBUTE_dup, X509_ATTRIBUTE_free, X509_ATTRIBUTE_new, X509_CERT_AUX_free, X509_CERT_AUX_new, X509_CINF_free, X509_CINF_new, X509_CRL_INFO_free, X509_CRL_INFO_new, X509_CRL_dup, X509_CRL_free, X509_CRL_new, X509_EXTENSION_dup, X509_EXTENSION_free, X509_EXTENSION_new, X509_NAME_ENTRY_dup, X509_NAME_ENTRY_free, X509_NAME_ENTRY_new, X509_NAME_dup, X509_NAME_free, X509_NAME_new, X509_REQ_INFO_free, X509_REQ_INFO_new, X509_REQ_dup, X509_REQ_free, X509_REQ_new, X509_REVOKED_dup, X509_REVOKED_free, X509_REVOKED_new, X509_SIG_free, X509_SIG_new, X509_VAL_free, X509_VAL_new, X509_dup, \&\- ASN1 object utilities .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -424,14 +143,14 @@ X509_dup, \& \& extern const ASN1_ITEM TYPE_it; \& TYPE *TYPE_new(void); -\& TYPE *TYPE_dup(const TYPE *a); +\& TYPE *TYPE_dup(TYPE *a); \& void TYPE_free(TYPE *a); \& int TYPE_print_ctx(BIO *out, TYPE *a, int indent, const ASN1_PCTX *pctx); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -In the description below, \fB\f(BI\s-1TYPE\s0\fB\fR is used -as a placeholder for any of the OpenSSL datatypes, such as \fBX509\fR. +In the description below, \fI\s-1TYPE\s0\fR is used +as a placeholder for any of the OpenSSL datatypes, such as \fIX509\fR. .PP The OpenSSL \s-1ASN1\s0 parsing library templates are like a data-driven bytecode interpreter. @@ -446,30 +165,29 @@ to generate the function declarations. The macro \s-1\fIIMPLEMENT_ASN1_FUNCTIONS\s0()\fR is used once in a source file to generate the function bodies. .PP -\&\fB\f(BI\s-1TYPE\s0\fB_new\fR() allocates an empty object of the indicated type. -The object returned must be released by calling \fB\f(BI\s-1TYPE\s0\fB_free\fR(). +\&\fITYPE_new()\fR allocates an empty object of the indicated type. +The object returned must be released by calling \fITYPE_free()\fR. .PP -\&\fB\f(BI\s-1TYPE\s0\fB_dup\fR() copies an existing object, leaving it untouched. +\&\fITYPE_dup()\fR copies an existing object. .PP -\&\fB\f(BI\s-1TYPE\s0\fB_free\fR() releases the object and all pointers and sub-objects +\&\fITYPE_free()\fR releases the object and all pointers and sub-objects within it. .PP -\&\fB\f(BI\s-1TYPE\s0\fB_print_ctx\fR() prints the object \fIa\fR on the specified \s-1BIO\s0 \fIout\fR. -Each line will be prefixed with \fIindent\fR spaces. -The \fIpctx\fR specifies the printing context and is for internal +\&\fITYPE_print_ctx()\fR prints the object \fBa\fR on the specified \s-1BIO\s0 \fBout\fR. +Each line will be prefixed with \fBindent\fR spaces. +The \fBpctx\fR specifies the printing context and is for internal use; use \s-1NULL\s0 to get the default behavior. If a print function is -user-defined, then pass in any \fIpctx\fR down to any nested calls. +user-defined, then pass in any \fBpctx\fR down to any nested calls. .SH "RETURN VALUES" .IX Header "RETURN VALUES" -\&\fB\f(BI\s-1TYPE\s0\fB_new\fR() and \fB\f(BI\s-1TYPE\s0\fB_dup\fR() return a pointer to the object or \s-1NULL\s0 on -failure. +\&\fITYPE_new()\fR and \fITYPE_dup()\fR return a pointer to the object or \s-1NULL\s0 on failure. .PP -\&\fB\f(BI\s-1TYPE\s0\fB_print_ctx\fR() returns 1 on success or zero on failure. +\&\fITYPE_print_ctx()\fR returns 1 on success or zero on failure. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2016\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/X509_free.3 b/linux_amd64/share/man/man3/X509_free.3 new file mode 120000 index 0000000..ca54419 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_free.3 @@ -0,0 +1 @@ +X509_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_get0_authority_issuer.3 b/linux_amd64/share/man/man3/X509_get0_authority_issuer.3 new file mode 120000 index 0000000..2fb0442 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_get0_authority_issuer.3 @@ -0,0 +1 @@ +X509_get_extension_flags.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_get0_authority_key_id.3 b/linux_amd64/share/man/man3/X509_get0_authority_key_id.3 new file mode 120000 index 0000000..2fb0442 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_get0_authority_key_id.3 @@ -0,0 +1 @@ +X509_get_extension_flags.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_get0_authority_serial.3 b/linux_amd64/share/man/man3/X509_get0_authority_serial.3 new file mode 120000 index 0000000..2fb0442 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_get0_authority_serial.3 @@ -0,0 +1 @@ +X509_get_extension_flags.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_get0_extensions.3 b/linux_amd64/share/man/man3/X509_get0_extensions.3 new file mode 120000 index 0000000..5b4a5e5 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_get0_extensions.3 @@ -0,0 +1 @@ +X509V3_get_d2i.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_get0_notAfter.3 b/linux_amd64/share/man/man3/X509_get0_notAfter.3 new file mode 120000 index 0000000..9e45d5e --- /dev/null +++ b/linux_amd64/share/man/man3/X509_get0_notAfter.3 @@ -0,0 +1 @@ +X509_get0_notBefore.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_get0_notBefore.3 b/linux_amd64/share/man/man3/X509_get0_notBefore.3 index 3f6edb7..8e37abf 100755 --- a/linux_amd64/share/man/man3/X509_get0_notBefore.3 +++ b/linux_amd64/share/man/man3/X509_get0_notBefore.3 @@ -124,16 +124,13 @@ .\" ======================================================================== .\" .IX Title "X509_GET0_NOTBEFORE 3" -.TH X509_GET0_NOTBEFORE 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH X509_GET0_NOTBEFORE 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -X509_get0_notBefore, X509_getm_notBefore, X509_get0_notAfter, -X509_getm_notAfter, X509_set1_notBefore, X509_set1_notAfter, -X509_CRL_get0_lastUpdate, X509_CRL_get0_nextUpdate, X509_CRL_set1_lastUpdate, -X509_CRL_set1_nextUpdate \- get or set certificate or CRL dates +X509_get0_notBefore, X509_getm_notBefore, X509_get0_notAfter, X509_getm_notAfter, X509_set1_notBefore, X509_set1_notAfter, X509_CRL_get0_lastUpdate, X509_CRL_get0_nextUpdate, X509_CRL_set1_lastUpdate, X509_CRL_set1_nextUpdate \- get or set certificate or CRL dates .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -219,7 +216,7 @@ These functions are available in all versions of OpenSSL. .IX Header "COPYRIGHT" Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/X509_get0_pubkey.3 b/linux_amd64/share/man/man3/X509_get0_pubkey.3 new file mode 120000 index 0000000..b966548 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_get0_pubkey.3 @@ -0,0 +1 @@ +X509_get_pubkey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_get0_serialNumber.3 b/linux_amd64/share/man/man3/X509_get0_serialNumber.3 new file mode 120000 index 0000000..8e3e91f --- /dev/null +++ b/linux_amd64/share/man/man3/X509_get0_serialNumber.3 @@ -0,0 +1 @@ +X509_get_serialNumber.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_get0_signature.3 b/linux_amd64/share/man/man3/X509_get0_signature.3 index 6a692db..1b0d6b3 100755 --- a/linux_amd64/share/man/man3/X509_get0_signature.3 +++ b/linux_amd64/share/man/man3/X509_get0_signature.3 @@ -124,16 +124,13 @@ .\" ======================================================================== .\" .IX Title "X509_GET0_SIGNATURE 3" -.TH X509_GET0_SIGNATURE 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH X509_GET0_SIGNATURE 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -X509_get0_signature, X509_get_signature_nid, X509_get0_tbs_sigalg, -X509_REQ_get0_signature, X509_REQ_get_signature_nid, X509_CRL_get0_signature, -X509_CRL_get_signature_nid, X509_get_signature_info, X509_SIG_INFO_get, -X509_SIG_INFO_set \- signature information +X509_get0_signature, X509_get_signature_nid, X509_get0_tbs_sigalg, X509_REQ_get0_signature, X509_REQ_get_signature_nid, X509_CRL_get0_signature, X509_CRL_get_signature_nid, X509_get_signature_info, X509_SIG_INFO_get, X509_SIG_INFO_set \- signature information .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -245,7 +242,7 @@ added in OpenSSL 1.1.0. .IX Header "COPYRIGHT" Copyright 2015\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/X509_get0_subject_key_id.3 b/linux_amd64/share/man/man3/X509_get0_subject_key_id.3 new file mode 120000 index 0000000..2fb0442 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_get0_subject_key_id.3 @@ -0,0 +1 @@ +X509_get_extension_flags.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_get0_tbs_sigalg.3 b/linux_amd64/share/man/man3/X509_get0_tbs_sigalg.3 new file mode 120000 index 0000000..ea66776 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_get0_tbs_sigalg.3 @@ -0,0 +1 @@ +X509_get0_signature.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_get0_uids.3 b/linux_amd64/share/man/man3/X509_get0_uids.3 index 2a59e28..f3017cd 100755 --- a/linux_amd64/share/man/man3/X509_get0_uids.3 +++ b/linux_amd64/share/man/man3/X509_get0_uids.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "X509_GET0_UIDS 3" -.TH X509_GET0_UIDS 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH X509_GET0_UIDS 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -173,7 +173,7 @@ practice outside test cases. .IX Header "COPYRIGHT" Copyright 2015\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/X509_get_X509_PUBKEY.3 b/linux_amd64/share/man/man3/X509_get_X509_PUBKEY.3 new file mode 120000 index 0000000..b966548 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_get_X509_PUBKEY.3 @@ -0,0 +1 @@ +X509_get_pubkey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_get_ex_data.3 b/linux_amd64/share/man/man3/X509_get_ex_data.3 new file mode 120000 index 0000000..aa4dc88 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_get_ex_data.3 @@ -0,0 +1 @@ +BIO_get_ex_new_index.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_get_ex_new_index.3 b/linux_amd64/share/man/man3/X509_get_ex_new_index.3 new file mode 120000 index 0000000..aa4dc88 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_get_ex_new_index.3 @@ -0,0 +1 @@ +BIO_get_ex_new_index.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_get_ext.3 b/linux_amd64/share/man/man3/X509_get_ext.3 new file mode 120000 index 0000000..45af049 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_get_ext.3 @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_get_ext_by_NID.3 b/linux_amd64/share/man/man3/X509_get_ext_by_NID.3 new file mode 120000 index 0000000..45af049 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_get_ext_by_NID.3 @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_get_ext_by_OBJ.3 b/linux_amd64/share/man/man3/X509_get_ext_by_OBJ.3 new file mode 120000 index 0000000..45af049 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_get_ext_by_OBJ.3 @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_get_ext_by_critical.3 b/linux_amd64/share/man/man3/X509_get_ext_by_critical.3 new file mode 120000 index 0000000..45af049 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_get_ext_by_critical.3 @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_get_ext_count.3 b/linux_amd64/share/man/man3/X509_get_ext_count.3 new file mode 120000 index 0000000..45af049 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_get_ext_count.3 @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_get_ext_d2i.3 b/linux_amd64/share/man/man3/X509_get_ext_d2i.3 new file mode 120000 index 0000000..5b4a5e5 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_get_ext_d2i.3 @@ -0,0 +1 @@ +X509V3_get_d2i.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_get_extended_key_usage.3 b/linux_amd64/share/man/man3/X509_get_extended_key_usage.3 new file mode 120000 index 0000000..2fb0442 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_get_extended_key_usage.3 @@ -0,0 +1 @@ +X509_get_extension_flags.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_get_extension_flags.3 b/linux_amd64/share/man/man3/X509_get_extension_flags.3 index bdc9805..f72d6e0 100755 --- a/linux_amd64/share/man/man3/X509_get_extension_flags.3 +++ b/linux_amd64/share/man/man3/X509_get_extension_flags.3 @@ -124,23 +124,13 @@ .\" ======================================================================== .\" .IX Title "X509_GET_EXTENSION_FLAGS 3" -.TH X509_GET_EXTENSION_FLAGS 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH X509_GET_EXTENSION_FLAGS 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -X509_get0_subject_key_id, -X509_get0_authority_key_id, -X509_get0_authority_issuer, -X509_get0_authority_serial, -X509_get_pathlen, -X509_get_extension_flags, -X509_get_key_usage, -X509_get_extended_key_usage, -X509_set_proxy_flag, -X509_set_proxy_pathlen, -X509_get_proxy_pathlen \- retrieve certificate extension data +X509_get0_subject_key_id, X509_get0_authority_key_id, X509_get0_authority_issuer, X509_get0_authority_serial, X509_get_pathlen, X509_get_extension_flags, X509_get_key_usage, X509_get_extended_key_usage, X509_set_proxy_flag, X509_set_proxy_pathlen, X509_get_proxy_pathlen \- retrieve certificate extension data .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -291,9 +281,9 @@ certificate is a proxy one and has a path length set, and \-1 otherwise. \&\fIX509_get_proxy_pathlen()\fR were added in OpenSSL 1.1.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2015\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2015\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/X509_get_issuer_name.3 b/linux_amd64/share/man/man3/X509_get_issuer_name.3 new file mode 120000 index 0000000..a721d5b --- /dev/null +++ b/linux_amd64/share/man/man3/X509_get_issuer_name.3 @@ -0,0 +1 @@ +X509_get_subject_name.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_get_key_usage.3 b/linux_amd64/share/man/man3/X509_get_key_usage.3 new file mode 120000 index 0000000..2fb0442 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_get_key_usage.3 @@ -0,0 +1 @@ +X509_get_extension_flags.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_get_pathlen.3 b/linux_amd64/share/man/man3/X509_get_pathlen.3 new file mode 120000 index 0000000..2fb0442 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_get_pathlen.3 @@ -0,0 +1 @@ +X509_get_extension_flags.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_get_proxy_pathlen.3 b/linux_amd64/share/man/man3/X509_get_proxy_pathlen.3 new file mode 120000 index 0000000..2fb0442 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_get_proxy_pathlen.3 @@ -0,0 +1 @@ +X509_get_extension_flags.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_get_pubkey.3 b/linux_amd64/share/man/man3/X509_get_pubkey.3 index 8ba5485..bc208e0 100755 --- a/linux_amd64/share/man/man3/X509_get_pubkey.3 +++ b/linux_amd64/share/man/man3/X509_get_pubkey.3 @@ -124,16 +124,13 @@ .\" ======================================================================== .\" .IX Title "X509_GET_PUBKEY 3" -.TH X509_GET_PUBKEY 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH X509_GET_PUBKEY 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -X509_get_pubkey, X509_get0_pubkey, X509_set_pubkey, X509_get_X509_PUBKEY, -X509_REQ_get_pubkey, X509_REQ_get0_pubkey, X509_REQ_set_pubkey, -X509_REQ_get_X509_PUBKEY \- get or set certificate or certificate request -public key +X509_get_pubkey, X509_get0_pubkey, X509_set_pubkey, X509_get_X509_PUBKEY, X509_REQ_get_pubkey, X509_REQ_get0_pubkey, X509_REQ_set_pubkey, X509_REQ_get_X509_PUBKEY \- get or set certificate or certificate request public key .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -203,7 +200,7 @@ for failure. .IX Header "COPYRIGHT" Copyright 2015\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/X509_get_serialNumber.3 b/linux_amd64/share/man/man3/X509_get_serialNumber.3 index fc7f077..6400f3b 100755 --- a/linux_amd64/share/man/man3/X509_get_serialNumber.3 +++ b/linux_amd64/share/man/man3/X509_get_serialNumber.3 @@ -124,16 +124,13 @@ .\" ======================================================================== .\" .IX Title "X509_GET_SERIALNUMBER 3" -.TH X509_GET_SERIALNUMBER 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH X509_GET_SERIALNUMBER 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -X509_get_serialNumber, -X509_get0_serialNumber, -X509_set_serialNumber -\&\- get or set certificate serial number +X509_get_serialNumber, X509_get0_serialNumber, X509_set_serialNumber \&\- get or set certificate serial number .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -188,7 +185,7 @@ The \fIX509_get0_serialNumber()\fR function was added in OpenSSL 1.1.0. .IX Header "COPYRIGHT" Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/X509_get_signature_info.3 b/linux_amd64/share/man/man3/X509_get_signature_info.3 new file mode 120000 index 0000000..ea66776 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_get_signature_info.3 @@ -0,0 +1 @@ +X509_get0_signature.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_get_signature_nid.3 b/linux_amd64/share/man/man3/X509_get_signature_nid.3 new file mode 120000 index 0000000..ea66776 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_get_signature_nid.3 @@ -0,0 +1 @@ +X509_get0_signature.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_get_subject_name.3 b/linux_amd64/share/man/man3/X509_get_subject_name.3 index 8c330bb..0bfc484 100755 --- a/linux_amd64/share/man/man3/X509_get_subject_name.3 +++ b/linux_amd64/share/man/man3/X509_get_subject_name.3 @@ -124,16 +124,13 @@ .\" ======================================================================== .\" .IX Title "X509_GET_SUBJECT_NAME 3" -.TH X509_GET_SUBJECT_NAME 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH X509_GET_SUBJECT_NAME 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -X509_get_subject_name, X509_set_subject_name, X509_get_issuer_name, -X509_set_issuer_name, X509_REQ_get_subject_name, X509_REQ_set_subject_name, -X509_CRL_get_issuer, X509_CRL_set_issuer_name \- get and set issuer or -subject names +X509_get_subject_name, X509_set_subject_name, X509_get_issuer_name, X509_set_issuer_name, X509_REQ_get_subject_name, X509_REQ_set_subject_name, X509_CRL_get_issuer, X509_CRL_set_issuer_name \- get and set issuer or subject names .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -202,7 +199,7 @@ added in OpenSSL 1.0.0 as a macro. .IX Header "COPYRIGHT" Copyright 2015\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/X509_get_version.3 b/linux_amd64/share/man/man3/X509_get_version.3 index 2465879..6de7189 100755 --- a/linux_amd64/share/man/man3/X509_get_version.3 +++ b/linux_amd64/share/man/man3/X509_get_version.3 @@ -124,15 +124,13 @@ .\" ======================================================================== .\" .IX Title "X509_GET_VERSION 3" -.TH X509_GET_VERSION 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH X509_GET_VERSION 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -X509_get_version, X509_set_version, X509_REQ_get_version, X509_REQ_set_version, -X509_CRL_get_version, X509_CRL_set_version \- get or set certificate, -certificate request or CRL version +X509_get_version, X509_set_version, X509_REQ_get_version, X509_REQ_set_version, X509_CRL_get_version, X509_CRL_set_version \- get or set certificate, certificate request or CRL version .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -198,7 +196,7 @@ functions in OpenSSL 1.1.0, in previous versions they were macros. .IX Header "COPYRIGHT" Copyright 2015\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/X509_getm_notAfter.3 b/linux_amd64/share/man/man3/X509_getm_notAfter.3 new file mode 120000 index 0000000..9e45d5e --- /dev/null +++ b/linux_amd64/share/man/man3/X509_getm_notAfter.3 @@ -0,0 +1 @@ +X509_get0_notBefore.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_getm_notBefore.3 b/linux_amd64/share/man/man3/X509_getm_notBefore.3 new file mode 120000 index 0000000..9e45d5e --- /dev/null +++ b/linux_amd64/share/man/man3/X509_getm_notBefore.3 @@ -0,0 +1 @@ +X509_get0_notBefore.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_issuer_and_serial_cmp.3 b/linux_amd64/share/man/man3/X509_issuer_and_serial_cmp.3 new file mode 120000 index 0000000..1e056ad --- /dev/null +++ b/linux_amd64/share/man/man3/X509_issuer_and_serial_cmp.3 @@ -0,0 +1 @@ +X509_cmp.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_issuer_name_cmp.3 b/linux_amd64/share/man/man3/X509_issuer_name_cmp.3 new file mode 120000 index 0000000..1e056ad --- /dev/null +++ b/linux_amd64/share/man/man3/X509_issuer_name_cmp.3 @@ -0,0 +1 @@ +X509_cmp.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_load_cert_crl_file.3 b/linux_amd64/share/man/man3/X509_load_cert_crl_file.3 new file mode 120000 index 0000000..e4f8142 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_load_cert_crl_file.3 @@ -0,0 +1 @@ +X509_LOOKUP_hash_dir.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_load_cert_file.3 b/linux_amd64/share/man/man3/X509_load_cert_file.3 new file mode 120000 index 0000000..e4f8142 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_load_cert_file.3 @@ -0,0 +1 @@ +X509_LOOKUP_hash_dir.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_load_crl_file.3 b/linux_amd64/share/man/man3/X509_load_crl_file.3 new file mode 120000 index 0000000..e4f8142 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_load_crl_file.3 @@ -0,0 +1 @@ +X509_LOOKUP_hash_dir.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_new.3 b/linux_amd64/share/man/man3/X509_new.3 index 4b40202..1a86e5a 100755 --- a/linux_amd64/share/man/man3/X509_new.3 +++ b/linux_amd64/share/man/man3/X509_new.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "X509_NEW 3" -.TH X509_NEW 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH X509_NEW 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -X509_chain_up_ref, -X509_new, X509_free, X509_up_ref \- X509 certificate ASN1 allocation functions +X509_chain_up_ref, X509_new, X509_free, X509_up_ref \- X509 certificate ASN1 allocation functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -199,7 +198,7 @@ occurred. .IX Header "COPYRIGHT" Copyright 2002\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/X509_pubkey_digest.3 b/linux_amd64/share/man/man3/X509_pubkey_digest.3 new file mode 120000 index 0000000..f86b06d --- /dev/null +++ b/linux_amd64/share/man/man3/X509_pubkey_digest.3 @@ -0,0 +1 @@ +X509_digest.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_set1_notAfter.3 b/linux_amd64/share/man/man3/X509_set1_notAfter.3 new file mode 120000 index 0000000..9e45d5e --- /dev/null +++ b/linux_amd64/share/man/man3/X509_set1_notAfter.3 @@ -0,0 +1 @@ +X509_get0_notBefore.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_set1_notBefore.3 b/linux_amd64/share/man/man3/X509_set1_notBefore.3 new file mode 120000 index 0000000..9e45d5e --- /dev/null +++ b/linux_amd64/share/man/man3/X509_set1_notBefore.3 @@ -0,0 +1 @@ +X509_get0_notBefore.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_set_ex_data.3 b/linux_amd64/share/man/man3/X509_set_ex_data.3 new file mode 120000 index 0000000..aa4dc88 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_set_ex_data.3 @@ -0,0 +1 @@ +BIO_get_ex_new_index.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_set_issuer_name.3 b/linux_amd64/share/man/man3/X509_set_issuer_name.3 new file mode 120000 index 0000000..a721d5b --- /dev/null +++ b/linux_amd64/share/man/man3/X509_set_issuer_name.3 @@ -0,0 +1 @@ +X509_get_subject_name.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_set_proxy_flag.3 b/linux_amd64/share/man/man3/X509_set_proxy_flag.3 new file mode 120000 index 0000000..2fb0442 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_set_proxy_flag.3 @@ -0,0 +1 @@ +X509_get_extension_flags.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_set_proxy_pathlen.3 b/linux_amd64/share/man/man3/X509_set_proxy_pathlen.3 new file mode 120000 index 0000000..2fb0442 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_set_proxy_pathlen.3 @@ -0,0 +1 @@ +X509_get_extension_flags.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_set_pubkey.3 b/linux_amd64/share/man/man3/X509_set_pubkey.3 new file mode 120000 index 0000000..b966548 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_set_pubkey.3 @@ -0,0 +1 @@ +X509_get_pubkey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_set_serialNumber.3 b/linux_amd64/share/man/man3/X509_set_serialNumber.3 new file mode 120000 index 0000000..8e3e91f --- /dev/null +++ b/linux_amd64/share/man/man3/X509_set_serialNumber.3 @@ -0,0 +1 @@ +X509_get_serialNumber.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_set_subject_name.3 b/linux_amd64/share/man/man3/X509_set_subject_name.3 new file mode 120000 index 0000000..a721d5b --- /dev/null +++ b/linux_amd64/share/man/man3/X509_set_subject_name.3 @@ -0,0 +1 @@ +X509_get_subject_name.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_set_version.3 b/linux_amd64/share/man/man3/X509_set_version.3 new file mode 120000 index 0000000..2ff8595 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_set_version.3 @@ -0,0 +1 @@ +X509_get_version.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_sign.3 b/linux_amd64/share/man/man3/X509_sign.3 index cc994a8..6bd329d 100755 --- a/linux_amd64/share/man/man3/X509_sign.3 +++ b/linux_amd64/share/man/man3/X509_sign.3 @@ -124,15 +124,13 @@ .\" ======================================================================== .\" .IX Title "X509_SIGN 3" -.TH X509_SIGN 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH X509_SIGN 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -X509_sign, X509_sign_ctx, X509_verify, X509_REQ_sign, X509_REQ_sign_ctx, -X509_REQ_verify, X509_CRL_sign, X509_CRL_sign_ctx, X509_CRL_verify \- -sign or verify certificate, certificate request or CRL signature +X509_sign, X509_sign_ctx, X509_verify, X509_REQ_sign, X509_REQ_sign_ctx, X509_REQ_verify, X509_CRL_sign, X509_CRL_sign_ctx, X509_CRL_verify \- sign or verify certificate, certificate request or CRL signature .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -214,7 +212,7 @@ and \fIX509_CRL_sign_ctx()\fR functions were added OpenSSL 1.0.1. .IX Header "COPYRIGHT" Copyright 2015\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/X509_sign_ctx.3 b/linux_amd64/share/man/man3/X509_sign_ctx.3 new file mode 120000 index 0000000..0be15bd --- /dev/null +++ b/linux_amd64/share/man/man3/X509_sign_ctx.3 @@ -0,0 +1 @@ +X509_sign.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_subject_name_cmp.3 b/linux_amd64/share/man/man3/X509_subject_name_cmp.3 new file mode 120000 index 0000000..1e056ad --- /dev/null +++ b/linux_amd64/share/man/man3/X509_subject_name_cmp.3 @@ -0,0 +1 @@ +X509_cmp.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_time_adj.3 b/linux_amd64/share/man/man3/X509_time_adj.3 new file mode 120000 index 0000000..c4d0df6 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_time_adj.3 @@ -0,0 +1 @@ +X509_cmp_time.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_time_adj_ex.3 b/linux_amd64/share/man/man3/X509_time_adj_ex.3 new file mode 120000 index 0000000..c4d0df6 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_time_adj_ex.3 @@ -0,0 +1 @@ +X509_cmp_time.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_up_ref.3 b/linux_amd64/share/man/man3/X509_up_ref.3 new file mode 120000 index 0000000..ca54419 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_up_ref.3 @@ -0,0 +1 @@ +X509_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_verify.3 b/linux_amd64/share/man/man3/X509_verify.3 new file mode 120000 index 0000000..0be15bd --- /dev/null +++ b/linux_amd64/share/man/man3/X509_verify.3 @@ -0,0 +1 @@ +X509_sign.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509_verify_cert.3 b/linux_amd64/share/man/man3/X509_verify_cert.3 index 175a69a..e289e1b 100755 --- a/linux_amd64/share/man/man3/X509_verify_cert.3 +++ b/linux_amd64/share/man/man3/X509_verify_cert.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "X509_VERIFY_CERT 3" -.TH X509_VERIFY_CERT 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH X509_VERIFY_CERT 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -142,8 +142,17 @@ X509_verify_cert \- discover and verify X509 certificate chain .IX Header "DESCRIPTION" The \fIX509_verify_cert()\fR function attempts to discover and validate a certificate chain based on parameters in \fBctx\fR. A complete description of -the process is contained in the \fIopenssl\-verify\fR\|(1) manual page. +the process is contained in the \fIverify\fR\|(1) manual page. +.SH "RETURN VALUES" +.IX Header "RETURN VALUES" +If a complete chain can be built and validated this function returns 1, +otherwise it return zero, in exceptional circumstances it can also +return a negative code. .PP +If the function fails additional error information can be obtained by +examining \fBctx\fR using, for example \fIX509_STORE_CTX_get_error()\fR. +.SH "NOTES" +.IX Header "NOTES" Applications rarely call this function directly but it is used by OpenSSL internally for certificate validation, in both the S/MIME and \&\s-1SSL/TLS\s0 code. @@ -155,19 +164,10 @@ A negative return value can also happen due to internal resource problems or if a retry operation is requested during internal lookups (which never happens with standard lookup methods). Applications must check for <= 0 return value on error. -.SH "RETURN VALUES" -.IX Header "RETURN VALUES" -If a complete chain can be built and validated this function returns 1, -otherwise it return zero, in exceptional circumstances it can also -return a negative code. -.PP -If the function fails additional error information can be obtained by -examining \fBctx\fR using, for example \fIX509_STORE_CTX_get_error()\fR. .SH "BUGS" .IX Header "BUGS" -This function uses the header \fI\fR -as opposed to most chain verification -functions which use \fI\fR. +This function uses the header \fBx509.h\fR as opposed to most chain verification +functions which use \fBx509_vfy.h\fR. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIX509_STORE_CTX_get_error\fR\|(3) @@ -175,7 +175,7 @@ functions which use \fI\fR. .IX Header "COPYRIGHT" Copyright 2009\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/X509_verify_cert_error_string.3 b/linux_amd64/share/man/man3/X509_verify_cert_error_string.3 new file mode 120000 index 0000000..7fbd299 --- /dev/null +++ b/linux_amd64/share/man/man3/X509_verify_cert_error_string.3 @@ -0,0 +1 @@ +X509_STORE_CTX_get_error.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509v3_add_ext.3 b/linux_amd64/share/man/man3/X509v3_add_ext.3 new file mode 120000 index 0000000..45af049 --- /dev/null +++ b/linux_amd64/share/man/man3/X509v3_add_ext.3 @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509v3_delete_ext.3 b/linux_amd64/share/man/man3/X509v3_delete_ext.3 new file mode 120000 index 0000000..45af049 --- /dev/null +++ b/linux_amd64/share/man/man3/X509v3_delete_ext.3 @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509v3_get_ext.3 b/linux_amd64/share/man/man3/X509v3_get_ext.3 new file mode 120000 index 0000000..45af049 --- /dev/null +++ b/linux_amd64/share/man/man3/X509v3_get_ext.3 @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509v3_get_ext_by_NID.3 b/linux_amd64/share/man/man3/X509v3_get_ext_by_NID.3 index 38544ca..3e3883c 100755 --- a/linux_amd64/share/man/man3/X509v3_get_ext_by_NID.3 +++ b/linux_amd64/share/man/man3/X509v3_get_ext_by_NID.3 @@ -124,22 +124,13 @@ .\" ======================================================================== .\" .IX Title "X509V3_GET_EXT_BY_NID 3" -.TH X509V3_GET_EXT_BY_NID 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH X509V3_GET_EXT_BY_NID 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -X509v3_get_ext_count, X509v3_get_ext, X509v3_get_ext_by_NID, -X509v3_get_ext_by_OBJ, X509v3_get_ext_by_critical, X509v3_delete_ext, -X509v3_add_ext, X509_get_ext_count, X509_get_ext, -X509_get_ext_by_NID, X509_get_ext_by_OBJ, X509_get_ext_by_critical, -X509_delete_ext, X509_add_ext, X509_CRL_get_ext_count, X509_CRL_get_ext, -X509_CRL_get_ext_by_NID, X509_CRL_get_ext_by_OBJ, X509_CRL_get_ext_by_critical, -X509_CRL_delete_ext, X509_CRL_add_ext, X509_REVOKED_get_ext_count, -X509_REVOKED_get_ext, X509_REVOKED_get_ext_by_NID, X509_REVOKED_get_ext_by_OBJ, -X509_REVOKED_get_ext_by_critical, X509_REVOKED_delete_ext, -X509_REVOKED_add_ext \- extension stack utility functions +X509v3_get_ext_count, X509v3_get_ext, X509v3_get_ext_by_NID, X509v3_get_ext_by_OBJ, X509v3_get_ext_by_critical, X509v3_delete_ext, X509v3_add_ext, X509_get_ext_count, X509_get_ext, X509_get_ext_by_NID, X509_get_ext_by_OBJ, X509_get_ext_by_critical, X509_delete_ext, X509_add_ext, X509_CRL_get_ext_count, X509_CRL_get_ext, X509_CRL_get_ext_by_NID, X509_CRL_get_ext_by_OBJ, X509_CRL_get_ext_by_critical, X509_CRL_delete_ext, X509_CRL_add_ext, X509_REVOKED_get_ext_count, X509_REVOKED_get_ext, X509_REVOKED_get_ext_by_NID, X509_REVOKED_get_ext_by_OBJ, X509_REVOKED_get_ext_by_critical, X509_REVOKED_delete_ext, X509_REVOKED_add_ext \- extension stack utility functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -199,7 +190,7 @@ the extension is found its index is returned otherwise \fB\-1\fR is returned. .PP \&\fIX509v3_get_ext_by_critical()\fR is similar to \fIX509v3_get_ext_by_NID()\fR except it looks for an extension of criticality \fBcrit\fR. A zero value for \fBcrit\fR -looks for a non-critical extension a nonzero value looks for a critical +looks for a non-critical extension a non-zero value looks for a critical extension. .PP \&\fIX509v3_delete_ext()\fR deletes the extension with index \fBloc\fR from \fBx\fR. The @@ -258,7 +249,7 @@ error occurs. .IX Header "COPYRIGHT" Copyright 2015\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/X509v3_get_ext_by_OBJ.3 b/linux_amd64/share/man/man3/X509v3_get_ext_by_OBJ.3 new file mode 120000 index 0000000..45af049 --- /dev/null +++ b/linux_amd64/share/man/man3/X509v3_get_ext_by_OBJ.3 @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509v3_get_ext_by_critical.3 b/linux_amd64/share/man/man3/X509v3_get_ext_by_critical.3 new file mode 120000 index 0000000..45af049 --- /dev/null +++ b/linux_amd64/share/man/man3/X509v3_get_ext_by_critical.3 @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/X509v3_get_ext_count.3 b/linux_amd64/share/man/man3/X509v3_get_ext_count.3 new file mode 120000 index 0000000..45af049 --- /dev/null +++ b/linux_amd64/share/man/man3/X509v3_get_ext_count.3 @@ -0,0 +1 @@ +X509v3_get_ext_by_NID.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/custom_ext_add_cb.3 b/linux_amd64/share/man/man3/custom_ext_add_cb.3 new file mode 120000 index 0000000..7fbfc6f --- /dev/null +++ b/linux_amd64/share/man/man3/custom_ext_add_cb.3 @@ -0,0 +1 @@ +SSL_extension_supported.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/custom_ext_free_cb.3 b/linux_amd64/share/man/man3/custom_ext_free_cb.3 new file mode 120000 index 0000000..7fbfc6f --- /dev/null +++ b/linux_amd64/share/man/man3/custom_ext_free_cb.3 @@ -0,0 +1 @@ +SSL_extension_supported.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/custom_ext_parse_cb.3 b/linux_amd64/share/man/man3/custom_ext_parse_cb.3 new file mode 120000 index 0000000..7fbfc6f --- /dev/null +++ b/linux_amd64/share/man/man3/custom_ext_parse_cb.3 @@ -0,0 +1 @@ +SSL_extension_supported.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_ACCESS_DESCRIPTION.3 b/linux_amd64/share/man/man3/d2i_ACCESS_DESCRIPTION.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_ACCESS_DESCRIPTION.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_ADMISSIONS.3 b/linux_amd64/share/man/man3/d2i_ADMISSIONS.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_ADMISSIONS.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_ADMISSION_SYNTAX.3 b/linux_amd64/share/man/man3/d2i_ADMISSION_SYNTAX.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_ADMISSION_SYNTAX.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_ASIdOrRange.3 b/linux_amd64/share/man/man3/d2i_ASIdOrRange.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_ASIdOrRange.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_ASIdentifierChoice.3 b/linux_amd64/share/man/man3/d2i_ASIdentifierChoice.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_ASIdentifierChoice.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_ASIdentifiers.3 b/linux_amd64/share/man/man3/d2i_ASIdentifiers.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_ASIdentifiers.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_ASN1_BIT_STRING.3 b/linux_amd64/share/man/man3/d2i_ASN1_BIT_STRING.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_ASN1_BIT_STRING.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_ASN1_BMPSTRING.3 b/linux_amd64/share/man/man3/d2i_ASN1_BMPSTRING.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_ASN1_BMPSTRING.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_ASN1_ENUMERATED.3 b/linux_amd64/share/man/man3/d2i_ASN1_ENUMERATED.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_ASN1_ENUMERATED.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_ASN1_GENERALIZEDTIME.3 b/linux_amd64/share/man/man3/d2i_ASN1_GENERALIZEDTIME.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_ASN1_GENERALIZEDTIME.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_ASN1_GENERALSTRING.3 b/linux_amd64/share/man/man3/d2i_ASN1_GENERALSTRING.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_ASN1_GENERALSTRING.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_ASN1_IA5STRING.3 b/linux_amd64/share/man/man3/d2i_ASN1_IA5STRING.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_ASN1_IA5STRING.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_ASN1_INTEGER.3 b/linux_amd64/share/man/man3/d2i_ASN1_INTEGER.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_ASN1_INTEGER.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_ASN1_NULL.3 b/linux_amd64/share/man/man3/d2i_ASN1_NULL.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_ASN1_NULL.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_ASN1_OBJECT.3 b/linux_amd64/share/man/man3/d2i_ASN1_OBJECT.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_ASN1_OBJECT.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_ASN1_OCTET_STRING.3 b/linux_amd64/share/man/man3/d2i_ASN1_OCTET_STRING.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_ASN1_OCTET_STRING.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_ASN1_PRINTABLE.3 b/linux_amd64/share/man/man3/d2i_ASN1_PRINTABLE.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_ASN1_PRINTABLE.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_ASN1_PRINTABLESTRING.3 b/linux_amd64/share/man/man3/d2i_ASN1_PRINTABLESTRING.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_ASN1_PRINTABLESTRING.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_ASN1_SEQUENCE_ANY.3 b/linux_amd64/share/man/man3/d2i_ASN1_SEQUENCE_ANY.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_ASN1_SEQUENCE_ANY.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_ASN1_SET_ANY.3 b/linux_amd64/share/man/man3/d2i_ASN1_SET_ANY.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_ASN1_SET_ANY.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_ASN1_T61STRING.3 b/linux_amd64/share/man/man3/d2i_ASN1_T61STRING.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_ASN1_T61STRING.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_ASN1_TIME.3 b/linux_amd64/share/man/man3/d2i_ASN1_TIME.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_ASN1_TIME.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_ASN1_TYPE.3 b/linux_amd64/share/man/man3/d2i_ASN1_TYPE.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_ASN1_TYPE.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_ASN1_UINTEGER.3 b/linux_amd64/share/man/man3/d2i_ASN1_UINTEGER.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_ASN1_UINTEGER.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_ASN1_UNIVERSALSTRING.3 b/linux_amd64/share/man/man3/d2i_ASN1_UNIVERSALSTRING.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_ASN1_UNIVERSALSTRING.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_ASN1_UTCTIME.3 b/linux_amd64/share/man/man3/d2i_ASN1_UTCTIME.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_ASN1_UTCTIME.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_ASN1_UTF8STRING.3 b/linux_amd64/share/man/man3/d2i_ASN1_UTF8STRING.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_ASN1_UTF8STRING.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_ASN1_VISIBLESTRING.3 b/linux_amd64/share/man/man3/d2i_ASN1_VISIBLESTRING.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_ASN1_VISIBLESTRING.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_ASRange.3 b/linux_amd64/share/man/man3/d2i_ASRange.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_ASRange.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_AUTHORITY_INFO_ACCESS.3 b/linux_amd64/share/man/man3/d2i_AUTHORITY_INFO_ACCESS.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_AUTHORITY_INFO_ACCESS.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_AUTHORITY_KEYID.3 b/linux_amd64/share/man/man3/d2i_AUTHORITY_KEYID.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_AUTHORITY_KEYID.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_AutoPrivateKey.3 b/linux_amd64/share/man/man3/d2i_AutoPrivateKey.3 new file mode 120000 index 0000000..d54aa4a --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_AutoPrivateKey.3 @@ -0,0 +1 @@ +d2i_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_BASIC_CONSTRAINTS.3 b/linux_amd64/share/man/man3/d2i_BASIC_CONSTRAINTS.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_BASIC_CONSTRAINTS.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_CERTIFICATEPOLICIES.3 b/linux_amd64/share/man/man3/d2i_CERTIFICATEPOLICIES.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_CERTIFICATEPOLICIES.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_CMS_ContentInfo.3 b/linux_amd64/share/man/man3/d2i_CMS_ContentInfo.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_CMS_ContentInfo.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_CMS_ReceiptRequest.3 b/linux_amd64/share/man/man3/d2i_CMS_ReceiptRequest.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_CMS_ReceiptRequest.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_CMS_bio.3 b/linux_amd64/share/man/man3/d2i_CMS_bio.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_CMS_bio.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_CRL_DIST_POINTS.3 b/linux_amd64/share/man/man3/d2i_CRL_DIST_POINTS.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_CRL_DIST_POINTS.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_DHparams.3 b/linux_amd64/share/man/man3/d2i_DHparams.3 index 6533b82..aef8543 100755 --- a/linux_amd64/share/man/man3/d2i_DHparams.3 +++ b/linux_amd64/share/man/man3/d2i_DHparams.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "D2I_DHPARAMS 3" -.TH D2I_DHPARAMS 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH D2I_DHPARAMS 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -159,7 +159,7 @@ is less than or equal to 0 on error. .IX Header "COPYRIGHT" Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/d2i_DHxparams.3 b/linux_amd64/share/man/man3/d2i_DHxparams.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_DHxparams.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_DIRECTORYSTRING.3 b/linux_amd64/share/man/man3/d2i_DIRECTORYSTRING.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_DIRECTORYSTRING.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_DISPLAYTEXT.3 b/linux_amd64/share/man/man3/d2i_DISPLAYTEXT.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_DISPLAYTEXT.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_DIST_POINT.3 b/linux_amd64/share/man/man3/d2i_DIST_POINT.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_DIST_POINT.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_DIST_POINT_NAME.3 b/linux_amd64/share/man/man3/d2i_DIST_POINT_NAME.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_DIST_POINT_NAME.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_DSAPrivateKey.3 b/linux_amd64/share/man/man3/d2i_DSAPrivateKey.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_DSAPrivateKey.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_DSAPrivateKey_bio.3 b/linux_amd64/share/man/man3/d2i_DSAPrivateKey_bio.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_DSAPrivateKey_bio.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_DSAPrivateKey_fp.3 b/linux_amd64/share/man/man3/d2i_DSAPrivateKey_fp.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_DSAPrivateKey_fp.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_DSAPublicKey.3 b/linux_amd64/share/man/man3/d2i_DSAPublicKey.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_DSAPublicKey.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_DSA_PUBKEY.3 b/linux_amd64/share/man/man3/d2i_DSA_PUBKEY.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_DSA_PUBKEY.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_DSA_PUBKEY_bio.3 b/linux_amd64/share/man/man3/d2i_DSA_PUBKEY_bio.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_DSA_PUBKEY_bio.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_DSA_PUBKEY_fp.3 b/linux_amd64/share/man/man3/d2i_DSA_PUBKEY_fp.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_DSA_PUBKEY_fp.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_DSA_SIG.3 b/linux_amd64/share/man/man3/d2i_DSA_SIG.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_DSA_SIG.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_DSAparams.3 b/linux_amd64/share/man/man3/d2i_DSAparams.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_DSAparams.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_ECDSA_SIG.3 b/linux_amd64/share/man/man3/d2i_ECDSA_SIG.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_ECDSA_SIG.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_ECPKParameters.3 b/linux_amd64/share/man/man3/d2i_ECPKParameters.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_ECPKParameters.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_ECParameters.3 b/linux_amd64/share/man/man3/d2i_ECParameters.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_ECParameters.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_ECPrivateKey.3 b/linux_amd64/share/man/man3/d2i_ECPrivateKey.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_ECPrivateKey.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_ECPrivateKey_bio.3 b/linux_amd64/share/man/man3/d2i_ECPrivateKey_bio.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_ECPrivateKey_bio.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_ECPrivateKey_fp.3 b/linux_amd64/share/man/man3/d2i_ECPrivateKey_fp.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_ECPrivateKey_fp.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_EC_PUBKEY.3 b/linux_amd64/share/man/man3/d2i_EC_PUBKEY.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_EC_PUBKEY.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_EC_PUBKEY_bio.3 b/linux_amd64/share/man/man3/d2i_EC_PUBKEY_bio.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_EC_PUBKEY_bio.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_EC_PUBKEY_fp.3 b/linux_amd64/share/man/man3/d2i_EC_PUBKEY_fp.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_EC_PUBKEY_fp.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_EDIPARTYNAME.3 b/linux_amd64/share/man/man3/d2i_EDIPARTYNAME.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_EDIPARTYNAME.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_ESS_CERT_ID.3 b/linux_amd64/share/man/man3/d2i_ESS_CERT_ID.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_ESS_CERT_ID.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_ESS_ISSUER_SERIAL.3 b/linux_amd64/share/man/man3/d2i_ESS_ISSUER_SERIAL.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_ESS_ISSUER_SERIAL.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_ESS_SIGNING_CERT.3 b/linux_amd64/share/man/man3/d2i_ESS_SIGNING_CERT.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_ESS_SIGNING_CERT.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_EXTENDED_KEY_USAGE.3 b/linux_amd64/share/man/man3/d2i_EXTENDED_KEY_USAGE.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_EXTENDED_KEY_USAGE.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_GENERAL_NAME.3 b/linux_amd64/share/man/man3/d2i_GENERAL_NAME.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_GENERAL_NAME.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_GENERAL_NAMES.3 b/linux_amd64/share/man/man3/d2i_GENERAL_NAMES.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_GENERAL_NAMES.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_IPAddressChoice.3 b/linux_amd64/share/man/man3/d2i_IPAddressChoice.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_IPAddressChoice.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_IPAddressFamily.3 b/linux_amd64/share/man/man3/d2i_IPAddressFamily.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_IPAddressFamily.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_IPAddressOrRange.3 b/linux_amd64/share/man/man3/d2i_IPAddressOrRange.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_IPAddressOrRange.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_IPAddressRange.3 b/linux_amd64/share/man/man3/d2i_IPAddressRange.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_IPAddressRange.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_ISSUING_DIST_POINT.3 b/linux_amd64/share/man/man3/d2i_ISSUING_DIST_POINT.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_ISSUING_DIST_POINT.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_NAMING_AUTHORITY.3 b/linux_amd64/share/man/man3/d2i_NAMING_AUTHORITY.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_NAMING_AUTHORITY.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_NETSCAPE_CERT_SEQUENCE.3 b/linux_amd64/share/man/man3/d2i_NETSCAPE_CERT_SEQUENCE.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_NETSCAPE_CERT_SEQUENCE.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_NETSCAPE_SPKAC.3 b/linux_amd64/share/man/man3/d2i_NETSCAPE_SPKAC.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_NETSCAPE_SPKAC.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_NETSCAPE_SPKI.3 b/linux_amd64/share/man/man3/d2i_NETSCAPE_SPKI.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_NETSCAPE_SPKI.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_NOTICEREF.3 b/linux_amd64/share/man/man3/d2i_NOTICEREF.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_NOTICEREF.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_OCSP_BASICRESP.3 b/linux_amd64/share/man/man3/d2i_OCSP_BASICRESP.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_OCSP_BASICRESP.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_OCSP_CERTID.3 b/linux_amd64/share/man/man3/d2i_OCSP_CERTID.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_OCSP_CERTID.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_OCSP_CERTSTATUS.3 b/linux_amd64/share/man/man3/d2i_OCSP_CERTSTATUS.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_OCSP_CERTSTATUS.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_OCSP_CRLID.3 b/linux_amd64/share/man/man3/d2i_OCSP_CRLID.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_OCSP_CRLID.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_OCSP_ONEREQ.3 b/linux_amd64/share/man/man3/d2i_OCSP_ONEREQ.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_OCSP_ONEREQ.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_OCSP_REQINFO.3 b/linux_amd64/share/man/man3/d2i_OCSP_REQINFO.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_OCSP_REQINFO.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_OCSP_REQUEST.3 b/linux_amd64/share/man/man3/d2i_OCSP_REQUEST.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_OCSP_REQUEST.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_OCSP_RESPBYTES.3 b/linux_amd64/share/man/man3/d2i_OCSP_RESPBYTES.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_OCSP_RESPBYTES.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_OCSP_RESPDATA.3 b/linux_amd64/share/man/man3/d2i_OCSP_RESPDATA.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_OCSP_RESPDATA.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_OCSP_RESPID.3 b/linux_amd64/share/man/man3/d2i_OCSP_RESPID.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_OCSP_RESPID.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_OCSP_RESPONSE.3 b/linux_amd64/share/man/man3/d2i_OCSP_RESPONSE.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_OCSP_RESPONSE.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_OCSP_REVOKEDINFO.3 b/linux_amd64/share/man/man3/d2i_OCSP_REVOKEDINFO.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_OCSP_REVOKEDINFO.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_OCSP_SERVICELOC.3 b/linux_amd64/share/man/man3/d2i_OCSP_SERVICELOC.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_OCSP_SERVICELOC.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_OCSP_SIGNATURE.3 b/linux_amd64/share/man/man3/d2i_OCSP_SIGNATURE.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_OCSP_SIGNATURE.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_OCSP_SINGLERESP.3 b/linux_amd64/share/man/man3/d2i_OCSP_SINGLERESP.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_OCSP_SINGLERESP.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_OTHERNAME.3 b/linux_amd64/share/man/man3/d2i_OTHERNAME.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_OTHERNAME.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_PBE2PARAM.3 b/linux_amd64/share/man/man3/d2i_PBE2PARAM.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_PBE2PARAM.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_PBEPARAM.3 b/linux_amd64/share/man/man3/d2i_PBEPARAM.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_PBEPARAM.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_PBKDF2PARAM.3 b/linux_amd64/share/man/man3/d2i_PBKDF2PARAM.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_PBKDF2PARAM.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_PKCS12.3 b/linux_amd64/share/man/man3/d2i_PKCS12.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_PKCS12.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_PKCS12_BAGS.3 b/linux_amd64/share/man/man3/d2i_PKCS12_BAGS.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_PKCS12_BAGS.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_PKCS12_MAC_DATA.3 b/linux_amd64/share/man/man3/d2i_PKCS12_MAC_DATA.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_PKCS12_MAC_DATA.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_PKCS12_SAFEBAG.3 b/linux_amd64/share/man/man3/d2i_PKCS12_SAFEBAG.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_PKCS12_SAFEBAG.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_PKCS12_bio.3 b/linux_amd64/share/man/man3/d2i_PKCS12_bio.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_PKCS12_bio.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_PKCS12_fp.3 b/linux_amd64/share/man/man3/d2i_PKCS12_fp.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_PKCS12_fp.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_PKCS7.3 b/linux_amd64/share/man/man3/d2i_PKCS7.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_PKCS7.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_PKCS7_DIGEST.3 b/linux_amd64/share/man/man3/d2i_PKCS7_DIGEST.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_PKCS7_DIGEST.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_PKCS7_ENCRYPT.3 b/linux_amd64/share/man/man3/d2i_PKCS7_ENCRYPT.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_PKCS7_ENCRYPT.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_PKCS7_ENC_CONTENT.3 b/linux_amd64/share/man/man3/d2i_PKCS7_ENC_CONTENT.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_PKCS7_ENC_CONTENT.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_PKCS7_ENVELOPE.3 b/linux_amd64/share/man/man3/d2i_PKCS7_ENVELOPE.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_PKCS7_ENVELOPE.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_PKCS7_ISSUER_AND_SERIAL.3 b/linux_amd64/share/man/man3/d2i_PKCS7_ISSUER_AND_SERIAL.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_PKCS7_ISSUER_AND_SERIAL.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_PKCS7_RECIP_INFO.3 b/linux_amd64/share/man/man3/d2i_PKCS7_RECIP_INFO.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_PKCS7_RECIP_INFO.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_PKCS7_SIGNED.3 b/linux_amd64/share/man/man3/d2i_PKCS7_SIGNED.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_PKCS7_SIGNED.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_PKCS7_SIGNER_INFO.3 b/linux_amd64/share/man/man3/d2i_PKCS7_SIGNER_INFO.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_PKCS7_SIGNER_INFO.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_PKCS7_SIGN_ENVELOPE.3 b/linux_amd64/share/man/man3/d2i_PKCS7_SIGN_ENVELOPE.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_PKCS7_SIGN_ENVELOPE.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_PKCS7_bio.3 b/linux_amd64/share/man/man3/d2i_PKCS7_bio.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_PKCS7_bio.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_PKCS7_fp.3 b/linux_amd64/share/man/man3/d2i_PKCS7_fp.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_PKCS7_fp.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_PKCS8PrivateKey_bio.3 b/linux_amd64/share/man/man3/d2i_PKCS8PrivateKey_bio.3 index 787f8f1..9fd6b93 100755 --- a/linux_amd64/share/man/man3/d2i_PKCS8PrivateKey_bio.3 +++ b/linux_amd64/share/man/man3/d2i_PKCS8PrivateKey_bio.3 @@ -124,15 +124,13 @@ .\" ======================================================================== .\" .IX Title "D2I_PKCS8PRIVATEKEY_BIO 3" -.TH D2I_PKCS8PRIVATEKEY_BIO 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH D2I_PKCS8PRIVATEKEY_BIO 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -d2i_PKCS8PrivateKey_bio, d2i_PKCS8PrivateKey_fp, -i2d_PKCS8PrivateKey_bio, i2d_PKCS8PrivateKey_fp, -i2d_PKCS8PrivateKey_nid_bio, i2d_PKCS8PrivateKey_nid_fp \- PKCS#8 format private key functions +d2i_PKCS8PrivateKey_bio, d2i_PKCS8PrivateKey_fp, i2d_PKCS8PrivateKey_bio, i2d_PKCS8PrivateKey_fp, i2d_PKCS8PrivateKey_nid_bio, i2d_PKCS8PrivateKey_nid_fp \- PKCS#8 format private key functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -141,19 +139,19 @@ i2d_PKCS8PrivateKey_nid_bio, i2d_PKCS8PrivateKey_nid_fp \- PKCS#8 format private \& EVP_PKEY *d2i_PKCS8PrivateKey_bio(BIO *bp, EVP_PKEY **x, pem_password_cb *cb, void *u); \& EVP_PKEY *d2i_PKCS8PrivateKey_fp(FILE *fp, EVP_PKEY **x, pem_password_cb *cb, void *u); \& -\& int i2d_PKCS8PrivateKey_bio(BIO *bp, const EVP_PKEY *x, const EVP_CIPHER *enc, +\& int i2d_PKCS8PrivateKey_bio(BIO *bp, EVP_PKEY *x, const EVP_CIPHER *enc, \& char *kstr, int klen, \& pem_password_cb *cb, void *u); \& -\& int i2d_PKCS8PrivateKey_fp(FILE *fp, const EVP_PKEY *x, const EVP_CIPHER *enc, +\& int i2d_PKCS8PrivateKey_fp(FILE *fp, EVP_PKEY *x, const EVP_CIPHER *enc, \& char *kstr, int klen, \& pem_password_cb *cb, void *u); \& -\& int i2d_PKCS8PrivateKey_nid_bio(BIO *bp, const EVP_PKEY *x, int nid, +\& int i2d_PKCS8PrivateKey_nid_bio(BIO *bp, EVP_PKEY *x, int nid, \& char *kstr, int klen, \& pem_password_cb *cb, void *u); \& -\& int i2d_PKCS8PrivateKey_nid_fp(FILE *fp, const EVP_PKEY *x, int nid, +\& int i2d_PKCS8PrivateKey_nid_fp(FILE *fp, EVP_PKEY *x, int nid, \& char *kstr, int klen, \& pem_password_cb *cb, void *u); .Ve @@ -190,7 +188,7 @@ and \fIi2d_PKCS8PrivateKey_nid_fp()\fR return 1 on success or 0 on error. .IX Header "COPYRIGHT" Copyright 2002\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/d2i_PKCS8PrivateKey_fp.3 b/linux_amd64/share/man/man3/d2i_PKCS8PrivateKey_fp.3 new file mode 120000 index 0000000..a476176 --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_PKCS8PrivateKey_fp.3 @@ -0,0 +1 @@ +d2i_PKCS8PrivateKey_bio.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_PKCS8_PRIV_KEY_INFO.3 b/linux_amd64/share/man/man3/d2i_PKCS8_PRIV_KEY_INFO.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_PKCS8_PRIV_KEY_INFO.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_PKCS8_PRIV_KEY_INFO_bio.3 b/linux_amd64/share/man/man3/d2i_PKCS8_PRIV_KEY_INFO_bio.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_PKCS8_PRIV_KEY_INFO_bio.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_PKCS8_PRIV_KEY_INFO_fp.3 b/linux_amd64/share/man/man3/d2i_PKCS8_PRIV_KEY_INFO_fp.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_PKCS8_PRIV_KEY_INFO_fp.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_PKCS8_bio.3 b/linux_amd64/share/man/man3/d2i_PKCS8_bio.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_PKCS8_bio.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_PKCS8_fp.3 b/linux_amd64/share/man/man3/d2i_PKCS8_fp.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_PKCS8_fp.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_PKEY_USAGE_PERIOD.3 b/linux_amd64/share/man/man3/d2i_PKEY_USAGE_PERIOD.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_PKEY_USAGE_PERIOD.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_POLICYINFO.3 b/linux_amd64/share/man/man3/d2i_POLICYINFO.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_POLICYINFO.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_POLICYQUALINFO.3 b/linux_amd64/share/man/man3/d2i_POLICYQUALINFO.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_POLICYQUALINFO.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_PROFESSION_INFO.3 b/linux_amd64/share/man/man3/d2i_PROFESSION_INFO.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_PROFESSION_INFO.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_PROXY_CERT_INFO_EXTENSION.3 b/linux_amd64/share/man/man3/d2i_PROXY_CERT_INFO_EXTENSION.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_PROXY_CERT_INFO_EXTENSION.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_PROXY_POLICY.3 b/linux_amd64/share/man/man3/d2i_PROXY_POLICY.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_PROXY_POLICY.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_PUBKEY.3 b/linux_amd64/share/man/man3/d2i_PUBKEY.3 new file mode 120000 index 0000000..90e4e95 --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_PUBKEY.3 @@ -0,0 +1 @@ +X509_PUBKEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_PUBKEY_bio.3 b/linux_amd64/share/man/man3/d2i_PUBKEY_bio.3 new file mode 120000 index 0000000..90e4e95 --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_PUBKEY_bio.3 @@ -0,0 +1 @@ +X509_PUBKEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_PUBKEY_fp.3 b/linux_amd64/share/man/man3/d2i_PUBKEY_fp.3 new file mode 120000 index 0000000..90e4e95 --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_PUBKEY_fp.3 @@ -0,0 +1 @@ +X509_PUBKEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_PrivateKey.3 b/linux_amd64/share/man/man3/d2i_PrivateKey.3 index 5488a0a..32ead86 100755 --- a/linux_amd64/share/man/man3/d2i_PrivateKey.3 +++ b/linux_amd64/share/man/man3/d2i_PrivateKey.3 @@ -124,16 +124,13 @@ .\" ======================================================================== .\" .IX Title "D2I_PRIVATEKEY 3" -.TH D2I_PRIVATEKEY 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH D2I_PRIVATEKEY 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -d2i_PrivateKey, d2i_PublicKey, d2i_KeyParams, d2i_AutoPrivateKey, -i2d_PrivateKey, i2d_PublicKey, i2d_KeyParams, i2d_KeyParams_bio, -d2i_PrivateKey_bio, d2i_PrivateKey_fp, d2i_KeyParams_bio -\&\- decode and encode functions for reading and saving EVP_PKEY structures +d2i_PrivateKey, d2i_PublicKey, d2i_AutoPrivateKey, i2d_PrivateKey, i2d_PublicKey, d2i_PrivateKey_bio, d2i_PrivateKey_fp \&\- decode and encode functions for reading and saving EVP_PKEY structures .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -143,19 +140,13 @@ d2i_PrivateKey_bio, d2i_PrivateKey_fp, d2i_KeyParams_bio \& long length); \& EVP_PKEY *d2i_PublicKey(int type, EVP_PKEY **a, const unsigned char **pp, \& long length); -\& EVP_PKEY *d2i_KeyParams(int type, EVP_PKEY **a, const unsigned char **pp, -\& long length); \& EVP_PKEY *d2i_AutoPrivateKey(EVP_PKEY **a, const unsigned char **pp, \& long length); -\& -\& int i2d_PrivateKey(const EVP_PKEY *a, unsigned char **pp); -\& int i2d_PublicKey(const EVP_PKEY *a, unsigned char **pp); -\& int i2d_KeyParams(const EVP_PKEY *a, unsigned char **pp); -\& int i2d_KeyParams_bio(BIO *bp, const EVP_PKEY *pkey); +\& int i2d_PrivateKey(EVP_PKEY *a, unsigned char **pp); +\& int i2d_PublicKey(EVP_PKEY *a, unsigned char **pp); \& \& EVP_PKEY *d2i_PrivateKey_bio(BIO *bp, EVP_PKEY **a); \& EVP_PKEY *d2i_PrivateKey_fp(FILE *fp, EVP_PKEY **a) -\& EVP_PKEY *d2i_KeyParams_bio(int type, EVP_PKEY **a, BIO *in); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" @@ -164,7 +155,6 @@ use any key specific format or PKCS#8 unencrypted PrivateKeyInfo format. The \&\fBtype\fR parameter should be a public key algorithm constant such as \&\fB\s-1EVP_PKEY_RSA\s0\fR. An error occurs if the decoded key does not match \fBtype\fR. \&\fId2i_PublicKey()\fR does the same for public keys. -\&\fId2i_KeyParams()\fR does the same for key parameters. .PP \&\fId2i_AutoPrivateKey()\fR is similar to \fId2i_PrivateKey()\fR except it attempts to automatically detect the private key format. @@ -172,7 +162,7 @@ automatically detect the private key format. \&\fIi2d_PrivateKey()\fR encodes \fBkey\fR. It uses a key specific format or, if none is defined for that key type, PKCS#8 unencrypted PrivateKeyInfo format. \&\fIi2d_PublicKey()\fR does the same for public keys. -\&\fIi2d_KeyParams()\fR does the same for key parameters. +.PP These functions are similar to the \fId2i_X509()\fR functions; see \fId2i_X509\fR\|(3). .SH "NOTES" .IX Header "NOTES" @@ -190,13 +180,12 @@ a non-NULL \s-1EVP_PKEY\s0 structure assigned an \s-1EC_KEY\s0 structure referen .SH "RETURN VALUES" .IX Header "RETURN VALUES" The \fId2i_PrivateKey()\fR, \fId2i_AutoPrivateKey()\fR, \fId2i_PrivateKey_bio()\fR, \fId2i_PrivateKey_fp()\fR, -\&\fId2i_PublicKey()\fR, \fId2i_KeyParams()\fR and \fId2i_KeyParams_bio()\fR functions return a valid -\&\fB\s-1EVP_KEY\s0\fR structure or \fB\s-1NULL\s0\fR if an error occurs. The error code can be -obtained by calling \fIERR_get_error\fR\|(3). +and \fId2i_PublicKey()\fR functions return a valid \fB\s-1EVP_KEY\s0\fR structure or \fB\s-1NULL\s0\fR if an +error occurs. The error code can be obtained by calling \fIERR_get_error\fR\|(3). .PP -\&\fIi2d_PrivateKey()\fR, \fIi2d_PublicKey()\fR, \fIi2d_KeyParams()\fR \fIi2d_KeyParams_bio()\fR return -the number of bytes successfully encoded or a negative value if an error occurs. -The error code can be obtained by calling \fIERR_get_error\fR\|(3). +\&\fIi2d_PrivateKey()\fR and \fIi2d_PublicKey()\fR return the number of bytes successfully +encoded or a negative value if an error occurs. The error code can be obtained +by calling \fIERR_get_error\fR\|(3). .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIcrypto\fR\|(7), @@ -205,7 +194,7 @@ The error code can be obtained by calling \fIERR_get_error\fR\|(3). .IX Header "COPYRIGHT" Copyright 2017\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/d2i_PrivateKey_bio.3 b/linux_amd64/share/man/man3/d2i_PrivateKey_bio.3 new file mode 120000 index 0000000..d54aa4a --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_PrivateKey_bio.3 @@ -0,0 +1 @@ +d2i_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_PrivateKey_fp.3 b/linux_amd64/share/man/man3/d2i_PrivateKey_fp.3 new file mode 120000 index 0000000..d54aa4a --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_PrivateKey_fp.3 @@ -0,0 +1 @@ +d2i_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_PublicKey.3 b/linux_amd64/share/man/man3/d2i_PublicKey.3 new file mode 120000 index 0000000..d54aa4a --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_PublicKey.3 @@ -0,0 +1 @@ +d2i_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_RSAPrivateKey.3 b/linux_amd64/share/man/man3/d2i_RSAPrivateKey.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_RSAPrivateKey.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_RSAPrivateKey_bio.3 b/linux_amd64/share/man/man3/d2i_RSAPrivateKey_bio.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_RSAPrivateKey_bio.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_RSAPrivateKey_fp.3 b/linux_amd64/share/man/man3/d2i_RSAPrivateKey_fp.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_RSAPrivateKey_fp.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_RSAPublicKey.3 b/linux_amd64/share/man/man3/d2i_RSAPublicKey.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_RSAPublicKey.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_RSAPublicKey_bio.3 b/linux_amd64/share/man/man3/d2i_RSAPublicKey_bio.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_RSAPublicKey_bio.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_RSAPublicKey_fp.3 b/linux_amd64/share/man/man3/d2i_RSAPublicKey_fp.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_RSAPublicKey_fp.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_RSA_OAEP_PARAMS.3 b/linux_amd64/share/man/man3/d2i_RSA_OAEP_PARAMS.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_RSA_OAEP_PARAMS.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_RSA_PSS_PARAMS.3 b/linux_amd64/share/man/man3/d2i_RSA_PSS_PARAMS.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_RSA_PSS_PARAMS.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_RSA_PUBKEY.3 b/linux_amd64/share/man/man3/d2i_RSA_PUBKEY.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_RSA_PUBKEY.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_RSA_PUBKEY_bio.3 b/linux_amd64/share/man/man3/d2i_RSA_PUBKEY_bio.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_RSA_PUBKEY_bio.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_RSA_PUBKEY_fp.3 b/linux_amd64/share/man/man3/d2i_RSA_PUBKEY_fp.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_RSA_PUBKEY_fp.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_SCRYPT_PARAMS.3 b/linux_amd64/share/man/man3/d2i_SCRYPT_PARAMS.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_SCRYPT_PARAMS.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_SCT_LIST.3 b/linux_amd64/share/man/man3/d2i_SCT_LIST.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_SCT_LIST.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_SSL_SESSION.3 b/linux_amd64/share/man/man3/d2i_SSL_SESSION.3 index 47911f4..cd3f274 100755 --- a/linux_amd64/share/man/man3/d2i_SSL_SESSION.3 +++ b/linux_amd64/share/man/man3/d2i_SSL_SESSION.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "D2I_SSL_SESSION 3" -.TH D2I_SSL_SESSION 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH D2I_SSL_SESSION 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -167,7 +167,7 @@ When the session is not valid, \fB0\fR is returned and no operation is performed .IX Header "COPYRIGHT" Copyright 2001\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/d2i_SXNET.3 b/linux_amd64/share/man/man3/d2i_SXNET.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_SXNET.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_SXNETID.3 b/linux_amd64/share/man/man3/d2i_SXNETID.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_SXNETID.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_TS_ACCURACY.3 b/linux_amd64/share/man/man3/d2i_TS_ACCURACY.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_TS_ACCURACY.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_TS_MSG_IMPRINT.3 b/linux_amd64/share/man/man3/d2i_TS_MSG_IMPRINT.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_TS_MSG_IMPRINT.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_TS_MSG_IMPRINT_bio.3 b/linux_amd64/share/man/man3/d2i_TS_MSG_IMPRINT_bio.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_TS_MSG_IMPRINT_bio.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_TS_MSG_IMPRINT_fp.3 b/linux_amd64/share/man/man3/d2i_TS_MSG_IMPRINT_fp.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_TS_MSG_IMPRINT_fp.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_TS_REQ.3 b/linux_amd64/share/man/man3/d2i_TS_REQ.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_TS_REQ.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_TS_REQ_bio.3 b/linux_amd64/share/man/man3/d2i_TS_REQ_bio.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_TS_REQ_bio.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_TS_REQ_fp.3 b/linux_amd64/share/man/man3/d2i_TS_REQ_fp.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_TS_REQ_fp.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_TS_RESP.3 b/linux_amd64/share/man/man3/d2i_TS_RESP.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_TS_RESP.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_TS_RESP_bio.3 b/linux_amd64/share/man/man3/d2i_TS_RESP_bio.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_TS_RESP_bio.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_TS_RESP_fp.3 b/linux_amd64/share/man/man3/d2i_TS_RESP_fp.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_TS_RESP_fp.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_TS_STATUS_INFO.3 b/linux_amd64/share/man/man3/d2i_TS_STATUS_INFO.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_TS_STATUS_INFO.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_TS_TST_INFO.3 b/linux_amd64/share/man/man3/d2i_TS_TST_INFO.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_TS_TST_INFO.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_TS_TST_INFO_bio.3 b/linux_amd64/share/man/man3/d2i_TS_TST_INFO_bio.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_TS_TST_INFO_bio.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_TS_TST_INFO_fp.3 b/linux_amd64/share/man/man3/d2i_TS_TST_INFO_fp.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_TS_TST_INFO_fp.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_USERNOTICE.3 b/linux_amd64/share/man/man3/d2i_USERNOTICE.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_USERNOTICE.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_X509.3 b/linux_amd64/share/man/man3/d2i_X509.3 index 08cdb12..6358bcf 100755 --- a/linux_amd64/share/man/man3/d2i_X509.3 +++ b/linux_amd64/share/man/man3/d2i_X509.3 @@ -124,398 +124,13 @@ .\" ======================================================================== .\" .IX Title "D2I_X509 3" -.TH D2I_X509 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH D2I_X509 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -d2i_ACCESS_DESCRIPTION, -d2i_ADMISSIONS, -d2i_ADMISSION_SYNTAX, -d2i_ASIdOrRange, -d2i_ASIdentifierChoice, -d2i_ASIdentifiers, -d2i_ASN1_BIT_STRING, -d2i_ASN1_BMPSTRING, -d2i_ASN1_ENUMERATED, -d2i_ASN1_GENERALIZEDTIME, -d2i_ASN1_GENERALSTRING, -d2i_ASN1_IA5STRING, -d2i_ASN1_INTEGER, -d2i_ASN1_NULL, -d2i_ASN1_OBJECT, -d2i_ASN1_OCTET_STRING, -d2i_ASN1_PRINTABLE, -d2i_ASN1_PRINTABLESTRING, -d2i_ASN1_SEQUENCE_ANY, -d2i_ASN1_SET_ANY, -d2i_ASN1_T61STRING, -d2i_ASN1_TIME, -d2i_ASN1_TYPE, -d2i_ASN1_UINTEGER, -d2i_ASN1_UNIVERSALSTRING, -d2i_ASN1_UTCTIME, -d2i_ASN1_UTF8STRING, -d2i_ASN1_VISIBLESTRING, -d2i_ASRange, -d2i_AUTHORITY_INFO_ACCESS, -d2i_AUTHORITY_KEYID, -d2i_BASIC_CONSTRAINTS, -d2i_CERTIFICATEPOLICIES, -d2i_CMS_ContentInfo, -d2i_CMS_ReceiptRequest, -d2i_CMS_bio, -d2i_CRL_DIST_POINTS, -d2i_DHxparams, -d2i_DIRECTORYSTRING, -d2i_DISPLAYTEXT, -d2i_DIST_POINT, -d2i_DIST_POINT_NAME, -d2i_DSAPrivateKey, -d2i_DSAPrivateKey_bio, -d2i_DSAPrivateKey_fp, -d2i_DSAPublicKey, -d2i_DSA_PUBKEY, -d2i_DSA_PUBKEY_bio, -d2i_DSA_PUBKEY_fp, -d2i_DSA_SIG, -d2i_DSAparams, -d2i_ECDSA_SIG, -d2i_ECPKParameters, -d2i_ECParameters, -d2i_ECPrivateKey, -d2i_ECPrivateKey_bio, -d2i_ECPrivateKey_fp, -d2i_EC_PUBKEY, -d2i_EC_PUBKEY_bio, -d2i_EC_PUBKEY_fp, -d2i_EDIPARTYNAME, -d2i_ESS_CERT_ID, -d2i_ESS_CERT_ID_V2, -d2i_ESS_ISSUER_SERIAL, -d2i_ESS_SIGNING_CERT, -d2i_ESS_SIGNING_CERT_V2, -d2i_EXTENDED_KEY_USAGE, -d2i_GENERAL_NAME, -d2i_GENERAL_NAMES, -d2i_IPAddressChoice, -d2i_IPAddressFamily, -d2i_IPAddressOrRange, -d2i_IPAddressRange, -d2i_ISSUING_DIST_POINT, -d2i_NAMING_AUTHORITY, -d2i_NETSCAPE_CERT_SEQUENCE, -d2i_NETSCAPE_SPKAC, -d2i_NETSCAPE_SPKI, -d2i_NOTICEREF, -d2i_OCSP_BASICRESP, -d2i_OCSP_CERTID, -d2i_OCSP_CERTSTATUS, -d2i_OCSP_CRLID, -d2i_OCSP_ONEREQ, -d2i_OCSP_REQINFO, -d2i_OCSP_REQUEST, -d2i_OCSP_RESPBYTES, -d2i_OCSP_RESPDATA, -d2i_OCSP_RESPID, -d2i_OCSP_RESPONSE, -d2i_OCSP_REVOKEDINFO, -d2i_OCSP_SERVICELOC, -d2i_OCSP_SIGNATURE, -d2i_OCSP_SINGLERESP, -d2i_OSSL_CMP_MSG, -d2i_OSSL_CMP_PKIHEADER, -d2i_OSSL_CRMF_CERTID, -d2i_OSSL_CRMF_CERTTEMPLATE, -d2i_OSSL_CRMF_ENCRYPTEDVALUE, -d2i_OSSL_CRMF_MSG, -d2i_OSSL_CRMF_MSGS, -d2i_OSSL_CRMF_PBMPARAMETER, -d2i_OSSL_CRMF_PKIPUBLICATIONINFO, -d2i_OSSL_CRMF_SINGLEPUBINFO, -d2i_OTHERNAME, -d2i_PBE2PARAM, -d2i_PBEPARAM, -d2i_PBKDF2PARAM, -d2i_PKCS12, -d2i_PKCS12_BAGS, -d2i_PKCS12_MAC_DATA, -d2i_PKCS12_SAFEBAG, -d2i_PKCS12_bio, -d2i_PKCS12_fp, -d2i_PKCS7, -d2i_PKCS7_DIGEST, -d2i_PKCS7_ENCRYPT, -d2i_PKCS7_ENC_CONTENT, -d2i_PKCS7_ENVELOPE, -d2i_PKCS7_ISSUER_AND_SERIAL, -d2i_PKCS7_RECIP_INFO, -d2i_PKCS7_SIGNED, -d2i_PKCS7_SIGNER_INFO, -d2i_PKCS7_SIGN_ENVELOPE, -d2i_PKCS7_bio, -d2i_PKCS7_fp, -d2i_PKCS8_PRIV_KEY_INFO, -d2i_PKCS8_PRIV_KEY_INFO_bio, -d2i_PKCS8_PRIV_KEY_INFO_fp, -d2i_PKCS8_bio, -d2i_PKCS8_fp, -d2i_PKEY_USAGE_PERIOD, -d2i_POLICYINFO, -d2i_POLICYQUALINFO, -d2i_PROFESSION_INFO, -d2i_PROXY_CERT_INFO_EXTENSION, -d2i_PROXY_POLICY, -d2i_RSAPrivateKey, -d2i_RSAPrivateKey_bio, -d2i_RSAPrivateKey_fp, -d2i_RSAPublicKey, -d2i_RSAPublicKey_bio, -d2i_RSAPublicKey_fp, -d2i_RSA_OAEP_PARAMS, -d2i_RSA_PSS_PARAMS, -d2i_RSA_PUBKEY, -d2i_RSA_PUBKEY_bio, -d2i_RSA_PUBKEY_fp, -d2i_SCRYPT_PARAMS, -d2i_SCT_LIST, -d2i_SXNET, -d2i_SXNETID, -d2i_TS_ACCURACY, -d2i_TS_MSG_IMPRINT, -d2i_TS_MSG_IMPRINT_bio, -d2i_TS_MSG_IMPRINT_fp, -d2i_TS_REQ, -d2i_TS_REQ_bio, -d2i_TS_REQ_fp, -d2i_TS_RESP, -d2i_TS_RESP_bio, -d2i_TS_RESP_fp, -d2i_TS_STATUS_INFO, -d2i_TS_TST_INFO, -d2i_TS_TST_INFO_bio, -d2i_TS_TST_INFO_fp, -d2i_USERNOTICE, -d2i_X509, -d2i_X509_ALGOR, -d2i_X509_ALGORS, -d2i_X509_ATTRIBUTE, -d2i_X509_CERT_AUX, -d2i_X509_CINF, -d2i_X509_CRL, -d2i_X509_CRL_INFO, -d2i_X509_CRL_bio, -d2i_X509_CRL_fp, -d2i_X509_EXTENSION, -d2i_X509_EXTENSIONS, -d2i_X509_NAME, -d2i_X509_NAME_ENTRY, -d2i_X509_PUBKEY, -d2i_X509_PUBKEY_bio, -d2i_X509_PUBKEY_fp, -d2i_X509_REQ, -d2i_X509_REQ_INFO, -d2i_X509_REQ_bio, -d2i_X509_REQ_fp, -d2i_X509_REVOKED, -d2i_X509_SIG, -d2i_X509_VAL, -i2d_ACCESS_DESCRIPTION, -i2d_ADMISSIONS, -i2d_ADMISSION_SYNTAX, -i2d_ASIdOrRange, -i2d_ASIdentifierChoice, -i2d_ASIdentifiers, -i2d_ASN1_BIT_STRING, -i2d_ASN1_BMPSTRING, -i2d_ASN1_ENUMERATED, -i2d_ASN1_GENERALIZEDTIME, -i2d_ASN1_GENERALSTRING, -i2d_ASN1_IA5STRING, -i2d_ASN1_INTEGER, -i2d_ASN1_NULL, -i2d_ASN1_OBJECT, -i2d_ASN1_OCTET_STRING, -i2d_ASN1_PRINTABLE, -i2d_ASN1_PRINTABLESTRING, -i2d_ASN1_SEQUENCE_ANY, -i2d_ASN1_SET_ANY, -i2d_ASN1_T61STRING, -i2d_ASN1_TIME, -i2d_ASN1_TYPE, -i2d_ASN1_UNIVERSALSTRING, -i2d_ASN1_UTCTIME, -i2d_ASN1_UTF8STRING, -i2d_ASN1_VISIBLESTRING, -i2d_ASN1_bio_stream, -i2d_ASRange, -i2d_AUTHORITY_INFO_ACCESS, -i2d_AUTHORITY_KEYID, -i2d_BASIC_CONSTRAINTS, -i2d_CERTIFICATEPOLICIES, -i2d_CMS_ContentInfo, -i2d_CMS_ReceiptRequest, -i2d_CMS_bio, -i2d_CRL_DIST_POINTS, -i2d_DHxparams, -i2d_DIRECTORYSTRING, -i2d_DISPLAYTEXT, -i2d_DIST_POINT, -i2d_DIST_POINT_NAME, -i2d_DSAPrivateKey, -i2d_DSAPrivateKey_bio, -i2d_DSAPrivateKey_fp, -i2d_DSAPublicKey, -i2d_DSA_PUBKEY, -i2d_DSA_PUBKEY_bio, -i2d_DSA_PUBKEY_fp, -i2d_DSA_SIG, -i2d_DSAparams, -i2d_ECDSA_SIG, -i2d_ECPKParameters, -i2d_ECParameters, -i2d_ECPrivateKey, -i2d_ECPrivateKey_bio, -i2d_ECPrivateKey_fp, -i2d_EC_PUBKEY, -i2d_EC_PUBKEY_bio, -i2d_EC_PUBKEY_fp, -i2d_EDIPARTYNAME, -i2d_ESS_CERT_ID, -i2d_ESS_CERT_ID_V2, -i2d_ESS_ISSUER_SERIAL, -i2d_ESS_SIGNING_CERT, -i2d_ESS_SIGNING_CERT_V2, -i2d_EXTENDED_KEY_USAGE, -i2d_GENERAL_NAME, -i2d_GENERAL_NAMES, -i2d_IPAddressChoice, -i2d_IPAddressFamily, -i2d_IPAddressOrRange, -i2d_IPAddressRange, -i2d_ISSUING_DIST_POINT, -i2d_NAMING_AUTHORITY, -i2d_NETSCAPE_CERT_SEQUENCE, -i2d_NETSCAPE_SPKAC, -i2d_NETSCAPE_SPKI, -i2d_NOTICEREF, -i2d_OCSP_BASICRESP, -i2d_OCSP_CERTID, -i2d_OCSP_CERTSTATUS, -i2d_OCSP_CRLID, -i2d_OCSP_ONEREQ, -i2d_OCSP_REQINFO, -i2d_OCSP_REQUEST, -i2d_OCSP_RESPBYTES, -i2d_OCSP_RESPDATA, -i2d_OCSP_RESPID, -i2d_OCSP_RESPONSE, -i2d_OCSP_REVOKEDINFO, -i2d_OCSP_SERVICELOC, -i2d_OCSP_SIGNATURE, -i2d_OCSP_SINGLERESP, -i2d_OSSL_CMP_MSG, -i2d_OSSL_CMP_PKIHEADER, -i2d_OSSL_CRMF_CERTID, -i2d_OSSL_CRMF_CERTTEMPLATE, -i2d_OSSL_CRMF_ENCRYPTEDVALUE, -i2d_OSSL_CRMF_MSG, -i2d_OSSL_CRMF_MSGS, -i2d_OSSL_CRMF_PBMPARAMETER, -i2d_OSSL_CRMF_PKIPUBLICATIONINFO, -i2d_OSSL_CRMF_SINGLEPUBINFO, -i2d_OTHERNAME, -i2d_PBE2PARAM, -i2d_PBEPARAM, -i2d_PBKDF2PARAM, -i2d_PKCS12, -i2d_PKCS12_BAGS, -i2d_PKCS12_MAC_DATA, -i2d_PKCS12_SAFEBAG, -i2d_PKCS12_bio, -i2d_PKCS12_fp, -i2d_PKCS7, -i2d_PKCS7_DIGEST, -i2d_PKCS7_ENCRYPT, -i2d_PKCS7_ENC_CONTENT, -i2d_PKCS7_ENVELOPE, -i2d_PKCS7_ISSUER_AND_SERIAL, -i2d_PKCS7_NDEF, -i2d_PKCS7_RECIP_INFO, -i2d_PKCS7_SIGNED, -i2d_PKCS7_SIGNER_INFO, -i2d_PKCS7_SIGN_ENVELOPE, -i2d_PKCS7_bio, -i2d_PKCS7_fp, -i2d_PKCS8PrivateKeyInfo_bio, -i2d_PKCS8PrivateKeyInfo_fp, -i2d_PKCS8_PRIV_KEY_INFO, -i2d_PKCS8_PRIV_KEY_INFO_bio, -i2d_PKCS8_PRIV_KEY_INFO_fp, -i2d_PKCS8_bio, -i2d_PKCS8_fp, -i2d_PKEY_USAGE_PERIOD, -i2d_POLICYINFO, -i2d_POLICYQUALINFO, -i2d_PROFESSION_INFO, -i2d_PROXY_CERT_INFO_EXTENSION, -i2d_PROXY_POLICY, -i2d_RSAPrivateKey, -i2d_RSAPrivateKey_bio, -i2d_RSAPrivateKey_fp, -i2d_RSAPublicKey, -i2d_RSAPublicKey_bio, -i2d_RSAPublicKey_fp, -i2d_RSA_OAEP_PARAMS, -i2d_RSA_PSS_PARAMS, -i2d_RSA_PUBKEY, -i2d_RSA_PUBKEY_bio, -i2d_RSA_PUBKEY_fp, -i2d_SCRYPT_PARAMS, -i2d_SCT_LIST, -i2d_SXNET, -i2d_SXNETID, -i2d_TS_ACCURACY, -i2d_TS_MSG_IMPRINT, -i2d_TS_MSG_IMPRINT_bio, -i2d_TS_MSG_IMPRINT_fp, -i2d_TS_REQ, -i2d_TS_REQ_bio, -i2d_TS_REQ_fp, -i2d_TS_RESP, -i2d_TS_RESP_bio, -i2d_TS_RESP_fp, -i2d_TS_STATUS_INFO, -i2d_TS_TST_INFO, -i2d_TS_TST_INFO_bio, -i2d_TS_TST_INFO_fp, -i2d_USERNOTICE, -i2d_X509, -i2d_X509_ALGOR, -i2d_X509_ALGORS, -i2d_X509_ATTRIBUTE, -i2d_X509_CERT_AUX, -i2d_X509_CINF, -i2d_X509_CRL, -i2d_X509_CRL_INFO, -i2d_X509_CRL_bio, -i2d_X509_CRL_fp, -i2d_X509_EXTENSION, -i2d_X509_EXTENSIONS, -i2d_X509_NAME, -i2d_X509_NAME_ENTRY, -i2d_X509_PUBKEY, -i2d_X509_PUBKEY_bio, -i2d_X509_PUBKEY_fp, -i2d_X509_REQ, -i2d_X509_REQ_INFO, -i2d_X509_REQ_bio, -i2d_X509_REQ_fp, -i2d_X509_REVOKED, -i2d_X509_SIG, -i2d_X509_VAL, -\&\- convert objects from/to ASN.1/DER representation +d2i_ACCESS_DESCRIPTION, d2i_ADMISSIONS, d2i_ADMISSION_SYNTAX, d2i_ASIdOrRange, d2i_ASIdentifierChoice, d2i_ASIdentifiers, d2i_ASN1_BIT_STRING, d2i_ASN1_BMPSTRING, d2i_ASN1_ENUMERATED, d2i_ASN1_GENERALIZEDTIME, d2i_ASN1_GENERALSTRING, d2i_ASN1_IA5STRING, d2i_ASN1_INTEGER, d2i_ASN1_NULL, d2i_ASN1_OBJECT, d2i_ASN1_OCTET_STRING, d2i_ASN1_PRINTABLE, d2i_ASN1_PRINTABLESTRING, d2i_ASN1_SEQUENCE_ANY, d2i_ASN1_SET_ANY, d2i_ASN1_T61STRING, d2i_ASN1_TIME, d2i_ASN1_TYPE, d2i_ASN1_UINTEGER, d2i_ASN1_UNIVERSALSTRING, d2i_ASN1_UTCTIME, d2i_ASN1_UTF8STRING, d2i_ASN1_VISIBLESTRING, d2i_ASRange, d2i_AUTHORITY_INFO_ACCESS, d2i_AUTHORITY_KEYID, d2i_BASIC_CONSTRAINTS, d2i_CERTIFICATEPOLICIES, d2i_CMS_ContentInfo, d2i_CMS_ReceiptRequest, d2i_CMS_bio, d2i_CRL_DIST_POINTS, d2i_DHxparams, d2i_DIRECTORYSTRING, d2i_DISPLAYTEXT, d2i_DIST_POINT, d2i_DIST_POINT_NAME, d2i_DSAPrivateKey, d2i_DSAPrivateKey_bio, d2i_DSAPrivateKey_fp, d2i_DSAPublicKey, d2i_DSA_PUBKEY, d2i_DSA_PUBKEY_bio, d2i_DSA_PUBKEY_fp, d2i_DSA_SIG, d2i_DSAparams, d2i_ECDSA_SIG, d2i_ECPKParameters, d2i_ECParameters, d2i_ECPrivateKey, d2i_ECPrivateKey_bio, d2i_ECPrivateKey_fp, d2i_EC_PUBKEY, d2i_EC_PUBKEY_bio, d2i_EC_PUBKEY_fp, d2i_EDIPARTYNAME, d2i_ESS_CERT_ID, d2i_ESS_ISSUER_SERIAL, d2i_ESS_SIGNING_CERT, d2i_EXTENDED_KEY_USAGE, d2i_GENERAL_NAME, d2i_GENERAL_NAMES, d2i_IPAddressChoice, d2i_IPAddressFamily, d2i_IPAddressOrRange, d2i_IPAddressRange, d2i_ISSUING_DIST_POINT, d2i_NAMING_AUTHORITY, d2i_NETSCAPE_CERT_SEQUENCE, d2i_NETSCAPE_SPKAC, d2i_NETSCAPE_SPKI, d2i_NOTICEREF, d2i_OCSP_BASICRESP, d2i_OCSP_CERTID, d2i_OCSP_CERTSTATUS, d2i_OCSP_CRLID, d2i_OCSP_ONEREQ, d2i_OCSP_REQINFO, d2i_OCSP_REQUEST, d2i_OCSP_RESPBYTES, d2i_OCSP_RESPDATA, d2i_OCSP_RESPID, d2i_OCSP_RESPONSE, d2i_OCSP_REVOKEDINFO, d2i_OCSP_SERVICELOC, d2i_OCSP_SIGNATURE, d2i_OCSP_SINGLERESP, d2i_OTHERNAME, d2i_PBE2PARAM, d2i_PBEPARAM, d2i_PBKDF2PARAM, d2i_PKCS12, d2i_PKCS12_BAGS, d2i_PKCS12_MAC_DATA, d2i_PKCS12_SAFEBAG, d2i_PKCS12_bio, d2i_PKCS12_fp, d2i_PKCS7, d2i_PKCS7_DIGEST, d2i_PKCS7_ENCRYPT, d2i_PKCS7_ENC_CONTENT, d2i_PKCS7_ENVELOPE, d2i_PKCS7_ISSUER_AND_SERIAL, d2i_PKCS7_RECIP_INFO, d2i_PKCS7_SIGNED, d2i_PKCS7_SIGNER_INFO, d2i_PKCS7_SIGN_ENVELOPE, d2i_PKCS7_bio, d2i_PKCS7_fp, d2i_PKCS8_PRIV_KEY_INFO, d2i_PKCS8_PRIV_KEY_INFO_bio, d2i_PKCS8_PRIV_KEY_INFO_fp, d2i_PKCS8_bio, d2i_PKCS8_fp, d2i_PKEY_USAGE_PERIOD, d2i_POLICYINFO, d2i_POLICYQUALINFO, d2i_PROFESSION_INFO, d2i_PROXY_CERT_INFO_EXTENSION, d2i_PROXY_POLICY, d2i_RSAPrivateKey, d2i_RSAPrivateKey_bio, d2i_RSAPrivateKey_fp, d2i_RSAPublicKey, d2i_RSAPublicKey_bio, d2i_RSAPublicKey_fp, d2i_RSA_OAEP_PARAMS, d2i_RSA_PSS_PARAMS, d2i_RSA_PUBKEY, d2i_RSA_PUBKEY_bio, d2i_RSA_PUBKEY_fp, d2i_SCRYPT_PARAMS, d2i_SCT_LIST, d2i_SXNET, d2i_SXNETID, d2i_TS_ACCURACY, d2i_TS_MSG_IMPRINT, d2i_TS_MSG_IMPRINT_bio, d2i_TS_MSG_IMPRINT_fp, d2i_TS_REQ, d2i_TS_REQ_bio, d2i_TS_REQ_fp, d2i_TS_RESP, d2i_TS_RESP_bio, d2i_TS_RESP_fp, d2i_TS_STATUS_INFO, d2i_TS_TST_INFO, d2i_TS_TST_INFO_bio, d2i_TS_TST_INFO_fp, d2i_USERNOTICE, d2i_X509, d2i_X509_ALGOR, d2i_X509_ALGORS, d2i_X509_ATTRIBUTE, d2i_X509_CERT_AUX, d2i_X509_CINF, d2i_X509_CRL, d2i_X509_CRL_INFO, d2i_X509_CRL_bio, d2i_X509_CRL_fp, d2i_X509_EXTENSION, d2i_X509_EXTENSIONS, d2i_X509_NAME, d2i_X509_NAME_ENTRY, d2i_X509_PUBKEY, d2i_X509_REQ, d2i_X509_REQ_INFO, d2i_X509_REQ_bio, d2i_X509_REQ_fp, d2i_X509_REVOKED, d2i_X509_SIG, d2i_X509_VAL, i2d_ACCESS_DESCRIPTION, i2d_ADMISSIONS, i2d_ADMISSION_SYNTAX, i2d_ASIdOrRange, i2d_ASIdentifierChoice, i2d_ASIdentifiers, i2d_ASN1_BIT_STRING, i2d_ASN1_BMPSTRING, i2d_ASN1_ENUMERATED, i2d_ASN1_GENERALIZEDTIME, i2d_ASN1_GENERALSTRING, i2d_ASN1_IA5STRING, i2d_ASN1_INTEGER, i2d_ASN1_NULL, i2d_ASN1_OBJECT, i2d_ASN1_OCTET_STRING, i2d_ASN1_PRINTABLE, i2d_ASN1_PRINTABLESTRING, i2d_ASN1_SEQUENCE_ANY, i2d_ASN1_SET_ANY, i2d_ASN1_T61STRING, i2d_ASN1_TIME, i2d_ASN1_TYPE, i2d_ASN1_UNIVERSALSTRING, i2d_ASN1_UTCTIME, i2d_ASN1_UTF8STRING, i2d_ASN1_VISIBLESTRING, i2d_ASN1_bio_stream, i2d_ASRange, i2d_AUTHORITY_INFO_ACCESS, i2d_AUTHORITY_KEYID, i2d_BASIC_CONSTRAINTS, i2d_CERTIFICATEPOLICIES, i2d_CMS_ContentInfo, i2d_CMS_ReceiptRequest, i2d_CMS_bio, i2d_CRL_DIST_POINTS, i2d_DHxparams, i2d_DIRECTORYSTRING, i2d_DISPLAYTEXT, i2d_DIST_POINT, i2d_DIST_POINT_NAME, i2d_DSAPrivateKey, i2d_DSAPrivateKey_bio, i2d_DSAPrivateKey_fp, i2d_DSAPublicKey, i2d_DSA_PUBKEY, i2d_DSA_PUBKEY_bio, i2d_DSA_PUBKEY_fp, i2d_DSA_SIG, i2d_DSAparams, i2d_ECDSA_SIG, i2d_ECPKParameters, i2d_ECParameters, i2d_ECPrivateKey, i2d_ECPrivateKey_bio, i2d_ECPrivateKey_fp, i2d_EC_PUBKEY, i2d_EC_PUBKEY_bio, i2d_EC_PUBKEY_fp, i2d_EDIPARTYNAME, i2d_ESS_CERT_ID, i2d_ESS_ISSUER_SERIAL, i2d_ESS_SIGNING_CERT, i2d_EXTENDED_KEY_USAGE, i2d_GENERAL_NAME, i2d_GENERAL_NAMES, i2d_IPAddressChoice, i2d_IPAddressFamily, i2d_IPAddressOrRange, i2d_IPAddressRange, i2d_ISSUING_DIST_POINT, i2d_NAMING_AUTHORITY, i2d_NETSCAPE_CERT_SEQUENCE, i2d_NETSCAPE_SPKAC, i2d_NETSCAPE_SPKI, i2d_NOTICEREF, i2d_OCSP_BASICRESP, i2d_OCSP_CERTID, i2d_OCSP_CERTSTATUS, i2d_OCSP_CRLID, i2d_OCSP_ONEREQ, i2d_OCSP_REQINFO, i2d_OCSP_REQUEST, i2d_OCSP_RESPBYTES, i2d_OCSP_RESPDATA, i2d_OCSP_RESPID, i2d_OCSP_RESPONSE, i2d_OCSP_REVOKEDINFO, i2d_OCSP_SERVICELOC, i2d_OCSP_SIGNATURE, i2d_OCSP_SINGLERESP, i2d_OTHERNAME, i2d_PBE2PARAM, i2d_PBEPARAM, i2d_PBKDF2PARAM, i2d_PKCS12, i2d_PKCS12_BAGS, i2d_PKCS12_MAC_DATA, i2d_PKCS12_SAFEBAG, i2d_PKCS12_bio, i2d_PKCS12_fp, i2d_PKCS7, i2d_PKCS7_DIGEST, i2d_PKCS7_ENCRYPT, i2d_PKCS7_ENC_CONTENT, i2d_PKCS7_ENVELOPE, i2d_PKCS7_ISSUER_AND_SERIAL, i2d_PKCS7_NDEF, i2d_PKCS7_RECIP_INFO, i2d_PKCS7_SIGNED, i2d_PKCS7_SIGNER_INFO, i2d_PKCS7_SIGN_ENVELOPE, i2d_PKCS7_bio, i2d_PKCS7_fp, i2d_PKCS8PrivateKeyInfo_bio, i2d_PKCS8PrivateKeyInfo_fp, i2d_PKCS8_PRIV_KEY_INFO, i2d_PKCS8_PRIV_KEY_INFO_bio, i2d_PKCS8_PRIV_KEY_INFO_fp, i2d_PKCS8_bio, i2d_PKCS8_fp, i2d_PKEY_USAGE_PERIOD, i2d_POLICYINFO, i2d_POLICYQUALINFO, i2d_PROFESSION_INFO, i2d_PROXY_CERT_INFO_EXTENSION, i2d_PROXY_POLICY, i2d_RSAPrivateKey, i2d_RSAPrivateKey_bio, i2d_RSAPrivateKey_fp, i2d_RSAPublicKey, i2d_RSAPublicKey_bio, i2d_RSAPublicKey_fp, i2d_RSA_OAEP_PARAMS, i2d_RSA_PSS_PARAMS, i2d_RSA_PUBKEY, i2d_RSA_PUBKEY_bio, i2d_RSA_PUBKEY_fp, i2d_SCRYPT_PARAMS, i2d_SCT_LIST, i2d_SXNET, i2d_SXNETID, i2d_TS_ACCURACY, i2d_TS_MSG_IMPRINT, i2d_TS_MSG_IMPRINT_bio, i2d_TS_MSG_IMPRINT_fp, i2d_TS_REQ, i2d_TS_REQ_bio, i2d_TS_REQ_fp, i2d_TS_RESP, i2d_TS_RESP_bio, i2d_TS_RESP_fp, i2d_TS_STATUS_INFO, i2d_TS_TST_INFO, i2d_TS_TST_INFO_bio, i2d_TS_TST_INFO_fp, i2d_USERNOTICE, i2d_X509, i2d_X509_ALGOR, i2d_X509_ALGORS, i2d_X509_ATTRIBUTE, i2d_X509_CERT_AUX, i2d_X509_CINF, i2d_X509_CRL, i2d_X509_CRL_INFO, i2d_X509_CRL_bio, i2d_X509_CRL_fp, i2d_X509_EXTENSION, i2d_X509_EXTENSIONS, i2d_X509_NAME, i2d_X509_NAME_ENTRY, i2d_X509_PUBKEY, i2d_X509_REQ, i2d_X509_REQ_INFO, i2d_X509_REQ_bio, i2d_X509_REQ_fp, i2d_X509_REVOKED, i2d_X509_SIG, i2d_X509_VAL, \&\- convert objects from/to ASN.1/DER representation .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 3 @@ -523,16 +138,13 @@ i2d_X509_VAL, \& TYPE *d2i_TYPE_bio(BIO *bp, TYPE **a); \& TYPE *d2i_TYPE_fp(FILE *fp, TYPE **a); \& -\& int i2d_TYPE(const TYPE *a, unsigned char **ppout); \& int i2d_TYPE(TYPE *a, unsigned char **ppout); -\& int i2d_TYPE_fp(FILE *fp, const TYPE *a); \& int i2d_TYPE_fp(FILE *fp, TYPE *a); -\& int i2d_TYPE_bio(BIO *bp, const TYPE *a); \& int i2d_TYPE_bio(BIO *bp, TYPE *a); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -In the description here, \fB\f(BI\s-1TYPE\s0\fB\fR is used a placeholder +In the description here, \fI\s-1TYPE\s0\fR is used a placeholder for any of the OpenSSL datatypes, such as \fIX509_CRL\fR. The function parameters \fIppin\fR and \fIppout\fR are generally either both named \fIpp\fR in the headers, or \fIin\fR and \fIout\fR. @@ -542,62 +154,62 @@ encoding. Unlike the C structures which can have pointers to sub-objects within, the \s-1DER\s0 is a serialized encoding, suitable for sending over the network, writing to a file, and so on. .PP -\&\fBd2i_\f(BI\s-1TYPE\s0\fB\fR() attempts to decode \fIlen\fR bytes at \fI*ppin\fR. If successful a -pointer to the \fB\f(BI\s-1TYPE\s0\fB\fR structure is returned and \fI*ppin\fR is incremented to -the byte following the parsed data. If \fIa\fR is not \s-1NULL\s0 then a pointer -to the returned structure is also written to \fI*a\fR. If an error occurred -then \s-1NULL\s0 is returned. +\&\fId2i_TYPE()\fR attempts to decode \fBlen\fR bytes at \fB*ppin\fR. If successful a +pointer to the \fB\s-1TYPE\s0\fR structure is returned and \fB*ppin\fR is incremented to +the byte following the parsed data. If \fBa\fR is not \fB\s-1NULL\s0\fR then a pointer +to the returned structure is also written to \fB*a\fR. If an error occurred +then \fB\s-1NULL\s0\fR is returned. .PP -On a successful return, if \fI*a\fR is not \s-1NULL\s0 then it is assumed that \fI*a\fR -contains a valid \fB\f(BI\s-1TYPE\s0\fB\fR structure and an attempt is made to reuse it. This +On a successful return, if \fB*a\fR is not \fB\s-1NULL\s0\fR then it is assumed that \fB*a\fR +contains a valid \fB\s-1TYPE\s0\fR structure and an attempt is made to reuse it. This \&\*(L"reuse\*(R" capability is present for historical compatibility but its use is \&\fBstrongly discouraged\fR (see \s-1BUGS\s0 below, and the discussion in the \s-1RETURN\s0 \&\s-1VALUES\s0 section). .PP -\&\fBd2i_\f(BI\s-1TYPE\s0\fB_bio\fR() is similar to \fBd2i_\f(BI\s-1TYPE\s0\fB\fR() except it attempts -to parse data from \s-1BIO\s0 \fIbp\fR. +\&\fId2i_TYPE_bio()\fR is similar to \fId2i_TYPE()\fR except it attempts +to parse data from \s-1BIO\s0 \fBbp\fR. .PP -\&\fBd2i_\f(BI\s-1TYPE\s0\fB_fp\fR() is similar to \fBd2i_\f(BI\s-1TYPE\s0\fB\fR() except it attempts -to parse data from \s-1FILE\s0 pointer \fIfp\fR. +\&\fId2i_TYPE_fp()\fR is similar to \fId2i_TYPE()\fR except it attempts +to parse data from \s-1FILE\s0 pointer \fBfp\fR. .PP -\&\fBi2d_\f(BI\s-1TYPE\s0\fB\fR() encodes the structure pointed to by \fIa\fR into \s-1DER\s0 format. -If \fIppout\fR is not \s-1NULL\s0, it writes the \s-1DER\s0 encoded data to the buffer -at \fI*ppout\fR, and increments it to point after the data just written. +\&\fIi2d_TYPE()\fR encodes the structure pointed to by \fBa\fR into \s-1DER\s0 format. +If \fBppout\fR is not \fB\s-1NULL\s0\fR, it writes the \s-1DER\s0 encoded data to the buffer +at \fB*ppout\fR, and increments it to point after the data just written. If the return value is negative an error occurred, otherwise it returns the length of the encoded data. .PP -If \fI*ppout\fR is \s-1NULL\s0 memory will be allocated for a buffer and the encoded -data written to it. In this case \fI*ppout\fR is not incremented and it points +If \fB*ppout\fR is \fB\s-1NULL\s0\fR memory will be allocated for a buffer and the encoded +data written to it. In this case \fB*ppout\fR is not incremented and it points to the start of the data just written. .PP -\&\fBi2d_\f(BI\s-1TYPE\s0\fB_bio\fR() is similar to \fBi2d_\f(BI\s-1TYPE\s0\fB\fR() except it writes -the encoding of the structure \fIa\fR to \s-1BIO\s0 \fIbp\fR and it +\&\fIi2d_TYPE_bio()\fR is similar to \fIi2d_TYPE()\fR except it writes +the encoding of the structure \fBa\fR to \s-1BIO\s0 \fBbp\fR and it returns 1 for success and 0 for failure. .PP -\&\fBi2d_\f(BI\s-1TYPE\s0\fB_fp\fR() is similar to \fBi2d_\f(BI\s-1TYPE\s0\fB\fR() except it writes -the encoding of the structure \fIa\fR to \s-1BIO\s0 \fIbp\fR and it +\&\fIi2d_TYPE_fp()\fR is similar to \fIi2d_TYPE()\fR except it writes +the encoding of the structure \fBa\fR to \s-1BIO\s0 \fBbp\fR and it returns 1 for success and 0 for failure. .PP These routines do not encrypt private keys and therefore offer no security; use \fIPEM_write_PrivateKey\fR\|(3) or similar for writing to files. .SH "NOTES" .IX Header "NOTES" -The letters \fBi\fR and \fBd\fR in \fBi2d_\f(BI\s-1TYPE\s0\fB\fR() stand for +The letters \fBi\fR and \fBd\fR in \fBi2d_TYPE\fR stand for \&\*(L"internal\*(R" (that is, an internal C structure) and \*(L"\s-1DER\s0\*(R" respectively. -So \fBi2d_\f(BI\s-1TYPE\s0\fB\fR() converts from internal to \s-1DER\s0. +So \fBi2d_TYPE\fR converts from internal to \s-1DER\s0. .PP The functions can also understand \fB\s-1BER\s0\fR forms. .PP -The actual \s-1TYPE\s0 structure passed to \fBi2d_\f(BI\s-1TYPE\s0\fB\fR() must be a valid -populated \fB\f(BI\s-1TYPE\s0\fB\fR structure \*(-- it \fBcannot\fR simply be fed with an +The actual \s-1TYPE\s0 structure passed to \fIi2d_TYPE()\fR must be a valid +populated \fB\s-1TYPE\s0\fR structure \*(-- it \fBcannot\fR simply be fed with an empty structure such as that returned by \fITYPE_new()\fR. .PP -The encoded data is in binary form and may contain embedded zeros. +The encoded data is in binary form and may contain embedded zeroes. Therefore any \s-1FILE\s0 pointers or BIOs should be opened in binary mode. Functions such as \fIstrlen()\fR will \fBnot\fR return the correct length of the encoded structure. .PP -The ways that \fI*ppin\fR and \fI*ppout\fR are incremented after the operation +The ways that \fB*ppin\fR and \fB*ppout\fR are incremented after the operation can trap the unwary. See the \fB\s-1WARNINGS\s0\fR section for some common errors. The reason for this-auto increment behaviour is to reflect a typical @@ -617,10 +229,10 @@ Represents an \s-1ANSI\s0 X9.42 \s-1DH\s0 parameters structure. .IP "\fB\s-1DSA_PUBKEY\s0\fR" 4 .IX Item "DSA_PUBKEY" Represents a \s-1DSA\s0 public key using a \fBSubjectPublicKeyInfo\fR structure. -.IP "\fBDSAPublicKey\fR, \fBDSAPrivateKey\fR" 4 +.IP "\fBDSAPublicKey, DSAPrivateKey\fR" 4 .IX Item "DSAPublicKey, DSAPrivateKey" Use a non-standard OpenSSL format and should be avoided; use \fB\s-1DSA_PUBKEY\s0\fR, -\&\fIPEM_write_PrivateKey\fR\|(3), or similar instead. +\&\fB\f(BIPEM_write_PrivateKey\fB\|(3)\fR, or similar instead. .IP "\fB\s-1ECDSA_SIG\s0\fR" 4 .IX Item "ECDSA_SIG" Represents an \s-1ECDSA\s0 signature. @@ -643,16 +255,16 @@ Represents a PKCS#10 certificate request. Represents the \fBDigestInfo\fR structure defined in PKCS#1 and PKCS#7. .SH "RETURN VALUES" .IX Header "RETURN VALUES" -\&\fBd2i_\f(BI\s-1TYPE\s0\fB\fR(), \fBd2i_\f(BI\s-1TYPE\s0\fB_bio\fR() and \fBd2i_\f(BI\s-1TYPE\s0\fB_fp\fR() return a valid -\&\fB\f(BI\s-1TYPE\s0\fB\fR structure or \s-1NULL\s0 if an error occurs. If the \*(L"reuse\*(R" capability has -been used with a valid structure being passed in via \fIa\fR, then the object is -freed in the event of error and \fI*a\fR is set to \s-1NULL\s0. +\&\fId2i_TYPE()\fR, \fId2i_TYPE_bio()\fR and \fId2i_TYPE_fp()\fR return a valid \fB\s-1TYPE\s0\fR structure +or \fB\s-1NULL\s0\fR if an error occurs. If the \*(L"reuse\*(R" capability has been used with +a valid structure being passed in via \fBa\fR, then the object is freed in +the event of error and \fB*a\fR is set to \s-1NULL\s0. .PP -\&\fBi2d_\f(BI\s-1TYPE\s0\fB\fR() returns the number of bytes successfully encoded or a negative +\&\fIi2d_TYPE()\fR returns the number of bytes successfully encoded or a negative value if an error occurs. .PP -\&\fBi2d_\f(BI\s-1TYPE\s0\fB_bio\fR() and \fBi2d_\f(BI\s-1TYPE\s0\fB_fp\fR() return 1 for success and 0 if an -error occurs. +\&\fIi2d_TYPE_bio()\fR and \fIi2d_TYPE_fp()\fR return 1 for success and 0 if an error +occurs. .SH "EXAMPLES" .IX Header "EXAMPLES" Allocate and encode the \s-1DER\s0 encoding of an X509 structure: @@ -712,12 +324,12 @@ mistake is to attempt to use a buffer directly as follows: \& OPENSSL_free(buf); .Ve .PP -This code will result in \fIbuf\fR apparently containing garbage because +This code will result in \fBbuf\fR apparently containing garbage because it was incremented after the call to point after the data just written. -Also \fIbuf\fR will no longer contain the pointer allocated by \fIOPENSSL_malloc()\fR +Also \fBbuf\fR will no longer contain the pointer allocated by \fIOPENSSL_malloc()\fR and the subsequent call to \fIOPENSSL_free()\fR is likely to crash. .PP -Another trap to avoid is misuse of the \fIa\fR argument to \fBd2i_\f(BI\s-1TYPE\s0\fB\fR(): +Another trap to avoid is misuse of the \fBa\fR argument to \fId2i_TYPE()\fR: .PP .Vb 1 \& X509 *x; @@ -727,38 +339,38 @@ Another trap to avoid is misuse of the \fIa\fR argument to \fBd2i_\f(BI\s-1TYPE\ .Ve .PP This will probably crash somewhere in \fId2i_X509()\fR. The reason for this -is that the variable \fIx\fR is uninitialized and an attempt will be made to +is that the variable \fBx\fR is uninitialized and an attempt will be made to interpret its (invalid) value as an \fBX509\fR structure, typically causing -a segmentation violation. If \fIx\fR is set to \s-1NULL\s0 first then this will not +a segmentation violation. If \fBx\fR is set to \s-1NULL\s0 first then this will not happen. .SH "BUGS" .IX Header "BUGS" -In some versions of OpenSSL the \*(L"reuse\*(R" behaviour of \fBd2i_\f(BI\s-1TYPE\s0\fB\fR() when -\&\fI*a\fR is valid is broken and some parts of the reused structure may +In some versions of OpenSSL the \*(L"reuse\*(R" behaviour of \fId2i_TYPE()\fR when +\&\fB*a\fR is valid is broken and some parts of the reused structure may persist if they are not present in the new one. Additionally, in versions of OpenSSL prior to 1.1.0, when the \*(L"reuse\*(R" behaviour is used and an error occurs the behaviour is inconsistent. Some functions behaved as described here, while -some did not free \fI*a\fR on error and did not set \fI*a\fR to \s-1NULL\s0. +some did not free \fB*a\fR on error and did not set \fB*a\fR to \s-1NULL\s0. .PP As a result of the above issues the \*(L"reuse\*(R" behaviour is strongly discouraged. .PP -\&\fBi2d_\f(BI\s-1TYPE\s0\fB\fR() will not return an error in many versions of OpenSSL, +\&\fIi2d_TYPE()\fR will not return an error in many versions of OpenSSL, if mandatory fields are not initialized due to a programming error then the encoded structure may contain invalid data or omit the -fields entirely and will not be parsed by \fBd2i_\f(BI\s-1TYPE\s0\fB\fR(). This may be -fixed in future so code should not assume that \fBi2d_\f(BI\s-1TYPE\s0\fB\fR() will +fields entirely and will not be parsed by \fId2i_TYPE()\fR. This may be +fixed in future so code should not assume that \fIi2d_TYPE()\fR will always succeed. .PP -Any function which encodes a structure (\fBi2d_\f(BI\s-1TYPE\s0\fB\fR(), -\&\fBi2d_\f(BI\s-1TYPE\s0\fB\fR() or \fBi2d_\f(BI\s-1TYPE\s0\fB\fR()) may return a stale encoding if the +Any function which encodes a structure (\fIi2d_TYPE()\fR, +\&\fIi2d_TYPE()\fR or \fIi2d_TYPE()\fR) may return a stale encoding if the structure has been modified after deserialization or previous serialization. This is because some objects cache the encoding for efficiency reasons. .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 1998\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 1998\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/d2i_X509_ALGOR.3 b/linux_amd64/share/man/man3/d2i_X509_ALGOR.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_X509_ALGOR.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_X509_ALGORS.3 b/linux_amd64/share/man/man3/d2i_X509_ALGORS.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_X509_ALGORS.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_X509_ATTRIBUTE.3 b/linux_amd64/share/man/man3/d2i_X509_ATTRIBUTE.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_X509_ATTRIBUTE.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_X509_AUX.3 b/linux_amd64/share/man/man3/d2i_X509_AUX.3 new file mode 120000 index 0000000..1482e9e --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_X509_AUX.3 @@ -0,0 +1 @@ +i2d_re_X509_tbs.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_X509_CERT_AUX.3 b/linux_amd64/share/man/man3/d2i_X509_CERT_AUX.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_X509_CERT_AUX.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_X509_CINF.3 b/linux_amd64/share/man/man3/d2i_X509_CINF.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_X509_CINF.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_X509_CRL.3 b/linux_amd64/share/man/man3/d2i_X509_CRL.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_X509_CRL.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_X509_CRL_INFO.3 b/linux_amd64/share/man/man3/d2i_X509_CRL_INFO.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_X509_CRL_INFO.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_X509_CRL_bio.3 b/linux_amd64/share/man/man3/d2i_X509_CRL_bio.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_X509_CRL_bio.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_X509_CRL_fp.3 b/linux_amd64/share/man/man3/d2i_X509_CRL_fp.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_X509_CRL_fp.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_X509_EXTENSION.3 b/linux_amd64/share/man/man3/d2i_X509_EXTENSION.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_X509_EXTENSION.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_X509_EXTENSIONS.3 b/linux_amd64/share/man/man3/d2i_X509_EXTENSIONS.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_X509_EXTENSIONS.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_X509_NAME.3 b/linux_amd64/share/man/man3/d2i_X509_NAME.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_X509_NAME.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_X509_NAME_ENTRY.3 b/linux_amd64/share/man/man3/d2i_X509_NAME_ENTRY.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_X509_NAME_ENTRY.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_X509_PUBKEY.3 b/linux_amd64/share/man/man3/d2i_X509_PUBKEY.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_X509_PUBKEY.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_X509_REQ.3 b/linux_amd64/share/man/man3/d2i_X509_REQ.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_X509_REQ.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_X509_REQ_INFO.3 b/linux_amd64/share/man/man3/d2i_X509_REQ_INFO.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_X509_REQ_INFO.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_X509_REQ_bio.3 b/linux_amd64/share/man/man3/d2i_X509_REQ_bio.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_X509_REQ_bio.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_X509_REQ_fp.3 b/linux_amd64/share/man/man3/d2i_X509_REQ_fp.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_X509_REQ_fp.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_X509_REVOKED.3 b/linux_amd64/share/man/man3/d2i_X509_REVOKED.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_X509_REVOKED.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_X509_SIG.3 b/linux_amd64/share/man/man3/d2i_X509_SIG.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_X509_SIG.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/d2i_X509_VAL.3 b/linux_amd64/share/man/man3/d2i_X509_VAL.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/d2i_X509_VAL.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_ACCESS_DESCRIPTION.3 b/linux_amd64/share/man/man3/i2d_ACCESS_DESCRIPTION.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_ACCESS_DESCRIPTION.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_ADMISSIONS.3 b/linux_amd64/share/man/man3/i2d_ADMISSIONS.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_ADMISSIONS.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_ADMISSION_SYNTAX.3 b/linux_amd64/share/man/man3/i2d_ADMISSION_SYNTAX.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_ADMISSION_SYNTAX.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_ASIdOrRange.3 b/linux_amd64/share/man/man3/i2d_ASIdOrRange.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_ASIdOrRange.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_ASIdentifierChoice.3 b/linux_amd64/share/man/man3/i2d_ASIdentifierChoice.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_ASIdentifierChoice.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_ASIdentifiers.3 b/linux_amd64/share/man/man3/i2d_ASIdentifiers.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_ASIdentifiers.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_ASN1_BIT_STRING.3 b/linux_amd64/share/man/man3/i2d_ASN1_BIT_STRING.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_ASN1_BIT_STRING.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_ASN1_BMPSTRING.3 b/linux_amd64/share/man/man3/i2d_ASN1_BMPSTRING.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_ASN1_BMPSTRING.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_ASN1_ENUMERATED.3 b/linux_amd64/share/man/man3/i2d_ASN1_ENUMERATED.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_ASN1_ENUMERATED.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_ASN1_GENERALIZEDTIME.3 b/linux_amd64/share/man/man3/i2d_ASN1_GENERALIZEDTIME.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_ASN1_GENERALIZEDTIME.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_ASN1_GENERALSTRING.3 b/linux_amd64/share/man/man3/i2d_ASN1_GENERALSTRING.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_ASN1_GENERALSTRING.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_ASN1_IA5STRING.3 b/linux_amd64/share/man/man3/i2d_ASN1_IA5STRING.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_ASN1_IA5STRING.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_ASN1_INTEGER.3 b/linux_amd64/share/man/man3/i2d_ASN1_INTEGER.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_ASN1_INTEGER.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_ASN1_NULL.3 b/linux_amd64/share/man/man3/i2d_ASN1_NULL.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_ASN1_NULL.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_ASN1_OBJECT.3 b/linux_amd64/share/man/man3/i2d_ASN1_OBJECT.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_ASN1_OBJECT.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_ASN1_OCTET_STRING.3 b/linux_amd64/share/man/man3/i2d_ASN1_OCTET_STRING.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_ASN1_OCTET_STRING.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_ASN1_PRINTABLE.3 b/linux_amd64/share/man/man3/i2d_ASN1_PRINTABLE.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_ASN1_PRINTABLE.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_ASN1_PRINTABLESTRING.3 b/linux_amd64/share/man/man3/i2d_ASN1_PRINTABLESTRING.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_ASN1_PRINTABLESTRING.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_ASN1_SEQUENCE_ANY.3 b/linux_amd64/share/man/man3/i2d_ASN1_SEQUENCE_ANY.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_ASN1_SEQUENCE_ANY.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_ASN1_SET_ANY.3 b/linux_amd64/share/man/man3/i2d_ASN1_SET_ANY.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_ASN1_SET_ANY.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_ASN1_T61STRING.3 b/linux_amd64/share/man/man3/i2d_ASN1_T61STRING.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_ASN1_T61STRING.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_ASN1_TIME.3 b/linux_amd64/share/man/man3/i2d_ASN1_TIME.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_ASN1_TIME.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_ASN1_TYPE.3 b/linux_amd64/share/man/man3/i2d_ASN1_TYPE.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_ASN1_TYPE.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_ASN1_UNIVERSALSTRING.3 b/linux_amd64/share/man/man3/i2d_ASN1_UNIVERSALSTRING.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_ASN1_UNIVERSALSTRING.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_ASN1_UTCTIME.3 b/linux_amd64/share/man/man3/i2d_ASN1_UTCTIME.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_ASN1_UTCTIME.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_ASN1_UTF8STRING.3 b/linux_amd64/share/man/man3/i2d_ASN1_UTF8STRING.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_ASN1_UTF8STRING.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_ASN1_VISIBLESTRING.3 b/linux_amd64/share/man/man3/i2d_ASN1_VISIBLESTRING.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_ASN1_VISIBLESTRING.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_ASN1_bio_stream.3 b/linux_amd64/share/man/man3/i2d_ASN1_bio_stream.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_ASN1_bio_stream.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_ASRange.3 b/linux_amd64/share/man/man3/i2d_ASRange.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_ASRange.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_AUTHORITY_INFO_ACCESS.3 b/linux_amd64/share/man/man3/i2d_AUTHORITY_INFO_ACCESS.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_AUTHORITY_INFO_ACCESS.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_AUTHORITY_KEYID.3 b/linux_amd64/share/man/man3/i2d_AUTHORITY_KEYID.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_AUTHORITY_KEYID.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_BASIC_CONSTRAINTS.3 b/linux_amd64/share/man/man3/i2d_BASIC_CONSTRAINTS.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_BASIC_CONSTRAINTS.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_CERTIFICATEPOLICIES.3 b/linux_amd64/share/man/man3/i2d_CERTIFICATEPOLICIES.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_CERTIFICATEPOLICIES.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_CMS_ContentInfo.3 b/linux_amd64/share/man/man3/i2d_CMS_ContentInfo.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_CMS_ContentInfo.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_CMS_ReceiptRequest.3 b/linux_amd64/share/man/man3/i2d_CMS_ReceiptRequest.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_CMS_ReceiptRequest.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_CMS_bio.3 b/linux_amd64/share/man/man3/i2d_CMS_bio.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_CMS_bio.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_CMS_bio_stream.3 b/linux_amd64/share/man/man3/i2d_CMS_bio_stream.3 index fc73af0..7d62202 100755 --- a/linux_amd64/share/man/man3/i2d_CMS_bio_stream.3 +++ b/linux_amd64/share/man/man3/i2d_CMS_bio_stream.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "I2D_CMS_BIO_STREAM 3" -.TH I2D_CMS_BIO_STREAM 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH I2D_CMS_BIO_STREAM 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -167,7 +167,7 @@ The \fIi2d_CMS_bio_stream()\fR function was added in OpenSSL 1.0.0. .IX Header "COPYRIGHT" Copyright 2008\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/i2d_CRL_DIST_POINTS.3 b/linux_amd64/share/man/man3/i2d_CRL_DIST_POINTS.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_CRL_DIST_POINTS.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_DHparams.3 b/linux_amd64/share/man/man3/i2d_DHparams.3 new file mode 120000 index 0000000..fcd8fc6 --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_DHparams.3 @@ -0,0 +1 @@ +d2i_DHparams.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_DHxparams.3 b/linux_amd64/share/man/man3/i2d_DHxparams.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_DHxparams.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_DIRECTORYSTRING.3 b/linux_amd64/share/man/man3/i2d_DIRECTORYSTRING.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_DIRECTORYSTRING.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_DISPLAYTEXT.3 b/linux_amd64/share/man/man3/i2d_DISPLAYTEXT.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_DISPLAYTEXT.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_DIST_POINT.3 b/linux_amd64/share/man/man3/i2d_DIST_POINT.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_DIST_POINT.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_DIST_POINT_NAME.3 b/linux_amd64/share/man/man3/i2d_DIST_POINT_NAME.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_DIST_POINT_NAME.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_DSAPrivateKey.3 b/linux_amd64/share/man/man3/i2d_DSAPrivateKey.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_DSAPrivateKey.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_DSAPrivateKey_bio.3 b/linux_amd64/share/man/man3/i2d_DSAPrivateKey_bio.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_DSAPrivateKey_bio.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_DSAPrivateKey_fp.3 b/linux_amd64/share/man/man3/i2d_DSAPrivateKey_fp.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_DSAPrivateKey_fp.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_DSAPublicKey.3 b/linux_amd64/share/man/man3/i2d_DSAPublicKey.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_DSAPublicKey.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_DSA_PUBKEY.3 b/linux_amd64/share/man/man3/i2d_DSA_PUBKEY.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_DSA_PUBKEY.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_DSA_PUBKEY_bio.3 b/linux_amd64/share/man/man3/i2d_DSA_PUBKEY_bio.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_DSA_PUBKEY_bio.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_DSA_PUBKEY_fp.3 b/linux_amd64/share/man/man3/i2d_DSA_PUBKEY_fp.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_DSA_PUBKEY_fp.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_DSA_SIG.3 b/linux_amd64/share/man/man3/i2d_DSA_SIG.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_DSA_SIG.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_DSAparams.3 b/linux_amd64/share/man/man3/i2d_DSAparams.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_DSAparams.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_ECDSA_SIG.3 b/linux_amd64/share/man/man3/i2d_ECDSA_SIG.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_ECDSA_SIG.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_ECPKParameters.3 b/linux_amd64/share/man/man3/i2d_ECPKParameters.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_ECPKParameters.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_ECParameters.3 b/linux_amd64/share/man/man3/i2d_ECParameters.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_ECParameters.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_ECPrivateKey.3 b/linux_amd64/share/man/man3/i2d_ECPrivateKey.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_ECPrivateKey.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_ECPrivateKey_bio.3 b/linux_amd64/share/man/man3/i2d_ECPrivateKey_bio.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_ECPrivateKey_bio.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_ECPrivateKey_fp.3 b/linux_amd64/share/man/man3/i2d_ECPrivateKey_fp.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_ECPrivateKey_fp.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_EC_PUBKEY.3 b/linux_amd64/share/man/man3/i2d_EC_PUBKEY.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_EC_PUBKEY.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_EC_PUBKEY_bio.3 b/linux_amd64/share/man/man3/i2d_EC_PUBKEY_bio.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_EC_PUBKEY_bio.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_EC_PUBKEY_fp.3 b/linux_amd64/share/man/man3/i2d_EC_PUBKEY_fp.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_EC_PUBKEY_fp.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_EDIPARTYNAME.3 b/linux_amd64/share/man/man3/i2d_EDIPARTYNAME.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_EDIPARTYNAME.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_ESS_CERT_ID.3 b/linux_amd64/share/man/man3/i2d_ESS_CERT_ID.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_ESS_CERT_ID.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_ESS_ISSUER_SERIAL.3 b/linux_amd64/share/man/man3/i2d_ESS_ISSUER_SERIAL.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_ESS_ISSUER_SERIAL.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_ESS_SIGNING_CERT.3 b/linux_amd64/share/man/man3/i2d_ESS_SIGNING_CERT.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_ESS_SIGNING_CERT.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_EXTENDED_KEY_USAGE.3 b/linux_amd64/share/man/man3/i2d_EXTENDED_KEY_USAGE.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_EXTENDED_KEY_USAGE.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_GENERAL_NAME.3 b/linux_amd64/share/man/man3/i2d_GENERAL_NAME.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_GENERAL_NAME.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_GENERAL_NAMES.3 b/linux_amd64/share/man/man3/i2d_GENERAL_NAMES.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_GENERAL_NAMES.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_IPAddressChoice.3 b/linux_amd64/share/man/man3/i2d_IPAddressChoice.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_IPAddressChoice.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_IPAddressFamily.3 b/linux_amd64/share/man/man3/i2d_IPAddressFamily.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_IPAddressFamily.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_IPAddressOrRange.3 b/linux_amd64/share/man/man3/i2d_IPAddressOrRange.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_IPAddressOrRange.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_IPAddressRange.3 b/linux_amd64/share/man/man3/i2d_IPAddressRange.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_IPAddressRange.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_ISSUING_DIST_POINT.3 b/linux_amd64/share/man/man3/i2d_ISSUING_DIST_POINT.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_ISSUING_DIST_POINT.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_NAMING_AUTHORITY.3 b/linux_amd64/share/man/man3/i2d_NAMING_AUTHORITY.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_NAMING_AUTHORITY.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_NETSCAPE_CERT_SEQUENCE.3 b/linux_amd64/share/man/man3/i2d_NETSCAPE_CERT_SEQUENCE.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_NETSCAPE_CERT_SEQUENCE.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_NETSCAPE_SPKAC.3 b/linux_amd64/share/man/man3/i2d_NETSCAPE_SPKAC.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_NETSCAPE_SPKAC.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_NETSCAPE_SPKI.3 b/linux_amd64/share/man/man3/i2d_NETSCAPE_SPKI.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_NETSCAPE_SPKI.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_NOTICEREF.3 b/linux_amd64/share/man/man3/i2d_NOTICEREF.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_NOTICEREF.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_OCSP_BASICRESP.3 b/linux_amd64/share/man/man3/i2d_OCSP_BASICRESP.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_OCSP_BASICRESP.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_OCSP_CERTID.3 b/linux_amd64/share/man/man3/i2d_OCSP_CERTID.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_OCSP_CERTID.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_OCSP_CERTSTATUS.3 b/linux_amd64/share/man/man3/i2d_OCSP_CERTSTATUS.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_OCSP_CERTSTATUS.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_OCSP_CRLID.3 b/linux_amd64/share/man/man3/i2d_OCSP_CRLID.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_OCSP_CRLID.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_OCSP_ONEREQ.3 b/linux_amd64/share/man/man3/i2d_OCSP_ONEREQ.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_OCSP_ONEREQ.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_OCSP_REQINFO.3 b/linux_amd64/share/man/man3/i2d_OCSP_REQINFO.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_OCSP_REQINFO.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_OCSP_REQUEST.3 b/linux_amd64/share/man/man3/i2d_OCSP_REQUEST.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_OCSP_REQUEST.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_OCSP_RESPBYTES.3 b/linux_amd64/share/man/man3/i2d_OCSP_RESPBYTES.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_OCSP_RESPBYTES.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_OCSP_RESPDATA.3 b/linux_amd64/share/man/man3/i2d_OCSP_RESPDATA.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_OCSP_RESPDATA.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_OCSP_RESPID.3 b/linux_amd64/share/man/man3/i2d_OCSP_RESPID.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_OCSP_RESPID.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_OCSP_RESPONSE.3 b/linux_amd64/share/man/man3/i2d_OCSP_RESPONSE.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_OCSP_RESPONSE.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_OCSP_REVOKEDINFO.3 b/linux_amd64/share/man/man3/i2d_OCSP_REVOKEDINFO.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_OCSP_REVOKEDINFO.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_OCSP_SERVICELOC.3 b/linux_amd64/share/man/man3/i2d_OCSP_SERVICELOC.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_OCSP_SERVICELOC.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_OCSP_SIGNATURE.3 b/linux_amd64/share/man/man3/i2d_OCSP_SIGNATURE.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_OCSP_SIGNATURE.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_OCSP_SINGLERESP.3 b/linux_amd64/share/man/man3/i2d_OCSP_SINGLERESP.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_OCSP_SINGLERESP.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_OTHERNAME.3 b/linux_amd64/share/man/man3/i2d_OTHERNAME.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_OTHERNAME.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_PBE2PARAM.3 b/linux_amd64/share/man/man3/i2d_PBE2PARAM.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_PBE2PARAM.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_PBEPARAM.3 b/linux_amd64/share/man/man3/i2d_PBEPARAM.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_PBEPARAM.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_PBKDF2PARAM.3 b/linux_amd64/share/man/man3/i2d_PBKDF2PARAM.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_PBKDF2PARAM.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_PKCS12.3 b/linux_amd64/share/man/man3/i2d_PKCS12.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_PKCS12.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_PKCS12_BAGS.3 b/linux_amd64/share/man/man3/i2d_PKCS12_BAGS.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_PKCS12_BAGS.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_PKCS12_MAC_DATA.3 b/linux_amd64/share/man/man3/i2d_PKCS12_MAC_DATA.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_PKCS12_MAC_DATA.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_PKCS12_SAFEBAG.3 b/linux_amd64/share/man/man3/i2d_PKCS12_SAFEBAG.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_PKCS12_SAFEBAG.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_PKCS12_bio.3 b/linux_amd64/share/man/man3/i2d_PKCS12_bio.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_PKCS12_bio.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_PKCS12_fp.3 b/linux_amd64/share/man/man3/i2d_PKCS12_fp.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_PKCS12_fp.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_PKCS7.3 b/linux_amd64/share/man/man3/i2d_PKCS7.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_PKCS7.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_PKCS7_DIGEST.3 b/linux_amd64/share/man/man3/i2d_PKCS7_DIGEST.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_PKCS7_DIGEST.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_PKCS7_ENCRYPT.3 b/linux_amd64/share/man/man3/i2d_PKCS7_ENCRYPT.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_PKCS7_ENCRYPT.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_PKCS7_ENC_CONTENT.3 b/linux_amd64/share/man/man3/i2d_PKCS7_ENC_CONTENT.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_PKCS7_ENC_CONTENT.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_PKCS7_ENVELOPE.3 b/linux_amd64/share/man/man3/i2d_PKCS7_ENVELOPE.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_PKCS7_ENVELOPE.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_PKCS7_ISSUER_AND_SERIAL.3 b/linux_amd64/share/man/man3/i2d_PKCS7_ISSUER_AND_SERIAL.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_PKCS7_ISSUER_AND_SERIAL.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_PKCS7_NDEF.3 b/linux_amd64/share/man/man3/i2d_PKCS7_NDEF.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_PKCS7_NDEF.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_PKCS7_RECIP_INFO.3 b/linux_amd64/share/man/man3/i2d_PKCS7_RECIP_INFO.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_PKCS7_RECIP_INFO.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_PKCS7_SIGNED.3 b/linux_amd64/share/man/man3/i2d_PKCS7_SIGNED.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_PKCS7_SIGNED.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_PKCS7_SIGNER_INFO.3 b/linux_amd64/share/man/man3/i2d_PKCS7_SIGNER_INFO.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_PKCS7_SIGNER_INFO.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_PKCS7_SIGN_ENVELOPE.3 b/linux_amd64/share/man/man3/i2d_PKCS7_SIGN_ENVELOPE.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_PKCS7_SIGN_ENVELOPE.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_PKCS7_bio.3 b/linux_amd64/share/man/man3/i2d_PKCS7_bio.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_PKCS7_bio.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_PKCS7_bio_stream.3 b/linux_amd64/share/man/man3/i2d_PKCS7_bio_stream.3 index 82e29eb..147c210 100755 --- a/linux_amd64/share/man/man3/i2d_PKCS7_bio_stream.3 +++ b/linux_amd64/share/man/man3/i2d_PKCS7_bio_stream.3 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "I2D_PKCS7_BIO_STREAM 3" -.TH I2D_PKCS7_BIO_STREAM 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH I2D_PKCS7_BIO_STREAM 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -167,7 +167,7 @@ The \fIi2d_PKCS7_bio_stream()\fR function was added in OpenSSL 1.0.0. .IX Header "COPYRIGHT" Copyright 2008\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/i2d_PKCS7_fp.3 b/linux_amd64/share/man/man3/i2d_PKCS7_fp.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_PKCS7_fp.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_PKCS8PrivateKeyInfo_bio.3 b/linux_amd64/share/man/man3/i2d_PKCS8PrivateKeyInfo_bio.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_PKCS8PrivateKeyInfo_bio.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_PKCS8PrivateKeyInfo_fp.3 b/linux_amd64/share/man/man3/i2d_PKCS8PrivateKeyInfo_fp.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_PKCS8PrivateKeyInfo_fp.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_PKCS8PrivateKey_bio.3 b/linux_amd64/share/man/man3/i2d_PKCS8PrivateKey_bio.3 new file mode 120000 index 0000000..a476176 --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_PKCS8PrivateKey_bio.3 @@ -0,0 +1 @@ +d2i_PKCS8PrivateKey_bio.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_PKCS8PrivateKey_fp.3 b/linux_amd64/share/man/man3/i2d_PKCS8PrivateKey_fp.3 new file mode 120000 index 0000000..a476176 --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_PKCS8PrivateKey_fp.3 @@ -0,0 +1 @@ +d2i_PKCS8PrivateKey_bio.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_PKCS8PrivateKey_nid_bio.3 b/linux_amd64/share/man/man3/i2d_PKCS8PrivateKey_nid_bio.3 new file mode 120000 index 0000000..a476176 --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_PKCS8PrivateKey_nid_bio.3 @@ -0,0 +1 @@ +d2i_PKCS8PrivateKey_bio.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_PKCS8PrivateKey_nid_fp.3 b/linux_amd64/share/man/man3/i2d_PKCS8PrivateKey_nid_fp.3 new file mode 120000 index 0000000..a476176 --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_PKCS8PrivateKey_nid_fp.3 @@ -0,0 +1 @@ +d2i_PKCS8PrivateKey_bio.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_PKCS8_PRIV_KEY_INFO.3 b/linux_amd64/share/man/man3/i2d_PKCS8_PRIV_KEY_INFO.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_PKCS8_PRIV_KEY_INFO.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_PKCS8_PRIV_KEY_INFO_bio.3 b/linux_amd64/share/man/man3/i2d_PKCS8_PRIV_KEY_INFO_bio.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_PKCS8_PRIV_KEY_INFO_bio.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_PKCS8_PRIV_KEY_INFO_fp.3 b/linux_amd64/share/man/man3/i2d_PKCS8_PRIV_KEY_INFO_fp.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_PKCS8_PRIV_KEY_INFO_fp.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_PKCS8_bio.3 b/linux_amd64/share/man/man3/i2d_PKCS8_bio.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_PKCS8_bio.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_PKCS8_fp.3 b/linux_amd64/share/man/man3/i2d_PKCS8_fp.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_PKCS8_fp.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_PKEY_USAGE_PERIOD.3 b/linux_amd64/share/man/man3/i2d_PKEY_USAGE_PERIOD.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_PKEY_USAGE_PERIOD.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_POLICYINFO.3 b/linux_amd64/share/man/man3/i2d_POLICYINFO.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_POLICYINFO.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_POLICYQUALINFO.3 b/linux_amd64/share/man/man3/i2d_POLICYQUALINFO.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_POLICYQUALINFO.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_PROFESSION_INFO.3 b/linux_amd64/share/man/man3/i2d_PROFESSION_INFO.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_PROFESSION_INFO.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_PROXY_CERT_INFO_EXTENSION.3 b/linux_amd64/share/man/man3/i2d_PROXY_CERT_INFO_EXTENSION.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_PROXY_CERT_INFO_EXTENSION.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_PROXY_POLICY.3 b/linux_amd64/share/man/man3/i2d_PROXY_POLICY.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_PROXY_POLICY.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_PUBKEY.3 b/linux_amd64/share/man/man3/i2d_PUBKEY.3 new file mode 120000 index 0000000..90e4e95 --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_PUBKEY.3 @@ -0,0 +1 @@ +X509_PUBKEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_PUBKEY_bio.3 b/linux_amd64/share/man/man3/i2d_PUBKEY_bio.3 new file mode 120000 index 0000000..90e4e95 --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_PUBKEY_bio.3 @@ -0,0 +1 @@ +X509_PUBKEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_PUBKEY_fp.3 b/linux_amd64/share/man/man3/i2d_PUBKEY_fp.3 new file mode 120000 index 0000000..90e4e95 --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_PUBKEY_fp.3 @@ -0,0 +1 @@ +X509_PUBKEY_new.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_PrivateKey.3 b/linux_amd64/share/man/man3/i2d_PrivateKey.3 new file mode 120000 index 0000000..d54aa4a --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_PrivateKey.3 @@ -0,0 +1 @@ +d2i_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_PublicKey.3 b/linux_amd64/share/man/man3/i2d_PublicKey.3 new file mode 120000 index 0000000..d54aa4a --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_PublicKey.3 @@ -0,0 +1 @@ +d2i_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_RSAPrivateKey.3 b/linux_amd64/share/man/man3/i2d_RSAPrivateKey.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_RSAPrivateKey.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_RSAPrivateKey_bio.3 b/linux_amd64/share/man/man3/i2d_RSAPrivateKey_bio.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_RSAPrivateKey_bio.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_RSAPrivateKey_fp.3 b/linux_amd64/share/man/man3/i2d_RSAPrivateKey_fp.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_RSAPrivateKey_fp.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_RSAPublicKey.3 b/linux_amd64/share/man/man3/i2d_RSAPublicKey.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_RSAPublicKey.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_RSAPublicKey_bio.3 b/linux_amd64/share/man/man3/i2d_RSAPublicKey_bio.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_RSAPublicKey_bio.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_RSAPublicKey_fp.3 b/linux_amd64/share/man/man3/i2d_RSAPublicKey_fp.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_RSAPublicKey_fp.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_RSA_OAEP_PARAMS.3 b/linux_amd64/share/man/man3/i2d_RSA_OAEP_PARAMS.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_RSA_OAEP_PARAMS.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_RSA_PSS_PARAMS.3 b/linux_amd64/share/man/man3/i2d_RSA_PSS_PARAMS.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_RSA_PSS_PARAMS.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_RSA_PUBKEY.3 b/linux_amd64/share/man/man3/i2d_RSA_PUBKEY.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_RSA_PUBKEY.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_RSA_PUBKEY_bio.3 b/linux_amd64/share/man/man3/i2d_RSA_PUBKEY_bio.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_RSA_PUBKEY_bio.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_RSA_PUBKEY_fp.3 b/linux_amd64/share/man/man3/i2d_RSA_PUBKEY_fp.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_RSA_PUBKEY_fp.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_SCRYPT_PARAMS.3 b/linux_amd64/share/man/man3/i2d_SCRYPT_PARAMS.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_SCRYPT_PARAMS.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_SCT_LIST.3 b/linux_amd64/share/man/man3/i2d_SCT_LIST.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_SCT_LIST.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_SSL_SESSION.3 b/linux_amd64/share/man/man3/i2d_SSL_SESSION.3 new file mode 120000 index 0000000..0b999c0 --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_SSL_SESSION.3 @@ -0,0 +1 @@ +d2i_SSL_SESSION.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_SXNET.3 b/linux_amd64/share/man/man3/i2d_SXNET.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_SXNET.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_SXNETID.3 b/linux_amd64/share/man/man3/i2d_SXNETID.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_SXNETID.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_TS_ACCURACY.3 b/linux_amd64/share/man/man3/i2d_TS_ACCURACY.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_TS_ACCURACY.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_TS_MSG_IMPRINT.3 b/linux_amd64/share/man/man3/i2d_TS_MSG_IMPRINT.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_TS_MSG_IMPRINT.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_TS_MSG_IMPRINT_bio.3 b/linux_amd64/share/man/man3/i2d_TS_MSG_IMPRINT_bio.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_TS_MSG_IMPRINT_bio.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_TS_MSG_IMPRINT_fp.3 b/linux_amd64/share/man/man3/i2d_TS_MSG_IMPRINT_fp.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_TS_MSG_IMPRINT_fp.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_TS_REQ.3 b/linux_amd64/share/man/man3/i2d_TS_REQ.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_TS_REQ.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_TS_REQ_bio.3 b/linux_amd64/share/man/man3/i2d_TS_REQ_bio.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_TS_REQ_bio.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_TS_REQ_fp.3 b/linux_amd64/share/man/man3/i2d_TS_REQ_fp.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_TS_REQ_fp.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_TS_RESP.3 b/linux_amd64/share/man/man3/i2d_TS_RESP.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_TS_RESP.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_TS_RESP_bio.3 b/linux_amd64/share/man/man3/i2d_TS_RESP_bio.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_TS_RESP_bio.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_TS_RESP_fp.3 b/linux_amd64/share/man/man3/i2d_TS_RESP_fp.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_TS_RESP_fp.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_TS_STATUS_INFO.3 b/linux_amd64/share/man/man3/i2d_TS_STATUS_INFO.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_TS_STATUS_INFO.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_TS_TST_INFO.3 b/linux_amd64/share/man/man3/i2d_TS_TST_INFO.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_TS_TST_INFO.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_TS_TST_INFO_bio.3 b/linux_amd64/share/man/man3/i2d_TS_TST_INFO_bio.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_TS_TST_INFO_bio.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_TS_TST_INFO_fp.3 b/linux_amd64/share/man/man3/i2d_TS_TST_INFO_fp.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_TS_TST_INFO_fp.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_USERNOTICE.3 b/linux_amd64/share/man/man3/i2d_USERNOTICE.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_USERNOTICE.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_X509.3 b/linux_amd64/share/man/man3/i2d_X509.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_X509.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_X509_ALGOR.3 b/linux_amd64/share/man/man3/i2d_X509_ALGOR.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_X509_ALGOR.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_X509_ALGORS.3 b/linux_amd64/share/man/man3/i2d_X509_ALGORS.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_X509_ALGORS.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_X509_ATTRIBUTE.3 b/linux_amd64/share/man/man3/i2d_X509_ATTRIBUTE.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_X509_ATTRIBUTE.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_X509_AUX.3 b/linux_amd64/share/man/man3/i2d_X509_AUX.3 new file mode 120000 index 0000000..1482e9e --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_X509_AUX.3 @@ -0,0 +1 @@ +i2d_re_X509_tbs.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_X509_CERT_AUX.3 b/linux_amd64/share/man/man3/i2d_X509_CERT_AUX.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_X509_CERT_AUX.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_X509_CINF.3 b/linux_amd64/share/man/man3/i2d_X509_CINF.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_X509_CINF.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_X509_CRL.3 b/linux_amd64/share/man/man3/i2d_X509_CRL.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_X509_CRL.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_X509_CRL_INFO.3 b/linux_amd64/share/man/man3/i2d_X509_CRL_INFO.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_X509_CRL_INFO.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_X509_CRL_bio.3 b/linux_amd64/share/man/man3/i2d_X509_CRL_bio.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_X509_CRL_bio.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_X509_CRL_fp.3 b/linux_amd64/share/man/man3/i2d_X509_CRL_fp.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_X509_CRL_fp.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_X509_EXTENSION.3 b/linux_amd64/share/man/man3/i2d_X509_EXTENSION.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_X509_EXTENSION.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_X509_EXTENSIONS.3 b/linux_amd64/share/man/man3/i2d_X509_EXTENSIONS.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_X509_EXTENSIONS.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_X509_NAME.3 b/linux_amd64/share/man/man3/i2d_X509_NAME.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_X509_NAME.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_X509_NAME_ENTRY.3 b/linux_amd64/share/man/man3/i2d_X509_NAME_ENTRY.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_X509_NAME_ENTRY.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_X509_PUBKEY.3 b/linux_amd64/share/man/man3/i2d_X509_PUBKEY.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_X509_PUBKEY.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_X509_REQ.3 b/linux_amd64/share/man/man3/i2d_X509_REQ.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_X509_REQ.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_X509_REQ_INFO.3 b/linux_amd64/share/man/man3/i2d_X509_REQ_INFO.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_X509_REQ_INFO.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_X509_REQ_bio.3 b/linux_amd64/share/man/man3/i2d_X509_REQ_bio.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_X509_REQ_bio.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_X509_REQ_fp.3 b/linux_amd64/share/man/man3/i2d_X509_REQ_fp.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_X509_REQ_fp.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_X509_REVOKED.3 b/linux_amd64/share/man/man3/i2d_X509_REVOKED.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_X509_REVOKED.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_X509_SIG.3 b/linux_amd64/share/man/man3/i2d_X509_SIG.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_X509_SIG.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_X509_VAL.3 b/linux_amd64/share/man/man3/i2d_X509_VAL.3 new file mode 120000 index 0000000..79500cf --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_X509_VAL.3 @@ -0,0 +1 @@ +d2i_X509.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_re_X509_CRL_tbs.3 b/linux_amd64/share/man/man3/i2d_re_X509_CRL_tbs.3 new file mode 120000 index 0000000..1482e9e --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_re_X509_CRL_tbs.3 @@ -0,0 +1 @@ +i2d_re_X509_tbs.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_re_X509_REQ_tbs.3 b/linux_amd64/share/man/man3/i2d_re_X509_REQ_tbs.3 new file mode 120000 index 0000000..1482e9e --- /dev/null +++ b/linux_amd64/share/man/man3/i2d_re_X509_REQ_tbs.3 @@ -0,0 +1 @@ +i2d_re_X509_tbs.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2d_re_X509_tbs.3 b/linux_amd64/share/man/man3/i2d_re_X509_tbs.3 index 068da33..4b75366 100755 --- a/linux_amd64/share/man/man3/i2d_re_X509_tbs.3 +++ b/linux_amd64/share/man/man3/i2d_re_X509_tbs.3 @@ -124,15 +124,13 @@ .\" ======================================================================== .\" .IX Title "I2D_RE_X509_TBS 3" -.TH I2D_RE_X509_TBS 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH I2D_RE_X509_TBS 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -d2i_X509_AUX, i2d_X509_AUX, -i2d_re_X509_tbs, i2d_re_X509_CRL_tbs, i2d_re_X509_REQ_tbs -\&\- X509 encode and decode functions +d2i_X509_AUX, i2d_X509_AUX, i2d_re_X509_tbs, i2d_re_X509_CRL_tbs, i2d_re_X509_REQ_tbs \&\- X509 encode and decode functions .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -205,7 +203,7 @@ length of encoded data or 0 on error. .IX Header "COPYRIGHT" Copyright 2002\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/i2o_SCT.3 b/linux_amd64/share/man/man3/i2o_SCT.3 new file mode 120000 index 0000000..3041692 --- /dev/null +++ b/linux_amd64/share/man/man3/i2o_SCT.3 @@ -0,0 +1 @@ +o2i_SCT_LIST.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2o_SCT_LIST.3 b/linux_amd64/share/man/man3/i2o_SCT_LIST.3 new file mode 120000 index 0000000..3041692 --- /dev/null +++ b/linux_amd64/share/man/man3/i2o_SCT_LIST.3 @@ -0,0 +1 @@ +o2i_SCT_LIST.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/i2t_ASN1_OBJECT.3 b/linux_amd64/share/man/man3/i2t_ASN1_OBJECT.3 new file mode 120000 index 0000000..ab5e22e --- /dev/null +++ b/linux_amd64/share/man/man3/i2t_ASN1_OBJECT.3 @@ -0,0 +1 @@ +OBJ_nid2obj.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/lh_TYPE_delete.3 b/linux_amd64/share/man/man3/lh_TYPE_delete.3 new file mode 120000 index 0000000..bad6292 --- /dev/null +++ b/linux_amd64/share/man/man3/lh_TYPE_delete.3 @@ -0,0 +1 @@ +OPENSSL_LH_COMPFUNC.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/lh_TYPE_doall.3 b/linux_amd64/share/man/man3/lh_TYPE_doall.3 new file mode 120000 index 0000000..bad6292 --- /dev/null +++ b/linux_amd64/share/man/man3/lh_TYPE_doall.3 @@ -0,0 +1 @@ +OPENSSL_LH_COMPFUNC.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/lh_TYPE_doall_arg.3 b/linux_amd64/share/man/man3/lh_TYPE_doall_arg.3 new file mode 120000 index 0000000..bad6292 --- /dev/null +++ b/linux_amd64/share/man/man3/lh_TYPE_doall_arg.3 @@ -0,0 +1 @@ +OPENSSL_LH_COMPFUNC.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/lh_TYPE_error.3 b/linux_amd64/share/man/man3/lh_TYPE_error.3 new file mode 120000 index 0000000..bad6292 --- /dev/null +++ b/linux_amd64/share/man/man3/lh_TYPE_error.3 @@ -0,0 +1 @@ +OPENSSL_LH_COMPFUNC.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/lh_TYPE_free.3 b/linux_amd64/share/man/man3/lh_TYPE_free.3 new file mode 120000 index 0000000..bad6292 --- /dev/null +++ b/linux_amd64/share/man/man3/lh_TYPE_free.3 @@ -0,0 +1 @@ +OPENSSL_LH_COMPFUNC.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/lh_TYPE_insert.3 b/linux_amd64/share/man/man3/lh_TYPE_insert.3 new file mode 120000 index 0000000..bad6292 --- /dev/null +++ b/linux_amd64/share/man/man3/lh_TYPE_insert.3 @@ -0,0 +1 @@ +OPENSSL_LH_COMPFUNC.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/lh_TYPE_new.3 b/linux_amd64/share/man/man3/lh_TYPE_new.3 new file mode 120000 index 0000000..bad6292 --- /dev/null +++ b/linux_amd64/share/man/man3/lh_TYPE_new.3 @@ -0,0 +1 @@ +OPENSSL_LH_COMPFUNC.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/lh_TYPE_retrieve.3 b/linux_amd64/share/man/man3/lh_TYPE_retrieve.3 new file mode 120000 index 0000000..bad6292 --- /dev/null +++ b/linux_amd64/share/man/man3/lh_TYPE_retrieve.3 @@ -0,0 +1 @@ +OPENSSL_LH_COMPFUNC.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/o2i_SCT.3 b/linux_amd64/share/man/man3/o2i_SCT.3 new file mode 120000 index 0000000..3041692 --- /dev/null +++ b/linux_amd64/share/man/man3/o2i_SCT.3 @@ -0,0 +1 @@ +o2i_SCT_LIST.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/o2i_SCT_LIST.3 b/linux_amd64/share/man/man3/o2i_SCT_LIST.3 index 5ea5f66..ab1b9bc 100755 --- a/linux_amd64/share/man/man3/o2i_SCT_LIST.3 +++ b/linux_amd64/share/man/man3/o2i_SCT_LIST.3 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "O2I_SCT_LIST 3" -.TH O2I_SCT_LIST 3 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH O2I_SCT_LIST 3 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -o2i_SCT_LIST, i2o_SCT_LIST, o2i_SCT, i2o_SCT \- -decode and encode Signed Certificate Timestamp lists in TLS wire format +o2i_SCT_LIST, i2o_SCT_LIST, o2i_SCT, i2o_SCT \- decode and encode Signed Certificate Timestamp lists in TLS wire format .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 @@ -147,12 +146,12 @@ decode and encode Signed Certificate Timestamp lists in TLS wire format .IX Header "DESCRIPTION" The \s-1SCT_LIST\s0 and \s-1SCT\s0 functions are very similar to the i2d and d2i family of functions, except that they convert to and from \s-1TLS\s0 wire format, as described in -\&\s-1RFC\s0 6962. See \fId2i_SCT_LIST\fR\|(3) for more information about how the parameters are +\&\s-1RFC\s0 6962. See d2i_SCT_LIST for more information about how the parameters are treated and the return values. .SH "RETURN VALUES" .IX Header "RETURN VALUES" All of the functions have return values consistent with those stated for -\&\fId2i_SCT_LIST\fR\|(3) and \fIi2d_SCT_LIST\fR\|(3). +d2i_SCT_LIST and i2d_SCT_LIST. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIct\fR\|(7), @@ -165,7 +164,7 @@ These functions were added in OpenSSL 1.1.0. .IX Header "COPYRIGHT" Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man3/pem_password_cb.3 b/linux_amd64/share/man/man3/pem_password_cb.3 new file mode 120000 index 0000000..62dfab4 --- /dev/null +++ b/linux_amd64/share/man/man3/pem_password_cb.3 @@ -0,0 +1 @@ +PEM_read_bio_PrivateKey.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/sk_TYPE_deep_copy.3 b/linux_amd64/share/man/man3/sk_TYPE_deep_copy.3 new file mode 120000 index 0000000..abaa3db --- /dev/null +++ b/linux_amd64/share/man/man3/sk_TYPE_deep_copy.3 @@ -0,0 +1 @@ +DEFINE_STACK_OF.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/sk_TYPE_delete.3 b/linux_amd64/share/man/man3/sk_TYPE_delete.3 new file mode 120000 index 0000000..abaa3db --- /dev/null +++ b/linux_amd64/share/man/man3/sk_TYPE_delete.3 @@ -0,0 +1 @@ +DEFINE_STACK_OF.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/sk_TYPE_delete_ptr.3 b/linux_amd64/share/man/man3/sk_TYPE_delete_ptr.3 new file mode 120000 index 0000000..abaa3db --- /dev/null +++ b/linux_amd64/share/man/man3/sk_TYPE_delete_ptr.3 @@ -0,0 +1 @@ +DEFINE_STACK_OF.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/sk_TYPE_dup.3 b/linux_amd64/share/man/man3/sk_TYPE_dup.3 new file mode 120000 index 0000000..abaa3db --- /dev/null +++ b/linux_amd64/share/man/man3/sk_TYPE_dup.3 @@ -0,0 +1 @@ +DEFINE_STACK_OF.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/sk_TYPE_find.3 b/linux_amd64/share/man/man3/sk_TYPE_find.3 new file mode 120000 index 0000000..abaa3db --- /dev/null +++ b/linux_amd64/share/man/man3/sk_TYPE_find.3 @@ -0,0 +1 @@ +DEFINE_STACK_OF.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/sk_TYPE_find_ex.3 b/linux_amd64/share/man/man3/sk_TYPE_find_ex.3 new file mode 120000 index 0000000..abaa3db --- /dev/null +++ b/linux_amd64/share/man/man3/sk_TYPE_find_ex.3 @@ -0,0 +1 @@ +DEFINE_STACK_OF.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/sk_TYPE_free.3 b/linux_amd64/share/man/man3/sk_TYPE_free.3 new file mode 120000 index 0000000..abaa3db --- /dev/null +++ b/linux_amd64/share/man/man3/sk_TYPE_free.3 @@ -0,0 +1 @@ +DEFINE_STACK_OF.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/sk_TYPE_insert.3 b/linux_amd64/share/man/man3/sk_TYPE_insert.3 new file mode 120000 index 0000000..abaa3db --- /dev/null +++ b/linux_amd64/share/man/man3/sk_TYPE_insert.3 @@ -0,0 +1 @@ +DEFINE_STACK_OF.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/sk_TYPE_is_sorted.3 b/linux_amd64/share/man/man3/sk_TYPE_is_sorted.3 new file mode 120000 index 0000000..abaa3db --- /dev/null +++ b/linux_amd64/share/man/man3/sk_TYPE_is_sorted.3 @@ -0,0 +1 @@ +DEFINE_STACK_OF.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/sk_TYPE_new.3 b/linux_amd64/share/man/man3/sk_TYPE_new.3 new file mode 120000 index 0000000..abaa3db --- /dev/null +++ b/linux_amd64/share/man/man3/sk_TYPE_new.3 @@ -0,0 +1 @@ +DEFINE_STACK_OF.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/sk_TYPE_new_null.3 b/linux_amd64/share/man/man3/sk_TYPE_new_null.3 new file mode 120000 index 0000000..abaa3db --- /dev/null +++ b/linux_amd64/share/man/man3/sk_TYPE_new_null.3 @@ -0,0 +1 @@ +DEFINE_STACK_OF.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/sk_TYPE_new_reserve.3 b/linux_amd64/share/man/man3/sk_TYPE_new_reserve.3 new file mode 120000 index 0000000..abaa3db --- /dev/null +++ b/linux_amd64/share/man/man3/sk_TYPE_new_reserve.3 @@ -0,0 +1 @@ +DEFINE_STACK_OF.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/sk_TYPE_num.3 b/linux_amd64/share/man/man3/sk_TYPE_num.3 new file mode 120000 index 0000000..abaa3db --- /dev/null +++ b/linux_amd64/share/man/man3/sk_TYPE_num.3 @@ -0,0 +1 @@ +DEFINE_STACK_OF.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/sk_TYPE_pop.3 b/linux_amd64/share/man/man3/sk_TYPE_pop.3 new file mode 120000 index 0000000..abaa3db --- /dev/null +++ b/linux_amd64/share/man/man3/sk_TYPE_pop.3 @@ -0,0 +1 @@ +DEFINE_STACK_OF.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/sk_TYPE_pop_free.3 b/linux_amd64/share/man/man3/sk_TYPE_pop_free.3 new file mode 120000 index 0000000..abaa3db --- /dev/null +++ b/linux_amd64/share/man/man3/sk_TYPE_pop_free.3 @@ -0,0 +1 @@ +DEFINE_STACK_OF.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/sk_TYPE_push.3 b/linux_amd64/share/man/man3/sk_TYPE_push.3 new file mode 120000 index 0000000..abaa3db --- /dev/null +++ b/linux_amd64/share/man/man3/sk_TYPE_push.3 @@ -0,0 +1 @@ +DEFINE_STACK_OF.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/sk_TYPE_reserve.3 b/linux_amd64/share/man/man3/sk_TYPE_reserve.3 new file mode 120000 index 0000000..abaa3db --- /dev/null +++ b/linux_amd64/share/man/man3/sk_TYPE_reserve.3 @@ -0,0 +1 @@ +DEFINE_STACK_OF.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/sk_TYPE_set.3 b/linux_amd64/share/man/man3/sk_TYPE_set.3 new file mode 120000 index 0000000..abaa3db --- /dev/null +++ b/linux_amd64/share/man/man3/sk_TYPE_set.3 @@ -0,0 +1 @@ +DEFINE_STACK_OF.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/sk_TYPE_set_cmp_func.3 b/linux_amd64/share/man/man3/sk_TYPE_set_cmp_func.3 new file mode 120000 index 0000000..abaa3db --- /dev/null +++ b/linux_amd64/share/man/man3/sk_TYPE_set_cmp_func.3 @@ -0,0 +1 @@ +DEFINE_STACK_OF.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/sk_TYPE_shift.3 b/linux_amd64/share/man/man3/sk_TYPE_shift.3 new file mode 120000 index 0000000..abaa3db --- /dev/null +++ b/linux_amd64/share/man/man3/sk_TYPE_shift.3 @@ -0,0 +1 @@ +DEFINE_STACK_OF.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/sk_TYPE_sort.3 b/linux_amd64/share/man/man3/sk_TYPE_sort.3 new file mode 120000 index 0000000..abaa3db --- /dev/null +++ b/linux_amd64/share/man/man3/sk_TYPE_sort.3 @@ -0,0 +1 @@ +DEFINE_STACK_OF.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/sk_TYPE_unshift.3 b/linux_amd64/share/man/man3/sk_TYPE_unshift.3 new file mode 120000 index 0000000..abaa3db --- /dev/null +++ b/linux_amd64/share/man/man3/sk_TYPE_unshift.3 @@ -0,0 +1 @@ +DEFINE_STACK_OF.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/sk_TYPE_value.3 b/linux_amd64/share/man/man3/sk_TYPE_value.3 new file mode 120000 index 0000000..abaa3db --- /dev/null +++ b/linux_amd64/share/man/man3/sk_TYPE_value.3 @@ -0,0 +1 @@ +DEFINE_STACK_OF.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/sk_TYPE_zero.3 b/linux_amd64/share/man/man3/sk_TYPE_zero.3 new file mode 120000 index 0000000..abaa3db --- /dev/null +++ b/linux_amd64/share/man/man3/sk_TYPE_zero.3 @@ -0,0 +1 @@ +DEFINE_STACK_OF.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man3/ssl_ct_validation_cb.3 b/linux_amd64/share/man/man3/ssl_ct_validation_cb.3 new file mode 120000 index 0000000..8a8a33b --- /dev/null +++ b/linux_amd64/share/man/man3/ssl_ct_validation_cb.3 @@ -0,0 +1 @@ +SSL_CTX_set_ct_validation_callback.3 \ No newline at end of file diff --git a/linux_amd64/share/man/man5/config.5 b/linux_amd64/share/man/man5/config.5 index e345326..5003290 100755 --- a/linux_amd64/share/man/man5/config.5 +++ b/linux_amd64/share/man/man5/config.5 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CONFIG 5" -.TH CONFIG 5 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH CONFIG 5 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -140,9 +140,9 @@ files for the \fBx509\fR utility. OpenSSL applications can also use the \&\s-1CONF\s0 library for their own purposes. .PP A configuration file is divided into a number of sections. Each section -starts with a line \f(CW\*(C`[section_name]\*(C'\fR and ends when a new section is +starts with a line \fB[ section_name ]\fR and ends when a new section is started or end of file is reached. A section name can consist of -alphanumeric characters and underscores. The brackets are required. +alphanumeric characters and underscores. .PP The first section of a configuration file is special and is referred to as the \fBdefault\fR section. This section is usually unnamed and spans from the @@ -167,8 +167,7 @@ It is strongly recommended to use absolute paths with the \fB.include\fR directive. Relative paths are evaluated based on the application current working directory so unless the configuration file containing the \&\fB.include\fR directive is application specific the inclusion will not -work as expected. The environment variable \fB\s-1OPENSSL_CONF_INCLUDE\s0\fR can also be -used to specify the path to prepend to all .include paths. +work as expected. .PP There can be optional \fB=\fR character and whitespace characters between \&\fB.include\fR directive and the path which can be useful in cases the @@ -177,9 +176,6 @@ not support the \fB.include\fR syntax. They would bail out with error if the \fB=\fR character is not present but with it they just ignore the include. .PP -Pragmas can be specified with the \fB.pragma\fR directive. -See \*(L"\s-1PRAGMAS\s0\*(R" for more information. -.PP Each section in a configuration file consists of a number of name and value pairs of the form \fBname=value\fR .PP @@ -207,34 +203,6 @@ the sequences \fB\en\fR, \fB\er\fR, \fB\eb\fR and \fB\et\fR are recognized. .PP All expansion and escape rules as described above that apply to \fBvalue\fR also apply to the path of the \fB.include\fR directive. -.SH "PRAGMAS" -.IX Header "PRAGMAS" -Pragmas can be used to change the behavior of the configuration file -parser, among others. Currently supported pragmas are: -.IP "\fB.pragma\fR \fBdollarid\fR:\fIvalue\fR" 4 -.IX Item ".pragma dollarid:value" -\&\fIvalue\fR can be one of: -.RS 4 -.ie n .IP "\fB""on""\fR or \fB""true""\fR" 4 -.el .IP "\fB``on''\fR or \fB``true''\fR" 4 -.IX Item "on or true" -this signifies that dollar signs are considered an identity character -from this point on and that variable expansion requires the use of -braces or parentheses. In other words, \f(CW\*(C`foo$bar\*(C'\fR will be considered -a name instead of \f(CW\*(C`foo\*(C'\fR followed by the expansion of the variable -\&\f(CW\*(C`bar\*(C'\fR. -This is suitable for platforms where the dollar sign is commonly used -as part of names. -.ie n .IP "\fB""off""\fR or \fB""false""\fR" 4 -.el .IP "\fB``off''\fR or \fB``false''\fR" 4 -.IX Item "off or false" -Turns this pragma off, i.e. \f(CW\*(C`foo$bar\*(C'\fR will be interpreted as \f(CW\*(C`foo\*(C'\fR -followed by the expansion of the variable \f(CW\*(C`bar\*(C'\fR. -.RE -.RS 4 -.Sp -By default, this pragma is turned off. -.RE .SH "OPENSSL LIBRARY CONFIGURATION" .IX Header "OPENSSL LIBRARY CONFIGURATION" Applications can automatically configure certain @@ -265,7 +233,6 @@ section containing configuration module specific information. E.g.: \& \& oid_section = new_oids \& engines = engine_section -\& providers = provider_section \& \& [new_oids] \& @@ -274,10 +241,6 @@ section containing configuration module specific information. E.g.: \& [engine_section] \& \& ... engine stuff here ... -\& -\& [provider_section] -\& -\& ... provider stuff here ... .Ve .PP The features of each configuration module are described below. @@ -387,85 +350,14 @@ For example: \& # Supply all default algorithms \& default_algorithms = ALL .Ve -.SS "Provider Configuration Module" -.IX Subsection "Provider Configuration Module" -This provider configuration module has the name \fBproviders\fR. The -value of this variable points to a section containing further provider -configuration information. -.PP -The section pointed to by \fBproviders\fR is a table of provider names -(though see \fBidentity\fR below) and further sections containing -configuration information specific to each provider module. -.PP -Each provider specific section is used to load its module, perform -activation and set parameters to pass to the provider on demand. The -actual operation performed depends on the name of the name value pair. -The currently supported commands are listed below. -.PP -For example: -.PP -.Vb 1 -\& [provider_section] -\& -\& # Configure provider named "foo" -\& foo = foo_section -\& # Configure provider named "bar" -\& bar = bar_section -\& -\& [foo_section] -\& ... "foo" provider specific parameters ... -\& -\& [bar_section] -\& ... "bar" provider specific parameters ... -.Ve -.PP -The command \fBidentity\fR is used to give the provider name. For example: -.PP -.Vb 3 -\& [provider_section] -\& # This would normally handle a provider named "foo" -\& foo = foo_section -\& -\& [foo_section] -\& # Override default name and use "myfoo" instead. -\& identity = myfoo -.Ve -.PP -The parameter \fBmodule\fR loads and adds a provider module from the -given module path. That path may be a simple filename, a relative -path or an absolute path. -.PP -The parameter \fBactivate\fR determines whether to activate the -provider. The value has no importance, the presence of the parameter -is enough for activation to take place. -.PP -All parameters in the section as well as sub-sections are made -available to the provider. .SS "\s-1EVP\s0 Configuration Module" .IX Subsection "EVP Configuration Module" -This module has the name \fBalg_section\fR which points to a section containing +This modules has the name \fBalg_section\fR which points to a section containing algorithm commands. .PP -The supported algorithm commands are: -.IP "\fBdefault_properties\fR" 4 -.IX Item "default_properties" -The value may be anything that is acceptable as a property query -string for \fIEVP_set_default_properties()\fR. -.IP "\fBfips_mode\fR (deprecated)" 4 -.IX Item "fips_mode (deprecated)" -The value is a boolean that can be \fByes\fR or \fBno\fR. If the value is -\&\fByes\fR, this is exactly equivalent to: -.Sp -.Vb 1 -\& default_properties = fips=yes -.Ve -.Sp -If the value is \fBno\fR, nothing happens. -.PP -These two commands should not be used together, as there is no control -over how they affect each other. -The use of \fBfips_mode\fR is strongly discouraged and is only present -for backward compatibility with earlier OpenSSL \s-1FIPS\s0 modules. +Currently the only algorithm command supported is \fBfips_mode\fR whose +value can only be the boolean string \fBoff\fR. If \fBfips_mode\fR is set to \fBon\fR, +an error occurs as this library version is not \s-1FIPS\s0 capable. .SS "\s-1SSL\s0 Configuration Module" .IX Subsection "SSL Configuration Module" This module has the name \fBssl_conf\fR which points to a section containing @@ -546,6 +438,7 @@ mentioned above. \& # This is the default section. \& \& HOME=/temp +\& RANDFILE= ${ENV::HOME}/.rnd \& configdir=$ENV::HOME/config \& \& [ section_one ] @@ -673,13 +566,6 @@ Ignored in set-user-ID and set-group-ID programs. .IX Item "OPENSSL_ENGINES" The path to the engines directory. Ignored in set-user-ID and set-group-ID programs. -.IP "\fB\s-1OPENSSL_MODULES\s0\fR" 4 -.IX Item "OPENSSL_MODULES" -The path to the directory with OpenSSL modules, such as providers. -Ignored in set-user-ID and set-group-ID programs. -.IP "\fB\s-1OPENSSL_CONF_INCLUDE\s0\fR" 4 -.IX Item "OPENSSL_CONF_INCLUDE" -The optional path to prepend to all .include paths. .SH "BUGS" .IX Header "BUGS" Currently there is no way to include characters using the octal \fB\ennn\fR @@ -692,24 +578,14 @@ you can't use any quote escaping on the same line. Files are loaded in a single pass. This means that an variable expansion will only work if the variables referenced are defined earlier in the file. -.SH "HISTORY" -.IX Header "HISTORY" -An undocumented \s-1API\s0, \s-1\fINCONF_WIN32\s0()\fR, used a slightly different set -of parsing rules there were intended to be tailored to -the Microsoft Windows platform. -Specifically, the backslash character was not an escape character and -could be used in pathnames, only the double-quote character was recognized, -and comments began with a semi-colon. -This function was deprecated in OpenSSL 3.0; applications with -configuration files using that syntax will have to be modified. .SH "SEE ALSO" .IX Header "SEE ALSO" -\&\fIopenssl\-x509\fR\|(1), \fIopenssl\-req\fR\|(1), \fIopenssl\-ca\fR\|(1), \fIfips_config\fR\|(5) +\&\fIx509\fR\|(1), \fIreq\fR\|(1), \fIca\fR\|(1) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man5/x509v3_config.5 b/linux_amd64/share/man/man5/x509v3_config.5 index 43f7513..85f73ea 100755 --- a/linux_amd64/share/man/man5/x509v3_config.5 +++ b/linux_amd64/share/man/man5/x509v3_config.5 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "X509V3_CONFIG 5" -.TH X509V3_CONFIG 5 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH X509V3_CONFIG 5 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -185,15 +185,15 @@ use is defined by the extension code itself: check out the certificate policies extension for an example. .PP If an extension type is unsupported then the \fIarbitrary\fR extension syntax -must be used, see the \*(L"\s-1ARBITRARY\s0 \s-1EXTENSIONS\s0\*(R" section for more details. +must be used, see the \s-1ARBITRARY\s0 \s-1EXTENSIONS\s0 section for more details. .SH "STANDARD EXTENSIONS" .IX Header "STANDARD EXTENSIONS" The following sections describe each supported extension in detail. -.SS "Basic Constraints" -.IX Subsection "Basic Constraints" +.SS "Basic Constraints." +.IX Subsection "Basic Constraints." This is a multi valued extension which indicates whether a certificate is a \s-1CA\s0 certificate. The first (mandatory) name is \fB\s-1CA\s0\fR followed by \fB\s-1TRUE\s0\fR or -\&\fB\s-1FALSE\s0\fR. If \fB\s-1CA\s0\fR is \fB\s-1TRUE\s0\fR then an optional \fBpathlen\fR name followed by a +\&\fB\s-1FALSE\s0\fR. If \fB\s-1CA\s0\fR is \fB\s-1TRUE\s0\fR then an optional \fBpathlen\fR name followed by an non-negative value can be included. .PP For example: @@ -214,8 +214,8 @@ with \s-1CA\s0 set to \s-1FALSE\s0 for end entity certificates. The pathlen parameter indicates the maximum number of CAs that can appear below this one in a chain. So if you have a \s-1CA\s0 with a pathlen of zero it can only be used to sign end user certificates and not further CAs. -.SS "Key Usage" -.IX Subsection "Key Usage" +.SS "Key Usage." +.IX Subsection "Key Usage." Key usage is a multi valued extension consisting of a list of names of the permitted key usages. .PP @@ -230,8 +230,8 @@ Examples: \& \& keyUsage=critical, keyCertSign .Ve -.SS "Extended Key Usage" -.IX Subsection "Extended Key Usage" +.SS "Extended Key Usage." +.IX Subsection "Extended Key Usage." This extensions consists of a list of usages indicating purposes for which the certificate public key can be used for, .PP @@ -261,8 +261,8 @@ Examples: \& extendedKeyUsage=critical,codeSigning,1.2.3.4 \& extendedKeyUsage=serverAuth,clientAuth .Ve -.SS "Subject Key Identifier" -.IX Subsection "Subject Key Identifier" +.SS "Subject Key Identifier." +.IX Subsection "Subject Key Identifier." This is really a string extension and can take two possible values. Either the word \fBhash\fR which will automatically follow the guidelines in \s-1RFC3280\s0 or a hex string giving the extension value to include. The use of the hex @@ -273,8 +273,8 @@ Example: .Vb 1 \& subjectKeyIdentifier=hash .Ve -.SS "Authority Key Identifier" -.IX Subsection "Authority Key Identifier" +.SS "Authority Key Identifier." +.IX Subsection "Authority Key Identifier." The authority key identifier extension permits two options. keyid and issuer: both can take the optional value \*(L"always\*(R". .PP @@ -291,8 +291,8 @@ Example: .Vb 1 \& authorityKeyIdentifier=keyid,issuer .Ve -.SS "Subject Alternative Name" -.IX Subsection "Subject Alternative Name" +.SS "Subject Alternative Name." +.IX Subsection "Subject Alternative Name." The subject alternative name extension allows various literal values to be included in the configuration file. These include \fBemail\fR (an email address) \&\fB\s-1URI\s0\fR a uniform resource indicator, \fB\s-1DNS\s0\fR (a \s-1DNS\s0 domain name), \fB\s-1RID\s0\fR (a @@ -330,8 +330,8 @@ Examples: \& OU=My Unit \& CN=My Name .Ve -.SS "Issuer Alternative Name" -.IX Subsection "Issuer Alternative Name" +.SS "Issuer Alternative Name." +.IX Subsection "Issuer Alternative Name." The issuer alternative name option supports all the literal options of subject alternative name. It does \fBnot\fR support the email:copy option because that would not make sense. It does support an additional issuer:copy option @@ -343,8 +343,8 @@ Example: .Vb 1 \& issuerAltName = issuer:copy .Ve -.SS "Authority Info Access" -.IX Subsection "Authority Info Access" +.SS "Authority Info Access." +.IX Subsection "Authority Info Access." The authority information access extension gives details about how to access certain information relating to the \s-1CA\s0. Its syntax is accessOID;location where \fIlocation\fR has the same syntax as subject alternative name (except @@ -437,8 +437,8 @@ Example: \& O=Organisation \& CN=Some Name .Ve -.SS "Certificate Policies" -.IX Subsection "Certificate Policies" +.SS "Certificate Policies." +.IX Subsection "Certificate Policies." This is a \fIraw\fR extension. All the fields of this extension can be set by using the appropriate syntax. .PP @@ -569,8 +569,8 @@ Example: .IX Header "DEPRECATED EXTENSIONS" The following extensions are non standard, Netscape specific and largely obsolete. Their use in new applications is discouraged. -.SS "Netscape String extensions" -.IX Subsection "Netscape String extensions" +.SS "Netscape String extensions." +.IX Subsection "Netscape String extensions." Netscape Comment (\fBnsComment\fR) is a string extension containing a comment which will be displayed when the certificate is viewed in some browsers. .PP @@ -683,13 +683,13 @@ will only recognize the last value. This can be worked around by using the form: .Ve .SH "SEE ALSO" .IX Header "SEE ALSO" -\&\fIopenssl\-req\fR\|(1), \fIopenssl\-ca\fR\|(1), \fIopenssl\-x509\fR\|(1), +\&\fIreq\fR\|(1), \fIca\fR\|(1), \fIx509\fR\|(1), \&\fIASN1_generate_nconf\fR\|(3) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2004\-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2004\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man7/Ed25519.7 b/linux_amd64/share/man/man7/Ed25519.7 index 3f13b27..2ac2050 100755 --- a/linux_amd64/share/man/man7/Ed25519.7 +++ b/linux_amd64/share/man/man7/Ed25519.7 @@ -124,15 +124,13 @@ .\" ======================================================================== .\" .IX Title "ED25519 7" -.TH ED25519 7 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH ED25519 7 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -Ed25519, -Ed448 -\&\- EVP_PKEY Ed25519 and Ed448 support +Ed25519, Ed448 \&\- EVP_PKEY Ed25519 and Ed448 support .SH "DESCRIPTION" .IX Header "DESCRIPTION" The \fBEd25519\fR and \fBEd448\fR \s-1EVP_PKEY\s0 implementation supports key generation, @@ -151,7 +149,7 @@ The message to sign or verify must be passed using the one-shot \&\fIEVP_DigestSign()\fR and \fIEVP_DigestVerify()\fR functions. .PP When calling \fIEVP_DigestSignInit()\fR or \fIEVP_DigestVerifyInit()\fR, the -digest \fItype\fR parameter \fB\s-1MUST\s0\fR be set to \s-1NULL\s0. +digest \fBtype\fR parameter \fB\s-1MUST\s0\fR be set to \fB\s-1NULL\s0\fR. .PP Applications wishing to sign certificates (or other structures such as CRLs or certificate requests) using Ed25519 or Ed448 can either use \fIX509_sign()\fR @@ -179,8 +177,7 @@ Ed25519 or Ed448 public keys can be set directly using \&\fIEVP_PKEY_new_raw_public_key\fR\|(3) or loaded from a SubjectPublicKeyInfo structure in a \s-1PEM\s0 file using \fIPEM_read_bio_PUBKEY\fR\|(3) (or similar function). .PP -Ed25519 and Ed448 can be tested with the \fIopenssl\-speed\fR\|(1) application -since version 1.1.1. +Ed25519 and Ed448 can be tested within \fIspeed\fR\|(1) application since version 1.1.1. Valid algorithm names are \fBed25519\fR, \fBed448\fR and \fBeddsa\fR. If \fBeddsa\fR is specified, then both Ed25519 and Ed448 are benchmarked. .SH "EXAMPLES" @@ -207,9 +204,9 @@ output in \s-1PEM\s0 format: \&\fIEVP_DigestVerifyInit\fR\|(3), .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2017\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man7/Ed448.7 b/linux_amd64/share/man/man7/Ed448.7 new file mode 120000 index 0000000..f68aa31 --- /dev/null +++ b/linux_amd64/share/man/man7/Ed448.7 @@ -0,0 +1 @@ +Ed25519.7 \ No newline at end of file diff --git a/linux_amd64/share/man/man7/RAND.7 b/linux_amd64/share/man/man7/RAND.7 index b29298a..d76e18e 100755 --- a/linux_amd64/share/man/man7/RAND.7 +++ b/linux_amd64/share/man/man7/RAND.7 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "RAND 7" -.TH RAND 7 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH RAND 7 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -RAND -\&\- the OpenSSL random generator +RAND \&\- the OpenSSL random generator .SH "DESCRIPTION" .IX Header "DESCRIPTION" Random numbers are a vital part of cryptography, they are needed to provide @@ -194,9 +193,9 @@ of cryptographic principles and understand the implications of your changes. \&\s-1\fIRAND_DRBG\s0\fR\|(7) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2018\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man7/RAND_DRBG.7 b/linux_amd64/share/man/man7/RAND_DRBG.7 index 74e2276..dd93aab 100755 --- a/linux_amd64/share/man/man7/RAND_DRBG.7 +++ b/linux_amd64/share/man/man7/RAND_DRBG.7 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "RAND_DRBG 7" -.TH RAND_DRBG 7 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH RAND_DRBG 7 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -297,10 +297,9 @@ reseeding of the \s-1DRBG\s0 with fresh entropy by setting the The document [\s-1NIST\s0 \s-1SP\s0 800\-90C] describes prediction resistance requests in detail and imposes strict conditions on the entropy sources that are approved for providing prediction resistance. -A request for prediction resistance can only be satisfied by pulling fresh -entropy from a live entropy source (section 5.5.2 of [\s-1NIST\s0 \s-1SP\s0 800\-90C]). -It is up to the user to ensure that a live entropy source is configured -and is being used. +Since the default \s-1DRBG\s0 implementation does not have access to such an approved +entropy source, a request for prediction resistance will currently always fail. +In other words, prediction resistance is currently not supported yet by the \s-1DRBG\s0. .PP For the three shared DRBGs (and only for these) there is another way to reseed them manually: @@ -311,8 +310,8 @@ call and reseed, pulling randomness from . .PP The last feature has been added to support the common practice used with previous OpenSSL versions to call \fIRAND_add()\fR before calling \fIRAND_bytes()\fR. -.SS "Entropy Input and Additional Data" -.IX Subsection "Entropy Input and Additional Data" +.SS "Entropy Input vs. Additional Data" +.IX Subsection "Entropy Input vs. Additional Data" The \s-1DRBG\s0 distinguishes two different types of random input: \fIentropy\fR, which comes from a trusted source, and \fIadditional input\fR', which can optionally be added by the user and is considered untrusted. @@ -337,7 +336,7 @@ pulls the necessary entropy from its source automatically. However, both calls are permitted, and do reseed the \s-1RNG\s0. .PP \&\fIRAND_add()\fR can be used to add both kinds of random input, depending on the -value of the \fIrandomness\fR argument: +value of the \fBrandomness\fR argument: .IP "randomness == 0:" 4 .IX Item "randomness == 0:" The random bytes are mixed as additional input into the current state of @@ -354,13 +353,6 @@ security strength of the \s-1DRBG\s0. Currently it defaults to 256 bits (32 byte It is possible to provide less randomness than required. In this case the missing randomness will be obtained by pulling random input from the trusted entropy sources. -.PP -\&\s-1NOTE:\s0 Manual reseeding is *not allowed* in \s-1FIPS\s0 mode, because -[\s-1NIST\s0 SP\-800\-90Ar1] mandates that entropy *shall not* be provided by -the consuming application for instantiation (Section 9.1) or -reseeding (Section 9.2). For that reason, the \fIrandomness\fR -argument is ignored and the random bytes provided by the \fIRAND_add\fR\|(3) and -\&\fIRAND_seed\fR\|(3) calls are treated as additional data. .SS "Reseeding the master \s-1DRBG\s0 with automatic seeding disabled" .IX Subsection "Reseeding the master DRBG with automatic seeding disabled" Calling \fIRAND_poll()\fR will always fail. @@ -389,7 +381,7 @@ More precisely, the number of bytes needed for seeding depend on the .IX Header "COPYRIGHT" Copyright 2017\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man7/RSA-PSS.7 b/linux_amd64/share/man/man7/RSA-PSS.7 index 5cb64b0..67d6178 100755 --- a/linux_amd64/share/man/man7/RSA-PSS.7 +++ b/linux_amd64/share/man/man7/RSA-PSS.7 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "RSA-PSS 7" -.TH RSA-PSS 7 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH RSA-PSS 7 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -174,7 +174,7 @@ present, restricts the key parameters in the same way as the public key. .IX Header "COPYRIGHT" Copyright 2017\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man7/SM2.7 b/linux_amd64/share/man/man7/SM2.7 index 8616e2b..919f722 100755 --- a/linux_amd64/share/man/man7/SM2.7 +++ b/linux_amd64/share/man/man7/SM2.7 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SM2 7" -.TH SM2 7 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SM2 7 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -146,25 +146,32 @@ to form the message prefix which is hashed before the real message is hashed. instance, \fIEVP_DigestSignInit()\fR, \fIEVP_DigestSignUpdate()\fR and \fIEVP_DigestSignFinal()\fR. Ditto for the verification process by calling the 'DigestVerify' series of APIs. .PP -Before computing an \fB\s-1SM2\s0\fR signature, an \fB\s-1EVP_PKEY_CTX\s0\fR needs to be created, -and an \fB\s-1SM2\s0\fR \s-1ID\s0 must be set for it, like this: +There are several special steps that need to be done before computing an \fB\s-1SM2\s0\fR +signature. +.PP +The \fB\s-1EVP_PKEY\s0\fR structure will default to using \s-1ECDSA\s0 for signatures when it is +created. It should be set to \fB\s-1EVP_PKEY_SM2\s0\fR by calling: +.PP +.Vb 1 +\& EVP_PKEY_set_alias_type(pkey, EVP_PKEY_SM2); +.Ve +.PP +Then an \s-1ID\s0 should be set by calling: .PP .Vb 1 \& EVP_PKEY_CTX_set1_id(pctx, id, id_len); .Ve .PP -Before calling the \fIEVP_DigestSignInit()\fR or \fIEVP_DigestVerifyInit()\fR functions, -that \fB\s-1EVP_PKEY_CTX\s0\fR should be assigned to the \fB\s-1EVP_MD_CTX\s0\fR, like this: +When calling the \fIEVP_DigestSignInit()\fR or \fIEVP_DigestVerifyInit()\fR functions, a +pre-allocated \fB\s-1EVP_PKEY_CTX\s0\fR should be assigned to the \fB\s-1EVP_MD_CTX\s0\fR. This is +done by calling: .PP .Vb 1 \& EVP_MD_CTX_set_pkey_ctx(mctx, pctx); .Ve .PP -There is normally no need to pass a \fBpctx\fR parameter to \fIEVP_DigestSignInit()\fR +And normally there is no need to pass a \fBpctx\fR parameter to \fIEVP_DigestSignInit()\fR or \fIEVP_DigestVerifyInit()\fR in such a scenario. -.PP -\&\s-1SM2\s0 can be tested with the \fIopenssl\-speed\fR\|(1) application since version 3.0.0. -Currently, the only valid algorithm name is \fBsm2\fR. .SH "EXAMPLES" .IX Header "EXAMPLES" This example demonstrates the calling sequence for using an \fB\s-1EVP_PKEY\s0\fR to verify @@ -174,10 +181,11 @@ a message with the \s-1SM2\s0 signature algorithm and the \s-1SM3\s0 hash algori \& #include \& \& /* obtain an EVP_PKEY using whatever methods... */ +\& EVP_PKEY_set_alias_type(pkey, EVP_PKEY_SM2); \& mctx = EVP_MD_CTX_new(); \& pctx = EVP_PKEY_CTX_new(pkey, NULL); \& EVP_PKEY_CTX_set1_id(pctx, id, id_len); -\& EVP_MD_CTX_set_pkey_ctx(mctx, pctx); +\& EVP_MD_CTX_set_pkey_ctx(mctx, pctx);; \& EVP_DigestVerifyInit(mctx, NULL, EVP_sm3(), NULL, pkey); \& EVP_DigestVerifyUpdate(mctx, msg, msg_len); \& EVP_DigestVerifyFinal(mctx, sig, sig_len) @@ -185,15 +193,16 @@ a message with the \s-1SM2\s0 signature algorithm and the \s-1SM3\s0 hash algori .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIEVP_PKEY_CTX_new\fR\|(3), +\&\fIEVP_PKEY_set_alias_type\fR\|(3), \&\fIEVP_DigestSignInit\fR\|(3), \&\fIEVP_DigestVerifyInit\fR\|(3), \&\fIEVP_PKEY_CTX_set1_id\fR\|(3), \&\fIEVP_MD_CTX_set_pkey_ctx\fR\|(3) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2018\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man7/X25519.7 b/linux_amd64/share/man/man7/X25519.7 index b3e7f95..db4cef2 100755 --- a/linux_amd64/share/man/man7/X25519.7 +++ b/linux_amd64/share/man/man7/X25519.7 @@ -124,15 +124,13 @@ .\" ======================================================================== .\" .IX Title "X25519 7" -.TH X25519 7 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH X25519 7 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -X25519, -X448 -\&\- EVP_PKEY X25519 and X448 support +X25519, X448 \&\- EVP_PKEY X25519 and X448 support .SH "DESCRIPTION" .IX Header "DESCRIPTION" The \fBX25519\fR and \fBX448\fR \s-1EVP_PKEY\s0 implementation supports key generation and @@ -193,9 +191,9 @@ The key derivation example in \fIEVP_PKEY_derive\fR\|(3) can be used with \&\fIEVP_PKEY_derive_set_peer\fR\|(3) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2017\-2018 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2017\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man7/X448.7 b/linux_amd64/share/man/man7/X448.7 new file mode 120000 index 0000000..862d8bc --- /dev/null +++ b/linux_amd64/share/man/man7/X448.7 @@ -0,0 +1 @@ +X25519.7 \ No newline at end of file diff --git a/linux_amd64/share/man/man7/bio.7 b/linux_amd64/share/man/man7/bio.7 index 97b1d7a..c9b4b79 100755 --- a/linux_amd64/share/man/man7/bio.7 +++ b/linux_amd64/share/man/man7/bio.7 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BIO 7" -.TH BIO 7 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH BIO 7 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -172,10 +172,10 @@ in a memory leak. Calling \fIBIO_free_all()\fR on a single \s-1BIO\s0 has the same effect as calling \&\fIBIO_free()\fR on it other than the discarded return value. .PP -Normally the \fItype\fR argument is supplied by a function which returns a +Normally the \fBtype\fR argument is supplied by a function which returns a pointer to a \s-1BIO_METHOD\s0. There is a naming convention for such functions: -a source/sink \s-1BIO\s0 typically starts with \fIBIO_s_\fR and -a filter \s-1BIO\s0 with \fIBIO_f_\fR. +a source/sink \s-1BIO\s0 is normally called BIO_s_*() and a filter \s-1BIO\s0 +BIO_f_*(); .SH "EXAMPLES" .IX Header "EXAMPLES" Create a memory \s-1BIO:\s0 @@ -200,9 +200,9 @@ Create a memory \s-1BIO:\s0 \&\fIBIO_should_retry\fR\|(3) .SH "COPYRIGHT" .IX Header "COPYRIGHT" -Copyright 2000\-2017 The OpenSSL Project Authors. All Rights Reserved. +Copyright 2000\-2019 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man7/crypto.7 b/linux_amd64/share/man/man7/crypto.7 index 047e8ae..2015d42 100755 --- a/linux_amd64/share/man/man7/crypto.7 +++ b/linux_amd64/share/man/man7/crypto.7 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CRYPTO 7" -.TH CRYPTO 7 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH CRYPTO 7 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -136,13 +136,13 @@ crypto \- OpenSSL cryptographic library See the individual manual pages for details. .SH "DESCRIPTION" .IX Header "DESCRIPTION" -The OpenSSL crypto library (\f(CW\*(C`libcrypto\*(C'\fR) implements a wide range of -cryptographic algorithms used in various Internet standards. The services -provided by this library are used by the OpenSSL implementations of \s-1SSL\s0, \s-1TLS\s0 +The OpenSSL \fBcrypto\fR library implements a wide range of cryptographic +algorithms used in various Internet standards. The services provided +by this library are used by the OpenSSL implementations of \s-1SSL\s0, \s-1TLS\s0 and S/MIME, and they have also been used to implement \s-1SSH\s0, OpenPGP, and other cryptographic standards. .PP -\&\f(CW\*(C`libcrypto\*(C'\fR consists of a number of sub-libraries that implement the +\&\fBlibcrypto\fR consists of a number of sub-libraries that implement the individual algorithms. .PP The functionality includes symmetric encryption, public key @@ -161,11 +161,11 @@ Some of the newer functions follow a naming convention using the numbers .PP The \fB0\fR version uses the supplied structure pointer directly in the parent and it will be freed up when the parent is freed. -In the above example \fIcrl\fR would be freed but \fIrev\fR would not. +In the above example \fBcrl\fR would be freed but \fBrev\fR would not. .PP The \fB1\fR function uses a copy of the supplied structure pointer (or in some cases increases its link count) in the parent and -so both (\fIx\fR and \fIobj\fR above) should be freed up. +so both (\fBx\fR and \fBobj\fR above) should be freed up. .SH "RETURN VALUES" .IX Header "RETURN VALUES" See the individual manual pages for details. @@ -176,7 +176,7 @@ See the individual manual pages for details. .IX Header "COPYRIGHT" Copyright 2000\-2016 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man7/ct.7 b/linux_amd64/share/man/man7/ct.7 index 10c8755..dc71110 100755 --- a/linux_amd64/share/man/man7/ct.7 +++ b/linux_amd64/share/man/man7/ct.7 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CT 7" -.TH CT 7 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH CT 7 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -170,7 +170,7 @@ The ct library was added in OpenSSL 1.1.0. .IX Header "COPYRIGHT" Copyright 2016\-2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man7/des_modes.7 b/linux_amd64/share/man/man7/des_modes.7 index 53b9598..0db15bf 100755 --- a/linux_amd64/share/man/man7/des_modes.7 +++ b/linux_amd64/share/man/man7/des_modes.7 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "DES_MODES 7" -.TH DES_MODES 7 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH DES_MODES 7 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -280,7 +280,7 @@ it to: .IX Header "COPYRIGHT" Copyright 2000\-2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man7/evp.7 b/linux_amd64/share/man/man7/evp.7 index 633b1e3..50e1e05 100755 --- a/linux_amd64/share/man/man7/evp.7 +++ b/linux_amd64/share/man/man7/evp.7 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "EVP 7" -.TH EVP 7 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH EVP 7 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -221,7 +221,7 @@ using the high level interface. .IX Header "COPYRIGHT" Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man7/ossl_store-file.7 b/linux_amd64/share/man/man7/ossl_store-file.7 index 0aa17e8..34b1623 100755 --- a/linux_amd64/share/man/man7/ossl_store-file.7 +++ b/linux_amd64/share/man/man7/ossl_store-file.7 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "OSSL_STORE-FILE 7" -.TH OSSL_STORE-FILE 7 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH OSSL_STORE-FILE 7 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -161,7 +161,7 @@ only). .SH "NOTES" .IX Header "NOTES" When needed, the 'file' scheme loader will require a pass phrase by -using the \fB\s-1UI_METHOD\s0\fR that was passed via \fIOSSL_STORE_open()\fR. +using the \f(CW\*(C`UI_METHOD\*(C'\fR that was passed via \fIOSSL_STORE_open()\fR. This pass phrase is expected to be \s-1UTF\-8\s0 encoded, anything else will give an undefined result. The files made accessible through this loader are expected to be @@ -176,7 +176,7 @@ See \fIpassphrase\-encoding\fR\|(7) for more information. .IX Header "COPYRIGHT" Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man7/ossl_store.7 b/linux_amd64/share/man/man7/ossl_store.7 index 6b5ff4d..bd969c1 100755 --- a/linux_amd64/share/man/man7/ossl_store.7 +++ b/linux_amd64/share/man/man7/ossl_store.7 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "OSSL_STORE 7" -.TH OSSL_STORE 7 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH OSSL_STORE 7 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -139,7 +139,7 @@ ossl_store \- Store retrieval functions .SS "General" .IX Subsection "General" A \s-1STORE\s0 is a layer of functionality to retrieve a number of supported -objects from a repository of any kind, addressable as a filename or +objects from a repository of any kind, addressable as a file name or as a \s-1URI\s0. .PP The functionality supports the pattern \*(L"open a channel to the @@ -200,7 +200,7 @@ other encoding is undefined. .IX Header "COPYRIGHT" Copyright 2016\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man7/passphrase-encoding.7 b/linux_amd64/share/man/man7/passphrase-encoding.7 index 83049d9..bcc168b 100755 --- a/linux_amd64/share/man/man7/passphrase-encoding.7 +++ b/linux_amd64/share/man/man7/passphrase-encoding.7 @@ -124,14 +124,13 @@ .\" ======================================================================== .\" .IX Title "PASSPHRASE-ENCODING 7" -.TH PASSPHRASE-ENCODING 7 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH PASSPHRASE-ENCODING 7 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -passphrase\-encoding -\&\- How diverse parts of OpenSSL treat pass phrases character encoding +passphrase\-encoding \&\- How diverse parts of OpenSSL treat pass phrases character encoding .SH "DESCRIPTION" .IX Header "DESCRIPTION" In a modern world with all sorts of character encodings, the treatment of pass @@ -230,7 +229,7 @@ encoded using \s-1UTF\-8\s0. This is default on most modern Unixes, but may involve an effort on other platforms. Specifically for Windows, setting the environment variable -\&\fB\s-1OPENSSL_WIN32_UTF8\s0\fR will have anything entered on [Windows] console prompt +\&\f(CW\*(C`OPENSSL_WIN32_UTF8\*(C'\fR will have anything entered on [Windows] console prompt converted to \s-1UTF\-8\s0 (command line and separately prompted pass phrases alike). .SS "Opening existing objects" .IX Subsection "Opening existing objects" @@ -273,7 +272,7 @@ erroneous/non\-compliant encoding used by OpenSSL older than 1.1.0) .IX Header "COPYRIGHT" Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man7/proxy-certificates.7 b/linux_amd64/share/man/man7/proxy-certificates.7 index 8dfb636..c061b9d 100755 --- a/linux_amd64/share/man/man7/proxy-certificates.7 +++ b/linux_amd64/share/man/man7/proxy-certificates.7 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "PROXY-CERTIFICATES 7" -.TH PROXY-CERTIFICATES 7 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH PROXY-CERTIFICATES 7 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/linux_amd64/share/man/man7/scrypt.7 b/linux_amd64/share/man/man7/scrypt.7 new file mode 100644 index 0000000..2da1839 --- /dev/null +++ b/linux_amd64/share/man/man7/scrypt.7 @@ -0,0 +1,239 @@ +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "SCRYPT 7" +.TH SCRYPT 7 "2020-03-02" "1.1.1e-dev" "OpenSSL" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +scrypt \- EVP_PKEY scrypt KDF support +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The \s-1EVP_PKEY_SCRYPT\s0 algorithm implements the scrypt password based key +derivation function, as described in \s-1RFC\s0 7914. It is memory-hard in the sense +that it deliberately requires a significant amount of \s-1RAM\s0 for efficient +computation. The intention of this is to render brute forcing of passwords on +systems that lack large amounts of main memory (such as GPUs or ASICs) +computationally infeasible. +.PP +scrypt provides three work factors that can be customized: N, r and p. N, which +has to be a positive power of two, is the general work factor and scales \s-1CPU\s0 +time in an approximately linear fashion. r is the block size of the internally +used hash function and p is the parallelization factor. Both r and p need to be +greater than zero. The amount of \s-1RAM\s0 that scrypt requires for its computation +is roughly (128 * N * r * p) bytes. +.PP +In the original paper of Colin Percival (\*(L"Stronger Key Derivation via +Sequential Memory-Hard Functions\*(R", 2009), the suggested values that give a +computation time of less than 5 seconds on a 2.5 GHz Intel Core 2 Duo are N = +2^20 = 1048576, r = 8, p = 1. Consequently, the required amount of memory for +this computation is roughly 1 GiB. On a more recent \s-1CPU\s0 (Intel i7\-5930K at 3.5 +GHz), this computation takes about 3 seconds. When N, r or p are not specified, +they default to 1048576, 8, and 1, respectively. The default amount of \s-1RAM\s0 that +may be used by scrypt defaults to 1025 MiB. +.SH "NOTES" +.IX Header "NOTES" +A context for scrypt can be obtained by calling: +.PP +.Vb 1 +\& EVP_PKEY_CTX *pctx = EVP_PKEY_CTX_new_id(EVP_PKEY_SCRYPT, NULL); +.Ve +.PP +The output length of an scrypt key derivation is specified via the +length parameter to the \fIEVP_PKEY_derive\fR\|(3) function. +.SH "EXAMPLES" +.IX Header "EXAMPLES" +This example derives a 64\-byte long test vector using scrypt using the password +\&\*(L"password\*(R", salt \*(L"NaCl\*(R" and N = 1024, r = 8, p = 16. +.PP +.Vb 2 +\& EVP_PKEY_CTX *pctx; +\& unsigned char out[64]; +\& +\& size_t outlen = sizeof(out); +\& pctx = EVP_PKEY_CTX_new_id(EVP_PKEY_SCRYPT, NULL); +\& +\& if (EVP_PKEY_derive_init(pctx) <= 0) { +\& error("EVP_PKEY_derive_init"); +\& } +\& if (EVP_PKEY_CTX_set1_pbe_pass(pctx, "password", 8) <= 0) { +\& error("EVP_PKEY_CTX_set1_pbe_pass"); +\& } +\& if (EVP_PKEY_CTX_set1_scrypt_salt(pctx, "NaCl", 4) <= 0) { +\& error("EVP_PKEY_CTX_set1_scrypt_salt"); +\& } +\& if (EVP_PKEY_CTX_set_scrypt_N(pctx, 1024) <= 0) { +\& error("EVP_PKEY_CTX_set_scrypt_N"); +\& } +\& if (EVP_PKEY_CTX_set_scrypt_r(pctx, 8) <= 0) { +\& error("EVP_PKEY_CTX_set_scrypt_r"); +\& } +\& if (EVP_PKEY_CTX_set_scrypt_p(pctx, 16) <= 0) { +\& error("EVP_PKEY_CTX_set_scrypt_p"); +\& } +\& if (EVP_PKEY_derive(pctx, out, &outlen) <= 0) { +\& error("EVP_PKEY_derive"); +\& } +\& +\& { +\& const unsigned char expected[sizeof(out)] = { +\& 0xfd, 0xba, 0xbe, 0x1c, 0x9d, 0x34, 0x72, 0x00, +\& 0x78, 0x56, 0xe7, 0x19, 0x0d, 0x01, 0xe9, 0xfe, +\& 0x7c, 0x6a, 0xd7, 0xcb, 0xc8, 0x23, 0x78, 0x30, +\& 0xe7, 0x73, 0x76, 0x63, 0x4b, 0x37, 0x31, 0x62, +\& 0x2e, 0xaf, 0x30, 0xd9, 0x2e, 0x22, 0xa3, 0x88, +\& 0x6f, 0xf1, 0x09, 0x27, 0x9d, 0x98, 0x30, 0xda, +\& 0xc7, 0x27, 0xaf, 0xb9, 0x4a, 0x83, 0xee, 0x6d, +\& 0x83, 0x60, 0xcb, 0xdf, 0xa2, 0xcc, 0x06, 0x40 +\& }; +\& +\& assert(!memcmp(out, expected, sizeof(out))); +\& } +\& +\& EVP_PKEY_CTX_free(pctx); +.Ve +.SH "CONFORMING TO" +.IX Header "CONFORMING TO" +\&\s-1RFC\s0 7914 +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIEVP_PKEY_CTX_set1_scrypt_salt\fR\|(3), +\&\fIEVP_PKEY_CTX_set_scrypt_N\fR\|(3), +\&\fIEVP_PKEY_CTX_set_scrypt_r\fR\|(3), +\&\fIEVP_PKEY_CTX_set_scrypt_p\fR\|(3), +\&\fIEVP_PKEY_CTX_set_scrypt_maxmem_bytes\fR\|(3), +\&\fIEVP_PKEY_CTX_new\fR\|(3), +\&\fIEVP_PKEY_CTX_ctrl_str\fR\|(3), +\&\fIEVP_PKEY_derive\fR\|(3) +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright 2017\-2019 The OpenSSL Project Authors. All Rights Reserved. +.PP +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file \s-1LICENSE\s0 in the source distribution or at +. diff --git a/linux_amd64/share/man/man7/ssl.7 b/linux_amd64/share/man/man7/ssl.7 index 0a2107c..cb95b3c 100755 --- a/linux_amd64/share/man/man7/ssl.7 +++ b/linux_amd64/share/man/man7/ssl.7 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL 7" -.TH SSL 7 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH SSL 7 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -136,11 +136,9 @@ ssl \- OpenSSL SSL/TLS library See the individual manual pages for details. .SH "DESCRIPTION" .IX Header "DESCRIPTION" -The OpenSSL \fBssl\fR library implements several versions of the -Secure Sockets Layer, Transport Layer Security, and Datagram Transport Layer -Security protocols. -This page gives a brief overview of the extensive \s-1API\s0 and data types -provided by the library. +The OpenSSL \fBssl\fR library implements the Secure Sockets Layer (\s-1SSL\s0 v2/v3) and +Transport Layer Security (\s-1TLS\s0 v1) protocols. It provides a rich \s-1API\s0 which is +documented here. .PP An \fB\s-1SSL_CTX\s0\fR object is created as a framework to establish \&\s-1TLS/SSL\s0 enabled connections (see \fISSL_CTX_new\fR\|(3)). @@ -162,7 +160,8 @@ used to read and write data on the \s-1TLS/SSL\s0 connection. \&\s-1TLS/SSL\s0 connection. .SH "DATA STRUCTURES" .IX Header "DATA STRUCTURES" -Here are some of the main data structures in the library. +Currently the OpenSSL \fBssl\fR library functions deals with the following data +structures: .IP "\fB\s-1SSL_METHOD\s0\fR (\s-1SSL\s0 Method)" 4 .IX Item "SSL_METHOD (SSL Method)" This is a dispatch structure describing the internal \fBssl\fR library @@ -193,28 +192,714 @@ links to mostly all other structures. .IX Header "HEADER FILES" Currently the OpenSSL \fBssl\fR library provides the following C header files containing the prototypes for the data structures and functions: -.IP "\fI\fR" 4 -.IX Item "" +.IP "\fBssl.h\fR" 4 +.IX Item "ssl.h" This is the common header file for the \s-1SSL/TLS\s0 \s-1API\s0. Include it into your program to make the \s-1API\s0 of the \fBssl\fR library available. It internally includes both more private \s-1SSL\s0 headers and headers from the \fBcrypto\fR library. Whenever you need hard-core details on the internals of the \s-1SSL\s0 \s-1API\s0, look inside this header file. -This file also includes the others listed below. -.IP "\fI\fR" 4 -.IX Item "" +.IP "\fBssl2.h\fR" 4 +.IX Item "ssl2.h" Unused. Present for backwards compatibility only. -.IP "\fI\fR" 4 -.IX Item "" +.IP "\fBssl3.h\fR" 4 +.IX Item "ssl3.h" This is the sub header file dealing with the SSLv3 protocol only. -.IP "\fI\fR" 4 -.IX Item "" +\&\fIUsually you don't have to include it explicitly because +it's already included by ssl.h\fR. +.IP "\fBtls1.h\fR" 4 +.IX Item "tls1.h" This is the sub header file dealing with the TLSv1 protocol only. +\&\fIUsually you don't have to include it explicitly because +it's already included by ssl.h\fR. +.SH "API FUNCTIONS" +.IX Header "API FUNCTIONS" +Currently the OpenSSL \fBssl\fR library exports 214 \s-1API\s0 functions. +They are documented in the following: +.SS "Dealing with Protocol Methods" +.IX Subsection "Dealing with Protocol Methods" +Here we document the various \s-1API\s0 functions which deal with the \s-1SSL/TLS\s0 +protocol methods defined in \fB\s-1SSL_METHOD\s0\fR structures. +.IP "const \s-1SSL_METHOD\s0 *\fBTLS_method\fR(void);" 4 +.IX Item "const SSL_METHOD *TLS_method(void);" +Constructor for the \fIversion-flexible\fR \s-1SSL_METHOD\s0 structure for clients, +servers or both. +See \fISSL_CTX_new\fR\|(3) for details. +.IP "const \s-1SSL_METHOD\s0 *\fBTLS_client_method\fR(void);" 4 +.IX Item "const SSL_METHOD *TLS_client_method(void);" +Constructor for the \fIversion-flexible\fR \s-1SSL_METHOD\s0 structure for clients. +Must be used to support the TLSv1.3 protocol. +.IP "const \s-1SSL_METHOD\s0 *\fBTLS_server_method\fR(void);" 4 +.IX Item "const SSL_METHOD *TLS_server_method(void);" +Constructor for the \fIversion-flexible\fR \s-1SSL_METHOD\s0 structure for servers. +Must be used to support the TLSv1.3 protocol. +.IP "const \s-1SSL_METHOD\s0 *\fBTLSv1_2_method\fR(void);" 4 +.IX Item "const SSL_METHOD *TLSv1_2_method(void);" +Constructor for the TLSv1.2 \s-1SSL_METHOD\s0 structure for clients, servers or both. +.IP "const \s-1SSL_METHOD\s0 *\fBTLSv1_2_client_method\fR(void);" 4 +.IX Item "const SSL_METHOD *TLSv1_2_client_method(void);" +Constructor for the TLSv1.2 \s-1SSL_METHOD\s0 structure for clients. +.IP "const \s-1SSL_METHOD\s0 *\fBTLSv1_2_server_method\fR(void);" 4 +.IX Item "const SSL_METHOD *TLSv1_2_server_method(void);" +Constructor for the TLSv1.2 \s-1SSL_METHOD\s0 structure for servers. +.IP "const \s-1SSL_METHOD\s0 *\fBTLSv1_1_method\fR(void);" 4 +.IX Item "const SSL_METHOD *TLSv1_1_method(void);" +Constructor for the TLSv1.1 \s-1SSL_METHOD\s0 structure for clients, servers or both. +.IP "const \s-1SSL_METHOD\s0 *\fBTLSv1_1_client_method\fR(void);" 4 +.IX Item "const SSL_METHOD *TLSv1_1_client_method(void);" +Constructor for the TLSv1.1 \s-1SSL_METHOD\s0 structure for clients. +.IP "const \s-1SSL_METHOD\s0 *\fBTLSv1_1_server_method\fR(void);" 4 +.IX Item "const SSL_METHOD *TLSv1_1_server_method(void);" +Constructor for the TLSv1.1 \s-1SSL_METHOD\s0 structure for servers. +.IP "const \s-1SSL_METHOD\s0 *\fBTLSv1_method\fR(void);" 4 +.IX Item "const SSL_METHOD *TLSv1_method(void);" +Constructor for the TLSv1 \s-1SSL_METHOD\s0 structure for clients, servers or both. +.IP "const \s-1SSL_METHOD\s0 *\fBTLSv1_client_method\fR(void);" 4 +.IX Item "const SSL_METHOD *TLSv1_client_method(void);" +Constructor for the TLSv1 \s-1SSL_METHOD\s0 structure for clients. +.IP "const \s-1SSL_METHOD\s0 *\fBTLSv1_server_method\fR(void);" 4 +.IX Item "const SSL_METHOD *TLSv1_server_method(void);" +Constructor for the TLSv1 \s-1SSL_METHOD\s0 structure for servers. +.IP "const \s-1SSL_METHOD\s0 *\fBSSLv3_method\fR(void);" 4 +.IX Item "const SSL_METHOD *SSLv3_method(void);" +Constructor for the SSLv3 \s-1SSL_METHOD\s0 structure for clients, servers or both. +.IP "const \s-1SSL_METHOD\s0 *\fBSSLv3_client_method\fR(void);" 4 +.IX Item "const SSL_METHOD *SSLv3_client_method(void);" +Constructor for the SSLv3 \s-1SSL_METHOD\s0 structure for clients. +.IP "const \s-1SSL_METHOD\s0 *\fBSSLv3_server_method\fR(void);" 4 +.IX Item "const SSL_METHOD *SSLv3_server_method(void);" +Constructor for the SSLv3 \s-1SSL_METHOD\s0 structure for servers. +.SS "Dealing with Ciphers" +.IX Subsection "Dealing with Ciphers" +Here we document the various \s-1API\s0 functions which deal with the \s-1SSL/TLS\s0 +ciphers defined in \fB\s-1SSL_CIPHER\s0\fR structures. +.IP "char *\fBSSL_CIPHER_description\fR(\s-1SSL_CIPHER\s0 *cipher, char *buf, int len);" 4 +.IX Item "char *SSL_CIPHER_description(SSL_CIPHER *cipher, char *buf, int len);" +Write a string to \fIbuf\fR (with a maximum size of \fIlen\fR) containing a human +readable description of \fIcipher\fR. Returns \fIbuf\fR. +.IP "int \fBSSL_CIPHER_get_bits\fR(\s-1SSL_CIPHER\s0 *cipher, int *alg_bits);" 4 +.IX Item "int SSL_CIPHER_get_bits(SSL_CIPHER *cipher, int *alg_bits);" +Determine the number of bits in \fIcipher\fR. Because of export crippled ciphers +there are two bits: The bits the algorithm supports in general (stored to +\&\fIalg_bits\fR) and the bits which are actually used (the return value). +.IP "const char *\fBSSL_CIPHER_get_name\fR(\s-1SSL_CIPHER\s0 *cipher);" 4 +.IX Item "const char *SSL_CIPHER_get_name(SSL_CIPHER *cipher);" +Return the internal name of \fIcipher\fR as a string. These are the various +strings defined by the \fISSL3_TXT_xxx\fR and \fITLS1_TXT_xxx\fR +definitions in the header files. +.IP "const char *\fBSSL_CIPHER_get_version\fR(\s-1SSL_CIPHER\s0 *cipher);" 4 +.IX Item "const char *SSL_CIPHER_get_version(SSL_CIPHER *cipher);" +Returns a string like "\f(CW\*(C`SSLv3\*(C'\fR\*(L" or \*(R"\f(CW\*(C`TLSv1.2\*(C'\fR" which indicates the +\&\s-1SSL/TLS\s0 protocol version to which \fIcipher\fR belongs (i.e. where it was defined +in the specification the first time). +.SS "Dealing with Protocol Contexts" +.IX Subsection "Dealing with Protocol Contexts" +Here we document the various \s-1API\s0 functions which deal with the \s-1SSL/TLS\s0 +protocol context defined in the \fB\s-1SSL_CTX\s0\fR structure. +.IP "int \fBSSL_CTX_add_client_CA\fR(\s-1SSL_CTX\s0 *ctx, X509 *x);" 4 +.IX Item "int SSL_CTX_add_client_CA(SSL_CTX *ctx, X509 *x);" +.PD 0 +.IP "long \fBSSL_CTX_add_extra_chain_cert\fR(\s-1SSL_CTX\s0 *ctx, X509 *x509);" 4 +.IX Item "long SSL_CTX_add_extra_chain_cert(SSL_CTX *ctx, X509 *x509);" +.IP "int \fBSSL_CTX_add_session\fR(\s-1SSL_CTX\s0 *ctx, \s-1SSL_SESSION\s0 *c);" 4 +.IX Item "int SSL_CTX_add_session(SSL_CTX *ctx, SSL_SESSION *c);" +.IP "int \fBSSL_CTX_check_private_key\fR(const \s-1SSL_CTX\s0 *ctx);" 4 +.IX Item "int SSL_CTX_check_private_key(const SSL_CTX *ctx);" +.IP "long \fBSSL_CTX_ctrl\fR(\s-1SSL_CTX\s0 *ctx, int cmd, long larg, char *parg);" 4 +.IX Item "long SSL_CTX_ctrl(SSL_CTX *ctx, int cmd, long larg, char *parg);" +.IP "void \fBSSL_CTX_flush_sessions\fR(\s-1SSL_CTX\s0 *s, long t);" 4 +.IX Item "void SSL_CTX_flush_sessions(SSL_CTX *s, long t);" +.IP "void \fBSSL_CTX_free\fR(\s-1SSL_CTX\s0 *a);" 4 +.IX Item "void SSL_CTX_free(SSL_CTX *a);" +.IP "char *\fBSSL_CTX_get_app_data\fR(\s-1SSL_CTX\s0 *ctx);" 4 +.IX Item "char *SSL_CTX_get_app_data(SSL_CTX *ctx);" +.IP "X509_STORE *\fBSSL_CTX_get_cert_store\fR(\s-1SSL_CTX\s0 *ctx);" 4 +.IX Item "X509_STORE *SSL_CTX_get_cert_store(SSL_CTX *ctx);" +.IP "\s-1STACK\s0 *\fBSSL_CTX_get_ciphers\fR(const \s-1SSL_CTX\s0 *ctx);" 4 +.IX Item "STACK *SSL_CTX_get_ciphers(const SSL_CTX *ctx);" +.IP "\s-1STACK\s0 *\fBSSL_CTX_get_client_CA_list\fR(const \s-1SSL_CTX\s0 *ctx);" 4 +.IX Item "STACK *SSL_CTX_get_client_CA_list(const SSL_CTX *ctx);" +.IP "int (*\fBSSL_CTX_get_client_cert_cb\fR(\s-1SSL_CTX\s0 *ctx))(\s-1SSL\s0 *ssl, X509 **x509, \s-1EVP_PKEY\s0 **pkey);" 4 +.IX Item "int (*SSL_CTX_get_client_cert_cb(SSL_CTX *ctx))(SSL *ssl, X509 **x509, EVP_PKEY **pkey);" +.IP "void \fBSSL_CTX_get_default_read_ahead\fR(\s-1SSL_CTX\s0 *ctx);" 4 +.IX Item "void SSL_CTX_get_default_read_ahead(SSL_CTX *ctx);" +.IP "char *\fBSSL_CTX_get_ex_data\fR(const \s-1SSL_CTX\s0 *s, int idx);" 4 +.IX Item "char *SSL_CTX_get_ex_data(const SSL_CTX *s, int idx);" +.IP "int \fBSSL_CTX_get_ex_new_index\fR(long argl, char *argp, int (*new_func);(void), int (*dup_func)(void), void (*free_func)(void))" 4 +.IX Item "int SSL_CTX_get_ex_new_index(long argl, char *argp, int (*new_func);(void), int (*dup_func)(void), void (*free_func)(void))" +.IP "void (*\fBSSL_CTX_get_info_callback\fR(\s-1SSL_CTX\s0 *ctx))(\s-1SSL\s0 *ssl, int cb, int ret);" 4 +.IX Item "void (*SSL_CTX_get_info_callback(SSL_CTX *ctx))(SSL *ssl, int cb, int ret);" +.IP "int \fBSSL_CTX_get_quiet_shutdown\fR(const \s-1SSL_CTX\s0 *ctx);" 4 +.IX Item "int SSL_CTX_get_quiet_shutdown(const SSL_CTX *ctx);" +.IP "void \fBSSL_CTX_get_read_ahead\fR(\s-1SSL_CTX\s0 *ctx);" 4 +.IX Item "void SSL_CTX_get_read_ahead(SSL_CTX *ctx);" +.IP "int \fBSSL_CTX_get_session_cache_mode\fR(\s-1SSL_CTX\s0 *ctx);" 4 +.IX Item "int SSL_CTX_get_session_cache_mode(SSL_CTX *ctx);" +.IP "long \fBSSL_CTX_get_timeout\fR(const \s-1SSL_CTX\s0 *ctx);" 4 +.IX Item "long SSL_CTX_get_timeout(const SSL_CTX *ctx);" +.IP "int (*\fBSSL_CTX_get_verify_callback\fR(const \s-1SSL_CTX\s0 *ctx))(int ok, X509_STORE_CTX *ctx);" 4 +.IX Item "int (*SSL_CTX_get_verify_callback(const SSL_CTX *ctx))(int ok, X509_STORE_CTX *ctx);" +.IP "int \fBSSL_CTX_get_verify_mode\fR(\s-1SSL_CTX\s0 *ctx);" 4 +.IX Item "int SSL_CTX_get_verify_mode(SSL_CTX *ctx);" +.IP "int \fBSSL_CTX_load_verify_locations\fR(\s-1SSL_CTX\s0 *ctx, const char *CAfile, const char *CApath);" 4 +.IX Item "int SSL_CTX_load_verify_locations(SSL_CTX *ctx, const char *CAfile, const char *CApath);" +.IP "\s-1SSL_CTX\s0 *\fBSSL_CTX_new\fR(const \s-1SSL_METHOD\s0 *meth);" 4 +.IX Item "SSL_CTX *SSL_CTX_new(const SSL_METHOD *meth);" +.IP "int SSL_CTX_up_ref(\s-1SSL_CTX\s0 *ctx);" 4 +.IX Item "int SSL_CTX_up_ref(SSL_CTX *ctx);" +.IP "int \fBSSL_CTX_remove_session\fR(\s-1SSL_CTX\s0 *ctx, \s-1SSL_SESSION\s0 *c);" 4 +.IX Item "int SSL_CTX_remove_session(SSL_CTX *ctx, SSL_SESSION *c);" +.IP "int \fBSSL_CTX_sess_accept\fR(\s-1SSL_CTX\s0 *ctx);" 4 +.IX Item "int SSL_CTX_sess_accept(SSL_CTX *ctx);" +.IP "int \fBSSL_CTX_sess_accept_good\fR(\s-1SSL_CTX\s0 *ctx);" 4 +.IX Item "int SSL_CTX_sess_accept_good(SSL_CTX *ctx);" +.IP "int \fBSSL_CTX_sess_accept_renegotiate\fR(\s-1SSL_CTX\s0 *ctx);" 4 +.IX Item "int SSL_CTX_sess_accept_renegotiate(SSL_CTX *ctx);" +.IP "int \fBSSL_CTX_sess_cache_full\fR(\s-1SSL_CTX\s0 *ctx);" 4 +.IX Item "int SSL_CTX_sess_cache_full(SSL_CTX *ctx);" +.IP "int \fBSSL_CTX_sess_cb_hits\fR(\s-1SSL_CTX\s0 *ctx);" 4 +.IX Item "int SSL_CTX_sess_cb_hits(SSL_CTX *ctx);" +.IP "int \fBSSL_CTX_sess_connect\fR(\s-1SSL_CTX\s0 *ctx);" 4 +.IX Item "int SSL_CTX_sess_connect(SSL_CTX *ctx);" +.IP "int \fBSSL_CTX_sess_connect_good\fR(\s-1SSL_CTX\s0 *ctx);" 4 +.IX Item "int SSL_CTX_sess_connect_good(SSL_CTX *ctx);" +.IP "int \fBSSL_CTX_sess_connect_renegotiate\fR(\s-1SSL_CTX\s0 *ctx);" 4 +.IX Item "int SSL_CTX_sess_connect_renegotiate(SSL_CTX *ctx);" +.IP "int \fBSSL_CTX_sess_get_cache_size\fR(\s-1SSL_CTX\s0 *ctx);" 4 +.IX Item "int SSL_CTX_sess_get_cache_size(SSL_CTX *ctx);" +.IP "\s-1SSL_SESSION\s0 *(*\fBSSL_CTX_sess_get_get_cb\fR(\s-1SSL_CTX\s0 *ctx))(\s-1SSL\s0 *ssl, unsigned char *data, int len, int *copy);" 4 +.IX Item "SSL_SESSION *(*SSL_CTX_sess_get_get_cb(SSL_CTX *ctx))(SSL *ssl, unsigned char *data, int len, int *copy);" +.IP "int (*\fBSSL_CTX_sess_get_new_cb\fR(\s-1SSL_CTX\s0 *ctx)(\s-1SSL\s0 *ssl, \s-1SSL_SESSION\s0 *sess);" 4 +.IX Item "int (*SSL_CTX_sess_get_new_cb(SSL_CTX *ctx)(SSL *ssl, SSL_SESSION *sess);" +.IP "void (*\fBSSL_CTX_sess_get_remove_cb\fR(\s-1SSL_CTX\s0 *ctx)(\s-1SSL_CTX\s0 *ctx, \s-1SSL_SESSION\s0 *sess);" 4 +.IX Item "void (*SSL_CTX_sess_get_remove_cb(SSL_CTX *ctx)(SSL_CTX *ctx, SSL_SESSION *sess);" +.IP "int \fBSSL_CTX_sess_hits\fR(\s-1SSL_CTX\s0 *ctx);" 4 +.IX Item "int SSL_CTX_sess_hits(SSL_CTX *ctx);" +.IP "int \fBSSL_CTX_sess_misses\fR(\s-1SSL_CTX\s0 *ctx);" 4 +.IX Item "int SSL_CTX_sess_misses(SSL_CTX *ctx);" +.IP "int \fBSSL_CTX_sess_number\fR(\s-1SSL_CTX\s0 *ctx);" 4 +.IX Item "int SSL_CTX_sess_number(SSL_CTX *ctx);" +.IP "void \fBSSL_CTX_sess_set_cache_size\fR(\s-1SSL_CTX\s0 *ctx, t);" 4 +.IX Item "void SSL_CTX_sess_set_cache_size(SSL_CTX *ctx, t);" +.IP "void \fBSSL_CTX_sess_set_get_cb\fR(\s-1SSL_CTX\s0 *ctx, \s-1SSL_SESSION\s0 *(*cb)(\s-1SSL\s0 *ssl, unsigned char *data, int len, int *copy));" 4 +.IX Item "void SSL_CTX_sess_set_get_cb(SSL_CTX *ctx, SSL_SESSION *(*cb)(SSL *ssl, unsigned char *data, int len, int *copy));" +.IP "void \fBSSL_CTX_sess_set_new_cb\fR(\s-1SSL_CTX\s0 *ctx, int (*cb)(\s-1SSL\s0 *ssl, \s-1SSL_SESSION\s0 *sess));" 4 +.IX Item "void SSL_CTX_sess_set_new_cb(SSL_CTX *ctx, int (*cb)(SSL *ssl, SSL_SESSION *sess));" +.IP "void \fBSSL_CTX_sess_set_remove_cb\fR(\s-1SSL_CTX\s0 *ctx, void (*cb)(\s-1SSL_CTX\s0 *ctx, \s-1SSL_SESSION\s0 *sess));" 4 +.IX Item "void SSL_CTX_sess_set_remove_cb(SSL_CTX *ctx, void (*cb)(SSL_CTX *ctx, SSL_SESSION *sess));" +.IP "int \fBSSL_CTX_sess_timeouts\fR(\s-1SSL_CTX\s0 *ctx);" 4 +.IX Item "int SSL_CTX_sess_timeouts(SSL_CTX *ctx);" +.IP "\s-1LHASH\s0 *\fBSSL_CTX_sessions\fR(\s-1SSL_CTX\s0 *ctx);" 4 +.IX Item "LHASH *SSL_CTX_sessions(SSL_CTX *ctx);" +.IP "int \fBSSL_CTX_set_app_data\fR(\s-1SSL_CTX\s0 *ctx, void *arg);" 4 +.IX Item "int SSL_CTX_set_app_data(SSL_CTX *ctx, void *arg);" +.IP "void \fBSSL_CTX_set_cert_store\fR(\s-1SSL_CTX\s0 *ctx, X509_STORE *cs);" 4 +.IX Item "void SSL_CTX_set_cert_store(SSL_CTX *ctx, X509_STORE *cs);" +.IP "void \fBSSL_CTX_set1_cert_store\fR(\s-1SSL_CTX\s0 *ctx, X509_STORE *cs);" 4 +.IX Item "void SSL_CTX_set1_cert_store(SSL_CTX *ctx, X509_STORE *cs);" +.IP "void \fBSSL_CTX_set_cert_verify_cb\fR(\s-1SSL_CTX\s0 *ctx, int (*cb)(), char *arg)" 4 +.IX Item "void SSL_CTX_set_cert_verify_cb(SSL_CTX *ctx, int (*cb)(), char *arg)" +.IP "int \fBSSL_CTX_set_cipher_list\fR(\s-1SSL_CTX\s0 *ctx, char *str);" 4 +.IX Item "int SSL_CTX_set_cipher_list(SSL_CTX *ctx, char *str);" +.IP "void \fBSSL_CTX_set_client_CA_list\fR(\s-1SSL_CTX\s0 *ctx, \s-1STACK\s0 *list);" 4 +.IX Item "void SSL_CTX_set_client_CA_list(SSL_CTX *ctx, STACK *list);" +.IP "void \fBSSL_CTX_set_client_cert_cb\fR(\s-1SSL_CTX\s0 *ctx, int (*cb)(\s-1SSL\s0 *ssl, X509 **x509, \s-1EVP_PKEY\s0 **pkey));" 4 +.IX Item "void SSL_CTX_set_client_cert_cb(SSL_CTX *ctx, int (*cb)(SSL *ssl, X509 **x509, EVP_PKEY **pkey));" +.IP "int \fBSSL_CTX_set_ct_validation_callback\fR(\s-1SSL_CTX\s0 *ctx, ssl_ct_validation_cb callback, void *arg);" 4 +.IX Item "int SSL_CTX_set_ct_validation_callback(SSL_CTX *ctx, ssl_ct_validation_cb callback, void *arg);" +.IP "void \fBSSL_CTX_set_default_passwd_cb\fR(\s-1SSL_CTX\s0 *ctx, int (*cb);(void))" 4 +.IX Item "void SSL_CTX_set_default_passwd_cb(SSL_CTX *ctx, int (*cb);(void))" +.IP "void \fBSSL_CTX_set_default_read_ahead\fR(\s-1SSL_CTX\s0 *ctx, int m);" 4 +.IX Item "void SSL_CTX_set_default_read_ahead(SSL_CTX *ctx, int m);" +.IP "int \fBSSL_CTX_set_default_verify_paths\fR(\s-1SSL_CTX\s0 *ctx);" 4 +.IX Item "int SSL_CTX_set_default_verify_paths(SSL_CTX *ctx);" +.PD +Use the default paths to locate trusted \s-1CA\s0 certificates. There is one default +directory path and one default file path. Both are set via this call. +.IP "int \fBSSL_CTX_set_default_verify_dir\fR(\s-1SSL_CTX\s0 *ctx)" 4 +.IX Item "int SSL_CTX_set_default_verify_dir(SSL_CTX *ctx)" +Use the default directory path to locate trusted \s-1CA\s0 certificates. +.IP "int \fBSSL_CTX_set_default_verify_file\fR(\s-1SSL_CTX\s0 *ctx)" 4 +.IX Item "int SSL_CTX_set_default_verify_file(SSL_CTX *ctx)" +Use the file path to locate trusted \s-1CA\s0 certificates. +.IP "int \fBSSL_CTX_set_ex_data\fR(\s-1SSL_CTX\s0 *s, int idx, char *arg);" 4 +.IX Item "int SSL_CTX_set_ex_data(SSL_CTX *s, int idx, char *arg);" +.PD 0 +.IP "void \fBSSL_CTX_set_info_callback\fR(\s-1SSL_CTX\s0 *ctx, void (*cb)(\s-1SSL\s0 *ssl, int cb, int ret));" 4 +.IX Item "void SSL_CTX_set_info_callback(SSL_CTX *ctx, void (*cb)(SSL *ssl, int cb, int ret));" +.IP "void \fBSSL_CTX_set_msg_callback\fR(\s-1SSL_CTX\s0 *ctx, void (*cb)(int write_p, int version, int content_type, const void *buf, size_t len, \s-1SSL\s0 *ssl, void *arg));" 4 +.IX Item "void SSL_CTX_set_msg_callback(SSL_CTX *ctx, void (*cb)(int write_p, int version, int content_type, const void *buf, size_t len, SSL *ssl, void *arg));" +.IP "void \fBSSL_CTX_set_msg_callback_arg\fR(\s-1SSL_CTX\s0 *ctx, void *arg);" 4 +.IX Item "void SSL_CTX_set_msg_callback_arg(SSL_CTX *ctx, void *arg);" +.IP "unsigned long \fBSSL_CTX_clear_options\fR(\s-1SSL_CTX\s0 *ctx, unsigned long op);" 4 +.IX Item "unsigned long SSL_CTX_clear_options(SSL_CTX *ctx, unsigned long op);" +.IP "unsigned long \fBSSL_CTX_get_options\fR(\s-1SSL_CTX\s0 *ctx);" 4 +.IX Item "unsigned long SSL_CTX_get_options(SSL_CTX *ctx);" +.IP "unsigned long \fBSSL_CTX_set_options\fR(\s-1SSL_CTX\s0 *ctx, unsigned long op);" 4 +.IX Item "unsigned long SSL_CTX_set_options(SSL_CTX *ctx, unsigned long op);" +.IP "void \fBSSL_CTX_set_quiet_shutdown\fR(\s-1SSL_CTX\s0 *ctx, int mode);" 4 +.IX Item "void SSL_CTX_set_quiet_shutdown(SSL_CTX *ctx, int mode);" +.IP "void \fBSSL_CTX_set_read_ahead\fR(\s-1SSL_CTX\s0 *ctx, int m);" 4 +.IX Item "void SSL_CTX_set_read_ahead(SSL_CTX *ctx, int m);" +.IP "void \fBSSL_CTX_set_session_cache_mode\fR(\s-1SSL_CTX\s0 *ctx, int mode);" 4 +.IX Item "void SSL_CTX_set_session_cache_mode(SSL_CTX *ctx, int mode);" +.IP "int \fBSSL_CTX_set_ssl_version\fR(\s-1SSL_CTX\s0 *ctx, const \s-1SSL_METHOD\s0 *meth);" 4 +.IX Item "int SSL_CTX_set_ssl_version(SSL_CTX *ctx, const SSL_METHOD *meth);" +.IP "void \fBSSL_CTX_set_timeout\fR(\s-1SSL_CTX\s0 *ctx, long t);" 4 +.IX Item "void SSL_CTX_set_timeout(SSL_CTX *ctx, long t);" +.IP "long \fBSSL_CTX_set_tmp_dh\fR(SSL_CTX* ctx, \s-1DH\s0 *dh);" 4 +.IX Item "long SSL_CTX_set_tmp_dh(SSL_CTX* ctx, DH *dh);" +.IP "long \fBSSL_CTX_set_tmp_dh_callback\fR(\s-1SSL_CTX\s0 *ctx, \s-1DH\s0 *(*cb)(void));" 4 +.IX Item "long SSL_CTX_set_tmp_dh_callback(SSL_CTX *ctx, DH *(*cb)(void));" +.IP "void \fBSSL_CTX_set_verify\fR(\s-1SSL_CTX\s0 *ctx, int mode, int (*cb);(void))" 4 +.IX Item "void SSL_CTX_set_verify(SSL_CTX *ctx, int mode, int (*cb);(void))" +.IP "int \fBSSL_CTX_use_PrivateKey\fR(\s-1SSL_CTX\s0 *ctx, \s-1EVP_PKEY\s0 *pkey);" 4 +.IX Item "int SSL_CTX_use_PrivateKey(SSL_CTX *ctx, EVP_PKEY *pkey);" +.IP "int \fBSSL_CTX_use_PrivateKey_ASN1\fR(int type, \s-1SSL_CTX\s0 *ctx, unsigned char *d, long len);" 4 +.IX Item "int SSL_CTX_use_PrivateKey_ASN1(int type, SSL_CTX *ctx, unsigned char *d, long len);" +.IP "int \fBSSL_CTX_use_PrivateKey_file\fR(\s-1SSL_CTX\s0 *ctx, const char *file, int type);" 4 +.IX Item "int SSL_CTX_use_PrivateKey_file(SSL_CTX *ctx, const char *file, int type);" +.IP "int \fBSSL_CTX_use_RSAPrivateKey\fR(\s-1SSL_CTX\s0 *ctx, \s-1RSA\s0 *rsa);" 4 +.IX Item "int SSL_CTX_use_RSAPrivateKey(SSL_CTX *ctx, RSA *rsa);" +.IP "int \fBSSL_CTX_use_RSAPrivateKey_ASN1\fR(\s-1SSL_CTX\s0 *ctx, unsigned char *d, long len);" 4 +.IX Item "int SSL_CTX_use_RSAPrivateKey_ASN1(SSL_CTX *ctx, unsigned char *d, long len);" +.IP "int \fBSSL_CTX_use_RSAPrivateKey_file\fR(\s-1SSL_CTX\s0 *ctx, const char *file, int type);" 4 +.IX Item "int SSL_CTX_use_RSAPrivateKey_file(SSL_CTX *ctx, const char *file, int type);" +.IP "int \fBSSL_CTX_use_certificate\fR(\s-1SSL_CTX\s0 *ctx, X509 *x);" 4 +.IX Item "int SSL_CTX_use_certificate(SSL_CTX *ctx, X509 *x);" +.IP "int \fBSSL_CTX_use_certificate_ASN1\fR(\s-1SSL_CTX\s0 *ctx, int len, unsigned char *d);" 4 +.IX Item "int SSL_CTX_use_certificate_ASN1(SSL_CTX *ctx, int len, unsigned char *d);" +.IP "int \fBSSL_CTX_use_certificate_file\fR(\s-1SSL_CTX\s0 *ctx, const char *file, int type);" 4 +.IX Item "int SSL_CTX_use_certificate_file(SSL_CTX *ctx, const char *file, int type);" +.IP "int \fBSSL_CTX_use_cert_and_key\fR(\s-1SSL_CTX\s0 *ctx, X509 *x, \s-1EVP_PKEY\s0 *pkey, \s-1STACK_OF\s0(X509) *chain, int override);" 4 +.IX Item "int SSL_CTX_use_cert_and_key(SSL_CTX *ctx, X509 *x, EVP_PKEY *pkey, STACK_OF(X509) *chain, int override);" +.IP "X509 *\fBSSL_CTX_get0_certificate\fR(const \s-1SSL_CTX\s0 *ctx);" 4 +.IX Item "X509 *SSL_CTX_get0_certificate(const SSL_CTX *ctx);" +.IP "\s-1EVP_PKEY\s0 *\fBSSL_CTX_get0_privatekey\fR(const \s-1SSL_CTX\s0 *ctx);" 4 +.IX Item "EVP_PKEY *SSL_CTX_get0_privatekey(const SSL_CTX *ctx);" +.IP "void \fBSSL_CTX_set_psk_client_callback\fR(\s-1SSL_CTX\s0 *ctx, unsigned int (*callback)(\s-1SSL\s0 *ssl, const char *hint, char *identity, unsigned int max_identity_len, unsigned char *psk, unsigned int max_psk_len));" 4 +.IX Item "void SSL_CTX_set_psk_client_callback(SSL_CTX *ctx, unsigned int (*callback)(SSL *ssl, const char *hint, char *identity, unsigned int max_identity_len, unsigned char *psk, unsigned int max_psk_len));" +.IP "int \fBSSL_CTX_use_psk_identity_hint\fR(\s-1SSL_CTX\s0 *ctx, const char *hint);" 4 +.IX Item "int SSL_CTX_use_psk_identity_hint(SSL_CTX *ctx, const char *hint);" +.IP "void \fBSSL_CTX_set_psk_server_callback\fR(\s-1SSL_CTX\s0 *ctx, unsigned int (*callback)(\s-1SSL\s0 *ssl, const char *identity, unsigned char *psk, int max_psk_len));" 4 +.IX Item "void SSL_CTX_set_psk_server_callback(SSL_CTX *ctx, unsigned int (*callback)(SSL *ssl, const char *identity, unsigned char *psk, int max_psk_len));" +.PD +.SS "Dealing with Sessions" +.IX Subsection "Dealing with Sessions" +Here we document the various \s-1API\s0 functions which deal with the \s-1SSL/TLS\s0 +sessions defined in the \fB\s-1SSL_SESSION\s0\fR structures. +.IP "int \fBSSL_SESSION_cmp\fR(const \s-1SSL_SESSION\s0 *a, const \s-1SSL_SESSION\s0 *b);" 4 +.IX Item "int SSL_SESSION_cmp(const SSL_SESSION *a, const SSL_SESSION *b);" +.PD 0 +.IP "void \fBSSL_SESSION_free\fR(\s-1SSL_SESSION\s0 *ss);" 4 +.IX Item "void SSL_SESSION_free(SSL_SESSION *ss);" +.IP "char *\fBSSL_SESSION_get_app_data\fR(\s-1SSL_SESSION\s0 *s);" 4 +.IX Item "char *SSL_SESSION_get_app_data(SSL_SESSION *s);" +.IP "char *\fBSSL_SESSION_get_ex_data\fR(const \s-1SSL_SESSION\s0 *s, int idx);" 4 +.IX Item "char *SSL_SESSION_get_ex_data(const SSL_SESSION *s, int idx);" +.IP "int \fBSSL_SESSION_get_ex_new_index\fR(long argl, char *argp, int (*new_func);(void), int (*dup_func)(void), void (*free_func)(void))" 4 +.IX Item "int SSL_SESSION_get_ex_new_index(long argl, char *argp, int (*new_func);(void), int (*dup_func)(void), void (*free_func)(void))" +.IP "long \fBSSL_SESSION_get_time\fR(const \s-1SSL_SESSION\s0 *s);" 4 +.IX Item "long SSL_SESSION_get_time(const SSL_SESSION *s);" +.IP "long \fBSSL_SESSION_get_timeout\fR(const \s-1SSL_SESSION\s0 *s);" 4 +.IX Item "long SSL_SESSION_get_timeout(const SSL_SESSION *s);" +.IP "unsigned long \fBSSL_SESSION_hash\fR(const \s-1SSL_SESSION\s0 *a);" 4 +.IX Item "unsigned long SSL_SESSION_hash(const SSL_SESSION *a);" +.IP "\s-1SSL_SESSION\s0 *\fBSSL_SESSION_new\fR(void);" 4 +.IX Item "SSL_SESSION *SSL_SESSION_new(void);" +.IP "int \fBSSL_SESSION_print\fR(\s-1BIO\s0 *bp, const \s-1SSL_SESSION\s0 *x);" 4 +.IX Item "int SSL_SESSION_print(BIO *bp, const SSL_SESSION *x);" +.IP "int \fBSSL_SESSION_print_fp\fR(\s-1FILE\s0 *fp, const \s-1SSL_SESSION\s0 *x);" 4 +.IX Item "int SSL_SESSION_print_fp(FILE *fp, const SSL_SESSION *x);" +.IP "int \fBSSL_SESSION_set_app_data\fR(\s-1SSL_SESSION\s0 *s, char *a);" 4 +.IX Item "int SSL_SESSION_set_app_data(SSL_SESSION *s, char *a);" +.IP "int \fBSSL_SESSION_set_ex_data\fR(\s-1SSL_SESSION\s0 *s, int idx, char *arg);" 4 +.IX Item "int SSL_SESSION_set_ex_data(SSL_SESSION *s, int idx, char *arg);" +.IP "long \fBSSL_SESSION_set_time\fR(\s-1SSL_SESSION\s0 *s, long t);" 4 +.IX Item "long SSL_SESSION_set_time(SSL_SESSION *s, long t);" +.IP "long \fBSSL_SESSION_set_timeout\fR(\s-1SSL_SESSION\s0 *s, long t);" 4 +.IX Item "long SSL_SESSION_set_timeout(SSL_SESSION *s, long t);" +.PD +.SS "Dealing with Connections" +.IX Subsection "Dealing with Connections" +Here we document the various \s-1API\s0 functions which deal with the \s-1SSL/TLS\s0 +connection defined in the \fB\s-1SSL\s0\fR structure. +.IP "int \fBSSL_accept\fR(\s-1SSL\s0 *ssl);" 4 +.IX Item "int SSL_accept(SSL *ssl);" +.PD 0 +.IP "int \fBSSL_add_dir_cert_subjects_to_stack\fR(\s-1STACK\s0 *stack, const char *dir);" 4 +.IX Item "int SSL_add_dir_cert_subjects_to_stack(STACK *stack, const char *dir);" +.IP "int \fBSSL_add_file_cert_subjects_to_stack\fR(\s-1STACK\s0 *stack, const char *file);" 4 +.IX Item "int SSL_add_file_cert_subjects_to_stack(STACK *stack, const char *file);" +.IP "int \fBSSL_add_client_CA\fR(\s-1SSL\s0 *ssl, X509 *x);" 4 +.IX Item "int SSL_add_client_CA(SSL *ssl, X509 *x);" +.IP "char *\fBSSL_alert_desc_string\fR(int value);" 4 +.IX Item "char *SSL_alert_desc_string(int value);" +.IP "char *\fBSSL_alert_desc_string_long\fR(int value);" 4 +.IX Item "char *SSL_alert_desc_string_long(int value);" +.IP "char *\fBSSL_alert_type_string\fR(int value);" 4 +.IX Item "char *SSL_alert_type_string(int value);" +.IP "char *\fBSSL_alert_type_string_long\fR(int value);" 4 +.IX Item "char *SSL_alert_type_string_long(int value);" +.IP "int \fBSSL_check_private_key\fR(const \s-1SSL\s0 *ssl);" 4 +.IX Item "int SSL_check_private_key(const SSL *ssl);" +.IP "void \fBSSL_clear\fR(\s-1SSL\s0 *ssl);" 4 +.IX Item "void SSL_clear(SSL *ssl);" +.IP "long \fBSSL_clear_num_renegotiations\fR(\s-1SSL\s0 *ssl);" 4 +.IX Item "long SSL_clear_num_renegotiations(SSL *ssl);" +.IP "int \fBSSL_connect\fR(\s-1SSL\s0 *ssl);" 4 +.IX Item "int SSL_connect(SSL *ssl);" +.IP "int \fBSSL_copy_session_id\fR(\s-1SSL\s0 *t, const \s-1SSL\s0 *f);" 4 +.IX Item "int SSL_copy_session_id(SSL *t, const SSL *f);" +.PD +Sets the session details for \fBt\fR to be the same as in \fBf\fR. Returns 1 on +success or 0 on failure. +.IP "long \fBSSL_ctrl\fR(\s-1SSL\s0 *ssl, int cmd, long larg, char *parg);" 4 +.IX Item "long SSL_ctrl(SSL *ssl, int cmd, long larg, char *parg);" +.PD 0 +.IP "int \fBSSL_do_handshake\fR(\s-1SSL\s0 *ssl);" 4 +.IX Item "int SSL_do_handshake(SSL *ssl);" +.IP "\s-1SSL\s0 *\fBSSL_dup\fR(\s-1SSL\s0 *ssl);" 4 +.IX Item "SSL *SSL_dup(SSL *ssl);" +.PD +\&\fISSL_dup()\fR allows applications to configure an \s-1SSL\s0 handle for use +in multiple \s-1SSL\s0 connections, and then duplicate it prior to initiating +each connection with the duplicated handle. +Use of \fISSL_dup()\fR avoids the need to repeat the configuration of the +handles for each connection. +.Sp +For \fISSL_dup()\fR to work, the connection \s-1MUST\s0 be in its initial state +and \s-1MUST\s0 \s-1NOT\s0 have not yet have started the \s-1SSL\s0 handshake. +For connections that are not in their initial state \fISSL_dup()\fR just +increments an internal reference count and returns the \fIsame\fR +handle. +It may be possible to use \fISSL_clear\fR\|(3) to recycle an \s-1SSL\s0 handle +that is not in its initial state for re-use, but this is best +avoided. +Instead, save and restore the session, if desired, and construct a +fresh handle for each connection. +.IP "\s-1STACK\s0 *\fBSSL_dup_CA_list\fR(\s-1STACK\s0 *sk);" 4 +.IX Item "STACK *SSL_dup_CA_list(STACK *sk);" +.PD 0 +.IP "void \fBSSL_free\fR(\s-1SSL\s0 *ssl);" 4 +.IX Item "void SSL_free(SSL *ssl);" +.IP "\s-1SSL_CTX\s0 *\fBSSL_get_SSL_CTX\fR(const \s-1SSL\s0 *ssl);" 4 +.IX Item "SSL_CTX *SSL_get_SSL_CTX(const SSL *ssl);" +.IP "char *\fBSSL_get_app_data\fR(\s-1SSL\s0 *ssl);" 4 +.IX Item "char *SSL_get_app_data(SSL *ssl);" +.IP "X509 *\fBSSL_get_certificate\fR(const \s-1SSL\s0 *ssl);" 4 +.IX Item "X509 *SSL_get_certificate(const SSL *ssl);" +.IP "const char *\fBSSL_get_cipher\fR(const \s-1SSL\s0 *ssl);" 4 +.IX Item "const char *SSL_get_cipher(const SSL *ssl);" +.IP "int \fBSSL_is_dtls\fR(const \s-1SSL\s0 *ssl);" 4 +.IX Item "int SSL_is_dtls(const SSL *ssl);" +.IP "int \fBSSL_get_cipher_bits\fR(const \s-1SSL\s0 *ssl, int *alg_bits);" 4 +.IX Item "int SSL_get_cipher_bits(const SSL *ssl, int *alg_bits);" +.IP "char *\fBSSL_get_cipher_list\fR(const \s-1SSL\s0 *ssl, int n);" 4 +.IX Item "char *SSL_get_cipher_list(const SSL *ssl, int n);" +.IP "char *\fBSSL_get_cipher_name\fR(const \s-1SSL\s0 *ssl);" 4 +.IX Item "char *SSL_get_cipher_name(const SSL *ssl);" +.IP "char *\fBSSL_get_cipher_version\fR(const \s-1SSL\s0 *ssl);" 4 +.IX Item "char *SSL_get_cipher_version(const SSL *ssl);" +.IP "\s-1STACK\s0 *\fBSSL_get_ciphers\fR(const \s-1SSL\s0 *ssl);" 4 +.IX Item "STACK *SSL_get_ciphers(const SSL *ssl);" +.IP "\s-1STACK\s0 *\fBSSL_get_client_CA_list\fR(const \s-1SSL\s0 *ssl);" 4 +.IX Item "STACK *SSL_get_client_CA_list(const SSL *ssl);" +.IP "\s-1SSL_CIPHER\s0 *\fBSSL_get_current_cipher\fR(\s-1SSL\s0 *ssl);" 4 +.IX Item "SSL_CIPHER *SSL_get_current_cipher(SSL *ssl);" +.IP "long \fBSSL_get_default_timeout\fR(const \s-1SSL\s0 *ssl);" 4 +.IX Item "long SSL_get_default_timeout(const SSL *ssl);" +.IP "int \fBSSL_get_error\fR(const \s-1SSL\s0 *ssl, int i);" 4 +.IX Item "int SSL_get_error(const SSL *ssl, int i);" +.IP "char *\fBSSL_get_ex_data\fR(const \s-1SSL\s0 *ssl, int idx);" 4 +.IX Item "char *SSL_get_ex_data(const SSL *ssl, int idx);" +.IP "int \fBSSL_get_ex_data_X509_STORE_CTX_idx\fR(void);" 4 +.IX Item "int SSL_get_ex_data_X509_STORE_CTX_idx(void);" +.IP "int \fBSSL_get_ex_new_index\fR(long argl, char *argp, int (*new_func);(void), int (*dup_func)(void), void (*free_func)(void))" 4 +.IX Item "int SSL_get_ex_new_index(long argl, char *argp, int (*new_func);(void), int (*dup_func)(void), void (*free_func)(void))" +.IP "int \fBSSL_get_fd\fR(const \s-1SSL\s0 *ssl);" 4 +.IX Item "int SSL_get_fd(const SSL *ssl);" +.IP "void (*\fBSSL_get_info_callback\fR(const \s-1SSL\s0 *ssl);)()" 4 +.IX Item "void (*SSL_get_info_callback(const SSL *ssl);)()" +.IP "int \fBSSL_get_key_update_type\fR(\s-1SSL\s0 *s);" 4 +.IX Item "int SSL_get_key_update_type(SSL *s);" +.IP "\s-1STACK\s0 *\fBSSL_get_peer_cert_chain\fR(const \s-1SSL\s0 *ssl);" 4 +.IX Item "STACK *SSL_get_peer_cert_chain(const SSL *ssl);" +.IP "X509 *\fBSSL_get_peer_certificate\fR(const \s-1SSL\s0 *ssl);" 4 +.IX Item "X509 *SSL_get_peer_certificate(const SSL *ssl);" +.IP "const \s-1STACK_OF\s0(\s-1SCT\s0) *\fBSSL_get0_peer_scts\fR(\s-1SSL\s0 *s);" 4 +.IX Item "const STACK_OF(SCT) *SSL_get0_peer_scts(SSL *s);" +.IP "\s-1EVP_PKEY\s0 *\fBSSL_get_privatekey\fR(const \s-1SSL\s0 *ssl);" 4 +.IX Item "EVP_PKEY *SSL_get_privatekey(const SSL *ssl);" +.IP "int \fBSSL_get_quiet_shutdown\fR(const \s-1SSL\s0 *ssl);" 4 +.IX Item "int SSL_get_quiet_shutdown(const SSL *ssl);" +.IP "\s-1BIO\s0 *\fBSSL_get_rbio\fR(const \s-1SSL\s0 *ssl);" 4 +.IX Item "BIO *SSL_get_rbio(const SSL *ssl);" +.IP "int \fBSSL_get_read_ahead\fR(const \s-1SSL\s0 *ssl);" 4 +.IX Item "int SSL_get_read_ahead(const SSL *ssl);" +.IP "\s-1SSL_SESSION\s0 *\fBSSL_get_session\fR(const \s-1SSL\s0 *ssl);" 4 +.IX Item "SSL_SESSION *SSL_get_session(const SSL *ssl);" +.IP "char *\fBSSL_get_shared_ciphers\fR(const \s-1SSL\s0 *ssl, char *buf, int size);" 4 +.IX Item "char *SSL_get_shared_ciphers(const SSL *ssl, char *buf, int size);" +.IP "int \fBSSL_get_shutdown\fR(const \s-1SSL\s0 *ssl);" 4 +.IX Item "int SSL_get_shutdown(const SSL *ssl);" +.IP "const \s-1SSL_METHOD\s0 *\fBSSL_get_ssl_method\fR(\s-1SSL\s0 *ssl);" 4 +.IX Item "const SSL_METHOD *SSL_get_ssl_method(SSL *ssl);" +.IP "int \fBSSL_get_state\fR(const \s-1SSL\s0 *ssl);" 4 +.IX Item "int SSL_get_state(const SSL *ssl);" +.IP "long \fBSSL_get_time\fR(const \s-1SSL\s0 *ssl);" 4 +.IX Item "long SSL_get_time(const SSL *ssl);" +.IP "long \fBSSL_get_timeout\fR(const \s-1SSL\s0 *ssl);" 4 +.IX Item "long SSL_get_timeout(const SSL *ssl);" +.IP "int (*\fBSSL_get_verify_callback\fR(const \s-1SSL\s0 *ssl))(int, X509_STORE_CTX *)" 4 +.IX Item "int (*SSL_get_verify_callback(const SSL *ssl))(int, X509_STORE_CTX *)" +.IP "int \fBSSL_get_verify_mode\fR(const \s-1SSL\s0 *ssl);" 4 +.IX Item "int SSL_get_verify_mode(const SSL *ssl);" +.IP "long \fBSSL_get_verify_result\fR(const \s-1SSL\s0 *ssl);" 4 +.IX Item "long SSL_get_verify_result(const SSL *ssl);" +.IP "char *\fBSSL_get_version\fR(const \s-1SSL\s0 *ssl);" 4 +.IX Item "char *SSL_get_version(const SSL *ssl);" +.IP "\s-1BIO\s0 *\fBSSL_get_wbio\fR(const \s-1SSL\s0 *ssl);" 4 +.IX Item "BIO *SSL_get_wbio(const SSL *ssl);" +.IP "int \fBSSL_in_accept_init\fR(\s-1SSL\s0 *ssl);" 4 +.IX Item "int SSL_in_accept_init(SSL *ssl);" +.IP "int \fBSSL_in_before\fR(\s-1SSL\s0 *ssl);" 4 +.IX Item "int SSL_in_before(SSL *ssl);" +.IP "int \fBSSL_in_connect_init\fR(\s-1SSL\s0 *ssl);" 4 +.IX Item "int SSL_in_connect_init(SSL *ssl);" +.IP "int \fBSSL_in_init\fR(\s-1SSL\s0 *ssl);" 4 +.IX Item "int SSL_in_init(SSL *ssl);" +.IP "int \fBSSL_is_init_finished\fR(\s-1SSL\s0 *ssl);" 4 +.IX Item "int SSL_is_init_finished(SSL *ssl);" +.IP "int \fBSSL_key_update\fR(\s-1SSL\s0 *s, int updatetype);" 4 +.IX Item "int SSL_key_update(SSL *s, int updatetype);" +.IP "\s-1STACK\s0 *\fBSSL_load_client_CA_file\fR(const char *file);" 4 +.IX Item "STACK *SSL_load_client_CA_file(const char *file);" +.IP "\s-1SSL\s0 *\fBSSL_new\fR(\s-1SSL_CTX\s0 *ctx);" 4 +.IX Item "SSL *SSL_new(SSL_CTX *ctx);" +.IP "int SSL_up_ref(\s-1SSL\s0 *s);" 4 +.IX Item "int SSL_up_ref(SSL *s);" +.IP "long \fBSSL_num_renegotiations\fR(\s-1SSL\s0 *ssl);" 4 +.IX Item "long SSL_num_renegotiations(SSL *ssl);" +.IP "int \fBSSL_peek\fR(\s-1SSL\s0 *ssl, void *buf, int num);" 4 +.IX Item "int SSL_peek(SSL *ssl, void *buf, int num);" +.IP "int \fBSSL_pending\fR(const \s-1SSL\s0 *ssl);" 4 +.IX Item "int SSL_pending(const SSL *ssl);" +.IP "int \fBSSL_read\fR(\s-1SSL\s0 *ssl, void *buf, int num);" 4 +.IX Item "int SSL_read(SSL *ssl, void *buf, int num);" +.IP "int \fBSSL_renegotiate\fR(\s-1SSL\s0 *ssl);" 4 +.IX Item "int SSL_renegotiate(SSL *ssl);" +.IP "char *\fBSSL_rstate_string\fR(\s-1SSL\s0 *ssl);" 4 +.IX Item "char *SSL_rstate_string(SSL *ssl);" +.IP "char *\fBSSL_rstate_string_long\fR(\s-1SSL\s0 *ssl);" 4 +.IX Item "char *SSL_rstate_string_long(SSL *ssl);" +.IP "long \fBSSL_session_reused\fR(\s-1SSL\s0 *ssl);" 4 +.IX Item "long SSL_session_reused(SSL *ssl);" +.IP "void \fBSSL_set_accept_state\fR(\s-1SSL\s0 *ssl);" 4 +.IX Item "void SSL_set_accept_state(SSL *ssl);" +.IP "void \fBSSL_set_app_data\fR(\s-1SSL\s0 *ssl, char *arg);" 4 +.IX Item "void SSL_set_app_data(SSL *ssl, char *arg);" +.IP "void \fBSSL_set_bio\fR(\s-1SSL\s0 *ssl, \s-1BIO\s0 *rbio, \s-1BIO\s0 *wbio);" 4 +.IX Item "void SSL_set_bio(SSL *ssl, BIO *rbio, BIO *wbio);" +.IP "int \fBSSL_set_cipher_list\fR(\s-1SSL\s0 *ssl, char *str);" 4 +.IX Item "int SSL_set_cipher_list(SSL *ssl, char *str);" +.IP "void \fBSSL_set_client_CA_list\fR(\s-1SSL\s0 *ssl, \s-1STACK\s0 *list);" 4 +.IX Item "void SSL_set_client_CA_list(SSL *ssl, STACK *list);" +.IP "void \fBSSL_set_connect_state\fR(\s-1SSL\s0 *ssl);" 4 +.IX Item "void SSL_set_connect_state(SSL *ssl);" +.IP "int \fBSSL_set_ct_validation_callback\fR(\s-1SSL\s0 *ssl, ssl_ct_validation_cb callback, void *arg);" 4 +.IX Item "int SSL_set_ct_validation_callback(SSL *ssl, ssl_ct_validation_cb callback, void *arg);" +.IP "int \fBSSL_set_ex_data\fR(\s-1SSL\s0 *ssl, int idx, char *arg);" 4 +.IX Item "int SSL_set_ex_data(SSL *ssl, int idx, char *arg);" +.IP "int \fBSSL_set_fd\fR(\s-1SSL\s0 *ssl, int fd);" 4 +.IX Item "int SSL_set_fd(SSL *ssl, int fd);" +.IP "void \fBSSL_set_info_callback\fR(\s-1SSL\s0 *ssl, void (*cb);(void))" 4 +.IX Item "void SSL_set_info_callback(SSL *ssl, void (*cb);(void))" +.IP "void \fBSSL_set_msg_callback\fR(\s-1SSL\s0 *ctx, void (*cb)(int write_p, int version, int content_type, const void *buf, size_t len, \s-1SSL\s0 *ssl, void *arg));" 4 +.IX Item "void SSL_set_msg_callback(SSL *ctx, void (*cb)(int write_p, int version, int content_type, const void *buf, size_t len, SSL *ssl, void *arg));" +.IP "void \fBSSL_set_msg_callback_arg\fR(\s-1SSL\s0 *ctx, void *arg);" 4 +.IX Item "void SSL_set_msg_callback_arg(SSL *ctx, void *arg);" +.IP "unsigned long \fBSSL_clear_options\fR(\s-1SSL\s0 *ssl, unsigned long op);" 4 +.IX Item "unsigned long SSL_clear_options(SSL *ssl, unsigned long op);" +.IP "unsigned long \fBSSL_get_options\fR(\s-1SSL\s0 *ssl);" 4 +.IX Item "unsigned long SSL_get_options(SSL *ssl);" +.IP "unsigned long \fBSSL_set_options\fR(\s-1SSL\s0 *ssl, unsigned long op);" 4 +.IX Item "unsigned long SSL_set_options(SSL *ssl, unsigned long op);" +.IP "void \fBSSL_set_quiet_shutdown\fR(\s-1SSL\s0 *ssl, int mode);" 4 +.IX Item "void SSL_set_quiet_shutdown(SSL *ssl, int mode);" +.IP "void \fBSSL_set_read_ahead\fR(\s-1SSL\s0 *ssl, int yes);" 4 +.IX Item "void SSL_set_read_ahead(SSL *ssl, int yes);" +.IP "int \fBSSL_set_rfd\fR(\s-1SSL\s0 *ssl, int fd);" 4 +.IX Item "int SSL_set_rfd(SSL *ssl, int fd);" +.IP "int \fBSSL_set_session\fR(\s-1SSL\s0 *ssl, \s-1SSL_SESSION\s0 *session);" 4 +.IX Item "int SSL_set_session(SSL *ssl, SSL_SESSION *session);" +.IP "void \fBSSL_set_shutdown\fR(\s-1SSL\s0 *ssl, int mode);" 4 +.IX Item "void SSL_set_shutdown(SSL *ssl, int mode);" +.IP "int \fBSSL_set_ssl_method\fR(\s-1SSL\s0 *ssl, const \s-1SSL_METHOD\s0 *meth);" 4 +.IX Item "int SSL_set_ssl_method(SSL *ssl, const SSL_METHOD *meth);" +.IP "void \fBSSL_set_time\fR(\s-1SSL\s0 *ssl, long t);" 4 +.IX Item "void SSL_set_time(SSL *ssl, long t);" +.IP "void \fBSSL_set_timeout\fR(\s-1SSL\s0 *ssl, long t);" 4 +.IX Item "void SSL_set_timeout(SSL *ssl, long t);" +.IP "void \fBSSL_set_verify\fR(\s-1SSL\s0 *ssl, int mode, int (*callback);(void))" 4 +.IX Item "void SSL_set_verify(SSL *ssl, int mode, int (*callback);(void))" +.IP "void \fBSSL_set_verify_result\fR(\s-1SSL\s0 *ssl, long arg);" 4 +.IX Item "void SSL_set_verify_result(SSL *ssl, long arg);" +.IP "int \fBSSL_set_wfd\fR(\s-1SSL\s0 *ssl, int fd);" 4 +.IX Item "int SSL_set_wfd(SSL *ssl, int fd);" +.IP "int \fBSSL_shutdown\fR(\s-1SSL\s0 *ssl);" 4 +.IX Item "int SSL_shutdown(SSL *ssl);" +.IP "\s-1OSSL_HANDSHAKE_STATE\s0 \fBSSL_get_state\fR(const \s-1SSL\s0 *ssl);" 4 +.IX Item "OSSL_HANDSHAKE_STATE SSL_get_state(const SSL *ssl);" +.PD +Returns the current handshake state. +.IP "char *\fBSSL_state_string\fR(const \s-1SSL\s0 *ssl);" 4 +.IX Item "char *SSL_state_string(const SSL *ssl);" +.PD 0 +.IP "char *\fBSSL_state_string_long\fR(const \s-1SSL\s0 *ssl);" 4 +.IX Item "char *SSL_state_string_long(const SSL *ssl);" +.IP "long \fBSSL_total_renegotiations\fR(\s-1SSL\s0 *ssl);" 4 +.IX Item "long SSL_total_renegotiations(SSL *ssl);" +.IP "int \fBSSL_use_PrivateKey\fR(\s-1SSL\s0 *ssl, \s-1EVP_PKEY\s0 *pkey);" 4 +.IX Item "int SSL_use_PrivateKey(SSL *ssl, EVP_PKEY *pkey);" +.IP "int \fBSSL_use_PrivateKey_ASN1\fR(int type, \s-1SSL\s0 *ssl, unsigned char *d, long len);" 4 +.IX Item "int SSL_use_PrivateKey_ASN1(int type, SSL *ssl, unsigned char *d, long len);" +.IP "int \fBSSL_use_PrivateKey_file\fR(\s-1SSL\s0 *ssl, const char *file, int type);" 4 +.IX Item "int SSL_use_PrivateKey_file(SSL *ssl, const char *file, int type);" +.IP "int \fBSSL_use_RSAPrivateKey\fR(\s-1SSL\s0 *ssl, \s-1RSA\s0 *rsa);" 4 +.IX Item "int SSL_use_RSAPrivateKey(SSL *ssl, RSA *rsa);" +.IP "int \fBSSL_use_RSAPrivateKey_ASN1\fR(\s-1SSL\s0 *ssl, unsigned char *d, long len);" 4 +.IX Item "int SSL_use_RSAPrivateKey_ASN1(SSL *ssl, unsigned char *d, long len);" +.IP "int \fBSSL_use_RSAPrivateKey_file\fR(\s-1SSL\s0 *ssl, const char *file, int type);" 4 +.IX Item "int SSL_use_RSAPrivateKey_file(SSL *ssl, const char *file, int type);" +.IP "int \fBSSL_use_certificate\fR(\s-1SSL\s0 *ssl, X509 *x);" 4 +.IX Item "int SSL_use_certificate(SSL *ssl, X509 *x);" +.IP "int \fBSSL_use_certificate_ASN1\fR(\s-1SSL\s0 *ssl, int len, unsigned char *d);" 4 +.IX Item "int SSL_use_certificate_ASN1(SSL *ssl, int len, unsigned char *d);" +.IP "int \fBSSL_use_certificate_file\fR(\s-1SSL\s0 *ssl, const char *file, int type);" 4 +.IX Item "int SSL_use_certificate_file(SSL *ssl, const char *file, int type);" +.IP "int \fBSSL_use_cert_and_key\fR(\s-1SSL\s0 *ssl, X509 *x, \s-1EVP_PKEY\s0 *pkey, \s-1STACK_OF\s0(X509) *chain, int override);" 4 +.IX Item "int SSL_use_cert_and_key(SSL *ssl, X509 *x, EVP_PKEY *pkey, STACK_OF(X509) *chain, int override);" +.IP "int \fBSSL_version\fR(const \s-1SSL\s0 *ssl);" 4 +.IX Item "int SSL_version(const SSL *ssl);" +.IP "int \fBSSL_want\fR(const \s-1SSL\s0 *ssl);" 4 +.IX Item "int SSL_want(const SSL *ssl);" +.IP "int \fBSSL_want_nothing\fR(const \s-1SSL\s0 *ssl);" 4 +.IX Item "int SSL_want_nothing(const SSL *ssl);" +.IP "int \fBSSL_want_read\fR(const \s-1SSL\s0 *ssl);" 4 +.IX Item "int SSL_want_read(const SSL *ssl);" +.IP "int \fBSSL_want_write\fR(const \s-1SSL\s0 *ssl);" 4 +.IX Item "int SSL_want_write(const SSL *ssl);" +.IP "int \fBSSL_want_x509_lookup\fR(const \s-1SSL\s0 *ssl);" 4 +.IX Item "int SSL_want_x509_lookup(const SSL *ssl);" +.IP "int \fBSSL_write\fR(\s-1SSL\s0 *ssl, const void *buf, int num);" 4 +.IX Item "int SSL_write(SSL *ssl, const void *buf, int num);" +.IP "void \fBSSL_set_psk_client_callback\fR(\s-1SSL\s0 *ssl, unsigned int (*callback)(\s-1SSL\s0 *ssl, const char *hint, char *identity, unsigned int max_identity_len, unsigned char *psk, unsigned int max_psk_len));" 4 +.IX Item "void SSL_set_psk_client_callback(SSL *ssl, unsigned int (*callback)(SSL *ssl, const char *hint, char *identity, unsigned int max_identity_len, unsigned char *psk, unsigned int max_psk_len));" +.IP "int \fBSSL_use_psk_identity_hint\fR(\s-1SSL\s0 *ssl, const char *hint);" 4 +.IX Item "int SSL_use_psk_identity_hint(SSL *ssl, const char *hint);" +.IP "void \fBSSL_set_psk_server_callback\fR(\s-1SSL\s0 *ssl, unsigned int (*callback)(\s-1SSL\s0 *ssl, const char *identity, unsigned char *psk, int max_psk_len));" 4 +.IX Item "void SSL_set_psk_server_callback(SSL *ssl, unsigned int (*callback)(SSL *ssl, const char *identity, unsigned char *psk, int max_psk_len));" +.IP "const char *\fBSSL_get_psk_identity_hint\fR(\s-1SSL\s0 *ssl);" 4 +.IX Item "const char *SSL_get_psk_identity_hint(SSL *ssl);" +.IP "const char *\fBSSL_get_psk_identity\fR(\s-1SSL\s0 *ssl);" 4 +.IX Item "const char *SSL_get_psk_identity(SSL *ssl);" +.PD +.SH "RETURN VALUES" +.IX Header "RETURN VALUES" +See the individual manual pages for details. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIopenssl\fR\|(1), \fIcrypto\fR\|(7), +\&\fICRYPTO_get_ex_new_index\fR\|(3), +\&\fISSL_accept\fR\|(3), \fISSL_clear\fR\|(3), +\&\fISSL_connect\fR\|(3), +\&\fISSL_CIPHER_get_name\fR\|(3), +\&\fISSL_COMP_add_compression_method\fR\|(3), +\&\fISSL_CTX_add_extra_chain_cert\fR\|(3), +\&\fISSL_CTX_add_session\fR\|(3), +\&\fISSL_CTX_ctrl\fR\|(3), +\&\fISSL_CTX_flush_sessions\fR\|(3), +\&\fISSL_CTX_get_verify_mode\fR\|(3), +\&\fISSL_CTX_load_verify_locations\fR\|(3) +\&\fISSL_CTX_new\fR\|(3), +\&\fISSL_CTX_sess_number\fR\|(3), +\&\fISSL_CTX_sess_set_cache_size\fR\|(3), +\&\fISSL_CTX_sess_set_get_cb\fR\|(3), +\&\fISSL_CTX_sessions\fR\|(3), +\&\fISSL_CTX_set_cert_store\fR\|(3), +\&\fISSL_CTX_set_cert_verify_callback\fR\|(3), +\&\fISSL_CTX_set_cipher_list\fR\|(3), +\&\fISSL_CTX_set_client_CA_list\fR\|(3), +\&\fISSL_CTX_set_client_cert_cb\fR\|(3), +\&\fISSL_CTX_set_default_passwd_cb\fR\|(3), +\&\fISSL_CTX_set_generate_session_id\fR\|(3), +\&\fISSL_CTX_set_info_callback\fR\|(3), +\&\fISSL_CTX_set_max_cert_list\fR\|(3), +\&\fISSL_CTX_set_mode\fR\|(3), +\&\fISSL_CTX_set_msg_callback\fR\|(3), +\&\fISSL_CTX_set_options\fR\|(3), +\&\fISSL_CTX_set_quiet_shutdown\fR\|(3), +\&\fISSL_CTX_set_read_ahead\fR\|(3), +\&\fISSL_CTX_set_security_level\fR\|(3), +\&\fISSL_CTX_set_session_cache_mode\fR\|(3), +\&\fISSL_CTX_set_session_id_context\fR\|(3), +\&\fISSL_CTX_set_ssl_version\fR\|(3), +\&\fISSL_CTX_set_timeout\fR\|(3), +\&\fISSL_CTX_set_tmp_dh_callback\fR\|(3), +\&\fISSL_CTX_set_verify\fR\|(3), +\&\fISSL_CTX_use_certificate\fR\|(3), +\&\fISSL_alert_type_string\fR\|(3), +\&\fISSL_do_handshake\fR\|(3), +\&\fISSL_enable_ct\fR\|(3), +\&\fISSL_get_SSL_CTX\fR\|(3), +\&\fISSL_get_ciphers\fR\|(3), +\&\fISSL_get_client_CA_list\fR\|(3), +\&\fISSL_get_default_timeout\fR\|(3), +\&\fISSL_get_error\fR\|(3), +\&\fISSL_get_ex_data_X509_STORE_CTX_idx\fR\|(3), +\&\fISSL_get_fd\fR\|(3), +\&\fISSL_get_peer_cert_chain\fR\|(3), +\&\fISSL_get_rbio\fR\|(3), +\&\fISSL_get_session\fR\|(3), +\&\fISSL_get_verify_result\fR\|(3), +\&\fISSL_get_version\fR\|(3), +\&\fISSL_load_client_CA_file\fR\|(3), +\&\fISSL_new\fR\|(3), +\&\fISSL_pending\fR\|(3), +\&\fISSL_read_ex\fR\|(3), +\&\fISSL_read\fR\|(3), +\&\fISSL_rstate_string\fR\|(3), +\&\fISSL_session_reused\fR\|(3), +\&\fISSL_set_bio\fR\|(3), +\&\fISSL_set_connect_state\fR\|(3), +\&\fISSL_set_fd\fR\|(3), +\&\fISSL_set_session\fR\|(3), +\&\fISSL_set_shutdown\fR\|(3), +\&\fISSL_shutdown\fR\|(3), +\&\fISSL_state_string\fR\|(3), +\&\fISSL_want\fR\|(3), +\&\fISSL_write_ex\fR\|(3), +\&\fISSL_write\fR\|(3), +\&\fISSL_SESSION_free\fR\|(3), +\&\fISSL_SESSION_get_time\fR\|(3), +\&\fId2i_SSL_SESSION\fR\|(3), +\&\fISSL_CTX_set_psk_client_callback\fR\|(3), +\&\fISSL_CTX_use_psk_identity_hint\fR\|(3), +\&\fISSL_get_psk_identity\fR\|(3), +\&\fIDTLSv1_listen\fR\|(3) +.SH "HISTORY" +.IX Header "HISTORY" +\&\fBSSLv2_client_method\fR, \fBSSLv2_server_method\fR and \fBSSLv2_method\fR were removed +in OpenSSL 1.1.0. +.PP +The return type of \fBSSL_copy_session_id\fR was changed from void to int in +OpenSSL 1.1.0. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2000\-2018 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/share/man/man7/x509.7 b/linux_amd64/share/man/man7/x509.7 index 727d182..764b238 100755 --- a/linux_amd64/share/man/man7/x509.7 +++ b/linux_amd64/share/man/man7/x509.7 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "X509 7" -.TH X509 7 "2020-03-02" "3.0.0-dev" "OpenSSL" +.TH X509 7 "2020-03-02" "1.1.1e-dev" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -185,12 +185,13 @@ functions handle PKCS#10 certificate requests. \&\fId2i_X509_NAME\fR\|(3), \&\fId2i_X509_REQ\fR\|(3), \&\fId2i_X509_SIG\fR\|(3), +\&\fIX509v3\fR\|(3), \&\fIcrypto\fR\|(7) .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright 2003\-2017 The OpenSSL Project Authors. All Rights Reserved. .PP -Licensed under the Apache License 2.0 (the \*(L"License\*(R"). You may not use +Licensed under the OpenSSL license (the \*(L"License\*(R"). You may not use this file except in compliance with the License. You can obtain a copy in the file \s-1LICENSE\s0 in the source distribution or at . diff --git a/linux_amd64/ssl/misc/CA.pl b/linux_amd64/ssl/misc/CA.pl index 3264db2..24abfd9 100755 --- a/linux_amd64/ssl/misc/CA.pl +++ b/linux_amd64/ssl/misc/CA.pl @@ -1,7 +1,7 @@ #!/usr/bin/env perl # Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved. # -# Licensed under the Apache License 2.0 (the "License"). You may not use +# Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy # in the file LICENSE in the source distribution or at # https://www.openssl.org/source/license.html diff --git a/linux_amd64/ssl/misc/tsget b/linux_amd64/ssl/misc/tsget new file mode 120000 index 0000000..fa4d700 --- /dev/null +++ b/linux_amd64/ssl/misc/tsget @@ -0,0 +1 @@ +tsget.pl \ No newline at end of file diff --git a/linux_amd64/ssl/misc/tsget.pl b/linux_amd64/ssl/misc/tsget.pl index dd2cad9..460da54 100755 --- a/linux_amd64/ssl/misc/tsget.pl +++ b/linux_amd64/ssl/misc/tsget.pl @@ -2,7 +2,7 @@ # Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved. # Copyright (c) 2002 The OpenTSA Project. All rights reserved. # -# Licensed under the Apache License 2.0 (the "License"). You may not use +# Licensed under the OpenSSL license (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy # in the file LICENSE in the source distribution or at # https://www.openssl.org/source/license.html @@ -47,7 +47,7 @@ sub create_curl { $curl->setopt(CURLOPT_VERBOSE, 1) if $options{d}; $curl->setopt(CURLOPT_FAILONERROR, 1); $curl->setopt(CURLOPT_USERAGENT, - "OpenTSA tsget.pl/openssl-3.0.0-dev"); + "OpenTSA tsget.pl/openssl-1.1.1e-dev"); # Options for POST method. $curl->setopt(CURLOPT_UPLOAD, 1);